mirror of
https://github.com/zeldaret/oot.git
synced 2025-07-05 23:44:53 +00:00
Introduce DEFINE_ENTRANCE for entrance table and create entrance enum (#1213)
* entrance table OK * entrance enum fixed * most entrances using enum, still need to do conditionals * more entrances * entrance_table.h cleanups * some review * remove _0 from first entrance in a group of setups * change table description * typo * wens spellcheck in vscode * remove extra line
This commit is contained in:
parent
95b4317931
commit
2efd00863a
43 changed files with 2478 additions and 2231 deletions
|
@ -5550,7 +5550,8 @@ s32 func_80038154(GlobalContext* globalCtx, Actor* actor, Vec3s* arg2, Vec3s* ar
|
|||
actor->focus.pos = actor->world.pos;
|
||||
actor->focus.pos.y += arg4;
|
||||
|
||||
if (!(((globalCtx->csCtx.state != CS_STATE_IDLE) || (gDbgCamEnabled)) && (gSaveContext.entranceIndex == 0x00EE))) {
|
||||
if (!(((globalCtx->csCtx.state != CS_STATE_IDLE) || (gDbgCamEnabled)) &&
|
||||
(gSaveContext.entranceIndex == ENTR_SPOT04_0))) {
|
||||
var = actor->yawTowardsPlayer - actor->shape.rot.y;
|
||||
abs_var = ABS(var);
|
||||
if (abs_var >= 0x4300) {
|
||||
|
@ -5559,7 +5560,8 @@ s32 func_80038154(GlobalContext* globalCtx, Actor* actor, Vec3s* arg2, Vec3s* ar
|
|||
}
|
||||
}
|
||||
|
||||
if (((globalCtx->csCtx.state != CS_STATE_IDLE) || (gDbgCamEnabled)) && (gSaveContext.entranceIndex == 0x00EE)) {
|
||||
if (((globalCtx->csCtx.state != CS_STATE_IDLE) || (gDbgCamEnabled)) &&
|
||||
(gSaveContext.entranceIndex == ENTR_SPOT04_0)) {
|
||||
sp2C = globalCtx->view.eye;
|
||||
} else {
|
||||
sp2C = player->actor.focus.pos;
|
||||
|
@ -5579,7 +5581,8 @@ s32 func_80038290(GlobalContext* globalCtx, Actor* actor, Vec3s* arg2, Vec3s* ar
|
|||
|
||||
actor->focus.pos = arg4;
|
||||
|
||||
if (!(((globalCtx->csCtx.state != CS_STATE_IDLE) || (gDbgCamEnabled)) && (gSaveContext.entranceIndex == 0x00EE))) {
|
||||
if (!(((globalCtx->csCtx.state != CS_STATE_IDLE) || (gDbgCamEnabled)) &&
|
||||
(gSaveContext.entranceIndex == ENTR_SPOT04_0))) {
|
||||
var = actor->yawTowardsPlayer - actor->shape.rot.y;
|
||||
abs_var = ABS(var);
|
||||
if (abs_var >= 0x4300) {
|
||||
|
@ -5588,7 +5591,8 @@ s32 func_80038290(GlobalContext* globalCtx, Actor* actor, Vec3s* arg2, Vec3s* ar
|
|||
}
|
||||
}
|
||||
|
||||
if (((globalCtx->csCtx.state != CS_STATE_IDLE) || (gDbgCamEnabled)) && (gSaveContext.entranceIndex == 0x00EE)) {
|
||||
if (((globalCtx->csCtx.state != CS_STATE_IDLE) || (gDbgCamEnabled)) &&
|
||||
(gSaveContext.entranceIndex == ENTR_SPOT04_0)) {
|
||||
sp24 = globalCtx->view.eye;
|
||||
} else {
|
||||
sp24 = player->actor.focus.pos;
|
||||
|
|
|
@ -52,40 +52,40 @@ CutsceneStateHandler sCsStateHandlers2[] = {
|
|||
u8 sTitleCsState = 0;
|
||||
|
||||
EntranceCutscene sEntranceCutsceneTable[] = {
|
||||
{ 0x0185, 2, EVENTCHKINF_A0, gHyruleFieldIntroCs },
|
||||
{ 0x013D, 2, EVENTCHKINF_A1, gDMTIntroCs },
|
||||
{ 0x00DB, 2, EVENTCHKINF_A3, gKakarikoVillageIntroCs },
|
||||
{ 0x0108, 2, EVENTCHKINF_A4, gZorasDomainIntroCs },
|
||||
{ 0x0138, 1, EVENTCHKINF_A5, gHyruleCastleIntroCs },
|
||||
{ 0x014D, 2, EVENTCHKINF_A6, gGoronCityIntroCs },
|
||||
{ 0x0053, 2, EVENTCHKINF_A7, gTempleOfTimeIntroCs },
|
||||
{ 0x0000, 2, EVENTCHKINF_A8, gDekuTreeIntroCs },
|
||||
{ 0x028A, 0, EVENTCHKINF_18, gHyruleFieldSouthEponaJumpCs },
|
||||
{ 0x0292, 0, EVENTCHKINF_18, gHyruleFieldEastEponaJumpCs },
|
||||
{ 0x028E, 0, EVENTCHKINF_18, gHyruleFieldWestEponaJumpCs },
|
||||
{ 0x0476, 0, EVENTCHKINF_18, gHyruleFieldGateEponaJumpCs },
|
||||
{ 0x050F, 1, EVENTCHKINF_A9, gHyruleFieldGetOoTCs },
|
||||
{ 0x0102, 2, EVENTCHKINF_B1, gLakeHyliaIntroCs },
|
||||
{ 0x0117, 2, EVENTCHKINF_B2, gGerudoValleyIntroCs },
|
||||
{ 0x0129, 2, EVENTCHKINF_B3, gGerudoFortressIntroCs },
|
||||
{ 0x0157, 2, EVENTCHKINF_B4, gLonLonRanchIntroCs },
|
||||
{ 0x0028, 2, EVENTCHKINF_B5, gJabuJabuIntroCs },
|
||||
{ 0x00E4, 2, EVENTCHKINF_B6, gGraveyardIntroCs },
|
||||
{ 0x0225, 2, EVENTCHKINF_B7, gZorasFountainIntroCs },
|
||||
{ 0x0123, 2, EVENTCHKINF_B8, gDesertColossusIntroCs },
|
||||
{ 0x0147, 2, EVENTCHKINF_B9, gDeathMountainCraterIntroCs },
|
||||
{ 0x0138, 0, EVENTCHKINF_BA, gGanonsCastleIntroCs },
|
||||
{ 0x0574, 2, EVENTCHKINF_5A, gSunSongGraveSunSongTeachPart2Cs },
|
||||
{ 0x0538, 2, EVENTCHKINF_BB, gForestBarrierCs },
|
||||
{ 0x053C, 2, EVENTCHKINF_BC, gWaterBarrierCs },
|
||||
{ 0x0540, 2, EVENTCHKINF_BD, gShadowBarrierCs },
|
||||
{ 0x0544, 2, EVENTCHKINF_BE, gFireBarrierCs },
|
||||
{ 0x0548, 2, EVENTCHKINF_BF, gLightBarrierCs },
|
||||
{ 0x054C, 2, EVENTCHKINF_AD, gSpiritBarrierCs },
|
||||
{ 0x008D, 0, EVENTCHKINF_C0, gSpiritBossNabooruKnuckleIntroCs },
|
||||
{ 0x03B4, 0, EVENTCHKINF_C7, gGerudoFortressFirstCaptureCs },
|
||||
{ 0x0246, 2, EVENTCHKINF_B9, gDeathMountainCraterIntroCs },
|
||||
{ 0x05E8, 2, EVENTCHKINF_C6, gKokiriForestDekuSproutCs },
|
||||
{ ENTR_SPOT00_3, 2, EVENTCHKINF_A0, gHyruleFieldIntroCs },
|
||||
{ ENTR_SPOT16_0, 2, EVENTCHKINF_A1, gDMTIntroCs },
|
||||
{ ENTR_SPOT01_0, 2, EVENTCHKINF_A3, gKakarikoVillageIntroCs },
|
||||
{ ENTR_SPOT07_0, 2, EVENTCHKINF_A4, gZorasDomainIntroCs },
|
||||
{ ENTR_SPOT15_0, 1, EVENTCHKINF_A5, gHyruleCastleIntroCs },
|
||||
{ ENTR_SPOT18_0, 2, EVENTCHKINF_A6, gGoronCityIntroCs },
|
||||
{ ENTR_TOKINOMA_0, 2, EVENTCHKINF_A7, gTempleOfTimeIntroCs },
|
||||
{ ENTR_YDAN_0, 2, EVENTCHKINF_A8, gDekuTreeIntroCs },
|
||||
{ ENTR_SPOT00_11, 0, EVENTCHKINF_18, gHyruleFieldSouthEponaJumpCs },
|
||||
{ ENTR_SPOT00_13, 0, EVENTCHKINF_18, gHyruleFieldEastEponaJumpCs },
|
||||
{ ENTR_SPOT00_12, 0, EVENTCHKINF_18, gHyruleFieldWestEponaJumpCs },
|
||||
{ ENTR_SPOT00_15, 0, EVENTCHKINF_18, gHyruleFieldGateEponaJumpCs },
|
||||
{ ENTR_SPOT00_16, 1, EVENTCHKINF_A9, gHyruleFieldGetOoTCs },
|
||||
{ ENTR_SPOT06_0, 2, EVENTCHKINF_B1, gLakeHyliaIntroCs },
|
||||
{ ENTR_SPOT09_0, 2, EVENTCHKINF_B2, gGerudoValleyIntroCs },
|
||||
{ ENTR_SPOT12_0, 2, EVENTCHKINF_B3, gGerudoFortressIntroCs },
|
||||
{ ENTR_SPOT20_0, 2, EVENTCHKINF_B4, gLonLonRanchIntroCs },
|
||||
{ ENTR_BDAN_0, 2, EVENTCHKINF_B5, gJabuJabuIntroCs },
|
||||
{ ENTR_SPOT02_0, 2, EVENTCHKINF_B6, gGraveyardIntroCs },
|
||||
{ ENTR_SPOT08_2, 2, EVENTCHKINF_B7, gZorasFountainIntroCs },
|
||||
{ ENTR_SPOT11_0, 2, EVENTCHKINF_B8, gDesertColossusIntroCs },
|
||||
{ ENTR_SPOT17_0, 2, EVENTCHKINF_B9, gDeathMountainCraterIntroCs },
|
||||
{ ENTR_SPOT15_0, 0, EVENTCHKINF_BA, gGanonsCastleIntroCs },
|
||||
{ ENTR_HAKAANA_OUKE_1, 2, EVENTCHKINF_5A, gSunSongGraveSunSongTeachPart2Cs },
|
||||
{ ENTR_GANONTIKA_2, 2, EVENTCHKINF_BB, gForestBarrierCs },
|
||||
{ ENTR_GANONTIKA_3, 2, EVENTCHKINF_BC, gWaterBarrierCs },
|
||||
{ ENTR_GANONTIKA_4, 2, EVENTCHKINF_BD, gShadowBarrierCs },
|
||||
{ ENTR_GANONTIKA_5, 2, EVENTCHKINF_BE, gFireBarrierCs },
|
||||
{ ENTR_GANONTIKA_6, 2, EVENTCHKINF_BF, gLightBarrierCs },
|
||||
{ ENTR_GANONTIKA_7, 2, EVENTCHKINF_AD, gSpiritBarrierCs },
|
||||
{ ENTR_JYASINBOSS_0, 0, EVENTCHKINF_C0, gSpiritBossNabooruKnuckleIntroCs },
|
||||
{ ENTR_SPOT12_17, 0, EVENTCHKINF_C7, gGerudoFortressFirstCaptureCs },
|
||||
{ ENTR_SPOT17_1, 2, EVENTCHKINF_B9, gDeathMountainCraterIntroCs },
|
||||
{ ENTR_SPOT04_12, 2, EVENTCHKINF_C6, gKokiriForestDekuSproutCs },
|
||||
};
|
||||
|
||||
// Unused, seems to be an early list of dungeon entrance cutscene locations
|
||||
|
@ -242,7 +242,7 @@ void func_80064824(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase*
|
|||
case 3:
|
||||
if (sp3F != 0) {
|
||||
Flags_SetEnv(globalCtx, 0);
|
||||
if (gSaveContext.entranceIndex == 0x0053) {
|
||||
if (gSaveContext.entranceIndex == ENTR_TOKINOMA_0) {
|
||||
Flags_SetEnv(globalCtx, 2);
|
||||
}
|
||||
}
|
||||
|
@ -517,43 +517,43 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt
|
|||
|
||||
switch (cmd->base) {
|
||||
case 1:
|
||||
globalCtx->nextEntranceIndex = 0x00A0;
|
||||
globalCtx->nextEntranceIndex = ENTR_HIRAL_DEMO_0;
|
||||
gSaveContext.cutsceneIndex = 0xFFF1;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 2:
|
||||
globalCtx->nextEntranceIndex = 0x00A0;
|
||||
globalCtx->nextEntranceIndex = ENTR_HIRAL_DEMO_0;
|
||||
gSaveContext.cutsceneIndex = 0xFFF0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FILL_WHITE;
|
||||
break;
|
||||
case 3:
|
||||
globalCtx->nextEntranceIndex = 0x0117;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT09_0;
|
||||
gSaveContext.cutsceneIndex = 0xFFF1;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FILL_WHITE;
|
||||
break;
|
||||
case 4:
|
||||
globalCtx->nextEntranceIndex = 0x013D;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT16_0;
|
||||
gSaveContext.cutsceneIndex = 0xFFF0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FILL_WHITE;
|
||||
break;
|
||||
case 5:
|
||||
globalCtx->nextEntranceIndex = 0x00EE;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT04_0;
|
||||
gSaveContext.cutsceneIndex = 0xFFF0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FILL_WHITE;
|
||||
break;
|
||||
case 6:
|
||||
globalCtx->nextEntranceIndex = 0x00A0;
|
||||
globalCtx->nextEntranceIndex = ENTR_HIRAL_DEMO_0;
|
||||
gSaveContext.cutsceneIndex = 0xFFF2;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FILL_WHITE;
|
||||
break;
|
||||
case 7:
|
||||
globalCtx->nextEntranceIndex = 0x00EE;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT04_0;
|
||||
gSaveContext.cutsceneIndex = 0xFFF2;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_INSTANT;
|
||||
|
@ -563,7 +563,7 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt
|
|||
gSaveContext.respawn[RESPAWN_MODE_TOP].data = 0;
|
||||
if (!GET_EVENTCHKINF(EVENTCHKINF_45)) {
|
||||
SET_EVENTCHKINF(EVENTCHKINF_45);
|
||||
globalCtx->nextEntranceIndex = 0x00A0;
|
||||
globalCtx->nextEntranceIndex = ENTR_HIRAL_DEMO_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.cutsceneIndex = 0xFFF3;
|
||||
globalCtx->transitionType = TRANS_TYPE_INSTANT;
|
||||
|
@ -575,253 +575,253 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt
|
|||
globalCtx->linkAgeOnLoad = LINK_AGE_CHILD;
|
||||
}
|
||||
}
|
||||
globalCtx->nextEntranceIndex = 0x02CA;
|
||||
globalCtx->nextEntranceIndex = ENTR_TOKINOMA_2;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_WHITE;
|
||||
}
|
||||
break;
|
||||
case 9:
|
||||
globalCtx->nextEntranceIndex = 0x0117;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT09_0;
|
||||
gSaveContext.cutsceneIndex = 0xFFF0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FILL_BROWN;
|
||||
break;
|
||||
case 10:
|
||||
globalCtx->nextEntranceIndex = 0x00BB;
|
||||
globalCtx->nextEntranceIndex = ENTR_LINK_HOME_0;
|
||||
gSaveContext.cutsceneIndex = 0xFFF0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 11:
|
||||
globalCtx->nextEntranceIndex = 0x00EE;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT04_0;
|
||||
gSaveContext.cutsceneIndex = 0xFFF3;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
case 12:
|
||||
globalCtx->nextEntranceIndex = 0x047A;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT16_5;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 13:
|
||||
globalCtx->nextEntranceIndex = 0x010E;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT08_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 14:
|
||||
globalCtx->nextEntranceIndex = 0x0457;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT04_11;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 15:
|
||||
globalCtx->nextEntranceIndex = 0x0053;
|
||||
globalCtx->nextEntranceIndex = ENTR_TOKINOMA_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.cutsceneIndex = 0xFFF4;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
case 16:
|
||||
globalCtx->nextEntranceIndex = 0x0053;
|
||||
globalCtx->nextEntranceIndex = ENTR_TOKINOMA_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.cutsceneIndex = 0xFFF5;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
case 17:
|
||||
globalCtx->nextEntranceIndex = 0x0053;
|
||||
globalCtx->nextEntranceIndex = ENTR_TOKINOMA_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.cutsceneIndex = 0xFFF6;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
case 18:
|
||||
SET_EVENTCHKINF(EVENTCHKINF_4F);
|
||||
globalCtx->nextEntranceIndex = 0x0324;
|
||||
globalCtx->nextEntranceIndex = ENTR_TOKINOMA_4;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 19:
|
||||
globalCtx->nextEntranceIndex = 0x013D;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT16_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
||||
gSaveContext.cutsceneIndex = 0x8000;
|
||||
break;
|
||||
case 21:
|
||||
globalCtx->nextEntranceIndex = 0x0102;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT06_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.cutsceneIndex = 0xFFF0;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
case 22:
|
||||
Item_Give(globalCtx, ITEM_SONG_REQUIEM);
|
||||
globalCtx->nextEntranceIndex = 0x0123;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT11_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.cutsceneIndex = 0xFFF0;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
case 23:
|
||||
globalCtx->nextEntranceIndex = 0x00A0;
|
||||
globalCtx->nextEntranceIndex = ENTR_HIRAL_DEMO_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.cutsceneIndex = 0xFFF8;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
case 24:
|
||||
globalCtx->nextEntranceIndex = 0x0028;
|
||||
globalCtx->nextEntranceIndex = ENTR_BDAN_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 25:
|
||||
globalCtx->linkAgeOnLoad = LINK_AGE_ADULT;
|
||||
globalCtx->nextEntranceIndex = 0x006B;
|
||||
globalCtx->nextEntranceIndex = ENTR_KENJYANOMA_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.cutsceneIndex = 0xFFF0;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
case 26:
|
||||
globalCtx->nextEntranceIndex = 0x0053;
|
||||
globalCtx->nextEntranceIndex = ENTR_TOKINOMA_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.cutsceneIndex = 0xFFF4;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
case 27:
|
||||
globalCtx->nextEntranceIndex = 0x0053;
|
||||
globalCtx->nextEntranceIndex = ENTR_TOKINOMA_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.cutsceneIndex = 0xFFF5;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
case 28:
|
||||
globalCtx->nextEntranceIndex = 0x0053;
|
||||
globalCtx->nextEntranceIndex = ENTR_TOKINOMA_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.cutsceneIndex = 0xFFF6;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
case 29:
|
||||
globalCtx->nextEntranceIndex = 0x006B;
|
||||
globalCtx->nextEntranceIndex = ENTR_KENJYANOMA_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.chamberCutsceneNum = 0;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
case 30:
|
||||
globalCtx->nextEntranceIndex = 0x006B;
|
||||
globalCtx->nextEntranceIndex = ENTR_KENJYANOMA_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
Item_Give(globalCtx, ITEM_MEDALLION_FIRE);
|
||||
gSaveContext.chamberCutsceneNum = 1;
|
||||
break;
|
||||
case 31:
|
||||
globalCtx->nextEntranceIndex = 0x006B;
|
||||
globalCtx->nextEntranceIndex = ENTR_KENJYANOMA_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
gSaveContext.chamberCutsceneNum = 2;
|
||||
break;
|
||||
case 32:
|
||||
globalCtx->linkAgeOnLoad = LINK_AGE_CHILD;
|
||||
globalCtx->nextEntranceIndex = 0x00CD;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT00_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.cutsceneIndex = 0xFFF2;
|
||||
globalCtx->transitionType = TRANS_TYPE_INSTANT;
|
||||
break;
|
||||
case 33:
|
||||
globalCtx->nextEntranceIndex = 0x00CD;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT00_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
case 34:
|
||||
globalCtx->nextEntranceIndex = 0x00A0;
|
||||
globalCtx->nextEntranceIndex = ENTR_HIRAL_DEMO_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.cutsceneIndex = 0xFFF3;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
case 35:
|
||||
globalCtx->nextEntranceIndex = 0x00CD;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT00_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.cutsceneIndex = 0xFFF0;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
||||
break;
|
||||
case 38:
|
||||
globalCtx->nextEntranceIndex = 0x00A0;
|
||||
globalCtx->nextEntranceIndex = ENTR_HIRAL_DEMO_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.cutsceneIndex = 0xFFF4;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
||||
break;
|
||||
case 39:
|
||||
globalCtx->nextEntranceIndex = 0x0053;
|
||||
globalCtx->nextEntranceIndex = ENTR_TOKINOMA_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.cutsceneIndex = 0xFFF9;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
||||
break;
|
||||
case 40:
|
||||
globalCtx->linkAgeOnLoad = LINK_AGE_ADULT;
|
||||
globalCtx->nextEntranceIndex = 0x0053;
|
||||
globalCtx->nextEntranceIndex = ENTR_TOKINOMA_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.cutsceneIndex = 0xFFFA;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
||||
break;
|
||||
case 41:
|
||||
globalCtx->nextEntranceIndex = 0x04E6;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT06_5;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 42:
|
||||
globalCtx->nextEntranceIndex = 0x00DB;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT01_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.cutsceneIndex = 0xFFF2;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
||||
break;
|
||||
case 43:
|
||||
globalCtx->nextEntranceIndex = 0x0503;
|
||||
globalCtx->nextEntranceIndex = ENTR_HAKASITARELAY_2;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
||||
break;
|
||||
case 44:
|
||||
globalCtx->nextEntranceIndex = 0x0320;
|
||||
globalCtx->nextEntranceIndex = ENTR_TOKINOMA_3;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE_INSTANT;
|
||||
break;
|
||||
case 46:
|
||||
SET_EVENTCHKINF(EVENTCHKINF_4F);
|
||||
globalCtx->nextEntranceIndex = 0x0324;
|
||||
globalCtx->nextEntranceIndex = ENTR_TOKINOMA_4;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
||||
break;
|
||||
case 47:
|
||||
Item_Give(globalCtx, ITEM_SONG_NOCTURNE);
|
||||
SET_EVENTCHKINF(EVENTCHKINF_54);
|
||||
globalCtx->nextEntranceIndex = 0x00DB;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT01_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.cutsceneIndex = 0xFFF1;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
||||
break;
|
||||
case 48:
|
||||
globalCtx->nextEntranceIndex = 0x01ED;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT11_4;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_SANDSTORM_END;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_SANDSTORM_END;
|
||||
break;
|
||||
case 49:
|
||||
globalCtx->nextEntranceIndex = 0x058C;
|
||||
globalCtx->nextEntranceIndex = ENTR_TOKINOMA_5;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
||||
break;
|
||||
case 50:
|
||||
globalCtx->nextEntranceIndex = 0x0513;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT01_13;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE_INSTANT;
|
||||
break;
|
||||
case 51:
|
||||
globalCtx->nextEntranceIndex = 0x00CD;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT00_0;
|
||||
gSaveContext.cutsceneIndex = 0xFFF8;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_NORMAL, TCC_WHITE, TCS_SLOW);
|
||||
break;
|
||||
case 52:
|
||||
globalCtx->nextEntranceIndex = 0x0053;
|
||||
globalCtx->nextEntranceIndex = ENTR_TOKINOMA_0;
|
||||
gSaveContext.cutsceneIndex = 0xFFF7;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_INSTANT;
|
||||
break;
|
||||
case 53:
|
||||
globalCtx->nextEntranceIndex = 0x050F;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT00_16;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
|
@ -829,102 +829,102 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt
|
|||
gSaveContext.gameMode = 3;
|
||||
Audio_SetSoundBanksMute(0x6F);
|
||||
globalCtx->linkAgeOnLoad = LINK_AGE_CHILD;
|
||||
globalCtx->nextEntranceIndex = 0x0117;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT09_0;
|
||||
gSaveContext.cutsceneIndex = 0xFFF2;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 55:
|
||||
globalCtx->nextEntranceIndex = 0x0129;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT12_0;
|
||||
gSaveContext.cutsceneIndex = 0xFFF1;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 56:
|
||||
globalCtx->nextEntranceIndex = 0x00DB;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT01_0;
|
||||
gSaveContext.cutsceneIndex = 0xFFF4;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 57:
|
||||
globalCtx->nextEntranceIndex = 0x013D;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT16_0;
|
||||
gSaveContext.cutsceneIndex = 0xFFF3;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 58:
|
||||
globalCtx->nextEntranceIndex = 0x014D;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT18_0;
|
||||
gSaveContext.cutsceneIndex = 0xFFF1;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 59:
|
||||
globalCtx->nextEntranceIndex = 0x0102;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT06_0;
|
||||
gSaveContext.cutsceneIndex = 0xFFF1;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 60:
|
||||
globalCtx->nextEntranceIndex = 0x010E;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT08_0;
|
||||
gSaveContext.cutsceneIndex = 0xFFF2;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 61:
|
||||
globalCtx->nextEntranceIndex = 0x0108;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT07_0;
|
||||
gSaveContext.cutsceneIndex = 0xFFF0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 62:
|
||||
globalCtx->linkAgeOnLoad = LINK_AGE_ADULT;
|
||||
globalCtx->nextEntranceIndex = 0x00EE;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT04_0;
|
||||
gSaveContext.cutsceneIndex = 0xFFF6;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 63:
|
||||
globalCtx->nextEntranceIndex = 0x00EE;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT04_0;
|
||||
gSaveContext.cutsceneIndex = 0xFFF7;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 64:
|
||||
globalCtx->nextEntranceIndex = 0x00CD;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT00_0;
|
||||
gSaveContext.cutsceneIndex = 0xFFF5;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 65:
|
||||
globalCtx->linkAgeOnLoad = LINK_AGE_CHILD;
|
||||
globalCtx->nextEntranceIndex = 0x0157;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT20_0;
|
||||
gSaveContext.cutsceneIndex = 0xFFF2;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 66:
|
||||
globalCtx->nextEntranceIndex = 0x0554;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT01_14;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 67:
|
||||
globalCtx->nextEntranceIndex = 0x027E;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT00_9;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 68:
|
||||
globalCtx->nextEntranceIndex = 0x00A0;
|
||||
globalCtx->nextEntranceIndex = ENTR_HIRAL_DEMO_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.cutsceneIndex = 0xFFF5;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 69:
|
||||
globalCtx->nextEntranceIndex = 0x05E8;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT04_12;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 70:
|
||||
globalCtx->nextEntranceIndex = 0x013D;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT16_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.cutsceneIndex = 0xFFF4;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
|
@ -936,13 +936,13 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt
|
|||
gSaveContext.equips.equipment |= EQUIP_VALUE_BOOTS_KOKIRI << (EQUIP_TYPE_BOOTS * 4);
|
||||
Player_SetEquipmentData(globalCtx, player);
|
||||
globalCtx->linkAgeOnLoad = LINK_AGE_CHILD;
|
||||
globalCtx->nextEntranceIndex = 0x0053;
|
||||
globalCtx->nextEntranceIndex = ENTR_TOKINOMA_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.cutsceneIndex = 0xFFF1;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 72:
|
||||
globalCtx->nextEntranceIndex = 0x0400;
|
||||
globalCtx->nextEntranceIndex = ENTR_NAKANIWA_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.cutsceneIndex = 0xFFF0;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
|
@ -950,13 +950,13 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt
|
|||
break;
|
||||
case 73:
|
||||
globalCtx->linkAgeOnLoad = LINK_AGE_CHILD;
|
||||
globalCtx->nextEntranceIndex = 0x0157;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT20_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.cutsceneIndex = 0xFFF2;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 74:
|
||||
globalCtx->nextEntranceIndex = 0x0157;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT20_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.cutsceneIndex = 0xFFF3;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
|
@ -964,27 +964,27 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt
|
|||
break;
|
||||
case 75:
|
||||
globalCtx->linkAgeOnLoad = LINK_AGE_CHILD;
|
||||
globalCtx->nextEntranceIndex = 0x0157;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT20_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.cutsceneIndex = 0xFFF4;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 76:
|
||||
globalCtx->linkAgeOnLoad = LINK_AGE_ADULT;
|
||||
globalCtx->nextEntranceIndex = 0x0157;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT20_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.cutsceneIndex = 0xFFF5;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 77:
|
||||
globalCtx->linkAgeOnLoad = LINK_AGE_CHILD;
|
||||
globalCtx->nextEntranceIndex = 0x0157;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT20_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.cutsceneIndex = 0xFFF6;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 78:
|
||||
globalCtx->nextEntranceIndex = 0x0157;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT20_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.cutsceneIndex = 0xFFF7;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
|
@ -1004,36 +1004,36 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt
|
|||
case 91:
|
||||
case 92:
|
||||
case 93:
|
||||
globalCtx->nextEntranceIndex = 0x0157;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT20_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 94:
|
||||
globalCtx->nextEntranceIndex = 0x02AE;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT20_1;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
case 95:
|
||||
if (GET_EVENTCHKINF(EVENTCHKINF_48) && GET_EVENTCHKINF(EVENTCHKINF_49) &&
|
||||
GET_EVENTCHKINF(EVENTCHKINF_4A)) {
|
||||
globalCtx->nextEntranceIndex = 0x0053;
|
||||
globalCtx->nextEntranceIndex = ENTR_TOKINOMA_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.cutsceneIndex = 0xFFF3;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
} else {
|
||||
switch (gSaveContext.sceneSetupIndex) {
|
||||
case 8:
|
||||
globalCtx->nextEntranceIndex = 0x00FC;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT05_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 9:
|
||||
globalCtx->nextEntranceIndex = 0x0147;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT17_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 10:
|
||||
globalCtx->nextEntranceIndex = 0x0102;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT06_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.cutsceneIndex = 0xFFF0;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
|
@ -1043,13 +1043,13 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt
|
|||
break;
|
||||
case 96:
|
||||
if (CHECK_QUEST_ITEM(QUEST_MEDALLION_SHADOW)) {
|
||||
globalCtx->nextEntranceIndex = 0x006B;
|
||||
globalCtx->nextEntranceIndex = ENTR_KENJYANOMA_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.cutsceneIndex = 0xFFF1;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE_FAST;
|
||||
} else {
|
||||
SET_EVENTCHKINF(EVENTCHKINF_C8);
|
||||
globalCtx->nextEntranceIndex = 0x0610;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT11_8;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_WHITE;
|
||||
|
@ -1057,48 +1057,48 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt
|
|||
break;
|
||||
case 97:
|
||||
if (CHECK_QUEST_ITEM(QUEST_MEDALLION_SPIRIT)) {
|
||||
globalCtx->nextEntranceIndex = 0x006B;
|
||||
globalCtx->nextEntranceIndex = ENTR_KENJYANOMA_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.cutsceneIndex = 0xFFF1;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE_FAST;
|
||||
} else {
|
||||
globalCtx->nextEntranceIndex = 0x0580;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT02_8;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_WHITE;
|
||||
}
|
||||
break;
|
||||
case 98:
|
||||
globalCtx->nextEntranceIndex = 0x0564;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT17_5;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
case 99:
|
||||
globalCtx->nextEntranceIndex = 0x0608;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT05_3;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 100:
|
||||
globalCtx->nextEntranceIndex = 0x00EE;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT04_0;
|
||||
gSaveContext.cutsceneIndex = 0xFFF8;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
case 101:
|
||||
globalCtx->nextEntranceIndex = 0x01F5;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT11_6;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_SANDSTORM_END;
|
||||
break;
|
||||
case 102:
|
||||
globalCtx->nextEntranceIndex = 0x0590;
|
||||
globalCtx->nextEntranceIndex = ENTR_TOKINOMA_6;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 103:
|
||||
globalCtx->nextEntranceIndex = 0x00CD;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT00_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.cutsceneIndex = 0xFFF3;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
|
@ -1106,21 +1106,21 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt
|
|||
case 104:
|
||||
switch (sTitleCsState) {
|
||||
case 0:
|
||||
globalCtx->nextEntranceIndex = 0x008D;
|
||||
globalCtx->nextEntranceIndex = ENTR_JYASINBOSS_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.cutsceneIndex = 0xFFF2;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
sTitleCsState++;
|
||||
break;
|
||||
case 1:
|
||||
globalCtx->nextEntranceIndex = 0x0147;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT17_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.cutsceneIndex = 0xFFF1;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
sTitleCsState++;
|
||||
break;
|
||||
case 2:
|
||||
globalCtx->nextEntranceIndex = 0x00A0;
|
||||
globalCtx->nextEntranceIndex = ENTR_HIRAL_DEMO_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.cutsceneIndex = 0xFFF6;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
|
@ -1129,43 +1129,43 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt
|
|||
}
|
||||
break;
|
||||
case 105:
|
||||
globalCtx->nextEntranceIndex = 0x00E4;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT02_0;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.cutsceneIndex = 0xFFF1;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 106:
|
||||
globalCtx->nextEntranceIndex = 0x0574;
|
||||
globalCtx->nextEntranceIndex = ENTR_HAKAANA_OUKE_1;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 107:
|
||||
globalCtx->nextEntranceIndex = 0x0538;
|
||||
globalCtx->nextEntranceIndex = ENTR_GANONTIKA_2;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 108:
|
||||
globalCtx->nextEntranceIndex = 0x053C;
|
||||
globalCtx->nextEntranceIndex = ENTR_GANONTIKA_3;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 109:
|
||||
globalCtx->nextEntranceIndex = 0x0540;
|
||||
globalCtx->nextEntranceIndex = ENTR_GANONTIKA_4;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 110:
|
||||
globalCtx->nextEntranceIndex = 0x0544;
|
||||
globalCtx->nextEntranceIndex = ENTR_GANONTIKA_5;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 111:
|
||||
globalCtx->nextEntranceIndex = 0x0548;
|
||||
globalCtx->nextEntranceIndex = ENTR_GANONTIKA_6;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 112:
|
||||
globalCtx->nextEntranceIndex = 0x054C;
|
||||
globalCtx->nextEntranceIndex = ENTR_GANONTIKA_7;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
@ -1184,23 +1184,23 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt
|
|||
}
|
||||
break;
|
||||
case 114:
|
||||
globalCtx->nextEntranceIndex = 0x0185;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT00_3;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 115:
|
||||
globalCtx->nextEntranceIndex = 0x0594;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT00_17;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 116:
|
||||
if (GET_EVENTCHKINF(EVENTCHKINF_C8)) {
|
||||
globalCtx->nextEntranceIndex = 0x0580;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT02_8;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
} else {
|
||||
globalCtx->nextEntranceIndex = 0x0610;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT11_8;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
}
|
||||
|
@ -1210,13 +1210,13 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt
|
|||
gSaveContext.gameMode = 3;
|
||||
Audio_SetSoundBanksMute(0x6F);
|
||||
globalCtx->linkAgeOnLoad = LINK_AGE_ADULT;
|
||||
globalCtx->nextEntranceIndex = 0x00CD;
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT00_0;
|
||||
gSaveContext.cutsceneIndex = 0xFFF7;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
case 118:
|
||||
gSaveContext.respawn[RESPAWN_MODE_DOWN].entranceIndex = 0x0517;
|
||||
gSaveContext.respawn[RESPAWN_MODE_DOWN].entranceIndex = ENTR_GANON_DEMO_0;
|
||||
Gameplay_TriggerVoidOut(globalCtx);
|
||||
gSaveContext.respawnFlag = -2;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_BLACK;
|
||||
|
@ -1224,7 +1224,7 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt
|
|||
case 119:
|
||||
gSaveContext.dayTime = 0x8000;
|
||||
gSaveContext.skyboxTime = 0x8000;
|
||||
globalCtx->nextEntranceIndex = 0x05F0;
|
||||
globalCtx->nextEntranceIndex = ENTR_NAKANIWA_1;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
|
@ -1248,12 +1248,12 @@ void Cutscene_Command_TransitionFX(GlobalContext* globalCtx, CutsceneContext* cs
|
|||
globalCtx->envCtx.screenFillColor[2] = 160;
|
||||
if (cmd->base == 1) {
|
||||
globalCtx->envCtx.screenFillColor[3] = 255.0f * temp;
|
||||
if ((temp == 0.0f) && (gSaveContext.entranceIndex == 0x006B)) {
|
||||
if ((temp == 0.0f) && (gSaveContext.entranceIndex == ENTR_KENJYANOMA_0)) {
|
||||
Audio_PlaySoundGeneral(NA_SE_SY_WHITE_OUT_S, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
} else if ((temp == 0.0f) &&
|
||||
((gSaveContext.entranceIndex == 0x0053) || (gSaveContext.entranceIndex == 0x0138) ||
|
||||
(gSaveContext.entranceIndex == 0x0371))) {
|
||||
} else if ((temp == 0.0f) && ((gSaveContext.entranceIndex == ENTR_TOKINOMA_0) ||
|
||||
(gSaveContext.entranceIndex == ENTR_SPOT15_0) ||
|
||||
(gSaveContext.entranceIndex == ENTR_YOUSEI_IZUMI_YOKO_0))) {
|
||||
Audio_PlaySoundGeneral(NA_SE_EV_WHITE_OUT, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
} else if ((temp == 0.0f) && (globalCtx->sceneNum == SCENE_GANONTIKA)) {
|
||||
|
@ -2077,30 +2077,30 @@ void Cutscene_HandleConditionalTriggers(GlobalContext* globalCtx) {
|
|||
osSyncPrintf("\ngame_info.mode=[%d] restart_flag", ((void)0, gSaveContext.respawnFlag));
|
||||
|
||||
if ((gSaveContext.gameMode == 0) && (gSaveContext.respawnFlag <= 0) && (gSaveContext.cutsceneIndex < 0xFFF0)) {
|
||||
if ((gSaveContext.entranceIndex == 0x01E1) && !Flags_GetEventChkInf(EVENTCHKINF_AC)) {
|
||||
if ((gSaveContext.entranceIndex == ENTR_SPOT11_1) && !Flags_GetEventChkInf(EVENTCHKINF_AC)) {
|
||||
Flags_SetEventChkInf(EVENTCHKINF_AC);
|
||||
gSaveContext.entranceIndex = 0x0123;
|
||||
gSaveContext.entranceIndex = ENTR_SPOT11_0;
|
||||
gSaveContext.cutsceneIndex = 0xFFF0;
|
||||
} else if ((gSaveContext.entranceIndex == 0x00DB) && LINK_IS_ADULT && GET_EVENTCHKINF(EVENTCHKINF_48) &&
|
||||
} else if ((gSaveContext.entranceIndex == ENTR_SPOT01_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.cutsceneIndex = 0xFFF0;
|
||||
} else if ((gSaveContext.entranceIndex == 0x05E0) && !Flags_GetEventChkInf(EVENTCHKINF_C1)) {
|
||||
} else if ((gSaveContext.entranceIndex == ENTR_SPOT10_9) && !Flags_GetEventChkInf(EVENTCHKINF_C1)) {
|
||||
Flags_SetEventChkInf(EVENTCHKINF_C1);
|
||||
Item_Give(globalCtx, ITEM_OCARINA_FAIRY);
|
||||
gSaveContext.entranceIndex = 0x011E;
|
||||
gSaveContext.entranceIndex = ENTR_SPOT10_0;
|
||||
gSaveContext.cutsceneIndex = 0xFFF0;
|
||||
} 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.entranceIndex)].scene == SCENE_TOKINOMA)) {
|
||||
Flags_SetEventChkInf(EVENTCHKINF_C4);
|
||||
gSaveContext.entranceIndex = 0x0053;
|
||||
gSaveContext.entranceIndex = ENTR_TOKINOMA_0;
|
||||
gSaveContext.cutsceneIndex = 0xFFF8;
|
||||
} else if (!Flags_GetEventChkInf(EVENTCHKINF_C7) &&
|
||||
(gEntranceTable[((void)0, gSaveContext.entranceIndex)].scene == SCENE_GANON_DEMO)) {
|
||||
Flags_SetEventChkInf(EVENTCHKINF_C7);
|
||||
gSaveContext.entranceIndex = 0x0517;
|
||||
gSaveContext.entranceIndex = ENTR_GANON_DEMO_0;
|
||||
gSaveContext.cutsceneIndex = 0xFFF0;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -68,7 +68,7 @@ void func_8006D0EC(GlobalContext* globalCtx, Player* player) {
|
|||
horseActor =
|
||||
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_HORSE, 3586.0f, 1413.0f, -402.0f, 0, 0x4000, 0, 1);
|
||||
horseActor->room = -1;
|
||||
} else if ((gSaveContext.entranceIndex == 1230) && GET_EVENTCHKINF(EVENTCHKINF_18)) {
|
||||
} else if ((gSaveContext.entranceIndex == ENTR_SPOT20_7) && GET_EVENTCHKINF(EVENTCHKINF_18)) {
|
||||
Actor* horseActor =
|
||||
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_HORSE, -25.0f, 0.0f, -1600.0f, 0, -0x4000, 0, 1);
|
||||
ASSERT(horseActor != NULL, "horse_actor != NULL", "../z_horse.c", 389);
|
||||
|
@ -132,8 +132,8 @@ void func_8006D684(GlobalContext* globalCtx, Player* player) {
|
|||
s32 i;
|
||||
Vec3s spawnPos;
|
||||
|
||||
if ((gSaveContext.entranceIndex == 0x028A || gSaveContext.entranceIndex == 0x028E ||
|
||||
gSaveContext.entranceIndex == 0x0292 || gSaveContext.entranceIndex == 0x0476) &&
|
||||
if ((gSaveContext.entranceIndex == ENTR_SPOT00_11 || gSaveContext.entranceIndex == ENTR_SPOT00_12 ||
|
||||
gSaveContext.entranceIndex == ENTR_SPOT00_13 || gSaveContext.entranceIndex == ENTR_SPOT00_15) &&
|
||||
(gSaveContext.respawnFlag == 0)) {
|
||||
Vec3s spawnPositions[] = {
|
||||
{ -2961, 313, 7700 },
|
||||
|
@ -142,11 +142,11 @@ void func_8006D684(GlobalContext* globalCtx, Player* player) {
|
|||
{ -2313, 313, 5990 },
|
||||
};
|
||||
|
||||
if (gSaveContext.entranceIndex == 0x028A) {
|
||||
if (gSaveContext.entranceIndex == ENTR_SPOT00_11) {
|
||||
spawnPos = spawnPositions[0];
|
||||
} else if (gSaveContext.entranceIndex == 0x028E) {
|
||||
} else if (gSaveContext.entranceIndex == ENTR_SPOT00_12) {
|
||||
spawnPos = spawnPositions[1];
|
||||
} else if (gSaveContext.entranceIndex == 0x0292) {
|
||||
} else if (gSaveContext.entranceIndex == ENTR_SPOT00_13) {
|
||||
spawnPos = spawnPositions[2];
|
||||
} else {
|
||||
spawnPos = spawnPositions[3];
|
||||
|
@ -247,8 +247,8 @@ void func_8006DC68(GlobalContext* globalCtx, Player* player) {
|
|||
|
||||
if (func_8006CFC0(globalCtx->sceneNum)) {
|
||||
if ((gSaveContext.sceneSetupIndex > 3) ||
|
||||
((gSaveContext.entranceIndex == 0x028A || gSaveContext.entranceIndex == 0x028E ||
|
||||
gSaveContext.entranceIndex == 0x0292 || gSaveContext.entranceIndex == 0x0476) &&
|
||||
((gSaveContext.entranceIndex == ENTR_SPOT00_11 || gSaveContext.entranceIndex == ENTR_SPOT00_12 ||
|
||||
gSaveContext.entranceIndex == ENTR_SPOT00_13 || gSaveContext.entranceIndex == ENTR_SPOT00_15) &&
|
||||
(gSaveContext.respawnFlag == 0)) ||
|
||||
((globalCtx->sceneNum == SCENE_SPOT20) && (GET_EVENTINF_HORSES_STATE() == EVENTINF_HORSES_STATE_6) &&
|
||||
!Flags_GetEventChkInf(EVENTCHKINF_18) && (DREG(1) == 0))) {
|
||||
|
|
|
@ -1278,7 +1278,7 @@ void Environment_DrawSunAndMoon(GlobalContext* globalCtx) {
|
|||
globalCtx->envCtx.sunPos.z = +(Math_CosS(((void)0, gSaveContext.dayTime) - 0x8000) * 20.0f) * 25.0f;
|
||||
}
|
||||
|
||||
if (gSaveContext.entranceIndex != 0xCD || ((void)0, gSaveContext.sceneSetupIndex) != 5) {
|
||||
if (gSaveContext.entranceIndex != ENTR_SPOT00_0 || ((void)0, gSaveContext.sceneSetupIndex) != 5) {
|
||||
Matrix_Translate(globalCtx->view.eye.x + globalCtx->envCtx.sunPos.x,
|
||||
globalCtx->view.eye.y + globalCtx->envCtx.sunPos.y,
|
||||
globalCtx->view.eye.z + globalCtx->envCtx.sunPos.z, MTXMODE_NEW);
|
||||
|
@ -1920,7 +1920,8 @@ void Environment_PlaySceneSequence(GlobalContext* globalCtx) {
|
|||
globalCtx->envCtx.unk_E0 = 0xFF;
|
||||
|
||||
// both lost woods exits on the bridge from kokiri to hyrule field
|
||||
if (((void)0, gSaveContext.entranceIndex) == 0x4DE || ((void)0, gSaveContext.entranceIndex) == 0x5E0) {
|
||||
if (((void)0, gSaveContext.entranceIndex) == ENTR_SPOT10_8 ||
|
||||
((void)0, gSaveContext.entranceIndex) == ENTR_SPOT10_9) {
|
||||
Audio_PlayNatureAmbienceSequence(NATURE_ID_KOKIRI_REGION);
|
||||
} else if (((void)0, gSaveContext.forcedSeqId) != NA_BGM_GENERAL_SFX) {
|
||||
if (!Environment_IsForcedSequenceDisabled()) {
|
||||
|
@ -2442,22 +2443,27 @@ void Environment_WarpSongLeave(GlobalContext* globalCtx) {
|
|||
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_WHITE;
|
||||
|
||||
switch (globalCtx->nextEntranceIndex) {
|
||||
case 0x147:
|
||||
case ENTR_SPOT17_0:
|
||||
Flags_SetEventChkInf(EVENTCHKINF_B9);
|
||||
break;
|
||||
case 0x0102:
|
||||
|
||||
case ENTR_SPOT06_0:
|
||||
Flags_SetEventChkInf(EVENTCHKINF_B1);
|
||||
break;
|
||||
case 0x0123:
|
||||
|
||||
case ENTR_SPOT11_0:
|
||||
Flags_SetEventChkInf(EVENTCHKINF_B8);
|
||||
break;
|
||||
case 0x00E4:
|
||||
|
||||
case ENTR_SPOT02_0:
|
||||
Flags_SetEventChkInf(EVENTCHKINF_B6);
|
||||
break;
|
||||
case 0x0053:
|
||||
|
||||
case ENTR_TOKINOMA_0:
|
||||
Flags_SetEventChkInf(EVENTCHKINF_A7);
|
||||
break;
|
||||
case 0x00FC:
|
||||
|
||||
case ENTR_SPOT05_0:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3029,7 +3029,7 @@ void Interface_Draw(GlobalContext* globalCtx) {
|
|||
};
|
||||
static s16 rupeeDigitsFirst[] = { 1, 0, 0 };
|
||||
static s16 rupeeDigitsCount[] = { 2, 3, 3 };
|
||||
static s16 spoilingItemEntrances[] = { 0x01AD, 0x0153, 0x0153 };
|
||||
static s16 spoilingItemEntrances[] = { ENTR_SPOT10_2, ENTR_SPOT07_3, ENTR_SPOT07_3 };
|
||||
static f32 D_80125B54[] = { -40.0f, -35.0f }; // unused
|
||||
static s16 D_80125B5C[] = { 91, 91 }; // unused
|
||||
static s16 D_8015FFE0;
|
||||
|
|
|
@ -204,7 +204,7 @@ void Gameplay_Init(GameState* thisx) {
|
|||
u8 tempSetupIndex;
|
||||
s32 pad[2];
|
||||
|
||||
if (gSaveContext.entranceIndex == -1) {
|
||||
if (gSaveContext.entranceIndex == ENTR_LOAD_OPENING) {
|
||||
gSaveContext.entranceIndex = 0;
|
||||
globalCtx->state.running = false;
|
||||
SET_NEXT_GAMESTATE(&globalCtx->state, Opening_Init, OpeningContext);
|
||||
|
@ -1806,11 +1806,11 @@ void Gameplay_LoadToLastEntrance(GlobalContext* globalCtx) {
|
|||
|
||||
if ((globalCtx->sceneNum == SCENE_GANON_SONOGO) || (globalCtx->sceneNum == SCENE_GANON_FINAL) ||
|
||||
(globalCtx->sceneNum == SCENE_GANONTIKA_SONOGO) || (globalCtx->sceneNum == SCENE_GANON_DEMO)) {
|
||||
globalCtx->nextEntranceIndex = 0x043F;
|
||||
globalCtx->nextEntranceIndex = ENTR_GANON_FINAL_0;
|
||||
Item_Give(globalCtx, ITEM_SWORD_MASTER);
|
||||
} else if ((gSaveContext.entranceIndex == 0x028A) || (gSaveContext.entranceIndex == 0x028E) ||
|
||||
(gSaveContext.entranceIndex == 0x0292) || (gSaveContext.entranceIndex == 0x0476)) {
|
||||
globalCtx->nextEntranceIndex = 0x01F9;
|
||||
} else if ((gSaveContext.entranceIndex == ENTR_SPOT00_11) || (gSaveContext.entranceIndex == ENTR_SPOT00_12) ||
|
||||
(gSaveContext.entranceIndex == ENTR_SPOT00_13) || (gSaveContext.entranceIndex == ENTR_SPOT00_15)) {
|
||||
globalCtx->nextEntranceIndex = ENTR_SPOT00_6;
|
||||
} else {
|
||||
globalCtx->nextEntranceIndex = gSaveContext.entranceIndex;
|
||||
}
|
||||
|
|
|
@ -376,7 +376,7 @@ void func_80098D80(GlobalContext* globalCtx, SceneCmd* cmd) {
|
|||
globalCtx->envCtx.sunPos.z = (Math_CosS(((void)0, gSaveContext.dayTime) - 0x8000) * 20.0f) * 25.0f;
|
||||
|
||||
if (((globalCtx->envCtx.timeIncrement == 0) && (gSaveContext.cutsceneIndex < 0xFFF0)) ||
|
||||
(gSaveContext.entranceIndex == 0x0604)) {
|
||||
(gSaveContext.entranceIndex == ENTR_SPOT06_8)) {
|
||||
gSaveContext.skyboxTime = ((void)0, gSaveContext.dayTime);
|
||||
if ((gSaveContext.skyboxTime >= 0x2AAC) && (gSaveContext.skyboxTime < 0x4555)) {
|
||||
gSaveContext.skyboxTime = 0x3556;
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -294,11 +294,17 @@ void Sram_InitDebugSave(void) {
|
|||
}
|
||||
}
|
||||
|
||||
gSaveContext.entranceIndex = 0xCD;
|
||||
gSaveContext.entranceIndex = ENTR_SPOT00_0;
|
||||
gSaveContext.magicLevel = 0;
|
||||
gSaveContext.sceneFlags[5].swch = 0x40000000;
|
||||
}
|
||||
|
||||
static s16 sDungeonEntrances[] = {
|
||||
ENTR_YDAN_0, ENTR_DDAN_0, ENTR_BDAN_0, ENTR_BMORI1_0, ENTR_HIDAN_0, ENTR_MIZUSIN_0,
|
||||
ENTR_JYASINZOU_0, ENTR_HAKADAN_0, ENTR_HAKADANCH_0, ENTR_ICE_DOUKUTO_0, ENTR_GANON_0, ENTR_MEN_0,
|
||||
ENTR_GERUDOWAY_0, ENTR_GANONTIKA_0, ENTR_GANON_SONOGO_0, ENTR_GANONTIKA_SONOGO_0,
|
||||
};
|
||||
|
||||
/**
|
||||
* Copy save currently on the buffer to Save Context and complete various tasks to open the save.
|
||||
* This includes:
|
||||
|
@ -310,10 +316,6 @@ void Sram_InitDebugSave(void) {
|
|||
* - Revert any trade items that spoil
|
||||
*/
|
||||
void Sram_OpenSave(SramContext* sramCtx) {
|
||||
static s16 dungeonEntrances[] = {
|
||||
0x0000, 0x0004, 0x0028, 0x0169, 0x0165, 0x0010, 0x0082, 0x0037,
|
||||
0x0098, 0x0088, 0x041B, 0x0008, 0x0486, 0x0467, 0x0179, 0x056C,
|
||||
};
|
||||
u16 i;
|
||||
u16 j;
|
||||
u8* ptr;
|
||||
|
@ -343,45 +345,54 @@ void Sram_OpenSave(SramContext* sramCtx) {
|
|||
case SCENE_MEN:
|
||||
case SCENE_GERUDOWAY:
|
||||
case SCENE_GANONTIKA:
|
||||
gSaveContext.entranceIndex = dungeonEntrances[gSaveContext.savedSceneNum];
|
||||
gSaveContext.entranceIndex = sDungeonEntrances[gSaveContext.savedSceneNum];
|
||||
break;
|
||||
|
||||
case SCENE_YDAN_BOSS:
|
||||
gSaveContext.entranceIndex = 0;
|
||||
gSaveContext.entranceIndex = ENTR_YDAN_0;
|
||||
break;
|
||||
|
||||
case SCENE_DDAN_BOSS:
|
||||
gSaveContext.entranceIndex = 4;
|
||||
gSaveContext.entranceIndex = ENTR_DDAN_0;
|
||||
break;
|
||||
|
||||
case SCENE_BDAN_BOSS:
|
||||
gSaveContext.entranceIndex = 0x28;
|
||||
gSaveContext.entranceIndex = ENTR_BDAN_0;
|
||||
break;
|
||||
|
||||
case SCENE_MORIBOSSROOM:
|
||||
gSaveContext.entranceIndex = 0x169;
|
||||
gSaveContext.entranceIndex = ENTR_BMORI1_0;
|
||||
break;
|
||||
|
||||
case SCENE_FIRE_BS:
|
||||
gSaveContext.entranceIndex = 0x165;
|
||||
gSaveContext.entranceIndex = ENTR_HIDAN_0;
|
||||
break;
|
||||
|
||||
case SCENE_MIZUSIN_BS:
|
||||
gSaveContext.entranceIndex = 0x10;
|
||||
gSaveContext.entranceIndex = ENTR_MIZUSIN_0;
|
||||
break;
|
||||
|
||||
case SCENE_JYASINBOSS:
|
||||
gSaveContext.entranceIndex = 0x82;
|
||||
gSaveContext.entranceIndex = ENTR_JYASINZOU_0;
|
||||
break;
|
||||
|
||||
case SCENE_HAKADAN_BS:
|
||||
gSaveContext.entranceIndex = 0x37;
|
||||
gSaveContext.entranceIndex = ENTR_HAKADAN_0;
|
||||
break;
|
||||
|
||||
case SCENE_GANON_SONOGO:
|
||||
case SCENE_GANONTIKA_SONOGO:
|
||||
case SCENE_GANON_BOSS:
|
||||
case SCENE_GANON_FINAL:
|
||||
case SCENE_GANON_DEMO:
|
||||
gSaveContext.entranceIndex = 0x41B;
|
||||
gSaveContext.entranceIndex = ENTR_GANON_0;
|
||||
break;
|
||||
|
||||
default:
|
||||
if (gSaveContext.savedSceneNum != SCENE_LINK_HOME) {
|
||||
gSaveContext.entranceIndex = (LINK_AGE_IN_YEARS == YEARS_CHILD) ? 0xBB : 0x5F4;
|
||||
gSaveContext.entranceIndex = (LINK_AGE_IN_YEARS == YEARS_CHILD) ? ENTR_LINK_HOME_0 : ENTR_TOKINOMA_7;
|
||||
} else {
|
||||
gSaveContext.entranceIndex = 0xBB;
|
||||
gSaveContext.entranceIndex = ENTR_LINK_HOME_0;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -694,7 +705,7 @@ void Sram_InitSave(FileChooseContext* fileChooseCtx, SramContext* sramCtx) {
|
|||
Sram_InitDebugSave();
|
||||
}
|
||||
|
||||
gSaveContext.entranceIndex = 0xBB;
|
||||
gSaveContext.entranceIndex = ENTR_LINK_HOME_0;
|
||||
gSaveContext.linkAge = LINK_AGE_CHILD;
|
||||
gSaveContext.dayTime = 0x6AAB;
|
||||
gSaveContext.cutsceneIndex = 0xFFF1;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue