mirror of https://github.com/zeldaret/mm.git
Port some of z_room from the oot decomp
This commit is contained in:
parent
48718def55
commit
d6faee7318
|
|
@ -164,7 +164,7 @@ void func_800860B8(void); // func_800860B8
|
|||
void func_800860D8(void); // func_800860D8
|
||||
void func_80086110(void); // func_80086110
|
||||
void func_80086258(void); // func_80086258
|
||||
void func_80086280(void); // func_80086280
|
||||
void func_80086280(char* param_1, u32 param_2); // func_80086280
|
||||
void func_800862B4(void); // func_800862B4
|
||||
void* StartHeap_AllocMin1(u32 size); // func_800862E0
|
||||
void StartHeap_FreeNull(void* pvParm1); // func_80086310
|
||||
|
|
@ -2012,7 +2012,7 @@ void func_8010A194(void); // func_8010A194
|
|||
void func_8010A208(void); // func_8010A208
|
||||
void func_8010A238(void); // func_8010A238
|
||||
void func_8010A2AC(void); // func_8010A2AC
|
||||
void func_8010A2DC(void); // func_8010A2DC
|
||||
void func_8010A2DC(GlobalContext* ctxt); // func_8010A2DC
|
||||
void func_8010A33C(GlobalContext* ctxt, s16 param_2); // func_8010A33C
|
||||
void func_8010A410(void); // func_8010A410
|
||||
void func_8010A430(void); // func_8010A430
|
||||
|
|
@ -2373,19 +2373,19 @@ void func_8012CEA8(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_
|
|||
void func_8012CF0C(GraphicsContext* gCtxt, int iParm2, int iParm3, unsigned int uParm4, u8 param_5, u8 param_6); // func_8012CF0C
|
||||
void func_8012D374(void); // func_8012D374
|
||||
void func_8012D40C(f32* param_1, f32* param_2, s16* param_3); // func_8012D40C
|
||||
void Room_nop8012D510(GlobalContext* ctxt, LoadedRoom* room, UNK_PTR param_3, UNK_TYPE1 param_4); // func_8012D510
|
||||
void Room_DrawType3Mesh(GlobalContext* ctxt, LoadedRoom* room, u32 flags); // func_8012D528
|
||||
void Room_DrawType0Mesh(GlobalContext* ctxt, LoadedRoom* room, u32 flags); // func_8012D53C
|
||||
void Room_DrawType2Mesh(GlobalContext* ctxt, LoadedRoom* room, u32 flags); // func_8012D750
|
||||
void func_8012DEE8(GlobalContext* ctxt, LoadedRoom* room, u32 flags); // func_8012DEE8
|
||||
void func_8012E254(void); // func_8012E254
|
||||
void func_8012E32C(GlobalContext* ctxt, LoadedRoom* room, u32 flags); // func_8012E32C
|
||||
void Room_DrawType1Mesh(GlobalContext* ctxt, LoadedRoom* room, u32 flags); // func_8012E6A8
|
||||
void Room_nop8012D510(GlobalContext* ctxt, Room* room, UNK_PTR param_3, UNK_TYPE1 param_4); // func_8012D510
|
||||
void Room_DrawType3Mesh(GlobalContext* ctxt, Room* room, u32 flags); // func_8012D528
|
||||
void Room_DrawType0Mesh(GlobalContext* ctxt, Room* room, u32 flags); // func_8012D53C
|
||||
void Room_DrawType2Mesh(GlobalContext* ctxt, Room* room, u32 flags); // func_8012D750
|
||||
void func_8012DEE8(GlobalContext* ctxt, Room* room, u32 flags); // func_8012DEE8
|
||||
u32 func_8012E254(int param_1, GlobalContext* ctxt); // func_8012E254
|
||||
void func_8012E32C(GlobalContext* ctxt, Room* room, u32 flags); // func_8012E32C
|
||||
void Room_DrawType1Mesh(GlobalContext* ctxt, Room* room, u32 flags); // func_8012E6A8
|
||||
void Room_Init(GlobalContext* ctxt, RoomContext* roomCtxt); // func_8012E710
|
||||
u32 Room_AllocateAndLoad(GlobalContext* ctxt, RoomContext* roomCtxt); // func_8012E750
|
||||
unsigned int Room_StartRoomTransition(GlobalContext* ctxt, RoomContext* roomCtxt, s32 index); // func_8012E96C
|
||||
s32 Room_StartRoomTransition(GlobalContext* ctxt, RoomContext* roomCtxt, s32 index); // func_8012E96C
|
||||
s32 Room_HandleLoadCallbacks(GlobalContext* ctxt, RoomContext* roomCtxt); // func_8012EAA8
|
||||
void Room_DrawRoomMesh(GlobalContext* ctxt, LoadedRoom* room, u32 flags); // func_8012EBA8
|
||||
void Room_Draw(GlobalContext* ctxt, Room* room, u32 flags); // func_8012EBA8
|
||||
void func_8012EBF8(GlobalContext* ctxt, RoomContext* roomCtxt); // func_8012EBF8
|
||||
unsigned int func_8012EC80(GlobalContext* ctxt); // func_8012EC80
|
||||
void func_8012ED34(s16 param_1); // func_8012ED34
|
||||
|
|
@ -3891,7 +3891,7 @@ void func_801A3AC0(void); // func_801A3AC0
|
|||
void func_801A3AEC(void); // func_801A3AEC
|
||||
void func_801A3B48(void); // func_801A3B48
|
||||
void func_801A3B90(void); // func_801A3B90
|
||||
void func_801A3CD8(void); // func_801A3CD8
|
||||
void func_801A3CD8(s8 param_1); // func_801A3CD8
|
||||
void func_801A3CF4(void); // func_801A3CF4
|
||||
void func_801A3D98(void); // func_801A3D98
|
||||
void func_801A3E38(void); // func_801A3E38
|
||||
|
|
|
|||
|
|
@ -91,6 +91,9 @@ typedef u32 OSIntMask;
|
|||
|
||||
typedef u32 OSPageMask;
|
||||
|
||||
#define OS_MESG_NOBLOCK 0
|
||||
#define OS_MESG_BLOCK 1
|
||||
|
||||
typedef void* OSMesg;
|
||||
|
||||
typedef struct {
|
||||
|
|
|
|||
|
|
@ -189,28 +189,6 @@ typedef struct {
|
|||
/* 0xC */ void* appendEnd;
|
||||
} DisplayList;
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u8 type;
|
||||
/* 0x1 */ u8 count;
|
||||
/* 0x2 */ UNK_TYPE1 pad2[2];
|
||||
/* 0x4 */ u32 paramsStart;
|
||||
/* 0x8 */ UNK_TYPE1 pad8[4];
|
||||
} DisplayMeshHeader;
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u32 opaqueDl;
|
||||
/* 0x4 */ u32 translucentDl;
|
||||
} DisplayMeshType0Params;
|
||||
|
||||
// Size TODO
|
||||
typedef struct {
|
||||
/* 0x0 */ UNK_TYPE1 pad0[16];
|
||||
} DisplayMeshType1Params;
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ UNK_TYPE1 pad0[16];
|
||||
} DisplayMeshType2Params;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u32 vromStart;
|
||||
/* 0x04 */ u32 vramStart;
|
||||
|
|
@ -435,19 +413,6 @@ typedef struct {
|
|||
/* 0x08 */ Lights7 lights;
|
||||
} LightMapper;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s8 index;
|
||||
/* 0x01 */ UNK_TYPE1 pad1[2];
|
||||
/* 0x03 */ u8 unk3;
|
||||
/* 0x04 */ s8 unk4;
|
||||
/* 0x05 */ UNK_TYPE1 pad5[1];
|
||||
/* 0x06 */ u8 enablePosLights;
|
||||
/* 0x07 */ UNK_TYPE1 pad7[1];
|
||||
/* 0x08 */ DisplayMeshHeader* meshHeader;
|
||||
/* 0x0C */ void* vramAddr;
|
||||
/* 0x10 */ UNK_TYPE1 pad10[4];
|
||||
} LoadedRoom;
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u32 vromStart;
|
||||
/* 0x4 */ u32 vromEnd;
|
||||
|
|
@ -476,28 +441,31 @@ typedef struct {
|
|||
/* 0x20 */ u16 fracPart[16];
|
||||
} RSPMatrix;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ LoadedRoom currRoom;
|
||||
/* 0x14 */ LoadedRoom prevRoom;
|
||||
/* 0x28 */ void* roomMemPages[2]; // In a scene with transitions, roomMemory is split between two pages that toggle each transition. This is one continuous range, as the second page allocates from the end
|
||||
/* 0x30 */ u8 activeMemPage; // 0 - First page in memory, 1 - Second page
|
||||
/* 0x31 */ s8 unk31;
|
||||
/* 0x32 */ UNK_TYPE1 pad32[2];
|
||||
/* 0x34 */ u32 activeRoomVram;
|
||||
/* 0x38 */ DmaRequest dmaReq;
|
||||
/* 0x58 */ OSMesgQueue roomDmaCallback;
|
||||
/* 0x70 */ OSMesg roomDmaCallbackMsg[1];
|
||||
/* 0x74 */ UNK_TYPE1 pad74[4];
|
||||
/* 0x78 */ s8 unk78;
|
||||
/* 0x79 */ UNK_TYPE1 pad79[1];
|
||||
/* 0x7A */ UNK_TYPE2 unk7A[3];
|
||||
} RoomContext;
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u32 vromStart;
|
||||
/* 0x4 */ u32 vromEnd;
|
||||
} RoomFileLocation;
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u32 opaqueDl;
|
||||
/* 0x4 */ u32 translucentDl;
|
||||
} RoomMeshType0Params;
|
||||
|
||||
// Fields TODO
|
||||
typedef struct {
|
||||
/* 0x0 */ u8 type;
|
||||
/* 0x1 */ u8 format; // 1 = single, 2 = multi
|
||||
} RoomMeshType1;
|
||||
|
||||
// Size TODO
|
||||
typedef struct {
|
||||
/* 0x0 */ UNK_TYPE1 pad0[16];
|
||||
} RoomMeshType1Params;
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ UNK_TYPE1 pad0[16];
|
||||
} RoomMeshType2Params;
|
||||
|
||||
// Extra information in the save context that is not saved
|
||||
typedef struct {
|
||||
/* 0x000 */ UNK_TYPE1 pad0[712];
|
||||
|
|
@ -961,6 +929,22 @@ typedef struct {
|
|||
/* 0x0C */ Vector3s rot;
|
||||
} PosRot;
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u8 type;
|
||||
/* 0x1 */ u8 count;
|
||||
/* 0x2 */ UNK_TYPE1 pad2[2];
|
||||
/* 0x4 */ RoomMeshType0Params* paramsStart;
|
||||
/* 0x8 */ RoomMeshType0Params* paramsEnd;
|
||||
} RoomMeshType0;
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u8 type;
|
||||
/* 0x1 */ u8 count;
|
||||
/* 0x2 */ UNK_TYPE1 pad2[2];
|
||||
/* 0x4 */ RoomMeshType2Params* paramsStart;
|
||||
/* 0x8 */ RoomMeshType2Params* paramsEnd;
|
||||
} RoomMeshType2;
|
||||
|
||||
// Permanent save context, kept in regular save files
|
||||
typedef struct {
|
||||
/* 0x0000 */ u32 entranceIndex; // bits 0-3 : offset; 4-8: spawn index; 9-15: scene index
|
||||
|
|
@ -1162,7 +1146,7 @@ typedef struct {
|
|||
/* 0xC0 */ UNK_TYPE1 padC0[1];
|
||||
/* 0xC1 */ u8 unkC1;
|
||||
/* 0xC2 */ u8 unkC2;
|
||||
/* 0xC3 */ UNK_TYPE1 padC3[1];
|
||||
/* 0xC3 */ u8 unkC3;
|
||||
/* 0xC4 */ RGB unkC4;
|
||||
/* 0xC7 */ s8 unkC7;
|
||||
/* 0xC8 */ s8 unkC8;
|
||||
|
|
@ -1191,6 +1175,12 @@ typedef struct {
|
|||
/* 0x11F23 */ UNK_TYPE1 pad11F23[437];
|
||||
} MessageContext;
|
||||
|
||||
typedef union {
|
||||
/* 0x0 */ RoomMeshType0 type0;
|
||||
/* 0x0 */ RoomMeshType1 type1;
|
||||
/* 0x0 */ RoomMeshType2 type2;
|
||||
} RoomMesh;
|
||||
|
||||
// Full save context
|
||||
typedef struct {
|
||||
/* 0x0000 */ SaveContextPerm perm;
|
||||
|
|
@ -1204,6 +1194,36 @@ typedef struct {
|
|||
/* 0xC */ ColTriInit* elemInit;
|
||||
} ColTriGroupInit;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s8 index;
|
||||
/* 0x01 */ UNK_TYPE1 pad1[2];
|
||||
/* 0x03 */ u8 unk3;
|
||||
/* 0x04 */ s8 unk4;
|
||||
/* 0x05 */ UNK_TYPE1 pad5[1];
|
||||
/* 0x06 */ u8 enablePosLights;
|
||||
/* 0x07 */ UNK_TYPE1 pad7[1];
|
||||
/* 0x08 */ RoomMesh* mesh;
|
||||
/* 0x0C */ void* vramAddr;
|
||||
/* 0x10 */ UNK_TYPE1 pad10[4];
|
||||
} Room;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Room currRoom;
|
||||
/* 0x14 */ Room prevRoom;
|
||||
/* 0x28 */ void* roomMemPages[2]; // In a scene with transitions, roomMemory is split between two pages that toggle each transition. This is one continuous range, as the second page allocates from the end
|
||||
/* 0x30 */ u8 activeMemPage; // 0 - First page in memory, 1 - Second page
|
||||
/* 0x31 */ s8 unk31;
|
||||
/* 0x32 */ UNK_TYPE1 pad32[2];
|
||||
/* 0x34 */ u32 activeRoomVram;
|
||||
/* 0x38 */ DmaRequest dmaReq;
|
||||
/* 0x58 */ OSMesgQueue roomDmaCallback;
|
||||
/* 0x70 */ OSMesg roomDmaCallbackMsg[1];
|
||||
/* 0x74 */ UNK_TYPE1 pad74[4];
|
||||
/* 0x78 */ s8 unk78;
|
||||
/* 0x79 */ s8 unk79;
|
||||
/* 0x7A */ UNK_TYPE2 unk7A[3];
|
||||
} RoomContext;
|
||||
|
||||
typedef struct ActorBgMbarChair ActorBgMbarChair;
|
||||
|
||||
typedef struct ActorEnBji01 ActorEnBji01;
|
||||
|
|
@ -1518,7 +1538,7 @@ typedef void(*global_context_func)(GlobalContext*);
|
|||
|
||||
typedef void(*light_map_positional_func)(LightMapper* mapper, void* params, GlobalContext* ctxt);
|
||||
|
||||
typedef void(*room_draw_func)(GlobalContext* ctxt, LoadedRoom* room, u32 flags);
|
||||
typedef void(*room_draw_func)(GlobalContext* ctxt, Room* room, u32 flags);
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ draw_func unk0;
|
||||
|
|
|
|||
|
|
@ -258,7 +258,7 @@ SECTIONS
|
|||
build/asm/z_prenmi.o(.text)
|
||||
build/asm/code_0x8012A080.o(.text)
|
||||
build/asm/z_rcp.o(.text)
|
||||
build/asm/z_room.o(.text)
|
||||
build/src/code/z_room.o(.text)
|
||||
build/asm/code_0x8012EC80.o(.text)
|
||||
build/asm/z_scene.o(.text)
|
||||
build/asm/z_scene_proc.o(.text)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,152 @@
|
|||
#include <ultra64.h>
|
||||
#include <global.h>
|
||||
|
||||
void Room_nop8012D510(GlobalContext* ctxt, Room* room, UNK_PTR param_3, UNK_TYPE1 param_4) {}
|
||||
|
||||
void Room_DrawType3Mesh(GlobalContext* ctxt, Room* room, u32 flags) {}
|
||||
|
||||
void Room_DrawType0Mesh(GlobalContext* ctxt, Room* room, u32 flags) {
|
||||
RoomMeshType0* mesh;
|
||||
s32 i;
|
||||
RoomMeshType0Params* meshParams;
|
||||
GraphicsContext* gCtxt;
|
||||
UNK_TYPE4 pad;
|
||||
|
||||
gCtxt = ctxt->common.gCtxt;
|
||||
if (flags & 1) {
|
||||
func_800BCBF4(&D_801C1D10, ctxt);
|
||||
gSPSegment(gCtxt->polyOpa.append++, 0x03, room->vramAddr);
|
||||
func_8012C268(ctxt);
|
||||
gSPMatrix(gCtxt->polyOpa.append++, &D_801D1DE0, G_MTX_MODELVIEW | G_MTX_LOAD);
|
||||
}
|
||||
|
||||
if (flags & 2) {
|
||||
func_800BCC68(&D_801C1D10, ctxt);
|
||||
gSPSegment(gCtxt->polyXlu.append++, 0x03, room->vramAddr);
|
||||
func_8012C2DC(ctxt->common.gCtxt);
|
||||
gSPMatrix(gCtxt->polyXlu.append++, &D_801D1DE0, G_MTX_MODELVIEW | G_MTX_LOAD);
|
||||
}
|
||||
|
||||
mesh = &room->mesh->type0;
|
||||
meshParams = (RoomMeshType0Params*)Lib_PtrSegToVirt((u32)mesh->paramsStart);
|
||||
for (i = 0; i < mesh->count; i++) {
|
||||
if ((flags & 1) && (meshParams->opaqueDl != NULL)) {
|
||||
gSPDisplayList(gCtxt->polyOpa.append++, meshParams->opaqueDl);
|
||||
}
|
||||
|
||||
if ((flags & 2) && (meshParams->translucentDl != NULL)) {
|
||||
gSPDisplayList(gCtxt->polyXlu.append++, meshParams->translucentDl);
|
||||
}
|
||||
|
||||
meshParams++;
|
||||
}
|
||||
}
|
||||
|
||||
GLOBAL_ASM("asm/nonmatching/z_room/Room_DrawType2Mesh.asm")
|
||||
|
||||
GLOBAL_ASM("asm/nonmatching/z_room/func_8012DEE8.asm")
|
||||
|
||||
GLOBAL_ASM("asm/nonmatching/z_room/func_8012E254.asm")
|
||||
|
||||
GLOBAL_ASM("asm/nonmatching/z_room/func_8012E32C.asm")
|
||||
|
||||
void Room_DrawType1Mesh(GlobalContext* ctxt, Room* room, u32 flags) {
|
||||
RoomMeshType1* mesh = &room->mesh->type1;
|
||||
if (mesh->format == 1) {
|
||||
func_8012DEE8(ctxt,room,flags);
|
||||
} else if (mesh->format == 2) {
|
||||
func_8012E32C(ctxt,room,flags);
|
||||
} else {
|
||||
func_80086280(D_801DDFAC,0x3c5);
|
||||
}
|
||||
}
|
||||
|
||||
void Room_Init(GlobalContext* ctxt, RoomContext* roomCtxt) {
|
||||
s32 i;
|
||||
roomCtxt->currRoom.index = -1;
|
||||
roomCtxt->currRoom.vramAddr = 0;
|
||||
roomCtxt->unk78 = 1;
|
||||
roomCtxt->unk79 = 0;
|
||||
for (i = 0; i < 3; i++) {
|
||||
roomCtxt->unk7A[i] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
GLOBAL_ASM("asm/nonmatching/z_room/Room_AllocateAndLoad.asm")
|
||||
|
||||
#ifdef NONMATCHING
|
||||
s32 Room_StartRoomTransition(GlobalContext* ctxt, RoomContext* roomCtxt, s32 index) {
|
||||
u32 size;
|
||||
|
||||
// XXX: this should use a branch-likely
|
||||
if (roomCtxt->unk31 == 0) {
|
||||
roomCtxt->prevRoom = roomCtxt->currRoom;
|
||||
roomCtxt->currRoom.index = index;
|
||||
roomCtxt->currRoom.vramAddr = NULL;
|
||||
roomCtxt->unk31 = 1;
|
||||
|
||||
size = ctxt->roomAddrs[index].vromEnd - ctxt->roomAddrs[index].vromStart;
|
||||
roomCtxt->activeRoomVram = ((s32)roomCtxt->roomMemPages[roomCtxt->activeMemPage] - (size + 8) * roomCtxt->activeMemPage + 8) & 0xfffffff0;
|
||||
|
||||
osCreateMesgQueue(&roomCtxt->roomDmaCallback, roomCtxt->roomDmaCallbackMsg, 1);
|
||||
Dmamgr_SendRequest(&roomCtxt->dmaReq, roomCtxt->activeRoomVram, ctxt->roomAddrs[index].vromStart, size,
|
||||
0, &roomCtxt->roomDmaCallback, NULL);
|
||||
roomCtxt->activeMemPage ^= 1;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/nonmatching/z_room/Room_StartRoomTransition.asm")
|
||||
#endif
|
||||
|
||||
s32 Room_HandleLoadCallbacks(GlobalContext* ctxt, RoomContext* roomCtxt) {
|
||||
if (roomCtxt->unk31 == 1)
|
||||
{
|
||||
if (!osRecvMesg(&roomCtxt->roomDmaCallback, NULL, OS_MESG_NOBLOCK))
|
||||
{
|
||||
roomCtxt->unk31 = 0;
|
||||
roomCtxt->currRoom.vramAddr = (void*)(roomCtxt->activeRoomVram);
|
||||
gRspSegmentPhysAddrs[3] = roomCtxt->activeRoomVram + 0x80000000;
|
||||
|
||||
Scene_ProcessHeader(ctxt, (SceneHeaderEntry*)roomCtxt->currRoom.vramAddr);
|
||||
func_80123140(ctxt, (ActorPlayer*)ctxt->actorContext.actorTypeLists[2].head);
|
||||
Actor_SpawnTransitionActors(ctxt, &ctxt->actorContext);
|
||||
|
||||
if (((ctxt->currentScene != 0x13) || (roomCtxt->currRoom.index != 1)) && (ctxt->currentScene != 0x56)) {
|
||||
ctxt->kankyoContext.unkC3 = 0xff;
|
||||
ctxt->kankyoContext.unkE0 = 0;
|
||||
}
|
||||
func_800FEAB0();
|
||||
if (!func_800FE4B8(ctxt)) {
|
||||
func_800FD858(ctxt);
|
||||
}
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
void Room_Draw(GlobalContext* ctxt, Room* room, u32 flags) {
|
||||
if (room->vramAddr != NULL) {
|
||||
gRspSegmentPhysAddrs[3] = (u32)room->vramAddr + 0x80000000;
|
||||
roomDrawFuncs[room->mesh->type0.type](ctxt,room,flags);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
void func_8012EBF8(GlobalContext* ctxt, RoomContext* roomCtxt){
|
||||
roomCtxt->prevRoom.index = -1;
|
||||
roomCtxt->prevRoom.vramAddr = NULL;
|
||||
func_800BA798(ctxt, &ctxt->actorContext);
|
||||
Actor_SpawnTransitionActors(ctxt, &ctxt->actorContext);
|
||||
if (-1 < roomCtxt->currRoom.index) {
|
||||
func_8010A33C(ctxt, roomCtxt->currRoom.index);
|
||||
func_8010A2DC(ctxt);
|
||||
}
|
||||
func_801A3CD8(ctxt->roomContext.currRoom.unk4);
|
||||
}
|
||||
|
|
@ -7,3 +7,4 @@ z_lib
|
|||
z_actor
|
||||
z_DLF
|
||||
z_lights
|
||||
z_room
|
||||
|
|
|
|||
|
|
@ -154,7 +154,7 @@
|
|||
0x800860D8:("func_800860D8","void","void"),
|
||||
0x80086110:("func_80086110","void","void"),
|
||||
0x80086258:("func_80086258","void","void"),
|
||||
0x80086280:("func_80086280","void","void"),
|
||||
0x80086280:("func_80086280","void","char* param_1, u32 param_2"),
|
||||
0x800862B4:("func_800862B4","void","void"),
|
||||
0x800862E0:("StartHeap_AllocMin1","void*","u32 size"),
|
||||
0x80086310:("StartHeap_FreeNull","void","void* pvParm1"),
|
||||
|
|
@ -2001,7 +2001,7 @@
|
|||
0x8010A208:("func_8010A208","void","void"),
|
||||
0x8010A238:("func_8010A238","void","void"),
|
||||
0x8010A2AC:("func_8010A2AC","void","void"),
|
||||
0x8010A2DC:("func_8010A2DC","void","void"),
|
||||
0x8010A2DC:("func_8010A2DC","void","GlobalContext* ctxt"),
|
||||
0x8010A33C:("func_8010A33C","void","GlobalContext* ctxt, s16 param_2"),
|
||||
0x8010A410:("func_8010A410","void","void"),
|
||||
0x8010A430:("func_8010A430","void","void"),
|
||||
|
|
@ -2362,19 +2362,19 @@
|
|||
0x8012CF0C:("func_8012CF0C","void","GraphicsContext* gCtxt, int iParm2, int iParm3, unsigned int uParm4, u8 param_5, u8 param_6"),
|
||||
0x8012D374:("func_8012D374","void","void"),
|
||||
0x8012D40C:("func_8012D40C","void","f32* param_1, f32* param_2, s16* param_3"),
|
||||
0x8012D510:("Room_nop8012D510","void","GlobalContext* ctxt, LoadedRoom* room, UNK_PTR param_3, UNK_TYPE1 param_4"),
|
||||
0x8012D528:("Room_DrawType3Mesh","void","GlobalContext* ctxt, LoadedRoom* room, u32 flags"),
|
||||
0x8012D53C:("Room_DrawType0Mesh","void","GlobalContext* ctxt, LoadedRoom* room, u32 flags"),
|
||||
0x8012D750:("Room_DrawType2Mesh","void","GlobalContext* ctxt, LoadedRoom* room, u32 flags"),
|
||||
0x8012DEE8:("func_8012DEE8","void","GlobalContext* ctxt, LoadedRoom* room, u32 flags"),
|
||||
0x8012E254:("func_8012E254","void","void"),
|
||||
0x8012E32C:("func_8012E32C","void","GlobalContext* ctxt, LoadedRoom* room, u32 flags"),
|
||||
0x8012E6A8:("Room_DrawType1Mesh","void","GlobalContext* ctxt, LoadedRoom* room, u32 flags"),
|
||||
0x8012D510:("Room_nop8012D510","void","GlobalContext* ctxt, Room* room, UNK_PTR param_3, UNK_TYPE1 param_4"),
|
||||
0x8012D528:("Room_DrawType3Mesh","void","GlobalContext* ctxt, Room* room, u32 flags"),
|
||||
0x8012D53C:("Room_DrawType0Mesh","void","GlobalContext* ctxt, Room* room, u32 flags"),
|
||||
0x8012D750:("Room_DrawType2Mesh","void","GlobalContext* ctxt, Room* room, u32 flags"),
|
||||
0x8012DEE8:("func_8012DEE8","void","GlobalContext* ctxt, Room* room, u32 flags"),
|
||||
0x8012E254:("func_8012E254","u32","int param_1, GlobalContext* ctxt"),
|
||||
0x8012E32C:("func_8012E32C","void","GlobalContext* ctxt, Room* room, u32 flags"),
|
||||
0x8012E6A8:("Room_DrawType1Mesh","void","GlobalContext* ctxt, Room* room, u32 flags"),
|
||||
0x8012E710:("Room_Init","void","GlobalContext* ctxt, RoomContext* roomCtxt"),
|
||||
0x8012E750:("Room_AllocateAndLoad","u32","GlobalContext* ctxt, RoomContext* roomCtxt"),
|
||||
0x8012E96C:("Room_StartRoomTransition","unsigned int","GlobalContext* ctxt, RoomContext* roomCtxt, s32 index"),
|
||||
0x8012E96C:("Room_StartRoomTransition","s32","GlobalContext* ctxt, RoomContext* roomCtxt, s32 index"),
|
||||
0x8012EAA8:("Room_HandleLoadCallbacks","s32","GlobalContext* ctxt, RoomContext* roomCtxt"),
|
||||
0x8012EBA8:("Room_DrawRoomMesh","void","GlobalContext* ctxt, LoadedRoom* room, u32 flags"),
|
||||
0x8012EBA8:("Room_Draw","void","GlobalContext* ctxt, Room* room, u32 flags"),
|
||||
0x8012EBF8:("func_8012EBF8","void","GlobalContext* ctxt, RoomContext* roomCtxt"),
|
||||
0x8012EC80:("func_8012EC80","unsigned int","GlobalContext* ctxt"),
|
||||
0x8012ED34:("func_8012ED34","void","s16 param_1"),
|
||||
|
|
@ -3878,7 +3878,7 @@
|
|||
0x801A3AEC:("func_801A3AEC","void","void"),
|
||||
0x801A3B48:("func_801A3B48","void","void"),
|
||||
0x801A3B90:("func_801A3B90","void","void"),
|
||||
0x801A3CD8:("func_801A3CD8","void","void"),
|
||||
0x801A3CD8:("func_801A3CD8","void","s8 param_1"),
|
||||
0x801A3CF4:("func_801A3CF4","void","void"),
|
||||
0x801A3D98:("func_801A3D98","void","void"),
|
||||
0x801A3E38:("func_801A3E38","void","void"),
|
||||
|
|
|
|||
Loading…
Reference in New Issue