From 9bc4990814d2e953df294bc57f7bca1918bd3bac Mon Sep 17 00:00:00 2001 From: rozlette Date: Sat, 14 Dec 2019 23:38:35 -0600 Subject: [PATCH] Update to latest from ghidra project --- include/functions.h | 749 ++++++++++---------- include/structs.h | 1138 +++++++++++++++++++++++-------- include/variables.h | 235 ++----- src/code/code_0x800A5AC0.c | 6 +- src/code/z_actor.c | 476 ++++++------- src/code/z_effect_soft_sprite.c | 8 +- src/code/z_lib.c | 12 +- tables/functions.py | 749 ++++++++++---------- tables/variables.py | 235 ++----- undef.txt | 128 +--- 10 files changed, 1979 insertions(+), 1757 deletions(-) diff --git a/include/functions.h b/include/functions.h index 701bdb4ddc..3d6d67c805 100644 --- a/include/functions.h +++ b/include/functions.h @@ -312,7 +312,7 @@ void osInitialize(void); // func_8008A6FC void func_8008A9A8(void); // func_8008A9A8 void func_8008AA10(void); // func_8008AA10 void guPerspectiveF(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7); // func_8008AA50 -void guPerspective(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7); // func_8008AC80 +void guPerspective(Mtx* m, u16* perspNorm, float fovy, float aspect, float near, float far, float scale); // func_8008AC80 s32 __osSpRawStartDma(s32 direction, u32 devAddr, void* dramAddr, u32 size); // func_8008ACE0 s32 __osSiRawStartDma(s32 direction, void* dramAddr); // func_8008AD70 void func_8008AE20(void); // func_8008AE20 @@ -329,8 +329,8 @@ void guMtxIdentF(f32* mf); // func_8008B600 void osViSetMode(OSViMode* modep); // func_8008B650 void __osGetConfig(void); // func_8008B6B0 void __osSetConfig(void); // func_8008B6C0 -void func_8008B6D0(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8, UNK_TYPE4 param_9, UNK_TYPE4 param_10); // func_8008B6D0 -void func_8008B974(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8, UNK_TYPE4 param_9, UNK_TYPE4 param_10); // func_8008B974 +void guLookAtF(float* mf, float xEye, float yEye, float zEye, float xAt, float yAt, float zAt, float xUp, float yUp, float zUp); // func_8008B6D0 +void guLookAt(Mtx* m, float xEye, float yEye, float zEye, float xAt, float yAt, float zAt, float xUp, float yUp, float zUp); // func_8008B974 void func_8008B9F0(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7); // func_8008B9F0 void func_8008BD24(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE1 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7); // func_8008BD24 s32 osStopTimer(OSTimer* t); // func_8008BE70 @@ -489,7 +489,7 @@ void func_800967A0(void); // func_800967A0 u32 __osGetWatchLo(void); // func_80096810 void __osSetWatchLo(u32 value); // func_80096820 f32 func_80096830(f32 param_1, f32 param_2); // func_80096830 -void func_80096880(void); // func_80096880 +void* func_80096880(void* param_1, u8 param_2, s32 param_3); // func_80096880 void func_800968B0(void); // func_800968B0 char* func_800968f0(char* param_1, char* param_2); // func_800968F0 void func_80096930(void); // func_80096930 @@ -548,10 +548,10 @@ void func_800ACFCC(void); // func_800ACFCC void func_800ACFD8(void); // func_800ACFD8 void func_800AD09C(void); // func_800AD09C void func_800AE2A0(void); // func_800AE2A0 -void func_800AE434(GlobalContext* ctxt, Color* color, short sParm3, short sParm4); // func_800AE434 +void func_800AE434(GlobalContext* ctxt, ColorRGBA8* color, short sParm3, short sParm4); // func_800AE434 void func_800AE5A0(void); // func_800AE5A0 void func_800AE5E4(void); // func_800AE5E4 -void func_800AE778(void); // func_800AE778 +void func_800AE778(GlobalContext* ctxt, ColorRGBA8* color, short param_3, short param_4); // func_800AE778 void func_800AE8EC(void); // func_800AE8EC void func_800AE930(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7); // func_800AE930 void func_800AEF44(void); // func_800AEF44 @@ -571,7 +571,7 @@ void func_800AFC60(void); // func_800AFC60 void func_800AFDCC(void); // func_800AFDCC void func_800AFF24(void); // func_800AFF24 void EffectSS_Init(GlobalContext* ctxt, s32 numEntries); // func_800B0050 -void EffectSS_Clear(GlobalContext* ctxt); // func_800B0140 +void EffectSS_Fini(GlobalContext* ctxt); // func_800B0140 LoadedParticleEntry* EffectSS_GetTable(void); // func_800B0200 void EffectSS_Delete(LoadedParticleEntry* param_1); // func_800B0210 void EffectSS_ResetLoadedParticleEntry(LoadedParticleEntry* particle); // func_800B0270 @@ -586,7 +586,7 @@ s32 func_800B096C(s16 param_1, s16 param_2, s32 param_3); // func_800B096C s16 func_800B09D0(s16 a0, s16 a1, f32 a2); // func_800B09D0 u8 func_800B0A24(u8 a0, u8 a1, f32 a2); // func_800B0A24 void func_800B0B10(GlobalContext* ctxt, LoadedParticleEntry* particle, u32 uParm3); // func_800B0B10 -void EffectSS_LoadDust(GlobalContext* ctxt, u16 flags, Vector3f* position, Vector3f* velocity, Vector3f* acceleration, Color* color1, Color* color2, s16 scale, s16 scaleChangePerFrame, s16 life, u8 type); // func_800B0D2C +void EffectSS_LoadDust(GlobalContext* ctxt, u16 flags, Vector3f* position, Vector3f* velocity, Vector3f* acceleration, ColorRGBA8* color1, ColorRGBA8* color2, s16 scale, s16 scaleChangePerFrame, s16 life, u8 type); // func_800B0D2C void func_800B0DE0(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8); // func_800B0DE0 void func_800B0E48(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8); // func_800B0E48 void func_800B0EB0(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8, UNK_TYPE2 param_9); // func_800B0EB0 @@ -611,11 +611,11 @@ void EffectSS_LoadSparkle(UNK_TYPE4 uParm1, Vector3f* pzParm2, Vector3f* pzParm3 void func_800B1830(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE2 param_7, UNK_TYPE4 param_8); // func_800B1830 void EffectSS_LoadBomb2(UNK_TYPE4 uParm1, Vector3f* pzParm2, Vector3f* pzParm3, Vector3f* pzParm4); // func_800B1908 void func_800B1970(UNK_TYPE4 param_1, Vector3f* param_2, Vector3f* param_3, Vector3f* param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6); // func_800B1970 -void EffectSS_LoadBlast(UNK_TYPE4 uParm1, Vector3f* pzParm2, Vector3f* pzParm3, Vector3f* pzParm4, Color* param_5, Color* param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8, UNK_TYPE2 param_9, UNK_TYPE2 param_10); // func_800B19E0 +void EffectSS_LoadBlast(UNK_TYPE4 uParm1, Vector3f* pzParm2, Vector3f* pzParm3, Vector3f* pzParm4, ColorRGBA8* param_5, ColorRGBA8* param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8, UNK_TYPE2 param_9, UNK_TYPE2 param_10); // func_800B19E0 void func_800B1A70(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7); // func_800B1A70 void func_800B1AC4(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE2 param_7); // func_800B1AC4 void func_800B1B10(void); // func_800B1B10 -void EffectSS_LoadGSpark(UNK_TYPE4 uParm1, UNK_TYPE4 uParm2, Vector3f* pzParm3, Vector3f* pzParm4, Vector3f* param_5, Color* param_6, Color* param_7, UNK_TYPE2 param_8, UNK_TYPE2 param_9); // func_800B1B4C +void EffectSS_LoadGSpark(UNK_TYPE4 uParm1, UNK_TYPE4 uParm2, Vector3f* pzParm3, Vector3f* pzParm4, Vector3f* param_5, ColorRGBA8* param_6, ColorRGBA8* param_7, UNK_TYPE2 param_8, UNK_TYPE2 param_9); // func_800B1B4C void func_800B1BDC(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE2 param_8, UNK_TYPE2 param_9); // func_800B1BDC void func_800B1C70(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5); // func_800B1C70 void func_800B1CC4(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7); // func_800B1CC4 @@ -625,7 +625,7 @@ void EffectSS_LoadBubble(UNK_TYPE4 uParm1, Vector3f* pzParm2, UNK_TYPE4 uParm3, void EffectSS_LoadGRipple(UNK_TYPE4 uParm1, Vector3f* pzParm2, UNK_TYPE2 uParm3, UNK_TYPE2 uParm4, UNK_TYPE2 param_5); // func_800B1EF4 void EffectSS_LoadGSplash(UNK_TYPE4 uParm1, Vector3f* pzParm2, UNK_PTR puParm3, UNK_PTR puParm4, UNK_TYPE1 uParm5, UNK_TYPE2 param_6); // func_800B1F4C void EffectSS_LoadGFire(UNK_TYPE4 uParm1, Vector3f* pzParm2); // func_800B1FE0 -void EffectSS_LoadLightning(UNK_TYPE4 uParm1, Vector3f* pzParm2, Color* pzParm3, Color* pzParm4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8); // func_800B2018 +void EffectSS_LoadLightning(UNK_TYPE4 uParm1, Vector3f* pzParm2, ColorRGBA8* pzParm3, ColorRGBA8* pzParm4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8); // func_800B2018 void func_800B2090(UNK_TYPE4 param_1, Vector3f* param_2, Vector3f* param_3, Vector3f* param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8); // func_800B2090 void EffectSS_LoadBigOctoBubble2(UNK_TYPE4 uParm1, Vector3f* pzParm2, Vector3f* pzParm3, Vector3f* pzParm4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8, UNK_TYPE2 param_9); // func_800B210C void EffectSS_LoadFragment(UNK_TYPE4 uParm1, Vector3f* pzParm2, Vector3f* pzParm3, Vector3f* pzParm4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8, UNK_TYPE4 param_9); // func_800B219C @@ -644,11 +644,11 @@ void EffectSS_LoadSoldierSearchBall(UNK_TYPE4 uParm1, Vector3f* pzParm2, Vector3 void EffectSS_LoadShard(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8, UNK_TYPE2 param_9, UNK_TYPE2 param_10, UNK_TYPE2 param_11, UNK_TYPE2 param_12, UNK_TYPE4 param_13, UNK_TYPE2 param_14, UNK_TYPE2 param_15, UNK_TYPE4 param_16); // func_800B2810 void EffectSS_LoadIcePiece(UNK_TYPE4 uParm1, Vector3f* pzParm2, UNK_TYPE4 uParm3, Vector3f* pzParm4, Vector3f* param_5, UNK_TYPE4 param_6); // func_800B28C8 void func_800B2930(void); // func_800B2930 -void EffectSS_LoadEnemyIce(UNK_TYPE4 uParm1, Actor* pzParm2, Vector3f* pzParm3, Color* pzParm4, Color* param_5, UNK_TYPE4 param_6); // func_800B2AC4 +void EffectSS_LoadEnemyIce(UNK_TYPE4 uParm1, Actor* pzParm2, Vector3f* pzParm3, ColorRGBA8* pzParm4, ColorRGBA8* param_5, UNK_TYPE4 param_6); // func_800B2AC4 void func_800B2B44(void); // func_800B2B44 void func_800B2B7C(void); // func_800B2B7C void func_800B2BC0(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8); // func_800B2BC0 -void EffectSS_LoadFireTail(UNK_TYPE4 uParm1, UNK_TYPE4 uParm2, Vector3f* pzParm3, UNK_TYPE4 uParm4, Vector3f* param_5, UNK_TYPE2 param_6, Color* param_7, Color* param_8, UNK_TYPE2 param_9, UNK_TYPE2 param_10, UNK_TYPE4 param_11); // func_800B2C48 +void EffectSS_LoadFireTail(UNK_TYPE4 uParm1, UNK_TYPE4 uParm2, Vector3f* pzParm3, UNK_TYPE4 uParm4, Vector3f* param_5, UNK_TYPE2 param_6, ColorRGBA8* param_7, ColorRGBA8* param_8, UNK_TYPE2 param_9, UNK_TYPE2 param_10, UNK_TYPE4 param_11); // func_800B2C48 void func_800B2CE0(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE4 param_6); // func_800B2CE0 void func_800B2DA4(void); // func_800B2DA4 void EffectSS_LoadEnemyFire(UNK_TYPE4 uParm1, Actor* pzParm2, Vector3f* pzParm3, UNK_TYPE2 uParm4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7); // func_800B2DF4 @@ -666,55 +666,55 @@ void func_800B3644(void); // func_800B3644 void DLF_LoadGameState(GameStateMetaInfo* gameState); // func_800B3880 void DLF_FreeGameState(GameStateMetaInfo* gameState); // func_800B39A4 void Actor_PrintLists(ActorContext* actCtxt); // func_800B3AD0 -void func_800B3BA4(ActorBC* iParm1, f32 uParm2, func_ptr* uParm3, f32 uParm4); // func_800B3BA4 -void func_800B3BC8(Actor* iParm1, UNK_TYPE4 uParm2, GlobalContext* ctxt, UNK_PTR puParm4, Color* param_5); // func_800B3BC8 -void func_800B3FC0(Actor* actor, UNK_TYPE4 uParm2, GlobalContext* ctxt); // func_800B3FC0 -void func_800B4024(Actor* actor, UNK_TYPE4 uParm2, GlobalContext* ctxt); // func_800B4024 -void func_800B4088(Actor* actor, UNK_TYPE4 uParm2, GlobalContext* ctxt); // func_800B4088 -void func_800B40B8(Actor* actor, UNK_TYPE4 uParm2, GlobalContext* ctxt); // func_800B40B8 +void Actor_SetPostDrawParams(ActorPostDrawParams* iParm1, f32 uParm2, actor_post_draw_func* func, f32 scale); // func_800B3BA4 +void Actor_PostDraw(Actor* actor, LightMapper* mapper, GlobalContext* ctxt, u32 displayList, ColorRGBA8* color); // func_800B3BC8 +void func_800B3FC0(Actor* actor, LightMapper* mapper, GlobalContext* ctxt); // func_800B3FC0 +void func_800B4024(Actor* actor, LightMapper* mapper, GlobalContext* ctxt); // func_800B4024 +void func_800B4088(Actor* actor, LightMapper* mapper, GlobalContext* ctxt); // func_800B4088 +void func_800B40B8(Actor* actor, LightMapper* mapper, GlobalContext* ctxt); // func_800B40B8 void func_800B40E0(GlobalContext* ctxt, int iParm2, z_Matrix* pzParm3, int iParm4, float param_5, float param_6, float param_7); // func_800B40E0 -void func_800B42F8(void); // func_800B42F8 +void func_800B42F8(Actor* actor, LightMapper* mapper, GlobalContext* ctxt); // func_800B42F8 void func_800B4A98(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6); // func_800B4A98 -void func_800B4AEC(void); // func_800B4AEC +void func_800B4AEC(GlobalContext* ctxt, Actor* actor, f32 param_3); // func_800B4AEC void func_800B4B50(Actor* iParm1, int iParm2, GlobalContext* pzParm3); // func_800B4B50 void func_800B4EDC(GlobalContext* ctxt, Vector3f* pzParm2, Vector3f* pzParm3, f32* pfParm4); // func_800B4EDC -void func_800B4F40(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5); // func_800B4F40 -void func_800B4F78(void); // func_800B4F78 -void func_800B5040(void); // func_800B5040 -void func_800B51A4(void); // func_800B51A4 -void func_800B5208(int iParm1, GlobalContext* ctxt); // func_800B5208 -void func_800B5814(void); // func_800B5814 -void func_800B5BB0(void); // func_800B5BB0 -void func_800B5BF4(void); // func_800B5BF4 -void func_800B5C34(void); // func_800B5C34 -void func_800B5C78(void); // func_800B5C78 -void func_800B5C90(void); // func_800B5C90 -void func_800B5CAC(void); // func_800B5CAC -void func_800B5CB8(void); // func_800B5CB8 -u32 func_800B5CC4(GlobalContext* ctxt, u32 roomNumber); // func_800B5CC4 -void func_800B5CDC(GlobalContext* ctxt, unsigned int roomNumber); // func_800B5CDC -void func_800B5CF8(GlobalContext* ctxt, u32 param_2); // func_800B5CF8 -u32 Actor_GetRoomCleared(GlobalContext* ctxt, u32 roomNumber); // func_800B5D18 -void Actor_SetRoomCleared(GlobalContext* ctxt, unsigned int roomNumber); // func_800B5D30 -void Actor_UnsetRoomCleared(GlobalContext* ctxt, u32 roomNumber); // func_800B5D4C +void func_800B4F40(TargetContext* targetContext, int param_2, UNK_TYPE4 param_3, UNK_TYPE4 param_4, UNK_TYPE4 param_5); // func_800B4F40 +void func_800B4F78(TargetContext* targetContext, u8 type, GlobalContext* ctxt); // func_800B4F78 +void func_800B5040(TargetContext* targetContext, Actor* actor, u8 type, GlobalContext* ctxt); // func_800B5040 +void Actor_TargetContextInit(TargetContext* targetCtxt, Actor* actor, GlobalContext* ctxt); // func_800B51A4 +void func_800B5208(TargetContext* targetCtxt, GlobalContext* ctxt); // func_800B5208 +void func_800B5814(TargetContext* targetContext, ActorPlayer* player, Actor* param_3, GlobalContext* ctxt); // func_800B5814 +u32 Actor_GetSwitchFlag(GlobalContext* ctxt, u32 flag); // func_800B5BB0 +void Actor_SetSwitchFlag(GlobalContext* ctxt, u32 flag); // func_800B5BF4 +void Actor_UnsetSwitchFlag(GlobalContext* ctxt, u32 flag); // func_800B5C34 +u32 Actor_GetChestFlag(GlobalContext* ctxt, u32 flag); // func_800B5C78 +void Actor_SetChestFlag(GlobalContext* ctxt, u32 flag); // func_800B5C90 +void Actor_SetAllChestFlag(GlobalContext* ctxt, u32 flags); // func_800B5CAC +u32 Actor_GetAllChestFlag(GlobalContext* ctxt); // func_800B5CB8 +u32 Actor_GetRoomCleared(GlobalContext* ctxt, u32 roomNumber); // func_800B5CC4 +void Actor_SetRoomCleared(GlobalContext* ctxt, u32 roomNumber); // func_800B5CDC +void Actor_UnsetRoomCleared(GlobalContext* ctxt, u32 roomNumber); // func_800B5CF8 +u32 Actor_GetRoomClearedTemp(GlobalContext* ctxt, u32 roomNumber); // func_800B5D18 +void Actor_SetRoomClearedTemp(GlobalContext* ctxt, unsigned int roomNumber); // func_800B5D30 +void Actor_UnsetRoomClearedTemp(GlobalContext* ctxt, u32 roomNumber); // func_800B5D4C u32 Actor_GetCollectibleFlag(GlobalContext* ctxt, u32 index); // func_800B5D6C u32 Actor_SetCollectibleFlag(GlobalContext* ctxt, u32 index); // func_800B5DB0 -void func_800B5DF0(void); // func_800B5DF0 -void func_800B5E0C(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE1 param_6, UNK_TYPE1 param_7); // func_800B5E0C +void Actor_TitleCardContextInit(GlobalContext* ctxt, TitleCardContext* titleCtxt); // func_800B5DF0 +void Actor_TitleCardCreate(GlobalContext* ctxt, TitleCardContext* titleCtxt, UNK_TYPE4 param_3, UNK_TYPE2 param_4, UNK_TYPE2 param_5, UNK_TYPE1 param_6, UNK_TYPE1 param_7); // func_800B5E0C void Actor_Nop800B5E50(UNK_TYPE4 param_1, UNK_TYPE4 param_2, UNK_TYPE4 param_3, UNK_TYPE4 param_4); // func_800B5E50 -void func_800B5E68(void); // func_800B5E68 -void func_800B5F24(void); // func_800B5F24 -UNK_TYPE4 func_800B6434(s32 param_1, s32 param_2); // func_800B6434 +void Actor_TitleCardUpdate(GlobalContext* ctxt, TitleCardContext* titleCtxt); // func_800B5E68 +void Actor_TitleCardDraw(GlobalContext* ctxt, TitleCardContext* titleCtxt); // func_800B5F24 +UNK_TYPE4 func_800B6434(GlobalContext* ctxt, TitleCardContext* titleCtxt); // func_800B6434 UNK_TYPE4 func_800B645C(void); // func_800B645C void func_800B6468(GlobalContext* ctxt); // func_800B6468 void func_800B6474(GlobalContext* ctxt); // func_800B6474 -void func_800B648C(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5); // func_800B648C +UNK_TYPE4 func_800B648C(GlobalContext* ctxt, UNK_TYPE1 param_2, UNK_TYPE1 param_3, float param_4, Vector3f* param_5); // func_800B648C f32 func_800B64FC(GlobalContext* ctxt, f32 fParm2, Vector3f* pzParm3, u32* puParm4); // func_800B64FC void* func_800B6584(GlobalContext* ctxt, s16 sParm2, void* pvParm3, u32 uParm4); // func_800B6584 UNK_TYPE4 func_800B6608(int iParm1, short sParm2); // func_800B6608 void func_800B6680(void); // func_800B6680 void Actor_MarkForDeath(Actor* actor); // func_800B670C -void func_800B672C(void); // func_800B672C +void func_800B672C(Actor* actor); // func_800B672C void func_800B675C(Actor* actor, f32 fParm2); // func_800B675C void func_800B67A0(s32 param_1); // func_800B67A0 void func_800B67C0(Actor* actor); // func_800B67C0 @@ -743,7 +743,7 @@ f32 Actor_DistanceToPoint(Actor* actor, Vector3f* point); // func_800B6DF8 f32 Actor_XZDistanceBetweenActors(Actor* actor1, Actor* actor2); // func_800B6E1C f32 Actor_XZDistanceToPoint(Actor* actor, Vector3f* point); // func_800B6E48 void func_800B6E6C(Actor* actor, Vector3f* pfParm2, Vector3f* pfParm3); // func_800B6E6C -f32 Actor_YDistanceBetweenActors(Actor* actor1, Actor* actor2); // func_800B6F0C +f32 Actor_YDistance(Actor* actor1, Actor* actor2); // func_800B6F0C void func_800B6F20(void); // func_800B6F20 void func_800B6FC8(void); // func_800B6FC8 void func_800B7090(void); // func_800B7090 @@ -769,7 +769,7 @@ void func_800B761C(void); // func_800B761C void func_800B7678(void); // func_800B7678 void func_800B78B8(GlobalContext* ctxt, Actor* iParm2, f32 uParm3, f32 uParm4, f32 param_5, u32 param_6); // func_800B78B8 void func_800B7E04(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6); // func_800B7E04 -void func_800B7FE0(void); // func_800B7FE0 +s32 func_800B7FE0(f32* param_1, f32* param_2, f32* param_3, GraphicsContext* gCtxt); // func_800B7FE0 void func_800B8018(void); // func_800B8018 void func_800B8050(Actor* actor, GlobalContext* ctxt, s32 iParm3); // func_800B8050 void func_800B8118(void); // func_800B8118 @@ -819,7 +819,7 @@ void func_800B8FE8(void); // func_800B8FE8 void func_800B9010(Actor* actor, UNK_TYPE2 uParm2); // func_800B9010 void func_800B9038(void); // func_800B9038 void func_800B9084(void); // func_800B9084 -void func_800B9098(void); // func_800B9098 +void func_800B9098(Actor* actor); // func_800B9098 void func_800B90AC(void); // func_800B90AC void func_800B90F4(void); // func_800B90F4 void func_800B9120(ActorContext* actCtxt); // func_800B9120 @@ -829,15 +829,15 @@ void func_800B948C(void); // func_800B948C void func_800B9780(GlobalContext* ctxt, ActorContext* actCtxt); // func_800B9780 void Actor_DrawActor(GlobalContext* ctxt, Actor* actor); // func_800B9A04 void func_800B9D1C(Actor* actor); // func_800B9D1C -void func_800B9E3C(void); // func_800B9E3C -UNK_TYPE4 func_800B9E4C(GlobalContext* ctxt, Actor* actor); // func_800B9E4C +void Actor_DrawAllSetup(GlobalContext* ctxt); // func_800B9E3C +s32 Actor_RecordDrawnActor(GlobalContext* ctxt, Actor* actor); // func_800B9E4C void func_800B9E84(void); // func_800B9E84 void func_800B9EF4(GlobalContext* ctxt, int numActors, Actor** actors); // func_800B9EF4 -void func_800BA2D8(void); // func_800BA2D8 -void func_800BA2FC(void); // func_800BA2FC -void Actor_DrawAllActors(GlobalContext* ctxt, ActorContext* aCtxt); // func_800BA42C +void func_800BA2D8(GlobalContext* ctxt, Actor* actor); // func_800BA2D8 +UNK_TYPE4 func_800BA2FC(GlobalContext* ctxt, Actor* actor, Vector3f* param_3, f32 param_4); // func_800BA2FC +void Actor_DrawAll(GlobalContext* ctxt, ActorContext* aCtxt); // func_800BA42C void func_800BA6FC(void); // func_800BA6FC -void func_800BA798(void); // func_800BA798 +void func_800BA798(GlobalContext* ctxt, ActorContext* aCtxt); // func_800BA798 void func_800BA8B8(GlobalContext* ctxt, ActorContext* actCtxt); // func_800BA8B8 void func_800BA9B4(void); // func_800BA9B4 void Actor_InsertIntoTypeList(ActorContext* actCtxt, Actor* actor, u8 type); // func_800BAAB4 @@ -876,7 +876,7 @@ void func_800BC8B8(void); // func_800BC8B8 void func_800BCB50(void); // func_800BCB50 void func_800BCB70(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5); // func_800BCB70 void func_800BCBF4(Vector3f* uParm1, GlobalContext* ctxt); // func_800BCBF4 -void func_800BCC68(void); // func_800BCC68 +void func_800BCC68(Vector3f* param_1, GlobalContext* ctxt); // func_800BCC68 void func_800BCCDC(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5); // func_800BCCDC void func_800BD2B4(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6); // func_800BD2B4 void func_800BD384(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8, UNK_TYPE1 param_9); // func_800BD384 @@ -908,24 +908,24 @@ void func_800BF9A0(s32 a0, s32 a1); // func_800BF9A0 s32 func_800BFA78(s32 param_1, s32 param_2); // func_800BFA78 void func_800BFAE8(void); // func_800BFAE8 void func_800BFB40(void); // func_800BFB40 -void func_800BFB80(void); // func_800BFB80 -void func_800BFB9C(void); // func_800BFB9C -void func_800BFBAC(void); // func_800BFBAC -void func_800BFC04(void); // func_800BFC04 -void func_800BFC5C(void); // func_800BFC5C -void func_800BFC70(void); // func_800BFC70 -void func_800BFCC0(void); // func_800BFCC0 -void func_800BFCCC(void); // func_800BFCCC -void func_800BFCFC(void); // func_800BFCFC -void func_800BFD40(void); // func_800BFD40 +void BgCheck_PolygonLinkedListNodeInit(BgPolygonLinkedListNode* node, s16* next, s16 polyIndex); // func_800BFB80 +void BgCheck_PolygonLinkedListResetHead(s16* head); // func_800BFB9C +void BgCheck_ScenePolygonListsNodeInsert(BgScenePolygonLists* list, u16* head, s32 polyIndex); // func_800BFBAC +void BgCheck_PolygonLinkedListNodeInsert(BgPolygonLinkedList* list, s16* head, s32 polyIndex); // func_800BFC04 +void BgCheck_PolygonLinkedListInit(GlobalContext* ctxt, BgPolygonLinkedList* list); // func_800BFC5C +void BgCheck_PolygonLinkedListAlloc(GlobalContext* ctxt, BgPolygonLinkedList* list, u32 numNodes); // func_800BFC70 +void BgCheck_PolygonLinkedListReset(BgPolygonLinkedList* list); // func_800BFCC0 +s16 BgCheck_AllocPolygonLinkedListNode(BgPolygonLinkedList* attributes); // func_800BFCCC +void BgCheck_CreateVec3fFromVertex(BgVertex* vertex, Vector3f* vector); // func_800BFCFC +void BgCheck_CreateVertexFromVec3f(BgVertex* vertex, Vector3f* vector); // func_800BFD40 void func_800BFD84(void); // func_800BFD84 void func_800BFDEC(void); // func_800BFDEC -void func_800BFFC4(void); // func_800BFFC4 +s32 BgCheck_PolygonGetMinY(BgPolygon* polygons, BgVertex* vertices); // func_800BFFC4 void func_800C003C(void); // func_800C003C void func_800C0094(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5); // func_800C0094 void func_800C01B8(void); // func_800C01B8 -void func_800C0220(void); // func_800C0220 -void func_800C02C0(void); // func_800C02C0 +void BgCheck_CreateColTriParamsFromPolygon(BgPolygon* polygon, BgVertex* vertices, ColTriParams* tri); // func_800C0220 +void func_800C02C0(BgPolygon* poly, s32 index, BgCheckContext* bgCtxt, ColTriParams* tri); // func_800C02C0 void func_800C0340(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6); // func_800C0340 void func_800C0474(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6); // func_800C0474 void func_800C0668(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5); // func_800C0668 @@ -933,8 +933,8 @@ void func_800C06A8(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_ void func_800C074C(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5); // func_800C074C void func_800C07F0(void); // func_800C07F0 void func_800C0AF0(void); // func_800C0AF0 -void func_800C0BC0(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5); // func_800C0BC0 -void func_800C0DE0(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5); // func_800C0DE0 +void BgCheck_ScenePolygonListsInsertSorted(BgCheckContext* bgCtxt, u16* head, BgPolygon* polygons, BgVertex* vertices, s16 index); // func_800C0BC0 +void BgCheck_ScenePolygonListsInsert(BgMeshSubdivision* subdivision, BgCheckContext* bgCtxt, BgPolygon* polygons, BgVertex* vertices, s16 index); // func_800C0DE0 void func_800C0E74(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8, UNK_TYPE4 param_9, UNK_TYPE4 param_10); // func_800C0E74 void func_800C10FC(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8, UNK_TYPE4 param_9); // func_800C10FC void func_800C1238(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE1 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8, UNK_TYPE4 param_9, UNK_TYPE4 param_10, UNK_TYPE4 param_11); // func_800C1238 @@ -947,27 +947,27 @@ void func_800C2310(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_ void func_800C2460(void); // func_800C2460 void func_800C2514(void); // func_800C2514 void func_800C25E0(void); // func_800C25E0 -void func_800C26C0(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5); // func_800C26C0 -void func_800C2864(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5); // func_800C2864 -void func_800C2A30(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8, UNK_TYPE4 param_9, UNK_TYPE2 param_10); // func_800C2A30 -void func_800C2BE0(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5); // func_800C2BE0 -void func_800C3334(void); // func_800C3334 -void func_800C3734(void); // func_800C3734 -void func_800C3778(void); // func_800C3778 -void func_800C37BC(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5); // func_800C37BC -void func_800C3844(void); // func_800C3844 -void func_800C389C(void); // func_800C389C -void func_800C3C00(void); // func_800C3C00 -void func_800C3C14(void); // func_800C3C14 -void func_800C3C2C(void); // func_800C3C2C +void BgCheck_GetPolyMinSubdivisions(BgCheckContext* bgCtxt, Vector3f* min, s32* xSubdivision, s32* ySubdivision, s32* zSubdivision); // func_800C26C0 +void BgCheck_GetPolyMaxSubdivisions(BgCheckContext* bgCtxt, Vector3f* max, s32* xSubdivision, s32* ySubdivision, s32* zSubdivision); // func_800C2864 +void BgCheck_GetPolyMinMaxSubdivisions(BgCheckContext* bgCtxt, BgVertex* vertices, BgPolygon* polygons, s32* minX, s32* minY, s32* minZ, s32* maxX, s32* maxY, s32* maxZ, s16 index); // func_800C2A30 +UNK_TYPE4 func_800C2BE0(Vector3f* param_1, Vector3f* param_2, BgPolygon* polygons, BgVertex* vertices, s16 index); // func_800C2BE0 +u32 BgCheck_SplitScenePolygonsIntoSubdivisions(BgCheckContext* bgCtxt, GlobalContext* ctxt, BgMeshSubdivision* subdivisions); // func_800C3334 +s32 BgCheck_GetIsDefaultSpecialScene(GlobalContext* ctxt); // func_800C3734 +s32 BgCheck_GetSpecialSceneMaxMemory(s32 sceneId, u32* maxMemory); // func_800C3778 +void BgCheck_CalcSubdivisionSize(f32 min, s32 subdivisions, f32* max, f32* subdivisionSize, f32* inverseSubdivisionSize); // func_800C37BC +s32 BgCheck_GetSpecialSceneMaxObjects(GlobalContext* ctxt, u32* maxNodes, u32* maxPolygons, u32* maxVertices); // func_800C3844 +void BgCheck_Init(BgCheckContext* bgCtxt, GlobalContext* ctxt, BgMeshHeader* mesh); // func_800C389C +void func_800C3C00(BgCheckContext* bgCtxt, unsigned int param_2); // func_800C3C00 +void func_800C3C14(BgCheckContext* bgCtxt, unsigned int param_2); // func_800C3C14 +BgMeshHeader* BgCheck_GetActorMeshHeader(BgCheckContext* bgCtxt, s32 index); // func_800C3C2C void func_800C3C94(void); // func_800C3C94 -void func_800C3D50(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8, UNK_TYPE4 param_9, UNK_TYPE4 param_10); // func_800C3D50 +float func_800C3D50(UNK_TYPE4 param_1, BgCheckContext* bgCtxt, unsigned int param_3, UNK_PTR param_4, UNK_PTR param_5, UNK_PTR param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8, unsigned int param_9, unsigned int param_10); // func_800C3D50 void func_800C3F40(void); // func_800C3F40 void func_800C3FA0(void); // func_800C3FA0 void func_800C4000(void); // func_800C4000 void func_800C4058(void); // func_800C4058 void func_800C40B4(void); // func_800C40B4 -void func_800C411C(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5); // func_800C411C +void func_800C411C(BgCheckContext* param_1, UNK_TYPE4 param_2, UNK_TYPE4 param_3, UNK_TYPE4 param_4, UNK_TYPE4 param_5); // func_800C411C void func_800C4188(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6); // func_800C4188 void func_800C41E4(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6); // func_800C41E4 void func_800C4240(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6); // func_800C4240 @@ -977,7 +977,7 @@ void func_800C43CC(void); // func_800C43CC void func_800C4488(void); // func_800C4488 void func_800C44F0(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5); // func_800C44F0 void func_800C455C(void); // func_800C455C -void func_800C45C4(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8, UNK_TYPE4 param_9, UNK_TYPE4 param_10, UNK_TYPE1 param_11); // func_800C45C4 +s32 func_800C45C4(BgCheckContext* bgCtxt, unsigned int param_2, Vector3f* param_3, Vector3f* param_4, Vector3f* param_5, float param_6, int* param_7, int* param_8, BgActor* param_9, float param_10, u8 param_11); // func_800C45C4 void func_800C4C74(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7); // func_800C4C74 void func_800C4CD8(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8); // func_800C4CD8 void func_800C4D3C(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8, UNK_TYPE4 param_9); // func_800C4D3C @@ -999,45 +999,46 @@ void func_800C58C8(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_ void func_800C5954(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE2 param_8); // func_800C5954 void func_800C5A20(void); // func_800C5A20 void func_800C5A64(void); // func_800C5A64 -void func_800C5AAC(void); // func_800C5AAC -void func_800C5AC4(void); // func_800C5AC4 -void func_800C5BBC(void); // func_800C5BBC -void func_800C5BD0(void); // func_800C5BD0 -void func_800C5C0C(void); // func_800C5C0C -void func_800C5C5C(void); // func_800C5C5C -void func_800C5D30(void); // func_800C5D30 -void func_800C5D70(void); // func_800C5D70 -void func_800C5D90(void); // func_800C5D90 -void func_800C5D9C(void); // func_800C5D9C -void func_800C5DA8(void); // func_800C5DA8 -void func_800C5E10(void); // func_800C5E10 -void func_800C5EC8(void); // func_800C5EC8 -void func_800C5EF0(void); // func_800C5EF0 -void func_800C5EFC(void); // func_800C5EFC -void func_800C5F38(void); // func_800C5F38 -void func_800C5F44(void); // func_800C5F44 -void func_800C5F8C(void); // func_800C5F8C -void func_800C5F9C(void); // func_800C5F9C -void func_800C5FD8(void); // func_800C5FD8 -void func_800C6024(void); // func_800C6024 -void func_800C6044(void); // func_800C6044 -void func_800C6098(void); // func_800C6098 -void func_800C6188(void); // func_800C6188 -void func_800C6248(void); // func_800C6248 -void func_800C62BC(void); // func_800C62BC -void func_800C6314(void); // func_800C6314 -void func_800C636C(void); // func_800C636C -void func_800C63C4(void); // func_800C63C4 -void func_800C641C(void); // func_800C641C -void func_800C6474(void); // func_800C6474 -void func_800C64CC(void); // func_800C64CC +void BgCheck_ScenePolygonListsInit(BgScenePolygonLists* param_1); // func_800C5AAC +void BgCheck_ScenePolygonListsAlloc(GlobalContext* ctxt, BgScenePolygonLists* lists, s32 numNodes, u32 numPolygons); // func_800C5AC4 +int func_800C5B80(unsigned short* param_1); // func_800C5B80 +u16 BgCheck_ScenePolygonListsReserveNode(BgScenePolygonLists* lists); // func_800C5BBC +void BgCheck_ActorMeshParamsInit(ActorMeshParams* params); // func_800C5BD0 +void BgCheck_SetActorMeshParams(ActorMeshParams* params, Vector3f* scale, Vector3s* rotation, Vector3f* position); // func_800C5C0C +s32 BgCheck_AreActorMeshParamsEqual(ActorMeshParams* param_1, ActorMeshParams* param_2); // func_800C5C5C +void BgCheck_ActorMeshPolyListsHeadsInit(ActorMeshPolyLists* lists); // func_800C5D30 +void BgCheck_ActorMeshPolyListsInit(ActorMeshPolyLists* lists); // func_800C5D70 +void BgCheck_ActorMeshVerticesIndexInit(s16* index); // func_800C5D90 +void BgCheck_ActorMeshWaterboxesIndexInit(s16* index); // func_800C5D9C +void BgCheck_ActorMeshInit(GlobalContext* ctxt, ActorMesh* mesh); // func_800C5DA8 +void BgCheck_ActorMeshInitFromActor(ActorMesh* actorMesh, BgActor* actor, BgMeshHeader* header); // func_800C5E10 +s32 BgCheck_HasActorMeshChanged(ActorMesh* mesh); // func_800C5EC8 +void BgCheck_PolygonsInit(BgPolygon** polygons); // func_800C5EF0 +void BgCheck_PolygonsAlloc(GlobalContext* ctxt, BgPolygon* polygons, u32 numPolygons); // func_800C5EFC +void BgCheck_VerticesInit(BgVertex** vertices); // func_800C5F38 +void BgCheck_VerticesListAlloc(GlobalContext* ctxt, BgVertex** vertices, u32 numVertices); // func_800C5F44 +void BgCheck_WaterboxListInit(BgWaterboxList* waterboxList); // func_800C5F8C +void BgCheck_WaterboxListAlloc(GlobalContext* ctxt, BgWaterboxList* waterboxList, u32 numWaterboxes); // func_800C5F9C +void BgCheck_ActorMeshUpdateParams(GlobalContext* ctxt, ActorMesh* mesh); // func_800C5FD8 +s32 BcCheck_IsActorMeshIndexValid(s32 index); // func_800C6024 +void BgCheck_DynaInit(GlobalContext* ctxt, BgDynaCollision* param_2); // func_800C6044 +void BgCheck_DynaAlloc(GlobalContext* ctxt, BgDynaCollision* dyna); // func_800C6098 +s32 BgCheck_AddActorMesh(GlobalContext* ctxt, BgDynaCollision* dyna, BgActor* actor, BgMeshHeader* header); // func_800C6188 +BgActor* BgCheck_GetActorOfMesh(BgCheckContext* bgCtxt, s32 index); // func_800C6248 +void func_800C62BC(GlobalContext* ctxt, BgDynaCollision* dyna, s32 index); // func_800C62BC +void func_800C6314(GlobalContext* ctxt, BgDynaCollision* dyna, s32 index); // func_800C6314 +void func_800C636C(GlobalContext* ctxt, BgDynaCollision* dyna, s32 index); // func_800C636C +void func_800C63C4(GlobalContext* ctxt, BgDynaCollision* dyna, s32 index); // func_800C63C4 +void func_800C641C(GlobalContext* ctxt, BgDynaCollision* dyna, s32 index); // func_800C641C +void func_800C6474(GlobalContext* ctxt, BgDynaCollision* dyna, s32 index); // func_800C6474 +void func_800C64CC(GlobalContext* ctxt, BgDynaCollision* dyna, s32 index); // func_800C64CC void func_800C6554(void); // func_800C6554 -void func_800C656C(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6); // func_800C656C -void func_800C6838(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6); // func_800C6838 -void func_800C734C(void); // func_800C734C -void func_800C73E4(void); // func_800C73E4 +void BgCheck_CalcWaterboxDimensions(Vector3f* minPos, Vector3f* maxXPos, Vector3f* maxZPos, Vector3s* minPosOut, s16* xLength, s16* zLength); // func_800C656C +void func_800C6838(GlobalContext* ctxt, BgDynaCollision* dyna, s32 index, s32* currVertices, s32* currPolygons, s32* currWaterboxes); // func_800C6838 +void func_800C734C(GlobalContext* ctxt, BgDynaCollision* param_2, int param_3); // func_800C734C +void func_800C73E4(GlobalContext* ctxt, BgDynaCollision* dyna); // func_800C73E4 void func_800C756C(s32 param_1, s32* param_2, s32* param_3, s32* param_4); // func_800C756C -void func_800C765C(void); // func_800C765C +void BgCheck_UpdateAllActorMeshes(GlobalContext* ctxt, BgDynaCollision* dyna); // func_800C765C void func_800C76EC(void); // func_800C76EC void func_800C7974(void); // func_800C7974 void func_800C7E40(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8, UNK_TYPE4 param_9, UNK_TYPE4 param_10, UNK_TYPE4 param_11, UNK_TYPE4 param_12); // func_800C7E40 @@ -1050,44 +1051,44 @@ void func_800C8EEC(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_ void func_800C90AC(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7); // func_800C90AC void func_800C921C(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE2 param_7, UNK_TYPE4 param_8); // func_800C921C void func_800C9380(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE2 param_8); // func_800C9380 -void func_800C94E0(void); // func_800C94E0 -void func_800C9564(void); // func_800C9564 -void func_800C9598(void); // func_800C9598 +void BgCheck_RelocateMeshHeaderPointers(BgMeshHeader* header); // func_800C94E0 +void BgCheck_RelocateMeshHeader(u32 meshSegPtr, BgMeshHeader** param_2); // func_800C9564 +void BgCheck_RelocateAllMeshHeaders(BgCheckContext* bgCtxt, GlobalContext* ctxt); // func_800C9598 void func_800C9640(void); // func_800C9640 -void func_800C9694(void); // func_800C9694 -void func_800C9704(void); // func_800C9704 +u32 BgCheck_GetPolygonAttributes(BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index, s32 attributeIndex); // func_800C9694 +u32 func_800C9704(BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index); // func_800C9704 void func_800C9728(void); // func_800C9728 -void func_800C9770(void); // func_800C9770 +UNK_TYPE4 func_800C9770(BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index); // func_800C9770 void func_800C97F8(void); // func_800C97F8 -void func_800C9844(void); // func_800C9844 +UNK_TYPE4 func_800C9844(BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index); // func_800C9844 void func_800C98CC(void); // func_800C98CC -void func_800C9924(void); // func_800C9924 -void func_800C99AC(void); // func_800C99AC -void func_800C99D4(void); // func_800C99D4 -void func_800C99FC(void); // func_800C99FC -void func_800C9A24(void); // func_800C9A24 -void func_800C9A4C(void); // func_800C9A4C -void func_800C9A7C(void); // func_800C9A7C -void func_800C9AB0(void); // func_800C9AB0 -void func_800C9AE4(void); // func_800C9AE4 -void func_800C9B18(void); // func_800C9B18 -void func_800C9B40(void); // func_800C9B40 -void func_800C9B68(void); // func_800C9B68 -void func_800C9B90(void); // func_800C9B90 -void func_800C9BB8(void); // func_800C9BB8 -void func_800C9BDC(void); // func_800C9BDC -void func_800C9C24(void); // func_800C9C24 -void func_800C9C74(void); // func_800C9C74 -void func_800C9C9C(void); // func_800C9C9C -void func_800C9CC4(void); // func_800C9CC4 +UNK_TYPE4 func_800C9924(BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index); // func_800C9924 +u32 func_800C99AC(BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index); // func_800C99AC +u32 func_800C99D4(BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index); // func_800C99D4 +u32 func_800C99FC(BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index); // func_800C99FC +u32 func_800C9A24(BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index); // func_800C9A24 +u32 func_800C9A4C(BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index); // func_800C9A4C +u32 func_800C9A7C(BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index); // func_800C9A7C +u32 func_800C9AB0(BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index); // func_800C9AB0 +u32 func_800C9AE4(BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index); // func_800C9AE4 +u32 func_800C9B18(BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index); // func_800C9B18 +u32 func_800C9B40(BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index); // func_800C9B40 +u32 func_800C9B68(BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index); // func_800C9B68 +u32 func_800C9B90(BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index); // func_800C9B90 +u32 func_800C9BB8(BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index); // func_800C9BB8 +u32 func_800C9BDC(BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index); // func_800C9BDC +u32 func_800C9C24(BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index, UNK_TYPE4 param_4); // func_800C9C24 +u32 func_800C9C74(BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index); // func_800C9C74 +u32 func_800C9C9C(BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index); // func_800C9C9C +u32 func_800C9CC4(BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index); // func_800C9CC4 void func_800C9CEC(void); // func_800C9CEC void func_800C9D14(void); // func_800C9D14 void func_800C9D50(void); // func_800C9D50 void func_800C9D8C(void); // func_800C9D8C void func_800C9DDC(void); // func_800C9DDC -void func_800C9E18(void); // func_800C9E18 -void func_800C9E40(void); // func_800C9E40 -void func_800C9E88(void); // func_800C9E88 +u32 func_800C9E18(BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index); // func_800C9E18 +u32 func_800C9E40(BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index); // func_800C9E40 +u32 func_800C9E88(BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index); // func_800C9E88 void func_800C9EBC(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7); // func_800C9EBC void func_800CA1AC(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6); // func_800CA1AC void func_800CA1E8(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6); // func_800CA1E8 @@ -1104,7 +1105,7 @@ void func_800CAAD0(int iParm1, int iParm2, int iParm3); // func_800CAAD0 void func_800CAC0C(void); // func_800CAC0C void func_800CACA0(void); // func_800CACA0 void func_800CAD2C(void); // func_800CAD2C -void func_800CAE10(void); // func_800CAE10 +void BcCheck_BgActorInit(BgActor* actor, UNK_TYPE4 param_2); // func_800CAE10 void func_800CAE34(void); // func_800CAE34 void func_800CAE7C(void); // func_800CAE7C void func_800CAE88(void); // func_800CAE88 @@ -1264,10 +1265,10 @@ void func_800DD13C(void); // func_800DD13C void func_800DD5B8(void); // func_800DD5B8 void func_800DDD58(void); // func_800DDD58 void func_800DDDA8(void); // func_800DDDA8 -void func_800DDDD0(GlobalContext220* iParm1, View* uParm2, UNK_TYPE4 uParm3, GlobalContext* uParm4); // func_800DDDD0 +void func_800DDDD0(Camera* iParm1, View* uParm2, UNK_TYPE4 uParm3, GlobalContext* uParm4); // func_800DDDD0 void func_800DDFE0(void); // func_800DDFE0 void func_800DE0EC(void); // func_800DE0EC -s32 func_800DE308(GlobalContext220* iParm1, UNK_TYPE2 uParm2); // func_800DE308 +s32 func_800DE308(Camera* iParm1, UNK_TYPE2 uParm2); // func_800DE308 void func_800DE324(void); // func_800DE324 void func_800DE62C(void); // func_800DE62C void func_800DE840(void); // func_800DE840 @@ -1290,10 +1291,10 @@ void func_800DFCDC(void); // func_800DFCDC void func_800DFD04(void); // func_800DFD04 void func_800DFD78(void); // func_800DFD78 UNK_TYPE4 func_800DFEF0(s32 param_1, u16 param_2); // func_800DFEF0 -UNK_TYPE4 func_800DFF18(GlobalContext220* iParm1, UNK_TYPE2 uParm2); // func_800DFF18 +UNK_TYPE4 func_800DFF18(Camera* iParm1, UNK_TYPE2 uParm2); // func_800DFF18 UNK_TYPE4 func_800DFF34(s32 param_1); // func_800DFF34 UNK_TYPE4 func_800DFF44(void); // func_800DFF44 -s32 func_800DFF60(GlobalContext220* iParm1, u16 uParm2); // func_800DFF60 +s32 func_800DFF60(Camera* iParm1, u16 uParm2); // func_800DFF60 void func_800DFF84(void); // func_800DFF84 void func_800DFFAC(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7); // func_800DFFAC void func_800E007C(void); // func_800E007C @@ -1308,39 +1309,39 @@ void func_800E031C(void); // func_800E031C void func_800E0348(void); // func_800E0348 s800E03A0* func_800E03A0(s32 a0); // func_800E03A0 void func_800E03CC(u8* param_1); // func_800E03CC -void func_800E0410(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5); // func_800E0410 +f32 Collision_GetDamageAndEffectOnBumper(ColCommon* toucher, ColBodyInfo* toucherBody, ColCommon* bumper, ColBodyInfo* bumperBody, u32* effect); // func_800E0410 void func_800E04BC(void); // func_800E04BC -u32 func_800E04EC(ColCommon* ppsParm1, ColBodyInfo* iParm2, ColCommon* ppsParm3); // func_800E04EC +u32 Collision_GetToucherDamage(ColCommon* toucher, ColBodyInfo* toucherBody, ColCommon* bumper); // func_800E04EC s32 Collision_InitCommonDefault(GlobalContext* ctxt, ColCommon* shape); // func_800E0538 s32 Collision_FiniCommon(GlobalContext* ctxt, ColCommon* shape); // func_800E0580 void func_800E0594(void); // func_800E0594 void func_800E05D4(void); // func_800E05D4 s32 Collision_InitCommonWithData(GlobalContext* ctxt, ColCommon* shape, Actor* actor, ColCommonInit* init); // func_800E0618 -void func_800E065C(void); // func_800E065C -void func_800E0678(void); // func_800E0678 -void func_800E0694(void); // func_800E0694 +void Collision_ResetCommonForAT(GlobalContext* ctxt, ColCommon* shape); // func_800E065C +void Collision_ResetCommonForAC(GlobalContext* ctxt, ColCommon* shape); // func_800E0678 +void Collision_ResetCommonForOT(GlobalContext* ctxt, ColCommon* shape); // func_800E0694 s32 Collision_InitTouchDefault(GlobalContext* ctxt, ColTouch* touch); // func_800E06BC s32 Collision_FiniTouch(GlobalContext* ctxt, ColTouch* touch); // func_800E06E4 s32 Collision_InitTouchWithData(GlobalContext* ctxt, ColTouch* touch, ColTouchInit* init); // func_800E06F8 -void func_800E0720(void); // func_800E0720 +void Collision_nop800E0720(GlobalContext* ctxt, ColBodyInfo* body); // func_800E0720 s32 Collision_InitBumpDefault(GlobalContext* ctxt, ColBump* bump); // func_800E0730 s32 Collision_FiniBump(GlobalContext* ctxt, ColBump* bump); // func_800E0760 s32 Collision_InitBumpWithData(GlobalContext* ctxt, ColBump* bump, ColBumpInit* init); // func_800E0774 s32 Collision_InitBodyDefault(GlobalContext* ctxt, ColBodyInfo* body); // func_800E079C s32 Collision_FiniBody(GlobalContext* ctxt, ColBodyInfo* body); // func_800E081C s32 Collision_InitBodyWithData(GlobalContext* ctxt, ColBodyInfo* body, ColBodyInfoInit* init); // func_800E085C -void func_800E08D4(void); // func_800E08D4 -void func_800E090C(void); // func_800E090C -void func_800E0944(void); // func_800E0944 +void Collision_ResetBodyForAT(GlobalContext* ctxt, ColBodyInfo* body); // func_800E08D4 +void Collision_ResetBodyForAC(GlobalContext* ctxt, ColBodyInfo* body); // func_800E090C +void Collision_ResetBodyForOT(GlobalContext* ctxt, ColBodyInfo* body); // func_800E0944 s32 Collision_InitSphereParamsDefault(GlobalContext* ctxt, ColSphereParams* params); // func_800E095C s32 Collision_FiniSphereParams(GlobalContext* ctxt, ColSphereParams* params); // func_800E09A4 s32 Collision_InitSphereParamsWithData(GlobalContext* ctxt, ColSphereParams* params, ColSphereParamsInit* init); // func_800E09B8 s32 Collision_InitSphereGroupElemDefault(GlobalContext* pzParm1, ColSphereGroupElement* elem); // func_800E0A10 s32 Collision_FiniSphereGroupElem(GlobalContext* ctxt, ColSphereGroupElement* elem); // func_800E0A50 s32 Collision_InitSphereGroupElemWithData(GlobalContext* ctxt, ColSphereGroupElement* elem, ColSphereGroupElementInit* init); // func_800E0A90 -void func_800E0AE0(void); // func_800E0AE0 -void func_800E0B04(void); // func_800E0B04 -void func_800E0B28(void); // func_800E0B28 +s32 Collision_ResetSphereGroupElemForAT(GlobalContext* ctxt, ColSphereGroupElement* elem); // func_800E0AE0 +s32 Collision_ResetSphereGroupElemForAC(GlobalContext* ctxt, ColSphereGroupElement* elem); // func_800E0B04 +s32 Collision_ResetSphereGroupElemForOT(GlobalContext* ctxt, ColSphereGroupElement* elem); // func_800E0B28 s32 Collision_InitSphereGroupDefault(GlobalContext* ctxt, ColSphereGroup* sphereGroup); // func_800E0B4C void func_800E0B78(void); // func_800E0B78 s32 Collision_FiniSphereGroup(GlobalContext* ctxt, ColSphereGroup* sphereGroup); // func_800E0C18 @@ -1348,9 +1349,9 @@ void func_800E0CA8(void); // func_800E0CA8 void func_800E0D84(void); // func_800E0D84 s32 Collision_InitSphereGroupWithData(GlobalContext* ctxt, ColSphereGroup* sphereGroup, Actor* actor, ColSphereGroupInit* init, ColSphereGroupElement* spheres); // func_800E0E60 s32 Collision_InitSphereGroup(GlobalContext* ctxt, ColSphereGroup* sphereGroup, Actor* actor, ColSphereGroupInit* init, ColSphereGroupElement* spheres); // func_800E0F14 -void func_800E0F68(void); // func_800E0F68 -void func_800E0FF4(void); // func_800E0FF4 -void func_800E1080(void); // func_800E1080 +s32 Collision_ResetSphereGroupForAT(GlobalContext* ctxt, ColSphereGroup* spheres); // func_800E0F68 +s32 Collision_ResetSphereGroupForAC(GlobalContext* ctxt, ColSphereGroup* spheres); // func_800E0FF4 +s32 Collision_ResetSphereGroupForOT(GlobalContext* ctst, ColSphereGroup* spheres); // func_800E1080 s32 Collision_InitCylinderParamsDefault(GlobalContext* ctxt, ColCylinderParams* params); // func_800E110C s32 Collision_FiniCylinderParams(GlobalContext* ctxt, ColCylinderParams* params); // func_800E1148 s32 Collision_InitCylinderParamsWithData(GlobalContext* ctxt, ColCylinderParams* info, ColCylinderParams* init); // func_800E115C @@ -1360,30 +1361,30 @@ void func_800E123C(void); // func_800E123C void func_800E12A4(void); // func_800E12A4 s32 Collision_InitCylinderWithData(GlobalContext* ctxt, ColCylinder* cylinder, Actor* actor, ColCylinderInit* init); // func_800E130C s32 Collision_InitCylinder(GlobalContext* ctxt, ColCylinder* cylinder, Actor* actor, ColCylinderInit* init); // func_800E1374 -void func_800E13C0(void); // func_800E13C0 -void func_800E1400(void); // func_800E1400 -void func_800E1440(void); // func_800E1440 +s32 Collision_ResetCylinderForAT(GlobalContext* ctxt, ColCylinder* cylinder); // func_800E13C0 +s32 Collision_ResetCylinderForAC(GlobalContext* ctxt, ColCylinder* cylinder); // func_800E1400 +s32 Collision_ReseCylinderForOT(GlobalContext* ctxt, ColCylinder* cylinder); // func_800E1440 s32 Collision_InitTriParamsDefault(GlobalContext* ctxt, ColTriParams* coords); // func_800E1480 s32 Collision_FiniTriParams(GlobalContext* ctxt, ColTriParams* params); // func_800E14CC s32 Collision_InitTriParamsWithData(GlobalContext* ctxt, ColTriParams* params, ColTriParamsInit* init); // func_800E14E0 s32 Collision_InitTriDefault(GlobalContext* ctxt, ColTri* elem); // func_800E1594 s32 Collision_FiniTri(GlobalContext* ctxt, ColTri* elem); // func_800E15D4 s32 Collision_InitTriWithData(GlobalContext* ctxt, ColTri* elem, ColTriInit* init); // func_800E1614 -void func_800E1664(void); // func_800E1664 -void func_800E1688(void); // func_800E1688 -void func_800E16AC(void); // func_800E16AC +s32 Collision_ResetTriForAT(GlobalContext* ctxt, ColTri* tri); // func_800E1664 +s32 Collision_ResetTriForAC(GlobalContext* ctxt, ColTri* tri); // func_800E1688 +s32 func_800E16AC(GlobalContext* ctxt, ColTri* tri); // func_800E16AC s32 Collision_InitTriGroupDefault(GlobalContext* ctxt, ColTriGroup* quadGroup); // func_800E16D0 void func_800E16FC(void); // func_800E16FC s32 Collision_FiniTriGroup(GlobalContext* ctxt, ColTriGroup* triGroup); // func_800E17B4 void func_800E1858(void); // func_800E1858 s32 Collision_InitTriGroupWithData(GlobalContext* ctxt, ColTriGroup* triGroup, Actor* actor, ColTriGroupInit* init, ColTri* tris); // func_800E1958 s32 Collision_InitTriGroup(GlobalContext* ctxt, ColTriGroup* triGroup, Actor* actor, ColTriGroupInit* init, ColTri* tris); // func_800E1A24 -void func_800E1A78(void); // func_800E1A78 -void func_800E1B18(void); // func_800E1B18 -void func_800E1BB8(void); // func_800E1BB8 +s32 Collision_ResetTriGroupForAT(GlobalContext* ctxt, ColTriGroup* tris); // func_800E1A78 +s32 Collision_ResetTriGroupForAC(GlobalContext* ctxt, ColTriGroup* tris); // func_800E1B18 +s32 Collision_ResetTriGroupForOT(GlobalContext* ctxt, ColTriGroup* tris); // func_800E1BB8 s32 Collision_InitQuadParamsDefault(GlobalContext* ctxt, ColQuadParams* params); // func_800E1C58 s32 Collision_FiniQuadParams(GlobalContext* ctxt, ColQuadParams* params); // func_800E1CA4 -void func_800E1CB8(void); // func_800E1CB8 +s32 Collision_ResetQuadParamsForAT(GlobalContext* ctxt, ColQuadParams* params); // func_800E1CB8 void Collision_QuadCalcMidpoints(ColQuadParams* params); // func_800E1CD4 s32 Collision_InitQuadParamsWithData(GlobalContext* ctxt, ColQuadParams* params, ColQuadParams* init); // func_800E1D90 s32 Collision_InitQuadDefault(GlobalContext* ctxt, ColQuad* quad); // func_800E1E18 @@ -1391,22 +1392,22 @@ s32 Collision_FiniQuad(GlobalContext* ctxt, ColQuad* quad); // func_800E1E68 void func_800E1EB8(void); // func_800E1EB8 s32 Collision_InitQuadWithData(GlobalContext* ctxt, ColQuad* quad, Actor* actor, ColQuadInit* init); // func_800E1F20 s32 Collision_InitQuad(GlobalContext* ctxt, ColQuad* quad, Actor* actor, ColQuadInit* init); // func_800E1F88 -void func_800E1FD4(void); // func_800E1FD4 -void func_800E2024(void); // func_800E2024 -void func_800E2064(void); // func_800E2064 +s32 Collision_ResetQuadForAT(GlobalContext* ctxt, ColQuad* quad); // func_800E1FD4 +s32 Collision_ResetQuadForAC(GlobalContext* param_1, ColQuad* quad); // func_800E2024 +s32 Collision_ResetQuadForOT(GlobalContext* ctxt, ColCommon* quad); // func_800E2064 void func_800E20A4(void); // func_800E20A4 s32 Collision_InitSphereDefault(GlobalContext* ctxt, ColSphere* sphere); // func_800E2154 s32 Collision_FiniSphere(GlobalContext* pzParm1, ColSphere* sphere); // func_800E21A4 s32 Collision_InitSphereWithData(GlobalContext* ctxt, ColSphere* sphere, Actor* actor, ColSphereInit* info); // func_800E21F4 s32 Collision_InitSphere(GlobalContext* ctxt, ColSphere* sphere, Actor* actor, ColSphereInit* init); // func_800E225C -void func_800E22A8(void); // func_800E22A8 -void func_800E22E8(void); // func_800E22E8 -void func_800E2328(void); // func_800E2328 +s32 Collision_ResetSphereForAT(GlobalContext* ctxt, ColSphere* sphere); // func_800E22A8 +s32 Collision_ResetSphereForAC(GlobalContext* ctxt, ColSphere* sphere); // func_800E22E8 +s32 Collision_ResetSphereForOT(GlobalContext* ctxt, ColSphere* sphere); // func_800E2328 void func_800E2368(void); // func_800E2368 UNK_TYPE4 func_800E23B0(void); // func_800E23B0 void func_800E23C4(void); // func_800E23C4 void func_800E2408(void); // func_800E2408 -void func_800E2434(void); // func_800E2434 +s32 func_800E2434(GlobalContext* ctxt, int param_2); // func_800E2434 void Collision_Init(GlobalContext* ctxt, CollisionContext* colCtxt); // func_800E2450 void Collision_Fini(GlobalContext* ctxt, CollisionContext* colCtxt); // func_800E2470 void Collision_Reset(GlobalContext* ctxt, CollisionContext* colCtxt); // func_800E2480 @@ -1430,9 +1431,9 @@ void func_800E2F30(void); // func_800E2F30 void func_800E2F54(void); // func_800E2F54 void func_800E2F78(void); // func_800E2F78 void func_800E30C8(void); // func_800E30C8 -void func_800E3168(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6); // func_800E3168 -void func_800E3304(void); // func_800E3304 -s32 func_800E3324(GlobalContext* ctxt, ColCommon* toucher, ColBodyInfo* toucherBody, Vector3f* toucherLoc, ColCommon* bumpee, ColBodyInfo* bumpeeBody, Vector3f* bumpeeLoc, Vector3f* param_8); // func_800E3324 +void func_800E3168(GlobalContext* ctxt, ColCommon* toucher, ColBodyInfo* toucherBody, ColCommon* bumper, ColBodyInfo* bumperBody, Vector3f* param_6); // func_800E3168 +void func_800E3304(ColCommon* toucher, ColCommon* bumper); // func_800E3304 +s32 Collision_HandleCollisionATWithAC(GlobalContext* ctxt, ColCommon* toucher, ColBodyInfo* toucherBody, Vector3f* toucherLoc, ColCommon* bumper, ColBodyInfo* bumperBody, Vector3f* bumperLoc, Vector3f* param_8); // func_800E3324 void Collision_TriCalcAvgPoint(ColTri* tri, Vector3f* avg); // func_800E35C8 void collision_quad_cal_avg_point(ColQuadParams* quad, Vector3f* avg); // func_800E362C void Collision_SphereGroupWithSphereGroupAC(GlobalContext* ctxt, CollisionContext* colCtxt, ColSphereGroup* toucher, ColSphereGroup* bumpee); // func_800E36AC @@ -1467,9 +1468,9 @@ void func_800E6320(void); // func_800E6320 void func_800E63B8(GlobalContext* ctxt, CollisionContext* colCtxt, ColSphere* sphere); // func_800E63B8 void func_800E6450(GlobalContext* ctxt, CollisionContext* colCtxt); // func_800E6450 void Collision_CollideWithAC(GlobalContext* ctxt, CollisionContext* colCtxt, ColCommon* colObj); // func_800E6524 -void Collision_HandleATWithAC(GlobalContext* ctxt, CollisionContext* colCtxt); // func_800E6654 +void Collision_DoATWithAC(GlobalContext* ctxt, CollisionContext* colCtxt); // func_800E6654 void func_800E6724(void); // func_800E6724 -void func_800E6760(GlobalContext* ctxt, ColCommon* toucher, ColBodyInfo* toucherBody, Vector3f* toucherLoc, ColCommon* bumpee, ColBodyInfo* bumpeeBody, Vector3f* bumpeeLoc, f32 param_8); // func_800E6760 +void Collision_HandleCollisionOTWithOT(GlobalContext* ctxt, ColCommon* toucher, ColBodyInfo* toucherBody, Vector3f* toucherLoc, ColCommon* bumper, ColBodyInfo* bumperBody, Vector3f* bumperLoc, f32 param_8); // func_800E6760 void Collision_SphereGroupWithSphereGroupOT(GlobalContext* ctxt, CollisionContext* colCtxt, ColSphereGroup* toucher, ColSphereGroup* bumpee); // func_800E6A9C void Collision_SphereGroupWithCylinderOT(GlobalContext* ctxt, CollisionContext* colCtxt, ColSphereGroup* toucher, ColCylinder* bumpee); // func_800E6C84 void Collision_SphereGroupWithSphereOT(GlobalContext* ctxt, CollisionContext* colCtxt, ColSphereGroup* toucher, ColSphere* bumpee); // func_800E6DF4 @@ -1481,8 +1482,8 @@ void Collision_SphereWithCylinderOT(GlobalContext* ctxt, CollisionContext* colCt void Collision_SphereWithSphereOT(GlobalContext* ctxt, CollisionContext* colCtxt, ColSphere* toucher, ColSphere* bumpee); // func_800E7188 UNK_TYPE4 func_800E7264(ColCommon* iParm1); // func_800E7264 UNK_TYPE4 func_800E7288(ColCommon* piParm1, ColCommon* piParm2); // func_800E7288 -void Collision_HandleOTWithOT(GlobalContext* ctxt, CollisionContext* colCtxt); // func_800E7308 -void func_800E7494(void); // func_800E7494 +void Collision_DoOTWithOT(GlobalContext* ctxt, CollisionContext* colCtxt); // func_800E7308 +void func_800E7494(ActorA0* param_1); // func_800E7494 void func_800E74DC(void); // func_800E74DC void func_800E7508(s32 param_1, UNK_PTR param_2); // func_800E7508 void func_800E7530(ActorA0* param_1, ActorDamageChart* param_2, UNK_PTR param_3); // func_800E7530 @@ -1614,13 +1615,13 @@ void func_800EF984(GlobalContext* ctxt, s16 index); // func_800EF984 void func_800EFAB8(GlobalContext* ctxt, s16 index); // func_800EFAB8 void func_800EFBFC(GlobalContext* ctxt, s16 index); // func_800EFBFC void func_800EFD44(GlobalContext* ctxt, s16 index); // func_800EFD44 -void func_800EFE60(GlobalContext* ctxt); // func_800EFE60 -void func_800EFF04(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE2 param_6, UNK_TYPE1 param_7, UNK_TYPE1 param_8, UNK_TYPE1 param_9, UNK_TYPE2 param_10, UNK_TYPE2 param_11, UNK_TYPE2 param_12); // func_800EFF04 -void func_800F00BC(GlobalContext* ctxt); // func_800F00BC -void func_800F01C8(void); // func_800F01C8 +void EffFootmark_Init(GlobalContext* ctxt); // func_800EFE60 +void EffFootmark_Add(GlobalContext* ctxt, z_Matrix* displayMatrix, Actor* actor, char id, Vector3f* location, u16 size, u8 red, u8 green, u8 blue, u16 alpha, u16 alphaChange, u16 fadeoutDelay); // func_800EFF04 +void EffFootmark_Update(GlobalContext* ctxt); // func_800F00BC +void EffFootmark_Draw(GlobalContext* ctxt); // func_800F01C8 void func_800F0390(GlobalContext* ctxt); // func_800F0390 -void func_800F03C0(void); // func_800F03C0 -void func_800F048C(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5); // func_800F048C +void func_800F03C0(GlobalContext* ctxt); // func_800F03C0 +void func_800F048C(GlobalContext* ctxt, Vector3f* param_2, u8 param_3, u16 param_4, u8 param_5); // func_800F048C void func_800F0568(void); // func_800F0568 void func_800F0590(void); // func_800F0590 void func_800F05C0(void); // func_800F05C0 @@ -1642,6 +1643,7 @@ void func_800F112C(void); // func_800F112C void func_800F1250(void); // func_800F1250 void func_800F12D0(GlobalContext* ctxt); // func_800F12D0 void func_800F1304(void); // func_800F1304 +void func_800F1374(int param_1, short param_2); // func_800F1374 void func_800F13E8(void); // func_800F13E8 void func_800F1460(void); // func_800F1460 void func_800F14F8(void); // func_800F14F8 @@ -1677,19 +1679,19 @@ void func_800F26F0(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_ void func_800F2728(void); // func_800F2728 void func_800F29A0(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7); // func_800F29A0 void func_800F2CD8(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7); // func_800F2CD8 -void func_800F2D30(void); // func_800F2D30 -void func_800F2E48(void); // func_800F2E48 -void func_800F2EAC(void); // func_800F2EAC -void func_800F2ECC(void); // func_800F2ECC -void func_800F2FFC(void); // func_800F2FFC -void func_800F31EC(void); // func_800F31EC -void func_800F33F4(void); // func_800F33F4 -void func_800F34C4(void); // func_800F34C4 -void func_800F34EC(void); // func_800F34EC -void func_800F36CC(void); // func_800F36CC -void func_800F37B0(void); // func_800F37B0 -void func_800F37F0(void); // func_800F37F0 -void func_800F3820(void); // func_800F3820 +void FireObj_InitWithParams(GlobalContext* ctxt, FireObj* fire, FireObjInitParams* init); // func_800F2D30 +void FireObj_SetState(FireObj* fire, f32 dynamicSizeStep, u8 newState); // func_800F2E48 +void FireObj_SetPosition(FireObj* fire, Vector3f* pos); // func_800F2EAC +void FireObj_StepSize(FireObj* fire); // func_800F2ECC +void FireObj_UpdateStateTransitions(GlobalContext* ctxt, FireObj* fire); // func_800F2FFC +void FireObj_Draw(GlobalContext* ctxt, FireObj* fire); // func_800F31EC +void FireObj_InitLight(GlobalContext* ctxt, FireObjLight* light, u8* param_3, Vector3f* pos); // func_800F33F4 +void FireObj_FiniLight(GlobalContext* ctxt, FireObjLight* light); // func_800F34C4 +void FireObj_UpdateLight(GlobalContext* ctxt, FireObjLight* light, FireObj* fire); // func_800F34EC +void FireObj_Init(GlobalContext* ctxt, FireObj* fire, FireObjInitParams* init, Actor* actor); // func_800F36CC +void FireObj_Fini(GlobalContext* ctxt, FireObj* fire); // func_800F37B0 +void FireObj_SetState2(FireObj* fire, f32 dynamicSizeStep, u8 newState); // func_800F37F0 +void FireObj_Update(GlobalContext* ctxt, FireObj* fire); // func_800F3820 void func_800F3940(void); // func_800F3940 void func_800F39B4(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5); // func_800F39B4 void func_800F3A64(void); // func_800F3A64 @@ -1697,22 +1699,22 @@ void func_800F3B2C(void); // func_800F3B2C void func_800F3B68(void); // func_800F3B68 void func_800F3C44(void); // func_800F3C44 void func_800F3ED4(void); // func_800F3ED4 -void func_800F40A0(void); // func_800F40A0 +void func_800F40A0(GlobalContext* ctxt, int param_2); // func_800F40A0 void func_800F415C(void); // func_800F415C void func_800F41E4(void); // func_800F41E4 void func_800F42A0(void); // func_800F42A0 void func_800F43BC(void); // func_800F43BC void func_800F44F4(void); // func_800F44F4 void func_800F4540(void); // func_800F4540 -void func_800F470C(void); // func_800F470C -void func_800F4A10(void); // func_800F4A10 -void func_800F4C0C(void); // func_800F4C0C +s32 func_800F470C(UNK_TYPE4 param_1, UNK_TYPE4 param_2, int param_3, unsigned int param_4); // func_800F470C +void func_800F4A10(GlobalContext* ctxt); // func_800F4A10 +void func_800F4C0C(GlobalContext* ctxt); // func_800F4C0C void func_800F4E20(GlobalContext* ctxt); // func_800F4E20 -void func_800F4F28(void); // func_800F4F28 +void func_800F4F28(GlobalContext* ctxt); // func_800F4F28 void Kanfont_Nop800F4F40(void); // func_800F4F40 void Kanfont_LoadAsciiChar(GlobalContext* ctxt, s8 character, s32 iParm3); // func_800F4F54 -void Kanfont_LoadMessageBoxEnd(GlobalContext4A70* iParm1, u32 type); // func_800F4FC0 -void Kanfont_LoadOrderedFont(GlobalContext4A70* param_1); // func_800F5004 +void Kanfont_LoadMessageBoxEnd(Font* font, u32 type); // func_800F4FC0 +void Kanfont_LoadOrderedFont(Font* font); // func_800F5004 void func_800F5090(void); // func_800F5090 void func_800F50D4(void); // func_800F50D4 void Kankyo_Init(GlobalContext* ctxt, KankyoContext* kanCtxt); // func_800F510C @@ -1762,9 +1764,9 @@ void func_800FD59C(GlobalContext* ctxt, RGB* pzParm2, f32 fParm3); // func_800FD void func_800FD5E0(GlobalContext* ctxt, RGB* pzParm2, f32 fParm3); // func_800FD5E0 void func_800FD654(GlobalContext* ctxt, RGB* pzParm2, f32 fParm3); // func_800FD654 void func_800FD698(void); // func_800FD698 -UNK_TYPE4 func_800FD720(void); // func_800FD720 -void func_800FD730(void); // func_800FD730 -UNK_TYPE4 func_800FD740(void); // func_800FD740 +u32 get_days_elapsed(void); // func_800FD720 +void reset_days_elapsed(void); // func_800FD730 +u32 get_current_day(void); // func_800FD740 void func_800FD750(void); // func_800FD750 void func_800FD768(void); // func_800FD768 void func_800FD78C(void); // func_800FD78C @@ -1851,7 +1853,7 @@ void Lib_ScaleMax_f(f32* start, f32 target, f32 scale, f32 maxStep); // func_800 void Lib_Scale_f(f32* start, f32 scale, f32 maxStep); // func_800FFE68 s32 Lib_ScaleMaxMin_s(s16* start, s16 target, s16 scale, s16 maxStep, s16 minStep); // func_800FFEBC void Lib_ScaleMax_s(s16* start, s16 target, s16 scale, s16 maxStep); // func_800FFFD8 -void Lib_CopyColor(Color* dst, Color* src); // func_8010007C +void Lib_CopyColor(ColorRGBA8* dst, ColorRGBA8* src); // func_8010007C void func_801000A4(u16 param_1); // func_801000A4 void func_801000CC(u16 param_1); // func_801000CC void func_801000F4(UNK_TYPE4 param_1, u16 param_2); // func_801000F4 @@ -1859,18 +1861,18 @@ void Lib_TranslateAndRotateYVec3f(Vector3f* translation, s16 rotation, Vector3f* void Lib_LerpRGB(RGB* a, RGB* b, f32 t, RGB* dst); // func_801001B8 f32 Lib_PushAwayVec3f(Vector3f* start, Vector3f* pusher, f32 distanceToApproach); // func_80100448 void Lib_Nop801004FC(void); // func_801004FC -u32 Lib_PtrSegToPhys(u32 ptr); // func_80100504 -u32 Lib_PtrSegToPhysNull(u32 ptr); // func_8010053C +u32 Lib_PtrSegToVirt(u32 ptr); // func_80100504 +u32 Lib_PtrSegToVirtNull(u32 ptr); // func_8010053C u32 Lib_PtrSegToK0(u32 ptr); // func_80100584 u32 Lib_PtrSegToK0Null(u32 ptr); // func_801005A0 -void func_801005C0(GlobalContext* ctxt); // func_801005C0 -void func_8010069C(GlobalContext* ctxt); // func_8010069C +void LifeMeter_Init(GlobalContext* ctxt); // func_801005C0 +void LifeMeter_UpdateColors(GlobalContext* ctxt); // func_8010069C UNK_TYPE4 func_80100A80(GlobalContext* ctxt); // func_80100A80 UNK_TYPE4 func_80100AA0(GlobalContext* ctxt); // func_80100AA0 UNK_TYPE4 func_80100AF0(GlobalContext* ctxt); // func_80100AF0 -void func_80100B8C(GlobalContext* ctxt); // func_80100B8C -void func_80101844(GlobalContext* ctxt); // func_80101844 -void func_80101930(void); // func_80101930 +void LifeMeter_Draw(GlobalContext* ctxt); // func_80100B8C +void LifeMeter_UpdateSizeAndBeep(GlobalContext* ctxt); // func_80101844 +s32 LifeMeter_IsCritical(void); // func_80101930 void Lights_InitPositionalLight(LightInfoPositional* info, s16 posX, s16 posY, s16 posZ, u8 red, u8 green, u8 blue, s16 radius, u32 type); // func_801019A0 void Lights_InitType0PositionalLight(LightInfoPositional* info, s16 posX, s16 posY, s16 posZ, u8 red, u8 green, u8 blue, s16 radius); // func_801019FC void Lights_InitType2PositionalLight(LightInfoPositional* info, s16 posX, s16 posY, s16 posZ, u8 red, u8 green, u8 blue, s16 radius); // func_80101A60 @@ -1934,7 +1936,7 @@ void func_80105328(void); // func_80105328 void func_8010534C(void); // func_8010534C void func_8010549C(void); // func_8010549C void func_8010565C(void); // func_8010565C -void func_80105818(GlobalContext* ctxt, unsigned int uParm2, UNK_PTR puParm3); // func_80105818 +void func_80105818(GlobalContext* ctxt, unsigned int uParm2, TransitionActorInit* puParm3); // func_80105818 void func_80105A40(void); // func_80105A40 void func_80105B34(void); // func_80105B34 void func_80105C40(void); // func_80105C40 @@ -2001,7 +2003,7 @@ void func_80109DD8(void); // func_80109DD8 void func_80109E70(void); // func_80109E70 void func_80109EF8(void); // func_80109EF8 void func_80109F78(void); // func_80109F78 -void func_8010A000(void); // func_8010A000 +int func_8010A000(GlobalContext* ctxt); // func_8010A000 void func_8010A074(void); // func_8010A074 void func_8010A0A4(void); // func_8010A0A4 void func_8010A0F0(void); // func_8010A0F0 @@ -2011,7 +2013,7 @@ 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_8010A33C(void); // func_8010A33C +void func_8010A33C(GlobalContext* ctxt, s16 param_2); // func_8010A33C void func_8010A410(void); // func_8010A410 void func_8010A430(void); // func_8010A430 void func_8010A54C(void); // func_8010A54C @@ -2118,7 +2120,7 @@ void func_80112AFC(void); // func_80112AFC void func_80112B40(void); // func_80112B40 void func_80112BE4(void); // func_80112BE4 void func_80112C0C(void); // func_80112C0C -void func_80112E80(void); // func_80112E80 +unsigned int func_80112E80(GlobalContext* ctxt, u8 param_2); // func_80112E80 void func_801143CC(void); // func_801143CC void func_80114978(void); // func_80114978 void func_801149A0(void); // func_801149A0 @@ -2135,11 +2137,12 @@ void func_80115428(void); // func_80115428 void func_8011552C(void); // func_8011552C void func_801155B4(void); // func_801155B4 void func_80115764(void); // func_80115764 -void func_80115844(void); // func_80115844 +void func_80115844(GlobalContext* ctxt, short param_2); // func_80115844 void func_80115908(void); // func_80115908 +void func_801159c0(short param_1); // func_801159C0 void func_801159EC(void); // func_801159EC void func_80115A14(void); // func_80115A14 -void func_80115D14(void); // func_80115D14 +void Parameter_AddMagic(void); // func_80115D14 void func_80115D5C(void); // func_80115D5C void func_80115DB4(void); // func_80115DB4 void func_80116088(void); // func_80116088 @@ -2166,7 +2169,7 @@ void func_8011C898(void); // func_8011C898 void func_8011CA64(void); // func_8011CA64 void func_8011E3B4(void); // func_8011E3B4 void func_8011E730(void); // func_8011E730 -void func_8011F0E0(void); // func_8011F0E0 +void func_8011F0E0(UNK_TYPE4 ctxt); // func_8011F0E0 void func_80120F90(void); // func_80120F90 void func_80121000(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE1 param_8, UNK_TYPE1 param_9, UNK_TYPE1 param_10, UNK_TYPE4 param_11, UNK_TYPE4 param_12, UNK_TYPE4 param_13, UNK_TYPE4 param_14); // func_80121000 void func_80121064(void); // func_80121064 @@ -2195,9 +2198,9 @@ void func_80122F9C(void); // func_80122F9C void func_80122FCC(void); // func_80122FCC void func_8012300C(void); // func_8012300C void func_8012301C(int iParm1, GlobalContext* ctxt); // func_8012301C -void func_80123140(void); // func_80123140 -void func_80123358(void); // func_80123358 -void func_801233E4(void); // func_801233E4 +void func_80123140(GlobalContext* ctxt, ActorPlayer* param_2); // func_80123140 +unsigned int func_80123358(GlobalContext* ctxt, ActorPlayer* player); // func_80123358 +unsigned int func_801233E4(GlobalContext* ctxt); // func_801233E4 void func_80123420(void); // func_80123420 void func_80123434(void); // func_80123434 void func_80123448(void); // func_80123448 @@ -2278,12 +2281,12 @@ void func_801284A0(void); // func_801284A0 void func_80128640(void); // func_80128640 void func_80128B74(void); // func_80128B74 void func_80128BD0(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE1 param_5, UNK_TYPE4 param_6); // func_80128BD0 -void func_80129EF0(void); // func_80129EF0 -void func_80129F04(void); // func_80129F04 -void func_80129F4C(void); // func_80129F4C -void func_80129FF8(void); // func_80129FF8 -void func_8012A02C(void); // func_8012A02C -void func_8012A038(void); // func_8012A038 +void Prenmi_Stop(PrenmiContext* ctxt); // func_80129EF0 +void Prenmi_Update(PrenmiContext* ctxt); // func_80129F04 +void Prenmi_Draw(PrenmiContext* ctxt); // func_80129F4C +void Prenmi_Main(PrenmiContext* ctxt); // func_80129FF8 +void Prenmi_Fini(PrenmiContext* ctxt); // func_8012A02C +void Prenmi_Init(PrenmiContext* ctxt); // func_8012A038 void func_8012A080(void); // func_8012A080 void func_8012A0AC(void); // func_8012A0AC void func_8012A2B8(void); // func_8012A2B8 @@ -2308,6 +2311,7 @@ void func_8012AAC0(void); // func_8012AAC0 void func_8012AB08(void); // func_8012AB08 void func_8012AE68(GlobalContext* ctxt); // func_8012AE68 void func_8012AEAC(void); // func_8012AEAC +int func_8012aed4(void); // func_8012AED4 void func_8012AEE4(void); // func_8012AEE4 void func_8012AEF4(void); // func_8012AEF4 void func_8012AF18(void); // func_8012AF18 @@ -2329,7 +2333,7 @@ void func_8012C1C0(void); // func_8012C1C0 void func_8012C1EC(void); // func_8012C1EC void func_8012C214(void); // func_8012C214 void func_8012C240(void); // func_8012C240 -void func_8012C268(void); // func_8012C268 +void func_8012C268(GlobalContext* ctxt); // func_8012C268 void func_8012C28C(GraphicsContext* gCtxt); // func_8012C28C void func_8012C2B4(void); // func_8012C2B4 void func_8012C2DC(GraphicsContext* gCtxt); // func_8012C2DC @@ -2337,14 +2341,14 @@ void func_8012C304(void); // func_8012C304 void func_8012C3A4(void); // func_8012C3A4 void func_8012C3CC(void); // func_8012C3CC void func_8012C3F4(void); // func_8012C3F4 -void func_8012C448(void); // func_8012C448 +void func_8012C448(GraphicsContext* gCtxt); // func_8012C448 void func_8012C470(void); // func_8012C470 void func_8012C4C0(void); // func_8012C4C0 void func_8012C560(void); // func_8012C560 void func_8012C588(void); // func_8012C588 void func_8012C5B0(void); // func_8012C5B0 void func_8012C600(void); // func_8012C600 -void func_8012C628(void); // func_8012C628 +void func_8012C628(GraphicsContext* gCtxt); // func_8012C628 void func_8012C654(void); // func_8012C654 void func_8012C680(void); // func_8012C680 void func_8012C6AC(void); // func_8012C6AC @@ -2352,7 +2356,7 @@ void func_8012C6FC(void); // func_8012C6FC void func_8012C724(void); // func_8012C724 Gfx* func_8012C7FC(Gfx* puParm1); // func_8012C7FC void func_8012C868(void); // func_8012C868 -void func_8012C8AC(void); // func_8012C8AC +void func_8012C8AC(GraphicsContext* gCtxt); // func_8012C8AC void func_8012C8D4(void); // func_8012C8D4 void func_8012C94C(void); // func_8012C94C void func_8012C974(void); // func_8012C974 @@ -2361,29 +2365,29 @@ void func_8012CA0C(void); // func_8012CA0C void func_8012CA60(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5); // func_8012CA60 void func_8012CB04(void); // func_8012CB04 void func_8012CB28(void); // func_8012CB28 -void func_8012CB4C(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5); // func_8012CB4C -void func_8012CBD0(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8, UNK_TYPE4 param_9, UNK_TYPE4 param_10, UNK_TYPE4 param_11); // func_8012CBD0 +Gfx* Rcp_GenerateSetTileSizeDl(GraphicsContext* gCtxt, u32 upperS, u32 upperT, u32 lengthS, u32 lengthT); // func_8012CB4C +Gfx* Rcp_GenerateSetTileSize2Dl(GraphicsContext* gCtxt, u32 tile1, u32 upperS1, u32 upperT1, u32 lengthS1, u32 lengthT1, u32 tile2, u32 upperS2, u32 upperT2, u32 lengthS2, u32 lengthT2); // func_8012CBD0 void func_8012CCF0(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8, UNK_TYPE4 param_9, UNK_TYPE4 param_10, UNK_TYPE4 param_11, UNK_TYPE4 param_12, UNK_TYPE4 param_13, UNK_TYPE4 param_14, UNK_TYPE4 param_15); // func_8012CCF0 void func_8012CE50(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5); // func_8012CE50 void func_8012CEA8(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6); // func_8012CEA8 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 nop_8012D510(GlobalContext* ctxt, UNK_PTR param_2, UNK_PTR param_3, UNK_TYPE1 param_4); // func_8012D510 -void nop_8012D528(void); // func_8012D528 -void func_8012D53C(void); // func_8012D53C -void func_8012D750(void); // func_8012D750 -void func_8012DEE8(void); // func_8012DEE8 +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(void); // func_8012E32C -void func_8012E6A8(void); // func_8012E6A8 -void func_8012E710(void); // func_8012E710 -u32 func_8012E750(GlobalContext* ctxt, s32 iParm2); // func_8012E750 -void func_8012E96C(void); // func_8012E96C -UNK_TYPE4 func_8012EAA8(GlobalContext* ctxt, char* pcParm2); // func_8012EAA8 -void func_8012EBA8(void); // func_8012EBA8 -void func_8012EBF8(void); // func_8012EBF8 -void func_8012EC80(void); // func_8012EC80 +void func_8012E32C(GlobalContext* ctxt, LoadedRoom* room, u32 flags); // func_8012E32C +void Room_DrawType1Mesh(GlobalContext* ctxt, LoadedRoom* 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_HandleLoadCallbacks(GlobalContext* ctxt, RoomContext* roomCtxt); // func_8012EAA8 +void Room_DrawRoomMesh(GlobalContext* ctxt, LoadedRoom* 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 void func_8012ED78(void); // func_8012ED78 void func_8012EDE8(void); // func_8012EDE8 @@ -2399,7 +2403,7 @@ void Scene_ReloadUnloadedObjects(SceneContext* sceneCtxt); // func_8012F4FC s32 Scene_FindSceneObjectIndex(SceneContext* sceneCtxt, short id); // func_8012F608 s32 Scene_IsObjectLoaded(SceneContext* iParm1, s32 index); // func_8012F668 void Scene_DmaAllObjects(SceneContext* sceneCtxt); // func_8012F698 -u32 func_8012F73C(SceneContext* iParm1, s32 iParm2, s16 sParm3); // func_8012F73C +u32 func_8012F73C(SceneContext* sceneCtxt, s32 iParm2, s16 id); // func_8012F73C void Scene_HeaderCommand00(GlobalContext* ctxt, SceneHeaderEntry* entry); // func_8012F79C void Scene_HeaderCommand01(GlobalContext* ctxt, SceneHeaderEntry* entry); // func_8012F90C void Scene_HeaderCommand02(GlobalContext* ctxt, SceneHeaderEntry* entry); // func_8012F954 @@ -2434,7 +2438,7 @@ void Scene_HeaderCommand19(GlobalContext* ctxt, SceneHeaderEntry* entry); // fun void Scene_HeaderCommand1A(GlobalContext* ctxt, SceneHeaderEntry* entry); // func_80130674 void func_801306A4(GlobalContext* ctxt); // func_801306A4 s32 Scene_ProcessHeader(GlobalContext* ctxt, SceneHeaderEntry* header); // func_801306E8 -void func_80130768(void); // func_80130768 +u32 Scene_CreateEntrance(u32 sceneIndex, u32 spawnIndex, u32 offset); // func_80130768 void func_80130784(void); // func_80130784 void func_801307C0(void); // func_801307C0 void func_801307F4(void); // func_801307F4 @@ -2472,9 +2476,9 @@ void func_80131E58(s32* param_1, s32 param_2, u32 param_3); // func_80131E58 void func_80131EC0(void); // func_80131EC0 void func_80131F90(void); // func_80131F90 void func_80131FC0(void); // func_80131FC0 -void func_801322C0(void); // func_801322C0 -void func_8013230C(void); // func_8013230C -void func_80132338(void); // func_80132338 +EntranceRecord* SceneTable_LookupEntrance(u32 entrance); // func_801322C0 +s32 SceneTable_LookupEntranceScene(u32 entrance); // func_8013230C +s32 SceneTable_LookupEntranceAbsoluteScene(u32 entrance); // func_80132338 void func_80132374(void); // func_80132374 void func_801323A0(void); // func_801323A0 void func_801323D0(void); // func_801323D0 @@ -2695,35 +2699,35 @@ void func_8013EE04(void); // func_8013EE04 void func_8013EE24(void); // func_8013EE24 void func_8013EE38(void); // func_8013EE38 void func_8013EE48(void); // func_8013EE48 -void func_8013EE60(void); // func_8013EE60 -void func_8013EEF4(View* view, GraphicsContext* gCtxt); // func_8013EEF4 -void func_8013EF9C(void); // func_8013EF9C -void func_8013F050(s32 param_1, UNK_PTR param_2, UNK_PTR param_3, UNK_PTR param_4); // func_8013F050 -void func_8013F0A0(void); // func_8013F0A0 -void func_8013F0C0(s32 param_1, UNK_PTR param_2); // func_8013F0C0 -void func_8013F0D0(View* iParm1, f32 uParm2, f32 uParm3, f32 uParm4); // func_8013F0D0 -void func_8013F100(s32 param_1, UNK_PTR param_2, UNK_PTR param_3, UNK_PTR param_4); // func_8013F100 -void func_8013F120(s32 param_1, UNK_TYPE4 param_2, UNK_TYPE4 param_3, UNK_TYPE4 param_4); // func_8013F120 -void func_8013F15C(s32 param_1, UNK_PTR param_2, UNK_PTR param_3, UNK_PTR param_4); // func_8013F15C -void func_8013F17C(void); // func_8013F17C -void func_8013F1B0(s32 param_1, UNK_PTR param_2); // func_8013F1B0 -void func_8013F1D8(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5); // func_8013F1D8 -void func_8013F28C(void); // func_8013F28C -void func_8013F2F8(void); // func_8013F2F8 -void func_8013F3F8(void); // func_8013F3F8 -void func_8013F420(void); // func_8013F420 -void func_8013F448(void); // func_8013F448 -UNK_TYPE4 func_8013F45C(View* iParm1); // func_8013F45C -UNK_TYPE4 func_8013F4C0(View* iParm1); // func_8013F4C0 -UNK_TYPE4 func_8013F4F4(s32 param_1, UNK_TYPE4 param_2, UNK_TYPE4 param_3, UNK_TYPE4 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8); // func_8013F4F4 -UNK_TYPE4 func_8013F54C(View* view, RSPMatrix* pzParm2); // func_8013F54C -void func_8013F6FC(View* iParm1, u32 uParm2); // func_8013F6FC -UNK_TYPE4 func_8013F748(View* param_1); // func_8013F748 -UNK_TYPE4 func_8013FA1C(View* iParm1); // func_8013FA1C -void func_8013FBC8(void); // func_8013FBC8 -void func_8013FD74(void); // func_8013FD74 -void func_80140024(void); // func_80140024 -void func_801400CC(void); // func_801400CC +void View_MapViewportToGfxVp(Vp* gfxVp, Viewport* viewport); // func_8013EE60 +void View_InitView(View* view, GraphicsContext* gCtxt); // func_8013EEF4 +void View_SetViewOrientation(View* view, Vector3f* eye, Vector3f* focalPoint, Vector3f* upDir); // func_8013EF9C +void func_8013F050(View* view, Vector3f* param_2, Vector3f* param_3, Vector3f* param_4); // func_8013F050 +void func_8013F0A0(View* view, UNK_TYPE4 param_2); // func_8013F0A0 +void func_8013F0C0(View* view, UNK_PTR param_2); // func_8013F0C0 +void func_8013F0D0(View* view, f32 uParm2, f32 uParm3, f32 uParm4); // func_8013F0D0 +void func_8013F100(View* view, UNK_PTR param_2, UNK_PTR param_3, UNK_PTR param_4); // func_8013F100 +void func_8013F120(View* view, UNK_TYPE4 param_2, UNK_TYPE4 param_3, UNK_TYPE4 param_4); // func_8013F120 +void func_8013F15C(View* view, UNK_PTR param_2, UNK_PTR param_3, UNK_PTR param_4); // func_8013F15C +void func_8013F17C(View* view, Viewport* viewport); // func_8013F17C +void View_GetViewport(View* view, Viewport* viewport); // func_8013F1B0 +void View_WriteScissor(Gfx** gfx, s32 leftX, s32 upperY, s32 rightX, s32 lowerY); // func_8013F1D8 +void View_WriteBlackFillColorAndScissor(View* view, Gfx** gfx); // func_8013F28C +void View_SetScissorForLetterbox(View* view); // func_8013F2F8 +s32 View_SetQuakeRotation(View* view, f32 x, f32 y, f32 z); // func_8013F3F8 +s32 View_SetQuakeScale(View* view, f32 x, f32 y, f32 z); // func_8013F420 +s32 View_SetQuakeSpeed(View* view, f32 speed); // func_8013F448 +s32 View_InitCameraQuake(View* view); // func_8013F45C +s32 View_ClearQuake(View* view); // func_8013F4C0 +s32 View_SetQuake(View* view, f32 rotX, f32 rotY, f32 rotZ, f32 scaleX, f32 scaleY, f32 scaleZ, f32 speed); // func_8013F4F4 +s32 View_StepQuake(View* view, RSPMatrix* matrix); // func_8013F54C +void View_RenderView(View* view, u32 uParm2); // func_8013F6FC +s32 View_RenderToPerspectiveMatrix(View* view); // func_8013F748 +s32 View_RenderToOrthographicMatrix(View* view); // func_8013FA1C +s32 func_8013FBC8(View* view); // func_8013FBC8 +s32 func_8013FD74(View* view); // func_8013FD74 +s32 func_80140024(View* view); // func_80140024 +s32 func_801400CC(View* view, Gfx** param_2); // func_801400CC void func_80140260(void); // func_80140260 void func_8014026C(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8, UNK_TYPE1 param_9, UNK_TYPE4 param_10, UNK_TYPE2 param_11, UNK_TYPE4 param_12, UNK_TYPE4 param_13); // func_8014026C void func_80140730(void); // func_80140730 @@ -2758,7 +2762,7 @@ void func_80142440(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_ void func_80143148(void); // func_80143148 void func_801431E8(void); // func_801431E8 void func_80143324(void); // func_80143324 -void func_801434E4(GlobalContext* ctxt, int iParm2, short sParm3); // func_801434E4 +void func_801434E4(ContextCommon* ctxt, int iParm2, short sParm3); // func_801434E4 void func_801435A0(void); // func_801435A0 void func_80143624(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE1 param_5, UNK_TYPE1 param_6, UNK_TYPE1 param_7); // func_80143624 void func_80143668(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7); // func_80143668 @@ -2766,36 +2770,36 @@ void func_80143A04(void); // func_80143A04 void func_80143A10(void); // func_80143A10 void func_80143A54(void); // func_80143A54 void func_80143AC4(void); // func_80143AC4 -void func_80143B0C(void); // func_80143B0C -void func_80144574(void); // func_80144574 +void func_80143B0C(GlobalContext* ctxt); // func_80143B0C +void Sram_IncrementDay(void); // func_80144574 u32 Sram_CalcChecksum(u8* data, u32 length); // func_801445E4 void func_80144628(void); // func_80144628 -void func_80144684(void); // func_80144684 +void Sram_GenerateRandomSaveFields(void); // func_80144684 void func_80144890(void); // func_80144890 void func_80144968(void); // func_80144968 void func_80144A94(void); // func_80144A94 void func_80144E78(void); // func_80144E78 void func_8014546C(void); // func_8014546C void func_80145698(void); // func_80145698 -void func_801457CC(void); // func_801457CC -void func_80146580(void); // func_80146580 +void func_801457CC(ContextCommon* ctxt, SramContext* param_2); // func_801457CC +void func_80146580(int param_1, SramContext* param_2, int param_3); // func_80146580 void func_80146628(void); // func_80146628 void func_80146AA0(void); // func_80146AA0 void func_80146DF8(void); // func_80146DF8 void func_80146E40(void); // func_80146E40 -void func_80146E70(ContextCommon* iParm1, s32 iParm2); // func_80146E70 -void func_80146EBC(void); // func_80146EBC +void Sram_Alloc(ContextCommon* ctxt, SramContext* iParm2); // func_80146E70 +void func_80146EBC(SramContext* param_1, UNK_TYPE4 param_2, UNK_TYPE4 param_3); // func_80146EBC void func_80146EE8(void); // func_80146EE8 void func_80146F5C(void); // func_80146F5C void func_80147008(void); // func_80147008 -void func_80147020(void); // func_80147020 -void func_80147068(void); // func_80147068 -void func_80147138(void); // func_80147138 -void func_80147150(void); // func_80147150 -void func_80147198(void); // func_80147198 +void func_80147020(SramContext* param_1); // func_80147020 +void func_80147068(SramContext* param_1); // func_80147068 +void func_80147138(SramContext* param_1, UNK_TYPE4 param_2, UNK_TYPE4 param_3); // func_80147138 +void func_80147150(SramContext* param_1); // func_80147150 +void func_80147198(SramContext* param_1); // func_80147198 void func_80147314(void); // func_80147314 void func_80147414(void); // func_80147414 -void func_8014750C(void); // func_8014750C +void Sram_nop8014750C(UNK_TYPE4 param_1); // func_8014750C void func_80147520(void); // func_80147520 void func_80147564(GlobalContext* ctxt); // func_80147564 u32 func_80147624(GlobalContext* ctxt); // func_80147624 @@ -2836,7 +2840,7 @@ void func_80151C9C(void); // func_80151C9C void func_80151DA4(void); // func_80151DA4 void func_80152434(void); // func_80152434 void func_80152464(void); // func_80152464 -UNK_TYPE4 func_80152498(GlobalContext4908* iParm1); // func_80152498 +UNK_TYPE4 func_80152498(MessageContext* iParm1); // func_80152498 void func_8015268C(void); // func_8015268C void func_80152C64(void); // func_80152C64 void func_80152CAC(void); // func_80152CAC @@ -2869,18 +2873,18 @@ void func_80160AF8(void); // func_80160AF8 void func_80160B40(void); // func_80160B40 void func_80160B80(void); // func_80160B80 void func_80160BC0(void); // func_80160BC0 -void func_80160C00(void); // func_80160C00 -void func_80160C14(void); // func_80160C14 -void func_80160C28(void); // func_80160C28 -void func_80160C3C(void); // func_80160C3C -void func_80160C50(UNK_TYPE1 param_1); // func_80160C50 -s32 func_80160C64(void); // func_80160C64 -void func_80160C78(UNK_TYPE1 param_1); // func_80160C78 -s32 func_80160C8C(void); // func_80160C8C -void func_80160CA0(void); // func_80160CA0 -void func_80160CD4(void); // func_80160CD4 -void func_80160CE4(void); // func_80160CE4 -void func_80160D98(void); // func_80160D98 +void ShrinkWindow_SetLetterboxTarget(s8 target); // func_80160C00 +int ShrinkWindow_GetLetterboxTarget(void); // func_80160C14 +void ShrinkWindow_SetLetterboxMagnitude(s8 magnitude); // func_80160C28 +s32 ShrinkWindow_GetLetterboxMagnitude(void); // func_80160C3C +void ShrinkWindow_SetPillarboxTarget(s8 target); // func_80160C50 +s32 ShrinkWindow_GetPillarboxTarget(void); // func_80160C64 +void ShrinkWindow_SetPillarboxMagnitude(u8 magnitude); // func_80160C78 +s32 ShrinkWindow_GetPillarboxMagnitude(void); // func_80160C8C +void ShrinkWindow_Init(void); // func_80160CA0 +void ShrinkWindow_Fini(void); // func_80160CD4 +void ShrinkWindow_Step(s32 framerateDivisor); // func_80160CE4 +void ShrinkWindow_Draw(GlobalContext* ctxt); // func_80160D98 void func_80161180(void); // func_80161180 void func_8016119C(void); // func_8016119C void func_8016122C(void); // func_8016122C @@ -2910,7 +2914,7 @@ void func_8016388C(void); // func_8016388C void func_801638D8(void); // func_801638D8 void func_801639A0(void); // func_801639A0 void func_801639EC(GlobalContext* ctxt); // func_801639EC -void func_80163A38(void); // func_80163A38 +void func_80163A38(GlobalContext* ctxt); // func_80163A38 void func_80163A58(void); // func_80163A58 void func_80163C0C(void); // func_80163C0C void func_80163C90(void); // func_80163C90 @@ -2970,7 +2974,7 @@ void func_80166B30(GlobalContext* param_1); // func_80166B30 void func_80167814(GlobalContext* ctxt); // func_80167814 void func_80167DE4(GlobalContext* param_1); // func_80167DE4 void func_80167F0C(void); // func_80167F0C -void func_80168090(GlobalContext* piParm1); // func_80168090 +void func_80168090(GlobalContext* ctxt); // func_80168090 void func_80168DAC(GlobalContext* ctxt); // func_80168DAC void Main_Update(GlobalContext* ctxt); // func_80168F64 void func_801690CC(void); // func_801690CC @@ -2997,8 +3001,8 @@ void func_80169AC0(void); // func_80169AC0 void func_80169AFC(void); // func_80169AFC void func_80169C64(void); // func_80169C64 void func_80169C84(void); // func_80169C84 -void func_80169CBC(void); // func_80169CBC -void func_80169D40(void); // func_80169D40 +void convert_scene_number_among_shared_scenes(void); // func_80169CBC +void func_80169D40(GlobalContext* ctxt); // func_80169D40 void func_80169DCC(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE2 param_7); // func_80169DCC void func_80169E6C(void); // func_80169E6C void func_80169ECC(void); // func_80169ECC @@ -3260,9 +3264,9 @@ f32 func_8017A7F8(f32* param_1, f32* param_2, f32 param_3, f32 param_4); // func f32 func_8017A838(f32* param_1, f32* param_2, f32 param_3, f32 param_4); // func_8017A838 void Math3D_CrossProduct(Vector3f* a, Vector3f* b, Vector3f* res); // func_8017A878 void Math3D_NormalVector(Vector3f* a, Vector3f* b, Vector3f* c, Vector3f* res); // func_8017A8EC -void func_8017A954(void); // func_8017A954 -void func_8017AA0C(void); // func_8017AA0C -void func_8017ABBC(void); // func_8017ABBC +unsigned int func_8017A954(Vector3f* param_1, Vector3f* param_2, Vector3f* param_3); // func_8017A954 +unsigned int func_8017AA0C(Vector3f* param_1, Vector3f* param_2, Vector3f* param_3); // func_8017AA0C +unsigned int func_8017ABBC(Vector3f* param_1, Vector3f* param_2, Vector3f* param_3); // func_8017ABBC void func_8017AD38(void); // func_8017AD38 void func_8017B68C(void); // func_8017B68C void func_8017B7F8(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5); // func_8017B7F8 @@ -3790,7 +3794,7 @@ void func_8019EA40(void); // func_8019EA40 void func_8019EB2C(void); // func_8019EB2C void func_8019F024(void); // func_8019F024 void func_8019F05C(void); // func_8019F05C -void func_8019F0C8(u16 param_1); // func_8019F0C8 +void play_sound(u16 param_1); // func_8019F0C8 void func_8019F128(u16 param_1); // func_8019F128 void func_8019F170(void); // func_8019F170 void func_8019F1C0(UNK_TYPE4 param_1, u16 param_2); // func_8019F1C0 @@ -3952,7 +3956,7 @@ void func_801A6D0C(void); // func_801A6D0C void func_801A7084(void); // func_801A7084 void func_801A7168(void); // func_801A7168 void func_801A7284(void); // func_801A7284 -void func_801A72CC(f32* uParm1); // func_801A72CC +void func_801A72CC(Vector3f* uParm1); // func_801A72CC void func_801A7328(void); // func_801A7328 void func_801A7484(void); // func_801A7484 void func_801A75E8(void); // func_801A75E8 @@ -3993,7 +3997,7 @@ void func_801AA624(void); // func_801AA624 void func_801AA68C(void); // func_801AA68C void nop_801AAAA0(GlobalContext* ctxt); // func_801AAAA0 void Title_UpdateCounters(TitleContext* ctxt); // func_80800000 -void func_8080009C(TitleContext* ctxt, f32 uParm2, f32 uParm3, f32 uParm4); // func_8080009C +void Title_RenderView(TitleContext* ctxt, f32 eyeX, f32 eyeY, f32 eyeZ); // func_8080009C void Title_Render(TitleContext* ctxt); // func_80800134 void Title_Update(TitleContext* ctxt); // func_8080066C void Title_Fini(TitleContext* ctxt); // func_8080071C @@ -4011,9 +4015,9 @@ void func_80801A64(void); // func_80801A64 void func_80801AFC(void); // func_80801AFC void func_80801B28(void); // func_80801B28 void func_80801B4C(void); // func_80801B4C -void func_80803DF0(OpeningContext* ctxt); // func_80803DF0 +void Opening_SetupForTitleCutscene(OpeningContext* ctxt); // func_80803DF0 void func_80803EA0(OpeningContext* ctxt); // func_80803EA0 -void Opening_Update(OpeningContext* param_1); // func_80803EC0 +void Opening_Update(OpeningContext* ctxt); // func_80803EC0 void Opening_Fini(OpeningContext* ctxt); // func_80803F0C void Opening_Init(OpeningContext* ctxt); // func_80803F30 void func_80804010(void); // func_80804010 @@ -4061,29 +4065,30 @@ void func_8080A4A0(void); // func_8080A4A0 void func_8080A6BC(void); // func_8080A6BC void func_8080A708(void); // func_8080A708 void func_8080BBFC(void); // func_8080BBFC -void func_8080BC20(void); // func_8080BC20 -void func_8080BC4C(void); // func_8080BC4C -void func_8080BC58(void); // func_8080BC58 -void func_8080BDAC(void); // func_8080BDAC -void func_8080BDDC(void); // func_8080BDDC +void func_8080BC20(FileChooseContext* ctxt); // func_8080BC20 +void FileChoose_nop8080bc44(void); // func_8080BC44 +void FileChoose_nop8080BC4C(FileChooseContext* ctxt); // func_8080BC4C +void func_8080BC58(FileChooseContext* ctxt); // func_8080BC58 +void func_8080BDAC(FileChooseContext* ctxt); // func_8080BDAC +void FileChoose_RenderView(FileChooseContext* ctxt, f32 eyeX, f32 eyeY, f32 eyeZ); // func_8080BDDC void func_8080BE60(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5); // func_8080BE60 -void func_8080C040(void); // func_8080C040 +void func_8080C040(FileChooseContext* ctxt); // func_8080C040 void func_8080C228(void); // func_8080C228 -void func_8080C29C(void); // func_8080C29C +void func_8080C29C(FileChooseContext* ctxt); // func_8080C29C void func_8080C324(void); // func_8080C324 -void func_8080C3A8(void); // func_8080C3A8 +void func_8080C3A8(FileChooseContext* ctxt); // func_8080C3A8 void func_8080D164(void); // func_8080D164 void func_8080D170(void); // func_8080D170 void func_8080D1BC(void); // func_8080D1BC void func_8080D220(void); // func_8080D220 void func_8080D284(void); // func_8080D284 -void func_8080D2EC(void); // func_8080D2EC -void func_8080D3D0(void); // func_8080D3D0 -void func_8080D40C(void); // func_8080D40C -void func_8080D6D4(void); // func_8080D6D4 +void func_8080D2EC(FileChooseContext* ctxt); // func_8080D2EC +void func_8080D3D0(FileChooseContext* ctxt); // func_8080D3D0 +void func_8080D40C(FileChooseContext* ctxt); // func_8080D40C +void func_8080D6D4(FileChooseContext* ctxt); // func_8080D6D4 void func_8080F25C(void); // func_8080F25C -void func_808108DC(void); // func_808108DC -void func_80811CB8(void); // func_80811CB8 +void func_808108DC(FileChooseContext* ctxt); // func_808108DC +void func_80811CB8(FileChooseContext* ctxt); // func_80811CB8 void func_80812460(void); // func_80812460 void func_80812668(void); // func_80812668 void func_80812760(void); // func_80812760 @@ -4092,20 +4097,20 @@ void func_80812980(void); // func_80812980 void func_80812A6C(void); // func_80812A6C void func_80812D44(void); // func_80812D44 void func_80812D94(void); // func_80812D94 -void func_80812E94(void); // func_80812E94 +void func_80812E94(FileChooseContext* ctxt); // func_80812E94 void func_80812ED0(void); // func_80812ED0 -void func_8081313C(void); // func_8081313C -void FileChoose_Update(GraphicsContext** ppzParm1); // func_80813268 -void func_80813908(void); // func_80813908 -void FileChoose_Fini(void); // func_80813C74 -void FileChoose_Init(ContextCommon* pzParm1); // func_80813C98 -void func_80814EB0(void); // func_80814EB0 -void func_80814FE8(void); // func_80814FE8 -void func_808156B4(void); // func_808156B4 -void func_8081574C(void); // func_8081574C -void func_80815770(void); // func_80815770 -void func_8081577C(void); // func_8081577C -void func_80815820(void); // func_80815820 +void FileChoose_UpdateAndDrawSkybox(FileChooseContext* ctxt); // func_8081313C +void FileChoose_Update(FileChooseContext* ctxt); // func_80813268 +void func_80813908(FileChooseContext* ctxt); // func_80813908 +void FileChoose_Fini(FileChooseContext* ctxt); // func_80813C74 +void FileChoose_Init(FileChooseContext* ctxt); // func_80813C98 +void Daytelop_UpdateState(DaytelopContext* ctxt); // func_80814EB0 +void Daytelop_Render(DaytelopContext* ctxt); // func_80814FE8 +void Daytelop_Update(DaytelopContext* ctxt); // func_808156B4 +void Daytelop_Fini(DaytelopContext* ctxt); // func_8081574C +void Daytelop_nop80815770(DaytelopContext* ctxt); // func_80815770 +void Daytelop_LoadGraphics(DaytelopContext* ctxt); // func_8081577C +void Daytelop_Init(DaytelopContext* ctxt); // func_80815820 void func_808160A0(void); // func_808160A0 void func_80817B5C(void); // func_80817B5C void func_80818904(void); // func_80818904 @@ -15793,7 +15798,7 @@ void func_80BD7820(void); // func_80BD7820 void func_80BD78C4(void); // func_80BD78C4 void BgIknvObj_Init(ActorBgIknvObj* this, GlobalContext* ctxt); // func_80BD7AB0 void BgIknvObj_Fini(ActorBgIknvObj* this, GlobalContext* ctxt); // func_80BD7C7C -void func_80BD7CEC(void); // func_80BD7CEC +UNK_TYPE4 func_80BD7CEC(ActorBgIknvObj* this); // func_80BD7CEC void BgIknvObj_UpdateType0(ActorBgIknvObj* this, GlobalContext* ctxt); // func_80BD7D6C void func_80BD7E0C(void); // func_80BD7E0C void func_80BD7ED8(ActorBgIknvObj* this, GlobalContext* ctxt); // func_80BD7ED8 diff --git a/include/structs.h b/include/structs.h index c47636413b..427e97c518 100644 --- a/include/structs.h +++ b/include/structs.h @@ -7,7 +7,7 @@ #include typedef struct { -/* 0x00 */ u8 unk0[32]; +/* 0x00 */ u8 values[32]; } ActorDamageChart; typedef struct { @@ -38,6 +38,92 @@ typedef struct { /* 0x2 */ s32 value : 16; } ActorInitVar; +typedef struct { +/* 0x0 */ s16 polyStartIndex; +/* 0x2 */ s16 ceilingNodeHead; +/* 0x4 */ s16 wallNodeHead; +/* 0x6 */ s16 floorNodeHead; +} ActorMeshPolyLists; + +typedef struct { +/* 0x0 */ u16 floorHead; +/* 0x2 */ u16 wallHead; +/* 0x4 */ u16 ceilingHead; +} BgMeshSubdivision; + +typedef struct { +/* 0x0 */ u32 attributes[2]; +} BgPolygonAttributes; + +typedef struct { +/* 0x0 */ s16 polyIndex; +/* 0x2 */ u16 next; +} BgPolygonLinkedListNode; + +typedef struct { +/* 0x0 */ u16 maxNodes; +/* 0x2 */ u16 reservedNodes; +/* 0x4 */ BgPolygonLinkedListNode* nodes; +/* 0x8 */ u8* unk8; +} BgScenePolygonLists; + +typedef struct { +/* 0x0 */ s16 sceneNumber; +/* 0x2 */ UNK_TYPE1 pad2[2]; +/* 0x4 */ u32 maxMemory; +} BgSpecialSceneMaxMemory; + +typedef struct { +/* 0x0 */ s16 sceneId; +/* 0x2 */ s16 maxNodes; +/* 0x4 */ s16 maxPolygons; +/* 0x6 */ s16 maxVertices; +} BgSpecialSceneMaxObjects; + +typedef struct { +/* 0x0 */ s16 sceneNumber; +/* 0x2 */ s16 xSubdivisions; +/* 0x4 */ s16 ySubdivisions; +/* 0x6 */ s16 zSubdivisions; +/* 0x8 */ s32 unk8; +} BgSpecialSceneMeshSubdivision; + +typedef struct { +/* 0x000 */ UNK_TYPE1 pad0[104]; +/* 0x068 */ f32 unk68; +/* 0x06C */ f32 unk6C; +/* 0x070 */ f32 unk70; +/* 0x074 */ UNK_TYPE1 pad74[12]; +/* 0x080 */ f32 unk80; +/* 0x084 */ f32 unk84; +/* 0x088 */ f32 unk88; +/* 0x08C */ UNK_TYPE1 pad8C[52]; +/* 0x0C0 */ f32 unkC0; +/* 0x0C4 */ f32 unkC4; +/* 0x0C8 */ f32 unkC8; +/* 0x0CC */ f32 unkCC; +/* 0x0D0 */ f32 unkD0; +/* 0x0D4 */ f32 unkD4; +/* 0x0D8 */ UNK_TYPE1 padD8[36]; +/* 0x0FC */ f32 unkFC; +/* 0x100 */ f32 unk100; +/* 0x104 */ UNK_TYPE1 pad104[52]; +/* 0x138 */ u16 unk138; +/* 0x13A */ UNK_TYPE1 pad13A[4]; +/* 0x13E */ u16 unk13E; +/* 0x140 */ s16 unk140; +/* 0x142 */ s16 unk142; +/* 0x144 */ UNK_TYPE1 pad144[4]; +/* 0x148 */ s16 unk148; +/* 0x14A */ UNK_TYPE1 pad14A[2]; +/* 0x14C */ s16 unk14C; +/* 0x14E */ UNK_TYPE1 pad14E[6]; +/* 0x154 */ s16 unk154; +/* 0x156 */ UNK_TYPE1 pad156[16]; +/* 0x166 */ s16 unk166; +/* 0x168 */ UNK_TYPE1 pad168[16]; +} Camera; + typedef struct { /* 0x0 */ u32 unk0; /* 0x4 */ u8 unk4; @@ -56,7 +142,7 @@ typedef struct { typedef struct { /* 0x0 */ u32 collidesWith; /* 0x4 */ u8 unk4; -/* 0x5 */ u8 unk5; +/* 0x5 */ u8 damage; } ColTouch; typedef struct { @@ -70,7 +156,7 @@ typedef struct { /* 0x1 */ u8 green; /* 0x2 */ u8 blue; /* 0x3 */ u8 alpha; -} Color; +} ColorRGBA8; typedef struct { /* 0x00 */ u8 cutsceneCount; @@ -89,6 +175,13 @@ typedef struct { /* 0x4 */ UNK_TYPE1 pad4[4]; } CutsceneEntry; +typedef struct { +/* 0x00 */ u32 chestFlags; +/* 0x04 */ u32 switchFlags[2]; +/* 0x0C */ u32 clearedRooms; +/* 0x10 */ u32 collectibleFlags; +} CycleSceneFlags; + typedef struct { /* 0x0 */ u32 size; /* 0x4 */ void* unk4; @@ -96,6 +189,28 @@ 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; @@ -156,6 +271,12 @@ typedef enum EffectSSType { EFFECT_SS2_TYPE_LAST_LABEL = 0x27 } EffectSSType; +typedef struct { +/* 0x0 */ s8 scene; // TODO what does it means for this to be neagtive? +/* 0x1 */ s8 unk1; +/* 0x2 */ u16 unk2; +} EntranceRecord; + typedef struct { /* 0x0 */ s16 x; /* 0x2 */ s16 y; @@ -182,6 +303,33 @@ typedef struct { /* 0xF */ s8 a; } F3DVertexNormal; +typedef struct { +/* 0x0 */ f32 size; +/* 0x4 */ f32 dynamicSizeStep; +/* 0x8 */ u8 state; +/* 0x9 */ u8 sizeGrowsCos2; +/* 0xA */ u8 unkA; +/* 0xB */ u8 flags; +/* 0xC */ u8 unkC; +} FireObjInitParams; + +typedef struct { +/* 0x0 */ u8 unk0; +/* 0x1 */ u8 unk1; +/* 0x2 */ u8 unk2; +/* 0x3 */ u8 unk3; +/* 0x4 */ u8 unk4; +/* 0x5 */ u8 unk5; +/* 0x6 */ u8 unk6; +/* 0x7 */ u8 unk7; +} FireObjLightParams; + +// Font textures are loaded into here +typedef struct { +/* 0x0000 */ u8 unk0[128][120][2]; +/* 0x7800 */ u8 unk7800[128][93]; +} Font; + typedef struct { /* 0x0 */ UNK_TYPE4 size; /* 0x4 */ void* heapStart; @@ -192,49 +340,7 @@ typedef struct { typedef struct { /* 0x00 */ s32 unk0; /* 0x04 */ UNK_TYPE1 pad4[64]; -} GlobalContext17d98; - -typedef struct { -/* 0x000 */ UNK_TYPE1 pad0[104]; -/* 0x068 */ f32 unk68; -/* 0x06C */ f32 unk6C; -/* 0x070 */ f32 unk70; -/* 0x074 */ UNK_TYPE1 pad74[12]; -/* 0x080 */ f32 unk80; -/* 0x084 */ f32 unk84; -/* 0x088 */ f32 unk88; -/* 0x08C */ UNK_TYPE1 pad8C[52]; -/* 0x0C0 */ f32 unkC0; -/* 0x0C4 */ f32 unkC4; -/* 0x0C8 */ f32 unkC8; -/* 0x0CC */ f32 unkCC; -/* 0x0D0 */ f32 unkD0; -/* 0x0D4 */ f32 unkD4; -/* 0x0D8 */ UNK_TYPE1 padD8[36]; -/* 0x0FC */ f32 unkFC; -/* 0x100 */ f32 unk100; -/* 0x104 */ UNK_TYPE1 pad104[52]; -/* 0x138 */ u16 unk138; -/* 0x13A */ UNK_TYPE1 pad13A[4]; -/* 0x13E */ u16 unk13E; -/* 0x140 */ s16 unk140; -/* 0x142 */ s16 unk142; -/* 0x144 */ UNK_TYPE1 pad144[4]; -/* 0x148 */ s16 unk148; -/* 0x14A */ UNK_TYPE1 pad14A[2]; -/* 0x14C */ s16 unk14C; -/* 0x14E */ UNK_TYPE1 pad14E[6]; -/* 0x154 */ s16 unk154; -/* 0x156 */ UNK_TYPE1 pad156[16]; -/* 0x166 */ s16 unk166; -/* 0x168 */ UNK_TYPE1 pad168[16]; -} GlobalContext220; - -// Font textures are loaded into here -typedef struct { -/* 0x0000 */ u8 unk0[128][120][2]; -/* 0x7800 */ u8 unk7800[128][93]; -} GlobalContext4A70; +} GlobalContext17D98; typedef struct { /* 0x000 */ Gfx* polyOpaBuffer; @@ -330,6 +436,19 @@ typedef struct { /* 0x10 */ Light lights[7]; } 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; @@ -343,6 +462,10 @@ typedef struct { /* 0x10 */ u32 amountOfRelocations; } OverlayBlockSizes; +typedef struct { +/* 0x00 */ UNK_TYPE1 pad0[28]; +} PermanentSceneFlags; + typedef struct { /* 0x0 */ u8 red; /* 0x1 */ u8 green; @@ -354,28 +477,70 @@ 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; +// Extra information in the save context that is not saved +typedef struct { +/* 0x000 */ UNK_TYPE1 pad0[712]; +/* 0x2C8 */ CycleSceneFlags cycleSceneFlags[120]; +} SaveContextExtra; + +typedef struct { +/* 0x00 */ u8 items[24]; +/* 0x18 */ u8 masks[24]; +/* 0x30 */ u8 quantities[24]; +/* 0x48 */ UNK_TYPE1 pad48[64]; +} SaveContextInventory; + +// Save Context that is only stored in an owl save +typedef struct { +/* 0x0000 */ UNK_TYPE1 pad0[11412]; +} SaveContextOwl; + typedef struct { /* 0x00 */ u8 zelda[6]; // Will always be "ZELDA3" for a valid save -/* 0x06 */ UNK_TYPE1 pad6[34]; +/* 0x06 */ UNK_TYPE1 pad6[10]; +/* 0x10 */ s16 maxLife; +/* 0x12 */ s16 currentLife; +/* 0x14 */ UNK_TYPE1 pad14[1]; +/* 0x15 */ s8 currentMagic; +/* 0x16 */ UNK_TYPE1 pad16[18]; } SaveContext_struct1; typedef struct { /* 0x00 */ UNK_TYPE1 pad0[34]; } SaveContext_struct2; -typedef struct { -/* 0x00 */ UNK_TYPE1 pad0[136]; -} SaveContext_struct3; - typedef struct { /* 0x0 */ UNK_TYPE1 pad0[16]; } SceneActorInit; +typedef struct { +/* 0x0 */ u32 entranceCount; +/* 0x4 */ EntranceRecord** entrances; +/* 0x8 */ char* name; +} SceneEntranceTableEnty; + typedef struct { /* 0x0 */ u8 command; /* 0x1 */ u8 unk1; @@ -406,6 +571,22 @@ typedef struct { /* 0xE */ UNK_TYPE1 padE[2]; } SceneTableEntry; +typedef struct { +/* 0x0 */ s8 letterboxTarget; +/* 0x1 */ s8 letterboxMagnitude; +/* 0x2 */ s8 pillarboxTarget; +/* 0x3 */ s8 pillarboxMagnitude; +} ShrinkWindowContext; + +typedef struct { +/* 0x00 */ UNK_TYPE1 pad0[4]; +/* 0x04 */ void* savefile; +/* 0x08 */ UNK_TYPE1 pad8[4]; +/* 0x0C */ s16 unkC; +/* 0x0E */ UNK_TYPE1 padE[10]; +/* 0x18 */ OSTime unk18; +} SramContext; + typedef struct { /* 0x0000 */ u8 unk0; /* 0x0001 */ u8 unk1; @@ -426,12 +607,32 @@ typedef struct { /* 0x0A7E */ UNK_TYPE1 padA7E[2902]; } StaticContext; +typedef struct { +/* 0x00 */ UNK_TYPE4 unk0; +/* 0x04 */ UNK_TYPE4 unk4; +/* 0x08 */ UNK_TYPE4 unk8; +/* 0x0C */ f32 unkC; +/* 0x10 */ ColorRGBA8 unk10; +} TargetContextEntry; + typedef enum ThreadStackStatus { THREAD_STACK_STATUS_GOOD = 0x0, THREAD_STACK_STATUS_WARNING = 0x1, THREAD_STACK_STATUS_FULL = 0x2 } ThreadStackStatus; +typedef struct { +/* 0x0 */ u32 texture; +/* 0x4 */ s16 unk4; +/* 0x6 */ s16 unk6; +/* 0x8 */ u8 unk8; +/* 0x9 */ u8 unk9; +/* 0xA */ u8 fadeOutDelay; +/* 0xB */ u8 fadeInDelay; +/* 0xC */ s16 alpha; +/* 0xE */ s16 color; +} TitleCardContext; + typedef struct { /* 0x0 */ s8 unk0; /* 0x1 */ UNK_TYPE1 pad1[1]; @@ -458,32 +659,11 @@ typedef struct { } Vector3s; typedef struct { -/* 0x000 */ u32 magic; // always 0x56494557, "VIEW" -/* 0x004 */ GraphicsContext* graphics; -/* 0x008 */ UNK_TYPE1 pad8[16]; -/* 0x018 */ f32 unk18; -/* 0x01C */ f32 unk1C; -/* 0x020 */ f32 unk20; -/* 0x024 */ f32 unk24; -/* 0x028 */ Vector3f unk28; -/* 0x034 */ Vector3f unk34; -/* 0x040 */ Vector3f unk40; -/* 0x04C */ UNK_TYPE1 pad4C[220]; -/* 0x128 */ f32 unk128; -/* 0x12C */ f32 unk12C; -/* 0x130 */ f32 unk130; -/* 0x134 */ f32 unk134; -/* 0x138 */ f32 unk138; -/* 0x13C */ f32 unk13C; -/* 0x140 */ f32 unk140; -/* 0x144 */ f32 unk144; -/* 0x148 */ f32 unk148; -/* 0x14C */ f32 unk14C; -/* 0x150 */ f32 unk150; -/* 0x154 */ f32 unk154; -/* 0x158 */ f32 unk158; -/* 0x15C */ UNK_TYPE1 pad15C[12]; -} View; +/* 0x0 */ s32 topY; +/* 0x4 */ s32 bottomY; +/* 0x8 */ s32 leftX; +/* 0xC */ s32 rightX; +} Viewport; typedef struct { /* 0x00 */ void* bufferEnd; @@ -599,6 +779,17 @@ typedef struct { /* 0x34 */ u32 unk34; } s8018CFAC; +typedef struct { +/* 0x0 */ u8 unk0; +/* 0x1 */ u8 unk1; +/* 0x2 */ u8 unk2; +/* 0x3 */ u8 unk3; +/* 0x4 */ u8 unk4; +/* 0x5 */ u8 unk5; +/* 0x6 */ u8 unk6; +/* 0x7 */ u8 unk7; +} s801AEC84; + typedef struct { /* 0x00 */ UNK_TYPE1 pad0[20]; } s801FE7C0; @@ -626,15 +817,49 @@ typedef struct { /* 0x14 */ s16 unk14; /* 0x16 */ u8 unk16; /* 0x17 */ u8 unk17; +/* 0x18 */ UNK_TYPE1 pad18[2]; +/* 0x1A */ u8 unk1A; +/* 0x1B */ UNK_TYPE1 pad1B[1]; } ActorA0; typedef struct { -/* 0x00 */ Vector3s rotation; -/* 0x08 */ f32 yDisplacement; -/* 0x0C */ func_ptr postDrawFunc; // TODO params (z_Actor*, UNK*, z_GlobalContext*) -/* 0x10 */ f32 unk10; -/* 0x14 */ s8 unk14; -} ActorBC; +/* 0x00 */ Vector3f scale; +/* 0x0C */ Vector3s rotation; +/* 0x14 */ Vector3f pos; +} ActorMeshParams; + +typedef struct { +/* 0x0 */ u16 attributeIndex; +/* 0x2 */ u16 vertA; // upper 3 bits contain flags +/* 0x4 */ u16 vertB; // upper 3 bits contain flags +/* 0x6 */ u16 vertC; +/* 0x8 */ Vector3s normal; +/* 0xE */ UNK_TYPE1 padE[2]; +} BgPolygon; + +typedef struct { +/* 0x0 */ BgPolygonLinkedListNode* nodes; +/* 0x4 */ u32 nextFreeNode; +/* 0x8 */ u32 maxNodes; +} BgPolygonLinkedList; + +typedef struct { +/* 0x0 */ Vector3s pos; +} BgVertex; + +typedef struct { +/* 0x0 */ Vector3s minPos; +/* 0x6 */ UNK_TYPE1 xLength; // Created by retype action +/* 0x7 */ UNK_TYPE1 pad7[1]; +/* 0x8 */ UNK_TYPE1 zLength; // Created by retype action +/* 0x9 */ UNK_TYPE1 pad9[3]; +/* 0xC */ u32 properties; +} BgWaterBox; + +typedef struct { +/* 0x0 */ UNK_TYPE1 pad0[4]; +/* 0x4 */ BgWaterBox* boxes; +} BgWaterboxList; typedef struct { /* 0x00 */ u8 unk0; @@ -707,8 +932,8 @@ typedef struct { /* 0x00 */ Vector3f position; /* 0x0C */ Vector3f velocity; /* 0x18 */ Vector3f acceleration; -/* 0x24 */ Color color1; -/* 0x28 */ Color color2; +/* 0x24 */ ColorRGBA8 color1; +/* 0x28 */ ColorRGBA8 color2; /* 0x2C */ s16 scale; /* 0x2E */ s16 scaleChangePerFrame; /* 0x30 */ s16 life; @@ -737,40 +962,12 @@ typedef struct { } GameStateMetaInfo; typedef struct { -/* 0x000 */ View unk0; -/* 0x168 */ UNK_TYPE1 pad168[194]; -/* 0x22A */ s16 unk22A; -/* 0x22C */ s16 unk22C; -/* 0x22E */ s16 unk22E; -/* 0x230 */ s16 unk230; -/* 0x232 */ s16 unk232; -/* 0x234 */ s16 unk234; -/* 0x236 */ s16 unk236; -/* 0x238 */ s16 unk238; -/* 0x23A */ s16 unk23A; -/* 0x23C */ s16 unk23C; -/* 0x23E */ s16 unk23E; -/* 0x240 */ s16 unk240; -/* 0x242 */ s16 unk242; -/* 0x244 */ s16 unk244; -/* 0x246 */ s16 unk246; -/* 0x248 */ s16 unk248; -/* 0x24A */ s16 unk24A; -/* 0x24C */ s16 unk24C; -/* 0x24E */ s16 unk24E; -/* 0x250 */ s16 unk250; -/* 0x252 */ s16 unk252; -/* 0x254 */ s16 unk254; -/* 0x256 */ UNK_TYPE1 pad256[26]; -/* 0x270 */ s16 unk270; -/* 0x272 */ UNK_TYPE1 pad272[214]; -} GlobalContext169E8; - -typedef struct { -/* 0x00000 */ View unk0; -/* 0x00168 */ GlobalContext4A70 unk168; -/* 0x0A7E8 */ UNK_TYPE1 padA7E8[30960]; -} GlobalContext4908; +/* 0x00 */ u8 unk0; +/* 0x01 */ u8 unk1; +/* 0x02 */ u16 unk2; +/* 0x04 */ Vector3f unk4; +/* 0x10 */ Vector3f unk10; +} GlobalContext1F78; typedef struct { /* 0x0 */ u8 type; @@ -788,18 +985,36 @@ typedef struct { } LineSegment; typedef struct { -/* 0x0000 */ UNK_TYPE1 pad0[12]; +/* 0x00 */ Vector3f pos; +/* 0x0C */ Vector3s rot; +} PosRot; + +// 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 +/* 0x0004 */ UNK_TYPE1 pad4[4]; +/* 0x0008 */ u32 cutscene; /* 0x000C */ u16 time; -/* 0x000E */ UNK_TYPE1 padE[22]; +/* 0x000E */ UNK_TYPE1 padE[10]; +/* 0x0018 */ u32 day; +/* 0x001C */ u32 daysElapsed; +/* 0x0020 */ UNK_TYPE1 pad20[3]; +/* 0x0023 */ u8 owlSave; /* 0x0024 */ SaveContext_struct1 unk24; /* 0x004C */ SaveContext_struct2 unk4C; /* 0x006E */ UNK_TYPE1 pad6E[2]; -/* 0x0070 */ SaveContext_struct3 unk70; -/* 0x00F8 */ UNK_TYPE1 padF8[3684]; +/* 0x0070 */ SaveContextInventory inv; +/* 0x00F8 */ PermanentSceneFlags sceneFlags[120]; +/* 0x0E18 */ UNK_TYPE1 padE18[224]; +/* 0x0EF8 */ u8 weekEventReg[100]; /* 0x0F5C */ u32 mapsVisited; -/* 0x0F60 */ UNK_TYPE1 padF60[170]; +/* 0x0F60 */ UNK_TYPE1 padF60[140]; +/* 0x0FEC */ u8 lotteryCodes[9]; +/* 0x0FF5 */ u8 spiderHouseMaskOrder[6]; +/* 0x0FFB */ u8 bomberCode[5]; +/* 0x1000 */ UNK_TYPE1 pad1000[10]; /* 0x100A */ u16 checksum; -} SaveContext; +} SaveContextPerm; typedef struct { /* 0x000 */ void* objectVramStart; @@ -811,6 +1026,51 @@ typedef struct { /* 0x00C */ SceneObject objects[35]; } SceneContext; +typedef struct { +/* 0x000 */ u32 magic; +/* 0x004 */ GraphicsContext* graphics; +/* 0x008 */ Viewport viewport; +/* 0x018 */ f32 fov; +/* 0x01C */ f32 nearClippingPlane; +/* 0x020 */ f32 farClippingPlane; +/* 0x024 */ f32 scale; +/* 0x028 */ Vector3f eye; +/* 0x034 */ Vector3f focalPoint; +/* 0x040 */ Vector3f upDir; +/* 0x04C */ UNK_TYPE1 pad4C[4]; +/* 0x050 */ Vp gfxVp; +/* 0x060 */ RSPMatrix unk60; +/* 0x0A0 */ RSPMatrix unkA0; +/* 0x0E0 */ Mtx unkE0; +/* 0x120 */ Mtx* viewMatrix; +/* 0x124 */ Mtx* unk124; +/* 0x128 */ Vector3f quakeRot; +/* 0x134 */ Vector3f quakeScale; +/* 0x140 */ f32 quakeSpeed; +/* 0x144 */ Vector3f currQuakeRot; +/* 0x150 */ Vector3f currQuakeScale; +/* 0x15C */ u16 perspNorm; +/* 0x15E */ UNK_TYPE1 pad15E[2]; +/* 0x160 */ u32 flags; // bit 3: Render to an orthographic perspective +/* 0x164 */ UNK_TYPE1 pad164[4]; +} View; + +typedef struct { +/* 0x00 */ Vector3s min; +/* 0x06 */ Vector3s max; +/* 0x0C */ u16 numVertices; +/* 0x0E */ UNK_TYPE1 padE[2]; +/* 0x10 */ BgVertex* vertices; +/* 0x14 */ u16 numPolygons; +/* 0x16 */ UNK_TYPE1 pad16[2]; +/* 0x18 */ BgPolygon* polygons; +/* 0x1C */ BgPolygonAttributes* attributes; +/* 0x20 */ UNK_TYPE1 pad20[4]; +/* 0x24 */ u16 numWaterBoxes; +/* 0x26 */ UNK_TYPE1 pad26[2]; +/* 0x28 */ BgWaterBox* waterboxes; +} BgMeshHeader; + typedef struct { /* 0x00 */ ColCommonInit base; /* 0x08 */ ColBodyInfoInit body; @@ -846,6 +1106,57 @@ typedef struct { /* 0x18 */ ColTriParamsInit params; } ColTriInit; +typedef struct { +/* 0x000 */ View view; +/* 0x168 */ UNK_TYPE1 pad168[132]; +/* 0x1EC */ u16 unk1EC; +/* 0x1EE */ u16 unk1EE; +/* 0x1F0 */ UNK_TYPE1 pad1F0[4]; +/* 0x1F4 */ f32 unk1F4; +/* 0x1F8 */ UNK_TYPE1 pad1F8[12]; +/* 0x204 */ u16 unk204; +/* 0x206 */ UNK_TYPE1 pad206[6]; +/* 0x20C */ f32 unk20C; +/* 0x210 */ f32 unk210; +/* 0x214 */ f32 unk214; +/* 0x218 */ f32 unk218; +/* 0x21C */ f32 unk21C; +/* 0x220 */ f32 unk220; +/* 0x224 */ UNK_TYPE1 pad224[172]; +} GlobalContext16D30; + +typedef struct { +/* 0x000 */ View view; +/* 0x168 */ UNK_TYPE1 pad168[190]; +/* 0x226 */ s16 lifeColorChange; +/* 0x228 */ s16 lifeColorChangeDirection; +/* 0x22A */ s16 unk22A; +/* 0x22C */ s16 unk22C; +/* 0x22E */ s16 unk22E; +/* 0x230 */ s16 unk230; +/* 0x232 */ s16 unk232; +/* 0x234 */ s16 unk234; +/* 0x236 */ s16 unk236; +/* 0x238 */ s16 unk238; +/* 0x23A */ s16 unk23A; +/* 0x23C */ s16 unk23C; +/* 0x23E */ s16 unk23E; +/* 0x240 */ s16 unk240; +/* 0x242 */ s16 unk242; +/* 0x244 */ s16 unk244; +/* 0x246 */ s16 unk246; +/* 0x248 */ s16 unk248; +/* 0x24A */ s16 unk24A; +/* 0x24C */ s16 unk24C; +/* 0x24E */ s16 unk24E; +/* 0x250 */ s16 unk250; +/* 0x252 */ s16 lifeSizeChange; +/* 0x254 */ s16 lifeSizeChangeDirection; // 1 means shrinking, 0 growing +/* 0x256 */ UNK_TYPE1 pad256[26]; +/* 0x270 */ s16 lifeAlpha; +/* 0x272 */ UNK_TYPE1 pad272[214]; +} InterfaceContext; + typedef struct { /* 0x00 */ UNK_TYPE1 pad0[4]; /* 0x04 */ f32 unk4; @@ -898,6 +1209,23 @@ typedef struct { /* 0xE1 */ UNK_TYPE1 padE1[17]; } KankyoContext; +typedef struct { +/* 0x00000 */ View view; +/* 0x00168 */ Font font; +/* 0x0A7E8 */ UNK_TYPE1 padA7E8[30492]; +/* 0x11F04 */ u16 unk11F04; +/* 0x11F06 */ UNK_TYPE1 pad11F06[28]; +/* 0x11F22 */ u8 unk11F22; +/* 0x11F23 */ UNK_TYPE1 pad11F23[437]; +} MessageContext; + +// Full save context +typedef struct { +/* 0x0000 */ SaveContextPerm perm; +/* 0x100C */ SaveContextOwl owl; +/* 0x3CA0 */ SaveContextExtra extra; +} SaveContext; + typedef struct { /* 0x0 */ ColCommonInit base; /* 0x8 */ u32 count; @@ -925,11 +1253,63 @@ typedef struct { /* 0x1F */ UNK_TYPE1 pad1F[1]; } ActorOverlayTableEntry; +typedef struct ActorMesh ActorMesh; + +typedef struct BgDynaCollision BgDynaCollision; + +typedef struct BgCheckContext BgCheckContext; + typedef struct ActorPlayer ActorPlayer; +typedef struct ActorPostDrawParams ActorPostDrawParams; + typedef struct ActorTypeList ActorTypeList; -typedef struct ActorContext ActorContext; +typedef struct BgActor BgActor; + +struct ActorMesh { +/* 0x00 */ BgActor* actor; +/* 0x04 */ BgMeshHeader* header; +/* 0x08 */ ActorMeshPolyLists polyLists; +/* 0x10 */ s16 verticesStartIndex; +/* 0x12 */ s16 waterboxesStartIndex; +/* 0x14 */ ActorMeshParams prevParams; +/* 0x34 */ ActorMeshParams currParams; +/* 0x54 */ Vector3s averagePos; +/* 0x5A */ s16 radiusFromAveragePos; +/* 0x5C */ f32 minY; +/* 0x60 */ f32 maxY; +}; + +struct BgDynaCollision { +/* 0x0000 */ u8 unk0; +/* 0x0001 */ UNK_TYPE1 pad1[3]; +/* 0x0004 */ ActorMesh actorMeshes[50]; +/* 0x138C */ u16 meshParams[50]; // bit 0 - Is mesh active +/* 0x13F0 */ BgPolygon* polygons; +/* 0x13F4 */ BgVertex* vertices; +/* 0x13F8 */ BgWaterboxList waterboxes; +/* 0x1400 */ BgPolygonLinkedList polygonList; +/* 0x140C */ u32 maxNodes; +/* 0x1410 */ u32 maxPolygons; +/* 0x1414 */ u32 maxVertices; +/* 0x1418 */ u32 maxMemory; +/* 0x141C */ u32 unk141C; +}; + +struct BgCheckContext { +/* 0x0000 */ BgMeshHeader* sceneMesh; +/* 0x0004 */ Vector3f sceneMin; +/* 0x0010 */ Vector3f sceneMax; +/* 0x001C */ s32 xSubdivisions; +/* 0x0020 */ s32 ySubdivisions; +/* 0x0024 */ s32 zSubdivisions; +/* 0x0028 */ Vector3f subdivisionSize; +/* 0x0034 */ Vector3f inverseSubdivisionSize; +/* 0x0040 */ BgMeshSubdivision* subdivisions; +/* 0x0044 */ BgScenePolygonLists scenePolyLists; +/* 0x0050 */ BgDynaCollision dyna; +}; typedef struct ColCommon ColCommon; @@ -980,6 +1360,8 @@ typedef struct ColSphereGroup ColSphereGroup; typedef struct ColTriGroup ColTriGroup; +typedef struct ActorBgIknvObj ActorBgIknvObj; + typedef struct ActorEnBom ActorEnBom; typedef struct ActorEnFirefly ActorEnFirefly; @@ -988,12 +1370,26 @@ typedef struct ActorObjBell ActorObjBell; typedef struct ContextCommon ContextCommon; +typedef struct DaytelopContext DaytelopContext; + +typedef struct FileChooseContext FileChooseContext; + +typedef void(*filechoose_update_func)(FileChooseContext* ctxt); + typedef struct OpeningContext OpeningContext; +typedef struct PrenmiContext PrenmiContext; + typedef struct TitleContext TitleContext; +typedef struct EffFootmark EffFootmark; + typedef struct EffectTableInfo EffectTableInfo; +typedef struct FireObj FireObj; + +typedef struct FireObjLight FireObjLight; + typedef struct GameAllocNode GameAllocNode; struct GameAllocNode { @@ -1021,17 +1417,84 @@ struct ContextCommon { /* 0xA3 */ UNK_TYPE1 padA3[1]; }; +struct DaytelopContext { +/* 0x000 */ ContextCommon common; +/* 0x0A4 */ UNK_TYPE1 padA4[12]; +/* 0x0B0 */ View view; +/* 0x218 */ UNK_TYPE1 pad218[40]; +/* 0x240 */ s16 transitionCountdown; +/* 0x242 */ s16 unk242; +/* 0x244 */ s16 unk244; +/* 0x246 */ UNK_TYPE1 pad246[2]; +}; + +struct FileChooseContext { +/* 0x00000 */ ContextCommon common; +/* 0x000A4 */ UNK_TYPE1 padA4[20]; +/* 0x000B8 */ View view; +/* 0x00220 */ SramContext sram; +/* 0x00240 */ UNK_TYPE1 pad240[74512]; +/* 0x12550 */ Font unk12550; +/* 0x1CBD0 */ UNK_TYPE1 pad1CBD0[30896]; +/* 0x24480 */ s16 unk24480; +/* 0x24482 */ UNK_TYPE1 pad24482[2]; +/* 0x24484 */ s16 unk24484; +/* 0x24486 */ s16 unk24486; +/* 0x24488 */ UNK_TYPE1 pad24488[4]; +/* 0x2448C */ s16 unk2448C; +/* 0x2448E */ UNK_TYPE1 pad2448E[26]; +/* 0x244A8 */ s16 unk244A8; +/* 0x244AA */ UNK_TYPE1 pad244AA[2]; +/* 0x244AC */ s16 unk244AC; +/* 0x244AE */ s16 unk244AE; +/* 0x244B0 */ s16 unk244B0; +/* 0x244B2 */ s16 unk244B2; +/* 0x244B4 */ s16 unk244B4; +/* 0x244B6 */ s16 unk244B6; +/* 0x244B8 */ s16 unk244B8; +/* 0x244BA */ s16 unk244BA; +/* 0x244BC */ UNK_TYPE1 pad244BC[24]; +/* 0x244D4 */ s16 unk244D4; +/* 0x244D6 */ UNK_TYPE1 pad244D6[4]; +/* 0x244DA */ s16 unk244DA; +/* 0x244DC */ UNK_TYPE1 pad244DC[10]; +/* 0x244E6 */ s16 unk244E6; +/* 0x244E8 */ UNK_TYPE1 pad244E8[8]; +/* 0x244F0 */ s16 unk244F0; +/* 0x244F2 */ s16 unk244F2; +/* 0x244F4 */ UNK_TYPE1 pad244F4[6]; +/* 0x244FA */ s16 inputXChangeCooldown; +/* 0x244FC */ s16 inputYChangeCooldown; +/* 0x244FE */ s16 inputXDir; +/* 0x24500 */ s16 inputYDir; +/* 0x24502 */ s16 inputX; +/* 0x24504 */ s16 inputY; +/* 0x24506 */ UNK_TYPE1 pad24506[2]; +/* 0x24508 */ s16 unk24508; +/* 0x2450A */ s16 unk2450A; +/* 0x2450C */ UNK_TYPE1 pad2450C[28]; +/* 0x24528 */ s16 unk24528; +/* 0x2452A */ UNK_TYPE1 pad2452A[46]; +}; + struct OpeningContext { /* 0x000 */ ContextCommon common; /* 0x0A4 */ UNK_TYPE1 padA4[4]; -/* 0x0A8 */ View unkA8; +/* 0x0A8 */ View view; +}; + +struct PrenmiContext { +/* 0x00 */ ContextCommon common; +/* 0xA4 */ s32 timer; +/* 0xA8 */ UNK_TYPE4 unkA8; }; struct TitleContext { /* 0x000 */ ContextCommon common; /* 0x0A4 */ u8* nintendo_logo_data; -/* 0x0A8 */ View unkA8; -/* 0x210 */ UNK_TYPE1 pad210[40]; +/* 0x0A8 */ View view; +/* 0x210 */ SramContext sram; +/* 0x230 */ UNK_TYPE1 pad230[8]; /* 0x238 */ s16 unk238; /* 0x23A */ s16 logoCoverAlpha; /* 0x23C */ s16 logoCoverAlphaChangePerFrame; @@ -1042,32 +1505,6 @@ struct TitleContext { /* 0x245 */ UNK_TYPE1 pad245[3]; }; -typedef struct GlobalContext GlobalContext; - -typedef void(*collision_func)(GlobalContext*, CollisionContext*, ColCommon*, ColCommon*); - -typedef void(*cutscene_update_func)(GlobalContext* ctxt, CutsceneContext* cCtxt); - -typedef void(*draw_func)(GlobalContext* ctxt, s16 index); - -typedef void(*global_context_func)(GlobalContext*); - -typedef void(*light_map_positional_func)(LightMapper* mapper, void* params, GlobalContext* ctxt); - -typedef struct { -/* 0x00 */ draw_func unk0; -/* 0x04 */ u32 unk4; -/* 0x08 */ u32 unk8; -/* 0x0C */ u32 unkC; -/* 0x10 */ u32 unk10; -/* 0x14 */ u32 unk14; -/* 0x18 */ u32 unk18; -/* 0x1C */ u32 unk1C; -/* 0x20 */ u32 unk20; -} s801BB170; - -typedef void(*scene_header_func)(GlobalContext* ctxt, SceneHeaderEntry* entry); - typedef struct Heap Heap; typedef struct HeapNode HeapNode; @@ -1095,6 +1532,36 @@ typedef struct AudioThreadStruct AudioThreadStruct; typedef struct LightingContext LightingContext; +typedef struct GlobalContext GlobalContext; + +typedef s32(*collision_add_func)(GlobalContext*, ColCommon*); + +typedef void(*collision_func)(GlobalContext*, CollisionContext*, ColCommon*, ColCommon*); + +typedef void(*cutscene_update_func)(GlobalContext* ctxt, CutsceneContext* cCtxt); + +typedef void(*draw_func)(GlobalContext* ctxt, s16 index); + +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 struct { +/* 0x00 */ draw_func unk0; +/* 0x04 */ u32 unk4; +/* 0x08 */ u32 unk8; +/* 0x0C */ u32 unkC; +/* 0x10 */ u32 unk10; +/* 0x14 */ u32 unk14; +/* 0x18 */ u32 unk18; +/* 0x1C */ u32 unk1C; +/* 0x20 */ u32 unk20; +} s801BB170; + +typedef void(*scene_header_func)(GlobalContext* ctxt, SceneHeaderEntry* entry); + typedef struct LightsList LightsList; typedef struct LoadedParticleEntry LoadedParticleEntry; @@ -1115,9 +1582,7 @@ struct LoadedParticleEntry { /* 0x18 */ Vector3f acceleration; /* 0x24 */ effect_func update; /* 0x28 */ global_context_func draw; -/* 0x2C */ f32 unk2C; -/* 0x30 */ f32 unk30; -/* 0x34 */ f32 unk34; +/* 0x2C */ Vector3f unk2C; /* 0x38 */ u32 displayList; /* 0x3C */ UNK_TYPE4 unk3C; /* 0x40 */ s16 regs[13]; // These are particle-specific @@ -1226,6 +1691,10 @@ struct AudioThreadStruct { /* 0x130 */ OSThread unk130; }; +typedef struct TargetContext TargetContext; + +typedef struct ActorContext ActorContext; + typedef struct ThreadInfo ThreadInfo; struct ThreadInfo { @@ -1240,6 +1709,12 @@ struct ThreadInfo { typedef struct z_Light z_Light; +struct FireObjLight { +/* 0x00 */ z_Light* light; +/* 0x04 */ LightInfoPositional lightInfo; +/* 0x12 */ u8 unk12; +}; + struct LightingContext { /* 0x0 */ z_Light* lightsHead; /* 0x4 */ u8 ambientRed; @@ -1274,11 +1749,11 @@ struct ActorTypeList { struct ColCommon { /* 0x00 */ Actor* actor; -/* 0x04 */ Actor* unk4; -/* 0x08 */ Actor* unk8; -/* 0x0C */ Actor* unkC; -/* 0x10 */ u8 unk10; -/* 0x11 */ u8 unk11; +/* 0x04 */ Actor* collisionAT; +/* 0x08 */ Actor* collisionAC; +/* 0x0C */ Actor* collisionOT; +/* 0x10 */ u8 flagsAT; +/* 0x11 */ u8 flagsAC; // bit 1 - collision occured? /* 0x12 */ u8 unk12; /* 0x13 */ u8 unk13; /* 0x14 */ u8 unk14; @@ -1316,30 +1791,208 @@ struct ColTriGroup { /* 0x1C */ ColTri* tris; }; +struct EffFootmark { +/* 0x00 */ z_Matrix displayMatrix; +/* 0x40 */ Actor* actor; +/* 0x44 */ Vector3f location; +/* 0x50 */ u8 flags; // bit 0 - footmark fades out +/* 0x51 */ u8 id; +/* 0x52 */ u8 red; +/* 0x53 */ u8 blue; +/* 0x54 */ u8 green; +/* 0x55 */ UNK_TYPE1 pad55[1]; +/* 0x56 */ u16 alpha; +/* 0x58 */ u16 alphaChange; +/* 0x5A */ u16 size; +/* 0x5C */ u16 fadeoutDelay; +/* 0x5E */ u16 age; +}; + +struct FireObj { +/* 0x00 */ Vector3f position; +/* 0x0C */ f32 size; +/* 0x10 */ f32 sizeInv; +/* 0x14 */ f32 xScale; +/* 0x18 */ f32 yScale; +/* 0x1C */ f32 dynamicSize; +/* 0x20 */ f32 dynamicSizeStep; +/* 0x24 */ u8 state; // 0 - growing, 1 - shrinking, 2 - fully lit, 3 - not lit +/* 0x25 */ u8 sizeGrowsCos2; +/* 0x26 */ u8 unk26; +/* 0x27 */ u8 unk27; +/* 0x28 */ u8 flags; // bit 0 - ?, bit 1 - ? +/* 0x29 */ UNK_TYPE1 pad29[1]; +/* 0x2A */ s16 ignitionDelay; +/* 0x2C */ ColCylinder collision; +/* 0x78 */ FireObjLight light; +}; + +struct TargetContext { +/* 0x00 */ Vector3f unk0; +/* 0x0C */ Vector3f unkC; +/* 0x18 */ f32 unk18; +/* 0x1C */ f32 unk1C; +/* 0x20 */ f32 unk20; +/* 0x24 */ f32 unk24; +/* 0x28 */ f32 unk28; +/* 0x2C */ f32 unk2C; +/* 0x30 */ f32 unk30; +/* 0x34 */ f32 unk34; +/* 0x38 */ UNK_TYPE1 pad38[4]; +/* 0x3C */ Actor* unk3C; +/* 0x40 */ f32 unk40; +/* 0x44 */ f32 unk44; +/* 0x48 */ s16 unk48; +/* 0x4A */ u8 unk4A; +/* 0x4B */ u8 unk4B; +/* 0x4C */ s8 unk4C; +/* 0x4D */ UNK_TYPE1 pad4D[3]; +/* 0x50 */ TargetContextEntry unk50[3]; +/* 0x8C */ UNK_TYPE1 pad8C[12]; +}; + typedef void(*actor_func)(Actor* this, GlobalContext* ctxt); +typedef void(*actor_post_draw_func)(Actor* actor, LightMapper* mapper, GlobalContext* ctxt); + +struct ActorContext { +/* 0x000 */ UNK_TYPE1 pad0[2]; +/* 0x002 */ u8 unk2; +/* 0x003 */ UNK_TYPE1 pad3[1]; +/* 0x004 */ s8 unk4; +/* 0x005 */ u8 unk5; +/* 0x006 */ UNK_TYPE1 pad6[6]; +/* 0x00C */ s16 unkC; +/* 0x00E */ u8 totalLoadedActors; +/* 0x00F */ u8 drawnActorCount; +/* 0x010 */ ActorTypeList actorTypeLists[12]; +/* 0x0A0 */ Actor* drawnActors[32]; // Records the first 32 actors drawn each frame +/* 0x120 */ TargetContext targetContext; +/* 0x1B8 */ u32 switchFlags[4]; // First 0x40 are permanent, second 0x40 are temporary +/* 0x1C8 */ u32 chestFlags; +/* 0x1CC */ u32 clearedRooms; +/* 0x1D0 */ u32 clearedRoomsTemp; +/* 0x1D4 */ u32 collectibleFlags[4]; // bitfield of 128 bits +/* 0x1E4 */ TitleCardContext titleCtxt; +/* 0x1F4 */ u8 unk1F4; +/* 0x1F5 */ u8 unk1F5; +/* 0x1F6 */ UNK_TYPE1 pad1F6[2]; +/* 0x1F8 */ f32 unk1F8; +/* 0x1FC */ Vector3f unk1FC; +/* 0x208 */ UNK_TYPE1 pad208[72]; +/* 0x250 */ void* unk250; // allocation of 0x20f0 bytes? +/* 0x254 */ UNK_TYPE1 pad254[20]; +/* 0x268 */ u8 unk268; +/* 0x269 */ UNK_TYPE1 pad269[27]; +}; + +struct ActorInitData { +/* 0x00 */ s16 id; +/* 0x02 */ u8 type; +/* 0x03 */ UNK_TYPE1 pad3[1]; +/* 0x04 */ s32 flags; +/* 0x08 */ s16 objectDependency; +/* 0x0A */ UNK_TYPE1 padA[2]; +/* 0x0C */ u32 instanceSize; +/* 0x10 */ actor_func init; +/* 0x14 */ actor_func fini; +/* 0x18 */ actor_func main; +/* 0x1C */ actor_func draw; +}; + +struct ActorPostDrawParams { +/* 0x00 */ Vector3s rotation; +/* 0x08 */ f32 yDisplacement; +/* 0x0C */ actor_post_draw_func postDrawFunc; +/* 0x10 */ f32 scale; +/* 0x14 */ s8 alphaScale; // -1 means always draw full opacity if visible +}; + +struct GlobalContext { +/* 0x00000 */ ContextCommon commonVars; +/* 0x000A4 */ s16 currentScene; +/* 0x000A6 */ u8 unkA6; +/* 0x000A7 */ UNK_TYPE1 padA7[9]; +/* 0x000B0 */ void* currentSceneVram; +/* 0x000B4 */ UNK_TYPE1 padB4[4]; +/* 0x000B8 */ View view; +/* 0x00220 */ Camera unk220[4]; +/* 0x00800 */ Camera* cameras[4]; +/* 0x00810 */ s16 activeCamera; +/* 0x00812 */ UNK_TYPE1 pad812[6]; +/* 0x00818 */ LightingContext lightsContext; +/* 0x00828 */ u32 unk828; +/* 0x0082C */ UNK_TYPE1 pad82C[4]; +/* 0x00830 */ BgCheckContext bgCheckContext; +/* 0x01CA0 */ ActorContext actorContext; +/* 0x01F24 */ CutsceneContext cutsceneContext; +/* 0x01F74 */ CutsceneEntry* cutsceneList; +/* 0x01F78 */ GlobalContext1F78 unk1F78[16]; +/* 0x02138 */ EffFootmark footmarks[100]; +/* 0x046B8 */ SramContext sram; +/* 0x046D8 */ UNK_TYPE1 pad46D8[560]; +/* 0x04908 */ MessageContext msgContext; +/* 0x169E0 */ UNK_TYPE1 pad169E0[8]; +/* 0x169E8 */ InterfaceContext interface; +/* 0x16D30 */ GlobalContext16D30 unk16D30; +/* 0x17000 */ u16 unk17000; +/* 0x17002 */ UNK_TYPE1 pad17002[2]; +/* 0x17004 */ KankyoContext kankyoContext; +/* 0x170F8 */ UNK_TYPE1 pad170F8[3216]; +/* 0x17D88 */ SceneContext sceneContext; +/* 0x186E0 */ RoomContext roomContext; +/* 0x18760 */ u8 transitionActorCount; +/* 0x18761 */ UNK_TYPE1 pad18761[3]; +/* 0x18764 */ TransitionActorInit* transitionActorList; +/* 0x18768 */ UNK_TYPE1 pad18768[72]; +/* 0x187B0 */ z_Matrix unk187B0; +/* 0x187F0 */ UNK_TYPE1 pad187F0[12]; +/* 0x187FC */ z_Matrix unk187FC; +/* 0x1883C */ UNK_TYPE1 pad1883C[8]; +/* 0x18844 */ u8 unk18844; +/* 0x18845 */ UNK_TYPE1 pad18845[1]; +/* 0x18846 */ u16 sceneNumActorsToLoad; +/* 0x18848 */ u8 numRooms; +/* 0x18849 */ UNK_TYPE1 pad18849[3]; +/* 0x1884C */ RoomFileLocation* roomAddrs; +/* 0x18850 */ UNK_TYPE1 pad18850[4]; +/* 0x18854 */ SceneActorInit* sceneActorList; +/* 0x18858 */ UNK_TYPE1 pad18858[4]; +/* 0x1885C */ u8* entranceList; +/* 0x18860 */ void* exitList; +/* 0x18864 */ void* pathList; +/* 0x18868 */ UNK_TYPE1 pad18868[4]; +/* 0x1886C */ void* textureAnimations; +/* 0x18870 */ UNK_TYPE1 pad18870[4]; +/* 0x18874 */ u8 unk18874; +/* 0x18875 */ s8 unk18875; +/* 0x18876 */ UNK_TYPE1 pad18876[6]; +/* 0x1887C */ s8 unk1887C; +/* 0x1887D */ UNK_TYPE1 pad1887D[7]; +/* 0x18884 */ CollisionContext collisionContext; +/* 0x18B20 */ UNK_TYPE1 pad18B20[42]; +/* 0x18B4A */ u8 unk18B4A; +/* 0x18B4B */ UNK_TYPE1 pad18B4B[777]; +/* 0x18E54 */ SceneTableEntry* currentSceneTableEntry; +/* 0x18E58 */ UNK_TYPE1 pad18E58[1024]; +}; + struct Actor { /* 0x000 */ s16 id; /* 0x002 */ u8 type; /* 0x003 */ s8 room; /* 0x004 */ UNK_TYPE4 flags; // bit 22: disable positional lights if bit 28 is not set; bit 28: enable positional lights on actor -/* 0x008 */ Vector3f initPos; -/* 0x014 */ Vector3s initRot; -/* 0x01A */ UNK_TYPE1 pad1A[2]; +/* 0x008 */ PosRot initPosRot; /* 0x01C */ s16 variable; /* 0x01E */ s8 objectIndex; /* 0x01F */ UNK_TYPE1 pad1F[1]; /* 0x020 */ s16 unk20; /* 0x022 */ UNK_TYPE1 pad22[2]; -/* 0x024 */ Vector3f pos; -/* 0x030 */ Vector3s speedRot; -/* 0x036 */ UNK_TYPE1 pad36[2]; +/* 0x024 */ PosRot unk24; /* 0x038 */ s8 unk38; /* 0x039 */ u8 unk39; /* 0x03A */ UNK_TYPE1 pad3A[2]; -/* 0x03C */ Vector3f unk3C; -/* 0x048 */ Vector3s unk48; -/* 0x04E */ UNK_TYPE1 pad4E[2]; +/* 0x03C */ PosRot unk3C; /* 0x050 */ u16 unk50; /* 0x052 */ UNK_TYPE1 pad52[2]; /* 0x054 */ f32 unk54; @@ -1353,14 +2006,11 @@ struct Actor { /* 0x08C */ f32 unk8C; /* 0x090 */ u16 unk90; /* 0x092 */ s16 unk92; -/* 0x094 */ UNK_TYPE1 pad94[4]; +/* 0x094 */ f32 unk94; /* 0x098 */ f32 unk98; /* 0x09C */ f32 unk9C; /* 0x0A0 */ ActorA0 unkA0; -/* 0x0B8 */ UNK_TYPE1 padB8[1]; -/* 0x0B9 */ u8 unkB9; -/* 0x0BA */ UNK_TYPE1 padBA[2]; -/* 0x0BC */ ActorBC unkBC; +/* 0x0BC */ ActorPostDrawParams postDrawParams; /* 0x0D4 */ UNK_TYPE1 padD4[24]; /* 0x0EC */ Vector3f unkEC; /* 0x0F8 */ f32 unkF8; @@ -1374,7 +2024,7 @@ struct Actor { /* 0x118 */ UNK_TYPE1 pad118[2]; /* 0x11A */ u16 hitEffectParams; // TODO make into bitfield /* 0x11C */ u8 hitEffectIntensity; -/* 0x11D */ u8 unk11D; +/* 0x11D */ u8 hasBeenDrawn; /* 0x11E */ UNK_TYPE1 pad11E[1]; /* 0x11F */ u8 naviMsgId; /* 0x120 */ Actor* parent; @@ -1402,45 +2052,11 @@ typedef struct { /* 0x261 */ UNK_TYPE1 pad261[3]; } ActorArrowFire; -typedef struct { -/* 0x000 */ Actor base; -/* 0x144 */ UNK_TYPE1 pad144[100]; -/* 0x1A8 */ u32 displayListAddr; -/* 0x1AC */ actor_func updateFunc; -} ActorBgIknvObj; - struct ActorBgMbarChair { /* 0x000 */ Actor base; /* 0x144 */ UNK_TYPE1 pad144[24]; }; -struct ActorContext { -/* 0x000 */ UNK_TYPE1 pad0[2]; -/* 0x002 */ u8 unk2; -/* 0x003 */ UNK_TYPE1 pad3[1]; -/* 0x004 */ s8 unk4; -/* 0x005 */ UNK_TYPE1 pad5[7]; -/* 0x00C */ s16 unkC; -/* 0x00E */ u8 totalLoadedActors; -/* 0x00F */ u8 unkF; -/* 0x010 */ ActorTypeList actorTypeLists[12]; -/* 0x0A0 */ Actor* unkA0; -/* 0x0A4 */ UNK_TYPE1 padA4[180]; -/* 0x158 */ Actor* unk158; -/* 0x15C */ UNK_TYPE1 pad15C[80]; -/* 0x1AC */ Actor* unk1AC; -/* 0x1B0 */ Actor* unk1B0; -/* 0x1B4 */ UNK_TYPE1 pad1B4[24]; -/* 0x1CC */ u32 unk1CC; -/* 0x1D0 */ u32 clearedRooms; -/* 0x1D4 */ u32 collectibleFlags[4]; // bitfield of 128 bits -/* 0x1E4 */ UNK_TYPE1 pad1E4[17]; -/* 0x1F5 */ u8 unk1F5; -/* 0x1F6 */ UNK_TYPE1 pad1F6[90]; -/* 0x250 */ void* unk250; // allocation of 0x20f0 bytes? -/* 0x254 */ UNK_TYPE1 pad254[48]; -}; - typedef struct { /* 0x000 */ Actor base; /* 0x144 */ actor_func update; @@ -1491,7 +2107,7 @@ struct ActorEnFirefly { typedef struct { /* 0x000 */ Actor base; /* 0x144 */ actor_func update; -/* 0x148 */ s16 unk148; +/* 0x148 */ s16 collectibleFlagId; /* 0x14A */ UNK_TYPE1 pad14A[2]; /* 0x14C */ s16 unk14C; /* 0x14E */ s16 unk14E; @@ -1514,20 +2130,6 @@ struct ActorEnTest { /* 0x20C */ ActorEnTest20C unk20C[20]; }; -struct ActorInitData { -/* 0x00 */ s16 id; -/* 0x02 */ u8 type; -/* 0x03 */ UNK_TYPE1 pad3[1]; -/* 0x04 */ s32 flags; -/* 0x08 */ s16 objectDependency; -/* 0x0A */ UNK_TYPE1 padA[2]; -/* 0x0C */ u32 instanceSize; -/* 0x10 */ actor_func init; -/* 0x14 */ actor_func fini; -/* 0x18 */ actor_func main; -/* 0x1C */ actor_func draw; -}; - struct ActorObjBell { /* 0x000 */ Actor base; /* 0x144 */ UNK_TYPE1 pad144[24]; @@ -1542,68 +2144,30 @@ struct ActorObjBell { struct ActorPlayer { /* 0x000 */ Actor base; -/* 0x144 */ UNK_TYPE1 pad144[3124]; +/* 0x144 */ UNK_TYPE1 pad144[3]; +/* 0x147 */ s8 unk147; +/* 0x148 */ UNK_TYPE1 pad148[2454]; +/* 0xADE */ u8 unkADE; +/* 0xADF */ UNK_TYPE1 padADF[4]; +/* 0xAE3 */ s8 unkAE3; +/* 0xAE4 */ UNK_TYPE1 padAE4[68]; +/* 0xB28 */ s16 unkB28; +/* 0xB2A */ UNK_TYPE1 padB2A[114]; +/* 0xB9C */ Vector3f unkB9C; +/* 0xBA8 */ UNK_TYPE1 padBA8[464]; }; -struct GlobalContext { -/* 0x00000 */ ContextCommon commonVars; -/* 0x000A4 */ s16 currentScene; -/* 0x000A6 */ u8 unkA6; -/* 0x000A7 */ UNK_TYPE1 padA7[9]; -/* 0x000B0 */ void* currentSceneVram; -/* 0x000B4 */ UNK_TYPE1 padB4[4]; -/* 0x000B8 */ View unkB8; -/* 0x00220 */ GlobalContext220 unk220[4]; -/* 0x00800 */ UNK_TYPE1 pad800[24]; -/* 0x00818 */ LightingContext lightsContext; -/* 0x00828 */ u32 unk828; -/* 0x0082C */ UNK_TYPE1 pad82C[5236]; -/* 0x01CA0 */ ActorContext actorContext; -/* 0x01F24 */ CutsceneContext cutsceneContext; -/* 0x01F74 */ CutsceneEntry* cutsceneList; -/* 0x01F78 */ UNK_TYPE1 pad1F78[10640]; -/* 0x04908 */ GlobalContext4908 unk4908; -/* 0x169E0 */ UNK_TYPE1 pad169E0[8]; -/* 0x169E8 */ GlobalContext169E8 unk169E8; -/* 0x16D30 */ UNK_TYPE1 pad16D30[492]; -/* 0x16F1C */ u16 unk16F1C; -/* 0x16F1E */ UNK_TYPE1 pad16F1E[226]; -/* 0x17000 */ u16 unk17000; -/* 0x17002 */ UNK_TYPE1 pad17002[2]; -/* 0x17004 */ KankyoContext kankyoContext; -/* 0x170F8 */ UNK_TYPE1 pad170F8[3216]; -/* 0x17D88 */ SceneContext sceneContext; -/* 0x186E0 */ s8 currentRoom; -/* 0x186E1 */ UNK_TYPE1 pad186E1[5]; -/* 0x186E6 */ u8 enablePosLights; -/* 0x186E7 */ UNK_TYPE1 pad186E7[1]; -/* 0x186E8 */ u32* meshHeader; -/* 0x186EC */ UNK_TYPE1 pad186EC[116]; -/* 0x18760 */ u8 transitionActorCount; -/* 0x18761 */ UNK_TYPE1 pad18761[3]; -/* 0x18764 */ TransitionActorInit* transitionActorList; -/* 0x18768 */ UNK_TYPE1 pad18768[72]; -/* 0x187B0 */ z_Matrix unk187B0; -/* 0x187F0 */ UNK_TYPE1 pad187F0[86]; -/* 0x18846 */ u16 sceneNumActorsToLoad; -/* 0x18848 */ u8 numRooms; -/* 0x18849 */ UNK_TYPE1 pad18849[3]; -/* 0x1884C */ RoomFileLocation* roomAddrs; -/* 0x18850 */ UNK_TYPE1 pad18850[4]; -/* 0x18854 */ SceneActorInit* sceneActorList; -/* 0x18858 */ UNK_TYPE1 pad18858[4]; -/* 0x1885C */ u8* entranceList; -/* 0x18860 */ void* exitList; -/* 0x18864 */ void* pathList; -/* 0x18868 */ UNK_TYPE1 pad18868[4]; -/* 0x1886C */ void* textureAnimations; -/* 0x18870 */ UNK_TYPE1 pad18870[4]; -/* 0x18874 */ u8 unk18874; -/* 0x18875 */ UNK_TYPE1 pad18875[15]; -/* 0x18884 */ CollisionContext collisionContext; -/* 0x18B20 */ UNK_TYPE1 pad18B20[820]; -/* 0x18E54 */ SceneTableEntry* currentSceneTableEntry; -/* 0x18E58 */ UNK_TYPE1 pad18E58[1024]; +struct BgActor { +/* 0x000 */ Actor base; +/* 0x144 */ s32 unk144; +/* 0x148 */ UNK_TYPE1 pad148[20]; +}; + +struct ActorBgIknvObj { +/* 0x000 */ BgActor bg; +/* 0x15C */ ColCylinder collision; +/* 0x1A8 */ u32 displayListAddr; +/* 0x1AC */ actor_func updateFunc; }; diff --git a/include/variables.h b/include/variables.h index a79d1145d3..584cd59e94 100644 --- a/include/variables.h +++ b/include/variables.h @@ -352,7 +352,7 @@ extern UNK_TYPE1 D_801AAAB0; // D_801AAAB0 extern ActorInitData enAObjInitData; // D_801ADE60 extern ColCylinderInit enAObjCylinderInit; // D_801ADE80 extern ActorInitVar enAObjInitVar; // D_801ADEAC -extern u32 D_801ADEB0[2]; // D_801ADEB0 +extern u32 enAObjDisplayLists[2]; // D_801ADEB0 extern ActorInitData enItem00InitData; // D_801ADEC0 extern ColCylinderInit enItem00CylinderInit; // D_801ADEE0 extern ActorInitVar enItem00InitVars[1]; // D_801ADF0C @@ -413,14 +413,14 @@ extern UNK_PTR D_801AE8F0; // D_801AE8F0 extern UNK_TYPE4 D_801AEC70; // D_801AEC70 extern UNK_TYPE4 D_801AEC74; // D_801AEC74 extern UNK_TYPE4 D_801AEC78; // D_801AEC78 -extern UNK_TYPE1 D_801AEC80; // D_801AEC80 -extern UNK_TYPE1 D_801AEC84; // D_801AEC84 +extern ColorRGBA8 D_801AEC80; // D_801AEC80 +extern s801AEC84 D_801AEC84[13]; // D_801AEC84 extern f32 actorMovementScale; // D_801AECEC extern f32 D_801AECF0; // D_801AECF0 extern f32 D_801AECF4; // D_801AECF4 extern UNK_TYPE1 D_801AED48; // D_801AED48 extern UNK_TYPE4 D_801AED58; // D_801AED58 -extern Color actorDefaultHitColor; // D_801AED88 +extern ColorRGBA8 actorDefaultHitColor; // D_801AED88 extern UNK_TYPE1 D_801AED8C; // D_801AED8C extern UNK_TYPE4 D_801AED98; // D_801AED98 extern UNK_TYPE4 D_801AEDA4; // D_801AEDA4 @@ -438,15 +438,14 @@ extern UNK_TYPE1 D_801AEFBC; // D_801AEFBC extern UNK_TYPE1 D_801AEFC0; // D_801AEFC0 extern ActorOverlayTableEntry actorOverlayTable[690]; // D_801AEFD0 extern UNK_TYPE4 D_801B4610; // D_801B4610 -extern UNK_TYPE1 D_801B4620; // D_801B4620 -extern UNK_TYPE1 D_801B46A0; // D_801B46A0 -extern UNK_TYPE1 D_801B46C0; // D_801B46C0 -extern UNK_TYPE2 D_801B46D0; // D_801B46D0 -extern UNK_TYPE2 D_801B46D2; // D_801B46D2 -extern UNK_TYPE2 D_801B46D4; // D_801B46D4 -extern UNK_TYPE2 D_801B46DC; // D_801B46DC -extern UNK_TYPE2 D_801B4700; // D_801B4700 -extern UNK_TYPE2 D_801B4708; // D_801B4708 +extern u32 D_801B4620[32]; // D_801B4620 +extern u16 D_801B46A0[16]; // D_801B46A0 +extern u8 D_801B46C0[16]; // D_801B46C0 +extern s16 bgSpecialSceneParamsDefault[1]; // D_801B46D0 +extern BgSpecialSceneMaxMemory bgSpecialSceneMaxMemory[1]; // D_801B46D4 +extern BgSpecialSceneMeshSubdivision bgSpecialSceneMeshSubdivisions[3]; // D_801B46DC +extern BgSpecialSceneMaxObjects bgSpecialSceneMaxObjects[1]; // D_801B4700 +extern UNK_TYPE1 D_801B4708; // D_801B4708 extern UNK_TYPE4 D_801B986C; // D_801B986C extern UNK_TYPE4 D_801B9870; // D_801B9870 extern UNK_TYPE4 D_801B9874; // D_801B9874 @@ -472,7 +471,7 @@ extern UNK_TYPE4 D_801B9F04; // D_801B9F04 extern UNK_TYPE2 D_801B9F0C; // D_801B9F0C extern UNK_TYPE4 D_801B9F10; // D_801B9F10 extern s800E03A0 D_801B9F20[23]; // D_801B9F20 -extern f32 D_801BA200[16]; // D_801BA200 +extern f32 gDamageMultipliers[16]; // D_801BA200 extern ColCommon defaultColCommon; // D_801BA240 extern ColTouch defaultColTouch; // D_801BA258 extern ColBump defaultColBump; // D_801BA260 @@ -482,14 +481,14 @@ extern ColCylinderParams defaultColCylinderInfo; // D_801BA2AC extern ColTriParams defaultColTriParams; // D_801BA2B8 extern ColQuadParams defaultColQuadParams; // D_801BA2EC extern UNK_TYPE1 D_801BA32C; // D_801BA32C -extern UNK_PTR D_801BA338; // D_801BA338 -extern UNK_PTR D_801BA34C; // D_801BA34C -extern UNK_PTR D_801BA360; // D_801BA360 +extern collision_add_func collisionAddATFuncs[5]; // D_801BA338 +extern collision_add_func collisionAddACFuncs[5]; // D_801BA34C +extern collision_add_func collisionAddOTFuncs[5]; // D_801BA360 extern UNK_TYPE1 D_801BA38C; // D_801BA38C extern UNK_PTR D_801BA3A8; // D_801BA3A8 extern collision_func collisionFuncTableATwithAC[25]; // D_801BA3BC extern collision_func collisionFuncTableOTwithOT[25]; // D_801BA420 -extern UNK_TYPE4 D_801BA484; // D_801BA484 +extern ActorA0 D_801BA484; // D_801BA484 extern UNK_PTR D_801BA4A0; // D_801BA4A0 extern UNK_TYPE1 D_801BA4B4; // D_801BA4B4 extern UNK_TYPE1 D_801BA4C8; // D_801BA4C8 @@ -527,16 +526,15 @@ extern UNK_TYPE2 D_801BD8B6; // D_801BD8B6 extern UNK_TYPE4 D_801BD8C0; // D_801BD8C0 extern UNK_TYPE2 D_801BD8C4; // D_801BD8C4 extern UNK_TYPE2 D_801BD8C6; // D_801BD8C6 -extern UNK_TYPE1 D_801BD8D0; // D_801BD8D0 -extern UNK_TYPE1 D_801BD8FC; // D_801BD8FC -extern UNK_TYPE1 D_801BD904; // D_801BD904 +extern ColCylinderInit fireObjCollisionInit; // D_801BD8D0 +extern FireObjLightParams D_801BD8FC[2]; // D_801BD8FC extern GameStateMetaInfo initialGameStateInfo; // D_801BD910 extern GameStateMetaInfo D_801BD940; // D_801BD940 extern GameStateMetaInfo titleGameStateInfo; // D_801BD970 extern GameStateMetaInfo mainGameStateInfo; // D_801BD9A0 extern GameStateMetaInfo openingGameStateInfo; // D_801BD9D0 extern GameStateMetaInfo fileChooseGameStateInfo; // D_801BDA00 -extern GameStateMetaInfo D_801BDA30; // D_801BDA30 +extern GameStateMetaInfo daytelopGameStateInfo; // D_801BDA30 extern UNK_TYPE4 D_801BDA60; // D_801BDA60 extern UNK_TYPE2 D_801BDA70; // D_801BDA70 extern UNK_TYPE2 D_801BDA74; // D_801BDA74 @@ -942,8 +940,8 @@ extern Gfx D_801C1C40[6]; // D_801C1C40 extern Gfx D_801C1C70[6]; // D_801C1C70 extern Gfx D_801C1CA0[12]; // D_801C1CA0 extern Gfx D_801C1D00[1]; // D_801C1D00 -extern UNK_TYPE1 D_801C1D10; // D_801C1D10 -extern UNK_PTR D_801C1D1C; // D_801C1D1C +extern Vector3f D_801C1D10; // D_801C1D10 +extern room_draw_func roomDrawFuncs[4]; // D_801C1D1C extern u32 intToBitPosition[32]; // D_801C1D30 extern UNK_TYPE2 D_801C1DB0; // D_801C1DB0 extern UNK_TYPE2 D_801C1DB2; // D_801C1DB2 @@ -1031,8 +1029,8 @@ extern UNK_PTR D_801C3BD8; // D_801C3BD8 extern UNK_TYPE1 D_801C3C50; // D_801C3C50 extern UNK_TYPE1 D_801C3C80; // D_801C3C80 extern UNK_TYPE1 D_801C3C88; // D_801C3C88 -extern SceneTableEntry sceneTable[113]; // D_801C3CA0 -extern UNK_PTR D_801C5724; // D_801C5724 +extern SceneTableEntry gSceneTable[113]; // D_801C3CA0 +extern SceneEntranceTableEnty gSceneEntranceTable[110]; // D_801C5720 extern UNK_PTR D_801C5C50; // D_801C5C50 extern UNK_TYPE1 D_801C5C9C; // D_801C5C9C extern UNK_PTR D_801C5CB0; // D_801C5CB0 @@ -1053,9 +1051,6 @@ extern UNK_TYPE4 D_801C5EB0; // D_801C5EB0 extern UNK_TYPE2 D_801C5EC4; // D_801C5EC4 extern UNK_TYPE4 D_801C5F44; // D_801C5F44 extern UNK_TYPE4 D_801C5FC0; // D_801C5FC0 -extern UNK_TYPE4 D_801C5FC8; // D_801C5FC8 -extern UNK_TYPE4 D_801C5FCC; // D_801C5FCC -extern UNK_TYPE4 D_801C5FD0; // D_801C5FD0 extern UNK_TYPE2 D_801C66D0; // D_801C66D0 extern UNK_TYPE4 D_801C6798; // D_801C6798 extern UNK_TYPE1 D_801C67B0; // D_801C67B0 @@ -1071,12 +1066,12 @@ extern UNK_TYPE1 D_801C6870; // D_801C6870 extern UNK_TYPE1 D_801C6890; // D_801C6890 extern SaveContext_struct1 D_801C6898; // D_801C6898 extern SaveContext_struct2 D_801C68C0; // D_801C68C0 -extern SaveContext_struct3 D_801C68E4; // D_801C68E4 -extern u16 saveDefaultChecksum; // D_801C696C -extern char D_801C6970[]; // D_801C6970 -extern UNK_TYPE1 D_801C6998; // D_801C6998 -extern UNK_TYPE1 D_801C69BC; // D_801C69BC -extern UNK_TYPE1 D_801C6A44; // D_801C6A44 +extern SaveContextInventory gSaveDefaultInventory; // D_801C68E4 +extern u16 gSaveDefaultChecksum; // D_801C696C +extern SaveContext_struct1 D_801C6970; // D_801C6970 +extern SaveContext_struct2 D_801C6998; // D_801C6998 +extern SaveContextInventory D_801C69BC; // D_801C69BC +extern u16 D_801C6A44; // D_801C6A44 extern UNK_TYPE1 D_801C6A48; // D_801C6A48 extern UNK_TYPE1 D_801C6A50; // D_801C6A50 extern UNK_TYPE1 D_801C6A58; // D_801C6A58 @@ -2501,6 +2496,7 @@ extern UNK_TYPE1 D_801ED8CC; // D_801ED8CC extern UNK_TYPE1 D_801ED8D4; // D_801ED8D4 extern UNK_TYPE1 D_801ED8D8; // D_801ED8D8 extern UNK_TYPE1 D_801ED8DC; // D_801ED8DC +extern Mtx D_801ED8E0; // D_801ED8E0 extern UNK_TYPE1 D_801ED920; // D_801ED920 extern UNK_TYPE1 D_801ED930; // D_801ED930 extern UNK_TYPE1 D_801ED940; // D_801ED940 @@ -2512,24 +2508,18 @@ extern UNK_TYPE1 D_801EDA08; // D_801EDA08 extern UNK_TYPE1 D_801EDA18; // D_801EDA18 extern UNK_TYPE1 D_801EDA24; // D_801EDA24 extern UNK_TYPE1 D_801EDA30; // D_801EDA30 -extern UNK_TYPE1 D_801EDA40; // D_801EDA40 -extern UNK_TYPE1 D_801EDA80; // D_801EDA80 -extern UNK_TYPE1 D_801EDA8C; // D_801EDA8C -extern UNK_TYPE1 D_801EDA98; // D_801EDA98 -extern UNK_TYPE1 D_801EDAA8; // D_801EDAA8 +extern z_Matrix D_801EDA40; // D_801EDA40 +extern ColTriParams D_801EDA80; // D_801EDA80 extern UNK_TYPE1 D_801EDAF8; // D_801EDAF8 -extern UNK_TYPE1 D_801EDB48; // D_801EDB48 -extern UNK_TYPE1 D_801EDB54; // D_801EDB54 -extern UNK_TYPE1 D_801EDB60; // D_801EDB60 -extern UNK_TYPE1 D_801EDB70; // D_801EDB70 +extern ColTriParams D_801EDB48; // D_801EDB48 extern UNK_TYPE1 D_801EDB7C; // D_801EDB7C extern UNK_TYPE1 D_801EDB88; // D_801EDB88 extern UNK_TYPE1 D_801EDB98; // D_801EDB98 extern UNK_TYPE1 D_801EDB9C; // D_801EDB9C extern UNK_TYPE1 D_801EDBA0; // D_801EDBA0 extern UNK_TYPE1 D_801EDBA4; // D_801EDBA4 -extern UNK_TYPE1 D_801EDBA8; // D_801EDBA8 -extern UNK_TYPE1 D_801EDBB0; // D_801EDBB0 +extern ColSphereCollisionInfo D_801EDBA8; // D_801EDBA8 +extern ColTriParams D_801EDBB0; // D_801EDBB0 extern UNK_TYPE1 D_801EDBD4; // D_801EDBD4 extern UNK_TYPE1 D_801EDBD8; // D_801EDBD8 extern UNK_TYPE1 D_801EDBDC; // D_801EDBDC @@ -2618,122 +2608,12 @@ extern UNK_TYPE1 D_801EF5C8; // D_801EF5C8 extern ColTriParams D_801EF600; // D_801EF600 extern ColTriParams D_801EF638; // D_801EF638 extern UNK_TYPE1 D_801EF66D; // D_801EF66D -extern SaveContext saveContext; // D_801EF670 -extern UNK_TYPE1 D_801F067C; // D_801F067C -extern UNK_TYPE1 D_801F067D; // D_801F067D -extern UNK_TYPE1 D_801F067E; // D_801F067E -extern UNK_TYPE1 D_801F067F; // D_801F067F -extern UNK_TYPE1 D_801F0680; // D_801F0680 -extern UNK_TYPE1 D_801F0681; // D_801F0681 -extern UNK_TYPE1 D_801F0682; // D_801F0682 -extern UNK_TYPE1 D_801F0683; // D_801F0683 -extern UNK_TYPE1 D_801F0684; // D_801F0684 -extern UNK_TYPE2 D_801F0686; // D_801F0686 -extern UNK_TYPE1 D_801F0688; // D_801F0688 -extern UNK_TYPE1 D_801F0750; // D_801F0750 -extern UNK_TYPE1 D_801F2430; // D_801F2430 -extern UNK_TYPE1 D_801F2434; // D_801F2434 -extern UNK_TYPE1 D_801F2E30; // D_801F2E30 -extern UNK_TYPE1 D_801F2E34; // D_801F2E34 -extern UNK_TYPE4 D_801F3310; // D_801F3310 -extern UNK_TYPE2 D_801F3314; // D_801F3314 -extern UNK_TYPE4 D_801F3318; // D_801F3318 -extern UNK_TYPE4 D_801F331C; // D_801F331C -extern UNK_TYPE4 D_801F3320; // D_801F3320 -extern UNK_TYPE1 D_801F3324; // D_801F3324 -extern UNK_TYPE1 D_801F3330; // D_801F3330 -extern UNK_TYPE1 D_801F3334; // D_801F3334 -extern UNK_TYPE1 D_801F3337; // D_801F3337 -extern UNK_TYPE1 D_801F3364; // D_801F3364 -extern UNK_TYPE1 D_801F3394; // D_801F3394 -extern UNK_TYPE1 D_801F3397; // D_801F3397 -extern UNK_TYPE1 D_801F3424; // D_801F3424 -extern UNK_TYPE1 D_801F342B; // D_801F342B -extern UNK_TYPE1 D_801F342C; // D_801F342C -extern UNK_TYPE1 D_801F342E; // D_801F342E -extern UNK_TYPE1 D_801F3440; // D_801F3440 -extern UNK_TYPE1 D_801F3441; // D_801F3441 -extern UNK_TYPE1 D_801F3442; // D_801F3442 -extern UNK_TYPE1 D_801F3443; // D_801F3443 -extern UNK_TYPE1 D_801F3444; // D_801F3444 -extern UNK_TYPE1 D_801F3450; // D_801F3450 -extern UNK_TYPE1 D_801F3454; // D_801F3454 -extern UNK_TYPE1 D_801F3458; // D_801F3458 -extern UNK_TYPE1 D_801F345C; // D_801F345C -extern UNK_TYPE1 D_801F3460; // D_801F3460 -extern UNK_TYPE1 D_801F3464; // D_801F3464 -extern UNK_TYPE1 D_801F3470; // D_801F3470 -extern UNK_TYPE4 D_801F3474; // D_801F3474 -extern UNK_TYPE4 D_801F3484; // D_801F3484 -extern UNK_TYPE1 D_801F3488; // D_801F3488 -extern UNK_TYPE1 D_801F348C; // D_801F348C -extern UNK_TYPE1 D_801F3490; // D_801F3490 -extern UNK_TYPE1 D_801F3494; // D_801F3494 -extern UNK_TYPE1 D_801F3498; // D_801F3498 -extern UNK_TYPE1 D_801F349C; // D_801F349C -extern UNK_TYPE1 D_801F34C0; // D_801F34C0 -extern UNK_TYPE1 D_801F34C4; // D_801F34C4 -extern UNK_TYPE1 D_801F34C8; // D_801F34C8 -extern UNK_TYPE1 D_801F34CC; // D_801F34CC -extern UNK_TYPE1 D_801F34D0; // D_801F34D0 -extern UNK_TYPE1 D_801F34D4; // D_801F34D4 -extern UNK_TYPE1 D_801F34F8; // D_801F34F8 -extern UNK_TYPE1 D_801F34FC; // D_801F34FC -extern UNK_TYPE1 D_801F3500; // D_801F3500 -extern UNK_TYPE1 D_801F3504; // D_801F3504 -extern UNK_TYPE1 D_801F3508; // D_801F3508 -extern UNK_TYPE1 D_801F350C; // D_801F350C -extern UNK_TYPE1 D_801F3530; // D_801F3530 -extern UNK_TYPE1 D_801F3534; // D_801F3534 -extern UNK_TYPE1 D_801F3538; // D_801F3538 -extern UNK_TYPE1 D_801F353C; // D_801F353C -extern UNK_TYPE1 D_801F3540; // D_801F3540 -extern UNK_TYPE1 D_801F3544; // D_801F3544 -extern UNK_TYPE1 D_801F3586; // D_801F3586 -extern UNK_TYPE1 D_801F3587; // D_801F3587 -extern UNK_TYPE1 D_801F3588; // D_801F3588 -extern UNK_TYPE1 D_801F3589; // D_801F3589 -extern UNK_TYPE1 D_801F358A; // D_801F358A -extern UNK_TYPE1 D_801F358B; // D_801F358B -extern UNK_TYPE1 D_801F358E; // D_801F358E -extern UNK_TYPE2 D_801F3592; // D_801F3592 -extern UNK_TYPE2 D_801F3596; // D_801F3596 -extern UNK_TYPE2 D_801F3598; // D_801F3598 -extern UNK_TYPE2 D_801F359C; // D_801F359C -extern UNK_TYPE2 D_801F359E; // D_801F359E -extern UNK_TYPE2 D_801F35A0; // D_801F35A0 -extern UNK_TYPE1 D_801F35A6; // D_801F35A6 -extern UNK_TYPE1 D_801F35A8; // D_801F35A8 -extern UNK_TYPE2 D_801F35AA; // D_801F35AA -extern UNK_TYPE1 D_801F35AC; // D_801F35AC -extern UNK_TYPE1 D_801F35AF; // D_801F35AF -extern UNK_TYPE1 D_801F35B0; // D_801F35B0 -extern UNK_TYPE1 D_801F35B2; // D_801F35B2 -extern UNK_TYPE1 D_801F35B3; // D_801F35B3 -extern UNK_TYPE1 D_801F35B5; // D_801F35B5 -extern UNK_TYPE1 D_801F35B6; // D_801F35B6 -extern UNK_TYPE1 D_801F35B8; // D_801F35B8 -extern UNK_TYPE2 D_801F35BA; // D_801F35BA -extern UNK_TYPE1 D_801F35BC; // D_801F35BC -extern UNK_TYPE1 D_801F35C0; // D_801F35C0 -extern UNK_TYPE1 D_801F35C1; // D_801F35C1 -extern UNK_TYPE2 D_801F35C2; // D_801F35C2 -extern UNK_TYPE1 D_801F35C5; // D_801F35C5 -extern UNK_TYPE2 D_801F35C6; // D_801F35C6 -extern UNK_TYPE1 D_801F35C8; // D_801F35C8 -extern UNK_TYPE2 D_801F35CA; // D_801F35CA -extern UNK_TYPE1 D_801F35D0; // D_801F35D0 -extern UNK_TYPE1 D_801F35D4; // D_801F35D4 -extern UNK_TYPE1 D_801F35D8; // D_801F35D8 -extern UNK_TYPE1 D_801F35DC; // D_801F35DC -extern UNK_TYPE1 D_801F35E0; // D_801F35E0 -extern UNK_TYPE1 D_801F35E4; // D_801F35E4 -extern UNK_TYPE1 D_801F35E8; // D_801F35E8 +extern SaveContext gSaveContext; // D_801EF670 extern UNK_TYPE2 D_801F3F38; // D_801F3F38 extern UNK_TYPE1 D_801F3F3A; // D_801F3F3A extern UNK_TYPE1 D_801F3F3B; // D_801F3F3B extern UNK_TYPE1 D_801F3F3C; // D_801F3F3C -extern StaticContext* staticContext; // D_801F3F60 +extern StaticContext* gStaticContext; // D_801F3F60 extern UNK_TYPE1 D_801F3F70; // D_801F3F70 extern UNK_TYPE1 D_801F3F80; // D_801F3F80 extern UNK_TYPE1 D_801F3F83; // D_801F3F83 @@ -2801,7 +2681,6 @@ extern UNK_TYPE1 D_801F4F60; // D_801F4F60 extern UNK_TYPE1 D_801F4F66; // D_801F4F66 extern UNK_TYPE1 D_801F4F6A; // D_801F4F6A extern LightsList lightsList; // D_801F4F70 -extern UNK_TYPE1 D_801F4F78; // D_801F4F78 extern Heap mainHeap; // D_801F5100 extern UNK_TYPE1 D_801F5130; // D_801F5130 extern UNK_TYPE1 D_801F5270; // D_801F5270 @@ -2826,10 +2705,11 @@ extern UNK_TYPE1 D_801F59F4; // D_801F59F4 extern UNK_TYPE1 D_801F59F8; // D_801F59F8 extern UNK_TYPE1 D_801F5A00; // D_801F5A00 extern UNK_TYPE1 D_801F5A08; // D_801F5A08 +extern UNK_TYPE1 D_801F5A1E; // D_801F5A1E extern UNK_TYPE1 D_801F5A2C; // D_801F5A2C -extern UNK_TYPE1 D_801F5A90; // D_801F5A90 +extern GlobalContext* D_801F5A90; // D_801F5A90 extern UNK_TYPE1 D_801F5A96; // D_801F5A96 -extern UNK_TYPE1 D_801F5A98; // D_801F5A98 +extern UNK_TYPE2 D_801F5A98; // D_801F5A98 extern UNK_TYPE1 D_801F5AA0; // D_801F5AA0 extern UNK_TYPE1 D_801F5AA4; // D_801F5AA4 extern UNK_TYPE1 D_801F5AA8; // D_801F5AA8 @@ -2863,7 +2743,8 @@ extern UNK_TYPE1 D_801F6B30; // D_801F6B30 extern UNK_TYPE1 D_801F6B34; // D_801F6B34 extern UNK_TYPE1 D_801F6B38; // D_801F6B38 extern UNK_TYPE1 D_801F6B3C; // D_801F6B3C -extern UNK_TYPE4 D_801F6B44; // D_801F6B44 +extern ShrinkWindowContext gShrinkWindowContext; // D_801F6B40 +extern ShrinkWindowContext* gShrinkWindowContextPtr; // D_801F6B44 extern UNK_TYPE4 D_801F6B50; // D_801F6B50 extern UNK_TYPE1 D_801F6B58; // D_801F6B58 extern UNK_TYPE1 D_801F6BF0; // D_801F6BF0 @@ -2898,7 +2779,7 @@ extern UNK_TYPE1 D_801F80F8; // D_801F80F8 extern u64 lastRenderFrameTimestamp; // D_801F8150 extern OSMesgQueue siEventCallbackQueue; // D_801F8160 extern OSMesg siEventCallbackBuffer[1]; // D_801F8178 -extern u32 rspSegmentPhysAddrs[16]; // D_801F8180 +extern u32 gRspSegmentPhysAddrs[16]; // D_801F8180 extern SchedThreadStruct schedContext; // D_801F81C0 extern OSMesgQueueListNode mainIrqmgrCallbackNode; // D_801F84F8 extern OSMesgQueue mainIrqmgrCallbackQueue; // D_801F8500 @@ -3299,8 +3180,8 @@ extern UNK_PTR D_80803770; // D_80803770 extern OverlayBlockSizes selectOverlayInfo; // D_808037A0 extern u32 selectOverlayRelocations[397]; // D_808037B4 extern u32 selectOverlayInfoOffset; // D_80803DEC -extern UNK_TYPE1 D_80803FC0; // D_80803FC0 -extern UNK_TYPE1 D_80803FC8; // D_80803FC8 +extern u32 openingEntrances[2]; // D_80803FC0 +extern u32 openingCutscenes[2]; // D_80803FC8 extern OverlayBlockSizes openingOverlayBlockInfo; // D_80803FD0 extern u32 openingOverlayRelocations[10]; // D_80803FE4 extern u32 openingOverlayBlockInfoOffset; // D_8080400C @@ -3334,15 +3215,15 @@ extern UNK_TYPE2 D_808144D4; // D_808144D4 extern UNK_TYPE2 D_808144D8; // D_808144D8 extern UNK_TYPE1 D_808144DC; // D_808144DC extern UNK_TYPE1 D_808144E8; // D_808144E8 -extern UNK_TYPE1 D_80814510; // D_80814510 +extern Gfx D_80814510[5]; // D_80814510 extern UNK_TYPE2 D_80814538; // D_80814538 extern UNK_TYPE2 D_80814548; // D_80814548 -extern UNK_TYPE2 D_80814550; // D_80814550 +extern s16 fileChooseSkyboxRotation; // D_80814550 extern UNK_TYPE1 D_80814554; // D_80814554 extern UNK_TYPE1 D_8081455C; // D_8081455C extern UNK_TYPE2 D_80814564; // D_80814564 -extern UNK_PTR D_80814568; // D_80814568 -extern UNK_TYPE1 D_8081461C; // D_8081461C +extern filechoose_update_func D_80814568[45]; // D_80814568 +extern s16 D_8081461C[2]; // D_8081461C extern UNK_TYPE2 D_80814620; // D_80814620 extern UNK_TYPE1 D_80814638; // D_80814638 extern UNK_TYPE1 D_80814644; // D_80814644 @@ -3362,9 +3243,9 @@ extern UNK_TYPE1 D_80814720; // D_80814720 extern UNK_TYPE1 D_80814744; // D_80814744 extern UNK_TYPE4 D_80814764; // D_80814764 extern UNK_TYPE1 D_80814774; // D_80814774 -extern UNK_PTR D_8081477C; // D_8081477C -extern UNK_TYPE1 D_8081479C; // D_8081479C -extern UNK_TYPE1 D_808147A8; // D_808147A8 +extern filechoose_update_func D_8081477C[8]; // D_8081477C +extern filechoose_update_func D_8081479C[3]; // D_8081479C +extern filechoose_update_func D_808147A8[3]; // D_808147A8 extern UNK_TYPE2 D_808147C0; // D_808147C0 extern UNK_TYPE2 D_808147C8; // D_808147C8 extern UNK_TYPE4 D_808147D0; // D_808147D0 @@ -3378,9 +3259,9 @@ extern UNK_TYPE4 D_808147F0; // D_808147F0 extern OverlayBlockSizes filechooseOverlayInfo; // D_80814800 extern u32 filechooseOverlayRelocations[409]; // D_80814814 extern u32 filechooseOverlayInfoOffset; // D_80814E7C -extern UNK_TYPE1 D_80815FF0; // D_80815FF0 -extern UNK_TYPE4 D_80816000; // D_80816000 -extern UNK_TYPE4 D_80816010; // D_80816010 +extern u32 D_80815FF0[4]; // D_80815FF0 +extern u32 D_80816000[4]; // D_80816000 +extern u32 D_80816010[4]; // D_80816010 extern OverlayBlockSizes daytelopOverlayInfo; // D_80816020 extern u32 daytelopOverlayRelocations[24]; // D_80816034 extern u32 daytelopOverlayInfoOffset; // D_8081609C @@ -8924,7 +8805,7 @@ extern OverlayBlockSizes objRailliftOverlayInfo; // D_80A1A400 extern u32 objRailliftOverlayRelocations[55]; // D_80A1A414 extern u32 objRailliftOverlayInfoOffset; // D_80A1A4FC extern UNK_TYPE1 D_80A1B260; // D_80A1B260 -extern UNK_TYPE1 D_80A1B28C; // D_80A1B28C +extern FireObjInitParams D_80A1B28C; // D_80A1B28C extern UNK_TYPE2 D_80A1B29C; // D_80A1B29C extern UNK_TYPE1 D_80A1B2A8; // D_80A1B2A8 extern UNK_TYPE4 D_80A1B2C0; // D_80A1B2C0 @@ -13995,7 +13876,7 @@ extern OverlayBlockSizes bgIknvDoukutuOverlayInfo; // D_80BD79F0 extern u32 bgIknvDoukutuOverlayRelocations[39]; // D_80BD7A04 extern u32 bgIknvDoukutuOverlayInfoOffset; // D_80BD7AAC extern ActorInitData bgIknvObjInitData; // D_80BD81D0 -extern UNK_TYPE1 D_80BD81F0; // D_80BD81F0 +extern ColCylinderInit BgIknvObjCollisionInit; // D_80BD81F0 extern OverlayBlockSizes bgIknvObjOverlayInfo; // D_80BD8220 extern u32 bgIknvObjOverlayRelocations[27]; // D_80BD8234 extern u32 bgIknvObjOverlayInfoOffset; // D_80BD82AC diff --git a/src/code/code_0x800A5AC0.c b/src/code/code_0x800A5AC0.c index 6093f412fd..ae76b71d90 100644 --- a/src/code/code_0x800A5AC0.c +++ b/src/code/code_0x800A5AC0.c @@ -10,7 +10,7 @@ UNK_RET EnAObj_Init(ActorEnAObj* a0, GlobalContext* a1) { s0->base.textId = ((s0->base.variable >> 8) & 0xFF) | 0x300; s0->base.variable = (s0->base.variable & 0xFF) - 9; Lib_ApplyActorInitVars((Actor*)s0, (ActorInitVar*)&enAObjInitVar); - func_800B3BA4(&s0->base.unkBC, 0, (UNK_PTR)&func_800B3FC0, 12); + Actor_SetPostDrawParams(&s0->base.postDrawParams, 0, (actor_post_draw_func*)func_800B3FC0, 12); Collision_InitCylinder(a1, &s0->collision, (Actor*)s0, &enAObjCylinderInit); Collision_CylinderMoveToActor((Actor*)s0, &s0->collision); s0->base.unkA0.unk16 = 255; @@ -28,7 +28,7 @@ UNK_RET EnAObj_Update1(ActorEnAObj* a0, GlobalContext* a1) { if (func_800B84D0((Actor*)a0, a1) != 0) { a0->update = (actor_func)EnAObj_Update2; } else { - v0 = a0->base.unk92 - a0->base.unkBC.rotation.y; + v0 = a0->base.unk92 - a0->base.postDrawParams.rotation.y; v1 = (v0 < 0)? -v0 : v0; if ((v1 < 10240) || ((a0->base.variable == 1) && (v1 > 22528))) { func_800B863C((Actor*)a0, a1); @@ -49,5 +49,5 @@ UNK_RET EnAObj_Main(ActorEnAObj* a0, GlobalContext* a1) { } UNK_RET EnAObj_Draw(ActorEnAObj* a0, GlobalContext* a1) { - func_800BDFC0(a1, D_801ADEB0[a0->base.variable]); + func_800BDFC0(a1, enAObjDisplayLists[a0->base.variable]); } diff --git a/src/code/z_actor.c b/src/code/z_actor.c index 789b6a3bdc..b83d3afa7f 100644 --- a/src/code/z_actor.c +++ b/src/code/z_actor.c @@ -1,263 +1,263 @@ #include #include -GLOBAL_ASM("./asm/nonmatching/z_actor/Actor_PrintLists.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_PrintLists.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B3BA4.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_SetPostDrawParams.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B3BC8.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_PostDraw.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B3FC0.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B3FC0.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B4024.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B4024.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B4088.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B4088.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B40B8.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B40B8.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B40E0.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B40E0.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B42F8.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B42F8.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B4A98.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B4A98.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B4AEC.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B4AEC.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B4B50.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B4B50.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B4EDC.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B4EDC.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B4F40.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B4F40.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B4F78.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B4F78.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B5040.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B5040.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B51A4.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_TargetContextInit.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B5208.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B5208.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B5814.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B5814.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B5BB0.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_GetSwitchFlag.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B5BF4.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_SetSwitchFlag.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B5C34.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_UnsetSwitchFlag.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B5C78.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_GetChestFlag.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B5C90.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_SetChestFlag.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B5CAC.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_SetAllChestFlag.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B5CB8.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_GetAllChestFlag.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B5CC4.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_GetRoomCleared.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B5CDC.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_SetRoomCleared.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B5CF8.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_UnsetRoomCleared.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/Actor_GetRoomCleared.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_GetRoomClearedTemp.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/Actor_SetRoomCleared.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_SetRoomClearedTemp.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/Actor_UnsetRoomCleared.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_UnsetRoomClearedTemp.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/Actor_GetCollectibleFlag.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_GetCollectibleFlag.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/Actor_SetCollectibleFlag.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_SetCollectibleFlag.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B5DF0.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_TitleCardContextInit.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B5E0C.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_TitleCardCreate.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/Actor_Nop800B5E50.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_Nop800B5E50.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B5E68.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_TitleCardUpdate.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B5F24.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_TitleCardDraw.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B6434.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B6434.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B645C.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B645C.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B6468.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B6468.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B6474.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B6474.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B648C.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B648C.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B64FC.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B64FC.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B6584.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B6584.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B6608.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B6608.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B6680.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B6680.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/Actor_MarkForDeath.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_MarkForDeath.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B672C.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B672C.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B675C.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B675C.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B67A0.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B67A0.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B67C0.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B67C0.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/Actor_SetScale.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_SetScale.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/Actor_SetObjectSegment.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_SetObjectSegment.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/Actor_InitToDefaultValues.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_InitToDefaultValues.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/Actor_FiniActor.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_FiniActor.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/Actor_SetMovementScale.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_SetMovementScale.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/Actor_ApplyMovement.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_ApplyMovement.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/Actor_SetVelocityYRotationAndGravity.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_SetVelocityYRotationAndGravity.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/Actor_SetVelocityAndMoveYRotationAndGravity.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_SetVelocityAndMoveYRotationAndGravity.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/Actor_SetVelocityXYRotation.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_SetVelocityXYRotation.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/Actor_SetVelocityAndMoveXYRotation.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_SetVelocityAndMoveXYRotation.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/Actor_SetVelocityXYRotationReverse.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_SetVelocityXYRotationReverse.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/Actor_SetVelocityAndMoveXYRotationReverse.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_SetVelocityAndMoveXYRotationReverse.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B6C04.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B6C04.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B6C58.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B6C58.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/Actor_YawBetweenActors.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_YawBetweenActors.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B6D00.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B6D00.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/Actor_YawToPoint.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_YawToPoint.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/Actor_PitchBetweenActors.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_PitchBetweenActors.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B6D7C.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B6D7C.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/Actor_PitchToPoint.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_PitchToPoint.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/Actor_DistanceBetweenActors.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_DistanceBetweenActors.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/Actor_DistanceToPoint.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_DistanceToPoint.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/Actor_XZDistanceBetweenActors.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_XZDistanceBetweenActors.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/Actor_XZDistanceToPoint.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_XZDistanceToPoint.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B6E6C.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B6E6C.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/Actor_YDistanceBetweenActors.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_YDistance.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B6F20.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B6F20.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B6FC8.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B6FC8.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B7090.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B7090.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B7118.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B7118.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B7128.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B7128.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B715C.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B715C.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B7170.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B7170.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B71DC.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B71DC.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B7200.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B7200.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B722C.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B722C.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B724C.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B724C.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B7298.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B7298.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B72E0.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B72E0.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B72F8.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B72F8.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B7320.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B7320.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B7378.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B7378.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B73E0.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B73E0.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B742C.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B742C.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B748C.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B748C.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B750C.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B750C.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B75A0.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B75A0.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B761C.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B761C.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B7678.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B7678.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B78B8.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B78B8.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B7E04.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B7E04.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B7FE0.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B7FE0.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B8018.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B8018.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B8050.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B8050.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B8118.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B8118.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B81E0.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B81E0.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B8214.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B8214.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B8248.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B8248.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B82EC.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B82EC.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B83BC.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B83BC.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B83F8.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B83F8.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B84D0.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B84D0.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B8500.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B8500.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B85E0.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B85E0.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B8614.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B8614.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B863C.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B863C.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B867C.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B867C.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B86C8.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B86C8.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B8708.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B8708.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B8718.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B8718.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B874C.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B874C.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B8804.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B8804.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B882C.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B882C.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B886C.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B886C.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B8898.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B8898.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B8934.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B8934.asm") u32 Actor_HasParent(Actor* actor, GlobalContext* ctxt) { if (actor->parent != NULL) { @@ -267,221 +267,221 @@ u32 Actor_HasParent(Actor* actor, GlobalContext* ctxt) { } } -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B8A1C.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B8A1C.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B8B84.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B8B84.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B8BB0.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B8BB0.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B8BD0.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B8BD0.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B8BFC.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B8BFC.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B8C20.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B8C20.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B8C50.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B8C50.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B8C78.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B8C78.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B8C9C.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B8C9C.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B8CEC.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B8CEC.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B8D10.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B8D10.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B8D50.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B8D50.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B8D98.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B8D98.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B8DD4.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B8DD4.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B8E1C.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B8E1C.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B8E58.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B8E58.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B8EC8.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B8EC8.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B8EF4.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B8EF4.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B8F98.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B8F98.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B8FC0.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B8FC0.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B8FE8.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B8FE8.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B9010.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B9010.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B9038.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B9038.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B9084.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B9084.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B9098.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B9098.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B90AC.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B90AC.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B90F4.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B90F4.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B9120.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B9120.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/Actor_Init.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_Init.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B9334.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B9334.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B948C.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B948C.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B9780.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B9780.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/Actor_DrawActor.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_DrawActor.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B9D1C.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B9D1C.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B9E3C.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_DrawAllSetup.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B9E4C.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_RecordDrawnActor.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B9E84.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B9E84.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800B9EF4.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800B9EF4.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BA2D8.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BA2D8.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BA2FC.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BA2FC.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/Actor_DrawAllActors.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_DrawAll.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BA6FC.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BA6FC.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BA798.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BA798.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BA8B8.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BA8B8.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BA9B4.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BA9B4.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/Actor_InsertIntoTypeList.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_InsertIntoTypeList.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/Actor_RemoveFromTypeList.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_RemoveFromTypeList.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/Actor_FreeOverlay.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_FreeOverlay.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/Actor_SpawnNoParentDefaultUnk38Unk20.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_SpawnNoParentDefaultUnk38Unk20.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/Actor_LoadOverlay.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_LoadOverlay.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/Actor_Spawn.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_Spawn.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/Actor_SpawnDefaultUnk38.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_SpawnDefaultUnk38.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/Actor_SpawnTransitionActors.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//Actor_SpawnTransitionActors.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BB2D0.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BB2D0.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BB498.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BB498.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BB59C.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BB59C.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BB604.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BB604.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BB8EC.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BB8EC.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BBA88.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BBA88.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BBAC0.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BBAC0.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BBB74.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BBB74.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BBC20.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BBC20.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BBCEC.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BBCEC.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BBDAC.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BBDAC.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BBFB0.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BBFB0.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BC154.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BC154.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BC188.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BC188.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BC1B4.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BC1B4.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BC270.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BC270.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BC444.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BC444.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BC4EC.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BC4EC.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BC5B8.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BC5B8.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BC5EC.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BC5EC.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BC620.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BC620.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BC770.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BC770.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BC7D8.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BC7D8.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BC848.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BC848.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BC8B8.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BC8B8.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BCB50.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BCB50.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BCB70.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BCB70.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BCBF4.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BCBF4.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BCC68.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BCC68.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BCCDC.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BCCDC.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BD2B4.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BD2B4.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BD384.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BD384.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BD6E4.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BD6E4.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BD888.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BD888.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BD9A0.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BD9A0.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BD9E0.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BD9E0.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BDAA0.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BDAA0.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BDB6C.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BDB6C.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BDC5C.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BDC5C.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BDCF4.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BDCF4.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BDFB0.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BDFB0.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BDFC0.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BDFC0.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BE03C.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BE03C.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BE0B8.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BE0B8.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BE184.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BE184.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BE22C.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BE22C.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BE258.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BE258.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BE2B8.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BE2B8.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BE33C.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BE33C.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BE3D0.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BE3D0.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BE504.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BE504.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BE568.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BE568.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BE5CC.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BE5CC.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BE63C.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BE63C.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BE680.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BE680.asm") -GLOBAL_ASM("./asm/nonmatching/z_actor/func_800BF7CC.asm") +GLOBAL_ASM("asm/nonmatching/z_actor//func_800BF7CC.asm") diff --git a/src/code/z_effect_soft_sprite.c b/src/code/z_effect_soft_sprite.c index bf0c56f8a6..c508775d7e 100644 --- a/src/code/z_effect_soft_sprite.c +++ b/src/code/z_effect_soft_sprite.c @@ -19,7 +19,7 @@ void EffectSS_Init(GlobalContext* ctxt, s32 numEntries) { } } -void EffectSS_Clear(GlobalContext* ctxt) { +void EffectSS_Fini(GlobalContext* ctxt) { u32 i; LoadedParticleEntry* iter; ParticleOverlayTableEntry* iter2; @@ -70,9 +70,9 @@ void EffectSS_ResetLoadedParticleEntry(LoadedParticleEntry* particle) { particle->velocity.z = 0; particle->velocity.y = 0; particle->velocity.x = 0; - particle->unk34 = 0; - particle->unk30 = 0; - particle->unk2C = 0; + particle->unk2C.z = 0; + particle->unk2C.y = 0; + particle->unk2C.x = 0; particle->position.z = 0; particle->position.y = 0; particle->position.x = 0; diff --git a/src/code/z_lib.c b/src/code/z_lib.c index 34c9716017..e9eb805eb8 100644 --- a/src/code/z_lib.c +++ b/src/code/z_lib.c @@ -581,7 +581,7 @@ void Lib_ScaleMax_s(s16* a0, s16 a1, s16 a2, s16 a3) { *a0 += v0; } -UNK_RET Lib_CopyColor(Color* a0, Color* a1) { +UNK_RET Lib_CopyColor(ColorRGBA8* a0, ColorRGBA8* a1) { a0->red = a1->red; a0->green = a1->green; a0->blue = a1->blue; @@ -589,7 +589,7 @@ UNK_RET Lib_CopyColor(Color* a0, Color* a1) { } UNK_RET func_801000A4(u16 a0) { - func_8019F0C8(a0); + play_sound(a0); } UNK_RET func_801000CC(u16 a0) { @@ -649,16 +649,16 @@ f32 Lib_PushAwayVec3f(Vector3f* a0, Vector3f* a1, f32 a2) { void Lib_Nop801004FC(void) {} -u32 Lib_PtrSegToPhys(u32 a0) { - return(rspSegmentPhysAddrs[(a0 << 4) >> 28] + (a0 & 0xFFFFFF)) + 0x80000000; +u32 Lib_PtrSegToVirt(u32 a0) { + return(gRspSegmentPhysAddrs[(a0 << 4) >> 28] + (a0 & 0xFFFFFF)) + 0x80000000; } -u32 Lib_PtrSegToPhysNull(u32 a0) { +u32 Lib_PtrSegToVirtNull(u32 a0) { if ((a0 >> 28) == 0) { return a0; } - return(rspSegmentPhysAddrs[(a0 << 4) >> 28] + (a0 & 0xFFFFFF)) + 0x80000000; + return(gRspSegmentPhysAddrs[(a0 << 4) >> 28] + (a0 & 0xFFFFFF)) + 0x80000000; } u32 Lib_PtrSegToK0(u32 a0) { diff --git a/tables/functions.py b/tables/functions.py index 680589a3ad..ef946f2726 100644 --- a/tables/functions.py +++ b/tables/functions.py @@ -302,7 +302,7 @@ 0x8008A9A8:("func_8008A9A8","void","void"), 0x8008AA10:("func_8008AA10","void","void"), 0x8008AA50:("guPerspectiveF","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7"), - 0x8008AC80:("guPerspective","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7"), + 0x8008AC80:("guPerspective","void","Mtx* m, u16* perspNorm, float fovy, float aspect, float near, float far, float scale"), 0x8008ACE0:("__osSpRawStartDma","s32","s32 direction, u32 devAddr, void* dramAddr, u32 size"), 0x8008AD70:("__osSiRawStartDma","s32","s32 direction, void* dramAddr"), 0x8008AE20:("func_8008AE20","void","void"), @@ -319,8 +319,8 @@ 0x8008B650:("osViSetMode","void","OSViMode* modep"), 0x8008B6B0:("__osGetConfig","void","void"), 0x8008B6C0:("__osSetConfig","void","void"), - 0x8008B6D0:("func_8008B6D0","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8, UNK_TYPE4 param_9, UNK_TYPE4 param_10"), - 0x8008B974:("func_8008B974","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8, UNK_TYPE4 param_9, UNK_TYPE4 param_10"), + 0x8008B6D0:("guLookAtF","void","float* mf, float xEye, float yEye, float zEye, float xAt, float yAt, float zAt, float xUp, float yUp, float zUp"), + 0x8008B974:("guLookAt","void","Mtx* m, float xEye, float yEye, float zEye, float xAt, float yAt, float zAt, float xUp, float yUp, float zUp"), 0x8008B9F0:("func_8008B9F0","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7"), 0x8008BD24:("func_8008BD24","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE1 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7"), 0x8008BE70:("osStopTimer","s32","OSTimer* t"), @@ -478,7 +478,7 @@ 0x80096810:("__osGetWatchLo","u32","void"), 0x80096820:("__osSetWatchLo","void","u32 value"), 0x80096830:("func_80096830","f32","f32 param_1, f32 param_2"), - 0x80096880:("func_80096880","void","void"), + 0x80096880:("func_80096880","void*","void* param_1, u8 param_2, s32 param_3"), 0x800968B0:("func_800968B0","void","void"), 0x800968F0:("func_800968f0","char*","char* param_1, char* param_2"), 0x80096930:("func_80096930","void","void"), @@ -537,10 +537,10 @@ 0x800ACFD8:("func_800ACFD8","void","void"), 0x800AD09C:("func_800AD09C","void","void"), 0x800AE2A0:("func_800AE2A0","void","void"), - 0x800AE434:("func_800AE434","void","GlobalContext* ctxt, Color* color, short sParm3, short sParm4"), + 0x800AE434:("func_800AE434","void","GlobalContext* ctxt, ColorRGBA8* color, short sParm3, short sParm4"), 0x800AE5A0:("func_800AE5A0","void","void"), 0x800AE5E4:("func_800AE5E4","void","void"), - 0x800AE778:("func_800AE778","void","void"), + 0x800AE778:("func_800AE778","void","GlobalContext* ctxt, ColorRGBA8* color, short param_3, short param_4"), 0x800AE8EC:("func_800AE8EC","void","void"), 0x800AE930:("func_800AE930","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7"), 0x800AEF44:("func_800AEF44","void","void"), @@ -560,7 +560,7 @@ 0x800AFDCC:("func_800AFDCC","void","void"), 0x800AFF24:("func_800AFF24","void","void"), 0x800B0050:("EffectSS_Init","void","GlobalContext* ctxt, s32 numEntries"), - 0x800B0140:("EffectSS_Clear","void","GlobalContext* ctxt"), + 0x800B0140:("EffectSS_Fini","void","GlobalContext* ctxt"), 0x800B0200:("EffectSS_GetTable","LoadedParticleEntry*","void"), 0x800B0210:("EffectSS_Delete","void","LoadedParticleEntry* param_1"), 0x800B0270:("EffectSS_ResetLoadedParticleEntry","void","LoadedParticleEntry* particle"), @@ -575,7 +575,7 @@ 0x800B09D0:("func_800B09D0","s16","s16 a0, s16 a1, f32 a2"), 0x800B0A24:("func_800B0A24","u8","u8 a0, u8 a1, f32 a2"), 0x800B0B10:("func_800B0B10","void","GlobalContext* ctxt, LoadedParticleEntry* particle, u32 uParm3"), - 0x800B0D2C:("EffectSS_LoadDust","void","GlobalContext* ctxt, u16 flags, Vector3f* position, Vector3f* velocity, Vector3f* acceleration, Color* color1, Color* color2, s16 scale, s16 scaleChangePerFrame, s16 life, u8 type"), + 0x800B0D2C:("EffectSS_LoadDust","void","GlobalContext* ctxt, u16 flags, Vector3f* position, Vector3f* velocity, Vector3f* acceleration, ColorRGBA8* color1, ColorRGBA8* color2, s16 scale, s16 scaleChangePerFrame, s16 life, u8 type"), 0x800B0DE0:("func_800B0DE0","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8"), 0x800B0E48:("func_800B0E48","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8"), 0x800B0EB0:("func_800B0EB0","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8, UNK_TYPE2 param_9"), @@ -600,11 +600,11 @@ 0x800B1830:("func_800B1830","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE2 param_7, UNK_TYPE4 param_8"), 0x800B1908:("EffectSS_LoadBomb2","void","UNK_TYPE4 uParm1, Vector3f* pzParm2, Vector3f* pzParm3, Vector3f* pzParm4"), 0x800B1970:("func_800B1970","void","UNK_TYPE4 param_1, Vector3f* param_2, Vector3f* param_3, Vector3f* param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6"), - 0x800B19E0:("EffectSS_LoadBlast","void","UNK_TYPE4 uParm1, Vector3f* pzParm2, Vector3f* pzParm3, Vector3f* pzParm4, Color* param_5, Color* param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8, UNK_TYPE2 param_9, UNK_TYPE2 param_10"), + 0x800B19E0:("EffectSS_LoadBlast","void","UNK_TYPE4 uParm1, Vector3f* pzParm2, Vector3f* pzParm3, Vector3f* pzParm4, ColorRGBA8* param_5, ColorRGBA8* param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8, UNK_TYPE2 param_9, UNK_TYPE2 param_10"), 0x800B1A70:("func_800B1A70","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7"), 0x800B1AC4:("func_800B1AC4","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE2 param_7"), 0x800B1B10:("func_800B1B10","void","void"), - 0x800B1B4C:("EffectSS_LoadGSpark","void","UNK_TYPE4 uParm1, UNK_TYPE4 uParm2, Vector3f* pzParm3, Vector3f* pzParm4, Vector3f* param_5, Color* param_6, Color* param_7, UNK_TYPE2 param_8, UNK_TYPE2 param_9"), + 0x800B1B4C:("EffectSS_LoadGSpark","void","UNK_TYPE4 uParm1, UNK_TYPE4 uParm2, Vector3f* pzParm3, Vector3f* pzParm4, Vector3f* param_5, ColorRGBA8* param_6, ColorRGBA8* param_7, UNK_TYPE2 param_8, UNK_TYPE2 param_9"), 0x800B1BDC:("func_800B1BDC","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE2 param_8, UNK_TYPE2 param_9"), 0x800B1C70:("func_800B1C70","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5"), 0x800B1CC4:("func_800B1CC4","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7"), @@ -614,7 +614,7 @@ 0x800B1EF4:("EffectSS_LoadGRipple","void","UNK_TYPE4 uParm1, Vector3f* pzParm2, UNK_TYPE2 uParm3, UNK_TYPE2 uParm4, UNK_TYPE2 param_5"), 0x800B1F4C:("EffectSS_LoadGSplash","void","UNK_TYPE4 uParm1, Vector3f* pzParm2, UNK_PTR puParm3, UNK_PTR puParm4, UNK_TYPE1 uParm5, UNK_TYPE2 param_6"), 0x800B1FE0:("EffectSS_LoadGFire","void","UNK_TYPE4 uParm1, Vector3f* pzParm2"), - 0x800B2018:("EffectSS_LoadLightning","void","UNK_TYPE4 uParm1, Vector3f* pzParm2, Color* pzParm3, Color* pzParm4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8"), + 0x800B2018:("EffectSS_LoadLightning","void","UNK_TYPE4 uParm1, Vector3f* pzParm2, ColorRGBA8* pzParm3, ColorRGBA8* pzParm4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8"), 0x800B2090:("func_800B2090","void","UNK_TYPE4 param_1, Vector3f* param_2, Vector3f* param_3, Vector3f* param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8"), 0x800B210C:("EffectSS_LoadBigOctoBubble2","void","UNK_TYPE4 uParm1, Vector3f* pzParm2, Vector3f* pzParm3, Vector3f* pzParm4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8, UNK_TYPE2 param_9"), 0x800B219C:("EffectSS_LoadFragment","void","UNK_TYPE4 uParm1, Vector3f* pzParm2, Vector3f* pzParm3, Vector3f* pzParm4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8, UNK_TYPE4 param_9"), @@ -633,11 +633,11 @@ 0x800B2810:("EffectSS_LoadShard","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8, UNK_TYPE2 param_9, UNK_TYPE2 param_10, UNK_TYPE2 param_11, UNK_TYPE2 param_12, UNK_TYPE4 param_13, UNK_TYPE2 param_14, UNK_TYPE2 param_15, UNK_TYPE4 param_16"), 0x800B28C8:("EffectSS_LoadIcePiece","void","UNK_TYPE4 uParm1, Vector3f* pzParm2, UNK_TYPE4 uParm3, Vector3f* pzParm4, Vector3f* param_5, UNK_TYPE4 param_6"), 0x800B2930:("func_800B2930","void","void"), - 0x800B2AC4:("EffectSS_LoadEnemyIce","void","UNK_TYPE4 uParm1, Actor* pzParm2, Vector3f* pzParm3, Color* pzParm4, Color* param_5, UNK_TYPE4 param_6"), + 0x800B2AC4:("EffectSS_LoadEnemyIce","void","UNK_TYPE4 uParm1, Actor* pzParm2, Vector3f* pzParm3, ColorRGBA8* pzParm4, ColorRGBA8* param_5, UNK_TYPE4 param_6"), 0x800B2B44:("func_800B2B44","void","void"), 0x800B2B7C:("func_800B2B7C","void","void"), 0x800B2BC0:("func_800B2BC0","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8"), - 0x800B2C48:("EffectSS_LoadFireTail","void","UNK_TYPE4 uParm1, UNK_TYPE4 uParm2, Vector3f* pzParm3, UNK_TYPE4 uParm4, Vector3f* param_5, UNK_TYPE2 param_6, Color* param_7, Color* param_8, UNK_TYPE2 param_9, UNK_TYPE2 param_10, UNK_TYPE4 param_11"), + 0x800B2C48:("EffectSS_LoadFireTail","void","UNK_TYPE4 uParm1, UNK_TYPE4 uParm2, Vector3f* pzParm3, UNK_TYPE4 uParm4, Vector3f* param_5, UNK_TYPE2 param_6, ColorRGBA8* param_7, ColorRGBA8* param_8, UNK_TYPE2 param_9, UNK_TYPE2 param_10, UNK_TYPE4 param_11"), 0x800B2CE0:("func_800B2CE0","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE4 param_6"), 0x800B2DA4:("func_800B2DA4","void","void"), 0x800B2DF4:("EffectSS_LoadEnemyFire","void","UNK_TYPE4 uParm1, Actor* pzParm2, Vector3f* pzParm3, UNK_TYPE2 uParm4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7"), @@ -655,55 +655,55 @@ 0x800B3880:("DLF_LoadGameState","void","GameStateMetaInfo* gameState"), 0x800B39A4:("DLF_FreeGameState","void","GameStateMetaInfo* gameState"), 0x800B3AD0:("Actor_PrintLists","void","ActorContext* actCtxt"), - 0x800B3BA4:("func_800B3BA4","void","ActorBC* iParm1, f32 uParm2, func_ptr* uParm3, f32 uParm4"), - 0x800B3BC8:("func_800B3BC8","void","Actor* iParm1, UNK_TYPE4 uParm2, GlobalContext* ctxt, UNK_PTR puParm4, Color* param_5"), - 0x800B3FC0:("func_800B3FC0","void","Actor* actor, UNK_TYPE4 uParm2, GlobalContext* ctxt"), - 0x800B4024:("func_800B4024","void","Actor* actor, UNK_TYPE4 uParm2, GlobalContext* ctxt"), - 0x800B4088:("func_800B4088","void","Actor* actor, UNK_TYPE4 uParm2, GlobalContext* ctxt"), - 0x800B40B8:("func_800B40B8","void","Actor* actor, UNK_TYPE4 uParm2, GlobalContext* ctxt"), + 0x800B3BA4:("Actor_SetPostDrawParams","void","ActorPostDrawParams* iParm1, f32 uParm2, actor_post_draw_func* func, f32 scale"), + 0x800B3BC8:("Actor_PostDraw","void","Actor* actor, LightMapper* mapper, GlobalContext* ctxt, u32 displayList, ColorRGBA8* color"), + 0x800B3FC0:("func_800B3FC0","void","Actor* actor, LightMapper* mapper, GlobalContext* ctxt"), + 0x800B4024:("func_800B4024","void","Actor* actor, LightMapper* mapper, GlobalContext* ctxt"), + 0x800B4088:("func_800B4088","void","Actor* actor, LightMapper* mapper, GlobalContext* ctxt"), + 0x800B40B8:("func_800B40B8","void","Actor* actor, LightMapper* mapper, GlobalContext* ctxt"), 0x800B40E0:("func_800B40E0","void","GlobalContext* ctxt, int iParm2, z_Matrix* pzParm3, int iParm4, float param_5, float param_6, float param_7"), - 0x800B42F8:("func_800B42F8","void","void"), + 0x800B42F8:("func_800B42F8","void","Actor* actor, LightMapper* mapper, GlobalContext* ctxt"), 0x800B4A98:("func_800B4A98","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6"), - 0x800B4AEC:("func_800B4AEC","void","void"), + 0x800B4AEC:("func_800B4AEC","void","GlobalContext* ctxt, Actor* actor, f32 param_3"), 0x800B4B50:("func_800B4B50","void","Actor* iParm1, int iParm2, GlobalContext* pzParm3"), 0x800B4EDC:("func_800B4EDC","void","GlobalContext* ctxt, Vector3f* pzParm2, Vector3f* pzParm3, f32* pfParm4"), - 0x800B4F40:("func_800B4F40","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5"), - 0x800B4F78:("func_800B4F78","void","void"), - 0x800B5040:("func_800B5040","void","void"), - 0x800B51A4:("func_800B51A4","void","void"), - 0x800B5208:("func_800B5208","void","int iParm1, GlobalContext* ctxt"), - 0x800B5814:("func_800B5814","void","void"), - 0x800B5BB0:("func_800B5BB0","void","void"), - 0x800B5BF4:("func_800B5BF4","void","void"), - 0x800B5C34:("func_800B5C34","void","void"), - 0x800B5C78:("func_800B5C78","void","void"), - 0x800B5C90:("func_800B5C90","void","void"), - 0x800B5CAC:("func_800B5CAC","void","void"), - 0x800B5CB8:("func_800B5CB8","void","void"), - 0x800B5CC4:("func_800B5CC4","u32","GlobalContext* ctxt, u32 roomNumber"), - 0x800B5CDC:("func_800B5CDC","void","GlobalContext* ctxt, unsigned int roomNumber"), - 0x800B5CF8:("func_800B5CF8","void","GlobalContext* ctxt, u32 param_2"), - 0x800B5D18:("Actor_GetRoomCleared","u32","GlobalContext* ctxt, u32 roomNumber"), - 0x800B5D30:("Actor_SetRoomCleared","void","GlobalContext* ctxt, unsigned int roomNumber"), - 0x800B5D4C:("Actor_UnsetRoomCleared","void","GlobalContext* ctxt, u32 roomNumber"), + 0x800B4F40:("func_800B4F40","void","TargetContext* targetContext, int param_2, UNK_TYPE4 param_3, UNK_TYPE4 param_4, UNK_TYPE4 param_5"), + 0x800B4F78:("func_800B4F78","void","TargetContext* targetContext, u8 type, GlobalContext* ctxt"), + 0x800B5040:("func_800B5040","void","TargetContext* targetContext, Actor* actor, u8 type, GlobalContext* ctxt"), + 0x800B51A4:("Actor_TargetContextInit","void","TargetContext* targetCtxt, Actor* actor, GlobalContext* ctxt"), + 0x800B5208:("func_800B5208","void","TargetContext* targetCtxt, GlobalContext* ctxt"), + 0x800B5814:("func_800B5814","void","TargetContext* targetContext, ActorPlayer* player, Actor* param_3, GlobalContext* ctxt"), + 0x800B5BB0:("Actor_GetSwitchFlag","u32","GlobalContext* ctxt, u32 flag"), + 0x800B5BF4:("Actor_SetSwitchFlag","void","GlobalContext* ctxt, u32 flag"), + 0x800B5C34:("Actor_UnsetSwitchFlag","void","GlobalContext* ctxt, u32 flag"), + 0x800B5C78:("Actor_GetChestFlag","u32","GlobalContext* ctxt, u32 flag"), + 0x800B5C90:("Actor_SetChestFlag","void","GlobalContext* ctxt, u32 flag"), + 0x800B5CAC:("Actor_SetAllChestFlag","void","GlobalContext* ctxt, u32 flags"), + 0x800B5CB8:("Actor_GetAllChestFlag","u32","GlobalContext* ctxt"), + 0x800B5CC4:("Actor_GetRoomCleared","u32","GlobalContext* ctxt, u32 roomNumber"), + 0x800B5CDC:("Actor_SetRoomCleared","void","GlobalContext* ctxt, u32 roomNumber"), + 0x800B5CF8:("Actor_UnsetRoomCleared","void","GlobalContext* ctxt, u32 roomNumber"), + 0x800B5D18:("Actor_GetRoomClearedTemp","u32","GlobalContext* ctxt, u32 roomNumber"), + 0x800B5D30:("Actor_SetRoomClearedTemp","void","GlobalContext* ctxt, unsigned int roomNumber"), + 0x800B5D4C:("Actor_UnsetRoomClearedTemp","void","GlobalContext* ctxt, u32 roomNumber"), 0x800B5D6C:("Actor_GetCollectibleFlag","u32","GlobalContext* ctxt, u32 index"), 0x800B5DB0:("Actor_SetCollectibleFlag","u32","GlobalContext* ctxt, u32 index"), - 0x800B5DF0:("func_800B5DF0","void","void"), - 0x800B5E0C:("func_800B5E0C","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE1 param_6, UNK_TYPE1 param_7"), + 0x800B5DF0:("Actor_TitleCardContextInit","void","GlobalContext* ctxt, TitleCardContext* titleCtxt"), + 0x800B5E0C:("Actor_TitleCardCreate","void","GlobalContext* ctxt, TitleCardContext* titleCtxt, UNK_TYPE4 param_3, UNK_TYPE2 param_4, UNK_TYPE2 param_5, UNK_TYPE1 param_6, UNK_TYPE1 param_7"), 0x800B5E50:("Actor_Nop800B5E50","void","UNK_TYPE4 param_1, UNK_TYPE4 param_2, UNK_TYPE4 param_3, UNK_TYPE4 param_4"), - 0x800B5E68:("func_800B5E68","void","void"), - 0x800B5F24:("func_800B5F24","void","void"), - 0x800B6434:("func_800B6434","UNK_TYPE4","s32 param_1, s32 param_2"), + 0x800B5E68:("Actor_TitleCardUpdate","void","GlobalContext* ctxt, TitleCardContext* titleCtxt"), + 0x800B5F24:("Actor_TitleCardDraw","void","GlobalContext* ctxt, TitleCardContext* titleCtxt"), + 0x800B6434:("func_800B6434","UNK_TYPE4","GlobalContext* ctxt, TitleCardContext* titleCtxt"), 0x800B645C:("func_800B645C","UNK_TYPE4","void"), 0x800B6468:("func_800B6468","void","GlobalContext* ctxt"), 0x800B6474:("func_800B6474","void","GlobalContext* ctxt"), - 0x800B648C:("func_800B648C","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5"), + 0x800B648C:("func_800B648C","UNK_TYPE4","GlobalContext* ctxt, UNK_TYPE1 param_2, UNK_TYPE1 param_3, float param_4, Vector3f* param_5"), 0x800B64FC:("func_800B64FC","f32","GlobalContext* ctxt, f32 fParm2, Vector3f* pzParm3, u32* puParm4"), 0x800B6584:("func_800B6584","void*","GlobalContext* ctxt, s16 sParm2, void* pvParm3, u32 uParm4"), 0x800B6608:("func_800B6608","UNK_TYPE4","int iParm1, short sParm2"), 0x800B6680:("func_800B6680","void","void"), 0x800B670C:("Actor_MarkForDeath","void","Actor* actor"), - 0x800B672C:("func_800B672C","void","void"), + 0x800B672C:("func_800B672C","void","Actor* actor"), 0x800B675C:("func_800B675C","void","Actor* actor, f32 fParm2"), 0x800B67A0:("func_800B67A0","void","s32 param_1"), 0x800B67C0:("func_800B67C0","void","Actor* actor"), @@ -732,7 +732,7 @@ 0x800B6E1C:("Actor_XZDistanceBetweenActors","f32","Actor* actor1, Actor* actor2"), 0x800B6E48:("Actor_XZDistanceToPoint","f32","Actor* actor, Vector3f* point"), 0x800B6E6C:("func_800B6E6C","void","Actor* actor, Vector3f* pfParm2, Vector3f* pfParm3"), - 0x800B6F0C:("Actor_YDistanceBetweenActors","f32","Actor* actor1, Actor* actor2"), + 0x800B6F0C:("Actor_YDistance","f32","Actor* actor1, Actor* actor2"), 0x800B6F20:("func_800B6F20","void","void"), 0x800B6FC8:("func_800B6FC8","void","void"), 0x800B7090:("func_800B7090","void","void"), @@ -758,7 +758,7 @@ 0x800B7678:("func_800B7678","void","void"), 0x800B78B8:("func_800B78B8","void","GlobalContext* ctxt, Actor* iParm2, f32 uParm3, f32 uParm4, f32 param_5, u32 param_6"), 0x800B7E04:("func_800B7E04","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6"), - 0x800B7FE0:("func_800B7FE0","void","void"), + 0x800B7FE0:("func_800B7FE0","s32","f32* param_1, f32* param_2, f32* param_3, GraphicsContext* gCtxt"), 0x800B8018:("func_800B8018","void","void"), 0x800B8050:("func_800B8050","void","Actor* actor, GlobalContext* ctxt, s32 iParm3"), 0x800B8118:("func_800B8118","void","void"), @@ -808,7 +808,7 @@ 0x800B9010:("func_800B9010","void","Actor* actor, UNK_TYPE2 uParm2"), 0x800B9038:("func_800B9038","void","void"), 0x800B9084:("func_800B9084","void","void"), - 0x800B9098:("func_800B9098","void","void"), + 0x800B9098:("func_800B9098","void","Actor* actor"), 0x800B90AC:("func_800B90AC","void","void"), 0x800B90F4:("func_800B90F4","void","void"), 0x800B9120:("func_800B9120","void","ActorContext* actCtxt"), @@ -818,15 +818,15 @@ 0x800B9780:("func_800B9780","void","GlobalContext* ctxt, ActorContext* actCtxt"), 0x800B9A04:("Actor_DrawActor","void","GlobalContext* ctxt, Actor* actor"), 0x800B9D1C:("func_800B9D1C","void","Actor* actor"), - 0x800B9E3C:("func_800B9E3C","void","void"), - 0x800B9E4C:("func_800B9E4C","UNK_TYPE4","GlobalContext* ctxt, Actor* actor"), + 0x800B9E3C:("Actor_DrawAllSetup","void","GlobalContext* ctxt"), + 0x800B9E4C:("Actor_RecordDrawnActor","s32","GlobalContext* ctxt, Actor* actor"), 0x800B9E84:("func_800B9E84","void","void"), 0x800B9EF4:("func_800B9EF4","void","GlobalContext* ctxt, int numActors, Actor** actors"), - 0x800BA2D8:("func_800BA2D8","void","void"), - 0x800BA2FC:("func_800BA2FC","void","void"), - 0x800BA42C:("Actor_DrawAllActors","void","GlobalContext* ctxt, ActorContext* aCtxt"), + 0x800BA2D8:("func_800BA2D8","void","GlobalContext* ctxt, Actor* actor"), + 0x800BA2FC:("func_800BA2FC","UNK_TYPE4","GlobalContext* ctxt, Actor* actor, Vector3f* param_3, f32 param_4"), + 0x800BA42C:("Actor_DrawAll","void","GlobalContext* ctxt, ActorContext* aCtxt"), 0x800BA6FC:("func_800BA6FC","void","void"), - 0x800BA798:("func_800BA798","void","void"), + 0x800BA798:("func_800BA798","void","GlobalContext* ctxt, ActorContext* aCtxt"), 0x800BA8B8:("func_800BA8B8","void","GlobalContext* ctxt, ActorContext* actCtxt"), 0x800BA9B4:("func_800BA9B4","void","void"), 0x800BAAB4:("Actor_InsertIntoTypeList","void","ActorContext* actCtxt, Actor* actor, u8 type"), @@ -865,7 +865,7 @@ 0x800BCB50:("func_800BCB50","void","void"), 0x800BCB70:("func_800BCB70","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5"), 0x800BCBF4:("func_800BCBF4","void","Vector3f* uParm1, GlobalContext* ctxt"), - 0x800BCC68:("func_800BCC68","void","void"), + 0x800BCC68:("func_800BCC68","void","Vector3f* param_1, GlobalContext* ctxt"), 0x800BCCDC:("func_800BCCDC","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5"), 0x800BD2B4:("func_800BD2B4","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6"), 0x800BD384:("func_800BD384","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8, UNK_TYPE1 param_9"), @@ -897,24 +897,24 @@ 0x800BFA78:("func_800BFA78","s32","s32 param_1, s32 param_2"), 0x800BFAE8:("func_800BFAE8","void","void"), 0x800BFB40:("func_800BFB40","void","void"), - 0x800BFB80:("func_800BFB80","void","void"), - 0x800BFB9C:("func_800BFB9C","void","void"), - 0x800BFBAC:("func_800BFBAC","void","void"), - 0x800BFC04:("func_800BFC04","void","void"), - 0x800BFC5C:("func_800BFC5C","void","void"), - 0x800BFC70:("func_800BFC70","void","void"), - 0x800BFCC0:("func_800BFCC0","void","void"), - 0x800BFCCC:("func_800BFCCC","void","void"), - 0x800BFCFC:("func_800BFCFC","void","void"), - 0x800BFD40:("func_800BFD40","void","void"), + 0x800BFB80:("BgCheck_PolygonLinkedListNodeInit","void","BgPolygonLinkedListNode* node, s16* next, s16 polyIndex"), + 0x800BFB9C:("BgCheck_PolygonLinkedListResetHead","void","s16* head"), + 0x800BFBAC:("BgCheck_ScenePolygonListsNodeInsert","void","BgScenePolygonLists* list, u16* head, s32 polyIndex"), + 0x800BFC04:("BgCheck_PolygonLinkedListNodeInsert","void","BgPolygonLinkedList* list, s16* head, s32 polyIndex"), + 0x800BFC5C:("BgCheck_PolygonLinkedListInit","void","GlobalContext* ctxt, BgPolygonLinkedList* list"), + 0x800BFC70:("BgCheck_PolygonLinkedListAlloc","void","GlobalContext* ctxt, BgPolygonLinkedList* list, u32 numNodes"), + 0x800BFCC0:("BgCheck_PolygonLinkedListReset","void","BgPolygonLinkedList* list"), + 0x800BFCCC:("BgCheck_AllocPolygonLinkedListNode","s16","BgPolygonLinkedList* attributes"), + 0x800BFCFC:("BgCheck_CreateVec3fFromVertex","void","BgVertex* vertex, Vector3f* vector"), + 0x800BFD40:("BgCheck_CreateVertexFromVec3f","void","BgVertex* vertex, Vector3f* vector"), 0x800BFD84:("func_800BFD84","void","void"), 0x800BFDEC:("func_800BFDEC","void","void"), - 0x800BFFC4:("func_800BFFC4","void","void"), + 0x800BFFC4:("BgCheck_PolygonGetMinY","s32","BgPolygon* polygons, BgVertex* vertices"), 0x800C003C:("func_800C003C","void","void"), 0x800C0094:("func_800C0094","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5"), 0x800C01B8:("func_800C01B8","void","void"), - 0x800C0220:("func_800C0220","void","void"), - 0x800C02C0:("func_800C02C0","void","void"), + 0x800C0220:("BgCheck_CreateColTriParamsFromPolygon","void","BgPolygon* polygon, BgVertex* vertices, ColTriParams* tri"), + 0x800C02C0:("func_800C02C0","void","BgPolygon* poly, s32 index, BgCheckContext* bgCtxt, ColTriParams* tri"), 0x800C0340:("func_800C0340","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6"), 0x800C0474:("func_800C0474","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6"), 0x800C0668:("func_800C0668","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5"), @@ -922,8 +922,8 @@ 0x800C074C:("func_800C074C","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5"), 0x800C07F0:("func_800C07F0","void","void"), 0x800C0AF0:("func_800C0AF0","void","void"), - 0x800C0BC0:("func_800C0BC0","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5"), - 0x800C0DE0:("func_800C0DE0","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5"), + 0x800C0BC0:("BgCheck_ScenePolygonListsInsertSorted","void","BgCheckContext* bgCtxt, u16* head, BgPolygon* polygons, BgVertex* vertices, s16 index"), + 0x800C0DE0:("BgCheck_ScenePolygonListsInsert","void","BgMeshSubdivision* subdivision, BgCheckContext* bgCtxt, BgPolygon* polygons, BgVertex* vertices, s16 index"), 0x800C0E74:("func_800C0E74","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8, UNK_TYPE4 param_9, UNK_TYPE4 param_10"), 0x800C10FC:("func_800C10FC","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8, UNK_TYPE4 param_9"), 0x800C1238:("func_800C1238","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE1 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8, UNK_TYPE4 param_9, UNK_TYPE4 param_10, UNK_TYPE4 param_11"), @@ -936,27 +936,27 @@ 0x800C2460:("func_800C2460","void","void"), 0x800C2514:("func_800C2514","void","void"), 0x800C25E0:("func_800C25E0","void","void"), - 0x800C26C0:("func_800C26C0","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5"), - 0x800C2864:("func_800C2864","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5"), - 0x800C2A30:("func_800C2A30","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8, UNK_TYPE4 param_9, UNK_TYPE2 param_10"), - 0x800C2BE0:("func_800C2BE0","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5"), - 0x800C3334:("func_800C3334","void","void"), - 0x800C3734:("func_800C3734","void","void"), - 0x800C3778:("func_800C3778","void","void"), - 0x800C37BC:("func_800C37BC","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5"), - 0x800C3844:("func_800C3844","void","void"), - 0x800C389C:("func_800C389C","void","void"), - 0x800C3C00:("func_800C3C00","void","void"), - 0x800C3C14:("func_800C3C14","void","void"), - 0x800C3C2C:("func_800C3C2C","void","void"), + 0x800C26C0:("BgCheck_GetPolyMinSubdivisions","void","BgCheckContext* bgCtxt, Vector3f* min, s32* xSubdivision, s32* ySubdivision, s32* zSubdivision"), + 0x800C2864:("BgCheck_GetPolyMaxSubdivisions","void","BgCheckContext* bgCtxt, Vector3f* max, s32* xSubdivision, s32* ySubdivision, s32* zSubdivision"), + 0x800C2A30:("BgCheck_GetPolyMinMaxSubdivisions","void","BgCheckContext* bgCtxt, BgVertex* vertices, BgPolygon* polygons, s32* minX, s32* minY, s32* minZ, s32* maxX, s32* maxY, s32* maxZ, s16 index"), + 0x800C2BE0:("func_800C2BE0","UNK_TYPE4","Vector3f* param_1, Vector3f* param_2, BgPolygon* polygons, BgVertex* vertices, s16 index"), + 0x800C3334:("BgCheck_SplitScenePolygonsIntoSubdivisions","u32","BgCheckContext* bgCtxt, GlobalContext* ctxt, BgMeshSubdivision* subdivisions"), + 0x800C3734:("BgCheck_GetIsDefaultSpecialScene","s32","GlobalContext* ctxt"), + 0x800C3778:("BgCheck_GetSpecialSceneMaxMemory","s32","s32 sceneId, u32* maxMemory"), + 0x800C37BC:("BgCheck_CalcSubdivisionSize","void","f32 min, s32 subdivisions, f32* max, f32* subdivisionSize, f32* inverseSubdivisionSize"), + 0x800C3844:("BgCheck_GetSpecialSceneMaxObjects","s32","GlobalContext* ctxt, u32* maxNodes, u32* maxPolygons, u32* maxVertices"), + 0x800C389C:("BgCheck_Init","void","BgCheckContext* bgCtxt, GlobalContext* ctxt, BgMeshHeader* mesh"), + 0x800C3C00:("func_800C3C00","void","BgCheckContext* bgCtxt, unsigned int param_2"), + 0x800C3C14:("func_800C3C14","void","BgCheckContext* bgCtxt, unsigned int param_2"), + 0x800C3C2C:("BgCheck_GetActorMeshHeader","BgMeshHeader*","BgCheckContext* bgCtxt, s32 index"), 0x800C3C94:("func_800C3C94","void","void"), - 0x800C3D50:("func_800C3D50","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8, UNK_TYPE4 param_9, UNK_TYPE4 param_10"), + 0x800C3D50:("func_800C3D50","float","UNK_TYPE4 param_1, BgCheckContext* bgCtxt, unsigned int param_3, UNK_PTR param_4, UNK_PTR param_5, UNK_PTR param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8, unsigned int param_9, unsigned int param_10"), 0x800C3F40:("func_800C3F40","void","void"), 0x800C3FA0:("func_800C3FA0","void","void"), 0x800C4000:("func_800C4000","void","void"), 0x800C4058:("func_800C4058","void","void"), 0x800C40B4:("func_800C40B4","void","void"), - 0x800C411C:("func_800C411C","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5"), + 0x800C411C:("func_800C411C","void","BgCheckContext* param_1, UNK_TYPE4 param_2, UNK_TYPE4 param_3, UNK_TYPE4 param_4, UNK_TYPE4 param_5"), 0x800C4188:("func_800C4188","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6"), 0x800C41E4:("func_800C41E4","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6"), 0x800C4240:("func_800C4240","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6"), @@ -966,7 +966,7 @@ 0x800C4488:("func_800C4488","void","void"), 0x800C44F0:("func_800C44F0","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5"), 0x800C455C:("func_800C455C","void","void"), - 0x800C45C4:("func_800C45C4","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8, UNK_TYPE4 param_9, UNK_TYPE4 param_10, UNK_TYPE1 param_11"), + 0x800C45C4:("func_800C45C4","s32","BgCheckContext* bgCtxt, unsigned int param_2, Vector3f* param_3, Vector3f* param_4, Vector3f* param_5, float param_6, int* param_7, int* param_8, BgActor* param_9, float param_10, u8 param_11"), 0x800C4C74:("func_800C4C74","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7"), 0x800C4CD8:("func_800C4CD8","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8"), 0x800C4D3C:("func_800C4D3C","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8, UNK_TYPE4 param_9"), @@ -988,45 +988,46 @@ 0x800C5954:("func_800C5954","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE2 param_8"), 0x800C5A20:("func_800C5A20","void","void"), 0x800C5A64:("func_800C5A64","void","void"), - 0x800C5AAC:("func_800C5AAC","void","void"), - 0x800C5AC4:("func_800C5AC4","void","void"), - 0x800C5BBC:("func_800C5BBC","void","void"), - 0x800C5BD0:("func_800C5BD0","void","void"), - 0x800C5C0C:("func_800C5C0C","void","void"), - 0x800C5C5C:("func_800C5C5C","void","void"), - 0x800C5D30:("func_800C5D30","void","void"), - 0x800C5D70:("func_800C5D70","void","void"), - 0x800C5D90:("func_800C5D90","void","void"), - 0x800C5D9C:("func_800C5D9C","void","void"), - 0x800C5DA8:("func_800C5DA8","void","void"), - 0x800C5E10:("func_800C5E10","void","void"), - 0x800C5EC8:("func_800C5EC8","void","void"), - 0x800C5EF0:("func_800C5EF0","void","void"), - 0x800C5EFC:("func_800C5EFC","void","void"), - 0x800C5F38:("func_800C5F38","void","void"), - 0x800C5F44:("func_800C5F44","void","void"), - 0x800C5F8C:("func_800C5F8C","void","void"), - 0x800C5F9C:("func_800C5F9C","void","void"), - 0x800C5FD8:("func_800C5FD8","void","void"), - 0x800C6024:("func_800C6024","void","void"), - 0x800C6044:("func_800C6044","void","void"), - 0x800C6098:("func_800C6098","void","void"), - 0x800C6188:("func_800C6188","void","void"), - 0x800C6248:("func_800C6248","void","void"), - 0x800C62BC:("func_800C62BC","void","void"), - 0x800C6314:("func_800C6314","void","void"), - 0x800C636C:("func_800C636C","void","void"), - 0x800C63C4:("func_800C63C4","void","void"), - 0x800C641C:("func_800C641C","void","void"), - 0x800C6474:("func_800C6474","void","void"), - 0x800C64CC:("func_800C64CC","void","void"), + 0x800C5AAC:("BgCheck_ScenePolygonListsInit","void","BgScenePolygonLists* param_1"), + 0x800C5AC4:("BgCheck_ScenePolygonListsAlloc","void","GlobalContext* ctxt, BgScenePolygonLists* lists, s32 numNodes, u32 numPolygons"), + 0x800C5B80:("func_800C5B80","int","unsigned short* param_1"), + 0x800C5BBC:("BgCheck_ScenePolygonListsReserveNode","u16","BgScenePolygonLists* lists"), + 0x800C5BD0:("BgCheck_ActorMeshParamsInit","void","ActorMeshParams* params"), + 0x800C5C0C:("BgCheck_SetActorMeshParams","void","ActorMeshParams* params, Vector3f* scale, Vector3s* rotation, Vector3f* position"), + 0x800C5C5C:("BgCheck_AreActorMeshParamsEqual","s32","ActorMeshParams* param_1, ActorMeshParams* param_2"), + 0x800C5D30:("BgCheck_ActorMeshPolyListsHeadsInit","void","ActorMeshPolyLists* lists"), + 0x800C5D70:("BgCheck_ActorMeshPolyListsInit","void","ActorMeshPolyLists* lists"), + 0x800C5D90:("BgCheck_ActorMeshVerticesIndexInit","void","s16* index"), + 0x800C5D9C:("BgCheck_ActorMeshWaterboxesIndexInit","void","s16* index"), + 0x800C5DA8:("BgCheck_ActorMeshInit","void","GlobalContext* ctxt, ActorMesh* mesh"), + 0x800C5E10:("BgCheck_ActorMeshInitFromActor","void","ActorMesh* actorMesh, BgActor* actor, BgMeshHeader* header"), + 0x800C5EC8:("BgCheck_HasActorMeshChanged","s32","ActorMesh* mesh"), + 0x800C5EF0:("BgCheck_PolygonsInit","void","BgPolygon** polygons"), + 0x800C5EFC:("BgCheck_PolygonsAlloc","void","GlobalContext* ctxt, BgPolygon* polygons, u32 numPolygons"), + 0x800C5F38:("BgCheck_VerticesInit","void","BgVertex** vertices"), + 0x800C5F44:("BgCheck_VerticesListAlloc","void","GlobalContext* ctxt, BgVertex** vertices, u32 numVertices"), + 0x800C5F8C:("BgCheck_WaterboxListInit","void","BgWaterboxList* waterboxList"), + 0x800C5F9C:("BgCheck_WaterboxListAlloc","void","GlobalContext* ctxt, BgWaterboxList* waterboxList, u32 numWaterboxes"), + 0x800C5FD8:("BgCheck_ActorMeshUpdateParams","void","GlobalContext* ctxt, ActorMesh* mesh"), + 0x800C6024:("BcCheck_IsActorMeshIndexValid","s32","s32 index"), + 0x800C6044:("BgCheck_DynaInit","void","GlobalContext* ctxt, BgDynaCollision* param_2"), + 0x800C6098:("BgCheck_DynaAlloc","void","GlobalContext* ctxt, BgDynaCollision* dyna"), + 0x800C6188:("BgCheck_AddActorMesh","s32","GlobalContext* ctxt, BgDynaCollision* dyna, BgActor* actor, BgMeshHeader* header"), + 0x800C6248:("BgCheck_GetActorOfMesh","BgActor*","BgCheckContext* bgCtxt, s32 index"), + 0x800C62BC:("func_800C62BC","void","GlobalContext* ctxt, BgDynaCollision* dyna, s32 index"), + 0x800C6314:("func_800C6314","void","GlobalContext* ctxt, BgDynaCollision* dyna, s32 index"), + 0x800C636C:("func_800C636C","void","GlobalContext* ctxt, BgDynaCollision* dyna, s32 index"), + 0x800C63C4:("func_800C63C4","void","GlobalContext* ctxt, BgDynaCollision* dyna, s32 index"), + 0x800C641C:("func_800C641C","void","GlobalContext* ctxt, BgDynaCollision* dyna, s32 index"), + 0x800C6474:("func_800C6474","void","GlobalContext* ctxt, BgDynaCollision* dyna, s32 index"), + 0x800C64CC:("func_800C64CC","void","GlobalContext* ctxt, BgDynaCollision* dyna, s32 index"), 0x800C6554:("func_800C6554","void","void"), - 0x800C656C:("func_800C656C","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6"), - 0x800C6838:("func_800C6838","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6"), - 0x800C734C:("func_800C734C","void","void"), - 0x800C73E4:("func_800C73E4","void","void"), + 0x800C656C:("BgCheck_CalcWaterboxDimensions","void","Vector3f* minPos, Vector3f* maxXPos, Vector3f* maxZPos, Vector3s* minPosOut, s16* xLength, s16* zLength"), + 0x800C6838:("func_800C6838","void","GlobalContext* ctxt, BgDynaCollision* dyna, s32 index, s32* currVertices, s32* currPolygons, s32* currWaterboxes"), + 0x800C734C:("func_800C734C","void","GlobalContext* ctxt, BgDynaCollision* param_2, int param_3"), + 0x800C73E4:("func_800C73E4","void","GlobalContext* ctxt, BgDynaCollision* dyna"), 0x800C756C:("func_800C756C","void","s32 param_1, s32* param_2, s32* param_3, s32* param_4"), - 0x800C765C:("func_800C765C","void","void"), + 0x800C765C:("BgCheck_UpdateAllActorMeshes","void","GlobalContext* ctxt, BgDynaCollision* dyna"), 0x800C76EC:("func_800C76EC","void","void"), 0x800C7974:("func_800C7974","void","void"), 0x800C7E40:("func_800C7E40","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8, UNK_TYPE4 param_9, UNK_TYPE4 param_10, UNK_TYPE4 param_11, UNK_TYPE4 param_12"), @@ -1039,44 +1040,44 @@ 0x800C90AC:("func_800C90AC","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7"), 0x800C921C:("func_800C921C","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE2 param_7, UNK_TYPE4 param_8"), 0x800C9380:("func_800C9380","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE2 param_8"), - 0x800C94E0:("func_800C94E0","void","void"), - 0x800C9564:("func_800C9564","void","void"), - 0x800C9598:("func_800C9598","void","void"), + 0x800C94E0:("BgCheck_RelocateMeshHeaderPointers","void","BgMeshHeader* header"), + 0x800C9564:("BgCheck_RelocateMeshHeader","void","u32 meshSegPtr, BgMeshHeader** param_2"), + 0x800C9598:("BgCheck_RelocateAllMeshHeaders","void","BgCheckContext* bgCtxt, GlobalContext* ctxt"), 0x800C9640:("func_800C9640","void","void"), - 0x800C9694:("func_800C9694","void","void"), - 0x800C9704:("func_800C9704","void","void"), + 0x800C9694:("BgCheck_GetPolygonAttributes","u32","BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index, s32 attributeIndex"), + 0x800C9704:("func_800C9704","u32","BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index"), 0x800C9728:("func_800C9728","void","void"), - 0x800C9770:("func_800C9770","void","void"), + 0x800C9770:("func_800C9770","UNK_TYPE4","BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index"), 0x800C97F8:("func_800C97F8","void","void"), - 0x800C9844:("func_800C9844","void","void"), + 0x800C9844:("func_800C9844","UNK_TYPE4","BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index"), 0x800C98CC:("func_800C98CC","void","void"), - 0x800C9924:("func_800C9924","void","void"), - 0x800C99AC:("func_800C99AC","void","void"), - 0x800C99D4:("func_800C99D4","void","void"), - 0x800C99FC:("func_800C99FC","void","void"), - 0x800C9A24:("func_800C9A24","void","void"), - 0x800C9A4C:("func_800C9A4C","void","void"), - 0x800C9A7C:("func_800C9A7C","void","void"), - 0x800C9AB0:("func_800C9AB0","void","void"), - 0x800C9AE4:("func_800C9AE4","void","void"), - 0x800C9B18:("func_800C9B18","void","void"), - 0x800C9B40:("func_800C9B40","void","void"), - 0x800C9B68:("func_800C9B68","void","void"), - 0x800C9B90:("func_800C9B90","void","void"), - 0x800C9BB8:("func_800C9BB8","void","void"), - 0x800C9BDC:("func_800C9BDC","void","void"), - 0x800C9C24:("func_800C9C24","void","void"), - 0x800C9C74:("func_800C9C74","void","void"), - 0x800C9C9C:("func_800C9C9C","void","void"), - 0x800C9CC4:("func_800C9CC4","void","void"), + 0x800C9924:("func_800C9924","UNK_TYPE4","BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index"), + 0x800C99AC:("func_800C99AC","u32","BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index"), + 0x800C99D4:("func_800C99D4","u32","BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index"), + 0x800C99FC:("func_800C99FC","u32","BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index"), + 0x800C9A24:("func_800C9A24","u32","BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index"), + 0x800C9A4C:("func_800C9A4C","u32","BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index"), + 0x800C9A7C:("func_800C9A7C","u32","BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index"), + 0x800C9AB0:("func_800C9AB0","u32","BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index"), + 0x800C9AE4:("func_800C9AE4","u32","BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index"), + 0x800C9B18:("func_800C9B18","u32","BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index"), + 0x800C9B40:("func_800C9B40","u32","BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index"), + 0x800C9B68:("func_800C9B68","u32","BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index"), + 0x800C9B90:("func_800C9B90","u32","BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index"), + 0x800C9BB8:("func_800C9BB8","u32","BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index"), + 0x800C9BDC:("func_800C9BDC","u32","BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index"), + 0x800C9C24:("func_800C9C24","u32","BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index, UNK_TYPE4 param_4"), + 0x800C9C74:("func_800C9C74","u32","BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index"), + 0x800C9C9C:("func_800C9C9C","u32","BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index"), + 0x800C9CC4:("func_800C9CC4","u32","BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index"), 0x800C9CEC:("func_800C9CEC","void","void"), 0x800C9D14:("func_800C9D14","void","void"), 0x800C9D50:("func_800C9D50","void","void"), 0x800C9D8C:("func_800C9D8C","void","void"), 0x800C9DDC:("func_800C9DDC","void","void"), - 0x800C9E18:("func_800C9E18","void","void"), - 0x800C9E40:("func_800C9E40","void","void"), - 0x800C9E88:("func_800C9E88","void","void"), + 0x800C9E18:("func_800C9E18","u32","BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index"), + 0x800C9E40:("func_800C9E40","u32","BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index"), + 0x800C9E88:("func_800C9E88","u32","BgCheckContext* bgCtxt, BgPolygon* polygon, s32 index"), 0x800C9EBC:("func_800C9EBC","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7"), 0x800CA1AC:("func_800CA1AC","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6"), 0x800CA1E8:("func_800CA1E8","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6"), @@ -1093,7 +1094,7 @@ 0x800CAC0C:("func_800CAC0C","void","void"), 0x800CACA0:("func_800CACA0","void","void"), 0x800CAD2C:("func_800CAD2C","void","void"), - 0x800CAE10:("func_800CAE10","void","void"), + 0x800CAE10:("BcCheck_BgActorInit","void","BgActor* actor, UNK_TYPE4 param_2"), 0x800CAE34:("func_800CAE34","void","void"), 0x800CAE7C:("func_800CAE7C","void","void"), 0x800CAE88:("func_800CAE88","void","void"), @@ -1253,10 +1254,10 @@ 0x800DD5B8:("func_800DD5B8","void","void"), 0x800DDD58:("func_800DDD58","void","void"), 0x800DDDA8:("func_800DDDA8","void","void"), - 0x800DDDD0:("func_800DDDD0","void","GlobalContext220* iParm1, View* uParm2, UNK_TYPE4 uParm3, GlobalContext* uParm4"), + 0x800DDDD0:("func_800DDDD0","void","Camera* iParm1, View* uParm2, UNK_TYPE4 uParm3, GlobalContext* uParm4"), 0x800DDFE0:("func_800DDFE0","void","void"), 0x800DE0EC:("func_800DE0EC","void","void"), - 0x800DE308:("func_800DE308","s32","GlobalContext220* iParm1, UNK_TYPE2 uParm2"), + 0x800DE308:("func_800DE308","s32","Camera* iParm1, UNK_TYPE2 uParm2"), 0x800DE324:("func_800DE324","void","void"), 0x800DE62C:("func_800DE62C","void","void"), 0x800DE840:("func_800DE840","void","void"), @@ -1279,10 +1280,10 @@ 0x800DFD04:("func_800DFD04","void","void"), 0x800DFD78:("func_800DFD78","void","void"), 0x800DFEF0:("func_800DFEF0","UNK_TYPE4","s32 param_1, u16 param_2"), - 0x800DFF18:("func_800DFF18","UNK_TYPE4","GlobalContext220* iParm1, UNK_TYPE2 uParm2"), + 0x800DFF18:("func_800DFF18","UNK_TYPE4","Camera* iParm1, UNK_TYPE2 uParm2"), 0x800DFF34:("func_800DFF34","UNK_TYPE4","s32 param_1"), 0x800DFF44:("func_800DFF44","UNK_TYPE4","void"), - 0x800DFF60:("func_800DFF60","s32","GlobalContext220* iParm1, u16 uParm2"), + 0x800DFF60:("func_800DFF60","s32","Camera* iParm1, u16 uParm2"), 0x800DFF84:("func_800DFF84","void","void"), 0x800DFFAC:("func_800DFFAC","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7"), 0x800E007C:("func_800E007C","void","void"), @@ -1297,39 +1298,39 @@ 0x800E0348:("func_800E0348","void","void"), 0x800E03A0:("func_800E03A0","s800E03A0*","s32 a0"), 0x800E03CC:("func_800E03CC","void","u8* param_1"), - 0x800E0410:("func_800E0410","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5"), + 0x800E0410:("Collision_GetDamageAndEffectOnBumper","f32","ColCommon* toucher, ColBodyInfo* toucherBody, ColCommon* bumper, ColBodyInfo* bumperBody, u32* effect"), 0x800E04BC:("func_800E04BC","void","void"), - 0x800E04EC:("func_800E04EC","u32","ColCommon* ppsParm1, ColBodyInfo* iParm2, ColCommon* ppsParm3"), + 0x800E04EC:("Collision_GetToucherDamage","u32","ColCommon* toucher, ColBodyInfo* toucherBody, ColCommon* bumper"), 0x800E0538:("Collision_InitCommonDefault","s32","GlobalContext* ctxt, ColCommon* shape"), 0x800E0580:("Collision_FiniCommon","s32","GlobalContext* ctxt, ColCommon* shape"), 0x800E0594:("func_800E0594","void","void"), 0x800E05D4:("func_800E05D4","void","void"), 0x800E0618:("Collision_InitCommonWithData","s32","GlobalContext* ctxt, ColCommon* shape, Actor* actor, ColCommonInit* init"), - 0x800E065C:("func_800E065C","void","void"), - 0x800E0678:("func_800E0678","void","void"), - 0x800E0694:("func_800E0694","void","void"), + 0x800E065C:("Collision_ResetCommonForAT","void","GlobalContext* ctxt, ColCommon* shape"), + 0x800E0678:("Collision_ResetCommonForAC","void","GlobalContext* ctxt, ColCommon* shape"), + 0x800E0694:("Collision_ResetCommonForOT","void","GlobalContext* ctxt, ColCommon* shape"), 0x800E06BC:("Collision_InitTouchDefault","s32","GlobalContext* ctxt, ColTouch* touch"), 0x800E06E4:("Collision_FiniTouch","s32","GlobalContext* ctxt, ColTouch* touch"), 0x800E06F8:("Collision_InitTouchWithData","s32","GlobalContext* ctxt, ColTouch* touch, ColTouchInit* init"), - 0x800E0720:("func_800E0720","void","void"), + 0x800E0720:("Collision_nop800E0720","void","GlobalContext* ctxt, ColBodyInfo* body"), 0x800E0730:("Collision_InitBumpDefault","s32","GlobalContext* ctxt, ColBump* bump"), 0x800E0760:("Collision_FiniBump","s32","GlobalContext* ctxt, ColBump* bump"), 0x800E0774:("Collision_InitBumpWithData","s32","GlobalContext* ctxt, ColBump* bump, ColBumpInit* init"), 0x800E079C:("Collision_InitBodyDefault","s32","GlobalContext* ctxt, ColBodyInfo* body"), 0x800E081C:("Collision_FiniBody","s32","GlobalContext* ctxt, ColBodyInfo* body"), 0x800E085C:("Collision_InitBodyWithData","s32","GlobalContext* ctxt, ColBodyInfo* body, ColBodyInfoInit* init"), - 0x800E08D4:("func_800E08D4","void","void"), - 0x800E090C:("func_800E090C","void","void"), - 0x800E0944:("func_800E0944","void","void"), + 0x800E08D4:("Collision_ResetBodyForAT","void","GlobalContext* ctxt, ColBodyInfo* body"), + 0x800E090C:("Collision_ResetBodyForAC","void","GlobalContext* ctxt, ColBodyInfo* body"), + 0x800E0944:("Collision_ResetBodyForOT","void","GlobalContext* ctxt, ColBodyInfo* body"), 0x800E095C:("Collision_InitSphereParamsDefault","s32","GlobalContext* ctxt, ColSphereParams* params"), 0x800E09A4:("Collision_FiniSphereParams","s32","GlobalContext* ctxt, ColSphereParams* params"), 0x800E09B8:("Collision_InitSphereParamsWithData","s32","GlobalContext* ctxt, ColSphereParams* params, ColSphereParamsInit* init"), 0x800E0A10:("Collision_InitSphereGroupElemDefault","s32","GlobalContext* pzParm1, ColSphereGroupElement* elem"), 0x800E0A50:("Collision_FiniSphereGroupElem","s32","GlobalContext* ctxt, ColSphereGroupElement* elem"), 0x800E0A90:("Collision_InitSphereGroupElemWithData","s32","GlobalContext* ctxt, ColSphereGroupElement* elem, ColSphereGroupElementInit* init"), - 0x800E0AE0:("func_800E0AE0","void","void"), - 0x800E0B04:("func_800E0B04","void","void"), - 0x800E0B28:("func_800E0B28","void","void"), + 0x800E0AE0:("Collision_ResetSphereGroupElemForAT","s32","GlobalContext* ctxt, ColSphereGroupElement* elem"), + 0x800E0B04:("Collision_ResetSphereGroupElemForAC","s32","GlobalContext* ctxt, ColSphereGroupElement* elem"), + 0x800E0B28:("Collision_ResetSphereGroupElemForOT","s32","GlobalContext* ctxt, ColSphereGroupElement* elem"), 0x800E0B4C:("Collision_InitSphereGroupDefault","s32","GlobalContext* ctxt, ColSphereGroup* sphereGroup"), 0x800E0B78:("func_800E0B78","void","void"), 0x800E0C18:("Collision_FiniSphereGroup","s32","GlobalContext* ctxt, ColSphereGroup* sphereGroup"), @@ -1337,9 +1338,9 @@ 0x800E0D84:("func_800E0D84","void","void"), 0x800E0E60:("Collision_InitSphereGroupWithData","s32","GlobalContext* ctxt, ColSphereGroup* sphereGroup, Actor* actor, ColSphereGroupInit* init, ColSphereGroupElement* spheres"), 0x800E0F14:("Collision_InitSphereGroup","s32","GlobalContext* ctxt, ColSphereGroup* sphereGroup, Actor* actor, ColSphereGroupInit* init, ColSphereGroupElement* spheres"), - 0x800E0F68:("func_800E0F68","void","void"), - 0x800E0FF4:("func_800E0FF4","void","void"), - 0x800E1080:("func_800E1080","void","void"), + 0x800E0F68:("Collision_ResetSphereGroupForAT","s32","GlobalContext* ctxt, ColSphereGroup* spheres"), + 0x800E0FF4:("Collision_ResetSphereGroupForAC","s32","GlobalContext* ctxt, ColSphereGroup* spheres"), + 0x800E1080:("Collision_ResetSphereGroupForOT","s32","GlobalContext* ctst, ColSphereGroup* spheres"), 0x800E110C:("Collision_InitCylinderParamsDefault","s32","GlobalContext* ctxt, ColCylinderParams* params"), 0x800E1148:("Collision_FiniCylinderParams","s32","GlobalContext* ctxt, ColCylinderParams* params"), 0x800E115C:("Collision_InitCylinderParamsWithData","s32","GlobalContext* ctxt, ColCylinderParams* info, ColCylinderParams* init"), @@ -1349,30 +1350,30 @@ 0x800E12A4:("func_800E12A4","void","void"), 0x800E130C:("Collision_InitCylinderWithData","s32","GlobalContext* ctxt, ColCylinder* cylinder, Actor* actor, ColCylinderInit* init"), 0x800E1374:("Collision_InitCylinder","s32","GlobalContext* ctxt, ColCylinder* cylinder, Actor* actor, ColCylinderInit* init"), - 0x800E13C0:("func_800E13C0","void","void"), - 0x800E1400:("func_800E1400","void","void"), - 0x800E1440:("func_800E1440","void","void"), + 0x800E13C0:("Collision_ResetCylinderForAT","s32","GlobalContext* ctxt, ColCylinder* cylinder"), + 0x800E1400:("Collision_ResetCylinderForAC","s32","GlobalContext* ctxt, ColCylinder* cylinder"), + 0x800E1440:("Collision_ReseCylinderForOT","s32","GlobalContext* ctxt, ColCylinder* cylinder"), 0x800E1480:("Collision_InitTriParamsDefault","s32","GlobalContext* ctxt, ColTriParams* coords"), 0x800E14CC:("Collision_FiniTriParams","s32","GlobalContext* ctxt, ColTriParams* params"), 0x800E14E0:("Collision_InitTriParamsWithData","s32","GlobalContext* ctxt, ColTriParams* params, ColTriParamsInit* init"), 0x800E1594:("Collision_InitTriDefault","s32","GlobalContext* ctxt, ColTri* elem"), 0x800E15D4:("Collision_FiniTri","s32","GlobalContext* ctxt, ColTri* elem"), 0x800E1614:("Collision_InitTriWithData","s32","GlobalContext* ctxt, ColTri* elem, ColTriInit* init"), - 0x800E1664:("func_800E1664","void","void"), - 0x800E1688:("func_800E1688","void","void"), - 0x800E16AC:("func_800E16AC","void","void"), + 0x800E1664:("Collision_ResetTriForAT","s32","GlobalContext* ctxt, ColTri* tri"), + 0x800E1688:("Collision_ResetTriForAC","s32","GlobalContext* ctxt, ColTri* tri"), + 0x800E16AC:("func_800E16AC","s32","GlobalContext* ctxt, ColTri* tri"), 0x800E16D0:("Collision_InitTriGroupDefault","s32","GlobalContext* ctxt, ColTriGroup* quadGroup"), 0x800E16FC:("func_800E16FC","void","void"), 0x800E17B4:("Collision_FiniTriGroup","s32","GlobalContext* ctxt, ColTriGroup* triGroup"), 0x800E1858:("func_800E1858","void","void"), 0x800E1958:("Collision_InitTriGroupWithData","s32","GlobalContext* ctxt, ColTriGroup* triGroup, Actor* actor, ColTriGroupInit* init, ColTri* tris"), 0x800E1A24:("Collision_InitTriGroup","s32","GlobalContext* ctxt, ColTriGroup* triGroup, Actor* actor, ColTriGroupInit* init, ColTri* tris"), - 0x800E1A78:("func_800E1A78","void","void"), - 0x800E1B18:("func_800E1B18","void","void"), - 0x800E1BB8:("func_800E1BB8","void","void"), + 0x800E1A78:("Collision_ResetTriGroupForAT","s32","GlobalContext* ctxt, ColTriGroup* tris"), + 0x800E1B18:("Collision_ResetTriGroupForAC","s32","GlobalContext* ctxt, ColTriGroup* tris"), + 0x800E1BB8:("Collision_ResetTriGroupForOT","s32","GlobalContext* ctxt, ColTriGroup* tris"), 0x800E1C58:("Collision_InitQuadParamsDefault","s32","GlobalContext* ctxt, ColQuadParams* params"), 0x800E1CA4:("Collision_FiniQuadParams","s32","GlobalContext* ctxt, ColQuadParams* params"), - 0x800E1CB8:("func_800E1CB8","void","void"), + 0x800E1CB8:("Collision_ResetQuadParamsForAT","s32","GlobalContext* ctxt, ColQuadParams* params"), 0x800E1CD4:("Collision_QuadCalcMidpoints","void","ColQuadParams* params"), 0x800E1D90:("Collision_InitQuadParamsWithData","s32","GlobalContext* ctxt, ColQuadParams* params, ColQuadParams* init"), 0x800E1E18:("Collision_InitQuadDefault","s32","GlobalContext* ctxt, ColQuad* quad"), @@ -1380,22 +1381,22 @@ 0x800E1EB8:("func_800E1EB8","void","void"), 0x800E1F20:("Collision_InitQuadWithData","s32","GlobalContext* ctxt, ColQuad* quad, Actor* actor, ColQuadInit* init"), 0x800E1F88:("Collision_InitQuad","s32","GlobalContext* ctxt, ColQuad* quad, Actor* actor, ColQuadInit* init"), - 0x800E1FD4:("func_800E1FD4","void","void"), - 0x800E2024:("func_800E2024","void","void"), - 0x800E2064:("func_800E2064","void","void"), + 0x800E1FD4:("Collision_ResetQuadForAT","s32","GlobalContext* ctxt, ColQuad* quad"), + 0x800E2024:("Collision_ResetQuadForAC","s32","GlobalContext* param_1, ColQuad* quad"), + 0x800E2064:("Collision_ResetQuadForOT","s32","GlobalContext* ctxt, ColCommon* quad"), 0x800E20A4:("func_800E20A4","void","void"), 0x800E2154:("Collision_InitSphereDefault","s32","GlobalContext* ctxt, ColSphere* sphere"), 0x800E21A4:("Collision_FiniSphere","s32","GlobalContext* pzParm1, ColSphere* sphere"), 0x800E21F4:("Collision_InitSphereWithData","s32","GlobalContext* ctxt, ColSphere* sphere, Actor* actor, ColSphereInit* info"), 0x800E225C:("Collision_InitSphere","s32","GlobalContext* ctxt, ColSphere* sphere, Actor* actor, ColSphereInit* init"), - 0x800E22A8:("func_800E22A8","void","void"), - 0x800E22E8:("func_800E22E8","void","void"), - 0x800E2328:("func_800E2328","void","void"), + 0x800E22A8:("Collision_ResetSphereForAT","s32","GlobalContext* ctxt, ColSphere* sphere"), + 0x800E22E8:("Collision_ResetSphereForAC","s32","GlobalContext* ctxt, ColSphere* sphere"), + 0x800E2328:("Collision_ResetSphereForOT","s32","GlobalContext* ctxt, ColSphere* sphere"), 0x800E2368:("func_800E2368","void","void"), 0x800E23B0:("func_800E23B0","UNK_TYPE4","void"), 0x800E23C4:("func_800E23C4","void","void"), 0x800E2408:("func_800E2408","void","void"), - 0x800E2434:("func_800E2434","void","void"), + 0x800E2434:("func_800E2434","s32","GlobalContext* ctxt, int param_2"), 0x800E2450:("Collision_Init","void","GlobalContext* ctxt, CollisionContext* colCtxt"), 0x800E2470:("Collision_Fini","void","GlobalContext* ctxt, CollisionContext* colCtxt"), 0x800E2480:("Collision_Reset","void","GlobalContext* ctxt, CollisionContext* colCtxt"), @@ -1419,9 +1420,9 @@ 0x800E2F54:("func_800E2F54","void","void"), 0x800E2F78:("func_800E2F78","void","void"), 0x800E30C8:("func_800E30C8","void","void"), - 0x800E3168:("func_800E3168","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6"), - 0x800E3304:("func_800E3304","void","void"), - 0x800E3324:("func_800E3324","s32","GlobalContext* ctxt, ColCommon* toucher, ColBodyInfo* toucherBody, Vector3f* toucherLoc, ColCommon* bumpee, ColBodyInfo* bumpeeBody, Vector3f* bumpeeLoc, Vector3f* param_8"), + 0x800E3168:("func_800E3168","void","GlobalContext* ctxt, ColCommon* toucher, ColBodyInfo* toucherBody, ColCommon* bumper, ColBodyInfo* bumperBody, Vector3f* param_6"), + 0x800E3304:("func_800E3304","void","ColCommon* toucher, ColCommon* bumper"), + 0x800E3324:("Collision_HandleCollisionATWithAC","s32","GlobalContext* ctxt, ColCommon* toucher, ColBodyInfo* toucherBody, Vector3f* toucherLoc, ColCommon* bumper, ColBodyInfo* bumperBody, Vector3f* bumperLoc, Vector3f* param_8"), 0x800E35C8:("Collision_TriCalcAvgPoint","void","ColTri* tri, Vector3f* avg"), 0x800E362C:("collision_quad_cal_avg_point","void","ColQuadParams* quad, Vector3f* avg"), 0x800E36AC:("Collision_SphereGroupWithSphereGroupAC","void","GlobalContext* ctxt, CollisionContext* colCtxt, ColSphereGroup* toucher, ColSphereGroup* bumpee"), @@ -1456,9 +1457,9 @@ 0x800E63B8:("func_800E63B8","void","GlobalContext* ctxt, CollisionContext* colCtxt, ColSphere* sphere"), 0x800E6450:("func_800E6450","void","GlobalContext* ctxt, CollisionContext* colCtxt"), 0x800E6524:("Collision_CollideWithAC","void","GlobalContext* ctxt, CollisionContext* colCtxt, ColCommon* colObj"), - 0x800E6654:("Collision_HandleATWithAC","void","GlobalContext* ctxt, CollisionContext* colCtxt"), + 0x800E6654:("Collision_DoATWithAC","void","GlobalContext* ctxt, CollisionContext* colCtxt"), 0x800E6724:("func_800E6724","void","void"), - 0x800E6760:("func_800E6760","void","GlobalContext* ctxt, ColCommon* toucher, ColBodyInfo* toucherBody, Vector3f* toucherLoc, ColCommon* bumpee, ColBodyInfo* bumpeeBody, Vector3f* bumpeeLoc, f32 param_8"), + 0x800E6760:("Collision_HandleCollisionOTWithOT","void","GlobalContext* ctxt, ColCommon* toucher, ColBodyInfo* toucherBody, Vector3f* toucherLoc, ColCommon* bumper, ColBodyInfo* bumperBody, Vector3f* bumperLoc, f32 param_8"), 0x800E6A9C:("Collision_SphereGroupWithSphereGroupOT","void","GlobalContext* ctxt, CollisionContext* colCtxt, ColSphereGroup* toucher, ColSphereGroup* bumpee"), 0x800E6C84:("Collision_SphereGroupWithCylinderOT","void","GlobalContext* ctxt, CollisionContext* colCtxt, ColSphereGroup* toucher, ColCylinder* bumpee"), 0x800E6DF4:("Collision_SphereGroupWithSphereOT","void","GlobalContext* ctxt, CollisionContext* colCtxt, ColSphereGroup* toucher, ColSphere* bumpee"), @@ -1470,8 +1471,8 @@ 0x800E7188:("Collision_SphereWithSphereOT","void","GlobalContext* ctxt, CollisionContext* colCtxt, ColSphere* toucher, ColSphere* bumpee"), 0x800E7264:("func_800E7264","UNK_TYPE4","ColCommon* iParm1"), 0x800E7288:("func_800E7288","UNK_TYPE4","ColCommon* piParm1, ColCommon* piParm2"), - 0x800E7308:("Collision_HandleOTWithOT","void","GlobalContext* ctxt, CollisionContext* colCtxt"), - 0x800E7494:("func_800E7494","void","void"), + 0x800E7308:("Collision_DoOTWithOT","void","GlobalContext* ctxt, CollisionContext* colCtxt"), + 0x800E7494:("func_800E7494","void","ActorA0* param_1"), 0x800E74DC:("func_800E74DC","void","void"), 0x800E7508:("func_800E7508","void","s32 param_1, UNK_PTR param_2"), 0x800E7530:("func_800E7530","void","ActorA0* param_1, ActorDamageChart* param_2, UNK_PTR param_3"), @@ -1603,13 +1604,13 @@ 0x800EFAB8:("func_800EFAB8","void","GlobalContext* ctxt, s16 index"), 0x800EFBFC:("func_800EFBFC","void","GlobalContext* ctxt, s16 index"), 0x800EFD44:("func_800EFD44","void","GlobalContext* ctxt, s16 index"), - 0x800EFE60:("func_800EFE60","void","GlobalContext* ctxt"), - 0x800EFF04:("func_800EFF04","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE2 param_6, UNK_TYPE1 param_7, UNK_TYPE1 param_8, UNK_TYPE1 param_9, UNK_TYPE2 param_10, UNK_TYPE2 param_11, UNK_TYPE2 param_12"), - 0x800F00BC:("func_800F00BC","void","GlobalContext* ctxt"), - 0x800F01C8:("func_800F01C8","void","void"), + 0x800EFE60:("EffFootmark_Init","void","GlobalContext* ctxt"), + 0x800EFF04:("EffFootmark_Add","void","GlobalContext* ctxt, z_Matrix* displayMatrix, Actor* actor, char id, Vector3f* location, u16 size, u8 red, u8 green, u8 blue, u16 alpha, u16 alphaChange, u16 fadeoutDelay"), + 0x800F00BC:("EffFootmark_Update","void","GlobalContext* ctxt"), + 0x800F01C8:("EffFootmark_Draw","void","GlobalContext* ctxt"), 0x800F0390:("func_800F0390","void","GlobalContext* ctxt"), - 0x800F03C0:("func_800F03C0","void","void"), - 0x800F048C:("func_800F048C","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5"), + 0x800F03C0:("func_800F03C0","void","GlobalContext* ctxt"), + 0x800F048C:("func_800F048C","void","GlobalContext* ctxt, Vector3f* param_2, u8 param_3, u16 param_4, u8 param_5"), 0x800F0568:("func_800F0568","void","void"), 0x800F0590:("func_800F0590","void","void"), 0x800F05C0:("func_800F05C0","void","void"), @@ -1631,6 +1632,7 @@ 0x800F1250:("func_800F1250","void","void"), 0x800F12D0:("func_800F12D0","void","GlobalContext* ctxt"), 0x800F1304:("func_800F1304","void","void"), + 0x800F1374:("func_800F1374","void","int param_1, short param_2"), 0x800F13E8:("func_800F13E8","void","void"), 0x800F1460:("func_800F1460","void","void"), 0x800F14F8:("func_800F14F8","void","void"), @@ -1666,19 +1668,19 @@ 0x800F2728:("func_800F2728","void","void"), 0x800F29A0:("func_800F29A0","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7"), 0x800F2CD8:("func_800F2CD8","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7"), - 0x800F2D30:("func_800F2D30","void","void"), - 0x800F2E48:("func_800F2E48","void","void"), - 0x800F2EAC:("func_800F2EAC","void","void"), - 0x800F2ECC:("func_800F2ECC","void","void"), - 0x800F2FFC:("func_800F2FFC","void","void"), - 0x800F31EC:("func_800F31EC","void","void"), - 0x800F33F4:("func_800F33F4","void","void"), - 0x800F34C4:("func_800F34C4","void","void"), - 0x800F34EC:("func_800F34EC","void","void"), - 0x800F36CC:("func_800F36CC","void","void"), - 0x800F37B0:("func_800F37B0","void","void"), - 0x800F37F0:("func_800F37F0","void","void"), - 0x800F3820:("func_800F3820","void","void"), + 0x800F2D30:("FireObj_InitWithParams","void","GlobalContext* ctxt, FireObj* fire, FireObjInitParams* init"), + 0x800F2E48:("FireObj_SetState","void","FireObj* fire, f32 dynamicSizeStep, u8 newState"), + 0x800F2EAC:("FireObj_SetPosition","void","FireObj* fire, Vector3f* pos"), + 0x800F2ECC:("FireObj_StepSize","void","FireObj* fire"), + 0x800F2FFC:("FireObj_UpdateStateTransitions","void","GlobalContext* ctxt, FireObj* fire"), + 0x800F31EC:("FireObj_Draw","void","GlobalContext* ctxt, FireObj* fire"), + 0x800F33F4:("FireObj_InitLight","void","GlobalContext* ctxt, FireObjLight* light, u8* param_3, Vector3f* pos"), + 0x800F34C4:("FireObj_FiniLight","void","GlobalContext* ctxt, FireObjLight* light"), + 0x800F34EC:("FireObj_UpdateLight","void","GlobalContext* ctxt, FireObjLight* light, FireObj* fire"), + 0x800F36CC:("FireObj_Init","void","GlobalContext* ctxt, FireObj* fire, FireObjInitParams* init, Actor* actor"), + 0x800F37B0:("FireObj_Fini","void","GlobalContext* ctxt, FireObj* fire"), + 0x800F37F0:("FireObj_SetState2","void","FireObj* fire, f32 dynamicSizeStep, u8 newState"), + 0x800F3820:("FireObj_Update","void","GlobalContext* ctxt, FireObj* fire"), 0x800F3940:("func_800F3940","void","void"), 0x800F39B4:("func_800F39B4","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5"), 0x800F3A64:("func_800F3A64","void","void"), @@ -1686,22 +1688,22 @@ 0x800F3B68:("func_800F3B68","void","void"), 0x800F3C44:("func_800F3C44","void","void"), 0x800F3ED4:("func_800F3ED4","void","void"), - 0x800F40A0:("func_800F40A0","void","void"), + 0x800F40A0:("func_800F40A0","void","GlobalContext* ctxt, int param_2"), 0x800F415C:("func_800F415C","void","void"), 0x800F41E4:("func_800F41E4","void","void"), 0x800F42A0:("func_800F42A0","void","void"), 0x800F43BC:("func_800F43BC","void","void"), 0x800F44F4:("func_800F44F4","void","void"), 0x800F4540:("func_800F4540","void","void"), - 0x800F470C:("func_800F470C","void","void"), - 0x800F4A10:("func_800F4A10","void","void"), - 0x800F4C0C:("func_800F4C0C","void","void"), + 0x800F470C:("func_800F470C","s32","UNK_TYPE4 param_1, UNK_TYPE4 param_2, int param_3, unsigned int param_4"), + 0x800F4A10:("func_800F4A10","void","GlobalContext* ctxt"), + 0x800F4C0C:("func_800F4C0C","void","GlobalContext* ctxt"), 0x800F4E20:("func_800F4E20","void","GlobalContext* ctxt"), - 0x800F4F28:("func_800F4F28","void","void"), + 0x800F4F28:("func_800F4F28","void","GlobalContext* ctxt"), 0x800F4F40:("Kanfont_Nop800F4F40","void","void"), 0x800F4F54:("Kanfont_LoadAsciiChar","void","GlobalContext* ctxt, s8 character, s32 iParm3"), - 0x800F4FC0:("Kanfont_LoadMessageBoxEnd","void","GlobalContext4A70* iParm1, u32 type"), - 0x800F5004:("Kanfont_LoadOrderedFont","void","GlobalContext4A70* param_1"), + 0x800F4FC0:("Kanfont_LoadMessageBoxEnd","void","Font* font, u32 type"), + 0x800F5004:("Kanfont_LoadOrderedFont","void","Font* font"), 0x800F5090:("func_800F5090","void","void"), 0x800F50D4:("func_800F50D4","void","void"), 0x800F510C:("Kankyo_Init","void","GlobalContext* ctxt, KankyoContext* kanCtxt"), @@ -1751,9 +1753,9 @@ 0x800FD5E0:("func_800FD5E0","void","GlobalContext* ctxt, RGB* pzParm2, f32 fParm3"), 0x800FD654:("func_800FD654","void","GlobalContext* ctxt, RGB* pzParm2, f32 fParm3"), 0x800FD698:("func_800FD698","void","void"), - 0x800FD720:("func_800FD720","UNK_TYPE4","void"), - 0x800FD730:("func_800FD730","void","void"), - 0x800FD740:("func_800FD740","UNK_TYPE4","void"), + 0x800FD720:("get_days_elapsed","u32","void"), + 0x800FD730:("reset_days_elapsed","void","void"), + 0x800FD740:("get_current_day","u32","void"), 0x800FD750:("func_800FD750","void","void"), 0x800FD768:("func_800FD768","void","void"), 0x800FD78C:("func_800FD78C","void","void"), @@ -1840,7 +1842,7 @@ 0x800FFE68:("Lib_Scale_f","void","f32* start, f32 scale, f32 maxStep"), 0x800FFEBC:("Lib_ScaleMaxMin_s","s32","s16* start, s16 target, s16 scale, s16 maxStep, s16 minStep"), 0x800FFFD8:("Lib_ScaleMax_s","void","s16* start, s16 target, s16 scale, s16 maxStep"), - 0x8010007C:("Lib_CopyColor","void","Color* dst, Color* src"), + 0x8010007C:("Lib_CopyColor","void","ColorRGBA8* dst, ColorRGBA8* src"), 0x801000A4:("func_801000A4","void","u16 param_1"), 0x801000CC:("func_801000CC","void","u16 param_1"), 0x801000F4:("func_801000F4","void","UNK_TYPE4 param_1, u16 param_2"), @@ -1848,18 +1850,18 @@ 0x801001B8:("Lib_LerpRGB","void","RGB* a, RGB* b, f32 t, RGB* dst"), 0x80100448:("Lib_PushAwayVec3f","f32","Vector3f* start, Vector3f* pusher, f32 distanceToApproach"), 0x801004FC:("Lib_Nop801004FC","void","void"), - 0x80100504:("Lib_PtrSegToPhys","u32","u32 ptr"), - 0x8010053C:("Lib_PtrSegToPhysNull","u32","u32 ptr"), + 0x80100504:("Lib_PtrSegToVirt","u32","u32 ptr"), + 0x8010053C:("Lib_PtrSegToVirtNull","u32","u32 ptr"), 0x80100584:("Lib_PtrSegToK0","u32","u32 ptr"), 0x801005A0:("Lib_PtrSegToK0Null","u32","u32 ptr"), - 0x801005C0:("func_801005C0","void","GlobalContext* ctxt"), - 0x8010069C:("func_8010069C","void","GlobalContext* ctxt"), + 0x801005C0:("LifeMeter_Init","void","GlobalContext* ctxt"), + 0x8010069C:("LifeMeter_UpdateColors","void","GlobalContext* ctxt"), 0x80100A80:("func_80100A80","UNK_TYPE4","GlobalContext* ctxt"), 0x80100AA0:("func_80100AA0","UNK_TYPE4","GlobalContext* ctxt"), 0x80100AF0:("func_80100AF0","UNK_TYPE4","GlobalContext* ctxt"), - 0x80100B8C:("func_80100B8C","void","GlobalContext* ctxt"), - 0x80101844:("func_80101844","void","GlobalContext* ctxt"), - 0x80101930:("func_80101930","void","void"), + 0x80100B8C:("LifeMeter_Draw","void","GlobalContext* ctxt"), + 0x80101844:("LifeMeter_UpdateSizeAndBeep","void","GlobalContext* ctxt"), + 0x80101930:("LifeMeter_IsCritical","s32","void"), 0x801019A0:("Lights_InitPositionalLight","void","LightInfoPositional* info, s16 posX, s16 posY, s16 posZ, u8 red, u8 green, u8 blue, s16 radius, u32 type"), 0x801019FC:("Lights_InitType0PositionalLight","void","LightInfoPositional* info, s16 posX, s16 posY, s16 posZ, u8 red, u8 green, u8 blue, s16 radius"), 0x80101A60:("Lights_InitType2PositionalLight","void","LightInfoPositional* info, s16 posX, s16 posY, s16 posZ, u8 red, u8 green, u8 blue, s16 radius"), @@ -1923,7 +1925,7 @@ 0x8010534C:("func_8010534C","void","void"), 0x8010549C:("func_8010549C","void","void"), 0x8010565C:("func_8010565C","void","void"), - 0x80105818:("func_80105818","void","GlobalContext* ctxt, unsigned int uParm2, UNK_PTR puParm3"), + 0x80105818:("func_80105818","void","GlobalContext* ctxt, unsigned int uParm2, TransitionActorInit* puParm3"), 0x80105A40:("func_80105A40","void","void"), 0x80105B34:("func_80105B34","void","void"), 0x80105C40:("func_80105C40","void","void"), @@ -1990,7 +1992,7 @@ 0x80109E70:("func_80109E70","void","void"), 0x80109EF8:("func_80109EF8","void","void"), 0x80109F78:("func_80109F78","void","void"), - 0x8010A000:("func_8010A000","void","void"), + 0x8010A000:("func_8010A000","int","GlobalContext* ctxt"), 0x8010A074:("func_8010A074","void","void"), 0x8010A0A4:("func_8010A0A4","void","void"), 0x8010A0F0:("func_8010A0F0","void","void"), @@ -2000,7 +2002,7 @@ 0x8010A238:("func_8010A238","void","void"), 0x8010A2AC:("func_8010A2AC","void","void"), 0x8010A2DC:("func_8010A2DC","void","void"), - 0x8010A33C:("func_8010A33C","void","void"), + 0x8010A33C:("func_8010A33C","void","GlobalContext* ctxt, s16 param_2"), 0x8010A410:("func_8010A410","void","void"), 0x8010A430:("func_8010A430","void","void"), 0x8010A54C:("func_8010A54C","void","void"), @@ -2107,7 +2109,7 @@ 0x80112B40:("func_80112B40","void","void"), 0x80112BE4:("func_80112BE4","void","void"), 0x80112C0C:("func_80112C0C","void","void"), - 0x80112E80:("func_80112E80","void","void"), + 0x80112E80:("func_80112E80","unsigned int","GlobalContext* ctxt, u8 param_2"), 0x801143CC:("func_801143CC","void","void"), 0x80114978:("func_80114978","void","void"), 0x801149A0:("func_801149A0","void","void"), @@ -2124,11 +2126,12 @@ 0x8011552C:("func_8011552C","void","void"), 0x801155B4:("func_801155B4","void","void"), 0x80115764:("func_80115764","void","void"), - 0x80115844:("func_80115844","void","void"), + 0x80115844:("func_80115844","void","GlobalContext* ctxt, short param_2"), 0x80115908:("func_80115908","void","void"), + 0x801159C0:("func_801159c0","void","short param_1"), 0x801159EC:("func_801159EC","void","void"), 0x80115A14:("func_80115A14","void","void"), - 0x80115D14:("func_80115D14","void","void"), + 0x80115D14:("Parameter_AddMagic","void","void"), 0x80115D5C:("func_80115D5C","void","void"), 0x80115DB4:("func_80115DB4","void","void"), 0x80116088:("func_80116088","void","void"), @@ -2155,7 +2158,7 @@ 0x8011CA64:("func_8011CA64","void","void"), 0x8011E3B4:("func_8011E3B4","void","void"), 0x8011E730:("func_8011E730","void","void"), - 0x8011F0E0:("func_8011F0E0","void","void"), + 0x8011F0E0:("func_8011F0E0","void","UNK_TYPE4 ctxt"), 0x80120F90:("func_80120F90","void","void"), 0x80121000:("func_80121000","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE1 param_8, UNK_TYPE1 param_9, UNK_TYPE1 param_10, UNK_TYPE4 param_11, UNK_TYPE4 param_12, UNK_TYPE4 param_13, UNK_TYPE4 param_14"), 0x80121064:("func_80121064","void","void"), @@ -2184,9 +2187,9 @@ 0x80122FCC:("func_80122FCC","void","void"), 0x8012300C:("func_8012300C","void","void"), 0x8012301C:("func_8012301C","void","int iParm1, GlobalContext* ctxt"), - 0x80123140:("func_80123140","void","void"), - 0x80123358:("func_80123358","void","void"), - 0x801233E4:("func_801233E4","void","void"), + 0x80123140:("func_80123140","void","GlobalContext* ctxt, ActorPlayer* param_2"), + 0x80123358:("func_80123358","unsigned int","GlobalContext* ctxt, ActorPlayer* player"), + 0x801233E4:("func_801233E4","unsigned int","GlobalContext* ctxt"), 0x80123420:("func_80123420","void","void"), 0x80123434:("func_80123434","void","void"), 0x80123448:("func_80123448","void","void"), @@ -2267,12 +2270,12 @@ 0x80128640:("func_80128640","void","void"), 0x80128B74:("func_80128B74","void","void"), 0x80128BD0:("func_80128BD0","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE1 param_5, UNK_TYPE4 param_6"), - 0x80129EF0:("func_80129EF0","void","void"), - 0x80129F04:("func_80129F04","void","void"), - 0x80129F4C:("func_80129F4C","void","void"), - 0x80129FF8:("func_80129FF8","void","void"), - 0x8012A02C:("func_8012A02C","void","void"), - 0x8012A038:("func_8012A038","void","void"), + 0x80129EF0:("Prenmi_Stop","void","PrenmiContext* ctxt"), + 0x80129F04:("Prenmi_Update","void","PrenmiContext* ctxt"), + 0x80129F4C:("Prenmi_Draw","void","PrenmiContext* ctxt"), + 0x80129FF8:("Prenmi_Main","void","PrenmiContext* ctxt"), + 0x8012A02C:("Prenmi_Fini","void","PrenmiContext* ctxt"), + 0x8012A038:("Prenmi_Init","void","PrenmiContext* ctxt"), 0x8012A080:("func_8012A080","void","void"), 0x8012A0AC:("func_8012A0AC","void","void"), 0x8012A2B8:("func_8012A2B8","void","void"), @@ -2297,6 +2300,7 @@ 0x8012AB08:("func_8012AB08","void","void"), 0x8012AE68:("func_8012AE68","void","GlobalContext* ctxt"), 0x8012AEAC:("func_8012AEAC","void","void"), + 0x8012AED4:("func_8012aed4","int","void"), 0x8012AEE4:("func_8012AEE4","void","void"), 0x8012AEF4:("func_8012AEF4","void","void"), 0x8012AF18:("func_8012AF18","void","void"), @@ -2318,7 +2322,7 @@ 0x8012C1EC:("func_8012C1EC","void","void"), 0x8012C214:("func_8012C214","void","void"), 0x8012C240:("func_8012C240","void","void"), - 0x8012C268:("func_8012C268","void","void"), + 0x8012C268:("func_8012C268","void","GlobalContext* ctxt"), 0x8012C28C:("func_8012C28C","void","GraphicsContext* gCtxt"), 0x8012C2B4:("func_8012C2B4","void","void"), 0x8012C2DC:("func_8012C2DC","void","GraphicsContext* gCtxt"), @@ -2326,14 +2330,14 @@ 0x8012C3A4:("func_8012C3A4","void","void"), 0x8012C3CC:("func_8012C3CC","void","void"), 0x8012C3F4:("func_8012C3F4","void","void"), - 0x8012C448:("func_8012C448","void","void"), + 0x8012C448:("func_8012C448","void","GraphicsContext* gCtxt"), 0x8012C470:("func_8012C470","void","void"), 0x8012C4C0:("func_8012C4C0","void","void"), 0x8012C560:("func_8012C560","void","void"), 0x8012C588:("func_8012C588","void","void"), 0x8012C5B0:("func_8012C5B0","void","void"), 0x8012C600:("func_8012C600","void","void"), - 0x8012C628:("func_8012C628","void","void"), + 0x8012C628:("func_8012C628","void","GraphicsContext* gCtxt"), 0x8012C654:("func_8012C654","void","void"), 0x8012C680:("func_8012C680","void","void"), 0x8012C6AC:("func_8012C6AC","void","void"), @@ -2341,7 +2345,7 @@ 0x8012C724:("func_8012C724","void","void"), 0x8012C7FC:("func_8012C7FC","Gfx*","Gfx* puParm1"), 0x8012C868:("func_8012C868","void","void"), - 0x8012C8AC:("func_8012C8AC","void","void"), + 0x8012C8AC:("func_8012C8AC","void","GraphicsContext* gCtxt"), 0x8012C8D4:("func_8012C8D4","void","void"), 0x8012C94C:("func_8012C94C","void","void"), 0x8012C974:("func_8012C974","void","void"), @@ -2350,29 +2354,29 @@ 0x8012CA60:("func_8012CA60","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5"), 0x8012CB04:("func_8012CB04","void","void"), 0x8012CB28:("func_8012CB28","void","void"), - 0x8012CB4C:("func_8012CB4C","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5"), - 0x8012CBD0:("func_8012CBD0","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8, UNK_TYPE4 param_9, UNK_TYPE4 param_10, UNK_TYPE4 param_11"), + 0x8012CB4C:("Rcp_GenerateSetTileSizeDl","Gfx*","GraphicsContext* gCtxt, u32 upperS, u32 upperT, u32 lengthS, u32 lengthT"), + 0x8012CBD0:("Rcp_GenerateSetTileSize2Dl","Gfx*","GraphicsContext* gCtxt, u32 tile1, u32 upperS1, u32 upperT1, u32 lengthS1, u32 lengthT1, u32 tile2, u32 upperS2, u32 upperT2, u32 lengthS2, u32 lengthT2"), 0x8012CCF0:("func_8012CCF0","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8, UNK_TYPE4 param_9, UNK_TYPE4 param_10, UNK_TYPE4 param_11, UNK_TYPE4 param_12, UNK_TYPE4 param_13, UNK_TYPE4 param_14, UNK_TYPE4 param_15"), 0x8012CE50:("func_8012CE50","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5"), 0x8012CEA8:("func_8012CEA8","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6"), 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:("nop_8012D510","void","GlobalContext* ctxt, UNK_PTR param_2, UNK_PTR param_3, UNK_TYPE1 param_4"), - 0x8012D528:("nop_8012D528","void","void"), - 0x8012D53C:("func_8012D53C","void","void"), - 0x8012D750:("func_8012D750","void","void"), - 0x8012DEE8:("func_8012DEE8","void","void"), + 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","void"), - 0x8012E6A8:("func_8012E6A8","void","void"), - 0x8012E710:("func_8012E710","void","void"), - 0x8012E750:("func_8012E750","u32","GlobalContext* ctxt, s32 iParm2"), - 0x8012E96C:("func_8012E96C","void","void"), - 0x8012EAA8:("func_8012EAA8","UNK_TYPE4","GlobalContext* ctxt, char* pcParm2"), - 0x8012EBA8:("func_8012EBA8","void","void"), - 0x8012EBF8:("func_8012EBF8","void","void"), - 0x8012EC80:("func_8012EC80","void","void"), + 0x8012E32C:("func_8012E32C","void","GlobalContext* ctxt, LoadedRoom* room, u32 flags"), + 0x8012E6A8:("Room_DrawType1Mesh","void","GlobalContext* ctxt, LoadedRoom* 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"), + 0x8012EAA8:("Room_HandleLoadCallbacks","s32","GlobalContext* ctxt, RoomContext* roomCtxt"), + 0x8012EBA8:("Room_DrawRoomMesh","void","GlobalContext* ctxt, LoadedRoom* 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"), 0x8012ED78:("func_8012ED78","void","void"), 0x8012EDE8:("func_8012EDE8","void","void"), @@ -2388,7 +2392,7 @@ 0x8012F608:("Scene_FindSceneObjectIndex","s32","SceneContext* sceneCtxt, short id"), 0x8012F668:("Scene_IsObjectLoaded","s32","SceneContext* iParm1, s32 index"), 0x8012F698:("Scene_DmaAllObjects","void","SceneContext* sceneCtxt"), - 0x8012F73C:("func_8012F73C","u32","SceneContext* iParm1, s32 iParm2, s16 sParm3"), + 0x8012F73C:("func_8012F73C","u32","SceneContext* sceneCtxt, s32 iParm2, s16 id"), 0x8012F79C:("Scene_HeaderCommand00","void","GlobalContext* ctxt, SceneHeaderEntry* entry"), 0x8012F90C:("Scene_HeaderCommand01","void","GlobalContext* ctxt, SceneHeaderEntry* entry"), 0x8012F954:("Scene_HeaderCommand02","void","GlobalContext* ctxt, SceneHeaderEntry* entry"), @@ -2423,7 +2427,7 @@ 0x80130674:("Scene_HeaderCommand1A","void","GlobalContext* ctxt, SceneHeaderEntry* entry"), 0x801306A4:("func_801306A4","void","GlobalContext* ctxt"), 0x801306E8:("Scene_ProcessHeader","s32","GlobalContext* ctxt, SceneHeaderEntry* header"), - 0x80130768:("func_80130768","void","void"), + 0x80130768:("Scene_CreateEntrance","u32","u32 sceneIndex, u32 spawnIndex, u32 offset"), 0x80130784:("func_80130784","void","void"), 0x801307C0:("func_801307C0","void","void"), 0x801307F4:("func_801307F4","void","void"), @@ -2461,9 +2465,9 @@ 0x80131EC0:("func_80131EC0","void","void"), 0x80131F90:("func_80131F90","void","void"), 0x80131FC0:("func_80131FC0","void","void"), - 0x801322C0:("func_801322C0","void","void"), - 0x8013230C:("func_8013230C","void","void"), - 0x80132338:("func_80132338","void","void"), + 0x801322C0:("SceneTable_LookupEntrance","EntranceRecord*","u32 entrance"), + 0x8013230C:("SceneTable_LookupEntranceScene","s32","u32 entrance"), + 0x80132338:("SceneTable_LookupEntranceAbsoluteScene","s32","u32 entrance"), 0x80132374:("func_80132374","void","void"), 0x801323A0:("func_801323A0","void","void"), 0x801323D0:("func_801323D0","void","void"), @@ -2684,35 +2688,35 @@ 0x8013EE24:("func_8013EE24","void","void"), 0x8013EE38:("func_8013EE38","void","void"), 0x8013EE48:("func_8013EE48","void","void"), - 0x8013EE60:("func_8013EE60","void","void"), - 0x8013EEF4:("func_8013EEF4","void","View* view, GraphicsContext* gCtxt"), - 0x8013EF9C:("func_8013EF9C","void","void"), - 0x8013F050:("func_8013F050","void","s32 param_1, UNK_PTR param_2, UNK_PTR param_3, UNK_PTR param_4"), - 0x8013F0A0:("func_8013F0A0","void","void"), - 0x8013F0C0:("func_8013F0C0","void","s32 param_1, UNK_PTR param_2"), - 0x8013F0D0:("func_8013F0D0","void","View* iParm1, f32 uParm2, f32 uParm3, f32 uParm4"), - 0x8013F100:("func_8013F100","void","s32 param_1, UNK_PTR param_2, UNK_PTR param_3, UNK_PTR param_4"), - 0x8013F120:("func_8013F120","void","s32 param_1, UNK_TYPE4 param_2, UNK_TYPE4 param_3, UNK_TYPE4 param_4"), - 0x8013F15C:("func_8013F15C","void","s32 param_1, UNK_PTR param_2, UNK_PTR param_3, UNK_PTR param_4"), - 0x8013F17C:("func_8013F17C","void","void"), - 0x8013F1B0:("func_8013F1B0","void","s32 param_1, UNK_PTR param_2"), - 0x8013F1D8:("func_8013F1D8","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5"), - 0x8013F28C:("func_8013F28C","void","void"), - 0x8013F2F8:("func_8013F2F8","void","void"), - 0x8013F3F8:("func_8013F3F8","void","void"), - 0x8013F420:("func_8013F420","void","void"), - 0x8013F448:("func_8013F448","void","void"), - 0x8013F45C:("func_8013F45C","UNK_TYPE4","View* iParm1"), - 0x8013F4C0:("func_8013F4C0","UNK_TYPE4","View* iParm1"), - 0x8013F4F4:("func_8013F4F4","UNK_TYPE4","s32 param_1, UNK_TYPE4 param_2, UNK_TYPE4 param_3, UNK_TYPE4 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8"), - 0x8013F54C:("func_8013F54C","UNK_TYPE4","View* view, RSPMatrix* pzParm2"), - 0x8013F6FC:("func_8013F6FC","void","View* iParm1, u32 uParm2"), - 0x8013F748:("func_8013F748","UNK_TYPE4","View* param_1"), - 0x8013FA1C:("func_8013FA1C","UNK_TYPE4","View* iParm1"), - 0x8013FBC8:("func_8013FBC8","void","void"), - 0x8013FD74:("func_8013FD74","void","void"), - 0x80140024:("func_80140024","void","void"), - 0x801400CC:("func_801400CC","void","void"), + 0x8013EE60:("View_MapViewportToGfxVp","void","Vp* gfxVp, Viewport* viewport"), + 0x8013EEF4:("View_InitView","void","View* view, GraphicsContext* gCtxt"), + 0x8013EF9C:("View_SetViewOrientation","void","View* view, Vector3f* eye, Vector3f* focalPoint, Vector3f* upDir"), + 0x8013F050:("func_8013F050","void","View* view, Vector3f* param_2, Vector3f* param_3, Vector3f* param_4"), + 0x8013F0A0:("func_8013F0A0","void","View* view, UNK_TYPE4 param_2"), + 0x8013F0C0:("func_8013F0C0","void","View* view, UNK_PTR param_2"), + 0x8013F0D0:("func_8013F0D0","void","View* view, f32 uParm2, f32 uParm3, f32 uParm4"), + 0x8013F100:("func_8013F100","void","View* view, UNK_PTR param_2, UNK_PTR param_3, UNK_PTR param_4"), + 0x8013F120:("func_8013F120","void","View* view, UNK_TYPE4 param_2, UNK_TYPE4 param_3, UNK_TYPE4 param_4"), + 0x8013F15C:("func_8013F15C","void","View* view, UNK_PTR param_2, UNK_PTR param_3, UNK_PTR param_4"), + 0x8013F17C:("func_8013F17C","void","View* view, Viewport* viewport"), + 0x8013F1B0:("View_GetViewport","void","View* view, Viewport* viewport"), + 0x8013F1D8:("View_WriteScissor","void","Gfx** gfx, s32 leftX, s32 upperY, s32 rightX, s32 lowerY"), + 0x8013F28C:("View_WriteBlackFillColorAndScissor","void","View* view, Gfx** gfx"), + 0x8013F2F8:("View_SetScissorForLetterbox","void","View* view"), + 0x8013F3F8:("View_SetQuakeRotation","s32","View* view, f32 x, f32 y, f32 z"), + 0x8013F420:("View_SetQuakeScale","s32","View* view, f32 x, f32 y, f32 z"), + 0x8013F448:("View_SetQuakeSpeed","s32","View* view, f32 speed"), + 0x8013F45C:("View_InitCameraQuake","s32","View* view"), + 0x8013F4C0:("View_ClearQuake","s32","View* view"), + 0x8013F4F4:("View_SetQuake","s32","View* view, f32 rotX, f32 rotY, f32 rotZ, f32 scaleX, f32 scaleY, f32 scaleZ, f32 speed"), + 0x8013F54C:("View_StepQuake","s32","View* view, RSPMatrix* matrix"), + 0x8013F6FC:("View_RenderView","void","View* view, u32 uParm2"), + 0x8013F748:("View_RenderToPerspectiveMatrix","s32","View* view"), + 0x8013FA1C:("View_RenderToOrthographicMatrix","s32","View* view"), + 0x8013FBC8:("func_8013FBC8","s32","View* view"), + 0x8013FD74:("func_8013FD74","s32","View* view"), + 0x80140024:("func_80140024","s32","View* view"), + 0x801400CC:("func_801400CC","s32","View* view, Gfx** param_2"), 0x80140260:("func_80140260","void","void"), 0x8014026C:("func_8014026C","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8, UNK_TYPE1 param_9, UNK_TYPE4 param_10, UNK_TYPE2 param_11, UNK_TYPE4 param_12, UNK_TYPE4 param_13"), 0x80140730:("func_80140730","void","void"), @@ -2747,7 +2751,7 @@ 0x80143148:("func_80143148","void","void"), 0x801431E8:("func_801431E8","void","void"), 0x80143324:("func_80143324","void","void"), - 0x801434E4:("func_801434E4","void","GlobalContext* ctxt, int iParm2, short sParm3"), + 0x801434E4:("func_801434E4","void","ContextCommon* ctxt, int iParm2, short sParm3"), 0x801435A0:("func_801435A0","void","void"), 0x80143624:("func_80143624","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE1 param_5, UNK_TYPE1 param_6, UNK_TYPE1 param_7"), 0x80143668:("func_80143668","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7"), @@ -2755,36 +2759,36 @@ 0x80143A10:("func_80143A10","void","void"), 0x80143A54:("func_80143A54","void","void"), 0x80143AC4:("func_80143AC4","void","void"), - 0x80143B0C:("func_80143B0C","void","void"), - 0x80144574:("func_80144574","void","void"), + 0x80143B0C:("func_80143B0C","void","GlobalContext* ctxt"), + 0x80144574:("Sram_IncrementDay","void","void"), 0x801445E4:("Sram_CalcChecksum","u32","u8* data, u32 length"), 0x80144628:("func_80144628","void","void"), - 0x80144684:("func_80144684","void","void"), + 0x80144684:("Sram_GenerateRandomSaveFields","void","void"), 0x80144890:("func_80144890","void","void"), 0x80144968:("func_80144968","void","void"), 0x80144A94:("func_80144A94","void","void"), 0x80144E78:("func_80144E78","void","void"), 0x8014546C:("func_8014546C","void","void"), 0x80145698:("func_80145698","void","void"), - 0x801457CC:("func_801457CC","void","void"), - 0x80146580:("func_80146580","void","void"), + 0x801457CC:("func_801457CC","void","ContextCommon* ctxt, SramContext* param_2"), + 0x80146580:("func_80146580","void","int param_1, SramContext* param_2, int param_3"), 0x80146628:("func_80146628","void","void"), 0x80146AA0:("func_80146AA0","void","void"), 0x80146DF8:("func_80146DF8","void","void"), 0x80146E40:("func_80146E40","void","void"), - 0x80146E70:("func_80146E70","void","ContextCommon* iParm1, s32 iParm2"), - 0x80146EBC:("func_80146EBC","void","void"), + 0x80146E70:("Sram_Alloc","void","ContextCommon* ctxt, SramContext* iParm2"), + 0x80146EBC:("func_80146EBC","void","SramContext* param_1, UNK_TYPE4 param_2, UNK_TYPE4 param_3"), 0x80146EE8:("func_80146EE8","void","void"), 0x80146F5C:("func_80146F5C","void","void"), 0x80147008:("func_80147008","void","void"), - 0x80147020:("func_80147020","void","void"), - 0x80147068:("func_80147068","void","void"), - 0x80147138:("func_80147138","void","void"), - 0x80147150:("func_80147150","void","void"), - 0x80147198:("func_80147198","void","void"), + 0x80147020:("func_80147020","void","SramContext* param_1"), + 0x80147068:("func_80147068","void","SramContext* param_1"), + 0x80147138:("func_80147138","void","SramContext* param_1, UNK_TYPE4 param_2, UNK_TYPE4 param_3"), + 0x80147150:("func_80147150","void","SramContext* param_1"), + 0x80147198:("func_80147198","void","SramContext* param_1"), 0x80147314:("func_80147314","void","void"), 0x80147414:("func_80147414","void","void"), - 0x8014750C:("func_8014750C","void","void"), + 0x8014750C:("Sram_nop8014750C","void","UNK_TYPE4 param_1"), 0x80147520:("func_80147520","void","void"), 0x80147564:("func_80147564","void","GlobalContext* ctxt"), 0x80147624:("func_80147624","u32","GlobalContext* ctxt"), @@ -2825,7 +2829,7 @@ 0x80151DA4:("func_80151DA4","void","void"), 0x80152434:("func_80152434","void","void"), 0x80152464:("func_80152464","void","void"), - 0x80152498:("func_80152498","UNK_TYPE4","GlobalContext4908* iParm1"), + 0x80152498:("func_80152498","UNK_TYPE4","MessageContext* iParm1"), 0x8015268C:("func_8015268C","void","void"), 0x80152C64:("func_80152C64","void","void"), 0x80152CAC:("func_80152CAC","void","void"), @@ -2858,18 +2862,18 @@ 0x80160B40:("func_80160B40","void","void"), 0x80160B80:("func_80160B80","void","void"), 0x80160BC0:("func_80160BC0","void","void"), - 0x80160C00:("func_80160C00","void","void"), - 0x80160C14:("func_80160C14","void","void"), - 0x80160C28:("func_80160C28","void","void"), - 0x80160C3C:("func_80160C3C","void","void"), - 0x80160C50:("func_80160C50","void","UNK_TYPE1 param_1"), - 0x80160C64:("func_80160C64","s32","void"), - 0x80160C78:("func_80160C78","void","UNK_TYPE1 param_1"), - 0x80160C8C:("func_80160C8C","s32","void"), - 0x80160CA0:("func_80160CA0","void","void"), - 0x80160CD4:("func_80160CD4","void","void"), - 0x80160CE4:("func_80160CE4","void","void"), - 0x80160D98:("func_80160D98","void","void"), + 0x80160C00:("ShrinkWindow_SetLetterboxTarget","void","s8 target"), + 0x80160C14:("ShrinkWindow_GetLetterboxTarget","int","void"), + 0x80160C28:("ShrinkWindow_SetLetterboxMagnitude","void","s8 magnitude"), + 0x80160C3C:("ShrinkWindow_GetLetterboxMagnitude","s32","void"), + 0x80160C50:("ShrinkWindow_SetPillarboxTarget","void","s8 target"), + 0x80160C64:("ShrinkWindow_GetPillarboxTarget","s32","void"), + 0x80160C78:("ShrinkWindow_SetPillarboxMagnitude","void","u8 magnitude"), + 0x80160C8C:("ShrinkWindow_GetPillarboxMagnitude","s32","void"), + 0x80160CA0:("ShrinkWindow_Init","void","void"), + 0x80160CD4:("ShrinkWindow_Fini","void","void"), + 0x80160CE4:("ShrinkWindow_Step","void","s32 framerateDivisor"), + 0x80160D98:("ShrinkWindow_Draw","void","GlobalContext* ctxt"), 0x80161180:("func_80161180","void","void"), 0x8016119C:("func_8016119C","void","void"), 0x8016122C:("func_8016122C","void","void"), @@ -2899,7 +2903,7 @@ 0x801638D8:("func_801638D8","void","void"), 0x801639A0:("func_801639A0","void","void"), 0x801639EC:("func_801639EC","void","GlobalContext* ctxt"), - 0x80163A38:("func_80163A38","void","void"), + 0x80163A38:("func_80163A38","void","GlobalContext* ctxt"), 0x80163A58:("func_80163A58","void","void"), 0x80163C0C:("func_80163C0C","void","void"), 0x80163C90:("func_80163C90","void","void"), @@ -2959,7 +2963,7 @@ 0x80167814:("func_80167814","void","GlobalContext* ctxt"), 0x80167DE4:("func_80167DE4","void","GlobalContext* param_1"), 0x80167F0C:("func_80167F0C","void","void"), - 0x80168090:("func_80168090","void","GlobalContext* piParm1"), + 0x80168090:("func_80168090","void","GlobalContext* ctxt"), 0x80168DAC:("func_80168DAC","void","GlobalContext* ctxt"), 0x80168F64:("Main_Update","void","GlobalContext* ctxt"), 0x801690CC:("func_801690CC","void","void"), @@ -2986,8 +2990,8 @@ 0x80169AFC:("func_80169AFC","void","void"), 0x80169C64:("func_80169C64","void","void"), 0x80169C84:("func_80169C84","void","void"), - 0x80169CBC:("func_80169CBC","void","void"), - 0x80169D40:("func_80169D40","void","void"), + 0x80169CBC:("convert_scene_number_among_shared_scenes","void","void"), + 0x80169D40:("func_80169D40","void","GlobalContext* ctxt"), 0x80169DCC:("func_80169DCC","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE2 param_7"), 0x80169E6C:("func_80169E6C","void","void"), 0x80169ECC:("func_80169ECC","void","void"), @@ -3249,9 +3253,9 @@ 0x8017A838:("func_8017A838","f32","f32* param_1, f32* param_2, f32 param_3, f32 param_4"), 0x8017A878:("Math3D_CrossProduct","void","Vector3f* a, Vector3f* b, Vector3f* res"), 0x8017A8EC:("Math3D_NormalVector","void","Vector3f* a, Vector3f* b, Vector3f* c, Vector3f* res"), - 0x8017A954:("func_8017A954","void","void"), - 0x8017AA0C:("func_8017AA0C","void","void"), - 0x8017ABBC:("func_8017ABBC","void","void"), + 0x8017A954:("func_8017A954","unsigned int","Vector3f* param_1, Vector3f* param_2, Vector3f* param_3"), + 0x8017AA0C:("func_8017AA0C","unsigned int","Vector3f* param_1, Vector3f* param_2, Vector3f* param_3"), + 0x8017ABBC:("func_8017ABBC","unsigned int","Vector3f* param_1, Vector3f* param_2, Vector3f* param_3"), 0x8017AD38:("func_8017AD38","void","void"), 0x8017B68C:("func_8017B68C","void","void"), 0x8017B7F8:("func_8017B7F8","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5"), @@ -3777,7 +3781,7 @@ 0x8019EB2C:("func_8019EB2C","void","void"), 0x8019F024:("func_8019F024","void","void"), 0x8019F05C:("func_8019F05C","void","void"), - 0x8019F0C8:("func_8019F0C8","void","u16 param_1"), + 0x8019F0C8:("play_sound","void","u16 param_1"), 0x8019F128:("func_8019F128","void","u16 param_1"), 0x8019F170:("func_8019F170","void","void"), 0x8019F1C0:("func_8019F1C0","void","UNK_TYPE4 param_1, u16 param_2"), @@ -3939,7 +3943,7 @@ 0x801A7084:("func_801A7084","void","void"), 0x801A7168:("func_801A7168","void","void"), 0x801A7284:("func_801A7284","void","void"), - 0x801A72CC:("func_801A72CC","void","f32* uParm1"), + 0x801A72CC:("func_801A72CC","void","Vector3f* uParm1"), 0x801A7328:("func_801A7328","void","void"), 0x801A7484:("func_801A7484","void","void"), 0x801A75E8:("func_801A75E8","void","void"), @@ -3980,7 +3984,7 @@ 0x801AA68C:("func_801AA68C","void","void"), 0x801AAAA0:("nop_801AAAA0","void","GlobalContext* ctxt"), 0x80800000:("Title_UpdateCounters","void","TitleContext* ctxt"), - 0x8080009C:("func_8080009C","void","TitleContext* ctxt, f32 uParm2, f32 uParm3, f32 uParm4"), + 0x8080009C:("Title_RenderView","void","TitleContext* ctxt, f32 eyeX, f32 eyeY, f32 eyeZ"), 0x80800134:("Title_Render","void","TitleContext* ctxt"), 0x8080066C:("Title_Update","void","TitleContext* ctxt"), 0x8080071C:("Title_Fini","void","TitleContext* ctxt"), @@ -3998,9 +4002,9 @@ 0x80801AFC:("func_80801AFC","void","void"), 0x80801B28:("func_80801B28","void","void"), 0x80801B4C:("func_80801B4C","void","void"), - 0x80803DF0:("func_80803DF0","void","OpeningContext* ctxt"), + 0x80803DF0:("Opening_SetupForTitleCutscene","void","OpeningContext* ctxt"), 0x80803EA0:("func_80803EA0","void","OpeningContext* ctxt"), - 0x80803EC0:("Opening_Update","void","OpeningContext* param_1"), + 0x80803EC0:("Opening_Update","void","OpeningContext* ctxt"), 0x80803F0C:("Opening_Fini","void","OpeningContext* ctxt"), 0x80803F30:("Opening_Init","void","OpeningContext* ctxt"), 0x80804010:("func_80804010","void","void"), @@ -4048,29 +4052,30 @@ 0x8080A6BC:("func_8080A6BC","void","void"), 0x8080A708:("func_8080A708","void","void"), 0x8080BBFC:("func_8080BBFC","void","void"), - 0x8080BC20:("func_8080BC20","void","void"), - 0x8080BC4C:("func_8080BC4C","void","void"), - 0x8080BC58:("func_8080BC58","void","void"), - 0x8080BDAC:("func_8080BDAC","void","void"), - 0x8080BDDC:("func_8080BDDC","void","void"), + 0x8080BC20:("func_8080BC20","void","FileChooseContext* ctxt"), + 0x8080BC44:("FileChoose_nop8080bc44","void","void"), + 0x8080BC4C:("FileChoose_nop8080BC4C","void","FileChooseContext* ctxt"), + 0x8080BC58:("func_8080BC58","void","FileChooseContext* ctxt"), + 0x8080BDAC:("func_8080BDAC","void","FileChooseContext* ctxt"), + 0x8080BDDC:("FileChoose_RenderView","void","FileChooseContext* ctxt, f32 eyeX, f32 eyeY, f32 eyeZ"), 0x8080BE60:("func_8080BE60","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5"), - 0x8080C040:("func_8080C040","void","void"), + 0x8080C040:("func_8080C040","void","FileChooseContext* ctxt"), 0x8080C228:("func_8080C228","void","void"), - 0x8080C29C:("func_8080C29C","void","void"), + 0x8080C29C:("func_8080C29C","void","FileChooseContext* ctxt"), 0x8080C324:("func_8080C324","void","void"), - 0x8080C3A8:("func_8080C3A8","void","void"), + 0x8080C3A8:("func_8080C3A8","void","FileChooseContext* ctxt"), 0x8080D164:("func_8080D164","void","void"), 0x8080D170:("func_8080D170","void","void"), 0x8080D1BC:("func_8080D1BC","void","void"), 0x8080D220:("func_8080D220","void","void"), 0x8080D284:("func_8080D284","void","void"), - 0x8080D2EC:("func_8080D2EC","void","void"), - 0x8080D3D0:("func_8080D3D0","void","void"), - 0x8080D40C:("func_8080D40C","void","void"), - 0x8080D6D4:("func_8080D6D4","void","void"), + 0x8080D2EC:("func_8080D2EC","void","FileChooseContext* ctxt"), + 0x8080D3D0:("func_8080D3D0","void","FileChooseContext* ctxt"), + 0x8080D40C:("func_8080D40C","void","FileChooseContext* ctxt"), + 0x8080D6D4:("func_8080D6D4","void","FileChooseContext* ctxt"), 0x8080F25C:("func_8080F25C","void","void"), - 0x808108DC:("func_808108DC","void","void"), - 0x80811CB8:("func_80811CB8","void","void"), + 0x808108DC:("func_808108DC","void","FileChooseContext* ctxt"), + 0x80811CB8:("func_80811CB8","void","FileChooseContext* ctxt"), 0x80812460:("func_80812460","void","void"), 0x80812668:("func_80812668","void","void"), 0x80812760:("func_80812760","void","void"), @@ -4079,20 +4084,20 @@ 0x80812A6C:("func_80812A6C","void","void"), 0x80812D44:("func_80812D44","void","void"), 0x80812D94:("func_80812D94","void","void"), - 0x80812E94:("func_80812E94","void","void"), + 0x80812E94:("func_80812E94","void","FileChooseContext* ctxt"), 0x80812ED0:("func_80812ED0","void","void"), - 0x8081313C:("func_8081313C","void","void"), - 0x80813268:("FileChoose_Update","void","GraphicsContext** ppzParm1"), - 0x80813908:("func_80813908","void","void"), - 0x80813C74:("FileChoose_Fini","void","void"), - 0x80813C98:("FileChoose_Init","void","ContextCommon* pzParm1"), - 0x80814EB0:("func_80814EB0","void","void"), - 0x80814FE8:("func_80814FE8","void","void"), - 0x808156B4:("func_808156B4","void","void"), - 0x8081574C:("func_8081574C","void","void"), - 0x80815770:("func_80815770","void","void"), - 0x8081577C:("func_8081577C","void","void"), - 0x80815820:("func_80815820","void","void"), + 0x8081313C:("FileChoose_UpdateAndDrawSkybox","void","FileChooseContext* ctxt"), + 0x80813268:("FileChoose_Update","void","FileChooseContext* ctxt"), + 0x80813908:("func_80813908","void","FileChooseContext* ctxt"), + 0x80813C74:("FileChoose_Fini","void","FileChooseContext* ctxt"), + 0x80813C98:("FileChoose_Init","void","FileChooseContext* ctxt"), + 0x80814EB0:("Daytelop_UpdateState","void","DaytelopContext* ctxt"), + 0x80814FE8:("Daytelop_Render","void","DaytelopContext* ctxt"), + 0x808156B4:("Daytelop_Update","void","DaytelopContext* ctxt"), + 0x8081574C:("Daytelop_Fini","void","DaytelopContext* ctxt"), + 0x80815770:("Daytelop_nop80815770","void","DaytelopContext* ctxt"), + 0x8081577C:("Daytelop_LoadGraphics","void","DaytelopContext* ctxt"), + 0x80815820:("Daytelop_Init","void","DaytelopContext* ctxt"), 0x808160A0:("func_808160A0","void","void"), 0x80817B5C:("func_80817B5C","void","void"), 0x80818904:("func_80818904","void","void"), @@ -15780,7 +15785,7 @@ 0x80BD78C4:("func_80BD78C4","void","void"), 0x80BD7AB0:("BgIknvObj_Init","void","ActorBgIknvObj* this, GlobalContext* ctxt"), 0x80BD7C7C:("BgIknvObj_Fini","void","ActorBgIknvObj* this, GlobalContext* ctxt"), - 0x80BD7CEC:("func_80BD7CEC","void","void"), + 0x80BD7CEC:("func_80BD7CEC","UNK_TYPE4","ActorBgIknvObj* this"), 0x80BD7D6C:("BgIknvObj_UpdateType0","void","ActorBgIknvObj* this, GlobalContext* ctxt"), 0x80BD7E0C:("func_80BD7E0C","void","void"), 0x80BD7ED8:("func_80BD7ED8","void","ActorBgIknvObj* this, GlobalContext* ctxt"), diff --git a/tables/variables.py b/tables/variables.py index 518e118242..889a65399e 100644 --- a/tables/variables.py +++ b/tables/variables.py @@ -339,7 +339,7 @@ 0x801ADE60:("enAObjInitData","ActorInitData",""), 0x801ADE80:("enAObjCylinderInit","ColCylinderInit",""), 0x801ADEAC:("enAObjInitVar","ActorInitVar",""), - 0x801ADEB0:("D_801ADEB0","u32","[2]"), + 0x801ADEB0:("enAObjDisplayLists","u32","[2]"), 0x801ADEC0:("enItem00InitData","ActorInitData",""), 0x801ADEE0:("enItem00CylinderInit","ColCylinderInit",""), 0x801ADF0C:("enItem00InitVars","ActorInitVar","[1]"), @@ -400,14 +400,14 @@ 0x801AEC70:("D_801AEC70","UNK_TYPE4",""), 0x801AEC74:("D_801AEC74","UNK_TYPE4",""), 0x801AEC78:("D_801AEC78","UNK_TYPE4",""), - 0x801AEC80:("D_801AEC80","UNK_TYPE1",""), - 0x801AEC84:("D_801AEC84","UNK_TYPE1",""), + 0x801AEC80:("D_801AEC80","ColorRGBA8",""), + 0x801AEC84:("D_801AEC84","s801AEC84","[13]"), 0x801AECEC:("actorMovementScale","f32",""), 0x801AECF0:("D_801AECF0","f32",""), 0x801AECF4:("D_801AECF4","f32",""), 0x801AED48:("D_801AED48","UNK_TYPE1",""), 0x801AED58:("D_801AED58","UNK_TYPE4",""), - 0x801AED88:("actorDefaultHitColor","Color",""), + 0x801AED88:("actorDefaultHitColor","ColorRGBA8",""), 0x801AED8C:("D_801AED8C","UNK_TYPE1",""), 0x801AED98:("D_801AED98","UNK_TYPE4",""), 0x801AEDA4:("D_801AEDA4","UNK_TYPE4",""), @@ -425,15 +425,14 @@ 0x801AEFC0:("D_801AEFC0","UNK_TYPE1",""), 0x801AEFD0:("actorOverlayTable","ActorOverlayTableEntry","[690]"), 0x801B4610:("D_801B4610","UNK_TYPE4",""), - 0x801B4620:("D_801B4620","UNK_TYPE1",""), - 0x801B46A0:("D_801B46A0","UNK_TYPE1",""), - 0x801B46C0:("D_801B46C0","UNK_TYPE1",""), - 0x801B46D0:("D_801B46D0","UNK_TYPE2",""), - 0x801B46D2:("D_801B46D2","UNK_TYPE2",""), - 0x801B46D4:("D_801B46D4","UNK_TYPE2",""), - 0x801B46DC:("D_801B46DC","UNK_TYPE2",""), - 0x801B4700:("D_801B4700","UNK_TYPE2",""), - 0x801B4708:("D_801B4708","UNK_TYPE2",""), + 0x801B4620:("D_801B4620","u32","[32]"), + 0x801B46A0:("D_801B46A0","u16","[16]"), + 0x801B46C0:("D_801B46C0","u8","[16]"), + 0x801B46D0:("bgSpecialSceneParamsDefault","s16","[1]"), + 0x801B46D4:("bgSpecialSceneMaxMemory","BgSpecialSceneMaxMemory","[1]"), + 0x801B46DC:("bgSpecialSceneMeshSubdivisions","BgSpecialSceneMeshSubdivision","[3]"), + 0x801B4700:("bgSpecialSceneMaxObjects","BgSpecialSceneMaxObjects","[1]"), + 0x801B4708:("D_801B4708","UNK_TYPE1",""), 0x801B986C:("D_801B986C","UNK_TYPE4",""), 0x801B9870:("D_801B9870","UNK_TYPE4",""), 0x801B9874:("D_801B9874","UNK_TYPE4",""), @@ -459,7 +458,7 @@ 0x801B9F0C:("D_801B9F0C","UNK_TYPE2",""), 0x801B9F10:("D_801B9F10","UNK_TYPE4",""), 0x801B9F20:("D_801B9F20","s800E03A0","[23]"), - 0x801BA200:("D_801BA200","f32","[16]"), + 0x801BA200:("gDamageMultipliers","f32","[16]"), 0x801BA240:("defaultColCommon","ColCommon",""), 0x801BA258:("defaultColTouch","ColTouch",""), 0x801BA260:("defaultColBump","ColBump",""), @@ -469,14 +468,14 @@ 0x801BA2B8:("defaultColTriParams","ColTriParams",""), 0x801BA2EC:("defaultColQuadParams","ColQuadParams",""), 0x801BA32C:("D_801BA32C","UNK_TYPE1",""), - 0x801BA338:("D_801BA338","UNK_PTR",""), - 0x801BA34C:("D_801BA34C","UNK_PTR",""), - 0x801BA360:("D_801BA360","UNK_PTR",""), + 0x801BA338:("collisionAddATFuncs","collision_add_func","[5]"), + 0x801BA34C:("collisionAddACFuncs","collision_add_func","[5]"), + 0x801BA360:("collisionAddOTFuncs","collision_add_func","[5]"), 0x801BA38C:("D_801BA38C","UNK_TYPE1",""), 0x801BA3A8:("D_801BA3A8","UNK_PTR",""), 0x801BA3BC:("collisionFuncTableATwithAC","collision_func","[25]"), 0x801BA420:("collisionFuncTableOTwithOT","collision_func","[25]"), - 0x801BA484:("D_801BA484","UNK_TYPE4",""), + 0x801BA484:("D_801BA484","ActorA0",""), 0x801BA4A0:("D_801BA4A0","UNK_PTR",""), 0x801BA4B4:("D_801BA4B4","UNK_TYPE1",""), 0x801BA4C8:("D_801BA4C8","UNK_TYPE1",""), @@ -514,16 +513,15 @@ 0x801BD8C0:("D_801BD8C0","UNK_TYPE4",""), 0x801BD8C4:("D_801BD8C4","UNK_TYPE2",""), 0x801BD8C6:("D_801BD8C6","UNK_TYPE2",""), - 0x801BD8D0:("D_801BD8D0","UNK_TYPE1",""), - 0x801BD8FC:("D_801BD8FC","UNK_TYPE1",""), - 0x801BD904:("D_801BD904","UNK_TYPE1",""), + 0x801BD8D0:("fireObjCollisionInit","ColCylinderInit",""), + 0x801BD8FC:("D_801BD8FC","FireObjLightParams","[2]"), 0x801BD910:("initialGameStateInfo","GameStateMetaInfo",""), 0x801BD940:("D_801BD940","GameStateMetaInfo",""), 0x801BD970:("titleGameStateInfo","GameStateMetaInfo",""), 0x801BD9A0:("mainGameStateInfo","GameStateMetaInfo",""), 0x801BD9D0:("openingGameStateInfo","GameStateMetaInfo",""), 0x801BDA00:("fileChooseGameStateInfo","GameStateMetaInfo",""), - 0x801BDA30:("D_801BDA30","GameStateMetaInfo",""), + 0x801BDA30:("daytelopGameStateInfo","GameStateMetaInfo",""), 0x801BDA60:("D_801BDA60","UNK_TYPE4",""), 0x801BDA70:("D_801BDA70","UNK_TYPE2",""), 0x801BDA74:("D_801BDA74","UNK_TYPE2",""), @@ -929,8 +927,8 @@ 0x801C1C70:("D_801C1C70","Gfx","[6]"), 0x801C1CA0:("D_801C1CA0","Gfx","[12]"), 0x801C1D00:("D_801C1D00","Gfx","[1]"), - 0x801C1D10:("D_801C1D10","UNK_TYPE1",""), - 0x801C1D1C:("D_801C1D1C","UNK_PTR",""), + 0x801C1D10:("D_801C1D10","Vector3f",""), + 0x801C1D1C:("roomDrawFuncs","room_draw_func","[4]"), 0x801C1D30:("intToBitPosition","u32","[32]"), 0x801C1DB0:("D_801C1DB0","UNK_TYPE2",""), 0x801C1DB2:("D_801C1DB2","UNK_TYPE2",""), @@ -1018,8 +1016,8 @@ 0x801C3C50:("D_801C3C50","UNK_TYPE1",""), 0x801C3C80:("D_801C3C80","UNK_TYPE1",""), 0x801C3C88:("D_801C3C88","UNK_TYPE1",""), - 0x801C3CA0:("sceneTable","SceneTableEntry","[113]"), - 0x801C5724:("D_801C5724","UNK_PTR",""), + 0x801C3CA0:("gSceneTable","SceneTableEntry","[113]"), + 0x801C5720:("gSceneEntranceTable","SceneEntranceTableEnty","[110]"), 0x801C5C50:("D_801C5C50","UNK_PTR",""), 0x801C5C9C:("D_801C5C9C","UNK_TYPE1",""), 0x801C5CB0:("D_801C5CB0","UNK_PTR",""), @@ -1040,9 +1038,6 @@ 0x801C5EC4:("D_801C5EC4","UNK_TYPE2",""), 0x801C5F44:("D_801C5F44","UNK_TYPE4",""), 0x801C5FC0:("D_801C5FC0","UNK_TYPE4",""), - 0x801C5FC8:("D_801C5FC8","UNK_TYPE4",""), - 0x801C5FCC:("D_801C5FCC","UNK_TYPE4",""), - 0x801C5FD0:("D_801C5FD0","UNK_TYPE4",""), 0x801C66D0:("D_801C66D0","UNK_TYPE2",""), 0x801C6798:("D_801C6798","UNK_TYPE4",""), 0x801C67B0:("D_801C67B0","UNK_TYPE1",""), @@ -1058,12 +1053,12 @@ 0x801C6890:("D_801C6890","UNK_TYPE1",""), 0x801C6898:("D_801C6898","SaveContext_struct1",""), 0x801C68C0:("D_801C68C0","SaveContext_struct2",""), - 0x801C68E4:("D_801C68E4","SaveContext_struct3",""), - 0x801C696C:("saveDefaultChecksum","u16",""), - 0x801C6970:("D_801C6970","char","[]"), - 0x801C6998:("D_801C6998","UNK_TYPE1",""), - 0x801C69BC:("D_801C69BC","UNK_TYPE1",""), - 0x801C6A44:("D_801C6A44","UNK_TYPE1",""), + 0x801C68E4:("gSaveDefaultInventory","SaveContextInventory",""), + 0x801C696C:("gSaveDefaultChecksum","u16",""), + 0x801C6970:("D_801C6970","SaveContext_struct1",""), + 0x801C6998:("D_801C6998","SaveContext_struct2",""), + 0x801C69BC:("D_801C69BC","SaveContextInventory",""), + 0x801C6A44:("D_801C6A44","u16",""), 0x801C6A48:("D_801C6A48","UNK_TYPE1",""), 0x801C6A50:("D_801C6A50","UNK_TYPE1",""), 0x801C6A58:("D_801C6A58","UNK_TYPE1",""), @@ -2488,6 +2483,7 @@ 0x801ED8D4:("D_801ED8D4","UNK_TYPE1",""), 0x801ED8D8:("D_801ED8D8","UNK_TYPE1",""), 0x801ED8DC:("D_801ED8DC","UNK_TYPE1",""), + 0x801ED8E0:("D_801ED8E0","Mtx",""), 0x801ED920:("D_801ED920","UNK_TYPE1",""), 0x801ED930:("D_801ED930","UNK_TYPE1",""), 0x801ED940:("D_801ED940","UNK_TYPE1",""), @@ -2499,24 +2495,18 @@ 0x801EDA18:("D_801EDA18","UNK_TYPE1",""), 0x801EDA24:("D_801EDA24","UNK_TYPE1",""), 0x801EDA30:("D_801EDA30","UNK_TYPE1",""), - 0x801EDA40:("D_801EDA40","UNK_TYPE1",""), - 0x801EDA80:("D_801EDA80","UNK_TYPE1",""), - 0x801EDA8C:("D_801EDA8C","UNK_TYPE1",""), - 0x801EDA98:("D_801EDA98","UNK_TYPE1",""), - 0x801EDAA8:("D_801EDAA8","UNK_TYPE1",""), + 0x801EDA40:("D_801EDA40","z_Matrix",""), + 0x801EDA80:("D_801EDA80","ColTriParams",""), 0x801EDAF8:("D_801EDAF8","UNK_TYPE1",""), - 0x801EDB48:("D_801EDB48","UNK_TYPE1",""), - 0x801EDB54:("D_801EDB54","UNK_TYPE1",""), - 0x801EDB60:("D_801EDB60","UNK_TYPE1",""), - 0x801EDB70:("D_801EDB70","UNK_TYPE1",""), + 0x801EDB48:("D_801EDB48","ColTriParams",""), 0x801EDB7C:("D_801EDB7C","UNK_TYPE1",""), 0x801EDB88:("D_801EDB88","UNK_TYPE1",""), 0x801EDB98:("D_801EDB98","UNK_TYPE1",""), 0x801EDB9C:("D_801EDB9C","UNK_TYPE1",""), 0x801EDBA0:("D_801EDBA0","UNK_TYPE1",""), 0x801EDBA4:("D_801EDBA4","UNK_TYPE1",""), - 0x801EDBA8:("D_801EDBA8","UNK_TYPE1",""), - 0x801EDBB0:("D_801EDBB0","UNK_TYPE1",""), + 0x801EDBA8:("D_801EDBA8","ColSphereCollisionInfo",""), + 0x801EDBB0:("D_801EDBB0","ColTriParams",""), 0x801EDBD4:("D_801EDBD4","UNK_TYPE1",""), 0x801EDBD8:("D_801EDBD8","UNK_TYPE1",""), 0x801EDBDC:("D_801EDBDC","UNK_TYPE1",""), @@ -2605,122 +2595,12 @@ 0x801EF600:("D_801EF600","ColTriParams",""), 0x801EF638:("D_801EF638","ColTriParams",""), 0x801EF66D:("D_801EF66D","UNK_TYPE1",""), - 0x801EF670:("saveContext","SaveContext",""), - 0x801F067C:("D_801F067C","UNK_TYPE1",""), - 0x801F067D:("D_801F067D","UNK_TYPE1",""), - 0x801F067E:("D_801F067E","UNK_TYPE1",""), - 0x801F067F:("D_801F067F","UNK_TYPE1",""), - 0x801F0680:("D_801F0680","UNK_TYPE1",""), - 0x801F0681:("D_801F0681","UNK_TYPE1",""), - 0x801F0682:("D_801F0682","UNK_TYPE1",""), - 0x801F0683:("D_801F0683","UNK_TYPE1",""), - 0x801F0684:("D_801F0684","UNK_TYPE1",""), - 0x801F0686:("D_801F0686","UNK_TYPE2",""), - 0x801F0688:("D_801F0688","UNK_TYPE1",""), - 0x801F0750:("D_801F0750","UNK_TYPE1",""), - 0x801F2430:("D_801F2430","UNK_TYPE1",""), - 0x801F2434:("D_801F2434","UNK_TYPE1",""), - 0x801F2E30:("D_801F2E30","UNK_TYPE1",""), - 0x801F2E34:("D_801F2E34","UNK_TYPE1",""), - 0x801F3310:("D_801F3310","UNK_TYPE4",""), - 0x801F3314:("D_801F3314","UNK_TYPE2",""), - 0x801F3318:("D_801F3318","UNK_TYPE4",""), - 0x801F331C:("D_801F331C","UNK_TYPE4",""), - 0x801F3320:("D_801F3320","UNK_TYPE4",""), - 0x801F3324:("D_801F3324","UNK_TYPE1",""), - 0x801F3330:("D_801F3330","UNK_TYPE1",""), - 0x801F3334:("D_801F3334","UNK_TYPE1",""), - 0x801F3337:("D_801F3337","UNK_TYPE1",""), - 0x801F3364:("D_801F3364","UNK_TYPE1",""), - 0x801F3394:("D_801F3394","UNK_TYPE1",""), - 0x801F3397:("D_801F3397","UNK_TYPE1",""), - 0x801F3424:("D_801F3424","UNK_TYPE1",""), - 0x801F342B:("D_801F342B","UNK_TYPE1",""), - 0x801F342C:("D_801F342C","UNK_TYPE1",""), - 0x801F342E:("D_801F342E","UNK_TYPE1",""), - 0x801F3440:("D_801F3440","UNK_TYPE1",""), - 0x801F3441:("D_801F3441","UNK_TYPE1",""), - 0x801F3442:("D_801F3442","UNK_TYPE1",""), - 0x801F3443:("D_801F3443","UNK_TYPE1",""), - 0x801F3444:("D_801F3444","UNK_TYPE1",""), - 0x801F3450:("D_801F3450","UNK_TYPE1",""), - 0x801F3454:("D_801F3454","UNK_TYPE1",""), - 0x801F3458:("D_801F3458","UNK_TYPE1",""), - 0x801F345C:("D_801F345C","UNK_TYPE1",""), - 0x801F3460:("D_801F3460","UNK_TYPE1",""), - 0x801F3464:("D_801F3464","UNK_TYPE1",""), - 0x801F3470:("D_801F3470","UNK_TYPE1",""), - 0x801F3474:("D_801F3474","UNK_TYPE4",""), - 0x801F3484:("D_801F3484","UNK_TYPE4",""), - 0x801F3488:("D_801F3488","UNK_TYPE1",""), - 0x801F348C:("D_801F348C","UNK_TYPE1",""), - 0x801F3490:("D_801F3490","UNK_TYPE1",""), - 0x801F3494:("D_801F3494","UNK_TYPE1",""), - 0x801F3498:("D_801F3498","UNK_TYPE1",""), - 0x801F349C:("D_801F349C","UNK_TYPE1",""), - 0x801F34C0:("D_801F34C0","UNK_TYPE1",""), - 0x801F34C4:("D_801F34C4","UNK_TYPE1",""), - 0x801F34C8:("D_801F34C8","UNK_TYPE1",""), - 0x801F34CC:("D_801F34CC","UNK_TYPE1",""), - 0x801F34D0:("D_801F34D0","UNK_TYPE1",""), - 0x801F34D4:("D_801F34D4","UNK_TYPE1",""), - 0x801F34F8:("D_801F34F8","UNK_TYPE1",""), - 0x801F34FC:("D_801F34FC","UNK_TYPE1",""), - 0x801F3500:("D_801F3500","UNK_TYPE1",""), - 0x801F3504:("D_801F3504","UNK_TYPE1",""), - 0x801F3508:("D_801F3508","UNK_TYPE1",""), - 0x801F350C:("D_801F350C","UNK_TYPE1",""), - 0x801F3530:("D_801F3530","UNK_TYPE1",""), - 0x801F3534:("D_801F3534","UNK_TYPE1",""), - 0x801F3538:("D_801F3538","UNK_TYPE1",""), - 0x801F353C:("D_801F353C","UNK_TYPE1",""), - 0x801F3540:("D_801F3540","UNK_TYPE1",""), - 0x801F3544:("D_801F3544","UNK_TYPE1",""), - 0x801F3586:("D_801F3586","UNK_TYPE1",""), - 0x801F3587:("D_801F3587","UNK_TYPE1",""), - 0x801F3588:("D_801F3588","UNK_TYPE1",""), - 0x801F3589:("D_801F3589","UNK_TYPE1",""), - 0x801F358A:("D_801F358A","UNK_TYPE1",""), - 0x801F358B:("D_801F358B","UNK_TYPE1",""), - 0x801F358E:("D_801F358E","UNK_TYPE1",""), - 0x801F3592:("D_801F3592","UNK_TYPE2",""), - 0x801F3596:("D_801F3596","UNK_TYPE2",""), - 0x801F3598:("D_801F3598","UNK_TYPE2",""), - 0x801F359C:("D_801F359C","UNK_TYPE2",""), - 0x801F359E:("D_801F359E","UNK_TYPE2",""), - 0x801F35A0:("D_801F35A0","UNK_TYPE2",""), - 0x801F35A6:("D_801F35A6","UNK_TYPE1",""), - 0x801F35A8:("D_801F35A8","UNK_TYPE1",""), - 0x801F35AA:("D_801F35AA","UNK_TYPE2",""), - 0x801F35AC:("D_801F35AC","UNK_TYPE1",""), - 0x801F35AF:("D_801F35AF","UNK_TYPE1",""), - 0x801F35B0:("D_801F35B0","UNK_TYPE1",""), - 0x801F35B2:("D_801F35B2","UNK_TYPE1",""), - 0x801F35B3:("D_801F35B3","UNK_TYPE1",""), - 0x801F35B5:("D_801F35B5","UNK_TYPE1",""), - 0x801F35B6:("D_801F35B6","UNK_TYPE1",""), - 0x801F35B8:("D_801F35B8","UNK_TYPE1",""), - 0x801F35BA:("D_801F35BA","UNK_TYPE2",""), - 0x801F35BC:("D_801F35BC","UNK_TYPE1",""), - 0x801F35C0:("D_801F35C0","UNK_TYPE1",""), - 0x801F35C1:("D_801F35C1","UNK_TYPE1",""), - 0x801F35C2:("D_801F35C2","UNK_TYPE2",""), - 0x801F35C5:("D_801F35C5","UNK_TYPE1",""), - 0x801F35C6:("D_801F35C6","UNK_TYPE2",""), - 0x801F35C8:("D_801F35C8","UNK_TYPE1",""), - 0x801F35CA:("D_801F35CA","UNK_TYPE2",""), - 0x801F35D0:("D_801F35D0","UNK_TYPE1",""), - 0x801F35D4:("D_801F35D4","UNK_TYPE1",""), - 0x801F35D8:("D_801F35D8","UNK_TYPE1",""), - 0x801F35DC:("D_801F35DC","UNK_TYPE1",""), - 0x801F35E0:("D_801F35E0","UNK_TYPE1",""), - 0x801F35E4:("D_801F35E4","UNK_TYPE1",""), - 0x801F35E8:("D_801F35E8","UNK_TYPE1",""), + 0x801EF670:("gSaveContext","SaveContext",""), 0x801F3F38:("D_801F3F38","UNK_TYPE2",""), 0x801F3F3A:("D_801F3F3A","UNK_TYPE1",""), 0x801F3F3B:("D_801F3F3B","UNK_TYPE1",""), 0x801F3F3C:("D_801F3F3C","UNK_TYPE1",""), - 0x801F3F60:("staticContext","StaticContext*",""), + 0x801F3F60:("gStaticContext","StaticContext*",""), 0x801F3F70:("D_801F3F70","UNK_TYPE1",""), 0x801F3F80:("D_801F3F80","UNK_TYPE1",""), 0x801F3F83:("D_801F3F83","UNK_TYPE1",""), @@ -2788,7 +2668,6 @@ 0x801F4F66:("D_801F4F66","UNK_TYPE1",""), 0x801F4F6A:("D_801F4F6A","UNK_TYPE1",""), 0x801F4F70:("lightsList","LightsList",""), - 0x801F4F78:("D_801F4F78","UNK_TYPE1",""), 0x801F5100:("mainHeap","Heap",""), 0x801F5130:("D_801F5130","UNK_TYPE1",""), 0x801F5270:("D_801F5270","UNK_TYPE1",""), @@ -2813,10 +2692,11 @@ 0x801F59F8:("D_801F59F8","UNK_TYPE1",""), 0x801F5A00:("D_801F5A00","UNK_TYPE1",""), 0x801F5A08:("D_801F5A08","UNK_TYPE1",""), + 0x801F5A1E:("D_801F5A1E","UNK_TYPE1",""), 0x801F5A2C:("D_801F5A2C","UNK_TYPE1",""), - 0x801F5A90:("D_801F5A90","UNK_TYPE1",""), + 0x801F5A90:("D_801F5A90","GlobalContext*",""), 0x801F5A96:("D_801F5A96","UNK_TYPE1",""), - 0x801F5A98:("D_801F5A98","UNK_TYPE1",""), + 0x801F5A98:("D_801F5A98","UNK_TYPE2",""), 0x801F5AA0:("D_801F5AA0","UNK_TYPE1",""), 0x801F5AA4:("D_801F5AA4","UNK_TYPE1",""), 0x801F5AA8:("D_801F5AA8","UNK_TYPE1",""), @@ -2850,7 +2730,8 @@ 0x801F6B34:("D_801F6B34","UNK_TYPE1",""), 0x801F6B38:("D_801F6B38","UNK_TYPE1",""), 0x801F6B3C:("D_801F6B3C","UNK_TYPE1",""), - 0x801F6B44:("D_801F6B44","UNK_TYPE4",""), + 0x801F6B40:("gShrinkWindowContext","ShrinkWindowContext",""), + 0x801F6B44:("gShrinkWindowContextPtr","ShrinkWindowContext*",""), 0x801F6B50:("D_801F6B50","UNK_TYPE4",""), 0x801F6B58:("D_801F6B58","UNK_TYPE1",""), 0x801F6BF0:("D_801F6BF0","UNK_TYPE1",""), @@ -2885,7 +2766,7 @@ 0x801F8150:("lastRenderFrameTimestamp","u64",""), 0x801F8160:("siEventCallbackQueue","OSMesgQueue",""), 0x801F8178:("siEventCallbackBuffer","OSMesg","[1]"), - 0x801F8180:("rspSegmentPhysAddrs","u32","[16]"), + 0x801F8180:("gRspSegmentPhysAddrs","u32","[16]"), 0x801F81C0:("schedContext","SchedThreadStruct",""), 0x801F84F8:("mainIrqmgrCallbackNode","OSMesgQueueListNode",""), 0x801F8500:("mainIrqmgrCallbackQueue","OSMesgQueue",""), @@ -3286,8 +3167,8 @@ 0x808037A0:("selectOverlayInfo","OverlayBlockSizes",""), 0x808037B4:("selectOverlayRelocations","u32","[397]"), 0x80803DEC:("selectOverlayInfoOffset","u32",""), - 0x80803FC0:("D_80803FC0","UNK_TYPE1",""), - 0x80803FC8:("D_80803FC8","UNK_TYPE1",""), + 0x80803FC0:("openingEntrances","u32","[2]"), + 0x80803FC8:("openingCutscenes","u32","[2]"), 0x80803FD0:("openingOverlayBlockInfo","OverlayBlockSizes",""), 0x80803FE4:("openingOverlayRelocations","u32","[10]"), 0x8080400C:("openingOverlayBlockInfoOffset","u32",""), @@ -3321,15 +3202,15 @@ 0x808144D8:("D_808144D8","UNK_TYPE2",""), 0x808144DC:("D_808144DC","UNK_TYPE1",""), 0x808144E8:("D_808144E8","UNK_TYPE1",""), - 0x80814510:("D_80814510","UNK_TYPE1",""), + 0x80814510:("D_80814510","Gfx","[5]"), 0x80814538:("D_80814538","UNK_TYPE2",""), 0x80814548:("D_80814548","UNK_TYPE2",""), - 0x80814550:("D_80814550","UNK_TYPE2",""), + 0x80814550:("fileChooseSkyboxRotation","s16",""), 0x80814554:("D_80814554","UNK_TYPE1",""), 0x8081455C:("D_8081455C","UNK_TYPE1",""), 0x80814564:("D_80814564","UNK_TYPE2",""), - 0x80814568:("D_80814568","UNK_PTR",""), - 0x8081461C:("D_8081461C","UNK_TYPE1",""), + 0x80814568:("D_80814568","filechoose_update_func","[45]"), + 0x8081461C:("D_8081461C","s16","[2]"), 0x80814620:("D_80814620","UNK_TYPE2",""), 0x80814638:("D_80814638","UNK_TYPE1",""), 0x80814644:("D_80814644","UNK_TYPE1",""), @@ -3349,9 +3230,9 @@ 0x80814744:("D_80814744","UNK_TYPE1",""), 0x80814764:("D_80814764","UNK_TYPE4",""), 0x80814774:("D_80814774","UNK_TYPE1",""), - 0x8081477C:("D_8081477C","UNK_PTR",""), - 0x8081479C:("D_8081479C","UNK_TYPE1",""), - 0x808147A8:("D_808147A8","UNK_TYPE1",""), + 0x8081477C:("D_8081477C","filechoose_update_func","[8]"), + 0x8081479C:("D_8081479C","filechoose_update_func","[3]"), + 0x808147A8:("D_808147A8","filechoose_update_func","[3]"), 0x808147C0:("D_808147C0","UNK_TYPE2",""), 0x808147C8:("D_808147C8","UNK_TYPE2",""), 0x808147D0:("D_808147D0","UNK_TYPE4",""), @@ -3365,9 +3246,9 @@ 0x80814800:("filechooseOverlayInfo","OverlayBlockSizes",""), 0x80814814:("filechooseOverlayRelocations","u32","[409]"), 0x80814E7C:("filechooseOverlayInfoOffset","u32",""), - 0x80815FF0:("D_80815FF0","UNK_TYPE1",""), - 0x80816000:("D_80816000","UNK_TYPE4",""), - 0x80816010:("D_80816010","UNK_TYPE4",""), + 0x80815FF0:("D_80815FF0","u32","[4]"), + 0x80816000:("D_80816000","u32","[4]"), + 0x80816010:("D_80816010","u32","[4]"), 0x80816020:("daytelopOverlayInfo","OverlayBlockSizes",""), 0x80816034:("daytelopOverlayRelocations","u32","[24]"), 0x8081609C:("daytelopOverlayInfoOffset","u32",""), @@ -8911,7 +8792,7 @@ 0x80A1A414:("objRailliftOverlayRelocations","u32","[55]"), 0x80A1A4FC:("objRailliftOverlayInfoOffset","u32",""), 0x80A1B260:("D_80A1B260","UNK_TYPE1",""), - 0x80A1B28C:("D_80A1B28C","UNK_TYPE1",""), + 0x80A1B28C:("D_80A1B28C","FireObjInitParams",""), 0x80A1B29C:("D_80A1B29C","UNK_TYPE2",""), 0x80A1B2A8:("D_80A1B2A8","UNK_TYPE1",""), 0x80A1B2C0:("D_80A1B2C0","UNK_TYPE4",""), @@ -13982,7 +13863,7 @@ 0x80BD7A04:("bgIknvDoukutuOverlayRelocations","u32","[39]"), 0x80BD7AAC:("bgIknvDoukutuOverlayInfoOffset","u32",""), 0x80BD81D0:("bgIknvObjInitData","ActorInitData",""), - 0x80BD81F0:("D_80BD81F0","UNK_TYPE1",""), + 0x80BD81F0:("BgIknvObjCollisionInit","ColCylinderInit",""), 0x80BD8220:("bgIknvObjOverlayInfo","OverlayBlockSizes",""), 0x80BD8234:("bgIknvObjOverlayRelocations","u32","[27]"), 0x80BD82AC:("bgIknvObjOverlayInfoOffset","u32",""), diff --git a/undef.txt b/undef.txt index 1e0378d275..ca0111b551 100644 --- a/undef.txt +++ b/undef.txt @@ -119,6 +119,7 @@ D_801ED8CC = code_bss_start + 0x0000992C; D_801ED8D4 = code_bss_start + 0x00009934; D_801ED8D8 = code_bss_start + 0x00009938; D_801ED8DC = code_bss_start + 0x0000993C; +D_801ED8E0 = code_bss_start + 0x00009940; D_801ED920 = code_bss_start + 0x00009980; D_801ED930 = code_bss_start + 0x00009990; D_801ED940 = code_bss_start + 0x000099A0; @@ -132,14 +133,8 @@ D_801EDA24 = code_bss_start + 0x00009A84; D_801EDA30 = code_bss_start + 0x00009A90; D_801EDA40 = code_bss_start + 0x00009AA0; D_801EDA80 = code_bss_start + 0x00009AE0; -D_801EDA8C = code_bss_start + 0x00009AEC; -D_801EDA98 = code_bss_start + 0x00009AF8; -D_801EDAA8 = code_bss_start + 0x00009B08; D_801EDAF8 = code_bss_start + 0x00009B58; D_801EDB48 = code_bss_start + 0x00009BA8; -D_801EDB54 = code_bss_start + 0x00009BB4; -D_801EDB60 = code_bss_start + 0x00009BC0; -D_801EDB70 = code_bss_start + 0x00009BD0; D_801EDB7C = code_bss_start + 0x00009BDC; D_801EDB88 = code_bss_start + 0x00009BE8; D_801EDB98 = code_bss_start + 0x00009BF8; @@ -236,122 +231,12 @@ D_801EF5C8 = code_bss_start + 0x0000B628; D_801EF600 = code_bss_start + 0x0000B660; D_801EF638 = code_bss_start + 0x0000B698; D_801EF66D = code_bss_start + 0x0000B6CD; -saveContext = code_bss_start + 0x0000B6D0; -D_801F067C = code_bss_start + 0x0000C6DC; -D_801F067D = code_bss_start + 0x0000C6DD; -D_801F067E = code_bss_start + 0x0000C6DE; -D_801F067F = code_bss_start + 0x0000C6DF; -D_801F0680 = code_bss_start + 0x0000C6E0; -D_801F0681 = code_bss_start + 0x0000C6E1; -D_801F0682 = code_bss_start + 0x0000C6E2; -D_801F0683 = code_bss_start + 0x0000C6E3; -D_801F0684 = code_bss_start + 0x0000C6E4; -D_801F0686 = code_bss_start + 0x0000C6E6; -D_801F0688 = code_bss_start + 0x0000C6E8; -D_801F0750 = code_bss_start + 0x0000C7B0; -D_801F2430 = code_bss_start + 0x0000E490; -D_801F2434 = code_bss_start + 0x0000E494; -D_801F2E30 = code_bss_start + 0x0000EE90; -D_801F2E34 = code_bss_start + 0x0000EE94; -D_801F3310 = code_bss_start + 0x0000F370; -D_801F3314 = code_bss_start + 0x0000F374; -D_801F3318 = code_bss_start + 0x0000F378; -D_801F331C = code_bss_start + 0x0000F37C; -D_801F3320 = code_bss_start + 0x0000F380; -D_801F3324 = code_bss_start + 0x0000F384; -D_801F3330 = code_bss_start + 0x0000F390; -D_801F3334 = code_bss_start + 0x0000F394; -D_801F3337 = code_bss_start + 0x0000F397; -D_801F3364 = code_bss_start + 0x0000F3C4; -D_801F3394 = code_bss_start + 0x0000F3F4; -D_801F3397 = code_bss_start + 0x0000F3F7; -D_801F3424 = code_bss_start + 0x0000F484; -D_801F342B = code_bss_start + 0x0000F48B; -D_801F342C = code_bss_start + 0x0000F48C; -D_801F342E = code_bss_start + 0x0000F48E; -D_801F3440 = code_bss_start + 0x0000F4A0; -D_801F3441 = code_bss_start + 0x0000F4A1; -D_801F3442 = code_bss_start + 0x0000F4A2; -D_801F3443 = code_bss_start + 0x0000F4A3; -D_801F3444 = code_bss_start + 0x0000F4A4; -D_801F3450 = code_bss_start + 0x0000F4B0; -D_801F3454 = code_bss_start + 0x0000F4B4; -D_801F3458 = code_bss_start + 0x0000F4B8; -D_801F345C = code_bss_start + 0x0000F4BC; -D_801F3460 = code_bss_start + 0x0000F4C0; -D_801F3464 = code_bss_start + 0x0000F4C4; -D_801F3470 = code_bss_start + 0x0000F4D0; -D_801F3474 = code_bss_start + 0x0000F4D4; -D_801F3484 = code_bss_start + 0x0000F4E4; -D_801F3488 = code_bss_start + 0x0000F4E8; -D_801F348C = code_bss_start + 0x0000F4EC; -D_801F3490 = code_bss_start + 0x0000F4F0; -D_801F3494 = code_bss_start + 0x0000F4F4; -D_801F3498 = code_bss_start + 0x0000F4F8; -D_801F349C = code_bss_start + 0x0000F4FC; -D_801F34C0 = code_bss_start + 0x0000F520; -D_801F34C4 = code_bss_start + 0x0000F524; -D_801F34C8 = code_bss_start + 0x0000F528; -D_801F34CC = code_bss_start + 0x0000F52C; -D_801F34D0 = code_bss_start + 0x0000F530; -D_801F34D4 = code_bss_start + 0x0000F534; -D_801F34F8 = code_bss_start + 0x0000F558; -D_801F34FC = code_bss_start + 0x0000F55C; -D_801F3500 = code_bss_start + 0x0000F560; -D_801F3504 = code_bss_start + 0x0000F564; -D_801F3508 = code_bss_start + 0x0000F568; -D_801F350C = code_bss_start + 0x0000F56C; -D_801F3530 = code_bss_start + 0x0000F590; -D_801F3534 = code_bss_start + 0x0000F594; -D_801F3538 = code_bss_start + 0x0000F598; -D_801F353C = code_bss_start + 0x0000F59C; -D_801F3540 = code_bss_start + 0x0000F5A0; -D_801F3544 = code_bss_start + 0x0000F5A4; -D_801F3586 = code_bss_start + 0x0000F5E6; -D_801F3587 = code_bss_start + 0x0000F5E7; -D_801F3588 = code_bss_start + 0x0000F5E8; -D_801F3589 = code_bss_start + 0x0000F5E9; -D_801F358A = code_bss_start + 0x0000F5EA; -D_801F358B = code_bss_start + 0x0000F5EB; -D_801F358E = code_bss_start + 0x0000F5EE; -D_801F3592 = code_bss_start + 0x0000F5F2; -D_801F3596 = code_bss_start + 0x0000F5F6; -D_801F3598 = code_bss_start + 0x0000F5F8; -D_801F359C = code_bss_start + 0x0000F5FC; -D_801F359E = code_bss_start + 0x0000F5FE; -D_801F35A0 = code_bss_start + 0x0000F600; -D_801F35A6 = code_bss_start + 0x0000F606; -D_801F35A8 = code_bss_start + 0x0000F608; -D_801F35AA = code_bss_start + 0x0000F60A; -D_801F35AC = code_bss_start + 0x0000F60C; -D_801F35AF = code_bss_start + 0x0000F60F; -D_801F35B0 = code_bss_start + 0x0000F610; -D_801F35B2 = code_bss_start + 0x0000F612; -D_801F35B3 = code_bss_start + 0x0000F613; -D_801F35B5 = code_bss_start + 0x0000F615; -D_801F35B6 = code_bss_start + 0x0000F616; -D_801F35B8 = code_bss_start + 0x0000F618; -D_801F35BA = code_bss_start + 0x0000F61A; -D_801F35BC = code_bss_start + 0x0000F61C; -D_801F35C0 = code_bss_start + 0x0000F620; -D_801F35C1 = code_bss_start + 0x0000F621; -D_801F35C2 = code_bss_start + 0x0000F622; -D_801F35C5 = code_bss_start + 0x0000F625; -D_801F35C6 = code_bss_start + 0x0000F626; -D_801F35C8 = code_bss_start + 0x0000F628; -D_801F35CA = code_bss_start + 0x0000F62A; -D_801F35D0 = code_bss_start + 0x0000F630; -D_801F35D4 = code_bss_start + 0x0000F634; -D_801F35D8 = code_bss_start + 0x0000F638; -D_801F35DC = code_bss_start + 0x0000F63C; -D_801F35E0 = code_bss_start + 0x0000F640; -D_801F35E4 = code_bss_start + 0x0000F644; -D_801F35E8 = code_bss_start + 0x0000F648; +gSaveContext = code_bss_start + 0x0000B6D0; D_801F3F38 = code_bss_start + 0x0000FF98; D_801F3F3A = code_bss_start + 0x0000FF9A; D_801F3F3B = code_bss_start + 0x0000FF9B; D_801F3F3C = code_bss_start + 0x0000FF9C; -staticContext = code_bss_start + 0x0000FFC0; +gStaticContext = code_bss_start + 0x0000FFC0; D_801F3F70 = code_bss_start + 0x0000FFD0; D_801F3F80 = code_bss_start + 0x0000FFE0; D_801F3F83 = code_bss_start + 0x0000FFE3; @@ -419,7 +304,6 @@ D_801F4F60 = code_bss_start + 0x00010FC0; D_801F4F66 = code_bss_start + 0x00010FC6; D_801F4F6A = code_bss_start + 0x00010FCA; lightsList = code_bss_start + 0x00010FD0; -D_801F4F78 = code_bss_start + 0x00010FD8; mainHeap = code_bss_start + 0x00011160; D_801F5130 = code_bss_start + 0x00011190; D_801F5270 = code_bss_start + 0x000112D0; @@ -444,6 +328,7 @@ D_801F59F4 = code_bss_start + 0x00011A54; D_801F59F8 = code_bss_start + 0x00011A58; D_801F5A00 = code_bss_start + 0x00011A60; D_801F5A08 = code_bss_start + 0x00011A68; +D_801F5A1E = code_bss_start + 0x00011A7E; D_801F5A2C = code_bss_start + 0x00011A8C; D_801F5A90 = code_bss_start + 0x00011AF0; D_801F5A96 = code_bss_start + 0x00011AF6; @@ -481,7 +366,8 @@ D_801F6B30 = code_bss_start + 0x00012B90; D_801F6B34 = code_bss_start + 0x00012B94; D_801F6B38 = code_bss_start + 0x00012B98; D_801F6B3C = code_bss_start + 0x00012B9C; -D_801F6B44 = code_bss_start + 0x00012BA4; +gShrinkWindowContext = code_bss_start + 0x00012BA0; +gShrinkWindowContextPtr = code_bss_start + 0x00012BA4; D_801F6B50 = code_bss_start + 0x00012BB0; D_801F6B58 = code_bss_start + 0x00012BB8; D_801F6BF0 = code_bss_start + 0x00012C50; @@ -516,7 +402,7 @@ D_801F80F8 = code_bss_start + 0x00014158; lastRenderFrameTimestamp = code_bss_start + 0x000141B0; siEventCallbackQueue = code_bss_start + 0x000141C0; siEventCallbackBuffer = code_bss_start + 0x000141D8; -rspSegmentPhysAddrs = code_bss_start + 0x000141E0; +gRspSegmentPhysAddrs = code_bss_start + 0x000141E0; schedContext = code_bss_start + 0x00014220; mainIrqmgrCallbackNode = code_bss_start + 0x00014558; mainIrqmgrCallbackQueue = code_bss_start + 0x00014560;