mirror of
https://github.com/izzy2lost/2ship2harkinian-Android.git
synced 2026-06-19 01:20:08 -07:00
Fix Cutscene Bss (#1305)
* demo bss * fix bss * sPad * also matching * static bss pad * ultratypes * spacing * cleanup
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
+14
-19
@@ -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)) {
|
||||
|
||||
Reference in New Issue
Block a user