mirror of
https://github.com/zeldaret/oot.git
synced 2025-06-07 17:11:50 +00:00
Merge 09e5526ba1
into 484abb1d39
This commit is contained in:
commit
d5a340faa5
33 changed files with 275 additions and 233 deletions
|
@ -353,7 +353,6 @@ typedef union CsCmdCam {
|
|||
s32 _words[2];
|
||||
} CsCmdCam; // size = 0x8
|
||||
|
||||
|
||||
typedef union CsCmdMisc {
|
||||
struct {
|
||||
/* 0x00 */ u16 type;
|
||||
|
|
|
@ -401,6 +401,7 @@ typedef enum SceneLayer {
|
|||
} SceneLayer;
|
||||
|
||||
#define IS_CUTSCENE_LAYER (gSaveContext.sceneLayer >= SCENE_LAYER_CUTSCENE_FIRST)
|
||||
#define GET_CUTSCENE_LAYER(index) (SCENE_LAYER_CUTSCENE_FIRST + (index & 0xF))
|
||||
|
||||
typedef enum LinkAge {
|
||||
/* 0 */ LINK_AGE_ADULT,
|
||||
|
@ -408,6 +409,47 @@ typedef enum LinkAge {
|
|||
} LinkAge;
|
||||
|
||||
|
||||
// Values that indicate that no cutscene script should be played
|
||||
// (or that an "unscripted" cutscene is playing). The names "night"
|
||||
// and "day" are leftover from the original meaning of the cutscene
|
||||
// index (called "day_time"), and only map select uses these values
|
||||
// to indicate time of day (to set gSaveContext.save.nightFlag).
|
||||
#define CS_INDEX_NONE 0x0000
|
||||
#define CS_INDEX_NIGHT CS_INDEX_NONE
|
||||
#define CS_INDEX_DAY 0x8000
|
||||
|
||||
// Values 0xFFF0-0xFFFF indicate that a cutscene script should be played.
|
||||
// If the value of `nextCutsceneIndex` is 0xFFF0-0xFFFF on scene load,
|
||||
// `Play_Init` will copy the value to `gSaveContext.cutsceneIndex`, load a
|
||||
// corresponding scene layer and start the scripted cutscene in the scene layer
|
||||
// (except for the value 0xFFFD, which is special-cased to do nothing in `Play_Init`).
|
||||
// It loads layer 4 for 0xFFF0, layer 5 for 0xFFF1, and so on.
|
||||
//
|
||||
// The cutsceneIndex could also be set to one of these values to start a
|
||||
// scripted cutscene immediately. In the vanilla game, this is used to play
|
||||
// the cutscene where the barrier in Ganon's Castle is dispelled (using index 0xFFFF)
|
||||
// and to preview cutscenes in debug mode (using index 0xFFFD).
|
||||
#define CS_INDEX_0 0xFFF0
|
||||
#define CS_INDEX_1 0xFFF1
|
||||
#define CS_INDEX_2 0xFFF2
|
||||
#define CS_INDEX_3 0xFFF3
|
||||
#define CS_INDEX_4 0xFFF4
|
||||
#define CS_INDEX_5 0xFFF5
|
||||
#define CS_INDEX_6 0xFFF6
|
||||
#define CS_INDEX_7 0xFFF7
|
||||
#define CS_INDEX_8 0xFFF8
|
||||
#define CS_INDEX_9 0xFFF9
|
||||
#define CS_INDEX_A 0xFFFA
|
||||
#define CS_INDEX_B 0xFFFB
|
||||
#define CS_INDEX_C 0xFFFC
|
||||
#define CS_INDEX_D 0xFFFD // does not load a cutscene scene layer (see above)
|
||||
#define CS_INDEX_E 0xFFFE
|
||||
#define CS_INDEX_F 0xFFFF
|
||||
|
||||
// Sentinel value for `nextCutsceneIndex` to indicate that no cutscene should be played next.
|
||||
#define NEXT_CS_INDEX_NONE 0xFFEF
|
||||
|
||||
|
||||
#define LINK_IS_ADULT (gSaveContext.save.linkAge == LINK_AGE_ADULT)
|
||||
#define LINK_IS_CHILD (gSaveContext.save.linkAge == LINK_AGE_CHILD)
|
||||
|
||||
|
|
|
@ -2204,7 +2204,7 @@ s32 DebugCamera_UpdateDemoControl(DebugCam* debugCam, Camera* cam) {
|
|||
|
||||
if (CHECK_BTN_ALL(sPlay->state.input[1].press.button, BTN_CRIGHT)) {
|
||||
gUseCutsceneCam = false;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFFD;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_D;
|
||||
gSaveContext.cutsceneTrigger = 1;
|
||||
sDebugCamAnim.curFrame = 0.0f;
|
||||
sDebugCamAnim.keyframe = 0;
|
||||
|
|
|
@ -25,7 +25,7 @@ void SaveContext_Init(void) {
|
|||
gSaveContext.seqId = (u8)NA_BGM_DISABLED;
|
||||
gSaveContext.natureAmbienceId = NATURE_ID_DISABLED;
|
||||
gSaveContext.forcedSeqId = NA_BGM_GENERAL_SFX;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFEF;
|
||||
gSaveContext.nextCutsceneIndex = NEXT_CS_INDEX_NONE;
|
||||
gSaveContext.cutsceneTrigger = 0;
|
||||
gSaveContext.chamberCutsceneNum = CHAMBER_CS_FOREST;
|
||||
gSaveContext.nextDayTime = NEXT_TIME_NONE;
|
||||
|
|
|
@ -202,7 +202,7 @@ void Cutscene_StopManual(PlayState* play, CutsceneContext* csCtx) {
|
|||
}
|
||||
|
||||
void Cutscene_UpdateManual(PlayState* play, CutsceneContext* csCtx) {
|
||||
if (gSaveContext.save.cutsceneIndex < 0xFFF0) {
|
||||
if (gSaveContext.save.cutsceneIndex < CS_INDEX_0) {
|
||||
sManualCutsceneHandlers[csCtx->state](play, csCtx);
|
||||
}
|
||||
}
|
||||
|
@ -214,14 +214,14 @@ void Cutscene_UpdateScripted(PlayState* play, CutsceneContext* csCtx) {
|
|||
|
||||
if (CHECK_BTN_ALL(input->press.button, BTN_DLEFT) && (csCtx->state == CS_STATE_IDLE) && IS_CUTSCENE_LAYER) {
|
||||
gUseCutsceneCam = false;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFFD;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_D;
|
||||
gSaveContext.cutsceneTrigger = 1;
|
||||
}
|
||||
|
||||
if (CHECK_BTN_ALL(input->press.button, BTN_DUP) && (csCtx->state == CS_STATE_IDLE) && IS_CUTSCENE_LAYER &&
|
||||
!gDebugCamEnabled) {
|
||||
gUseCutsceneCam = true;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFFD;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_D;
|
||||
gSaveContext.cutsceneTrigger = 1;
|
||||
}
|
||||
}
|
||||
|
@ -233,11 +233,11 @@ void Cutscene_UpdateScripted(PlayState* play, CutsceneContext* csCtx) {
|
|||
|
||||
if ((gSaveContext.cutsceneTrigger != 0) && (csCtx->state == CS_STATE_IDLE)) {
|
||||
PRINTF(T("\nデモ開始要求 発令!", "\nDemo start request issued!"));
|
||||
gSaveContext.save.cutsceneIndex = 0xFFFD;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_D;
|
||||
gSaveContext.cutsceneTrigger = 1;
|
||||
}
|
||||
|
||||
if (gSaveContext.save.cutsceneIndex >= 0xFFF0) {
|
||||
if (gSaveContext.save.cutsceneIndex >= CS_INDEX_0) {
|
||||
Cutscene_SetupScripted(play, csCtx);
|
||||
sScriptedCutsceneHandlers[csCtx->state](play, csCtx);
|
||||
}
|
||||
|
@ -617,54 +617,54 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
gSaveContext.forceRisingButtonAlphas = true;
|
||||
}
|
||||
|
||||
gSaveContext.save.cutsceneIndex = 0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_NONE;
|
||||
|
||||
switch (cmd->destination) {
|
||||
case CS_DEST_CUTSCENE_MAP_GANON_HORSE:
|
||||
play->nextEntranceIndex = ENTR_CUTSCENE_MAP_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF1;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_1;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
||||
case CS_DEST_CUTSCENE_MAP_THREE_GODDESSES:
|
||||
play->nextEntranceIndex = ENTR_CUTSCENE_MAP_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FILL_WHITE;
|
||||
break;
|
||||
|
||||
case CS_DEST_GERUDO_VALLEY_DIN_PART_1:
|
||||
play->nextEntranceIndex = ENTR_GERUDO_VALLEY_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF1;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_1;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FILL_WHITE;
|
||||
break;
|
||||
|
||||
case CS_DEST_DEATH_MOUNTAIN_TRAIL_NAYRU:
|
||||
play->nextEntranceIndex = ENTR_DEATH_MOUNTAIN_TRAIL_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FILL_WHITE;
|
||||
break;
|
||||
|
||||
case CS_DEST_KOKIRI_FOREST_FARORE:
|
||||
play->nextEntranceIndex = ENTR_KOKIRI_FOREST_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FILL_WHITE;
|
||||
break;
|
||||
|
||||
case CS_DEST_CUTSCENE_MAP_TRIFORCE_CREATION:
|
||||
play->nextEntranceIndex = ENTR_CUTSCENE_MAP_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF2;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_2;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FILL_WHITE;
|
||||
break;
|
||||
|
||||
case CS_DEST_KOKIRI_FOREST_RECEIVE_KOKIRI_EMERALD:
|
||||
play->nextEntranceIndex = ENTR_KOKIRI_FOREST_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF2;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_2;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_INSTANT;
|
||||
break;
|
||||
|
@ -677,7 +677,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
SET_EVENTCHKINF(EVENTCHKINF_45);
|
||||
play->nextEntranceIndex = ENTR_CUTSCENE_MAP_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF3;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_3;
|
||||
play->transitionType = TRANS_TYPE_INSTANT;
|
||||
} else {
|
||||
if (!IS_CUTSCENE_LAYER) {
|
||||
|
@ -697,21 +697,21 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
|
||||
case CS_DEST_GERUDO_VALLEY_DIN_PART_2:
|
||||
play->nextEntranceIndex = ENTR_GERUDO_VALLEY_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FILL_BROWN;
|
||||
break;
|
||||
|
||||
case CS_DEST_LINKS_HOUSE_INTRO:
|
||||
play->nextEntranceIndex = ENTR_LINKS_HOUSE_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
||||
case CS_DEST_KOKIRI_FOREST_INTRO:
|
||||
play->nextEntranceIndex = ENTR_KOKIRI_FOREST_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF3;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_3;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
|
@ -738,21 +738,21 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
case CS_DEST_TEMPLE_OF_TIME_KOKIRI_EMERALD_RESTORED:
|
||||
play->nextEntranceIndex = ENTR_TEMPLE_OF_TIME_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF4;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_4;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
|
||||
case CS_DEST_TEMPLE_OF_TIME_GORON_RUBY_RESTORED:
|
||||
play->nextEntranceIndex = ENTR_TEMPLE_OF_TIME_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF5;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_5;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
|
||||
case CS_DEST_TEMPLE_OF_TIME_ZORAS_SAPPHIRE_RESTORED:
|
||||
play->nextEntranceIndex = ENTR_TEMPLE_OF_TIME_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF6;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_6;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
|
||||
|
@ -770,13 +770,13 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
play->nextEntranceIndex = ENTR_DEATH_MOUNTAIN_TRAIL_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
||||
gSaveContext.save.cutsceneIndex = 0x8000;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_DAY;
|
||||
break;
|
||||
|
||||
case CS_DEST_LAKE_HYLIA_WATER_RESTORED:
|
||||
play->nextEntranceIndex = ENTR_LAKE_HYLIA_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_0;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
|
||||
|
@ -784,14 +784,14 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
Item_Give(play, ITEM_SONG_REQUIEM);
|
||||
play->nextEntranceIndex = ENTR_DESERT_COLOSSUS_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_0;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
|
||||
case CS_DEST_CUTSCENE_MAP_GANONDORF_DEFEATED_CREDITS:
|
||||
play->nextEntranceIndex = ENTR_CUTSCENE_MAP_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF8;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_8;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
|
||||
|
@ -805,28 +805,28 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
play->linkAgeOnLoad = LINK_AGE_ADULT;
|
||||
play->nextEntranceIndex = ENTR_CHAMBER_OF_THE_SAGES_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_0;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
|
||||
case CS_DEST_TEMPLE_OF_TIME_KOKIRI_EMERALD_RESTORED_2:
|
||||
play->nextEntranceIndex = ENTR_TEMPLE_OF_TIME_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF4;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_4;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
|
||||
case CS_DEST_TEMPLE_OF_TIME_GORON_RUBY_RESTORED_2:
|
||||
play->nextEntranceIndex = ENTR_TEMPLE_OF_TIME_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF5;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_5;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
|
||||
case CS_DEST_TEMPLE_OF_TIME_ZORAS_SAPPHIRE_RESTORED_2:
|
||||
play->nextEntranceIndex = ENTR_TEMPLE_OF_TIME_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF6;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_6;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
|
||||
|
@ -856,7 +856,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
play->linkAgeOnLoad = LINK_AGE_CHILD;
|
||||
play->nextEntranceIndex = ENTR_HYRULE_FIELD_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF2;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_2;
|
||||
play->transitionType = TRANS_TYPE_INSTANT;
|
||||
break;
|
||||
|
||||
|
@ -869,28 +869,28 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
case CS_DEST_CUTSCENE_MAP_GANONDORF_FROM_MASTER_SWORD:
|
||||
play->nextEntranceIndex = ENTR_CUTSCENE_MAP_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF3;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_3;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
|
||||
case CS_DEST_HYRULE_FIELD_INTRO_DREAM:
|
||||
play->nextEntranceIndex = ENTR_HYRULE_FIELD_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_0;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
||||
break;
|
||||
|
||||
case CS_DEST_CUTSCENE_MAP_SHEIKAH_LEGEND:
|
||||
play->nextEntranceIndex = ENTR_CUTSCENE_MAP_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF4;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_4;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
||||
break;
|
||||
|
||||
case CS_DEST_TEMPLE_OF_TIME_ZELDA_REVEAL:
|
||||
play->nextEntranceIndex = ENTR_TEMPLE_OF_TIME_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF9;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_9;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
||||
break;
|
||||
|
||||
|
@ -898,7 +898,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
play->linkAgeOnLoad = LINK_AGE_ADULT;
|
||||
play->nextEntranceIndex = ENTR_TEMPLE_OF_TIME_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFFA;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_A;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
||||
break;
|
||||
|
||||
|
@ -911,7 +911,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
case CS_DEST_KAKARIKO_VILLAGE_DRAIN_WELL:
|
||||
play->nextEntranceIndex = ENTR_KAKARIKO_VILLAGE_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF2;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_2;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
||||
break;
|
||||
|
||||
|
@ -941,7 +941,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
SET_EVENTCHKINF(EVENTCHKINF_54);
|
||||
play->nextEntranceIndex = ENTR_KAKARIKO_VILLAGE_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF1;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_1;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
||||
break;
|
||||
|
||||
|
@ -966,14 +966,14 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
|
||||
case CS_DEST_HYRULE_FIELD_FROM_ZELDAS_COURTYARD:
|
||||
play->nextEntranceIndex = ENTR_HYRULE_FIELD_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF8;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_8;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_CIRCLE(TCA_NORMAL, TCC_WHITE, TCS_SLOW);
|
||||
break;
|
||||
|
||||
case CS_DEST_TEMPLE_OF_TIME_SONG_OF_TIME:
|
||||
play->nextEntranceIndex = ENTR_TEMPLE_OF_TIME_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF7;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_7;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_INSTANT;
|
||||
break;
|
||||
|
@ -991,56 +991,56 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
#endif
|
||||
play->linkAgeOnLoad = LINK_AGE_CHILD;
|
||||
play->nextEntranceIndex = ENTR_GERUDO_VALLEY_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF2;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_2;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
||||
case CS_DEST_GERUDO_FORTRESS_CREDITS:
|
||||
play->nextEntranceIndex = ENTR_GERUDOS_FORTRESS_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF1;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_1;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
||||
case CS_DEST_KAKARIKO_VILLAGE_CREDITS:
|
||||
play->nextEntranceIndex = ENTR_KAKARIKO_VILLAGE_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF4;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_4;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
||||
case CS_DEST_DEATH_MOUNTAIN_TRAIL_CREDITS_PART_1:
|
||||
play->nextEntranceIndex = ENTR_DEATH_MOUNTAIN_TRAIL_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF3;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_3;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
||||
case CS_DEST_GORON_CITY_CREDITS:
|
||||
play->nextEntranceIndex = ENTR_GORON_CITY_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF1;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_1;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
||||
case CS_DEST_LAKE_HYLIA_CREDITS:
|
||||
play->nextEntranceIndex = ENTR_LAKE_HYLIA_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF1;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_1;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
||||
case CS_DEST_ZORAS_FOUNTAIN_CREDITS:
|
||||
play->nextEntranceIndex = ENTR_ZORAS_FOUNTAIN_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF2;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_2;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
||||
case CS_DEST_ZORAS_DOMAIN_CREDITS:
|
||||
play->nextEntranceIndex = ENTR_ZORAS_DOMAIN_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
@ -1048,21 +1048,21 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
case CS_DEST_KOKIRI_FOREST_CREDITS_PART_1:
|
||||
play->linkAgeOnLoad = LINK_AGE_ADULT;
|
||||
play->nextEntranceIndex = ENTR_KOKIRI_FOREST_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF6;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_6;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
||||
case CS_DEST_KOKIRI_FOREST_CREDITS_PART_2:
|
||||
play->nextEntranceIndex = ENTR_KOKIRI_FOREST_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF7;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_7;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
||||
case CS_DEST_HYRULE_FIELD_CREDITS:
|
||||
play->nextEntranceIndex = ENTR_HYRULE_FIELD_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF5;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_5;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
@ -1070,7 +1070,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
case CS_DEST_LON_LON_RANCH_CREDITS_PART_1_ALT:
|
||||
play->linkAgeOnLoad = LINK_AGE_CHILD;
|
||||
play->nextEntranceIndex = ENTR_LON_LON_RANCH_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF2;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_2;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
@ -1090,7 +1090,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
case CS_DEST_CUTSCENE_MAP_DEKU_SPROUT_PART_2:
|
||||
play->nextEntranceIndex = ENTR_CUTSCENE_MAP_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF5;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_5;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
||||
|
@ -1103,7 +1103,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
case CS_DEST_DEATH_MOUNTAIN_TRAIL_CREDITS_PART_2:
|
||||
play->nextEntranceIndex = ENTR_DEATH_MOUNTAIN_TRAIL_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF4;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_4;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
@ -1116,14 +1116,14 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
play->linkAgeOnLoad = LINK_AGE_CHILD;
|
||||
play->nextEntranceIndex = ENTR_TEMPLE_OF_TIME_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF1;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_1;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
||||
case CS_DEST_ZELDAS_COURTYARD_CREDITS:
|
||||
play->nextEntranceIndex = ENTR_CASTLE_COURTYARD_ZELDA_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_0;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
@ -1132,14 +1132,14 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
play->linkAgeOnLoad = LINK_AGE_CHILD;
|
||||
play->nextEntranceIndex = ENTR_LON_LON_RANCH_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF2;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_2;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
||||
case CS_DEST_LON_LON_RANCH_CREDITS_PART_2:
|
||||
play->nextEntranceIndex = ENTR_LON_LON_RANCH_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF3;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_3;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
|
@ -1148,7 +1148,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
play->linkAgeOnLoad = LINK_AGE_CHILD;
|
||||
play->nextEntranceIndex = ENTR_LON_LON_RANCH_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF4;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_4;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
||||
|
@ -1156,7 +1156,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
play->linkAgeOnLoad = LINK_AGE_ADULT;
|
||||
play->nextEntranceIndex = ENTR_LON_LON_RANCH_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF5;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_5;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
||||
|
@ -1164,14 +1164,14 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
play->linkAgeOnLoad = LINK_AGE_CHILD;
|
||||
play->nextEntranceIndex = ENTR_LON_LON_RANCH_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF6;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_6;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
||||
case CS_DEST_LON_LON_RANCH_CREDITS_PART_5:
|
||||
play->nextEntranceIndex = ENTR_LON_LON_RANCH_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF7;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_7;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
||||
|
@ -1211,7 +1211,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
GET_EVENTCHKINF(EVENTCHKINF_4A)) {
|
||||
play->nextEntranceIndex = ENTR_TEMPLE_OF_TIME_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF3;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_3;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
} else {
|
||||
switch (gSaveContext.sceneLayer) {
|
||||
|
@ -1230,7 +1230,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
case 10:
|
||||
play->nextEntranceIndex = ENTR_LAKE_HYLIA_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_0;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
}
|
||||
|
@ -1241,7 +1241,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
if (CHECK_QUEST_ITEM(QUEST_MEDALLION_SHADOW)) {
|
||||
play->nextEntranceIndex = ENTR_CHAMBER_OF_THE_SAGES_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF1;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_1;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE_FAST;
|
||||
} else {
|
||||
SET_EVENTCHKINF(EVENTCHKINF_C8);
|
||||
|
@ -1256,7 +1256,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
if (CHECK_QUEST_ITEM(QUEST_MEDALLION_SPIRIT)) {
|
||||
play->nextEntranceIndex = ENTR_CHAMBER_OF_THE_SAGES_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF1;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_1;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE_FAST;
|
||||
} else {
|
||||
play->nextEntranceIndex = ENTR_GRAVEYARD_8;
|
||||
|
@ -1282,7 +1282,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
|
||||
case CS_DEST_KOKIRI_FOREST_FROM_CHAMBER_OF_SAGES:
|
||||
play->nextEntranceIndex = ENTR_KOKIRI_FOREST_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF8;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_8;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_WHITE;
|
||||
|
@ -1303,7 +1303,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
case CS_DEST_HYRULE_FIELD_TITLE_SCREEN:
|
||||
play->nextEntranceIndex = ENTR_HYRULE_FIELD_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF3;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_3;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
||||
|
@ -1312,7 +1312,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
case TITLE_DEMO_SPIRIT_TEMPLE:
|
||||
play->nextEntranceIndex = ENTR_SPIRIT_TEMPLE_BOSS_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF2;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_2;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
sTitleDemoDestination++;
|
||||
break;
|
||||
|
@ -1320,7 +1320,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
case TITLE_DEMO_DEATH_MOUNTAIN_CRATER:
|
||||
play->nextEntranceIndex = ENTR_DEATH_MOUNTAIN_CRATER_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF1;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_1;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
sTitleDemoDestination++;
|
||||
break;
|
||||
|
@ -1328,7 +1328,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
case TITLE_DEMO_GANONDORF_HORSE:
|
||||
play->nextEntranceIndex = ENTR_CUTSCENE_MAP_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF6;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_6;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
sTitleDemoDestination = TITLE_DEMO_SPIRIT_TEMPLE;
|
||||
break;
|
||||
|
@ -1338,7 +1338,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
case CS_DEST_GRAVEYARD_SUNS_SONG_PART_2:
|
||||
play->nextEntranceIndex = ENTR_GRAVEYARD_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF1;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_1;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
||||
|
@ -1391,10 +1391,10 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
play->csCtx.script = SEGMENTED_TO_VIRTUAL(gTowerBarrierCs);
|
||||
play->csCtx.curFrame = 0;
|
||||
gSaveContext.cutsceneTrigger = 1;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFFF;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_F;
|
||||
csCtx->state = CS_STATE_STOP;
|
||||
} else {
|
||||
gSaveContext.save.cutsceneIndex = 0xFFFF;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_F;
|
||||
csCtx->state = CS_STATE_STOP;
|
||||
}
|
||||
break;
|
||||
|
@ -1431,7 +1431,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
Audio_SetSfxBanksMute(0x6F);
|
||||
play->linkAgeOnLoad = LINK_AGE_ADULT;
|
||||
play->nextEntranceIndex = ENTR_HYRULE_FIELD_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF7;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_7;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
|
@ -2240,7 +2240,7 @@ void Cutscene_ProcessScript(PlayState* play, CutsceneContext* csCtx, u8* script)
|
|||
}
|
||||
|
||||
void CutsceneHandler_RunScript(PlayState* play, CutsceneContext* csCtx) {
|
||||
if (gSaveContext.save.cutsceneIndex >= 0xFFF0) {
|
||||
if (gSaveContext.save.cutsceneIndex >= CS_INDEX_0) {
|
||||
#if DEBUG_FEATURES
|
||||
if (BREG(0) != 0) {
|
||||
Gfx* displayList;
|
||||
|
@ -2293,7 +2293,7 @@ void CutsceneHandler_StopScript(PlayState* play, CutsceneContext* csCtx) {
|
|||
|
||||
PRINTF(T("\n\n\n\n\nやっぱりここかいな", "\n\n\n\n\nThis is it after all"));
|
||||
|
||||
gSaveContext.save.cutsceneIndex = 0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_NONE;
|
||||
gSaveContext.gameMode = GAMEMODE_NORMAL;
|
||||
|
||||
if (gUseCutsceneCam) {
|
||||
|
@ -2319,10 +2319,10 @@ void Cutscene_SetupScripted(PlayState* play, CutsceneContext* csCtx) {
|
|||
u8 i;
|
||||
|
||||
if ((gSaveContext.cutsceneTrigger != 0) && (csCtx->state == CS_STATE_IDLE) && !Player_InCsMode(play)) {
|
||||
gSaveContext.save.cutsceneIndex = 0xFFFD;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_D;
|
||||
}
|
||||
|
||||
if ((gSaveContext.save.cutsceneIndex >= 0xFFF0) && (csCtx->state == CS_STATE_IDLE)) {
|
||||
if ((gSaveContext.save.cutsceneIndex >= CS_INDEX_0) && (csCtx->state == CS_STATE_IDLE)) {
|
||||
CutsceneFlags_Unset(play, 0);
|
||||
|
||||
sCurTextId = 0;
|
||||
|
@ -2404,7 +2404,7 @@ void Cutscene_HandleEntranceTriggers(PlayState* play) {
|
|||
|
||||
if ((gSaveContext.save.entranceIndex == entranceCutscene->entrance) &&
|
||||
(!Flags_GetEventChkInf(entranceCutscene->flag) || (entranceCutscene->flag == EVENTCHKINF_EPONA_OBTAINED)) &&
|
||||
(gSaveContext.save.cutsceneIndex < 0xFFF0) && ((u8)gSaveContext.save.linkAge == requiredAge) &&
|
||||
(gSaveContext.save.cutsceneIndex < CS_INDEX_0) && ((u8)gSaveContext.save.linkAge == requiredAge) &&
|
||||
(gSaveContext.respawnFlag <= 0)) {
|
||||
Flags_SetEventChkInf(entranceCutscene->flag);
|
||||
Cutscene_SetScript(play, entranceCutscene->script);
|
||||
|
@ -2419,32 +2419,32 @@ void Cutscene_HandleConditionalTriggers(PlayState* play) {
|
|||
PRINTF("\ngame_info.mode=[%d] restart_flag", ((void)0, gSaveContext.respawnFlag));
|
||||
|
||||
if ((gSaveContext.gameMode == GAMEMODE_NORMAL) && (gSaveContext.respawnFlag <= 0) &&
|
||||
(gSaveContext.save.cutsceneIndex < 0xFFF0)) {
|
||||
(gSaveContext.save.cutsceneIndex < CS_INDEX_0)) {
|
||||
if ((gSaveContext.save.entranceIndex == ENTR_DESERT_COLOSSUS_1) && !Flags_GetEventChkInf(EVENTCHKINF_AC)) {
|
||||
Flags_SetEventChkInf(EVENTCHKINF_AC);
|
||||
gSaveContext.save.entranceIndex = ENTR_DESERT_COLOSSUS_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_0;
|
||||
} else if ((gSaveContext.save.entranceIndex == ENTR_KAKARIKO_VILLAGE_0) && LINK_IS_ADULT &&
|
||||
GET_EVENTCHKINF(EVENTCHKINF_48) && GET_EVENTCHKINF(EVENTCHKINF_49) &&
|
||||
GET_EVENTCHKINF(EVENTCHKINF_4A) && !Flags_GetEventChkInf(EVENTCHKINF_AA)) {
|
||||
Flags_SetEventChkInf(EVENTCHKINF_AA);
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_0;
|
||||
} else if ((gSaveContext.save.entranceIndex == ENTR_LOST_WOODS_9) && !Flags_GetEventChkInf(EVENTCHKINF_C1)) {
|
||||
Flags_SetEventChkInf(EVENTCHKINF_C1);
|
||||
Item_Give(play, ITEM_OCARINA_FAIRY);
|
||||
gSaveContext.save.entranceIndex = ENTR_LOST_WOODS_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_0;
|
||||
} else if (CHECK_QUEST_ITEM(QUEST_MEDALLION_SPIRIT) && CHECK_QUEST_ITEM(QUEST_MEDALLION_SHADOW) &&
|
||||
LINK_IS_ADULT && !Flags_GetEventChkInf(EVENTCHKINF_C4) &&
|
||||
(gEntranceTable[((void)0, gSaveContext.save.entranceIndex)].sceneId == SCENE_TEMPLE_OF_TIME)) {
|
||||
Flags_SetEventChkInf(EVENTCHKINF_C4);
|
||||
gSaveContext.save.entranceIndex = ENTR_TEMPLE_OF_TIME_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF8;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_8;
|
||||
} else if (!Flags_GetEventChkInf(EVENTCHKINF_C7) &&
|
||||
(gEntranceTable[((void)0, gSaveContext.save.entranceIndex)].sceneId == SCENE_GANON_BOSS)) {
|
||||
Flags_SetEventChkInf(EVENTCHKINF_C7);
|
||||
gSaveContext.save.entranceIndex = ENTR_GANON_BOSS_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -164,15 +164,15 @@ typedef struct HorseCutsceneSpawn {
|
|||
|
||||
void Horse_SetupInCutscene(PlayState* play, Player* player) {
|
||||
static HorseCutsceneSpawn horseSpawns[] = {
|
||||
{ SCENE_GERUDOS_FORTRESS, 0xFFF0, { 3600, 1413, 360 }, 0x8001, HORSE_PTYPE_HORSEBACK_ARCHERY },
|
||||
{ SCENE_LON_LON_RANCH, 0xFFF0, { -250, 1, -1580 }, 0x4000, HORSE_PTYPE_6 }, // Horse Race
|
||||
{ SCENE_LON_LON_RANCH, 0xFFF1, { 0, 0, 0 }, 0x0000, HORSE_PTYPE_5 }, // Learned Epona's Song
|
||||
{ SCENE_LON_LON_RANCH, 0xFFF5, { 0, 0, 0 }, 0x0000, HORSE_PTYPE_7 }, // Credits
|
||||
{ SCENE_HYRULE_FIELD, 0xFFF3, { -2961, 313, 7700 }, 0x0000, HORSE_PTYPE_7 }, // Title Screen
|
||||
{ SCENE_HYRULE_FIELD, 0xFFF4, { -1900, 313, 7015 }, 0x0000, HORSE_PTYPE_7 },
|
||||
{ SCENE_HYRULE_FIELD, 0xFFF5, { -4043, 313, 6933 }, 0x0000, HORSE_PTYPE_7 }, // Credits
|
||||
{ SCENE_HYRULE_FIELD, 0xFFF6, { -4043, 313, 6933 }, 0x0000, HORSE_PTYPE_7 }, // Unused. Hopping Lon Lon
|
||||
// Ranch North Gate
|
||||
{ SCENE_GERUDOS_FORTRESS, CS_INDEX_0, { 3600, 1413, 360 }, 0x8001, HORSE_PTYPE_HORSEBACK_ARCHERY },
|
||||
{ SCENE_LON_LON_RANCH, CS_INDEX_0, { -250, 1, -1580 }, 0x4000, HORSE_PTYPE_6 }, // Horse Race
|
||||
{ SCENE_LON_LON_RANCH, CS_INDEX_1, { 0, 0, 0 }, 0x0000, HORSE_PTYPE_5 }, // Learned Epona's Song
|
||||
{ SCENE_LON_LON_RANCH, CS_INDEX_5, { 0, 0, 0 }, 0x0000, HORSE_PTYPE_7 }, // Credits
|
||||
{ SCENE_HYRULE_FIELD, CS_INDEX_3, { -2961, 313, 7700 }, 0x0000, HORSE_PTYPE_7 }, // Title Screen
|
||||
{ SCENE_HYRULE_FIELD, CS_INDEX_4, { -1900, 313, 7015 }, 0x0000, HORSE_PTYPE_7 },
|
||||
{ SCENE_HYRULE_FIELD, CS_INDEX_5, { -4043, 313, 6933 }, 0x0000, HORSE_PTYPE_7 }, // Credits
|
||||
{ SCENE_HYRULE_FIELD, CS_INDEX_6, { -4043, 313, 6933 }, 0x0000, HORSE_PTYPE_7 }, // Unused. Hopping Lon Lon
|
||||
// Ranch North Gate
|
||||
};
|
||||
s32 pad;
|
||||
s32 i;
|
||||
|
@ -235,7 +235,7 @@ void Horse_SetupInCutscene(PlayState* play, Player* player) {
|
|||
(((void)0, gSaveContext.save.cutsceneIndex) == horseSpawns[i].cutsceneIndex)) {
|
||||
if (horseSpawns[i].type == HORSE_PTYPE_7) {
|
||||
if ((play->sceneId == SCENE_LON_LON_RANCH) &&
|
||||
(((void)0, gSaveContext.save.cutsceneIndex) == 0xFFF1)) {
|
||||
(((void)0, gSaveContext.save.cutsceneIndex) == CS_INDEX_1)) {
|
||||
horseSpawns[i].pos.x = player->actor.world.pos.x;
|
||||
horseSpawns[i].pos.y = player->actor.world.pos.y;
|
||||
horseSpawns[i].pos.z = player->actor.world.pos.z;
|
||||
|
|
|
@ -72,9 +72,9 @@ void KaleidoSetup_Update(PlayState* play) {
|
|||
|
||||
if (!IS_PAUSED(pauseCtx) && play->gameOverCtx.state == GAMEOVER_INACTIVE &&
|
||||
play->transitionTrigger == TRANS_TRIGGER_OFF && play->transitionMode == TRANS_MODE_OFF &&
|
||||
gSaveContext.save.cutsceneIndex < 0xFFF0 && gSaveContext.nextCutsceneIndex < 0xFFF0 && !Play_InCsMode(play) &&
|
||||
play->shootingGalleryStatus <= 1 && gSaveContext.magicState != MAGIC_STATE_STEP_CAPACITY &&
|
||||
gSaveContext.magicState != MAGIC_STATE_FILL &&
|
||||
gSaveContext.save.cutsceneIndex < CS_INDEX_0 && gSaveContext.nextCutsceneIndex < CS_INDEX_0 &&
|
||||
!Play_InCsMode(play) && play->shootingGalleryStatus <= 1 &&
|
||||
gSaveContext.magicState != MAGIC_STATE_STEP_CAPACITY && gSaveContext.magicState != MAGIC_STATE_FILL &&
|
||||
(play->sceneId != SCENE_BOMBCHU_BOWLING_ALLEY || !Flags_GetSwitch(play, 0x38))) {
|
||||
|
||||
if (CHECK_BTN_ALL(input->cur.button, BTN_L) && CHECK_BTN_ALL(input->press.button, BTN_CUP)) {
|
||||
|
|
|
@ -2642,7 +2642,7 @@ void Environment_StopStormNatureAmbience(PlayState* play) {
|
|||
|
||||
void Environment_WarpSongLeave(PlayState* play) {
|
||||
gWeatherMode = WEATHER_MODE_CLEAR;
|
||||
gSaveContext.save.cutsceneIndex = 0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_NONE;
|
||||
gSaveContext.respawnFlag = -3;
|
||||
play->nextEntranceIndex = gSaveContext.respawn[RESPAWN_MODE_RETURN].entranceIndex;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
|
|
|
@ -4429,7 +4429,7 @@ void Message_Update(PlayState* play) {
|
|||
|
||||
if (msgCtx->textId != 0x2061 && msgCtx->textId != 0x2025 && msgCtx->textId != 0x208C &&
|
||||
((msgCtx->textId < 0x88D || msgCtx->textId >= 0x893) || msgCtx->choiceIndex != 0) &&
|
||||
(msgCtx->textId != 0x3055 && gSaveContext.save.cutsceneIndex < 0xFFF0)) {
|
||||
(msgCtx->textId != 0x3055 && gSaveContext.save.cutsceneIndex < CS_INDEX_0)) {
|
||||
PRINTF("=== day_time=%x ", ((void)0, gSaveContext.save.cutsceneIndex));
|
||||
if (play->activeCamId == CAM_ID_MAIN) {
|
||||
if (gSaveContext.prevHudVisibilityMode == HUD_VISIBILITY_NO_CHANGE ||
|
||||
|
|
|
@ -670,8 +670,8 @@ void func_80083108(PlayState* play) {
|
|||
s16 i;
|
||||
s16 sp28 = false;
|
||||
|
||||
if ((gSaveContext.save.cutsceneIndex < 0xFFF0) ||
|
||||
((play->sceneId == SCENE_LON_LON_RANCH) && (gSaveContext.save.cutsceneIndex == 0xFFF0))) {
|
||||
if ((gSaveContext.save.cutsceneIndex < CS_INDEX_0) ||
|
||||
((play->sceneId == SCENE_LON_LON_RANCH) && (gSaveContext.save.cutsceneIndex == CS_INDEX_0))) {
|
||||
gSaveContext.forceRisingButtonAlphas = false;
|
||||
|
||||
if ((player->stateFlags1 & PLAYER_STATE1_23) || (play->shootingGalleryStatus > 1) ||
|
||||
|
@ -3564,7 +3564,7 @@ void Interface_Draw(PlayState* play) {
|
|||
(Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT)) {
|
||||
// Trade quest timer reached 0
|
||||
sSubTimerStateTimer = 40;
|
||||
gSaveContext.save.cutsceneIndex = 0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_NONE;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
gSaveContext.subTimerState = SUBTIMER_STATE_OFF;
|
||||
|
@ -3902,7 +3902,7 @@ void Interface_Draw(PlayState* play) {
|
|||
(play->sceneId != SCENE_INSIDE_GANONS_CASTLE_COLLAPSE))) {
|
||||
sSubTimerStateTimer = 40;
|
||||
gSaveContext.subTimerState = SUBTIMER_STATE_RESPAWN;
|
||||
gSaveContext.save.cutsceneIndex = 0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_NONE;
|
||||
Message_StartTextbox(play, 0x71B0, NULL);
|
||||
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_8);
|
||||
} else {
|
||||
|
|
|
@ -93,7 +93,7 @@ void Play_SetViewpoint(PlayState* this, s16 viewpoint) {
|
|||
|
||||
this->viewpoint = viewpoint;
|
||||
|
||||
if ((R_SCENE_CAM_TYPE != SCENE_CAM_TYPE_FIXED_SHOP_VIEWPOINT) && (gSaveContext.save.cutsceneIndex < 0xFFF0)) {
|
||||
if ((R_SCENE_CAM_TYPE != SCENE_CAM_TYPE_FIXED_SHOP_VIEWPOINT) && (gSaveContext.save.cutsceneIndex < CS_INDEX_0)) {
|
||||
// Play a sfx when the player toggles the camera
|
||||
Audio_PlaySfxGeneral((viewpoint == VIEWPOINT_LOCKED) ? NA_SE_SY_CAMERA_ZOOM_DOWN : NA_SE_SY_CAMERA_ZOOM_UP,
|
||||
&gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale,
|
||||
|
@ -348,13 +348,13 @@ void Play_Init(GameState* thisx) {
|
|||
AnimTaskQueue_Reset(&this->animTaskQueue);
|
||||
Cutscene_InitContext(this, &this->csCtx);
|
||||
|
||||
if (gSaveContext.nextCutsceneIndex != 0xFFEF) {
|
||||
if (gSaveContext.nextCutsceneIndex != NEXT_CS_INDEX_NONE) {
|
||||
gSaveContext.save.cutsceneIndex = gSaveContext.nextCutsceneIndex;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFEF;
|
||||
gSaveContext.nextCutsceneIndex = NEXT_CS_INDEX_NONE;
|
||||
}
|
||||
|
||||
if (gSaveContext.save.cutsceneIndex == 0xFFFD) {
|
||||
gSaveContext.save.cutsceneIndex = 0;
|
||||
if (gSaveContext.save.cutsceneIndex == CS_INDEX_D) {
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_NONE;
|
||||
}
|
||||
|
||||
if (gSaveContext.nextDayTime != NEXT_TIME_NONE) {
|
||||
|
@ -370,10 +370,10 @@ void Play_Init(GameState* thisx) {
|
|||
|
||||
Cutscene_HandleConditionalTriggers(this);
|
||||
|
||||
if (gSaveContext.gameMode != GAMEMODE_NORMAL || gSaveContext.save.cutsceneIndex >= 0xFFF0) {
|
||||
if (gSaveContext.gameMode != GAMEMODE_NORMAL || gSaveContext.save.cutsceneIndex >= CS_INDEX_0) {
|
||||
gSaveContext.nayrusLoveTimer = 0;
|
||||
Magic_Reset(this);
|
||||
gSaveContext.sceneLayer = SCENE_LAYER_CUTSCENE_FIRST + (gSaveContext.save.cutsceneIndex & 0xF);
|
||||
gSaveContext.sceneLayer = GET_CUTSCENE_LAYER(gSaveContext.save.cutsceneIndex);
|
||||
} else if (!LINK_IS_ADULT && IS_DAY) {
|
||||
gSaveContext.sceneLayer = SCENE_LAYER_CHILD_DAY;
|
||||
} else if (!LINK_IS_ADULT && !IS_DAY) {
|
||||
|
@ -623,7 +623,7 @@ void Play_Update(PlayState* this) {
|
|||
|
||||
Interface_ChangeHudVisibilityMode(HUD_VISIBILITY_NOTHING);
|
||||
|
||||
if (gSaveContext.save.cutsceneIndex >= 0xFFF0) {
|
||||
if (gSaveContext.save.cutsceneIndex >= CS_INDEX_0) {
|
||||
sceneLayer = SCENE_LAYER_CUTSCENE_FIRST + (gSaveContext.save.cutsceneIndex & 0xF);
|
||||
}
|
||||
|
||||
|
|
|
@ -396,7 +396,7 @@ BAD_RETURN(s32) Scene_CommandTimeSettings(PlayState* play, SceneCmd* cmd) {
|
|||
play->envCtx.sunPos.y = (Math_CosS(((void)0, gSaveContext.save.dayTime) - CLOCK_TIME(12, 0)) * 120.0f) * 25.0f;
|
||||
play->envCtx.sunPos.z = (Math_CosS(((void)0, gSaveContext.save.dayTime) - CLOCK_TIME(12, 0)) * 20.0f) * 25.0f;
|
||||
|
||||
if (((play->envCtx.sceneTimeSpeed == 0) && (gSaveContext.save.cutsceneIndex < 0xFFF0)) ||
|
||||
if (((play->envCtx.sceneTimeSpeed == 0) && (gSaveContext.save.cutsceneIndex < CS_INDEX_0)) ||
|
||||
(gSaveContext.save.entranceIndex == ENTR_LAKE_HYLIA_8)) {
|
||||
#if OOT_VERSION >= PAL_1_0
|
||||
gSaveContext.skyboxTime = ((void)0, gSaveContext.save.dayTime);
|
||||
|
@ -459,7 +459,7 @@ BAD_RETURN(s32) Scene_CommandAlternateHeaderList(PlayState* play, SceneCmd* cmd)
|
|||
PRINTF("\n[ZU]sceneset time =[%X]", ((void)0, gSaveContext.save.cutsceneIndex));
|
||||
PRINTF("\n[ZU]sceneset counter=[%X]", ((void)0, gSaveContext.sceneLayer));
|
||||
|
||||
if (gSaveContext.sceneLayer != 0) {
|
||||
if (gSaveContext.sceneLayer != SCENE_LAYER_CHILD_DAY) {
|
||||
SceneCmd* altHeader = ((SceneCmd**)SEGMENTED_TO_VIRTUAL(cmd->altHeaders.data))[gSaveContext.sceneLayer - 1];
|
||||
|
||||
if (altHeader != NULL) {
|
||||
|
@ -502,7 +502,7 @@ BAD_RETURN(s32) Scene_CommandMiscSettings(PlayState* play, SceneCmd* cmd) {
|
|||
|
||||
if (((play->sceneId >= SCENE_HYRULE_FIELD) && (play->sceneId <= SCENE_OUTSIDE_GANONS_CASTLE)) ||
|
||||
((play->sceneId >= SCENE_MARKET_ENTRANCE_DAY) && (play->sceneId <= SCENE_TEMPLE_OF_TIME_EXTERIOR_RUINS))) {
|
||||
if (gSaveContext.save.cutsceneIndex < 0xFFF0) {
|
||||
if (gSaveContext.save.cutsceneIndex < CS_INDEX_0) {
|
||||
gSaveContext.save.info.worldMapAreaData |= gBitFlags[((void)0, gSaveContext.worldMapArea)];
|
||||
PRINTF("000 area_arrival=%x (%d)\n", gSaveContext.save.info.worldMapAreaData,
|
||||
((void)0, gSaveContext.worldMapArea));
|
||||
|
@ -515,15 +515,15 @@ void Scene_SetTransitionForNextEntrance(PlayState* play) {
|
|||
|
||||
if (!IS_DAY) {
|
||||
if (!LINK_IS_ADULT) {
|
||||
entranceIndex = play->nextEntranceIndex + 1;
|
||||
entranceIndex = play->nextEntranceIndex + SCENE_LAYER_CHILD_NIGHT;
|
||||
} else {
|
||||
entranceIndex = play->nextEntranceIndex + 3;
|
||||
entranceIndex = play->nextEntranceIndex + SCENE_LAYER_ADULT_NIGHT;
|
||||
}
|
||||
} else {
|
||||
if (!LINK_IS_ADULT) {
|
||||
entranceIndex = play->nextEntranceIndex;
|
||||
entranceIndex = play->nextEntranceIndex + SCENE_LAYER_CHILD_DAY;
|
||||
} else {
|
||||
entranceIndex = play->nextEntranceIndex + 2;
|
||||
entranceIndex = play->nextEntranceIndex + SCENE_LAYER_ADULT_DAY;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -859,11 +859,11 @@ void Sram_InitSave(FileSelectState* fileSelect, SramContext* sramCtx) {
|
|||
gSaveContext.save.entranceIndex = ENTR_LINKS_HOUSE_0;
|
||||
gSaveContext.save.linkAge = LINK_AGE_CHILD;
|
||||
gSaveContext.save.dayTime = CLOCK_TIME(10, 0);
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF1;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_1;
|
||||
|
||||
#if DEBUG_FEATURES
|
||||
if (fileSelect->buttonIndex == 0) {
|
||||
gSaveContext.save.cutsceneIndex = 0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_NONE;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
@ -53,7 +53,7 @@ void BgInGate_Init(Actor* thisx, PlayState* play) {
|
|||
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, &this->dyna.actor, colHeader);
|
||||
|
||||
if ((play->sceneId != SCENE_LON_LON_RANCH || !LINK_IS_ADULT) ||
|
||||
(GET_EVENTCHKINF(EVENTCHKINF_EPONA_OBTAINED) && (gSaveContext.save.cutsceneIndex != 0xFFF0))) {
|
||||
(GET_EVENTCHKINF(EVENTCHKINF_EPONA_OBTAINED) && (gSaveContext.save.cutsceneIndex != CS_INDEX_0))) {
|
||||
Actor_Kill(&this->dyna.actor);
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -119,7 +119,7 @@ void BgRelayObjects_Destroy(Actor* thisx, PlayState* play) {
|
|||
BgRelayObjects* this = (BgRelayObjects*)thisx;
|
||||
|
||||
DynaPoly_DeleteBgActor(play, &play->colCtx.dyna, this->dyna.bgId);
|
||||
if ((this->dyna.actor.params == WINDMILL_ROTATING_GEAR) && (gSaveContext.save.cutsceneIndex < 0xFFF0)) {
|
||||
if ((this->dyna.actor.params == WINDMILL_ROTATING_GEAR) && (gSaveContext.save.cutsceneIndex < CS_INDEX_0)) {
|
||||
CLEAR_EVENTCHKINF(EVENTCHKINF_65);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -231,7 +231,7 @@ void BgSpot00Hanebasi_Update(Actor* thisx, PlayState* play) {
|
|||
this->actionFunc = BgSpot00Hanebasi_DoNothing;
|
||||
Player_SetCsActionWithHaltedActors(play, &player->actor, PLAYER_CSACTION_8);
|
||||
play->nextEntranceIndex = ENTR_HYRULE_FIELD_0;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF1;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_1;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
||||
} else if (Actor_IsFacingAndNearPlayer(&this->dyna.actor, 3000.0f, 0x7530)) {
|
||||
|
|
|
@ -2130,7 +2130,7 @@ void func_8090120C(BossGanon2* this, PlayState* play) {
|
|||
FALLTHROUGH;
|
||||
case 20:
|
||||
play->nextEntranceIndex = ENTR_CHAMBER_OF_THE_SAGES_0;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF2;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_2;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
play->linkAgeOnLoad = LINK_AGE_CHILD;
|
||||
|
|
|
@ -509,7 +509,7 @@ void DoorWarp1_ChildWarpOut(DoorWarp1* this, PlayState* play) {
|
|||
Math_SmoothStepToF(&this->lightRayAlpha, 0.0f, 0.2f, 6.0f, 0.01f);
|
||||
this->warpTimer++;
|
||||
|
||||
if (sWarpTimerTarget < this->warpTimer && gSaveContext.nextCutsceneIndex == 0xFFEF) {
|
||||
if (sWarpTimerTarget < this->warpTimer && gSaveContext.nextCutsceneIndex == NEXT_CS_INDEX_NONE) {
|
||||
PRINTF(T("\n\n\nじかんがきたからおーしまい fade_direction=[%d]",
|
||||
"\n\n\nThe time has come, so it's over. fade_direction=[%d]"),
|
||||
play->transitionTrigger, TRANS_TRIGGER_START);
|
||||
|
@ -519,10 +519,10 @@ void DoorWarp1_ChildWarpOut(DoorWarp1* this, PlayState* play) {
|
|||
Flags_SetEventChkInf(EVENTCHKINF_25);
|
||||
Item_Give(play, ITEM_GORON_RUBY);
|
||||
play->nextEntranceIndex = ENTR_DEATH_MOUNTAIN_TRAIL_0;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF1;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_1;
|
||||
} else {
|
||||
play->nextEntranceIndex = ENTR_DEATH_MOUNTAIN_TRAIL_5;
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_NONE;
|
||||
}
|
||||
} else if (play->sceneId == SCENE_DEKU_TREE_BOSS) {
|
||||
if (!Flags_GetEventChkInf(EVENTCHKINF_07)) {
|
||||
|
@ -530,14 +530,14 @@ void DoorWarp1_ChildWarpOut(DoorWarp1* this, PlayState* play) {
|
|||
Flags_SetEventChkInf(EVENTCHKINF_09);
|
||||
Item_Give(play, ITEM_KOKIRI_EMERALD);
|
||||
play->nextEntranceIndex = ENTR_KOKIRI_FOREST_0;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF1;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_1;
|
||||
} else {
|
||||
play->nextEntranceIndex = ENTR_KOKIRI_FOREST_11;
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_NONE;
|
||||
}
|
||||
} else if (play->sceneId == SCENE_JABU_JABU_BOSS) {
|
||||
play->nextEntranceIndex = ENTR_ZORAS_FOUNTAIN_0;
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_NONE;
|
||||
}
|
||||
PRINTF(T("\n\n\nおわりおわり", "\n\n\nThe end The end"));
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
|
@ -622,11 +622,11 @@ void DoorWarp1_RutoWarpOut(DoorWarp1* this, PlayState* play) {
|
|||
Math_SmoothStepToF(&this->lightRayAlpha, 0.0f, 0.2f, 6.0f, 0.01f);
|
||||
this->warpTimer++;
|
||||
|
||||
if (this->warpTimer > sWarpTimerTarget && gSaveContext.nextCutsceneIndex == 0xFFEF) {
|
||||
if (this->warpTimer > sWarpTimerTarget && gSaveContext.nextCutsceneIndex == NEXT_CS_INDEX_NONE) {
|
||||
SET_EVENTCHKINF(EVENTCHKINF_37);
|
||||
Item_Give(play, ITEM_ZORA_SAPPHIRE);
|
||||
play->nextEntranceIndex = ENTR_ZORAS_FOUNTAIN_0;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF0;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE_SLOW;
|
||||
}
|
||||
|
@ -722,13 +722,13 @@ void DoorWarp1_AdultWarpOut(DoorWarp1* this, PlayState* play) {
|
|||
}
|
||||
this->warpTimer++;
|
||||
|
||||
if (this->warpTimer > sWarpTimerTarget && gSaveContext.nextCutsceneIndex == 0xFFEF) {
|
||||
if (this->warpTimer > sWarpTimerTarget && gSaveContext.nextCutsceneIndex == NEXT_CS_INDEX_NONE) {
|
||||
if (play->sceneId == SCENE_FOREST_TEMPLE_BOSS) {
|
||||
if (!GET_EVENTCHKINF(EVENTCHKINF_48)) {
|
||||
SET_EVENTCHKINF(EVENTCHKINF_48);
|
||||
Item_Give(play, ITEM_MEDALLION_FOREST);
|
||||
play->nextEntranceIndex = ENTR_CHAMBER_OF_THE_SAGES_0;
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_NONE;
|
||||
gSaveContext.chamberCutsceneNum = CHAMBER_CS_FOREST;
|
||||
} else {
|
||||
if (!LINK_IS_ADULT) {
|
||||
|
@ -736,28 +736,28 @@ void DoorWarp1_AdultWarpOut(DoorWarp1* this, PlayState* play) {
|
|||
} else {
|
||||
play->nextEntranceIndex = ENTR_SACRED_FOREST_MEADOW_3;
|
||||
}
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_NONE;
|
||||
}
|
||||
} else if (play->sceneId == SCENE_FIRE_TEMPLE_BOSS) {
|
||||
if (!GET_EVENTCHKINF(EVENTCHKINF_49)) {
|
||||
SET_EVENTCHKINF(EVENTCHKINF_49);
|
||||
Item_Give(play, ITEM_MEDALLION_FIRE);
|
||||
play->nextEntranceIndex = ENTR_KAKARIKO_VILLAGE_0;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF3;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_3;
|
||||
} else {
|
||||
if (!LINK_IS_ADULT) {
|
||||
play->nextEntranceIndex = ENTR_DEATH_MOUNTAIN_CRATER_4;
|
||||
} else {
|
||||
play->nextEntranceIndex = ENTR_DEATH_MOUNTAIN_CRATER_5;
|
||||
}
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_NONE;
|
||||
}
|
||||
} else if (play->sceneId == SCENE_WATER_TEMPLE_BOSS) {
|
||||
if (!GET_EVENTCHKINF(EVENTCHKINF_4A)) {
|
||||
SET_EVENTCHKINF(EVENTCHKINF_4A);
|
||||
Item_Give(play, ITEM_MEDALLION_WATER);
|
||||
play->nextEntranceIndex = ENTR_CHAMBER_OF_THE_SAGES_0;
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_NONE;
|
||||
gSaveContext.chamberCutsceneNum = CHAMBER_CS_WATER;
|
||||
} else {
|
||||
if (!LINK_IS_ADULT) {
|
||||
|
@ -765,13 +765,13 @@ void DoorWarp1_AdultWarpOut(DoorWarp1* this, PlayState* play) {
|
|||
} else {
|
||||
play->nextEntranceIndex = ENTR_LAKE_HYLIA_9;
|
||||
}
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_NONE;
|
||||
}
|
||||
} else if (play->sceneId == SCENE_SPIRIT_TEMPLE_BOSS) {
|
||||
if (!CHECK_QUEST_ITEM(QUEST_MEDALLION_SPIRIT)) {
|
||||
Item_Give(play, ITEM_MEDALLION_SPIRIT);
|
||||
play->nextEntranceIndex = ENTR_CHAMBER_OF_THE_SAGES_0;
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_NONE;
|
||||
gSaveContext.chamberCutsceneNum = CHAMBER_CS_SPIRIT;
|
||||
} else {
|
||||
if (!LINK_IS_ADULT) {
|
||||
|
@ -779,13 +779,13 @@ void DoorWarp1_AdultWarpOut(DoorWarp1* this, PlayState* play) {
|
|||
} else {
|
||||
play->nextEntranceIndex = ENTR_DESERT_COLOSSUS_8;
|
||||
}
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_NONE;
|
||||
}
|
||||
} else if (play->sceneId == SCENE_SHADOW_TEMPLE_BOSS) {
|
||||
if (!CHECK_QUEST_ITEM(QUEST_MEDALLION_SHADOW)) {
|
||||
Item_Give(play, ITEM_MEDALLION_SHADOW);
|
||||
play->nextEntranceIndex = ENTR_CHAMBER_OF_THE_SAGES_0;
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_NONE;
|
||||
gSaveContext.chamberCutsceneNum = CHAMBER_CS_SHADOW;
|
||||
} else {
|
||||
if (!LINK_IS_ADULT) {
|
||||
|
@ -793,7 +793,7 @@ void DoorWarp1_AdultWarpOut(DoorWarp1* this, PlayState* play) {
|
|||
} else {
|
||||
play->nextEntranceIndex = ENTR_GRAVEYARD_8;
|
||||
}
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_NONE;
|
||||
}
|
||||
}
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
|
|
|
@ -307,7 +307,7 @@ void EnDu_Init(Actor* thisx, PlayState* play) {
|
|||
this->actor.attentionRangeType = ATTENTION_RANGE_1;
|
||||
this->interactInfo.talkState = NPC_TALK_STATE_IDLE;
|
||||
|
||||
if (gSaveContext.save.cutsceneIndex >= 0xFFF0) {
|
||||
if (gSaveContext.save.cutsceneIndex >= CS_INDEX_0) {
|
||||
play->csCtx.script = SEGMENTED_TO_VIRTUAL(gGoronCityDaruniaDancingCs);
|
||||
gSaveContext.cutsceneTrigger = 1;
|
||||
EnDu_SetupAction(this, func_809FE890);
|
||||
|
|
|
@ -593,7 +593,7 @@ void EnGe1_BeginGame_Archery(EnGe1* this, PlayState* play) {
|
|||
} else {
|
||||
Rupees_ChangeBy(-20);
|
||||
play->nextEntranceIndex = ENTR_GERUDOS_FORTRESS_0;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF0;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_0;
|
||||
play->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_BLACK, TCS_FAST);
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
SET_EVENTINF(EVENTINF_HORSES_08);
|
||||
|
|
|
@ -2569,7 +2569,7 @@ void EnHorse_UpdateHorsebackArchery(EnHorse* this, PlayState* play) {
|
|||
EnHorse_UpdateHbaRaceInfo(this, play, &sHbaInfo);
|
||||
if ((this->hbaFlags & 1) || (this->hbaTimer >= 46)) {
|
||||
if ((isFanfarePlaying != true) && (gSaveContext.minigameState != 3)) {
|
||||
gSaveContext.save.cutsceneIndex = 0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_NONE;
|
||||
play->nextEntranceIndex = ENTR_GERUDOS_FORTRESS_16;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_CIRCLE(TCA_NORMAL, TCC_BLACK, TCS_FAST);
|
||||
|
|
|
@ -121,7 +121,7 @@ s32 EnHorseGameCheck_DestroyIngoRace(EnHorseGameCheckBase* base, PlayState* play
|
|||
}
|
||||
|
||||
void EnHorseGameCheck_FinishIngoRace(EnHorseGameCheckIngoRace* this, PlayState* play) {
|
||||
gSaveContext.save.cutsceneIndex = 0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_NONE;
|
||||
if (this->result == INGO_RACE_PLAYER_WIN) {
|
||||
play->nextEntranceIndex = ENTR_LON_LON_RANCH_7;
|
||||
if (GET_EVENTINF(EVENTINF_INGO_RACE_SECOND_RACE)) {
|
||||
|
@ -308,20 +308,20 @@ s32 EnHorseGameCheck_DestroyMalonRace(EnHorseGameCheckBase* base, PlayState* pla
|
|||
|
||||
void EnHorseGameCheck_FinishMalonRace(EnHorseGameCheckMalonRace* this, PlayState* play) {
|
||||
if ((this->result == MALONRACE_SUCCESS) || (this->result == MALONRACE_TIME_UP)) {
|
||||
gSaveContext.save.cutsceneIndex = 0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_NONE;
|
||||
play->nextEntranceIndex = ENTR_LON_LON_RANCH_7;
|
||||
play->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_WHITE, TCS_FAST);
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
} else if (this->result == MALONRACE_FAILURE) {
|
||||
gSaveContext.timerSeconds = 240;
|
||||
gSaveContext.timerState = TIMER_STATE_UP_FREEZE;
|
||||
gSaveContext.save.cutsceneIndex = 0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_NONE;
|
||||
play->nextEntranceIndex = ENTR_LON_LON_RANCH_7;
|
||||
play->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_WHITE, TCS_FAST);
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
} else {
|
||||
PRINTF(T("En_HGC_Spot20_Ta_end():対応せず\n", "En_HGC_Spot20_Ta_end(): not supported\n"));
|
||||
gSaveContext.save.cutsceneIndex = 0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_NONE;
|
||||
play->nextEntranceIndex = ENTR_LON_LON_RANCH_0;
|
||||
play->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_WHITE, TCS_FAST);
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
|
|
|
@ -375,7 +375,7 @@ void func_80A6A068(EnHorseLinkChild* this, PlayState* play) {
|
|||
}
|
||||
|
||||
if ((GET_EVENTCHKINF(EVENTCHKINF_CAN_LEARN_EPONAS_SONG) && R_EPONAS_SONG_PLAYED) ||
|
||||
((play->sceneId == SCENE_LON_LON_RANCH) && (gSaveContext.save.cutsceneIndex == 0xFFF1))) {
|
||||
((play->sceneId == SCENE_LON_LON_RANCH) && (gSaveContext.save.cutsceneIndex == CS_INDEX_1))) {
|
||||
func_80A6A4DC(this);
|
||||
} else {
|
||||
this->unk_2A0 = GET_EVENTCHKINF(EVENTCHKINF_CAN_LEARN_EPONAS_SONG);
|
||||
|
|
|
@ -457,7 +457,7 @@ void func_80A79BAC(EnIn* this, PlayState* play, s32 index, u32 transitionType) {
|
|||
|
||||
play->nextEntranceIndex = entrances[index];
|
||||
if (index == 2) {
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF0;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_0;
|
||||
}
|
||||
play->transitionType = transitionType;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
|
|
|
@ -394,7 +394,7 @@ void EnMa1_WaitForPlayback(EnMa1* this, PlayState* play) {
|
|||
GET_PLAYER(play)->stateFlags2 |= PLAYER_STATE2_23;
|
||||
if (play->msgCtx.ocarinaMode == OCARINA_MODE_03) {
|
||||
play->nextEntranceIndex = ENTR_LON_LON_RANCH_0;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF1;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_1;
|
||||
play->transitionType = TRANS_TYPE_CIRCLE(TCA_WAVE, TCC_WHITE, TCS_FAST);
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
this->actionFunc = EnMa1_DoNothing;
|
||||
|
|
|
@ -133,7 +133,7 @@ s16 EnMa3_UpdateTalkState(PlayState* play, Actor* thisx) {
|
|||
case TEXT_STATE_EVENT:
|
||||
if (Message_ShouldAdvance(play)) {
|
||||
play->nextEntranceIndex = ENTR_LON_LON_RANCH_0;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF0;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_0;
|
||||
play->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_BLACK, TCS_FAST);
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
SET_EVENTINF(EVENTINF_HORSES_0A);
|
||||
|
|
|
@ -393,7 +393,7 @@ void EnSa_ChangeAnim(EnSa* this, s32 index) {
|
|||
}
|
||||
|
||||
s32 func_80AF5DFC(EnSa* this, PlayState* play) {
|
||||
if (gSaveContext.save.cutsceneIndex >= 0xFFF0 && gSaveContext.save.cutsceneIndex != 0xFFFD) {
|
||||
if (gSaveContext.save.cutsceneIndex >= CS_INDEX_0 && gSaveContext.save.cutsceneIndex != CS_INDEX_D) {
|
||||
if (play->sceneId == SCENE_KOKIRI_FOREST) {
|
||||
return 4;
|
||||
}
|
||||
|
|
|
@ -796,7 +796,7 @@ s32 EnZl4_CsAskName(EnZl4* this, PlayState* play) {
|
|||
if (this->talkTimer2 == 130) {
|
||||
play->msgCtx.msgMode = MSGMODE_PAUSED;
|
||||
play->nextEntranceIndex = ENTR_CUTSCENE_MAP_0;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF7;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_7;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
}
|
||||
|
|
|
@ -52,7 +52,7 @@ void ObjDekujr_Init(Actor* thisx, PlayState* play) {
|
|||
ObjDekujr* this = (ObjDekujr*)thisx;
|
||||
s32 pad;
|
||||
|
||||
if (gSaveContext.save.cutsceneIndex < 0xFFF0) {
|
||||
if (gSaveContext.save.cutsceneIndex < CS_INDEX_0) {
|
||||
if (!LINK_IS_ADULT) {
|
||||
Actor_Kill(thisx);
|
||||
return;
|
||||
|
@ -148,7 +148,7 @@ void ObjDekujr_Update(Actor* thisx, PlayState* play) {
|
|||
|
||||
Collider_UpdateCylinder(&this->actor, &this->collider);
|
||||
CollisionCheck_SetOC(play, &play->colChkCtx, &this->collider.base);
|
||||
if ((gSaveContext.save.cutsceneIndex >= 0xFFF0) && (this->unk_19B == 0)) {
|
||||
if ((gSaveContext.save.cutsceneIndex >= CS_INDEX_0) && (this->unk_19B == 0)) {
|
||||
this->unk_19C = 0;
|
||||
this->unk_19B = 1;
|
||||
}
|
||||
|
|
|
@ -10798,7 +10798,7 @@ void Player_Init(Actor* thisx, PlayState* play2) {
|
|||
startMode = PLAYER_GET_START_MODE(thisx);
|
||||
|
||||
if ((startMode == PLAYER_START_MODE_WARP_SONG) || (startMode == PLAYER_START_MODE_FARORES_WIND)) {
|
||||
if (gSaveContext.save.cutsceneIndex >= 0xFFF0) {
|
||||
if (gSaveContext.save.cutsceneIndex >= CS_INDEX_0) {
|
||||
startMode = PLAYER_START_MODE_IDLE;
|
||||
}
|
||||
}
|
||||
|
@ -13722,7 +13722,7 @@ s32 func_8084DFF4(PlayState* play, Player* this) {
|
|||
if (this->getItemId == GI_SILVER_GAUNTLETS) {
|
||||
play->nextEntranceIndex = ENTR_DESERT_COLOSSUS_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF1;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_1;
|
||||
play->transitionType = TRANS_TYPE_SANDSTORM_END;
|
||||
this->stateFlags1 &= ~PLAYER_STATE1_29;
|
||||
Player_TryCsAction(play, NULL, PLAYER_CSACTION_8);
|
||||
|
|
|
@ -1921,7 +1921,7 @@ void FileSelect_LoadGame(GameState* thisx) {
|
|||
gSaveContext.forcedSeqId = NA_BGM_GENERAL_SFX;
|
||||
gSaveContext.skyboxTime = CLOCK_TIME(0, 0);
|
||||
gSaveContext.nextTransitionType = TRANS_NEXT_TYPE_DEFAULT;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFEF;
|
||||
gSaveContext.nextCutsceneIndex = NEXT_CS_INDEX_NONE;
|
||||
gSaveContext.cutsceneTrigger = 0;
|
||||
gSaveContext.chamberCutsceneNum = CHAMBER_CS_FOREST;
|
||||
gSaveContext.nextDayTime = NEXT_TIME_NONE;
|
||||
|
|
|
@ -19,8 +19,9 @@ void TitleSetup_SetupTitleScreen(TitleSetupState* this) {
|
|||
this->state.running = false;
|
||||
gSaveContext.save.linkAge = LINK_AGE_ADULT;
|
||||
Sram_InitDebugSave();
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF3;
|
||||
gSaveContext.sceneLayer = 7;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_3;
|
||||
// assigning scene layer here is redundant, as Play_Init sets it right away
|
||||
gSaveContext.sceneLayer = GET_CUTSCENE_LAYER(CS_INDEX_3);
|
||||
SET_NEXT_GAMESTATE(&this->state, Play_Init, PlayState);
|
||||
}
|
||||
|
||||
|
|
|
@ -310,65 +310,65 @@ void MapSelect_UpdateMenu(MapSelectState* this) {
|
|||
}
|
||||
|
||||
if (CHECK_BTN_ALL(input->press.button, BTN_Z)) {
|
||||
if (gSaveContext.save.cutsceneIndex == 0x8000) {
|
||||
gSaveContext.save.cutsceneIndex = 0;
|
||||
} else if (gSaveContext.save.cutsceneIndex == 0) {
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF0;
|
||||
} else if (gSaveContext.save.cutsceneIndex == 0xFFF0) {
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF1;
|
||||
} else if (gSaveContext.save.cutsceneIndex == 0xFFF1) {
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF2;
|
||||
} else if (gSaveContext.save.cutsceneIndex == 0xFFF2) {
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF3;
|
||||
} else if (gSaveContext.save.cutsceneIndex == 0xFFF3) {
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF4;
|
||||
} else if (gSaveContext.save.cutsceneIndex == 0xFFF4) {
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF5;
|
||||
} else if (gSaveContext.save.cutsceneIndex == 0xFFF5) {
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF6;
|
||||
} else if (gSaveContext.save.cutsceneIndex == 0xFFF6) {
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF7;
|
||||
} else if (gSaveContext.save.cutsceneIndex == 0xFFF7) {
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF8;
|
||||
} else if (gSaveContext.save.cutsceneIndex == 0xFFF8) {
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF9;
|
||||
} else if (gSaveContext.save.cutsceneIndex == 0xFFF9) {
|
||||
gSaveContext.save.cutsceneIndex = 0xFFFA;
|
||||
} else if (gSaveContext.save.cutsceneIndex == 0xFFFA) {
|
||||
gSaveContext.save.cutsceneIndex = 0x8000;
|
||||
if (gSaveContext.save.cutsceneIndex == CS_INDEX_DAY) {
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_NIGHT;
|
||||
} else if (gSaveContext.save.cutsceneIndex == CS_INDEX_NIGHT) {
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_0;
|
||||
} else if (gSaveContext.save.cutsceneIndex == CS_INDEX_0) {
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_1;
|
||||
} else if (gSaveContext.save.cutsceneIndex == CS_INDEX_1) {
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_2;
|
||||
} else if (gSaveContext.save.cutsceneIndex == CS_INDEX_2) {
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_3;
|
||||
} else if (gSaveContext.save.cutsceneIndex == CS_INDEX_3) {
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_4;
|
||||
} else if (gSaveContext.save.cutsceneIndex == CS_INDEX_4) {
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_5;
|
||||
} else if (gSaveContext.save.cutsceneIndex == CS_INDEX_5) {
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_6;
|
||||
} else if (gSaveContext.save.cutsceneIndex == CS_INDEX_6) {
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_7;
|
||||
} else if (gSaveContext.save.cutsceneIndex == CS_INDEX_7) {
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_8;
|
||||
} else if (gSaveContext.save.cutsceneIndex == CS_INDEX_8) {
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_9;
|
||||
} else if (gSaveContext.save.cutsceneIndex == CS_INDEX_9) {
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_A;
|
||||
} else if (gSaveContext.save.cutsceneIndex == CS_INDEX_A) {
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_DAY;
|
||||
}
|
||||
} else if (CHECK_BTN_ALL(input->press.button, BTN_R)) {
|
||||
if (gSaveContext.save.cutsceneIndex == 0x8000) {
|
||||
gSaveContext.save.cutsceneIndex = 0xFFFA;
|
||||
} else if (gSaveContext.save.cutsceneIndex == 0) {
|
||||
gSaveContext.save.cutsceneIndex = 0x8000;
|
||||
} else if (gSaveContext.save.cutsceneIndex == 0xFFF0) {
|
||||
gSaveContext.save.cutsceneIndex = 0;
|
||||
} else if (gSaveContext.save.cutsceneIndex == 0xFFF1) {
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF0;
|
||||
} else if (gSaveContext.save.cutsceneIndex == 0xFFF2) {
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF1;
|
||||
} else if (gSaveContext.save.cutsceneIndex == 0xFFF3) {
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF2;
|
||||
} else if (gSaveContext.save.cutsceneIndex == 0xFFF4) {
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF3;
|
||||
} else if (gSaveContext.save.cutsceneIndex == 0xFFF5) {
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF4;
|
||||
} else if (gSaveContext.save.cutsceneIndex == 0xFFF6) {
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF5;
|
||||
} else if (gSaveContext.save.cutsceneIndex == 0xFFF7) {
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF6;
|
||||
} else if (gSaveContext.save.cutsceneIndex == 0xFFF8) {
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF7;
|
||||
} else if (gSaveContext.save.cutsceneIndex == 0xFFF9) {
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF8;
|
||||
} else if (gSaveContext.save.cutsceneIndex == 0xFFFA) {
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF9;
|
||||
if (gSaveContext.save.cutsceneIndex == CS_INDEX_DAY) {
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_A;
|
||||
} else if (gSaveContext.save.cutsceneIndex == CS_INDEX_NIGHT) {
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_DAY;
|
||||
} else if (gSaveContext.save.cutsceneIndex == CS_INDEX_0) {
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_NIGHT;
|
||||
} else if (gSaveContext.save.cutsceneIndex == CS_INDEX_1) {
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_0;
|
||||
} else if (gSaveContext.save.cutsceneIndex == CS_INDEX_2) {
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_1;
|
||||
} else if (gSaveContext.save.cutsceneIndex == CS_INDEX_3) {
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_2;
|
||||
} else if (gSaveContext.save.cutsceneIndex == CS_INDEX_4) {
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_3;
|
||||
} else if (gSaveContext.save.cutsceneIndex == CS_INDEX_5) {
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_4;
|
||||
} else if (gSaveContext.save.cutsceneIndex == CS_INDEX_6) {
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_5;
|
||||
} else if (gSaveContext.save.cutsceneIndex == CS_INDEX_7) {
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_6;
|
||||
} else if (gSaveContext.save.cutsceneIndex == CS_INDEX_8) {
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_7;
|
||||
} else if (gSaveContext.save.cutsceneIndex == CS_INDEX_9) {
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_8;
|
||||
} else if (gSaveContext.save.cutsceneIndex == CS_INDEX_A) {
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_9;
|
||||
}
|
||||
}
|
||||
|
||||
gSaveContext.save.nightFlag = 0;
|
||||
if (gSaveContext.save.cutsceneIndex == 0) {
|
||||
if (gSaveContext.save.cutsceneIndex == CS_INDEX_NIGHT) {
|
||||
gSaveContext.save.nightFlag = 1;
|
||||
}
|
||||
|
||||
|
@ -571,48 +571,48 @@ void MapSelect_PrintCutsceneSetting(MapSelectState* this, GfxPrint* printer, u16
|
|||
GfxPrint_SetColor(printer, 255, 255, 55, 255);
|
||||
|
||||
switch (csIndex) {
|
||||
case 0:
|
||||
case CS_INDEX_NIGHT:
|
||||
label = T(GFXP_HIRAGANA " ヨル " GFXP_KATAKANA "ゴロン", "Night");
|
||||
gSaveContext.save.dayTime = CLOCK_TIME(0, 0);
|
||||
break;
|
||||
case 0x8000:
|
||||
case CS_INDEX_DAY:
|
||||
// clang-format off
|
||||
gSaveContext.save.dayTime = CLOCK_TIME(12, 0); label = T(GFXP_HIRAGANA "オヒル " GFXP_KATAKANA "ジャラ", "Day");
|
||||
// clang-format on
|
||||
break;
|
||||
case 0xFFF0:
|
||||
case CS_INDEX_0:
|
||||
// clang-format off
|
||||
gSaveContext.save.dayTime = CLOCK_TIME(12, 0); label = T("デモ00", "Demo 00");
|
||||
// clang-format on
|
||||
break;
|
||||
case 0xFFF1:
|
||||
case CS_INDEX_1:
|
||||
label = T("デモ01", "Demo 01");
|
||||
break;
|
||||
case 0xFFF2:
|
||||
case CS_INDEX_2:
|
||||
label = T("デモ02", "Demo 02");
|
||||
break;
|
||||
case 0xFFF3:
|
||||
case CS_INDEX_3:
|
||||
label = T("デモ03", "Demo 03");
|
||||
break;
|
||||
case 0xFFF4:
|
||||
case CS_INDEX_4:
|
||||
label = T("デモ04", "Demo 04");
|
||||
break;
|
||||
case 0xFFF5:
|
||||
case CS_INDEX_5:
|
||||
label = T("デモ05", "Demo 05");
|
||||
break;
|
||||
case 0xFFF6:
|
||||
case CS_INDEX_6:
|
||||
label = T("デモ06", "Demo 06");
|
||||
break;
|
||||
case 0xFFF7:
|
||||
case CS_INDEX_7:
|
||||
label = T("デモ07", "Demo 07");
|
||||
break;
|
||||
case 0xFFF8:
|
||||
case CS_INDEX_8:
|
||||
label = T("デモ08", "Demo 08");
|
||||
break;
|
||||
case 0xFFF9:
|
||||
case CS_INDEX_9:
|
||||
label = T("デモ09", "Demo 09");
|
||||
break;
|
||||
case 0xFFFA:
|
||||
case CS_INDEX_A:
|
||||
label = T("デモ0A", "Demo 0A");
|
||||
break;
|
||||
};
|
||||
|
@ -742,6 +742,6 @@ void MapSelect_Init(GameState* thisx) {
|
|||
DMA_REQUEST_SYNC(this->staticSegment, (uintptr_t)_z_select_staticSegmentRomStart, size, "../z_select.c", 1115);
|
||||
}
|
||||
|
||||
gSaveContext.save.cutsceneIndex = 0x8000;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_DAY;
|
||||
gSaveContext.save.linkAge = LINK_AGE_CHILD;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue