diff --git a/include/functions.h b/include/functions.h index e465d9a32c..b475823d93 100644 --- a/include/functions.h +++ b/include/functions.h @@ -1170,7 +1170,7 @@ Gfx* Gfx_EnvColor(GraphicsContext* gfxCtx, s32 r, s32 g, s32 b, s32 a); void func_80095248(GraphicsContext* gfxCtx, u8 r, u8 g, u8 b); void func_80095974(GraphicsContext* gfxCtx); void func_80095AA0(GlobalContext* globalCtx, Room* room, Input* arg2, UNK_TYPE arg3); -void func_8009638C(Gfx** displayList, u32 source, u32 tlut, u16 width, u16 height, u8 fmt, u8 siz, u16 mode0, +void func_8009638C(Gfx** displayList, void* source, void* tlut, u16 width, u16 height, u8 fmt, u8 siz, u16 mode0, u16 tlutCount, f32 frameX, f32 frameY); void func_80096FD4(GlobalContext* globalCtx, Room* room); u32 func_80096FE8(GlobalContext* globalCtx, RoomContext* roomCtx); diff --git a/include/z64.h b/include/z64.h index 8536429326..49d97ff98c 100644 --- a/include/z64.h +++ b/include/z64.h @@ -868,12 +868,12 @@ typedef struct { typedef struct { /* 0x00 */ u8 type; /* 0x01 */ u8 format; // 1 = single, 2 = multi - /* 0x04 */ void* dlist; + /* 0x04 */ Gfx* dlist; union { struct { - /* 0x08 */ u32 source; + /* 0x08 */ void* source; /* 0x0C */ u32 unk_0C; - /* 0x10 */ u32 tlut; + /* 0x10 */ void* tlut; /* 0x14 */ u16 width; /* 0x16 */ u16 height; /* 0x18 */ u8 fmt; diff --git a/include/z64scene.h b/include/z64scene.h index fcdb5fad8c..8ac4e8a57c 100644 --- a/include/z64scene.h +++ b/include/z64scene.h @@ -194,15 +194,14 @@ typedef struct { typedef struct { MeshHeaderBase base; - u8 numEntries; Gfx* dListStart; Gfx* dListEnd; } MeshHeader0; typedef struct { - u32 opaqueDList; - u32 translucentDList; + Gfx* opaqueDList; + Gfx* translucentDList; } MeshEntry0; typedef struct { @@ -213,7 +212,7 @@ typedef struct { typedef struct { MeshHeader1Base base; - u32 imagePtr; // 0x08 + void* imagePtr; // 0x08 u32 unknown; // 0x0C u32 unknown2; // 0x10 u16 bgWidth; // 0x14 @@ -227,13 +226,13 @@ typedef struct { typedef struct { MeshHeader1Base base; u8 bgCnt; - u32 bgRecordPtr; + void* bgRecordPtr; } MeshHeader1Multi; typedef struct { u16 unknown; // 0x00 s8 bgID; // 0x02 - u32 imagePtr; // 0x04 + void* imagePtr; // 0x04 u32 unknown2; // 0x08 u32 unknown3; // 0x0C u16 bgWidth; // 0x10 @@ -247,8 +246,8 @@ typedef struct { typedef struct { s16 playerXMax, playerZMax; s16 playerXMin, playerZMin; - u32 opaqueDList; - u32 translucentDList; + Gfx* opaqueDList; + Gfx* translucentDList; } MeshEntry2; typedef struct { diff --git a/src/code/z_room.c b/src/code/z_room.c index c25c755a47..e4c6fe4442 100644 --- a/src/code/z_room.c +++ b/src/code/z_room.c @@ -246,7 +246,7 @@ s32 func_80096238(void* data) { return 0; } -void func_8009638C(Gfx** displayList, u32 source, u32 tlut, u16 width, u16 height, u8 fmt, u8 siz, u16 mode0, +void func_8009638C(Gfx** displayList, void* source, void* tlut, u16 width, u16 height, u8 fmt, u8 siz, u16 mode0, u16 tlutCount, f32 frameX, f32 frameY) { Gfx* displayListHead; uObjBg* bg; @@ -263,7 +263,7 @@ void func_8009638C(Gfx** displayList, u32 source, u32 tlut, u16 width, u16 heigh bg->b.imageY = 0; bg->b.imageH = height * 4; bg->b.frameY = frameY * 4; - bg->b.imagePtr = (void*)source; + bg->b.imagePtr = source; bg->b.imageLoad = G_BGLT_LOADTILE; bg->b.imageFmt = fmt; bg->b.imageSiz = siz;