From adc18f10e2d687d0c09456112b5bdab831e9bc4a Mon Sep 17 00:00:00 2001 From: rozlette Date: Wed, 18 Mar 2020 21:03:18 -0500 Subject: [PATCH] Port over some cutscene documentation from oot --- include/functions.h | 90 +++++++++++++++++++------------------- include/structs.h | 102 ++++++++++++++++++++++++++++++++++++++----- include/variables.h | 11 +++-- tables/functions.txt | 90 +++++++++++++++++++------------------- tables/variables.txt | 11 +++-- undef.txt | 1 - 6 files changed, 192 insertions(+), 113 deletions(-) diff --git a/include/functions.h b/include/functions.h index c377fa25ea..7c1450f845 100644 --- a/include/functions.h +++ b/include/functions.h @@ -846,7 +846,7 @@ void func_800BA9B4(void); // func_800BA9B4 void Actor_InsertIntoTypeList(ActorContext* actCtxt, Actor* actor, u8 type); // func_800BAAB4 Actor* Actor_RemoveFromTypeList(GlobalContext* ctxt, ActorContext* actCtxt, Actor* actor); // func_800BAB24 void Actor_FreeOverlay(ActorOverlay* entry); // func_800BABFC -void Actor_Spawn(ActorContext* actCtxt, GlobalContext* ctxt, s16 index, f32 x, f32 y, f32 z, s16 rotX, s16 rotY, s16 rotZ, s16 sParm10); // func_800BAC60 +Actor* Actor_Spawn(ActorContext* actCtxt, GlobalContext* ctxt, s16 index, f32 x, f32 y, f32 z, s16 rotX, s16 rotY, s16 rotZ, s16 sParm10); // func_800BAC60 ActorInit* Actor_LoadOverlay(ActorContext* actCtxt, s16 index); // func_800BACD4 Actor* Actor_SpawnWithParentAndCutscene(ActorContext* actCtxt, GlobalContext* ctxt, s16 index, f32 x, f32 y, f32 z, s16 rotX, s16 rotY, s16 rotZ, s16 variable, u32 cutscene, s32 param_12, Actor* parent); // func_800BAE14 void Actor_SpawnWithParent(ActorContext* actCtxt, Actor* parent, GlobalContext* ctxt, s16 index, f32 x, f32 y, f32 z, s16 rotX, s16 rotY, s16 rotZ, s16 variable); // func_800BB0C0 @@ -1545,43 +1545,43 @@ void func_800E9CFC(void); // func_800E9CFC void func_800E9DBC(void); // func_800E9DBC void func_800E9E94(void); // func_800E9E94 void func_800E9F78(GraphicsContext* gCtxt); // func_800E9F78 -void Demo_Init(GlobalContext* ctxt, CutsceneContext* cCtxt); // func_800EA060 -void func_800EA0D4(GlobalContext* ctxt, CutsceneContext* cCtxt); // func_800EA0D4 -void func_800EA0EC(GlobalContext* ctxt, CutsceneContext* cCtxt); // func_800EA0EC -void Demo_StepCutscene1(GlobalContext* ctxt, CutsceneContext* cCtxt); // func_800EA110 -void Demo_StepCutscene2(GlobalContext* ctxt, CutsceneContext* cCtxt); // func_800EA15C -void Demo_Nop800EA210(GlobalContext* ctxt, CutsceneContext* cCtxt); // func_800EA210 -s32 func_800EA220(GlobalContext* ctxt, CutsceneContext* cCtxt, f32 fParm3); // func_800EA220 -void func_800EA258(GlobalContext* ctxt, CutsceneContext* cCtxt); // func_800EA258 -void func_800EA2B8(GlobalContext* ctxt, CutsceneContext* cCtxt); // func_800EA2B8 -void func_800EA324(GlobalContext* ctxt, CutsceneContext* cCtxt, UNK_PTR puParm3); // func_800EA324 -void func_800EABAC(GlobalContext* ctxt, CutsceneContext* cCtxt, short* psParm3); // func_800EABAC -void func_800EAC08(GlobalContext* ctxt, CutsceneContext* cCtxt, unsigned short* puParm3); // func_800EAC08 -void func_800EAC44(GlobalContext* ctxt, CutsceneContext* cCtxt, unsigned short* puParm3); // func_800EAC44 -void func_800EAC94(GlobalContext* ctxt, CutsceneContext* cCtxt, short* psParm3); // func_800EAC94 -void func_800EAD14(GlobalContext* ctxt, CutsceneContext* cCtxt, int iParm3); // func_800EAD14 -void func_800EAD48(GlobalContext* ctxt, CutsceneContext* cCtxt, int iParm3); // func_800EAD48 -void func_800EAD7C(GlobalContext* ctxt, CutsceneContext* cCtxt, int iParm3); // func_800EAD7C -void func_800EADB0(GlobalContext* ctxt, CutsceneContext* cCtxt, UNK_PTR puParm3); // func_800EADB0 -void func_800EAECC(GlobalContext* ctxt, CutsceneContext* cCtxt, int iParm3); // func_800EAECC -void func_800EAF20(GlobalContext* ctxt, CutsceneContext* cCtxt, short* psParm3); // func_800EAF20 -void func_800EAFE0(GlobalContext* ctxt, CutsceneContext* cCtxt, short* psParm3); // func_800EAFE0 -void func_800EB1DC(GlobalContext* ctxt, CutsceneContext* cCtxt, int iParm3); // func_800EB1DC -void func_800EB364(GlobalContext* ctxt, CutsceneContext* cCtxt, short* psParm3); // func_800EB364 -void func_800EB4B4(GlobalContext* ctxt, CutsceneContext* cCtxt, short* psParm3); // func_800EB4B4 -void func_800EB6F8(GlobalContext* ctxt, CutsceneContext* cCtxt, UNK_PTR puParm3); // func_800EB6F8 -void func_800EBB68(GlobalContext* ctxt, CutsceneContext* cCtxt, short* psParm3); // func_800EBB68 -void func_800EBCD0(GlobalContext* ctxt, CutsceneContext* cCtxt, short* psParm3); // func_800EBCD0 -void func_800EBD60(GlobalContext* ctxt, CutsceneContext* cCtxt, short* psParm3); // func_800EBD60 -s32 func_800EC678(GlobalContext* ctxt, void* pvParm2); // func_800EC678 -void func_800EC6D4(void); // func_800EC6D4 -void func_800EC924(GlobalContext* ctxt, CutsceneContext* cCtxt, unsigned short* puParm3); // func_800EC924 -void func_800ECD7C(CutsceneContext* cCtxt, void** param_2, short param_3); // func_800ECD7C -void Demo_ProcessData(GlobalContext* ctxt, CutsceneContext* cCtxt, u16* data, unsigned short* commandReadHead); // func_800ECE40 -void func_800ED980(GlobalContext* ctxt, CutsceneContext* cCtxt); // func_800ED980 -void func_800ED9C4(GlobalContext* ctxt, CutsceneContext* cCtxt); // func_800ED9C4 -void func_800EDA04(GlobalContext* ctxt, CutsceneContext* cCtxt); // func_800EDA04 -void func_800EDA84(GlobalContext* ctxt, CutsceneContext* cCtxt); // func_800EDA84 +void Cutscene_Init(GlobalContext* ctxt, CutsceneContext* csCtx); // func_800EA060 +void func_800EA0D4(GlobalContext* ctxt, CutsceneContext* csCtx); // func_800EA0D4 +void func_800EA0EC(GlobalContext* ctxt, CutsceneContext* csCtx); // func_800EA0EC +void Cutscene_StepCutscene1(GlobalContext* ctxt, CutsceneContext* csCtx); // func_800EA110 +void Cutscene_StepCutscene2(GlobalContext* ctxt, CutsceneContext* csCtx); // func_800EA15C +void Cutscene_Nop800EA210(GlobalContext* ctxt, CutsceneContext* csCtx); // func_800EA210 +s32 func_800EA220(GlobalContext* ctxt, CutsceneContext* csCtx, f32 target); // func_800EA220 +void func_800EA258(GlobalContext* ctxt, CutsceneContext* csCtx); // func_800EA258 +void func_800EA2B8(GlobalContext* ctxt, CutsceneContext* csCtx); // func_800EA2B8 +void func_800EA324(GlobalContext* ctxt, CutsceneContext* csCtx, CsCmdBase* cmd); // func_800EA324 +void func_800EABAC(GlobalContext* ctxt, CutsceneContext* csCtx, CsCmdEnvLighting* cmd); // func_800EABAC +void func_800EAC08(GlobalContext* ctxt, CutsceneContext* csCtx, CsCmdMusicChange* cmd); // func_800EAC08 +void func_800EAC44(GlobalContext* ctxt, CutsceneContext* csCtx, CsCmdMusicChange* cmd); // func_800EAC44 +void func_800EAC94(GlobalContext* ctxt, CutsceneContext* csCtx, CsCmdMusicFade* cmd); // func_800EAC94 +void func_800EAD14(GlobalContext* ctxt, CutsceneContext* csCtx, CsCmdBase* cmd); // func_800EAD14 +void func_800EAD48(GlobalContext* ctxt, CutsceneContext* csCtx, CsCmdBase* cmd); // func_800EAD48 +void func_800EAD7C(GlobalContext* ctxt, CutsceneContext* csCtx, CsCmdBase* cmd); // func_800EAD7C +void func_800EADB0(GlobalContext* ctxt, CutsceneContext* csCtx, CsCmdBase* cmd); // func_800EADB0 +void func_800EAECC(GlobalContext* ctxt, CutsceneContext* csCtx, CsCmdBase* cmd); // func_800EAECC +void func_800EAF20(GlobalContext* ctxt, CutsceneContext* csCtx, CsCmdUnk190* cmd); // func_800EAF20 +void func_800EAFE0(GlobalContext* ctxt, CutsceneContext* csCtx, CsCmdUnk9B* cmd); // func_800EAFE0 +void func_800EB1DC(GlobalContext* ctxt, CutsceneContext* csCtx, CsCmdDayTime* cmd); // func_800EB1DC +void func_800EB364(GlobalContext* ctxt, CutsceneContext* csCtx, CsCmdBase* cmd); // func_800EB364 +void func_800EB4B4(GlobalContext* ctxt, CutsceneContext* csCtx, CsCmdBase* cmd); // func_800EB4B4 +void func_800EB6F8(GlobalContext* ctxt, CutsceneContext* csCtx, CsCmdBase* cmd); // func_800EB6F8 +void func_800EBB68(GlobalContext* ctxt, CutsceneContext* csCtx, CsCmdBase* cmd); // func_800EBB68 +void func_800EBCD0(GlobalContext* ctxt, CutsceneContext* csCtx, CsCmdBase* cmd); // func_800EBCD0 +void func_800EBD60(GlobalContext* ctxt, CutsceneContext* csCtx, CsCmdBase* cmd); // func_800EBD60 +s32 func_800EC678(GlobalContext* ctxt, CsCmdUnk5A* cmd); // func_800EC678 +u32 func_800EC6D4(void); // func_800EC6D4 +void func_800EC924(GlobalContext* ctxt, CutsceneContext* csCtx, CsCmdTextbox* cmd); // func_800EC924 +void func_800ECD7C(CutsceneContext* csCtx, u8** cutscenePtr, s16 index); // func_800ECD7C +void Cutscene_ProcessCommands(GlobalContext* ctxt, CutsceneContext* csCtx, u8* cutscenePtr, unsigned short* commandReadHead); // func_800ECE40 +void func_800ED980(GlobalContext* ctxt, CutsceneContext* csCtx); // func_800ED980 +void func_800ED9C4(GlobalContext* ctxt, CutsceneContext* csCtx); // func_800ED9C4 +void func_800EDA04(GlobalContext* ctxt, CutsceneContext* csCtx); // func_800EDA04 +void func_800EDA84(GlobalContext* ctxt, CutsceneContext* csCtx); // func_800EDA84 void func_800EDBE0(GlobalContext* ctxt); // func_800EDBE0 void nop_800EDDB0(GlobalContext* ctxt); // func_800EDDB0 void func_800EDDBC(void); // func_800EDDBC @@ -1645,7 +1645,7 @@ void func_800F10AC(void); // func_800F10AC 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_800F1304(GlobalContext* ctxt, short param_2); // func_800F1304 void func_800F1374(int param_1, short param_2); // func_800F1374 void func_800F13E8(void); // func_800F13E8 s16 func_800F1460(s16 param_1); // func_800F1460 @@ -1750,7 +1750,7 @@ void func_800FAAB4(void); // func_800FAAB4 void func_800FAC20(void); // func_800FAC20 void func_800FAF74(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE1 param_5); // func_800FAF74 void func_800FB010(void); // func_800FB010 -void func_800FB320(void); // func_800FB320 +void func_800FB320(GlobalContext* ctxt, u8 param_2); // func_800FB320 void func_800FB388(void); // func_800FB388 void func_800FB758(void); // func_800FB758 void func_800FB9B4(void); // func_800FB9B4 @@ -1772,7 +1772,7 @@ 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 +void func_800FD78C(GlobalContext* ctxt); // func_800FD78C void func_800FD858(GlobalContext* ctxt); // func_800FD858 void func_800FD928(int param_1); // func_800FD928 void func_800FD980(void); // func_800FD980 @@ -2112,7 +2112,7 @@ void func_8010EB50(void); // func_8010EB50 void func_8010EBA0(void); // func_8010EBA0 void func_8010EC54(void); // func_8010EC54 void func_8010EE74(void); // func_8010EE74 -void func_8010EF68(u16 param_1); // func_8010EF68 +void Interface_ChangeAlpha(u16 param_1); // func_8010EF68 void func_8010EF9C(void); // func_8010EF9C void func_8010F0D4(void); // func_8010F0D4 void func_8010F1A8(void); // func_8010F1A8 @@ -2720,7 +2720,7 @@ void func_8013E8F8(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_ void func_8013E950(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, UNK_TYPE2 param_11, UNK_TYPE2 param_12, UNK_TYPE2 param_13); // func_8013E950 void func_8013EC10(void); // func_8013EC10 void func_8013EC44(void); // func_8013EC44 -void func_8013ECE0(void); // func_8013ECE0 +void func_8013ECE0(f32 param_1, u8 param_2, u8 param_3, u8 param_4); // func_8013ECE0 void func_8013ED9C(void); // func_8013ED9C void func_8013EDD0(void); // func_8013EDD0 void func_8013EE04(void); // func_8013EE04 @@ -2862,7 +2862,7 @@ void func_80150D08(GlobalContext* ctxt, unsigned int uParm2); // func_80150D08 void func_801514B0(void); // func_801514B0 void func_801518B0(GlobalContext* ctxt, u32 uParm2, UNK_TYPE4 uParm3); // func_801518B0 void func_80151938(GlobalContext* ctxt, u16 param_2); // func_80151938 -void func_80151A68(void); // func_80151A68 +void func_80151A68(GlobalContext* ctxt, u16 param_2); // func_80151A68 void func_80151BB4(s32 iParm1, u32 uParm2); // func_80151BB4 void func_80151C9C(void); // func_80151C9C void func_80151DA4(void); // func_80151DA4 @@ -3886,7 +3886,7 @@ void func_801A1F00(void); // func_801A1F00 void func_801A1F88(void); // func_801A1F88 void func_801A1FB4(void); // func_801A1FB4 void func_801A2090(void); // func_801A2090 -void func_801A246C(void); // func_801A246C +void func_801A246C(u8 param_1, u8 param_2); // func_801A246C void func_801A2544(void); // func_801A2544 void func_801A257C(void); // func_801A257C void func_801A25E4(void); // func_801A25E4 diff --git a/include/structs.h b/include/structs.h index 9a417f4ea7..72f73a58c8 100644 --- a/include/structs.h +++ b/include/structs.h @@ -149,21 +149,95 @@ typedef struct { /* 0x3 */ u8 alpha; } ColorRGBA8; // size = 0x4 +typedef struct { +/* 0x00 */ UNK_TYPE1 pad0[0x2]; +/* 0x02 */ u16 startFrame; +/* 0x04 */ u16 endFrame; +/* 0x06 */ UNK_TYPE1 pad6[0x2A]; +} CsCmdActorAction; // size = 0x30 + +typedef struct { +/* 0x0 */ u16 base; +/* 0x2 */ u16 startFrame; +/* 0x4 */ u16 endFrame; +} CsCmdBase; // size = 0x6 + +typedef struct { +/* 0x0 */ u16 unk0; +/* 0x2 */ u16 startFrame; +/* 0x4 */ u16 endFrame; +/* 0x6 */ u8 hour; +/* 0x7 */ u8 minute; +} CsCmdDayTime; // size = 0x8 + +typedef struct { +/* 0x0 */ u16 setting; +/* 0x2 */ u16 startFrame; +/* 0x4 */ u16 endFrame; +} CsCmdEnvLighting; // size = 0x6 + +typedef struct { +/* 0x0 */ u16 sequence; +/* 0x2 */ u16 startFrame; +/* 0x4 */ u16 endFrame; +} CsCmdMusicChange; // size = 0x6 + +typedef struct { +/* 0x0 */ u16 type; +/* 0x2 */ u16 startFrame; +/* 0x4 */ u16 endFrame; +} CsCmdMusicFade; // size = 0x6 + +typedef struct { +/* 0x0 */ u16 base; +/* 0x2 */ u16 startFrame; +/* 0x4 */ u16 endFrame; +/* 0x6 */ u16 type; +/* 0x8 */ u16 textId1; +/* 0xA */ u16 textId2; +} CsCmdTextbox; // size = 0xC + +typedef struct { +/* 0x0 */ u16 unk0; +/* 0x2 */ u16 startFrame; +/* 0x4 */ u16 endFrame; +/* 0x6 */ u8 unk6; +/* 0x7 */ u8 unk7; +/* 0x8 */ u8 unk8; +/* 0x9 */ UNK_TYPE1 pad9[0x3]; +} CsCmdUnk190; // size = 0xC + +typedef struct { +/* 0x0 */ UNK_TYPE4 unk0; +/* 0x4 */ UNK_TYPE4 unk4; +} CsCmdUnk5A; // size = 0x8 + +typedef struct { +/* 0x0 */ u16 unk0; +/* 0x2 */ u16 startFrame; +/* 0x4 */ u16 endFrame; +/* 0x6 */ u8 unk6; +/* 0x7 */ u8 unk7; +/* 0x8 */ u8 unk8; +/* 0x9 */ UNK_TYPE1 pad9[0x3]; +} CsCmdUnk9B; // size = 0xC + typedef struct { /* 0x00 */ u8 cutsceneCount; /* 0x01 */ UNK_TYPE1 pad1[0x3]; -/* 0x04 */ u16* currentCutsceneData; +/* 0x04 */ u8* segment; /* 0x08 */ u8 state; /* 0x09 */ UNK_TYPE1 pad9[0x3]; /* 0x0C */ f32 unkC; -/* 0x10 */ u16 currentFrame; -/* 0x12 */ UNK_TYPE1 pad12[0x16]; -/* 0x28 */ UNK_TYPE4 unk28[10]; +/* 0x10 */ u16 frames; +/* 0x12 */ u16 unk12; +/* 0x14 */ UNK_TYPE1 pad14[0x14]; +/* 0x28 */ CsCmdActorAction* actorActions[10]; } CutsceneContext; // size = 0x50 typedef struct { /* 0x0 */ u32 data; -/* 0x4 */ UNK_TYPE1 pad4[0x2]; +/* 0x4 */ s16 unk4; /* 0x6 */ u8 unk6; /* 0x7 */ u8 unk7; } CutsceneEntry; // size = 0x8 @@ -560,7 +634,9 @@ typedef struct { /* 0x044 */ UNK_TYPE1 pad44[0x23C]; /* 0x280 */ u16 unk280; /* 0x282 */ u16 unk282; -/* 0x284 */ UNK_TYPE1 pad284[0x40]; +/* 0x284 */ UNK_TYPE1 pad284[0x28]; +/* 0x2AC */ u8 cutsceneTrigger; +/* 0x2AD */ UNK_TYPE1 pad2AD[0x17]; /* 0x2C4 */ f32 unk2C4; /* 0x2C8 */ CycleSceneFlags cycleSceneFlags[120]; } SaveContextExtra; // size = 0xC28 @@ -622,7 +698,8 @@ typedef struct { typedef struct { /* 0x0 */ u32 romStart; /* 0x4 */ u32 romEnd; -/* 0x8 */ UNK_TYPE1 pad8[0x3]; +/* 0x8 */ u16 unk8; +/* 0xA */ UNK_TYPE1 padA[0x1]; /* 0xB */ u8 sceneConfig; // TODO: This at least controls the behavior of animated textures. Does it do more? /* 0xC */ UNK_TYPE1 padC[0x1]; /* 0xD */ u8 unkD; @@ -2426,7 +2503,9 @@ struct GlobalContext { /* 0x000B4 */ UNK_TYPE1 padB4[0x4]; /* 0x000B8 */ View view; /* 0x00220 */ CameraContext cameraCtx; -/* 0x00814 */ UNK_TYPE1 pad814[0x4]; +/* 0x00814 */ u8 unk814; +/* 0x00815 */ u8 unk815; +/* 0x00816 */ UNK_TYPE1 pad816[0x2]; /* 0x00818 */ LightingContext lightCtx; /* 0x00828 */ u32 unk828; /* 0x0082C */ UNK_TYPE1 pad82C[0x4]; @@ -2474,7 +2553,8 @@ struct GlobalContext { /* 0x18870 */ UNK_TYPE1 pad18870[0x4]; /* 0x18874 */ u8 unk18874; /* 0x18875 */ s8 unk18875; -/* 0x18876 */ UNK_TYPE1 pad18876[0x6]; +/* 0x18876 */ UNK_TYPE1 pad18876[0x4]; +/* 0x1887A */ u16 unk1887A; /* 0x1887C */ s8 unk1887C; /* 0x1887D */ UNK_TYPE1 pad1887D[0x7]; /* 0x18884 */ CollisionCheckContext colCheckCtx; @@ -2696,7 +2776,9 @@ struct ActorPlayer { /* 0xA6C */ u32 unkA6C; /* 0xA70 */ u32 unkA70; /* 0xA74 */ u32 unkA74; -/* 0xA78 */ UNK_TYPE1 padA78[0x10]; +/* 0xA78 */ UNK_TYPE1 padA78[0x8]; +/* 0xA80 */ Actor* unkA80; +/* 0xA84 */ UNK_TYPE1 padA84[0x4]; /* 0xA88 */ Actor* unkA88; /* 0xA8C */ f32 unkA8C; /* 0xA90 */ UNK_TYPE1 padA90[0x44]; diff --git a/include/variables.h b/include/variables.h index d421bd1aa1..3c69a9d17c 100644 --- a/include/variables.h +++ b/include/variables.h @@ -912,8 +912,8 @@ extern UNK_TYPE2 D_801BB124; // D_801BB124 extern UNK_TYPE2 D_801BB128; // D_801BB128 extern UNK_TYPE1 D_801BB12C; // D_801BB12C extern UNK_TYPE1 D_801BB130; // D_801BB130 -extern cutscene_update_func D_801BB134[5]; // D_801BB134 -extern cutscene_update_func D_801BB148[5]; // D_801BB148 +extern cutscene_update_func sCsStateHandlers1[5]; // D_801BB134 +extern cutscene_update_func sCsStateHandlers2[5]; // D_801BB148 extern UNK_TYPE2 D_801BB15C; // D_801BB15C extern UNK_TYPE4 D_801BB160; // D_801BB160 extern s801BB170 D_801BB170[118]; // D_801BB170 @@ -1442,7 +1442,7 @@ extern Gfx D_801C1CA0[12]; // D_801C1CA0 extern Gfx D_801C1D00[1]; // D_801C1D00 extern Vec3f D_801C1D10; // D_801C1D10 extern room_draw_func roomDrawFuncs[4]; // D_801C1D1C -extern u32 intToBitPosition[32]; // D_801C1D30 +extern u32 gBitFlags[32]; // D_801C1D30 extern UNK_TYPE2 D_801C1DB0; // D_801C1DB0 extern UNK_TYPE2 D_801C1DB2; // D_801C1DB2 extern UNK_TYPE2 D_801C1DB4; // D_801C1DB4 @@ -3996,7 +3996,7 @@ extern UNK_TYPE1 D_801F3F80; // D_801F3F80 extern UNK_TYPE1 D_801F3F83; // D_801F3F83 extern UNK_TYPE1 D_801F48C8; // D_801F48C8 extern UNK_TYPE1 D_801F4D40; // D_801F4D40 -extern UNK_TYPE1 D_801F4D42; // D_801F4D42 +extern UNK_TYPE2 D_801F4D42; // D_801F4D42 extern UNK_TYPE1 D_801F4D48; // D_801F4D48 extern UNK_TYPE1 D_801F4DC8; // D_801F4DC8 extern UNK_TYPE1 D_801F4DCA; // D_801F4DCA @@ -4141,8 +4141,7 @@ extern UNK_TYPE1 D_801F6C30; // D_801F6C30 extern UNK_TYPE1 D_801F6D0C; // D_801F6D0C extern UNK_TYPE4 D_801F6D10; // D_801F6D10 extern UNK_TYPE1 D_801F6D18; // D_801F6D18 -extern UNK_TYPE1 D_801F6D30; // D_801F6D30 -extern UNK_TYPE1 D_801F6D33; // D_801F6D33 +extern ColorRGBA8 D_801F6D30; // D_801F6D30 extern UNK_TYPE1 D_801F6D38; // D_801F6D38 extern UNK_TYPE4 D_801F6D4C; // D_801F6D4C extern UNK_TYPE1 D_801F6D50; // D_801F6D50 diff --git a/tables/functions.txt b/tables/functions.txt index 625171361b..9deee0c46c 100644 --- a/tables/functions.txt +++ b/tables/functions.txt @@ -843,7 +843,7 @@ 0x800BAAB4:("Actor_InsertIntoTypeList","void","ActorContext* actCtxt, Actor* actor, u8 type"), 0x800BAB24:("Actor_RemoveFromTypeList","Actor*","GlobalContext* ctxt, ActorContext* actCtxt, Actor* actor"), 0x800BABFC:("Actor_FreeOverlay","void","ActorOverlay* entry"), - 0x800BAC60:("Actor_Spawn","void","ActorContext* actCtxt, GlobalContext* ctxt, s16 index, f32 x, f32 y, f32 z, s16 rotX, s16 rotY, s16 rotZ, s16 sParm10"), + 0x800BAC60:("Actor_Spawn","Actor*","ActorContext* actCtxt, GlobalContext* ctxt, s16 index, f32 x, f32 y, f32 z, s16 rotX, s16 rotY, s16 rotZ, s16 sParm10"), 0x800BACD4:("Actor_LoadOverlay","ActorInit*","ActorContext* actCtxt, s16 index"), 0x800BAE14:("Actor_SpawnWithParentAndCutscene","Actor*","ActorContext* actCtxt, GlobalContext* ctxt, s16 index, f32 x, f32 y, f32 z, s16 rotX, s16 rotY, s16 rotZ, s16 variable, u32 cutscene, s32 param_12, Actor* parent"), 0x800BB0C0:("Actor_SpawnWithParent","void","ActorContext* actCtxt, Actor* parent, GlobalContext* ctxt, s16 index, f32 x, f32 y, f32 z, s16 rotX, s16 rotY, s16 rotZ, s16 variable"), @@ -1542,43 +1542,43 @@ 0x800E9DBC:("func_800E9DBC","void","void"), 0x800E9E94:("func_800E9E94","void","void"), 0x800E9F78:("func_800E9F78","void","GraphicsContext* gCtxt"), - 0x800EA060:("Demo_Init","void","GlobalContext* ctxt, CutsceneContext* cCtxt"), - 0x800EA0D4:("func_800EA0D4","void","GlobalContext* ctxt, CutsceneContext* cCtxt"), - 0x800EA0EC:("func_800EA0EC","void","GlobalContext* ctxt, CutsceneContext* cCtxt"), - 0x800EA110:("Demo_StepCutscene1","void","GlobalContext* ctxt, CutsceneContext* cCtxt"), - 0x800EA15C:("Demo_StepCutscene2","void","GlobalContext* ctxt, CutsceneContext* cCtxt"), - 0x800EA210:("Demo_Nop800EA210","void","GlobalContext* ctxt, CutsceneContext* cCtxt"), - 0x800EA220:("func_800EA220","s32","GlobalContext* ctxt, CutsceneContext* cCtxt, f32 fParm3"), - 0x800EA258:("func_800EA258","void","GlobalContext* ctxt, CutsceneContext* cCtxt"), - 0x800EA2B8:("func_800EA2B8","void","GlobalContext* ctxt, CutsceneContext* cCtxt"), - 0x800EA324:("func_800EA324","void","GlobalContext* ctxt, CutsceneContext* cCtxt, UNK_PTR puParm3"), - 0x800EABAC:("func_800EABAC","void","GlobalContext* ctxt, CutsceneContext* cCtxt, short* psParm3"), - 0x800EAC08:("func_800EAC08","void","GlobalContext* ctxt, CutsceneContext* cCtxt, unsigned short* puParm3"), - 0x800EAC44:("func_800EAC44","void","GlobalContext* ctxt, CutsceneContext* cCtxt, unsigned short* puParm3"), - 0x800EAC94:("func_800EAC94","void","GlobalContext* ctxt, CutsceneContext* cCtxt, short* psParm3"), - 0x800EAD14:("func_800EAD14","void","GlobalContext* ctxt, CutsceneContext* cCtxt, int iParm3"), - 0x800EAD48:("func_800EAD48","void","GlobalContext* ctxt, CutsceneContext* cCtxt, int iParm3"), - 0x800EAD7C:("func_800EAD7C","void","GlobalContext* ctxt, CutsceneContext* cCtxt, int iParm3"), - 0x800EADB0:("func_800EADB0","void","GlobalContext* ctxt, CutsceneContext* cCtxt, UNK_PTR puParm3"), - 0x800EAECC:("func_800EAECC","void","GlobalContext* ctxt, CutsceneContext* cCtxt, int iParm3"), - 0x800EAF20:("func_800EAF20","void","GlobalContext* ctxt, CutsceneContext* cCtxt, short* psParm3"), - 0x800EAFE0:("func_800EAFE0","void","GlobalContext* ctxt, CutsceneContext* cCtxt, short* psParm3"), - 0x800EB1DC:("func_800EB1DC","void","GlobalContext* ctxt, CutsceneContext* cCtxt, int iParm3"), - 0x800EB364:("func_800EB364","void","GlobalContext* ctxt, CutsceneContext* cCtxt, short* psParm3"), - 0x800EB4B4:("func_800EB4B4","void","GlobalContext* ctxt, CutsceneContext* cCtxt, short* psParm3"), - 0x800EB6F8:("func_800EB6F8","void","GlobalContext* ctxt, CutsceneContext* cCtxt, UNK_PTR puParm3"), - 0x800EBB68:("func_800EBB68","void","GlobalContext* ctxt, CutsceneContext* cCtxt, short* psParm3"), - 0x800EBCD0:("func_800EBCD0","void","GlobalContext* ctxt, CutsceneContext* cCtxt, short* psParm3"), - 0x800EBD60:("func_800EBD60","void","GlobalContext* ctxt, CutsceneContext* cCtxt, short* psParm3"), - 0x800EC678:("func_800EC678","s32","GlobalContext* ctxt, void* pvParm2"), - 0x800EC6D4:("func_800EC6D4","void","void"), - 0x800EC924:("func_800EC924","void","GlobalContext* ctxt, CutsceneContext* cCtxt, unsigned short* puParm3"), - 0x800ECD7C:("func_800ECD7C","void","CutsceneContext* cCtxt, void** param_2, short param_3"), - 0x800ECE40:("Demo_ProcessData","void","GlobalContext* ctxt, CutsceneContext* cCtxt, u16* data, unsigned short* commandReadHead"), - 0x800ED980:("func_800ED980","void","GlobalContext* ctxt, CutsceneContext* cCtxt"), - 0x800ED9C4:("func_800ED9C4","void","GlobalContext* ctxt, CutsceneContext* cCtxt"), - 0x800EDA04:("func_800EDA04","void","GlobalContext* ctxt, CutsceneContext* cCtxt"), - 0x800EDA84:("func_800EDA84","void","GlobalContext* ctxt, CutsceneContext* cCtxt"), + 0x800EA060:("Cutscene_Init","void","GlobalContext* ctxt, CutsceneContext* csCtx"), + 0x800EA0D4:("func_800EA0D4","void","GlobalContext* ctxt, CutsceneContext* csCtx"), + 0x800EA0EC:("func_800EA0EC","void","GlobalContext* ctxt, CutsceneContext* csCtx"), + 0x800EA110:("Cutscene_StepCutscene1","void","GlobalContext* ctxt, CutsceneContext* csCtx"), + 0x800EA15C:("Cutscene_StepCutscene2","void","GlobalContext* ctxt, CutsceneContext* csCtx"), + 0x800EA210:("Cutscene_Nop800EA210","void","GlobalContext* ctxt, CutsceneContext* csCtx"), + 0x800EA220:("func_800EA220","s32","GlobalContext* ctxt, CutsceneContext* csCtx, f32 target"), + 0x800EA258:("func_800EA258","void","GlobalContext* ctxt, CutsceneContext* csCtx"), + 0x800EA2B8:("func_800EA2B8","void","GlobalContext* ctxt, CutsceneContext* csCtx"), + 0x800EA324:("func_800EA324","void","GlobalContext* ctxt, CutsceneContext* csCtx, CsCmdBase* cmd"), + 0x800EABAC:("func_800EABAC","void","GlobalContext* ctxt, CutsceneContext* csCtx, CsCmdEnvLighting* cmd"), + 0x800EAC08:("func_800EAC08","void","GlobalContext* ctxt, CutsceneContext* csCtx, CsCmdMusicChange* cmd"), + 0x800EAC44:("func_800EAC44","void","GlobalContext* ctxt, CutsceneContext* csCtx, CsCmdMusicChange* cmd"), + 0x800EAC94:("func_800EAC94","void","GlobalContext* ctxt, CutsceneContext* csCtx, CsCmdMusicFade* cmd"), + 0x800EAD14:("func_800EAD14","void","GlobalContext* ctxt, CutsceneContext* csCtx, CsCmdBase* cmd"), + 0x800EAD48:("func_800EAD48","void","GlobalContext* ctxt, CutsceneContext* csCtx, CsCmdBase* cmd"), + 0x800EAD7C:("func_800EAD7C","void","GlobalContext* ctxt, CutsceneContext* csCtx, CsCmdBase* cmd"), + 0x800EADB0:("func_800EADB0","void","GlobalContext* ctxt, CutsceneContext* csCtx, CsCmdBase* cmd"), + 0x800EAECC:("func_800EAECC","void","GlobalContext* ctxt, CutsceneContext* csCtx, CsCmdBase* cmd"), + 0x800EAF20:("func_800EAF20","void","GlobalContext* ctxt, CutsceneContext* csCtx, CsCmdUnk190* cmd"), + 0x800EAFE0:("func_800EAFE0","void","GlobalContext* ctxt, CutsceneContext* csCtx, CsCmdUnk9B* cmd"), + 0x800EB1DC:("func_800EB1DC","void","GlobalContext* ctxt, CutsceneContext* csCtx, CsCmdDayTime* cmd"), + 0x800EB364:("func_800EB364","void","GlobalContext* ctxt, CutsceneContext* csCtx, CsCmdBase* cmd"), + 0x800EB4B4:("func_800EB4B4","void","GlobalContext* ctxt, CutsceneContext* csCtx, CsCmdBase* cmd"), + 0x800EB6F8:("func_800EB6F8","void","GlobalContext* ctxt, CutsceneContext* csCtx, CsCmdBase* cmd"), + 0x800EBB68:("func_800EBB68","void","GlobalContext* ctxt, CutsceneContext* csCtx, CsCmdBase* cmd"), + 0x800EBCD0:("func_800EBCD0","void","GlobalContext* ctxt, CutsceneContext* csCtx, CsCmdBase* cmd"), + 0x800EBD60:("func_800EBD60","void","GlobalContext* ctxt, CutsceneContext* csCtx, CsCmdBase* cmd"), + 0x800EC678:("func_800EC678","s32","GlobalContext* ctxt, CsCmdUnk5A* cmd"), + 0x800EC6D4:("func_800EC6D4","u32","void"), + 0x800EC924:("func_800EC924","void","GlobalContext* ctxt, CutsceneContext* csCtx, CsCmdTextbox* cmd"), + 0x800ECD7C:("func_800ECD7C","void","CutsceneContext* csCtx, u8** cutscenePtr, s16 index"), + 0x800ECE40:("Cutscene_ProcessCommands","void","GlobalContext* ctxt, CutsceneContext* csCtx, u8* cutscenePtr, unsigned short* commandReadHead"), + 0x800ED980:("func_800ED980","void","GlobalContext* ctxt, CutsceneContext* csCtx"), + 0x800ED9C4:("func_800ED9C4","void","GlobalContext* ctxt, CutsceneContext* csCtx"), + 0x800EDA04:("func_800EDA04","void","GlobalContext* ctxt, CutsceneContext* csCtx"), + 0x800EDA84:("func_800EDA84","void","GlobalContext* ctxt, CutsceneContext* csCtx"), 0x800EDBE0:("func_800EDBE0","void","GlobalContext* ctxt"), 0x800EDDB0:("nop_800EDDB0","void","GlobalContext* ctxt"), 0x800EDDBC:("func_800EDDBC","void","void"), @@ -1642,7 +1642,7 @@ 0x800F112C:("func_800F112C","void","void"), 0x800F1250:("func_800F1250","void","void"), 0x800F12D0:("func_800F12D0","void","GlobalContext* ctxt"), - 0x800F1304:("func_800F1304","void","void"), + 0x800F1304:("func_800F1304","void","GlobalContext* ctxt, short param_2"), 0x800F1374:("func_800F1374","void","int param_1, short param_2"), 0x800F13E8:("func_800F13E8","void","void"), 0x800F1460:("func_800F1460","s16","s16 param_1"), @@ -1747,7 +1747,7 @@ 0x800FAC20:("func_800FAC20","void","void"), 0x800FAF74:("func_800FAF74","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE1 param_5"), 0x800FB010:("func_800FB010","void","void"), - 0x800FB320:("func_800FB320","void","void"), + 0x800FB320:("func_800FB320","void","GlobalContext* ctxt, u8 param_2"), 0x800FB388:("func_800FB388","void","void"), 0x800FB758:("func_800FB758","void","void"), 0x800FB9B4:("func_800FB9B4","void","void"), @@ -1769,7 +1769,7 @@ 0x800FD740:("get_current_day","u32","void"), 0x800FD750:("func_800FD750","void","void"), 0x800FD768:("func_800FD768","void","void"), - 0x800FD78C:("func_800FD78C","void","void"), + 0x800FD78C:("func_800FD78C","void","GlobalContext* ctxt"), 0x800FD858:("func_800FD858","void","GlobalContext* ctxt"), 0x800FD928:("func_800FD928","void","int param_1"), 0x800FD980:("func_800FD980","void","void"), @@ -2109,7 +2109,7 @@ 0x8010EBA0:("func_8010EBA0","void","void"), 0x8010EC54:("func_8010EC54","void","void"), 0x8010EE74:("func_8010EE74","void","void"), - 0x8010EF68:("func_8010EF68","void","u16 param_1"), + 0x8010EF68:("Interface_ChangeAlpha","void","u16 param_1"), 0x8010EF9C:("func_8010EF9C","void","void"), 0x8010F0D4:("func_8010F0D4","void","void"), 0x8010F1A8:("func_8010F1A8","void","void"), @@ -2717,7 +2717,7 @@ 0x8013E950:("func_8013E950","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, UNK_TYPE2 param_11, UNK_TYPE2 param_12, UNK_TYPE2 param_13"), 0x8013EC10:("func_8013EC10","void","void"), 0x8013EC44:("func_8013EC44","void","void"), - 0x8013ECE0:("func_8013ECE0","void","void"), + 0x8013ECE0:("func_8013ECE0","void","f32 param_1, u8 param_2, u8 param_3, u8 param_4"), 0x8013ED9C:("func_8013ED9C","void","void"), 0x8013EDD0:("func_8013EDD0","void","void"), 0x8013EE04:("func_8013EE04","void","void"), @@ -2859,7 +2859,7 @@ 0x801514B0:("func_801514B0","void","void"), 0x801518B0:("func_801518B0","void","GlobalContext* ctxt, u32 uParm2, UNK_TYPE4 uParm3"), 0x80151938:("func_80151938","void","GlobalContext* ctxt, u16 param_2"), - 0x80151A68:("func_80151A68","void","void"), + 0x80151A68:("func_80151A68","void","GlobalContext* ctxt, u16 param_2"), 0x80151BB4:("func_80151BB4","void","s32 iParm1, u32 uParm2"), 0x80151C9C:("func_80151C9C","void","void"), 0x80151DA4:("func_80151DA4","void","void"), @@ -3883,7 +3883,7 @@ 0x801A1F88:("func_801A1F88","void","void"), 0x801A1FB4:("func_801A1FB4","void","void"), 0x801A2090:("func_801A2090","void","void"), - 0x801A246C:("func_801A246C","void","void"), + 0x801A246C:("func_801A246C","void","u8 param_1, u8 param_2"), 0x801A2544:("func_801A2544","void","void"), 0x801A257C:("func_801A257C","void","void"), 0x801A25E4:("func_801A25E4","void","void"), diff --git a/tables/variables.txt b/tables/variables.txt index fa19f8a26b..aa1fac5188 100644 --- a/tables/variables.txt +++ b/tables/variables.txt @@ -909,8 +909,8 @@ 0x801BB128:("D_801BB128","UNK_TYPE2","",0x2), 0x801BB12C:("D_801BB12C","UNK_TYPE1","",0x1), 0x801BB130:("D_801BB130","UNK_TYPE1","",0x1), - 0x801BB134:("D_801BB134","cutscene_update_func","[5]",0x14), - 0x801BB148:("D_801BB148","cutscene_update_func","[5]",0x14), + 0x801BB134:("sCsStateHandlers1","cutscene_update_func","[5]",0x14), + 0x801BB148:("sCsStateHandlers2","cutscene_update_func","[5]",0x14), 0x801BB15C:("D_801BB15C","UNK_TYPE2","",0x2), 0x801BB160:("D_801BB160","UNK_TYPE4","",0x4), 0x801BB170:("D_801BB170","s801BB170","[118]",0x1098), @@ -1439,7 +1439,7 @@ 0x801C1D00:("D_801C1D00","Gfx","[1]",0x8), 0x801C1D10:("D_801C1D10","Vec3f","",0xc), 0x801C1D1C:("roomDrawFuncs","room_draw_func","[4]",0x10), - 0x801C1D30:("intToBitPosition","u32","[32]",0x80), + 0x801C1D30:("gBitFlags","u32","[32]",0x80), 0x801C1DB0:("D_801C1DB0","UNK_TYPE2","",0x2), 0x801C1DB2:("D_801C1DB2","UNK_TYPE2","",0x2), 0x801C1DB4:("D_801C1DB4","UNK_TYPE2","",0x2), @@ -4115,7 +4115,7 @@ 0x801F3F83:("D_801F3F83","UNK_TYPE1","",0x1), 0x801F48C8:("D_801F48C8","UNK_TYPE1","",0x1), 0x801F4D40:("D_801F4D40","UNK_TYPE1","",0x1), - 0x801F4D42:("D_801F4D42","UNK_TYPE1","",0x1), + 0x801F4D42:("D_801F4D42","UNK_TYPE2","",0x2), 0x801F4D48:("D_801F4D48","UNK_TYPE1","",0x1), 0x801F4DC8:("D_801F4DC8","UNK_TYPE1","",0x1), 0x801F4DCA:("D_801F4DCA","UNK_TYPE1","",0x1), @@ -4260,8 +4260,7 @@ 0x801F6D0C:("D_801F6D0C","UNK_TYPE1","",0x1), 0x801F6D10:("D_801F6D10","UNK_TYPE4","",0x4), 0x801F6D18:("D_801F6D18","UNK_TYPE1","",0x1), - 0x801F6D30:("D_801F6D30","UNK_TYPE1","",0x1), - 0x801F6D33:("D_801F6D33","UNK_TYPE1","",0x1), + 0x801F6D30:("D_801F6D30","ColorRGBA8","",0x4), 0x801F6D38:("D_801F6D38","UNK_TYPE1","",0x1), 0x801F6D4C:("D_801F6D4C","UNK_TYPE4","",0x4), 0x801F6D50:("D_801F6D50","UNK_TYPE1","",0x1), diff --git a/undef.txt b/undef.txt index 10ccf12489..46272c9295 100644 --- a/undef.txt +++ b/undef.txt @@ -373,7 +373,6 @@ D_801F6D0C = code_bss_start + 0x00012D6C; D_801F6D10 = code_bss_start + 0x00012D70; D_801F6D18 = code_bss_start + 0x00012D78; D_801F6D30 = code_bss_start + 0x00012D90; -D_801F6D33 = code_bss_start + 0x00012D93; D_801F6D38 = code_bss_start + 0x00012D98; D_801F6D4C = code_bss_start + 0x00012DAC; D_801F6D50 = code_bss_start + 0x00012DB0;