mirror of
https://github.com/zeldaret/mm.git
synced 2026-06-28 10:20:44 -04:00
Transition System Docs (#883)
* Transition docs from OoT * Cleanup * Missed a spot
This commit is contained in:
+61
-3
@@ -888,6 +888,64 @@ typedef struct {
|
||||
/* 0x120D8 */ UNK_TYPE1 pad120D8[0x8];
|
||||
} MessageContext; // size = 0x120E0
|
||||
|
||||
#define TRANS_TRIGGER_OFF 0 // transition is not active
|
||||
#define TRANS_TRIGGER_START 20 // start transition (exiting an area)
|
||||
#define TRANS_TRIGGER_END -20 // transition is ending (arriving in a new area)
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ TRANS_MODE_OFF,
|
||||
/* 1 */ TRANS_MODE_01,
|
||||
/* 2 */ TRANS_MODE_02,
|
||||
/* 3 */ TRANS_MODE_03,
|
||||
/* 4 */ TRANS_MODE_04,
|
||||
/* 5 */ TRANS_MODE_05,
|
||||
/* 6 */ TRANS_MODE_06,
|
||||
/* 7 */ TRANS_MODE_07,
|
||||
/* 8 */ TRANS_MODE_08,
|
||||
/* 9 */ TRANS_MODE_09,
|
||||
/* 10 */ TRANS_MODE_10,
|
||||
/* 11 */ TRANS_MODE_11,
|
||||
/* 12 */ TRANS_MODE_12,
|
||||
/* 13 */ TRANS_MODE_13,
|
||||
/* 14 */ TRANS_MODE_14,
|
||||
/* 15 */ TRANS_MODE_15,
|
||||
/* 16 */ TRANS_MODE_16,
|
||||
/* 17 */ TRANS_MODE_17
|
||||
} TransitionMode;
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ TRANS_TYPE_00,
|
||||
/* 1 */ TRANS_TYPE_01,
|
||||
/* 2 */ TRANS_TYPE_02,
|
||||
/* 3 */ TRANS_TYPE_03,
|
||||
/* 4 */ TRANS_TYPE_04,
|
||||
/* 5 */ TRANS_TYPE_05,
|
||||
/* 6 */ TRANS_TYPE_06,
|
||||
/* 7 */ TRANS_TYPE_07,
|
||||
/* 8 */ TRANS_TYPE_08,
|
||||
/* 9 */ TRANS_TYPE_09,
|
||||
/* 10 */ TRANS_TYPE_10,
|
||||
/* 11 */ TRANS_TYPE_11,
|
||||
/* 12 */ TRANS_TYPE_12,
|
||||
/* 13 */ TRANS_TYPE_13,
|
||||
/* 14 */ TRANS_TYPE_14,
|
||||
/* 15 */ TRANS_TYPE_15,
|
||||
/* 16 */ TRANS_TYPE_16,
|
||||
/* 17 */ TRANS_TYPE_17,
|
||||
/* 18 */ TRANS_TYPE_18,
|
||||
/* 19 */ TRANS_TYPE_19,
|
||||
/* 20 */ TRANS_TYPE_20,
|
||||
/* 21 */ TRANS_TYPE_21,
|
||||
/* 64 */ TRANS_TYPE_64 = 64,
|
||||
/* 70 */ TRANS_TYPE_70 = 70,
|
||||
/* 72 */ TRANS_TYPE_72 = 72,
|
||||
/* 73 */ TRANS_TYPE_73,
|
||||
/* 80 */ TRANS_TYPE_80 = 80,
|
||||
/* 86 */ TRANS_TYPE_86 = 86
|
||||
} TransitionType;
|
||||
|
||||
#define TRANS_NEXT_TYPE_DEFAULT 0xFF
|
||||
|
||||
typedef struct FaultAddrConvClient {
|
||||
/* 0x0 */ struct FaultAddrConvClient* next;
|
||||
/* 0x4 */ void* (*callback)(void*, void*);
|
||||
@@ -1260,20 +1318,20 @@ struct PlayState {
|
||||
/* 0x1886C */ AnimatedMaterial* sceneMaterialAnims;
|
||||
/* 0x18870 */ void* specialEffects;
|
||||
/* 0x18874 */ u8 skyboxId;
|
||||
/* 0x18875 */ s8 sceneLoadFlag; // "fade_direction"
|
||||
/* 0x18875 */ s8 transitionTrigger; // "fade_direction"
|
||||
/* 0x18876 */ s16 unk_18876;
|
||||
/* 0x18878 */ s16 bgCoverAlpha;
|
||||
/* 0x1887A */ u16 nextEntranceIndex;
|
||||
/* 0x1887C */ s8 unk_1887C; // shootingGalleryStatus?
|
||||
/* 0x1887D */ s8 unk_1887D;
|
||||
/* 0x1887E */ s8 unk_1887E;
|
||||
/* 0x1887F */ u8 unk_1887F; // fadeTransition
|
||||
/* 0x1887F */ u8 transitionType; // fadeTransition
|
||||
/* 0x18880 */ u8 unk_18880;
|
||||
/* 0x18884 */ CollisionCheckContext colChkCtx;
|
||||
/* 0x18B20 */ u16 envFlags[20];
|
||||
/* 0x18B48 */ u8 curSpawn;
|
||||
/* 0x18B49 */ u8 unk_18B49;
|
||||
/* 0x18B4A */ u8 unk_18B4A;
|
||||
/* 0x18B4A */ u8 transitionMode;
|
||||
/* 0x18B4C */ PreRender pauseBgPreRender;
|
||||
/* 0x18B9C */ char unk_18B9C[0x2B8];
|
||||
/* 0x18E54 */ SceneTableEntry* loadedScene;
|
||||
|
||||
+4
-4
@@ -240,16 +240,16 @@ typedef struct SaveContext {
|
||||
/* 0x3F3F */ u8 unk_3F3F; // "flash_flag"
|
||||
/* 0x3F40 */ SaveOptions options;
|
||||
/* 0x3F46 */ u16 unk_3F46; // "NottoriBgm"
|
||||
/* 0x3F48 */ u8 unk_3F48; // "fade_go"
|
||||
/* 0x3F48 */ u8 cutsceneTransitionControl; // "fade_go"
|
||||
/* 0x3F4A */ u16 nextCutsceneIndex; // "next_daytime"
|
||||
/* 0x3F4C */ u8 cutsceneTrigger; // "doukidemo"
|
||||
/* 0x3F4D */ u8 unk_3F4D; // "Kenjya_no"
|
||||
/* 0x3F4E */ u16 nextDayTime; // "next_zelda_time"
|
||||
/* 0x3F50 */ u8 fadeDuration; // "fade_speed"
|
||||
/* 0x3F51 */ u8 fadeSpeed; // "wipe_speed" transition related
|
||||
/* 0x3F50 */ u8 transFadeDuration; // "fade_speed"
|
||||
/* 0x3F51 */ u8 transWipeSpeed; // "wipe_speed" transition related
|
||||
/* 0x3F52 */ u16 environmentTime; // "kankyo_time"
|
||||
/* 0x3F54 */ u8 dogIsLost; // "dog_event_flag"
|
||||
/* 0x3F55 */ u8 nextTransition; // "next_wipe"
|
||||
/* 0x3F55 */ u8 nextTransitionType; // "next_wipe"
|
||||
/* 0x3F56 */ s16 worldMapArea; // "area_type"
|
||||
/* 0x3F58 */ s16 sunsSongState; // "sunmoon_flag"
|
||||
/* 0x3F5A */ s16 healthAccumulator; // "life_mode"
|
||||
|
||||
@@ -15,7 +15,7 @@ void SaveContext_Init(void) {
|
||||
gSaveContext.nextDayTime = 0xFFFF;
|
||||
gSaveContext.environmentTime = 0;
|
||||
gSaveContext.dogIsLost = true;
|
||||
gSaveContext.nextTransition = 0xFF;
|
||||
gSaveContext.nextTransitionType = TRANS_NEXT_TYPE_DEFAULT;
|
||||
gSaveContext.unk_3F26 = 50;
|
||||
|
||||
gSaveContext.options.language = 1;
|
||||
|
||||
+31
-30
@@ -82,7 +82,7 @@ CutsceneStateHandler sCsStateHandlers2[] = {
|
||||
};
|
||||
|
||||
void Cutscene_Update2(PlayState* play, CutsceneContext* csCtx) {
|
||||
if ((gSaveContext.cutsceneTrigger != 0) && (play->sceneLoadFlag == 0x14)) {
|
||||
if ((gSaveContext.cutsceneTrigger != 0) && (play->transitionTrigger == TRANS_TRIGGER_START)) {
|
||||
gSaveContext.cutsceneTrigger = 0;
|
||||
}
|
||||
|
||||
@@ -293,8 +293,8 @@ void Cutscene_Command_Misc(PlayState* play2, CutsceneContext* csCtx, CsCmdBase*
|
||||
if (isStartFrame) {
|
||||
play->nextEntranceIndex = 0x1C00;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF8;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->unk_1887F = 3;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_03;
|
||||
}
|
||||
break;
|
||||
case 0x1C:
|
||||
@@ -562,7 +562,7 @@ void Cutscene_TerminatorImpl(PlayState* play, CutsceneContext* csCtx, CsCmdBase*
|
||||
csCtx->state = CS_STATE_4;
|
||||
func_80165690();
|
||||
Audio_SetCutsceneFlag(false);
|
||||
gSaveContext.unk_3F48 = 1;
|
||||
gSaveContext.cutsceneTransitionControl = 1;
|
||||
|
||||
if ((gSaveContext.gameMode != 0) && (csCtx->frames != cmd->startFrame)) {
|
||||
gSaveContext.unk_3F1E = 1;
|
||||
@@ -572,7 +572,7 @@ void Cutscene_TerminatorImpl(PlayState* play, CutsceneContext* csCtx, CsCmdBase*
|
||||
if (cmd->base == 1) {
|
||||
play->nextEntranceIndex = play->csCtx.sceneCsList[play->csCtx.currentCsIndex].nextEntranceIndex;
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
if (gSaveContext.gameMode != 1) {
|
||||
Scene_SetExitFade(play);
|
||||
} else {
|
||||
@@ -580,7 +580,7 @@ void Cutscene_TerminatorImpl(PlayState* play, CutsceneContext* csCtx, CsCmdBase*
|
||||
if (D_801BB12C >= 2) {
|
||||
D_801BB12C = 0;
|
||||
}
|
||||
play->unk_1887F = 4;
|
||||
play->transitionType = TRANS_TYPE_04;
|
||||
}
|
||||
|
||||
if ((play->nextEntranceIndex & 0xF) > 0) {
|
||||
@@ -605,26 +605,26 @@ void Cutscene_Command_Terminator(PlayState* play, CutsceneContext* csCtx, CsCmdB
|
||||
case 0x1F:
|
||||
if (gSaveContext.save.weekEventReg[20] & 2) {
|
||||
play->nextEntranceIndex = 0x3010;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->unk_1887F = 3;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_03;
|
||||
} else {
|
||||
play->nextEntranceIndex = 0x8600;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF0;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->unk_1887F = 3;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_03;
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x44:
|
||||
if (gSaveContext.save.weekEventReg[33] & 0x80) {
|
||||
play->nextEntranceIndex = 0xAE70;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->unk_1887F = 3;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_03;
|
||||
} else {
|
||||
play->nextEntranceIndex = 0xAE00;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF0;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->unk_1887F = 3;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_03;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -632,16 +632,16 @@ void Cutscene_Command_Terminator(PlayState* play, CutsceneContext* csCtx, CsCmdB
|
||||
gSaveContext.save.weekEventReg[55] |= 0x80;
|
||||
play->nextEntranceIndex = 0x6A80;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF0;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->unk_1887F = 3;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_03;
|
||||
break;
|
||||
|
||||
case 0x36:
|
||||
gSaveContext.save.weekEventReg[52] |= 0x20;
|
||||
play->nextEntranceIndex = 0x2000;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF1;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->unk_1887F = 3;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_03;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -667,7 +667,7 @@ void Cutscene_Command_ChooseCreditsScenes(PlayState* play, CutsceneContext* csCt
|
||||
play->nextEntranceIndex = 0x1C00;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF9;
|
||||
}
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
break;
|
||||
|
||||
case 3:
|
||||
@@ -680,7 +680,7 @@ void Cutscene_Command_ChooseCreditsScenes(PlayState* play, CutsceneContext* csCt
|
||||
play->nextEntranceIndex = 0x1C10;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF9;
|
||||
}
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
break;
|
||||
|
||||
case 4:
|
||||
@@ -693,7 +693,7 @@ void Cutscene_Command_ChooseCreditsScenes(PlayState* play, CutsceneContext* csCt
|
||||
play->nextEntranceIndex = 0x1C20;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF9;
|
||||
}
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
break;
|
||||
|
||||
case 5:
|
||||
@@ -706,7 +706,7 @@ void Cutscene_Command_ChooseCreditsScenes(PlayState* play, CutsceneContext* csCt
|
||||
play->nextEntranceIndex = 0x1C30;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF9;
|
||||
}
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
break;
|
||||
|
||||
case 6:
|
||||
@@ -719,7 +719,7 @@ void Cutscene_Command_ChooseCreditsScenes(PlayState* play, CutsceneContext* csCt
|
||||
play->nextEntranceIndex = 0x1C50;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF9;
|
||||
}
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
break;
|
||||
|
||||
case 7:
|
||||
@@ -732,14 +732,14 @@ void Cutscene_Command_ChooseCreditsScenes(PlayState* play, CutsceneContext* csCt
|
||||
play->nextEntranceIndex = 0x1C60;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF9;
|
||||
}
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
break;
|
||||
|
||||
case 8:
|
||||
// Ikana canyon
|
||||
play->nextEntranceIndex = 0x2000;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF3;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
break;
|
||||
|
||||
case 9:
|
||||
@@ -752,7 +752,7 @@ void Cutscene_Command_ChooseCreditsScenes(PlayState* play, CutsceneContext* csCt
|
||||
play->nextEntranceIndex = 0x1C70;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF9;
|
||||
}
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
break;
|
||||
|
||||
case 10:
|
||||
@@ -765,7 +765,7 @@ void Cutscene_Command_ChooseCreditsScenes(PlayState* play, CutsceneContext* csCt
|
||||
play->nextEntranceIndex = 0x1C40;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF9;
|
||||
}
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
break;
|
||||
|
||||
case 11:
|
||||
@@ -778,7 +778,7 @@ void Cutscene_Command_ChooseCreditsScenes(PlayState* play, CutsceneContext* csCt
|
||||
play->nextEntranceIndex = 0x1C80;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF9;
|
||||
}
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -880,7 +880,7 @@ void Cutscene_Command_TransitionFX(PlayState* play, CutsceneContext* csCtx, CsCm
|
||||
break;
|
||||
|
||||
case 9:
|
||||
gSaveContext.unk_3F48 = 1;
|
||||
gSaveContext.cutsceneTransitionControl = 1;
|
||||
break;
|
||||
|
||||
case 10:
|
||||
@@ -1176,7 +1176,8 @@ void Cutscene_ProcessCommands(PlayState* play, CutsceneContext* csCtx, u8* cutsc
|
||||
bcopy(cutscenePtr, &cutsceneEndFrame, sizeof(s32));
|
||||
cutscenePtr += sizeof(s32);
|
||||
|
||||
if (((u16)cutsceneEndFrame < csCtx->frames) && (play->sceneLoadFlag != 0x14) && (csCtx->state != CS_STATE_4)) {
|
||||
if (((u16)cutsceneEndFrame < csCtx->frames) && (play->transitionTrigger != TRANS_TRIGGER_START) &&
|
||||
(csCtx->state != CS_STATE_4)) {
|
||||
csCtx->state = CS_STATE_3;
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -72,7 +72,7 @@ void GameOver_Update(PlayState* play) {
|
||||
if (gSaveContext.respawnFlag != -7) {
|
||||
gSaveContext.respawnFlag = -6;
|
||||
}
|
||||
gSaveContext.nextTransition = 2;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_02;
|
||||
gSaveContext.save.playerData.health = 0x30;
|
||||
gameOverCtx->state++;
|
||||
if (INV_CONTENT(ITEM_MASK_DEKU) == ITEM_MASK_DEKU) {
|
||||
|
||||
@@ -71,7 +71,7 @@ void KaleidoSetup_Update(PlayState* play) {
|
||||
}
|
||||
|
||||
if ((pauseCtx->state == 0) && (pauseCtx->debugState == 0) && (play->gameOverCtx.state == GAMEOVER_INACTIVE)) {
|
||||
if ((play->sceneLoadFlag == 0) && (play->unk_18B4A == 0)) {
|
||||
if ((play->transitionTrigger == TRANS_TRIGGER_OFF) && (play->transitionMode == TRANS_MODE_OFF)) {
|
||||
if ((gSaveContext.save.cutscene < 0xFFF0) && (gSaveContext.nextCutsceneIndex < 0xFFF0)) {
|
||||
if (!Play_InCsMode(play) || ((msgCtx->msgMode != 0) && (msgCtx->currentTextId == 0xFF))) {
|
||||
if ((play->unk_1887C < 2) && (gSaveContext.unk_3F28 != 8) && (gSaveContext.unk_3F28 != 9)) {
|
||||
|
||||
+4
-4
@@ -215,8 +215,8 @@ void func_80169EFC(GameState* thisx) {
|
||||
this->nextEntranceIndex = gSaveContext.respawn[RESPAWN_MODE_DOWN].entranceIndex;
|
||||
gSaveContext.respawnFlag = 1;
|
||||
func_80169ECC(this);
|
||||
this->sceneLoadFlag = 0x14;
|
||||
this->unk_1887F = 2;
|
||||
this->transitionTrigger = TRANS_TRIGGER_START;
|
||||
this->transitionType = TRANS_TYPE_02;
|
||||
}
|
||||
|
||||
// Gameplay_LoadToLastEntrance ?
|
||||
@@ -227,8 +227,8 @@ void func_80169F78(GameState* thisx) {
|
||||
this->nextEntranceIndex = gSaveContext.respawn[RESPAWN_MODE_TOP].entranceIndex;
|
||||
gSaveContext.respawnFlag = -1;
|
||||
func_80169ECC(this);
|
||||
this->sceneLoadFlag = 0x14;
|
||||
this->unk_1887F = 2;
|
||||
this->transitionTrigger = TRANS_TRIGGER_START;
|
||||
this->transitionType = TRANS_TYPE_02;
|
||||
}
|
||||
|
||||
// Gameplay_TriggerRespawn ?
|
||||
|
||||
@@ -404,9 +404,9 @@ void func_80123140(PlayState* play, Player* player) {
|
||||
|
||||
s32 Player_InBlockingCsMode(PlayState* play, Player* player) {
|
||||
return (player->stateFlags1 & (PLAYER_STATE1_20000000 | PLAYER_STATE1_200 | PLAYER_STATE1_80)) ||
|
||||
player->csMode != 0 || play->sceneLoadFlag == 0x14 || play->unk_18B4A != 0 ||
|
||||
(player->stateFlags1 & PLAYER_STATE1_1) || (player->stateFlags3 & PLAYER_STATE3_80) ||
|
||||
play->actorCtx.unk268 != 0;
|
||||
(player->csMode != 0) || (play->transitionTrigger == TRANS_TRIGGER_START) ||
|
||||
(play->transitionMode != TRANS_MODE_OFF) || (player->stateFlags1 & PLAYER_STATE1_1) ||
|
||||
(player->stateFlags3 & PLAYER_STATE3_80) || (play->actorCtx.unk268 != 0);
|
||||
}
|
||||
|
||||
s32 Player_InCsMode(PlayState* play) {
|
||||
|
||||
+1
-1
@@ -530,7 +530,7 @@ void Scene_HeaderCmdAnimatedMaterials(PlayState* play, SceneCmd* cmd) {
|
||||
* Sets the exit fade from the next entrance index.
|
||||
*/
|
||||
void Scene_SetExitFade(PlayState* play) {
|
||||
play->unk_1887F = Entrance_GetTransitionFlags(play->nextEntranceIndex) & 0x7F;
|
||||
play->transitionType = Entrance_GetTransitionFlags(play->nextEntranceIndex) & 0x7F;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -251,9 +251,9 @@ void func_809542A0(BgIngate* this, PlayState* play) {
|
||||
play->nextEntranceIndex = 0xA810;
|
||||
}
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->unk_1887F = 3;
|
||||
gSaveContext.nextTransition = 3;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_03;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_03;
|
||||
this->actionFunc = func_80953F8C;
|
||||
gSaveContext.save.weekEventReg[90] &= (u8)~0x40;
|
||||
func_800FE498();
|
||||
|
||||
@@ -1815,7 +1815,7 @@ void DmStk_Update(Actor* thisx, PlayState* play) {
|
||||
// This code is responsible for making in-game time pass while using the telescope in the Astral Observatory.
|
||||
// Skull Kid is always loaded in the scene, even if he isn't visible, hence why time always passes.
|
||||
if ((play->actorCtx.unk5 & 2) && (play->msgCtx.msgMode != 0) && (play->msgCtx.currentTextId == 0x5E6) &&
|
||||
!FrameAdvance_IsEnabled(&play->state) && (play->sceneLoadFlag == 0) &&
|
||||
!FrameAdvance_IsEnabled(&play->state) && (play->transitionTrigger == TRANS_TRIGGER_OFF) &&
|
||||
(ActorCutscene_GetCurrentIndex() == -1) && (play->csCtx.state == 0)) {
|
||||
gSaveContext.save.time = ((void)0, gSaveContext.save.time) + (u16)REG(15);
|
||||
if (REG(15) != 0) {
|
||||
|
||||
@@ -129,8 +129,8 @@ void DoorAna_WaitOpen(DoorAna* this, PlayState* play) {
|
||||
s32 grottoType = DOORANA_GET_TYPE(&this->actor);
|
||||
|
||||
if (Math_StepToF(&this->actor.scale.x, 0.01f, 0.001f)) {
|
||||
if (this->actor.targetMode != 0 && play->sceneLoadFlag == 0 && play->unk_18B4A == 0 &&
|
||||
(player->stateFlags1 & 0x80000000) && player->unk_AE7 == 0) {
|
||||
if ((this->actor.targetMode != 0) && (play->transitionTrigger == TRANS_TRIGGER_OFF) &&
|
||||
(play->transitionMode == TRANS_MODE_OFF) && (player->stateFlags1 & 0x80000000) && (player->unk_AE7 == 0)) {
|
||||
|
||||
if (grottoType == DOORANA_TYPE_VISIBLE_SCENE_EXIT) {
|
||||
s32 exitIndex = DOORANA_GET_EXIT_INDEX(&this->actor);
|
||||
|
||||
@@ -410,8 +410,8 @@ void func_808B958C(DoorWarp1* this, PlayState* play) {
|
||||
this->unk_1D0++;
|
||||
if ((this->unk_1D0 > 120) && (gSaveContext.nextCutsceneIndex == 0xFFEF)) {
|
||||
func_808BA10C(this, play);
|
||||
play->unk_1887F = 3;
|
||||
gSaveContext.nextTransition = 3;
|
||||
play->transitionType = TRANS_TYPE_03;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_03;
|
||||
}
|
||||
|
||||
Math_SmoothStepToF(&this->unk_1A8, 6.0f, 0.2f, 0.02f, 0.01f);
|
||||
@@ -486,7 +486,7 @@ void func_808B98A8(DoorWarp1* this, PlayState* play) {
|
||||
if (DOORWARP1_GET_FF00_1(&this->dyna.actor) != 0xFF) {
|
||||
play->nextEntranceIndex = play->setupExitList[DOORWARP1_GET_FF00_3(&this->dyna.actor)];
|
||||
Scene_SetExitFade(play);
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
} else {
|
||||
func_80169FDC(&play->state);
|
||||
}
|
||||
@@ -703,49 +703,49 @@ void func_808BA10C(DoorWarp1* this, PlayState* play) {
|
||||
gSaveContext.nextCutsceneIndex = phi_v0_3 + 0xFFF0;
|
||||
}
|
||||
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->unk_1887F = 3;
|
||||
gSaveContext.nextTransition = 3;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_03;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_03;
|
||||
} else {
|
||||
switch (phi_v0_2) {
|
||||
case 0:
|
||||
if (gSaveContext.save.weekEventReg[20] & 2) {
|
||||
gSaveContext.save.weekEventReg[7] |= 0x80;
|
||||
play->nextEntranceIndex = 0x3010;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->unk_1887F = 3;
|
||||
gSaveContext.nextTransition = 3;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_03;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_03;
|
||||
} else {
|
||||
play->nextEntranceIndex = 0x8600;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF0;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->unk_1887F = 3;
|
||||
gSaveContext.nextTransition = 3;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_03;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_03;
|
||||
}
|
||||
break;
|
||||
|
||||
case 1:
|
||||
gSaveContext.save.weekEventReg[33] |= 0x80;
|
||||
play->nextEntranceIndex = 0xAE70;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->unk_1887F = 3;
|
||||
gSaveContext.nextTransition = 3;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_03;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_03;
|
||||
break;
|
||||
|
||||
case 3:
|
||||
if (gSaveContext.save.weekEventReg[55] & 0x80) {
|
||||
play->nextEntranceIndex = 0x6A90;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF0;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->unk_1887F = 3;
|
||||
gSaveContext.nextTransition = 3;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_03;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_03;
|
||||
} else {
|
||||
gSaveContext.save.weekEventReg[55] |= 0x80;
|
||||
play->nextEntranceIndex = 0x6A80;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF0;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->unk_1887F = 3;
|
||||
gSaveContext.nextTransition = 3;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_03;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_03;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -753,9 +753,9 @@ void func_808BA10C(DoorWarp1* this, PlayState* play) {
|
||||
gSaveContext.save.weekEventReg[52] |= 0x20;
|
||||
play->nextEntranceIndex = 0x20F0;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF2;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->unk_1887F = 3;
|
||||
gSaveContext.nextTransition = 3;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_03;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_03;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -765,7 +765,7 @@ void func_808BA10C(DoorWarp1* this, PlayState* play) {
|
||||
}
|
||||
play->nextEntranceIndex = play->setupExitList[DOORWARP1_GET_FF00_3(&this->dyna.actor)];
|
||||
Scene_SetExitFade(play);
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
} else {
|
||||
func_80169FDC(&play->state);
|
||||
}
|
||||
|
||||
@@ -417,11 +417,11 @@ void func_809C1C9C(EnAob01* this, PlayState* play) {
|
||||
this->unk_2D2 |= 0x20;
|
||||
func_800FD750(0x40);
|
||||
play->nextEntranceIndex = 0x7C10;
|
||||
play->unk_1887F = 0x40;
|
||||
gSaveContext.nextTransition = 0x40;
|
||||
play->transitionType = TRANS_TYPE_64;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_64;
|
||||
gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & (u8)~7) | 2;
|
||||
gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & 7) | (this->unk_432 * 8);
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -674,9 +674,9 @@ void func_809C2788(EnAob01* this, PlayState* play) {
|
||||
if (func_801A8A50(0) != 0x41) {
|
||||
play->nextEntranceIndex = 0x7C10;
|
||||
gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & (u8)~7) | 3;
|
||||
play->unk_1887F = 0x40;
|
||||
gSaveContext.nextTransition = 3;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->transitionType = TRANS_TYPE_64;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_03;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -301,9 +301,9 @@ void EnBaba_HandleConversation(EnBaba* this, PlayState* play) {
|
||||
|
||||
void EnBaba_TriggerTransition(PlayState* play, u16 nextEntrance) {
|
||||
play->nextEntranceIndex = nextEntrance;
|
||||
play->unk_1887F = 0x40;
|
||||
gSaveContext.nextTransition = 0x40;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->transitionType = TRANS_TYPE_64;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_64;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
}
|
||||
|
||||
void EnBaba_UpdateCollider(EnBaba* this, PlayState* play) {
|
||||
|
||||
@@ -333,9 +333,9 @@ void func_809C51B4(EnBomBowlMan* this, PlayState* play) {
|
||||
if ((play->msgCtx.unk120B1 == 0) && ((play->msgCtx.msgMode == 0) || (Message_GetState(&play->msgCtx) == 6))) {
|
||||
play->nextEntranceIndex = Entrance_CreateIndexFromSpawn(6);
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->unk_1887F = 0x56;
|
||||
gSaveContext.nextTransition = 3;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_86;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_03;
|
||||
gSaveContext.save.weekEventReg[75] &= (u8)~0x40;
|
||||
if (player->transformation == PLAYER_FORM_HUMAN) {
|
||||
gSaveContext.save.weekEventReg[84] |= 0x80;
|
||||
|
||||
@@ -759,9 +759,9 @@ void func_80BFFBC4(EnBomjima* this, PlayState* play) {
|
||||
func_801477B4(play);
|
||||
play->nextEntranceIndex = Entrance_CreateIndexFromSpawn(6);
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
play->sceneLoadFlag = 20;
|
||||
play->unk_1887F = 0x56;
|
||||
gSaveContext.nextTransition = 3;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_86;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_03;
|
||||
ActorCutscene_Stop(this->unk_2D4[1]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -793,13 +793,13 @@ void func_80C02CA4(EnBomjimb* this, PlayState* play) {
|
||||
play->nextEntranceIndex = play->setupExitList[this->unk_2B2];
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
Scene_SetExitFade(play);
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
} else {
|
||||
play->nextEntranceIndex = Entrance_CreateIndexFromSpawn(5);
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->unk_1887F = 0x56;
|
||||
gSaveContext.nextTransition = 3;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_86;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_03;
|
||||
}
|
||||
gSaveContext.save.weekEventReg[75] |= 0x40;
|
||||
gSaveContext.save.weekEventReg[83] |= 4;
|
||||
|
||||
@@ -441,9 +441,9 @@ void func_8092D330(EnDns* this, PlayState* play) {
|
||||
this->unk_2C6 &= ~0x100;
|
||||
play->nextEntranceIndex = 0x5010;
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->unk_1887F = 3;
|
||||
gSaveContext.nextTransition = 3;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_03;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_03;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -343,9 +343,9 @@ void EnFall_CrashingMoon_HandleGiantsCutscene(EnFall* this, PlayState* play) {
|
||||
} else if (play->csCtx.frames > 1600) {
|
||||
play->nextEntranceIndex = 0x2C00;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF2;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->unk_1887F = 2;
|
||||
gSaveContext.nextTransition = 2;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_02;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_02;
|
||||
sGiantsCutsceneState = 9;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -357,16 +357,16 @@ void func_80B0FD8C(EnGb2* this, PlayState* play) {
|
||||
void func_80B0FE18(PlayState* play) {
|
||||
func_800FD750(0x38);
|
||||
play->nextEntranceIndex = 0x9C10;
|
||||
play->unk_1887F = 0x40;
|
||||
gSaveContext.nextTransition = 0x40;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->transitionType = TRANS_TYPE_64;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_64;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
}
|
||||
|
||||
void func_80B0FE7C(PlayState* play) {
|
||||
play->nextEntranceIndex = 0x9C20;
|
||||
play->unk_1887F = 0x40;
|
||||
gSaveContext.nextTransition = 0x40;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->transitionType = TRANS_TYPE_64;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_64;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
}
|
||||
|
||||
void func_80B0FEBC(EnGb2* this, PlayState* play) {
|
||||
|
||||
@@ -724,9 +724,9 @@ void func_80B51B40(EnGk* this, PlayState* play) {
|
||||
|
||||
if (this->unk_31C == 0xE8F) {
|
||||
play->nextEntranceIndex = 0xD010;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->unk_1887F = 3;
|
||||
gSaveContext.nextTransition = 3;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_03;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_03;
|
||||
Parameter_AddMagic(play, ((void)0, gSaveContext.unk_3F30) +
|
||||
(gSaveContext.save.playerData.doubleMagic * 0x30) + 0x30);
|
||||
} else {
|
||||
|
||||
@@ -162,7 +162,7 @@ void EnHoll_VisibleIdle(EnHoll* this, PlayState* play) {
|
||||
func_800B9010(&this->actor, NA_SE_EV_INVISIBLE_MONKEY - SFX_FLAG);
|
||||
}
|
||||
}
|
||||
if ((play->sceneLoadFlag != 0) || (play->unk_18B4A != 0)) {
|
||||
if ((play->transitionTrigger != TRANS_TRIGGER_OFF) || (play->transitionMode != TRANS_MODE_OFF)) {
|
||||
this->alpha = 255;
|
||||
} else {
|
||||
f32 enHollBottom = EN_HOLL_BOTTOM_DEFAULT;
|
||||
@@ -191,7 +191,7 @@ void EnHoll_VisibleIdle(EnHoll* this, PlayState* play) {
|
||||
play->nextEntranceIndex = play->setupExitList[EN_HOLL_GET_EXIT_LIST_INDEX(&this->actor)];
|
||||
gSaveContext.unk_3DBB = 1;
|
||||
Scene_SetExitFade(play);
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->unk_1878C(play);
|
||||
} else {
|
||||
this->actor.room = play->doorCtx.transitionActorList[enHollId].sides[this->playerSide ^ 1].room;
|
||||
@@ -309,7 +309,8 @@ void EnHoll_Update(Actor* thisx, PlayState* play) {
|
||||
EnHoll* this = THIS;
|
||||
Player* player = GET_PLAYER(play);
|
||||
|
||||
if ((play->sceneLoadFlag == 0) && (play->unk_18B4A == 0) && !(player->stateFlags1 & 0x200)) {
|
||||
if ((play->transitionTrigger == TRANS_TRIGGER_OFF) && (play->transitionMode == TRANS_MODE_OFF) &&
|
||||
!(player->stateFlags1 & 0x200)) {
|
||||
this->actionFunc(this, play);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2908,8 +2908,8 @@ void EnHorse_UpdateHorsebackArchery(EnHorse* this, PlayState* play) {
|
||||
|
||||
if (((this->hbaFlags & 1) || (this->hbaTimer > 45)) && (sp28 != 1) && (gSaveContext.minigameState != 3)) {
|
||||
gSaveContext.save.cutscene = 0;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->unk_1887F = 0x40;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_64;
|
||||
}
|
||||
|
||||
if (play->interfaceCtx.hbaAmmo) {}
|
||||
|
||||
@@ -157,15 +157,15 @@ s32 func_808F8EB0(EnHorseGameCheck* this, PlayState* play) {
|
||||
}
|
||||
|
||||
if (GET_RACE_FLAGS == RACE_FLAG_3) {
|
||||
play->unk_1887F = 0x40;
|
||||
gSaveContext.nextTransition = 2;
|
||||
play->transitionType = TRANS_TYPE_64;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_02;
|
||||
} else if (GET_RACE_FLAGS == RACE_FLAG_2) {
|
||||
play->unk_1887F = 0x50;
|
||||
gSaveContext.nextTransition = 3;
|
||||
play->transitionType = TRANS_TYPE_80;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_03;
|
||||
} else if (GET_RACE_FLAGS == RACE_FLAG_4) {
|
||||
SET_RACE_FLAGS(RACE_FLAG_3);
|
||||
play->unk_1887F = 2;
|
||||
gSaveContext.nextTransition = 2;
|
||||
play->transitionType = TRANS_TYPE_02;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_02;
|
||||
}
|
||||
|
||||
D_801BDA9C = 0;
|
||||
@@ -173,7 +173,7 @@ s32 func_808F8EB0(EnHorseGameCheck* this, PlayState* play) {
|
||||
D_801BDAA0 = 1;
|
||||
}
|
||||
play->nextEntranceIndex = 0xCE20;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -217,7 +217,7 @@ void EnHs_DoNothing(EnHs* this, PlayState* play) {
|
||||
void EnHs_SceneTransitToBunnyHoodDialogue(EnHs* this, PlayState* play) {
|
||||
if (DECR(this->stateTimer) == 0) {
|
||||
play->nextEntranceIndex = play->setupExitList[HS_GET_EXIT_INDEX(&this->actor)];
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.weekEventReg[25] |= 8;
|
||||
this->actionFunc = EnHs_DoNothing;
|
||||
}
|
||||
|
||||
@@ -820,8 +820,8 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) {
|
||||
SET_RACE_FLAGS(RACE_FLAG_START);
|
||||
func_800FD750(NA_BGM_HORSE);
|
||||
play->nextEntranceIndex = 0xCE50;
|
||||
play->unk_1887F = 5;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->transitionType = TRANS_TYPE_05;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.weekEventReg[57] |= 1;
|
||||
break;
|
||||
case 0x3478:
|
||||
@@ -1067,8 +1067,8 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) {
|
||||
SET_RACE_FLAGS(RACE_FLAG_START);
|
||||
func_800FD750(NA_BGM_HORSE);
|
||||
play->nextEntranceIndex = 0xCE50;
|
||||
play->unk_1887F = 5;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->transitionType = TRANS_TYPE_05;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.weekEventReg[57] |= 1;
|
||||
break;
|
||||
case 0x349D:
|
||||
|
||||
@@ -1997,9 +1997,9 @@ void func_80B47108(EnInvadepoh* this, PlayState* play) {
|
||||
if (this->actionTimer <= 0) {
|
||||
play->nextEntranceIndex = 0x6460;
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->unk_1887F = 0x49;
|
||||
gSaveContext.nextTransition = 0x48;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_73;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_72;
|
||||
D_801BDAA0 = 1;
|
||||
D_801BDA9C = 0;
|
||||
func_80B47248(this);
|
||||
@@ -2015,9 +2015,9 @@ void func_80B471E0(EnInvadepoh* this, PlayState* play) {
|
||||
if (D_80B4E998) {
|
||||
play->nextEntranceIndex = 0x6470;
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->unk_1887F = 0x48;
|
||||
gSaveContext.nextTransition = 0x48;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_72;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_72;
|
||||
func_80B47248(this);
|
||||
}
|
||||
}
|
||||
@@ -2038,9 +2038,9 @@ void func_80B47278(EnInvadepoh* this) {
|
||||
void func_80B47298(EnInvadepoh* this, PlayState* play) {
|
||||
play->nextEntranceIndex = 0x6400;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF3;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->unk_1887F = 0x48;
|
||||
gSaveContext.nextTransition = 0x48;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_72;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_72;
|
||||
gSaveContext.save.weekEventReg[89] |= 0x10;
|
||||
func_80B47304(this);
|
||||
}
|
||||
|
||||
@@ -368,9 +368,9 @@ void func_80C144E4(EnJgameTsn* this) {
|
||||
|
||||
void func_80C144F8(EnJgameTsn* this, PlayState* play) {
|
||||
play->nextEntranceIndex = 0x68D0;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->unk_1887F = 0x50;
|
||||
gSaveContext.nextTransition = 3;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_80;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_03;
|
||||
}
|
||||
|
||||
void func_80C14540(EnJgameTsn* this) {
|
||||
|
||||
@@ -513,7 +513,7 @@ void func_80B41A48(EnKgy* this, PlayState* play) {
|
||||
this->unk_2E4--;
|
||||
} else {
|
||||
play->nextEntranceIndex = play->setupExitList[ENKGY_GET_1F(&this->actor)];
|
||||
play->sceneLoadFlag = 20;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -298,7 +298,7 @@ void EnLookNuts_SendPlayerToSpawn(EnLookNuts* this, PlayState* play) {
|
||||
play->nextEntranceIndex = Entrance_CreateIndexFromSpawn(this->spawnIndex);
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
Scene_SetExitFade(play);
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.weekEventReg[17] |= 4;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -668,9 +668,9 @@ void EnMa4_SetupBeginHorsebackGame(EnMa4* this) {
|
||||
void EnMa4_BeginHorsebackGame(EnMa4* this, PlayState* play) {
|
||||
play->nextEntranceIndex = 0x6400;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF0;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->unk_1887F = 0x50;
|
||||
gSaveContext.nextTransition = 3;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_80;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_03;
|
||||
}
|
||||
|
||||
void EnMa4_HorsebackGameCheckPlayerInteractions(EnMa4* this, PlayState* play) {
|
||||
@@ -760,14 +760,14 @@ void EnMa4_HorsebackGameEnd(EnMa4* this, PlayState* play) {
|
||||
play->nextEntranceIndex = 0x6410;
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
sFrameCounter = 0;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
|
||||
if (this->poppedBalloonCounter == 10) {
|
||||
play->unk_1887F = 0x50;
|
||||
gSaveContext.nextTransition = 3;
|
||||
play->transitionType = TRANS_TYPE_80;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_03;
|
||||
} else {
|
||||
play->unk_1887F = 0x40;
|
||||
gSaveContext.nextTransition = 2;
|
||||
play->transitionType = TRANS_TYPE_64;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_02;
|
||||
}
|
||||
|
||||
this->poppedBalloonCounter = 0;
|
||||
@@ -865,9 +865,9 @@ void EnMa4_SetupBeginDescribeThemCs(EnMa4* this) {
|
||||
void EnMa4_BeginDescribeThemCs(EnMa4* this, PlayState* play) {
|
||||
play->nextEntranceIndex = 0x6400;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF5;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->unk_1887F = 0x40;
|
||||
gSaveContext.nextTransition = 2;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_64;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_02;
|
||||
}
|
||||
|
||||
void EnMa4_StartDialogue(EnMa4* this, PlayState* play) {
|
||||
|
||||
@@ -1088,9 +1088,9 @@ void EnMaYto_PostMilkRunEnd(EnMaYto* this, PlayState* play) {
|
||||
play->nextEntranceIndex = 0x6480;
|
||||
}
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->unk_1887F = 0x50;
|
||||
gSaveContext.nextTransition = 3;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_80;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_03;
|
||||
}
|
||||
|
||||
void EnMaYto_DefaultStartDialogue(EnMaYto* this, PlayState* play) {
|
||||
|
||||
@@ -161,8 +161,8 @@ void EnMag_Init(Actor* thisx, PlayState* play) {
|
||||
gSaveContext.unk_3F1E = 0;
|
||||
this->state = MAG_STATE_FADE_IN_MASK;
|
||||
sInputDelayTimer = 20;
|
||||
gSaveContext.fadeDuration = 1;
|
||||
gSaveContext.fadeSpeed = 255;
|
||||
gSaveContext.transFadeDuration = 1;
|
||||
gSaveContext.transWipeSpeed = 255;
|
||||
}
|
||||
|
||||
Font_LoadOrderedFont(&this->font);
|
||||
@@ -245,8 +245,8 @@ void EnMag_Update(Actor* thisx, PlayState* play) {
|
||||
this->unk11F00 = 0;
|
||||
this->unk11F02 = 30;
|
||||
sInputDelayTimer = 20;
|
||||
gSaveContext.fadeDuration = 1;
|
||||
gSaveContext.fadeSpeed = 255;
|
||||
gSaveContext.transFadeDuration = 1;
|
||||
gSaveContext.transWipeSpeed = 255;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@@ -381,7 +381,7 @@ void EnMag_Update(Actor* thisx, PlayState* play) {
|
||||
if (CHECK_BTN_ALL(CONTROLLER1(&play->state)->press.button, BTN_START) ||
|
||||
CHECK_BTN_ALL(CONTROLLER1(&play->state)->press.button, BTN_A) ||
|
||||
CHECK_BTN_ALL(CONTROLLER1(&play->state)->press.button, BTN_B)) {
|
||||
if (play->sceneLoadFlag != 0x14) {
|
||||
if (play->transitionTrigger != TRANS_TRIGGER_START) {
|
||||
Audio_SetCutsceneFlag(false);
|
||||
D_801BB12C++;
|
||||
if (D_801BB12C >= 2) {
|
||||
@@ -389,8 +389,8 @@ void EnMag_Update(Actor* thisx, PlayState* play) {
|
||||
}
|
||||
play_sound(NA_SE_SY_PIECE_OF_HEART);
|
||||
gSaveContext.gameMode = 2; // Go to FileChoose
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->unk_1887F = 2;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_02;
|
||||
play->nextEntranceIndex = 0x1C00;
|
||||
gSaveContext.save.cutscene = 0;
|
||||
gSaveContext.sceneSetupIndex = 0;
|
||||
|
||||
@@ -229,9 +229,9 @@ s32 EnMttag_UpdateCheckpoints(EnMttag* this, PlayState* play) {
|
||||
|
||||
/**
|
||||
* Exits the race and returns the player back to "normal" gameplay.
|
||||
* Whether the player won or lost the race is determined by arg1 and nextTransition.
|
||||
* Whether the player won or lost the race is determined by transitionType and nextTransitionType.
|
||||
*/
|
||||
s32 EnMttag_ExitRace(PlayState* play, s32 arg1, s32 nextTransition) {
|
||||
s32 EnMttag_ExitRace(PlayState* play, s32 transitionType, s32 nextTransitionType) {
|
||||
CUR_FORM_EQUIP(EQUIP_SLOT_B) = ITEM_SWORD_KOKIRI;
|
||||
play->nextEntranceIndex = 0xD020;
|
||||
if (gSaveContext.save.weekEventReg[33] & 0x80) {
|
||||
@@ -242,9 +242,9 @@ s32 EnMttag_ExitRace(PlayState* play, s32 arg1, s32 nextTransition) {
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
}
|
||||
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->unk_1887F = arg1;
|
||||
gSaveContext.nextTransition = nextTransition;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = transitionType;
|
||||
gSaveContext.nextTransitionType = nextTransitionType;
|
||||
func_801477B4(play);
|
||||
return 1;
|
||||
}
|
||||
@@ -398,10 +398,10 @@ void EnMttag_RaceFinish(EnMttag* this, PlayState* play) {
|
||||
if (DECR(this->timer) == 0) {
|
||||
if ((gSaveContext.eventInf[1] & 2)) {
|
||||
// Player won
|
||||
EnMttag_ExitRace(play, 3, 3);
|
||||
EnMttag_ExitRace(play, TRANS_TYPE_03, TRANS_TYPE_03);
|
||||
} else {
|
||||
// A non-player Goron won
|
||||
EnMttag_ExitRace(play, 2, 2);
|
||||
EnMttag_ExitRace(play, TRANS_TYPE_02, TRANS_TYPE_02);
|
||||
}
|
||||
|
||||
Actor_MarkForDeath(&this->actor);
|
||||
@@ -428,9 +428,9 @@ void EnMttag_PotentiallyRestartRace(EnMttag* this, PlayState* play) {
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
}
|
||||
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->unk_1887F = 2;
|
||||
gSaveContext.nextTransition = 2;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_02;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_02;
|
||||
func_801477B4(play);
|
||||
func_800B7298(play, &this->actor, 7);
|
||||
Parameter_AddMagic(play,
|
||||
@@ -442,7 +442,7 @@ void EnMttag_PotentiallyRestartRace(EnMttag* this, PlayState* play) {
|
||||
gSaveContext.eventInf[1] &= (u8)~8;
|
||||
gSaveContext.eventInf[2] = ((gSaveContext.eventInf[2] & 0xF) + 1) | (gSaveContext.eventInf[2] & 0xF0);
|
||||
} else {
|
||||
EnMttag_ExitRace(play, 2, 2);
|
||||
EnMttag_ExitRace(play, TRANS_TYPE_02, TRANS_TYPE_02);
|
||||
}
|
||||
Actor_MarkForDeath(&this->actor);
|
||||
}
|
||||
@@ -458,7 +458,7 @@ void EnMttag_HandleCantWinChoice(EnMttag* this, PlayState* play) {
|
||||
// Exit the race
|
||||
func_8019F230();
|
||||
gSaveContext.unk_3DD0[4] = 0;
|
||||
EnMttag_ExitRace(play, 2, 2);
|
||||
EnMttag_ExitRace(play, TRANS_TYPE_02, TRANS_TYPE_02);
|
||||
gSaveContext.eventInf[1] &= (u8)~8;
|
||||
gSaveContext.eventInf[1] |= 4;
|
||||
Actor_MarkForDeath(&this->actor);
|
||||
|
||||
@@ -683,9 +683,9 @@ void func_80BD9B4C(EnPamera* this, PlayState* play) {
|
||||
|
||||
void func_80BD9C70(EnPamera* this, PlayState* play) {
|
||||
play->nextEntranceIndex = 0x2020;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->unk_1887F = 0x46;
|
||||
gSaveContext.nextTransition = 2;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_70;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_02;
|
||||
}
|
||||
|
||||
s32 func_80BD9CB8(EnPamera* this, PlayState* play) {
|
||||
|
||||
@@ -260,9 +260,9 @@ s32 func_80AE6704(EnShn* thisx, PlayState* play) {
|
||||
func_800B7298(play, &this->actor, 7);
|
||||
play->nextEntranceIndex = 0x8460;
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->unk_1887F = 3;
|
||||
gSaveContext.nextTransition = 7;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_03;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_07;
|
||||
this->unk_2C6++;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -224,9 +224,9 @@ Actor* EnSuttari_GetActorById(PlayState* play, s16 actorId) {
|
||||
|
||||
void EnSuttari_SetNextEntrance(PlayState* play, u16 nextEntranceIndex) {
|
||||
play->nextEntranceIndex = nextEntranceIndex;
|
||||
play->unk_1887F = 0x40;
|
||||
gSaveContext.nextTransition = 0x40;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->transitionType = TRANS_TYPE_64;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_64;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
}
|
||||
|
||||
void EnSuttari_UpdateTime(void) {
|
||||
|
||||
@@ -368,8 +368,8 @@ void EnTest4_Destroy(Actor* thisx, PlayState* play) {
|
||||
void func_80A42AB8(EnTest4* this, PlayState* play) {
|
||||
Player* player = GET_PLAYER(play);
|
||||
|
||||
if ((play->unk_18B4A == 0) && !Play_InCsMode(play) && (play->numSetupActors <= 0) && (play->roomCtx.unk31 == 0) &&
|
||||
(!Play_IsDebugCamEnabled())) {
|
||||
if ((play->transitionMode == TRANS_MODE_OFF) && !Play_InCsMode(play) && (play->numSetupActors <= 0) &&
|
||||
(play->roomCtx.unk31 == 0) && !Play_IsDebugCamEnabled()) {
|
||||
s16 temp_a2;
|
||||
u16 temp_a0 = D_80A43364[this->unk_144];
|
||||
s16 temp_a3;
|
||||
@@ -456,8 +456,8 @@ void func_80A42AB8(EnTest4* this, PlayState* play) {
|
||||
play->nextEntranceIndex = 0xD800;
|
||||
}
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF1;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->unk_1887F = 2;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_02;
|
||||
player->stateFlags1 |= 0x200;
|
||||
Actor_MarkForDeath(&this->actor);
|
||||
}
|
||||
|
||||
@@ -979,9 +979,9 @@ void func_80A92950(EnTest6* this, PlayState* play) {
|
||||
Play_SetRespawnData(&play->state, 1, ((void)0, gSaveContext.save.entranceIndex & 0xFFFF),
|
||||
player->unk_3CE, 0xBFF, &player->unk_3C0, player->unk_3CC);
|
||||
this->unk_276 = 99;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->nextEntranceIndex = gSaveContext.respawn[RESPAWN_MODE_RETURN].entranceIndex;
|
||||
play->unk_1887F = 2;
|
||||
play->transitionType = TRANS_TYPE_02;
|
||||
if ((gSaveContext.save.time > CLOCK_TIME(18, 0)) || (gSaveContext.save.time < CLOCK_TIME(6, 0))) {
|
||||
gSaveContext.respawnFlag = -0x63;
|
||||
gSaveContext.eventInf[2] |= 0x80;
|
||||
@@ -1060,9 +1060,9 @@ void func_80A92950(EnTest6* this, PlayState* play) {
|
||||
Play_SetRespawnData(&play->state, 1, ((void)0, gSaveContext.save.entranceIndex & 0xFFFF),
|
||||
player->unk_3CE, 0xBFF, &player->unk_3C0, player->unk_3CC);
|
||||
this->unk_276 = 99;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->nextEntranceIndex = gSaveContext.respawn[RESPAWN_MODE_RETURN].entranceIndex;
|
||||
play->unk_1887F = 2;
|
||||
play->transitionType = TRANS_TYPE_02;
|
||||
gSaveContext.respawnFlag = 2;
|
||||
play->msgCtx.ocarinaMode = 4;
|
||||
}
|
||||
|
||||
@@ -669,8 +669,8 @@ void func_80AF2350(EnTest7* this, PlayState* play) {
|
||||
}
|
||||
}
|
||||
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->unk_1887F = 2;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_02;
|
||||
gSaveContext.seqIndex = 0xFF;
|
||||
gSaveContext.nightSeqIndex = 0xFF;
|
||||
}
|
||||
|
||||
@@ -264,7 +264,7 @@ void func_80ACA714(EnTimeTag* this, PlayState* play) {
|
||||
void func_80ACA724(EnTimeTag* this, PlayState* play) {
|
||||
if (Message_GetState(&play->msgCtx) == 5) {
|
||||
play->nextEntranceIndex = play->setupExitList[ENTIMETAG_GET_1F(&this->actor)];
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
if (!ENTIMETAG_GET_E000(&this->actor)) {
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_OC_DOOR_OPEN);
|
||||
}
|
||||
|
||||
@@ -411,7 +411,7 @@ s32 func_80AECE60(EnTk* this, PlayState* play) {
|
||||
this->unk_3CE |= 4;
|
||||
}
|
||||
|
||||
if ((play->unk_18B4A != 0) || (this->timePathTimeSpeed == 0)) {
|
||||
if ((play->transitionMode != TRANS_MODE_OFF) || (this->timePathTimeSpeed == 0)) {
|
||||
sp78 = this->timePathElapsedTime;
|
||||
sp74 = this->timePathWaypoint;
|
||||
timePathTargetPos = this->actor.world.pos;
|
||||
@@ -429,7 +429,7 @@ s32 func_80AECE60(EnTk* this, PlayState* play) {
|
||||
this->actor.world.rot.y = Math_Vec3f_Yaw(&sp94, &sp88);
|
||||
}
|
||||
|
||||
if ((play->unk_18B4A != 0) || (this->timePathTimeSpeed == 0)) {
|
||||
if ((play->transitionMode != TRANS_MODE_OFF) || (this->timePathTimeSpeed == 0)) {
|
||||
this->timePathElapsedTime = sp78;
|
||||
this->timePathWaypoint = sp74;
|
||||
this->timePathTargetPos = timePathTargetPos;
|
||||
|
||||
@@ -1038,9 +1038,9 @@ void EnTrt_ShopkeeperGone(EnTrt* this, PlayState* play) {
|
||||
} else {
|
||||
play->nextEntranceIndex = 0x8450;
|
||||
}
|
||||
play->unk_1887F = 0x40;
|
||||
gSaveContext.nextTransition = 0x40;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->transitionType = TRANS_TYPE_64;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_64;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -374,9 +374,9 @@ void func_80B76BB8(EnTruMt* this, PlayState* play) {
|
||||
if (Message_GetState(&play->msgCtx) == 5) {
|
||||
if (Message_ShouldAdvance(play)) {
|
||||
play->nextEntranceIndex = 0xA810;
|
||||
play->unk_1887F = 3;
|
||||
gSaveContext.nextTransition = 3;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->transitionType = TRANS_TYPE_03;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_03;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -243,7 +243,7 @@ void EnWarpTag_GrottoReturn(EnWarptag* this, PlayState* play) {
|
||||
if (this->grottoExitDelay++ == 10) {
|
||||
play->nextEntranceIndex = play->setupExitList[GET_WARPTAG_EXIT_INDEX(&this->dyna.actor)];
|
||||
Scene_SetExitFade(play);
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
func_8019F128(NA_SE_OC_SECRET_HOLE_OUT);
|
||||
func_801A4058(5);
|
||||
if (1) {}
|
||||
|
||||
@@ -481,7 +481,7 @@ void EnWeatherTag_Update(Actor* thisx, PlayState* play) {
|
||||
|
||||
this->actionFunc(this, play);
|
||||
if ((play->actorCtx.unk5 & 2) && (play->msgCtx.msgMode != 0) && (play->msgCtx.currentTextId == 0x5E6) &&
|
||||
(!FrameAdvance_IsEnabled(&play->state)) && (play->sceneLoadFlag == 0) &&
|
||||
(!FrameAdvance_IsEnabled(&play->state)) && (play->transitionTrigger == TRANS_TRIGGER_OFF) &&
|
||||
(ActorCutscene_GetCurrentIndex() == -1) && (play->csCtx.state == 0)) {
|
||||
|
||||
gSaveContext.save.time = ((void)0, gSaveContext.save.time) + (u16)REG(15);
|
||||
|
||||
@@ -424,8 +424,8 @@ void func_80BD1DB8(EnZov* this, PlayState* play) {
|
||||
|
||||
case 0x1039:
|
||||
play->nextEntranceIndex = play->setupExitList[ENZOV_GET_FE00(&this->actor)];
|
||||
play->unk_1887F = 5;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->transitionType = TRANS_TYPE_05;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.weekEventReg[78] |= 1;
|
||||
this->actionFunc = func_80BD1D94;
|
||||
play->msgCtx.unk11F10 = 0;
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
* Description: "Master" instance of grass for unit spawned by Obj_Grass_Unit
|
||||
*/
|
||||
|
||||
#include "prevent_bss_reordering.h"
|
||||
#include "z_obj_grass.h"
|
||||
#include "overlays/actors/ovl_Obj_Grass_Carry/z_obj_grass_carry.h"
|
||||
#include "objects/gameplay_keep/gameplay_keep.h"
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
* Description: Switch-Activated Geyser
|
||||
*/
|
||||
|
||||
#include "prevent_bss_reordering.h"
|
||||
#include "z_obj_hunsui.h"
|
||||
#include "objects/object_hunsui/object_hunsui.h"
|
||||
|
||||
|
||||
@@ -443,7 +443,7 @@ void func_80BA3344(ObjNozoki* this, PlayState* play) {
|
||||
}
|
||||
} else if ((this->dyna.actor.textId == 0) || Actor_TextboxIsClosing(&this->dyna.actor, play)) {
|
||||
play->nextEntranceIndex = 0xE20;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -456,13 +456,13 @@ void ObjTokeidai_TowerOpening_EndCutscene(ObjTokeidai* this, PlayState* play) {
|
||||
gSaveContext.save.cutscene = 0;
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
gSaveContext.respawnFlag = 2;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->nextEntranceIndex = gSaveContext.respawn[RESPAWN_MODE_RETURN].entranceIndex;
|
||||
play->unk_1887F = 2;
|
||||
play->transitionType = TRANS_TYPE_02;
|
||||
if (gSaveContext.respawn[RESPAWN_MODE_RETURN].playerParams == 0xCFF) {
|
||||
gSaveContext.nextTransition = 0x15;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_21;
|
||||
} else {
|
||||
gSaveContext.nextTransition = 2;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_02;
|
||||
}
|
||||
}
|
||||
this->actionFunc = ObjTokeidai_DoNothing;
|
||||
|
||||
@@ -109,15 +109,15 @@ void func_808A7C78(ObjWturn* this, PlayState* play) {
|
||||
player->actor.world.pos.y = this->actor.world.pos.y + this->unk_14A * 4.0f;
|
||||
Play_CameraSetAtEyeUp(play, this->camId, &player->actor.focus.pos, &camera->eye, &D_808A7DC0);
|
||||
if (this->unk_14A == 1) {
|
||||
play->unk_1887F = 0x40;
|
||||
gSaveContext.nextTransition = 3;
|
||||
play->transitionType = TRANS_TYPE_64;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_03;
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
if (play->sceneNum == 0x58) {
|
||||
play->nextEntranceIndex = 0xAC00;
|
||||
} else {
|
||||
play->nextEntranceIndex = 0xAA10;
|
||||
}
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -681,6 +681,14 @@ wordReplace = {
|
||||
"play->msgCtx.unk11F22": "play->msgCtx.msgMode",
|
||||
"play->msgCtx.unk11F04": "play->msgCtx.currentTextId",
|
||||
|
||||
"play->sceneLoadFlag": "play->transitionTrigger",
|
||||
"play->unk_18B4A": "play->transitionMode",
|
||||
"play->unk_1887F": "play->transitionType",
|
||||
"gSaveContext.nextTransition": "gSaveContext.nextTransitionType",
|
||||
"gSaveContext.unk_3F48": "gSaveContext.cutsceneTransitionControl",
|
||||
"gSaveContext.fadeDuration": "gSaveContext.transFadeDuration",
|
||||
"gSaveContext.fadeSpeed": "gSaveContext.transWipeSpeed"
|
||||
|
||||
"D_801D15B0" : "gZeroVec3f",
|
||||
"D_801D15BC" : "gZeroVec3s",
|
||||
"D_801D1DE0" : "gIdentityMtx",
|
||||
|
||||
Reference in New Issue
Block a user