diff --git a/include/variables.h b/include/variables.h index 6b2522e4b..1565e0201 100644 --- a/include/variables.h +++ b/include/variables.h @@ -225,11 +225,7 @@ extern ActorOverlay gActorOverlayTable[ACTOR_ID_MAX]; extern ActorId gMaxActorId; extern BgCheckSceneSubdivisionEntry sSceneSubdivisionList[]; extern BgSpecialSceneMaxObjects sCustomDynapolyMem[]; -// extern UNK_TYPE1 D_801B4708; -extern u8 gOpeningEntranceIndex; - -extern ActorCutscene sGlobalCutsceneList[8]; extern GameStateOverlay gGameStateOverlayTable[]; extern s32 gGraphNumGameStates; @@ -1973,21 +1969,6 @@ extern TriNorm D_801EF5C8; extern TriNorm D_801EF600; extern TriNorm D_801EF638; extern SaveContext gSaveContext; -// extern UNK_TYPE2 D_801F3F38; -// extern UNK_TYPE1 D_801F3F3A; -// extern UNK_TYPE1 D_801F3F3B; -// extern UNK_TYPE1 D_801F3F3C; -// extern UNK_TYPE1 D_801F3F42; -// extern UNK_TYPE1 D_801F3F4A; -// extern UNK_TYPE1 D_801F3F5A; - -// extern UNK_TYPE1 D_801F3F80; -// extern UNK_TYPE1 D_801F3F83; -// extern UNK_TYPE1 D_801F48C8; - -extern UNK_TYPE D_801F4DDC; -extern u8 gDisablePlayerCsModeStartPos; -extern s16 gDungeonBossWarpSceneId; // extern UNK_TYPE1 D_801F4E20; extern u8 D_801F4E30; diff --git a/include/z64cutscene.h b/include/z64cutscene.h index 83e9994f1..af427d1a7 100644 --- a/include/z64cutscene.h +++ b/include/z64cutscene.h @@ -781,7 +781,7 @@ typedef struct { /* 0x2E */ UNK_TYPE1 unk_2E[2]; } CutsceneCameraInterp; // size = 0x30 -typedef struct { +typedef struct CutsceneCamera { /* 0x00 */ s16 splineIndex; /* 0x02 */ s16 cmdIndex; /* 0x04 */ s16 splineNeedsInit; @@ -856,4 +856,10 @@ void CutsceneFlags_Set(struct PlayState* play, s16 flag); void CutsceneFlags_Unset(struct PlayState* play, s16 flag); s32 CutsceneFlags_Get(struct PlayState* play, s16 flag); +extern u8 gOpeningEntranceIndex; + +extern u8 D_801F4DDC; +extern u8 gDisablePlayerCsModeStartPos; +extern s16 gDungeonBossWarpSceneId; + #endif diff --git a/src/code/z_demo.c b/src/code/z_demo.c index 7abd9db76..24371cdbe 100644 --- a/src/code/z_demo.c +++ b/src/code/z_demo.c @@ -1,4 +1,17 @@ #include "prevent_bss_reordering.h" +#include "PR/ultratypes.h" + +// Variables are put before most headers as a hacky way to bypass bss reordering +struct CutsceneCamera; + +s16 sCutsceneQuakeIndex; +struct CutsceneCamera sCutsceneCameraInfo; +u16 sCueTypeList[10]; +u8 D_801F4DDC; +static s16 sBssPad; +u8 gDisablePlayerCsModeStartPos; +s16 gDungeonBossWarpSceneId; + #include "global.h" #include "z64quake.h" #include "z64rumble.h" @@ -14,24 +27,12 @@ void CutsceneHandler_RunScript(PlayState* play, CutsceneContext* csCtx); void CutsceneHandler_StopScript(PlayState* play, CutsceneContext* csCtx); void Cutscene_SetupScripted(PlayState* play, CutsceneContext* csCtx); -// Unused -UNK_TYPE4 D_801BB120 = 0; +static s32 sPad = 0; u16 sCurTextId = 0; u16 sCurOcarinaAction = 0; u8 gOpeningEntranceIndex = 0; u8 sCutsceneStoredPlayerForm = 0; -// bss -#ifndef NON_MATCHING -static u16 sSeqId; -#endif -s16 sCutsceneQuakeIndex; -CutsceneCamera sCutsceneCameraInfo; -u16 sCueTypeList[10]; -UNK_TYPE D_801F4DDC; -u8 gDisablePlayerCsModeStartPos; -s16 gDungeonBossWarpSceneId; - void Cutscene_InitContext(PlayState* play, CutsceneContext* csCtx) { s32 i; @@ -454,8 +455,6 @@ void Cutscene_SetSfxReverbIndexTo1(PlayState* play, CutsceneContext* csCtx, CsCm } } -#ifdef NON_MATCHING -// needs in-function static bss void CutsceneCmd_ModifySequence(PlayState* play, CutsceneContext* csCtx, CsCmdModifySeq* cmd) { static u16 sSeqId; u8 dayMinusOne; @@ -506,10 +505,6 @@ void CutsceneCmd_ModifySequence(PlayState* play, CutsceneContext* csCtx, CsCmdMo } } } -#else -void CutsceneCmd_ModifySequence(PlayState* play, CutsceneContext* csCtx, CsCmdModifySeq* cmd); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/CutsceneCmd_ModifySequence.s") -#endif void CutsceneCmd_FadeOutAmbience(PlayState* play, CutsceneContext* csCtx, CsCmdFadeOutAmbience* cmd) { if ((csCtx->curFrame == cmd->startFrame) && (csCtx->curFrame < cmd->endFrame)) {