mirror of
https://github.com/ClassiCube/ClassiCube.git
synced 2025-09-24 05:10:42 -04:00
Wii U: Less reliance on GX2R
This commit is contained in:
parent
34ad75f2c9
commit
34c1766007
@ -372,7 +372,12 @@ static GfxResourceID Gfx_AllocStaticVb(VertexFormat fmt, int count) {
|
|||||||
buf->elemSize = strideSizes[fmt];
|
buf->elemSize = strideSizes[fmt];
|
||||||
buf->elemCount = count;
|
buf->elemCount = count;
|
||||||
|
|
||||||
if (GX2RCreateBuffer(buf)) return buf;
|
// TODO calculate directly, avoid GX2R
|
||||||
|
uint32_t align = GX2RGetBufferAlignment(buf->flags);
|
||||||
|
uint32_t size = GX2RGetBufferAllocationSize(buf);
|
||||||
|
|
||||||
|
buf->buffer = MEMAllocFromDefaultHeapEx(size, align);
|
||||||
|
if (buf->buffer) return buf;
|
||||||
// Something went wrong ?? TODO
|
// Something went wrong ?? TODO
|
||||||
Mem_Free(buf);
|
Mem_Free(buf);
|
||||||
return NULL;
|
return NULL;
|
||||||
@ -382,25 +387,24 @@ void Gfx_DeleteVb(GfxResourceID* vb) {
|
|||||||
GX2RBuffer* buf = *vb;
|
GX2RBuffer* buf = *vb;
|
||||||
if (!buf) return;
|
if (!buf) return;
|
||||||
|
|
||||||
GX2RDestroyBufferEx(buf, 0);
|
MEMFreeToDefaultHeap(buf->buffer);
|
||||||
Mem_Free(buf);
|
Mem_Free(buf);
|
||||||
*vb = NULL;
|
*vb = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Gfx_BindVb(GfxResourceID vb) {
|
void Gfx_BindVb(GfxResourceID vb) {
|
||||||
GX2RBuffer* buf = (GX2RBuffer*)vb;
|
GX2RBuffer* buf = (GX2RBuffer*)vb;
|
||||||
GX2RSetAttributeBuffer(buf, 0, buf->elemSize, 0);
|
GX2SetAttribBuffer(0, buf->elemSize * buf->elemCount, buf->elemSize, buf->buffer);
|
||||||
//GX2SetAttribBuffer(0,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void* Gfx_LockVb(GfxResourceID vb, VertexFormat fmt, int count) {
|
void* Gfx_LockVb(GfxResourceID vb, VertexFormat fmt, int count) {
|
||||||
GX2RBuffer* buf = (GX2RBuffer*)vb;
|
GX2RBuffer* buf = (GX2RBuffer*)vb;
|
||||||
return GX2RLockBufferEx(buf, 0);
|
return buf->buffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Gfx_UnlockVb(GfxResourceID vb) {
|
void Gfx_UnlockVb(GfxResourceID vb) {
|
||||||
GX2RBuffer* buf = (GX2RBuffer*)vb;
|
GX2RBuffer* buf = (GX2RBuffer*)vb;
|
||||||
GX2RUnlockBufferEx(buf, 0);
|
GX2Invalidate(GX2_INVALIDATE_MODE_CPU_ATTRIBUTE_BUFFER, buf->buffer, buf->elemSize * buf->elemCount);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -192,7 +192,7 @@ static void HandleButtons(int port, xid_gamepad_in* gp) {
|
|||||||
Gamepad_SetButton(port, CCPAD_DOWN, mods & XINPUT_GAMEPAD_DPAD_DOWN);
|
Gamepad_SetButton(port, CCPAD_DOWN, mods & XINPUT_GAMEPAD_DPAD_DOWN);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define AXIS_SCALE 8192.0f
|
#define AXIS_SCALE 4096.0f
|
||||||
static void HandleJoystick(int port, int axis, int x, int y, float delta) {
|
static void HandleJoystick(int port, int axis, int x, int y, float delta) {
|
||||||
if (Math_AbsI(x) <= 6144) x = 0;
|
if (Math_AbsI(x) <= 6144) x = 0;
|
||||||
if (Math_AbsI(y) <= 6144) y = 0;
|
if (Math_AbsI(y) <= 6144) y = 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user