mirror of
https://github.com/zeldaret/oot.git
synced 2025-05-10 11:03:46 +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
|
@ -1198,7 +1198,7 @@ s32 Object_IsLoaded(ObjectContext* objectCtx, s32 bankIndex);
|
||||||
void func_800981B8(ObjectContext* objectCtx);
|
void func_800981B8(ObjectContext* objectCtx);
|
||||||
s32 Scene_ExecuteCommands(GlobalContext* globalCtx, SceneCmd* sceneCmd);
|
s32 Scene_ExecuteCommands(GlobalContext* globalCtx, SceneCmd* sceneCmd);
|
||||||
void TransitionActor_InitContext(GameState* state, TransitionActorContext* transiActorCtx);
|
void TransitionActor_InitContext(GameState* state, TransitionActorContext* transiActorCtx);
|
||||||
void func_800994A0(GlobalContext* globalCtx);
|
void Scene_SetTransitionForNextEntrance(GlobalContext* globalCtx);
|
||||||
void Scene_Draw(GlobalContext* globalCtx);
|
void Scene_Draw(GlobalContext* globalCtx);
|
||||||
void SkelAnime_DrawLod(GlobalContext* globalCtx, void** skeleton, Vec3s* jointTable,
|
void SkelAnime_DrawLod(GlobalContext* globalCtx, void** skeleton, Vec3s* jointTable,
|
||||||
OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, void* arg, s32 lod);
|
OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, void* arg, s32 lod);
|
||||||
|
|
1931
include/tables/entrance_table.h
Normal file
1931
include/tables/entrance_table.h
Normal file
File diff suppressed because it is too large
Load diff
|
@ -95,7 +95,7 @@ extern void (*gSceneCmdHandlers[SCENE_CMD_ID_MAX])(GlobalContext*, SceneCmd*);
|
||||||
extern s16 gLinkObjectIds[2];
|
extern s16 gLinkObjectIds[2];
|
||||||
extern u32 gObjectTableSize;
|
extern u32 gObjectTableSize;
|
||||||
extern RomFile gObjectTable[OBJECT_ID_MAX];
|
extern RomFile gObjectTable[OBJECT_ID_MAX];
|
||||||
extern EntranceInfo gEntranceTable[1556];
|
extern EntranceInfo gEntranceTable[ENTR_MAX];
|
||||||
extern SceneTableEntry gSceneTable[SCENE_ID_MAX];
|
extern SceneTableEntry gSceneTable[SCENE_ID_MAX];
|
||||||
extern u16 gSramSlotOffsets[];
|
extern u16 gSramSlotOffsets[];
|
||||||
// 4 16-colors palettes
|
// 4 16-colors palettes
|
||||||
|
|
|
@ -315,6 +315,19 @@ typedef enum {
|
||||||
|
|
||||||
#undef DEFINE_SCENE
|
#undef DEFINE_SCENE
|
||||||
|
|
||||||
|
|
||||||
|
// Entrance Index Enum
|
||||||
|
#define DEFINE_ENTRANCE(enum, _1, _2, _3, _4, _5, _6) enum,
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
#include "tables/entrance_table.h"
|
||||||
|
/* 0x613 */ ENTR_MAX
|
||||||
|
} EntranceIndex;
|
||||||
|
|
||||||
|
#define ENTR_LOAD_OPENING -1
|
||||||
|
|
||||||
|
#undef DEFINE_ENTRANCE
|
||||||
|
|
||||||
// Scene commands
|
// Scene commands
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
|
|
|
@ -5550,7 +5550,8 @@ s32 func_80038154(GlobalContext* globalCtx, Actor* actor, Vec3s* arg2, Vec3s* ar
|
||||||
actor->focus.pos = actor->world.pos;
|
actor->focus.pos = actor->world.pos;
|
||||||
actor->focus.pos.y += arg4;
|
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;
|
var = actor->yawTowardsPlayer - actor->shape.rot.y;
|
||||||
abs_var = ABS(var);
|
abs_var = ABS(var);
|
||||||
if (abs_var >= 0x4300) {
|
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;
|
sp2C = globalCtx->view.eye;
|
||||||
} else {
|
} else {
|
||||||
sp2C = player->actor.focus.pos;
|
sp2C = player->actor.focus.pos;
|
||||||
|
@ -5579,7 +5581,8 @@ s32 func_80038290(GlobalContext* globalCtx, Actor* actor, Vec3s* arg2, Vec3s* ar
|
||||||
|
|
||||||
actor->focus.pos = arg4;
|
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;
|
var = actor->yawTowardsPlayer - actor->shape.rot.y;
|
||||||
abs_var = ABS(var);
|
abs_var = ABS(var);
|
||||||
if (abs_var >= 0x4300) {
|
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;
|
sp24 = globalCtx->view.eye;
|
||||||
} else {
|
} else {
|
||||||
sp24 = player->actor.focus.pos;
|
sp24 = player->actor.focus.pos;
|
||||||
|
|
|
@ -52,40 +52,40 @@ CutsceneStateHandler sCsStateHandlers2[] = {
|
||||||
u8 sTitleCsState = 0;
|
u8 sTitleCsState = 0;
|
||||||
|
|
||||||
EntranceCutscene sEntranceCutsceneTable[] = {
|
EntranceCutscene sEntranceCutsceneTable[] = {
|
||||||
{ 0x0185, 2, EVENTCHKINF_A0, gHyruleFieldIntroCs },
|
{ ENTR_SPOT00_3, 2, EVENTCHKINF_A0, gHyruleFieldIntroCs },
|
||||||
{ 0x013D, 2, EVENTCHKINF_A1, gDMTIntroCs },
|
{ ENTR_SPOT16_0, 2, EVENTCHKINF_A1, gDMTIntroCs },
|
||||||
{ 0x00DB, 2, EVENTCHKINF_A3, gKakarikoVillageIntroCs },
|
{ ENTR_SPOT01_0, 2, EVENTCHKINF_A3, gKakarikoVillageIntroCs },
|
||||||
{ 0x0108, 2, EVENTCHKINF_A4, gZorasDomainIntroCs },
|
{ ENTR_SPOT07_0, 2, EVENTCHKINF_A4, gZorasDomainIntroCs },
|
||||||
{ 0x0138, 1, EVENTCHKINF_A5, gHyruleCastleIntroCs },
|
{ ENTR_SPOT15_0, 1, EVENTCHKINF_A5, gHyruleCastleIntroCs },
|
||||||
{ 0x014D, 2, EVENTCHKINF_A6, gGoronCityIntroCs },
|
{ ENTR_SPOT18_0, 2, EVENTCHKINF_A6, gGoronCityIntroCs },
|
||||||
{ 0x0053, 2, EVENTCHKINF_A7, gTempleOfTimeIntroCs },
|
{ ENTR_TOKINOMA_0, 2, EVENTCHKINF_A7, gTempleOfTimeIntroCs },
|
||||||
{ 0x0000, 2, EVENTCHKINF_A8, gDekuTreeIntroCs },
|
{ ENTR_YDAN_0, 2, EVENTCHKINF_A8, gDekuTreeIntroCs },
|
||||||
{ 0x028A, 0, EVENTCHKINF_18, gHyruleFieldSouthEponaJumpCs },
|
{ ENTR_SPOT00_11, 0, EVENTCHKINF_18, gHyruleFieldSouthEponaJumpCs },
|
||||||
{ 0x0292, 0, EVENTCHKINF_18, gHyruleFieldEastEponaJumpCs },
|
{ ENTR_SPOT00_13, 0, EVENTCHKINF_18, gHyruleFieldEastEponaJumpCs },
|
||||||
{ 0x028E, 0, EVENTCHKINF_18, gHyruleFieldWestEponaJumpCs },
|
{ ENTR_SPOT00_12, 0, EVENTCHKINF_18, gHyruleFieldWestEponaJumpCs },
|
||||||
{ 0x0476, 0, EVENTCHKINF_18, gHyruleFieldGateEponaJumpCs },
|
{ ENTR_SPOT00_15, 0, EVENTCHKINF_18, gHyruleFieldGateEponaJumpCs },
|
||||||
{ 0x050F, 1, EVENTCHKINF_A9, gHyruleFieldGetOoTCs },
|
{ ENTR_SPOT00_16, 1, EVENTCHKINF_A9, gHyruleFieldGetOoTCs },
|
||||||
{ 0x0102, 2, EVENTCHKINF_B1, gLakeHyliaIntroCs },
|
{ ENTR_SPOT06_0, 2, EVENTCHKINF_B1, gLakeHyliaIntroCs },
|
||||||
{ 0x0117, 2, EVENTCHKINF_B2, gGerudoValleyIntroCs },
|
{ ENTR_SPOT09_0, 2, EVENTCHKINF_B2, gGerudoValleyIntroCs },
|
||||||
{ 0x0129, 2, EVENTCHKINF_B3, gGerudoFortressIntroCs },
|
{ ENTR_SPOT12_0, 2, EVENTCHKINF_B3, gGerudoFortressIntroCs },
|
||||||
{ 0x0157, 2, EVENTCHKINF_B4, gLonLonRanchIntroCs },
|
{ ENTR_SPOT20_0, 2, EVENTCHKINF_B4, gLonLonRanchIntroCs },
|
||||||
{ 0x0028, 2, EVENTCHKINF_B5, gJabuJabuIntroCs },
|
{ ENTR_BDAN_0, 2, EVENTCHKINF_B5, gJabuJabuIntroCs },
|
||||||
{ 0x00E4, 2, EVENTCHKINF_B6, gGraveyardIntroCs },
|
{ ENTR_SPOT02_0, 2, EVENTCHKINF_B6, gGraveyardIntroCs },
|
||||||
{ 0x0225, 2, EVENTCHKINF_B7, gZorasFountainIntroCs },
|
{ ENTR_SPOT08_2, 2, EVENTCHKINF_B7, gZorasFountainIntroCs },
|
||||||
{ 0x0123, 2, EVENTCHKINF_B8, gDesertColossusIntroCs },
|
{ ENTR_SPOT11_0, 2, EVENTCHKINF_B8, gDesertColossusIntroCs },
|
||||||
{ 0x0147, 2, EVENTCHKINF_B9, gDeathMountainCraterIntroCs },
|
{ ENTR_SPOT17_0, 2, EVENTCHKINF_B9, gDeathMountainCraterIntroCs },
|
||||||
{ 0x0138, 0, EVENTCHKINF_BA, gGanonsCastleIntroCs },
|
{ ENTR_SPOT15_0, 0, EVENTCHKINF_BA, gGanonsCastleIntroCs },
|
||||||
{ 0x0574, 2, EVENTCHKINF_5A, gSunSongGraveSunSongTeachPart2Cs },
|
{ ENTR_HAKAANA_OUKE_1, 2, EVENTCHKINF_5A, gSunSongGraveSunSongTeachPart2Cs },
|
||||||
{ 0x0538, 2, EVENTCHKINF_BB, gForestBarrierCs },
|
{ ENTR_GANONTIKA_2, 2, EVENTCHKINF_BB, gForestBarrierCs },
|
||||||
{ 0x053C, 2, EVENTCHKINF_BC, gWaterBarrierCs },
|
{ ENTR_GANONTIKA_3, 2, EVENTCHKINF_BC, gWaterBarrierCs },
|
||||||
{ 0x0540, 2, EVENTCHKINF_BD, gShadowBarrierCs },
|
{ ENTR_GANONTIKA_4, 2, EVENTCHKINF_BD, gShadowBarrierCs },
|
||||||
{ 0x0544, 2, EVENTCHKINF_BE, gFireBarrierCs },
|
{ ENTR_GANONTIKA_5, 2, EVENTCHKINF_BE, gFireBarrierCs },
|
||||||
{ 0x0548, 2, EVENTCHKINF_BF, gLightBarrierCs },
|
{ ENTR_GANONTIKA_6, 2, EVENTCHKINF_BF, gLightBarrierCs },
|
||||||
{ 0x054C, 2, EVENTCHKINF_AD, gSpiritBarrierCs },
|
{ ENTR_GANONTIKA_7, 2, EVENTCHKINF_AD, gSpiritBarrierCs },
|
||||||
{ 0x008D, 0, EVENTCHKINF_C0, gSpiritBossNabooruKnuckleIntroCs },
|
{ ENTR_JYASINBOSS_0, 0, EVENTCHKINF_C0, gSpiritBossNabooruKnuckleIntroCs },
|
||||||
{ 0x03B4, 0, EVENTCHKINF_C7, gGerudoFortressFirstCaptureCs },
|
{ ENTR_SPOT12_17, 0, EVENTCHKINF_C7, gGerudoFortressFirstCaptureCs },
|
||||||
{ 0x0246, 2, EVENTCHKINF_B9, gDeathMountainCraterIntroCs },
|
{ ENTR_SPOT17_1, 2, EVENTCHKINF_B9, gDeathMountainCraterIntroCs },
|
||||||
{ 0x05E8, 2, EVENTCHKINF_C6, gKokiriForestDekuSproutCs },
|
{ ENTR_SPOT04_12, 2, EVENTCHKINF_C6, gKokiriForestDekuSproutCs },
|
||||||
};
|
};
|
||||||
|
|
||||||
// Unused, seems to be an early list of dungeon entrance cutscene locations
|
// 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:
|
case 3:
|
||||||
if (sp3F != 0) {
|
if (sp3F != 0) {
|
||||||
Flags_SetEnv(globalCtx, 0);
|
Flags_SetEnv(globalCtx, 0);
|
||||||
if (gSaveContext.entranceIndex == 0x0053) {
|
if (gSaveContext.entranceIndex == ENTR_TOKINOMA_0) {
|
||||||
Flags_SetEnv(globalCtx, 2);
|
Flags_SetEnv(globalCtx, 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -517,43 +517,43 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt
|
||||||
|
|
||||||
switch (cmd->base) {
|
switch (cmd->base) {
|
||||||
case 1:
|
case 1:
|
||||||
globalCtx->nextEntranceIndex = 0x00A0;
|
globalCtx->nextEntranceIndex = ENTR_HIRAL_DEMO_0;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF1;
|
gSaveContext.cutsceneIndex = 0xFFF1;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
globalCtx->nextEntranceIndex = 0x00A0;
|
globalCtx->nextEntranceIndex = ENTR_HIRAL_DEMO_0;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF0;
|
gSaveContext.cutsceneIndex = 0xFFF0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FILL_WHITE;
|
globalCtx->transitionType = TRANS_TYPE_FILL_WHITE;
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
globalCtx->nextEntranceIndex = 0x0117;
|
globalCtx->nextEntranceIndex = ENTR_SPOT09_0;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF1;
|
gSaveContext.cutsceneIndex = 0xFFF1;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FILL_WHITE;
|
globalCtx->transitionType = TRANS_TYPE_FILL_WHITE;
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
globalCtx->nextEntranceIndex = 0x013D;
|
globalCtx->nextEntranceIndex = ENTR_SPOT16_0;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF0;
|
gSaveContext.cutsceneIndex = 0xFFF0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FILL_WHITE;
|
globalCtx->transitionType = TRANS_TYPE_FILL_WHITE;
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
globalCtx->nextEntranceIndex = 0x00EE;
|
globalCtx->nextEntranceIndex = ENTR_SPOT04_0;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF0;
|
gSaveContext.cutsceneIndex = 0xFFF0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FILL_WHITE;
|
globalCtx->transitionType = TRANS_TYPE_FILL_WHITE;
|
||||||
break;
|
break;
|
||||||
case 6:
|
case 6:
|
||||||
globalCtx->nextEntranceIndex = 0x00A0;
|
globalCtx->nextEntranceIndex = ENTR_HIRAL_DEMO_0;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF2;
|
gSaveContext.cutsceneIndex = 0xFFF2;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FILL_WHITE;
|
globalCtx->transitionType = TRANS_TYPE_FILL_WHITE;
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 7:
|
||||||
globalCtx->nextEntranceIndex = 0x00EE;
|
globalCtx->nextEntranceIndex = ENTR_SPOT04_0;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF2;
|
gSaveContext.cutsceneIndex = 0xFFF2;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_INSTANT;
|
globalCtx->transitionType = TRANS_TYPE_INSTANT;
|
||||||
|
@ -563,7 +563,7 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt
|
||||||
gSaveContext.respawn[RESPAWN_MODE_TOP].data = 0;
|
gSaveContext.respawn[RESPAWN_MODE_TOP].data = 0;
|
||||||
if (!GET_EVENTCHKINF(EVENTCHKINF_45)) {
|
if (!GET_EVENTCHKINF(EVENTCHKINF_45)) {
|
||||||
SET_EVENTCHKINF(EVENTCHKINF_45);
|
SET_EVENTCHKINF(EVENTCHKINF_45);
|
||||||
globalCtx->nextEntranceIndex = 0x00A0;
|
globalCtx->nextEntranceIndex = ENTR_HIRAL_DEMO_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF3;
|
gSaveContext.cutsceneIndex = 0xFFF3;
|
||||||
globalCtx->transitionType = TRANS_TYPE_INSTANT;
|
globalCtx->transitionType = TRANS_TYPE_INSTANT;
|
||||||
|
@ -575,253 +575,253 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt
|
||||||
globalCtx->linkAgeOnLoad = LINK_AGE_CHILD;
|
globalCtx->linkAgeOnLoad = LINK_AGE_CHILD;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
globalCtx->nextEntranceIndex = 0x02CA;
|
globalCtx->nextEntranceIndex = ENTR_TOKINOMA_2;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||||
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_WHITE;
|
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_WHITE;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 9:
|
case 9:
|
||||||
globalCtx->nextEntranceIndex = 0x0117;
|
globalCtx->nextEntranceIndex = ENTR_SPOT09_0;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF0;
|
gSaveContext.cutsceneIndex = 0xFFF0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FILL_BROWN;
|
globalCtx->transitionType = TRANS_TYPE_FILL_BROWN;
|
||||||
break;
|
break;
|
||||||
case 10:
|
case 10:
|
||||||
globalCtx->nextEntranceIndex = 0x00BB;
|
globalCtx->nextEntranceIndex = ENTR_LINK_HOME_0;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF0;
|
gSaveContext.cutsceneIndex = 0xFFF0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 11:
|
case 11:
|
||||||
globalCtx->nextEntranceIndex = 0x00EE;
|
globalCtx->nextEntranceIndex = ENTR_SPOT04_0;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF3;
|
gSaveContext.cutsceneIndex = 0xFFF3;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||||
break;
|
break;
|
||||||
case 12:
|
case 12:
|
||||||
globalCtx->nextEntranceIndex = 0x047A;
|
globalCtx->nextEntranceIndex = ENTR_SPOT16_5;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 13:
|
case 13:
|
||||||
globalCtx->nextEntranceIndex = 0x010E;
|
globalCtx->nextEntranceIndex = ENTR_SPOT08_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_BLACK;
|
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 14:
|
case 14:
|
||||||
globalCtx->nextEntranceIndex = 0x0457;
|
globalCtx->nextEntranceIndex = ENTR_SPOT04_11;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 15:
|
case 15:
|
||||||
globalCtx->nextEntranceIndex = 0x0053;
|
globalCtx->nextEntranceIndex = ENTR_TOKINOMA_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF4;
|
gSaveContext.cutsceneIndex = 0xFFF4;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||||
break;
|
break;
|
||||||
case 16:
|
case 16:
|
||||||
globalCtx->nextEntranceIndex = 0x0053;
|
globalCtx->nextEntranceIndex = ENTR_TOKINOMA_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF5;
|
gSaveContext.cutsceneIndex = 0xFFF5;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||||
break;
|
break;
|
||||||
case 17:
|
case 17:
|
||||||
globalCtx->nextEntranceIndex = 0x0053;
|
globalCtx->nextEntranceIndex = ENTR_TOKINOMA_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF6;
|
gSaveContext.cutsceneIndex = 0xFFF6;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||||
break;
|
break;
|
||||||
case 18:
|
case 18:
|
||||||
SET_EVENTCHKINF(EVENTCHKINF_4F);
|
SET_EVENTCHKINF(EVENTCHKINF_4F);
|
||||||
globalCtx->nextEntranceIndex = 0x0324;
|
globalCtx->nextEntranceIndex = ENTR_TOKINOMA_4;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_BLACK;
|
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 19:
|
case 19:
|
||||||
globalCtx->nextEntranceIndex = 0x013D;
|
globalCtx->nextEntranceIndex = ENTR_SPOT16_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
||||||
gSaveContext.cutsceneIndex = 0x8000;
|
gSaveContext.cutsceneIndex = 0x8000;
|
||||||
break;
|
break;
|
||||||
case 21:
|
case 21:
|
||||||
globalCtx->nextEntranceIndex = 0x0102;
|
globalCtx->nextEntranceIndex = ENTR_SPOT06_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF0;
|
gSaveContext.cutsceneIndex = 0xFFF0;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||||
break;
|
break;
|
||||||
case 22:
|
case 22:
|
||||||
Item_Give(globalCtx, ITEM_SONG_REQUIEM);
|
Item_Give(globalCtx, ITEM_SONG_REQUIEM);
|
||||||
globalCtx->nextEntranceIndex = 0x0123;
|
globalCtx->nextEntranceIndex = ENTR_SPOT11_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF0;
|
gSaveContext.cutsceneIndex = 0xFFF0;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||||
break;
|
break;
|
||||||
case 23:
|
case 23:
|
||||||
globalCtx->nextEntranceIndex = 0x00A0;
|
globalCtx->nextEntranceIndex = ENTR_HIRAL_DEMO_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF8;
|
gSaveContext.cutsceneIndex = 0xFFF8;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||||
break;
|
break;
|
||||||
case 24:
|
case 24:
|
||||||
globalCtx->nextEntranceIndex = 0x0028;
|
globalCtx->nextEntranceIndex = ENTR_BDAN_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 25:
|
case 25:
|
||||||
globalCtx->linkAgeOnLoad = LINK_AGE_ADULT;
|
globalCtx->linkAgeOnLoad = LINK_AGE_ADULT;
|
||||||
globalCtx->nextEntranceIndex = 0x006B;
|
globalCtx->nextEntranceIndex = ENTR_KENJYANOMA_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF0;
|
gSaveContext.cutsceneIndex = 0xFFF0;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||||
break;
|
break;
|
||||||
case 26:
|
case 26:
|
||||||
globalCtx->nextEntranceIndex = 0x0053;
|
globalCtx->nextEntranceIndex = ENTR_TOKINOMA_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF4;
|
gSaveContext.cutsceneIndex = 0xFFF4;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||||
break;
|
break;
|
||||||
case 27:
|
case 27:
|
||||||
globalCtx->nextEntranceIndex = 0x0053;
|
globalCtx->nextEntranceIndex = ENTR_TOKINOMA_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF5;
|
gSaveContext.cutsceneIndex = 0xFFF5;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||||
break;
|
break;
|
||||||
case 28:
|
case 28:
|
||||||
globalCtx->nextEntranceIndex = 0x0053;
|
globalCtx->nextEntranceIndex = ENTR_TOKINOMA_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF6;
|
gSaveContext.cutsceneIndex = 0xFFF6;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||||
break;
|
break;
|
||||||
case 29:
|
case 29:
|
||||||
globalCtx->nextEntranceIndex = 0x006B;
|
globalCtx->nextEntranceIndex = ENTR_KENJYANOMA_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
gSaveContext.chamberCutsceneNum = 0;
|
gSaveContext.chamberCutsceneNum = 0;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||||
break;
|
break;
|
||||||
case 30:
|
case 30:
|
||||||
globalCtx->nextEntranceIndex = 0x006B;
|
globalCtx->nextEntranceIndex = ENTR_KENJYANOMA_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||||
Item_Give(globalCtx, ITEM_MEDALLION_FIRE);
|
Item_Give(globalCtx, ITEM_MEDALLION_FIRE);
|
||||||
gSaveContext.chamberCutsceneNum = 1;
|
gSaveContext.chamberCutsceneNum = 1;
|
||||||
break;
|
break;
|
||||||
case 31:
|
case 31:
|
||||||
globalCtx->nextEntranceIndex = 0x006B;
|
globalCtx->nextEntranceIndex = ENTR_KENJYANOMA_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||||
gSaveContext.chamberCutsceneNum = 2;
|
gSaveContext.chamberCutsceneNum = 2;
|
||||||
break;
|
break;
|
||||||
case 32:
|
case 32:
|
||||||
globalCtx->linkAgeOnLoad = LINK_AGE_CHILD;
|
globalCtx->linkAgeOnLoad = LINK_AGE_CHILD;
|
||||||
globalCtx->nextEntranceIndex = 0x00CD;
|
globalCtx->nextEntranceIndex = ENTR_SPOT00_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF2;
|
gSaveContext.cutsceneIndex = 0xFFF2;
|
||||||
globalCtx->transitionType = TRANS_TYPE_INSTANT;
|
globalCtx->transitionType = TRANS_TYPE_INSTANT;
|
||||||
break;
|
break;
|
||||||
case 33:
|
case 33:
|
||||||
globalCtx->nextEntranceIndex = 0x00CD;
|
globalCtx->nextEntranceIndex = ENTR_SPOT00_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||||
break;
|
break;
|
||||||
case 34:
|
case 34:
|
||||||
globalCtx->nextEntranceIndex = 0x00A0;
|
globalCtx->nextEntranceIndex = ENTR_HIRAL_DEMO_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF3;
|
gSaveContext.cutsceneIndex = 0xFFF3;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||||
break;
|
break;
|
||||||
case 35:
|
case 35:
|
||||||
globalCtx->nextEntranceIndex = 0x00CD;
|
globalCtx->nextEntranceIndex = ENTR_SPOT00_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF0;
|
gSaveContext.cutsceneIndex = 0xFFF0;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
||||||
break;
|
break;
|
||||||
case 38:
|
case 38:
|
||||||
globalCtx->nextEntranceIndex = 0x00A0;
|
globalCtx->nextEntranceIndex = ENTR_HIRAL_DEMO_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF4;
|
gSaveContext.cutsceneIndex = 0xFFF4;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
||||||
break;
|
break;
|
||||||
case 39:
|
case 39:
|
||||||
globalCtx->nextEntranceIndex = 0x0053;
|
globalCtx->nextEntranceIndex = ENTR_TOKINOMA_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF9;
|
gSaveContext.cutsceneIndex = 0xFFF9;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
||||||
break;
|
break;
|
||||||
case 40:
|
case 40:
|
||||||
globalCtx->linkAgeOnLoad = LINK_AGE_ADULT;
|
globalCtx->linkAgeOnLoad = LINK_AGE_ADULT;
|
||||||
globalCtx->nextEntranceIndex = 0x0053;
|
globalCtx->nextEntranceIndex = ENTR_TOKINOMA_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
gSaveContext.cutsceneIndex = 0xFFFA;
|
gSaveContext.cutsceneIndex = 0xFFFA;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
||||||
break;
|
break;
|
||||||
case 41:
|
case 41:
|
||||||
globalCtx->nextEntranceIndex = 0x04E6;
|
globalCtx->nextEntranceIndex = ENTR_SPOT06_5;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 42:
|
case 42:
|
||||||
globalCtx->nextEntranceIndex = 0x00DB;
|
globalCtx->nextEntranceIndex = ENTR_SPOT01_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF2;
|
gSaveContext.cutsceneIndex = 0xFFF2;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
||||||
break;
|
break;
|
||||||
case 43:
|
case 43:
|
||||||
globalCtx->nextEntranceIndex = 0x0503;
|
globalCtx->nextEntranceIndex = ENTR_HAKASITARELAY_2;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
||||||
break;
|
break;
|
||||||
case 44:
|
case 44:
|
||||||
globalCtx->nextEntranceIndex = 0x0320;
|
globalCtx->nextEntranceIndex = ENTR_TOKINOMA_3;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE_INSTANT;
|
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE_INSTANT;
|
||||||
break;
|
break;
|
||||||
case 46:
|
case 46:
|
||||||
SET_EVENTCHKINF(EVENTCHKINF_4F);
|
SET_EVENTCHKINF(EVENTCHKINF_4F);
|
||||||
globalCtx->nextEntranceIndex = 0x0324;
|
globalCtx->nextEntranceIndex = ENTR_TOKINOMA_4;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
||||||
break;
|
break;
|
||||||
case 47:
|
case 47:
|
||||||
Item_Give(globalCtx, ITEM_SONG_NOCTURNE);
|
Item_Give(globalCtx, ITEM_SONG_NOCTURNE);
|
||||||
SET_EVENTCHKINF(EVENTCHKINF_54);
|
SET_EVENTCHKINF(EVENTCHKINF_54);
|
||||||
globalCtx->nextEntranceIndex = 0x00DB;
|
globalCtx->nextEntranceIndex = ENTR_SPOT01_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF1;
|
gSaveContext.cutsceneIndex = 0xFFF1;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
||||||
break;
|
break;
|
||||||
case 48:
|
case 48:
|
||||||
globalCtx->nextEntranceIndex = 0x01ED;
|
globalCtx->nextEntranceIndex = ENTR_SPOT11_4;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_SANDSTORM_END;
|
globalCtx->transitionType = TRANS_TYPE_SANDSTORM_END;
|
||||||
gSaveContext.nextTransitionType = TRANS_TYPE_SANDSTORM_END;
|
gSaveContext.nextTransitionType = TRANS_TYPE_SANDSTORM_END;
|
||||||
break;
|
break;
|
||||||
case 49:
|
case 49:
|
||||||
globalCtx->nextEntranceIndex = 0x058C;
|
globalCtx->nextEntranceIndex = ENTR_TOKINOMA_5;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
||||||
break;
|
break;
|
||||||
case 50:
|
case 50:
|
||||||
globalCtx->nextEntranceIndex = 0x0513;
|
globalCtx->nextEntranceIndex = ENTR_SPOT01_13;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE_INSTANT;
|
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE_INSTANT;
|
||||||
break;
|
break;
|
||||||
case 51:
|
case 51:
|
||||||
globalCtx->nextEntranceIndex = 0x00CD;
|
globalCtx->nextEntranceIndex = ENTR_SPOT00_0;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF8;
|
gSaveContext.cutsceneIndex = 0xFFF8;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_NORMAL, TCC_WHITE, TCS_SLOW);
|
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_NORMAL, TCC_WHITE, TCS_SLOW);
|
||||||
break;
|
break;
|
||||||
case 52:
|
case 52:
|
||||||
globalCtx->nextEntranceIndex = 0x0053;
|
globalCtx->nextEntranceIndex = ENTR_TOKINOMA_0;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF7;
|
gSaveContext.cutsceneIndex = 0xFFF7;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_INSTANT;
|
globalCtx->transitionType = TRANS_TYPE_INSTANT;
|
||||||
break;
|
break;
|
||||||
case 53:
|
case 53:
|
||||||
globalCtx->nextEntranceIndex = 0x050F;
|
globalCtx->nextEntranceIndex = ENTR_SPOT00_16;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||||
break;
|
break;
|
||||||
|
@ -829,102 +829,102 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt
|
||||||
gSaveContext.gameMode = 3;
|
gSaveContext.gameMode = 3;
|
||||||
Audio_SetSoundBanksMute(0x6F);
|
Audio_SetSoundBanksMute(0x6F);
|
||||||
globalCtx->linkAgeOnLoad = LINK_AGE_CHILD;
|
globalCtx->linkAgeOnLoad = LINK_AGE_CHILD;
|
||||||
globalCtx->nextEntranceIndex = 0x0117;
|
globalCtx->nextEntranceIndex = ENTR_SPOT09_0;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF2;
|
gSaveContext.cutsceneIndex = 0xFFF2;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 55:
|
case 55:
|
||||||
globalCtx->nextEntranceIndex = 0x0129;
|
globalCtx->nextEntranceIndex = ENTR_SPOT12_0;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF1;
|
gSaveContext.cutsceneIndex = 0xFFF1;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 56:
|
case 56:
|
||||||
globalCtx->nextEntranceIndex = 0x00DB;
|
globalCtx->nextEntranceIndex = ENTR_SPOT01_0;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF4;
|
gSaveContext.cutsceneIndex = 0xFFF4;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 57:
|
case 57:
|
||||||
globalCtx->nextEntranceIndex = 0x013D;
|
globalCtx->nextEntranceIndex = ENTR_SPOT16_0;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF3;
|
gSaveContext.cutsceneIndex = 0xFFF3;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 58:
|
case 58:
|
||||||
globalCtx->nextEntranceIndex = 0x014D;
|
globalCtx->nextEntranceIndex = ENTR_SPOT18_0;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF1;
|
gSaveContext.cutsceneIndex = 0xFFF1;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 59:
|
case 59:
|
||||||
globalCtx->nextEntranceIndex = 0x0102;
|
globalCtx->nextEntranceIndex = ENTR_SPOT06_0;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF1;
|
gSaveContext.cutsceneIndex = 0xFFF1;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 60:
|
case 60:
|
||||||
globalCtx->nextEntranceIndex = 0x010E;
|
globalCtx->nextEntranceIndex = ENTR_SPOT08_0;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF2;
|
gSaveContext.cutsceneIndex = 0xFFF2;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 61:
|
case 61:
|
||||||
globalCtx->nextEntranceIndex = 0x0108;
|
globalCtx->nextEntranceIndex = ENTR_SPOT07_0;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF0;
|
gSaveContext.cutsceneIndex = 0xFFF0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 62:
|
case 62:
|
||||||
globalCtx->linkAgeOnLoad = LINK_AGE_ADULT;
|
globalCtx->linkAgeOnLoad = LINK_AGE_ADULT;
|
||||||
globalCtx->nextEntranceIndex = 0x00EE;
|
globalCtx->nextEntranceIndex = ENTR_SPOT04_0;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF6;
|
gSaveContext.cutsceneIndex = 0xFFF6;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 63:
|
case 63:
|
||||||
globalCtx->nextEntranceIndex = 0x00EE;
|
globalCtx->nextEntranceIndex = ENTR_SPOT04_0;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF7;
|
gSaveContext.cutsceneIndex = 0xFFF7;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 64:
|
case 64:
|
||||||
globalCtx->nextEntranceIndex = 0x00CD;
|
globalCtx->nextEntranceIndex = ENTR_SPOT00_0;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF5;
|
gSaveContext.cutsceneIndex = 0xFFF5;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 65:
|
case 65:
|
||||||
globalCtx->linkAgeOnLoad = LINK_AGE_CHILD;
|
globalCtx->linkAgeOnLoad = LINK_AGE_CHILD;
|
||||||
globalCtx->nextEntranceIndex = 0x0157;
|
globalCtx->nextEntranceIndex = ENTR_SPOT20_0;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF2;
|
gSaveContext.cutsceneIndex = 0xFFF2;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 66:
|
case 66:
|
||||||
globalCtx->nextEntranceIndex = 0x0554;
|
globalCtx->nextEntranceIndex = ENTR_SPOT01_14;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 67:
|
case 67:
|
||||||
globalCtx->nextEntranceIndex = 0x027E;
|
globalCtx->nextEntranceIndex = ENTR_SPOT00_9;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 68:
|
case 68:
|
||||||
globalCtx->nextEntranceIndex = 0x00A0;
|
globalCtx->nextEntranceIndex = ENTR_HIRAL_DEMO_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF5;
|
gSaveContext.cutsceneIndex = 0xFFF5;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 69:
|
case 69:
|
||||||
globalCtx->nextEntranceIndex = 0x05E8;
|
globalCtx->nextEntranceIndex = ENTR_SPOT04_12;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 70:
|
case 70:
|
||||||
globalCtx->nextEntranceIndex = 0x013D;
|
globalCtx->nextEntranceIndex = ENTR_SPOT16_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF4;
|
gSaveContext.cutsceneIndex = 0xFFF4;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
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);
|
gSaveContext.equips.equipment |= EQUIP_VALUE_BOOTS_KOKIRI << (EQUIP_TYPE_BOOTS * 4);
|
||||||
Player_SetEquipmentData(globalCtx, player);
|
Player_SetEquipmentData(globalCtx, player);
|
||||||
globalCtx->linkAgeOnLoad = LINK_AGE_CHILD;
|
globalCtx->linkAgeOnLoad = LINK_AGE_CHILD;
|
||||||
globalCtx->nextEntranceIndex = 0x0053;
|
globalCtx->nextEntranceIndex = ENTR_TOKINOMA_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF1;
|
gSaveContext.cutsceneIndex = 0xFFF1;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 72:
|
case 72:
|
||||||
globalCtx->nextEntranceIndex = 0x0400;
|
globalCtx->nextEntranceIndex = ENTR_NAKANIWA_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF0;
|
gSaveContext.cutsceneIndex = 0xFFF0;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
|
@ -950,13 +950,13 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt
|
||||||
break;
|
break;
|
||||||
case 73:
|
case 73:
|
||||||
globalCtx->linkAgeOnLoad = LINK_AGE_CHILD;
|
globalCtx->linkAgeOnLoad = LINK_AGE_CHILD;
|
||||||
globalCtx->nextEntranceIndex = 0x0157;
|
globalCtx->nextEntranceIndex = ENTR_SPOT20_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF2;
|
gSaveContext.cutsceneIndex = 0xFFF2;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 74:
|
case 74:
|
||||||
globalCtx->nextEntranceIndex = 0x0157;
|
globalCtx->nextEntranceIndex = ENTR_SPOT20_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF3;
|
gSaveContext.cutsceneIndex = 0xFFF3;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||||
|
@ -964,27 +964,27 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt
|
||||||
break;
|
break;
|
||||||
case 75:
|
case 75:
|
||||||
globalCtx->linkAgeOnLoad = LINK_AGE_CHILD;
|
globalCtx->linkAgeOnLoad = LINK_AGE_CHILD;
|
||||||
globalCtx->nextEntranceIndex = 0x0157;
|
globalCtx->nextEntranceIndex = ENTR_SPOT20_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF4;
|
gSaveContext.cutsceneIndex = 0xFFF4;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 76:
|
case 76:
|
||||||
globalCtx->linkAgeOnLoad = LINK_AGE_ADULT;
|
globalCtx->linkAgeOnLoad = LINK_AGE_ADULT;
|
||||||
globalCtx->nextEntranceIndex = 0x0157;
|
globalCtx->nextEntranceIndex = ENTR_SPOT20_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF5;
|
gSaveContext.cutsceneIndex = 0xFFF5;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 77:
|
case 77:
|
||||||
globalCtx->linkAgeOnLoad = LINK_AGE_CHILD;
|
globalCtx->linkAgeOnLoad = LINK_AGE_CHILD;
|
||||||
globalCtx->nextEntranceIndex = 0x0157;
|
globalCtx->nextEntranceIndex = ENTR_SPOT20_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF6;
|
gSaveContext.cutsceneIndex = 0xFFF6;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 78:
|
case 78:
|
||||||
globalCtx->nextEntranceIndex = 0x0157;
|
globalCtx->nextEntranceIndex = ENTR_SPOT20_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF7;
|
gSaveContext.cutsceneIndex = 0xFFF7;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
|
@ -1004,36 +1004,36 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt
|
||||||
case 91:
|
case 91:
|
||||||
case 92:
|
case 92:
|
||||||
case 93:
|
case 93:
|
||||||
globalCtx->nextEntranceIndex = 0x0157;
|
globalCtx->nextEntranceIndex = ENTR_SPOT20_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 94:
|
case 94:
|
||||||
globalCtx->nextEntranceIndex = 0x02AE;
|
globalCtx->nextEntranceIndex = ENTR_SPOT20_1;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||||
break;
|
break;
|
||||||
case 95:
|
case 95:
|
||||||
if (GET_EVENTCHKINF(EVENTCHKINF_48) && GET_EVENTCHKINF(EVENTCHKINF_49) &&
|
if (GET_EVENTCHKINF(EVENTCHKINF_48) && GET_EVENTCHKINF(EVENTCHKINF_49) &&
|
||||||
GET_EVENTCHKINF(EVENTCHKINF_4A)) {
|
GET_EVENTCHKINF(EVENTCHKINF_4A)) {
|
||||||
globalCtx->nextEntranceIndex = 0x0053;
|
globalCtx->nextEntranceIndex = ENTR_TOKINOMA_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF3;
|
gSaveContext.cutsceneIndex = 0xFFF3;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
} else {
|
} else {
|
||||||
switch (gSaveContext.sceneSetupIndex) {
|
switch (gSaveContext.sceneSetupIndex) {
|
||||||
case 8:
|
case 8:
|
||||||
globalCtx->nextEntranceIndex = 0x00FC;
|
globalCtx->nextEntranceIndex = ENTR_SPOT05_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 9:
|
case 9:
|
||||||
globalCtx->nextEntranceIndex = 0x0147;
|
globalCtx->nextEntranceIndex = ENTR_SPOT17_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 10:
|
case 10:
|
||||||
globalCtx->nextEntranceIndex = 0x0102;
|
globalCtx->nextEntranceIndex = ENTR_SPOT06_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF0;
|
gSaveContext.cutsceneIndex = 0xFFF0;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||||
|
@ -1043,13 +1043,13 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt
|
||||||
break;
|
break;
|
||||||
case 96:
|
case 96:
|
||||||
if (CHECK_QUEST_ITEM(QUEST_MEDALLION_SHADOW)) {
|
if (CHECK_QUEST_ITEM(QUEST_MEDALLION_SHADOW)) {
|
||||||
globalCtx->nextEntranceIndex = 0x006B;
|
globalCtx->nextEntranceIndex = ENTR_KENJYANOMA_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF1;
|
gSaveContext.cutsceneIndex = 0xFFF1;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE_FAST;
|
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE_FAST;
|
||||||
} else {
|
} else {
|
||||||
SET_EVENTCHKINF(EVENTCHKINF_C8);
|
SET_EVENTCHKINF(EVENTCHKINF_C8);
|
||||||
globalCtx->nextEntranceIndex = 0x0610;
|
globalCtx->nextEntranceIndex = ENTR_SPOT11_8;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||||
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_WHITE;
|
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_WHITE;
|
||||||
|
@ -1057,48 +1057,48 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt
|
||||||
break;
|
break;
|
||||||
case 97:
|
case 97:
|
||||||
if (CHECK_QUEST_ITEM(QUEST_MEDALLION_SPIRIT)) {
|
if (CHECK_QUEST_ITEM(QUEST_MEDALLION_SPIRIT)) {
|
||||||
globalCtx->nextEntranceIndex = 0x006B;
|
globalCtx->nextEntranceIndex = ENTR_KENJYANOMA_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF1;
|
gSaveContext.cutsceneIndex = 0xFFF1;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE_FAST;
|
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE_FAST;
|
||||||
} else {
|
} else {
|
||||||
globalCtx->nextEntranceIndex = 0x0580;
|
globalCtx->nextEntranceIndex = ENTR_SPOT02_8;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||||
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_WHITE;
|
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_WHITE;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 98:
|
case 98:
|
||||||
globalCtx->nextEntranceIndex = 0x0564;
|
globalCtx->nextEntranceIndex = ENTR_SPOT17_5;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||||
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_WHITE;
|
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_WHITE;
|
||||||
break;
|
break;
|
||||||
case 99:
|
case 99:
|
||||||
globalCtx->nextEntranceIndex = 0x0608;
|
globalCtx->nextEntranceIndex = ENTR_SPOT05_3;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_BLACK;
|
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 100:
|
case 100:
|
||||||
globalCtx->nextEntranceIndex = 0x00EE;
|
globalCtx->nextEntranceIndex = ENTR_SPOT04_0;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF8;
|
gSaveContext.cutsceneIndex = 0xFFF8;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||||
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_WHITE;
|
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_WHITE;
|
||||||
break;
|
break;
|
||||||
case 101:
|
case 101:
|
||||||
globalCtx->nextEntranceIndex = 0x01F5;
|
globalCtx->nextEntranceIndex = ENTR_SPOT11_6;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_SANDSTORM_END;
|
globalCtx->transitionType = TRANS_TYPE_SANDSTORM_END;
|
||||||
break;
|
break;
|
||||||
case 102:
|
case 102:
|
||||||
globalCtx->nextEntranceIndex = 0x0590;
|
globalCtx->nextEntranceIndex = ENTR_TOKINOMA_6;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 103:
|
case 103:
|
||||||
globalCtx->nextEntranceIndex = 0x00CD;
|
globalCtx->nextEntranceIndex = ENTR_SPOT00_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF3;
|
gSaveContext.cutsceneIndex = 0xFFF3;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
|
@ -1106,21 +1106,21 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt
|
||||||
case 104:
|
case 104:
|
||||||
switch (sTitleCsState) {
|
switch (sTitleCsState) {
|
||||||
case 0:
|
case 0:
|
||||||
globalCtx->nextEntranceIndex = 0x008D;
|
globalCtx->nextEntranceIndex = ENTR_JYASINBOSS_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF2;
|
gSaveContext.cutsceneIndex = 0xFFF2;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
sTitleCsState++;
|
sTitleCsState++;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
globalCtx->nextEntranceIndex = 0x0147;
|
globalCtx->nextEntranceIndex = ENTR_SPOT17_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF1;
|
gSaveContext.cutsceneIndex = 0xFFF1;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
sTitleCsState++;
|
sTitleCsState++;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
globalCtx->nextEntranceIndex = 0x00A0;
|
globalCtx->nextEntranceIndex = ENTR_HIRAL_DEMO_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF6;
|
gSaveContext.cutsceneIndex = 0xFFF6;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
|
@ -1129,43 +1129,43 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 105:
|
case 105:
|
||||||
globalCtx->nextEntranceIndex = 0x00E4;
|
globalCtx->nextEntranceIndex = ENTR_SPOT02_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF1;
|
gSaveContext.cutsceneIndex = 0xFFF1;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 106:
|
case 106:
|
||||||
globalCtx->nextEntranceIndex = 0x0574;
|
globalCtx->nextEntranceIndex = ENTR_HAKAANA_OUKE_1;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 107:
|
case 107:
|
||||||
globalCtx->nextEntranceIndex = 0x0538;
|
globalCtx->nextEntranceIndex = ENTR_GANONTIKA_2;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 108:
|
case 108:
|
||||||
globalCtx->nextEntranceIndex = 0x053C;
|
globalCtx->nextEntranceIndex = ENTR_GANONTIKA_3;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 109:
|
case 109:
|
||||||
globalCtx->nextEntranceIndex = 0x0540;
|
globalCtx->nextEntranceIndex = ENTR_GANONTIKA_4;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 110:
|
case 110:
|
||||||
globalCtx->nextEntranceIndex = 0x0544;
|
globalCtx->nextEntranceIndex = ENTR_GANONTIKA_5;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 111:
|
case 111:
|
||||||
globalCtx->nextEntranceIndex = 0x0548;
|
globalCtx->nextEntranceIndex = ENTR_GANONTIKA_6;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 112:
|
case 112:
|
||||||
globalCtx->nextEntranceIndex = 0x054C;
|
globalCtx->nextEntranceIndex = ENTR_GANONTIKA_7;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
|
@ -1184,23 +1184,23 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 114:
|
case 114:
|
||||||
globalCtx->nextEntranceIndex = 0x0185;
|
globalCtx->nextEntranceIndex = ENTR_SPOT00_3;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 115:
|
case 115:
|
||||||
globalCtx->nextEntranceIndex = 0x0594;
|
globalCtx->nextEntranceIndex = ENTR_SPOT00_17;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_BLACK;
|
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
break;
|
break;
|
||||||
case 116:
|
case 116:
|
||||||
if (GET_EVENTCHKINF(EVENTCHKINF_C8)) {
|
if (GET_EVENTCHKINF(EVENTCHKINF_C8)) {
|
||||||
globalCtx->nextEntranceIndex = 0x0580;
|
globalCtx->nextEntranceIndex = ENTR_SPOT02_8;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||||
} else {
|
} else {
|
||||||
globalCtx->nextEntranceIndex = 0x0610;
|
globalCtx->nextEntranceIndex = ENTR_SPOT11_8;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||||
}
|
}
|
||||||
|
@ -1210,13 +1210,13 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt
|
||||||
gSaveContext.gameMode = 3;
|
gSaveContext.gameMode = 3;
|
||||||
Audio_SetSoundBanksMute(0x6F);
|
Audio_SetSoundBanksMute(0x6F);
|
||||||
globalCtx->linkAgeOnLoad = LINK_AGE_ADULT;
|
globalCtx->linkAgeOnLoad = LINK_AGE_ADULT;
|
||||||
globalCtx->nextEntranceIndex = 0x00CD;
|
globalCtx->nextEntranceIndex = ENTR_SPOT00_0;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF7;
|
gSaveContext.cutsceneIndex = 0xFFF7;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||||
break;
|
break;
|
||||||
case 118:
|
case 118:
|
||||||
gSaveContext.respawn[RESPAWN_MODE_DOWN].entranceIndex = 0x0517;
|
gSaveContext.respawn[RESPAWN_MODE_DOWN].entranceIndex = ENTR_GANON_DEMO_0;
|
||||||
Gameplay_TriggerVoidOut(globalCtx);
|
Gameplay_TriggerVoidOut(globalCtx);
|
||||||
gSaveContext.respawnFlag = -2;
|
gSaveContext.respawnFlag = -2;
|
||||||
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_BLACK;
|
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_BLACK;
|
||||||
|
@ -1224,7 +1224,7 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt
|
||||||
case 119:
|
case 119:
|
||||||
gSaveContext.dayTime = 0x8000;
|
gSaveContext.dayTime = 0x8000;
|
||||||
gSaveContext.skyboxTime = 0x8000;
|
gSaveContext.skyboxTime = 0x8000;
|
||||||
globalCtx->nextEntranceIndex = 0x05F0;
|
globalCtx->nextEntranceIndex = ENTR_NAKANIWA_1;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||||
break;
|
break;
|
||||||
|
@ -1248,12 +1248,12 @@ void Cutscene_Command_TransitionFX(GlobalContext* globalCtx, CutsceneContext* cs
|
||||||
globalCtx->envCtx.screenFillColor[2] = 160;
|
globalCtx->envCtx.screenFillColor[2] = 160;
|
||||||
if (cmd->base == 1) {
|
if (cmd->base == 1) {
|
||||||
globalCtx->envCtx.screenFillColor[3] = 255.0f * temp;
|
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,
|
Audio_PlaySoundGeneral(NA_SE_SY_WHITE_OUT_S, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||||
} else if ((temp == 0.0f) &&
|
} else if ((temp == 0.0f) && ((gSaveContext.entranceIndex == ENTR_TOKINOMA_0) ||
|
||||||
((gSaveContext.entranceIndex == 0x0053) || (gSaveContext.entranceIndex == 0x0138) ||
|
(gSaveContext.entranceIndex == ENTR_SPOT15_0) ||
|
||||||
(gSaveContext.entranceIndex == 0x0371))) {
|
(gSaveContext.entranceIndex == ENTR_YOUSEI_IZUMI_YOKO_0))) {
|
||||||
Audio_PlaySoundGeneral(NA_SE_EV_WHITE_OUT, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
Audio_PlaySoundGeneral(NA_SE_EV_WHITE_OUT, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||||
} else if ((temp == 0.0f) && (globalCtx->sceneNum == SCENE_GANONTIKA)) {
|
} 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));
|
osSyncPrintf("\ngame_info.mode=[%d] restart_flag", ((void)0, gSaveContext.respawnFlag));
|
||||||
|
|
||||||
if ((gSaveContext.gameMode == 0) && (gSaveContext.respawnFlag <= 0) && (gSaveContext.cutsceneIndex < 0xFFF0)) {
|
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);
|
Flags_SetEventChkInf(EVENTCHKINF_AC);
|
||||||
gSaveContext.entranceIndex = 0x0123;
|
gSaveContext.entranceIndex = ENTR_SPOT11_0;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF0;
|
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) &&
|
GET_EVENTCHKINF(EVENTCHKINF_49) && GET_EVENTCHKINF(EVENTCHKINF_4A) &&
|
||||||
!Flags_GetEventChkInf(EVENTCHKINF_AA)) {
|
!Flags_GetEventChkInf(EVENTCHKINF_AA)) {
|
||||||
Flags_SetEventChkInf(EVENTCHKINF_AA);
|
Flags_SetEventChkInf(EVENTCHKINF_AA);
|
||||||
gSaveContext.cutsceneIndex = 0xFFF0;
|
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);
|
Flags_SetEventChkInf(EVENTCHKINF_C1);
|
||||||
Item_Give(globalCtx, ITEM_OCARINA_FAIRY);
|
Item_Give(globalCtx, ITEM_OCARINA_FAIRY);
|
||||||
gSaveContext.entranceIndex = 0x011E;
|
gSaveContext.entranceIndex = ENTR_SPOT10_0;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF0;
|
gSaveContext.cutsceneIndex = 0xFFF0;
|
||||||
} else if (CHECK_QUEST_ITEM(QUEST_MEDALLION_SPIRIT) && CHECK_QUEST_ITEM(QUEST_MEDALLION_SHADOW) &&
|
} else if (CHECK_QUEST_ITEM(QUEST_MEDALLION_SPIRIT) && CHECK_QUEST_ITEM(QUEST_MEDALLION_SHADOW) &&
|
||||||
LINK_IS_ADULT && !Flags_GetEventChkInf(EVENTCHKINF_C4) &&
|
LINK_IS_ADULT && !Flags_GetEventChkInf(EVENTCHKINF_C4) &&
|
||||||
(gEntranceTable[((void)0, gSaveContext.entranceIndex)].scene == SCENE_TOKINOMA)) {
|
(gEntranceTable[((void)0, gSaveContext.entranceIndex)].scene == SCENE_TOKINOMA)) {
|
||||||
Flags_SetEventChkInf(EVENTCHKINF_C4);
|
Flags_SetEventChkInf(EVENTCHKINF_C4);
|
||||||
gSaveContext.entranceIndex = 0x0053;
|
gSaveContext.entranceIndex = ENTR_TOKINOMA_0;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF8;
|
gSaveContext.cutsceneIndex = 0xFFF8;
|
||||||
} else if (!Flags_GetEventChkInf(EVENTCHKINF_C7) &&
|
} else if (!Flags_GetEventChkInf(EVENTCHKINF_C7) &&
|
||||||
(gEntranceTable[((void)0, gSaveContext.entranceIndex)].scene == SCENE_GANON_DEMO)) {
|
(gEntranceTable[((void)0, gSaveContext.entranceIndex)].scene == SCENE_GANON_DEMO)) {
|
||||||
Flags_SetEventChkInf(EVENTCHKINF_C7);
|
Flags_SetEventChkInf(EVENTCHKINF_C7);
|
||||||
gSaveContext.entranceIndex = 0x0517;
|
gSaveContext.entranceIndex = ENTR_GANON_DEMO_0;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF0;
|
gSaveContext.cutsceneIndex = 0xFFF0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -68,7 +68,7 @@ void func_8006D0EC(GlobalContext* globalCtx, Player* player) {
|
||||||
horseActor =
|
horseActor =
|
||||||
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_HORSE, 3586.0f, 1413.0f, -402.0f, 0, 0x4000, 0, 1);
|
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_HORSE, 3586.0f, 1413.0f, -402.0f, 0, 0x4000, 0, 1);
|
||||||
horseActor->room = -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* horseActor =
|
||||||
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_HORSE, -25.0f, 0.0f, -1600.0f, 0, -0x4000, 0, 1);
|
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);
|
ASSERT(horseActor != NULL, "horse_actor != NULL", "../z_horse.c", 389);
|
||||||
|
@ -132,8 +132,8 @@ void func_8006D684(GlobalContext* globalCtx, Player* player) {
|
||||||
s32 i;
|
s32 i;
|
||||||
Vec3s spawnPos;
|
Vec3s spawnPos;
|
||||||
|
|
||||||
if ((gSaveContext.entranceIndex == 0x028A || gSaveContext.entranceIndex == 0x028E ||
|
if ((gSaveContext.entranceIndex == ENTR_SPOT00_11 || gSaveContext.entranceIndex == ENTR_SPOT00_12 ||
|
||||||
gSaveContext.entranceIndex == 0x0292 || gSaveContext.entranceIndex == 0x0476) &&
|
gSaveContext.entranceIndex == ENTR_SPOT00_13 || gSaveContext.entranceIndex == ENTR_SPOT00_15) &&
|
||||||
(gSaveContext.respawnFlag == 0)) {
|
(gSaveContext.respawnFlag == 0)) {
|
||||||
Vec3s spawnPositions[] = {
|
Vec3s spawnPositions[] = {
|
||||||
{ -2961, 313, 7700 },
|
{ -2961, 313, 7700 },
|
||||||
|
@ -142,11 +142,11 @@ void func_8006D684(GlobalContext* globalCtx, Player* player) {
|
||||||
{ -2313, 313, 5990 },
|
{ -2313, 313, 5990 },
|
||||||
};
|
};
|
||||||
|
|
||||||
if (gSaveContext.entranceIndex == 0x028A) {
|
if (gSaveContext.entranceIndex == ENTR_SPOT00_11) {
|
||||||
spawnPos = spawnPositions[0];
|
spawnPos = spawnPositions[0];
|
||||||
} else if (gSaveContext.entranceIndex == 0x028E) {
|
} else if (gSaveContext.entranceIndex == ENTR_SPOT00_12) {
|
||||||
spawnPos = spawnPositions[1];
|
spawnPos = spawnPositions[1];
|
||||||
} else if (gSaveContext.entranceIndex == 0x0292) {
|
} else if (gSaveContext.entranceIndex == ENTR_SPOT00_13) {
|
||||||
spawnPos = spawnPositions[2];
|
spawnPos = spawnPositions[2];
|
||||||
} else {
|
} else {
|
||||||
spawnPos = spawnPositions[3];
|
spawnPos = spawnPositions[3];
|
||||||
|
@ -247,8 +247,8 @@ void func_8006DC68(GlobalContext* globalCtx, Player* player) {
|
||||||
|
|
||||||
if (func_8006CFC0(globalCtx->sceneNum)) {
|
if (func_8006CFC0(globalCtx->sceneNum)) {
|
||||||
if ((gSaveContext.sceneSetupIndex > 3) ||
|
if ((gSaveContext.sceneSetupIndex > 3) ||
|
||||||
((gSaveContext.entranceIndex == 0x028A || gSaveContext.entranceIndex == 0x028E ||
|
((gSaveContext.entranceIndex == ENTR_SPOT00_11 || gSaveContext.entranceIndex == ENTR_SPOT00_12 ||
|
||||||
gSaveContext.entranceIndex == 0x0292 || gSaveContext.entranceIndex == 0x0476) &&
|
gSaveContext.entranceIndex == ENTR_SPOT00_13 || gSaveContext.entranceIndex == ENTR_SPOT00_15) &&
|
||||||
(gSaveContext.respawnFlag == 0)) ||
|
(gSaveContext.respawnFlag == 0)) ||
|
||||||
((globalCtx->sceneNum == SCENE_SPOT20) && (GET_EVENTINF_HORSES_STATE() == EVENTINF_HORSES_STATE_6) &&
|
((globalCtx->sceneNum == SCENE_SPOT20) && (GET_EVENTINF_HORSES_STATE() == EVENTINF_HORSES_STATE_6) &&
|
||||||
!Flags_GetEventChkInf(EVENTCHKINF_18) && (DREG(1) == 0))) {
|
!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;
|
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,
|
Matrix_Translate(globalCtx->view.eye.x + globalCtx->envCtx.sunPos.x,
|
||||||
globalCtx->view.eye.y + globalCtx->envCtx.sunPos.y,
|
globalCtx->view.eye.y + globalCtx->envCtx.sunPos.y,
|
||||||
globalCtx->view.eye.z + globalCtx->envCtx.sunPos.z, MTXMODE_NEW);
|
globalCtx->view.eye.z + globalCtx->envCtx.sunPos.z, MTXMODE_NEW);
|
||||||
|
@ -1920,7 +1920,8 @@ void Environment_PlaySceneSequence(GlobalContext* globalCtx) {
|
||||||
globalCtx->envCtx.unk_E0 = 0xFF;
|
globalCtx->envCtx.unk_E0 = 0xFF;
|
||||||
|
|
||||||
// both lost woods exits on the bridge from kokiri to hyrule field
|
// 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);
|
Audio_PlayNatureAmbienceSequence(NATURE_ID_KOKIRI_REGION);
|
||||||
} else if (((void)0, gSaveContext.forcedSeqId) != NA_BGM_GENERAL_SFX) {
|
} else if (((void)0, gSaveContext.forcedSeqId) != NA_BGM_GENERAL_SFX) {
|
||||||
if (!Environment_IsForcedSequenceDisabled()) {
|
if (!Environment_IsForcedSequenceDisabled()) {
|
||||||
|
@ -2442,22 +2443,27 @@ void Environment_WarpSongLeave(GlobalContext* globalCtx) {
|
||||||
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_WHITE;
|
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_WHITE;
|
||||||
|
|
||||||
switch (globalCtx->nextEntranceIndex) {
|
switch (globalCtx->nextEntranceIndex) {
|
||||||
case 0x147:
|
case ENTR_SPOT17_0:
|
||||||
Flags_SetEventChkInf(EVENTCHKINF_B9);
|
Flags_SetEventChkInf(EVENTCHKINF_B9);
|
||||||
break;
|
break;
|
||||||
case 0x0102:
|
|
||||||
|
case ENTR_SPOT06_0:
|
||||||
Flags_SetEventChkInf(EVENTCHKINF_B1);
|
Flags_SetEventChkInf(EVENTCHKINF_B1);
|
||||||
break;
|
break;
|
||||||
case 0x0123:
|
|
||||||
|
case ENTR_SPOT11_0:
|
||||||
Flags_SetEventChkInf(EVENTCHKINF_B8);
|
Flags_SetEventChkInf(EVENTCHKINF_B8);
|
||||||
break;
|
break;
|
||||||
case 0x00E4:
|
|
||||||
|
case ENTR_SPOT02_0:
|
||||||
Flags_SetEventChkInf(EVENTCHKINF_B6);
|
Flags_SetEventChkInf(EVENTCHKINF_B6);
|
||||||
break;
|
break;
|
||||||
case 0x0053:
|
|
||||||
|
case ENTR_TOKINOMA_0:
|
||||||
Flags_SetEventChkInf(EVENTCHKINF_A7);
|
Flags_SetEventChkInf(EVENTCHKINF_A7);
|
||||||
break;
|
break;
|
||||||
case 0x00FC:
|
|
||||||
|
case ENTR_SPOT05_0:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3029,7 +3029,7 @@ void Interface_Draw(GlobalContext* globalCtx) {
|
||||||
};
|
};
|
||||||
static s16 rupeeDigitsFirst[] = { 1, 0, 0 };
|
static s16 rupeeDigitsFirst[] = { 1, 0, 0 };
|
||||||
static s16 rupeeDigitsCount[] = { 2, 3, 3 };
|
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 f32 D_80125B54[] = { -40.0f, -35.0f }; // unused
|
||||||
static s16 D_80125B5C[] = { 91, 91 }; // unused
|
static s16 D_80125B5C[] = { 91, 91 }; // unused
|
||||||
static s16 D_8015FFE0;
|
static s16 D_8015FFE0;
|
||||||
|
|
|
@ -204,7 +204,7 @@ void Gameplay_Init(GameState* thisx) {
|
||||||
u8 tempSetupIndex;
|
u8 tempSetupIndex;
|
||||||
s32 pad[2];
|
s32 pad[2];
|
||||||
|
|
||||||
if (gSaveContext.entranceIndex == -1) {
|
if (gSaveContext.entranceIndex == ENTR_LOAD_OPENING) {
|
||||||
gSaveContext.entranceIndex = 0;
|
gSaveContext.entranceIndex = 0;
|
||||||
globalCtx->state.running = false;
|
globalCtx->state.running = false;
|
||||||
SET_NEXT_GAMESTATE(&globalCtx->state, Opening_Init, OpeningContext);
|
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) ||
|
if ((globalCtx->sceneNum == SCENE_GANON_SONOGO) || (globalCtx->sceneNum == SCENE_GANON_FINAL) ||
|
||||||
(globalCtx->sceneNum == SCENE_GANONTIKA_SONOGO) || (globalCtx->sceneNum == SCENE_GANON_DEMO)) {
|
(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);
|
Item_Give(globalCtx, ITEM_SWORD_MASTER);
|
||||||
} else if ((gSaveContext.entranceIndex == 0x028A) || (gSaveContext.entranceIndex == 0x028E) ||
|
} else if ((gSaveContext.entranceIndex == ENTR_SPOT00_11) || (gSaveContext.entranceIndex == ENTR_SPOT00_12) ||
|
||||||
(gSaveContext.entranceIndex == 0x0292) || (gSaveContext.entranceIndex == 0x0476)) {
|
(gSaveContext.entranceIndex == ENTR_SPOT00_13) || (gSaveContext.entranceIndex == ENTR_SPOT00_15)) {
|
||||||
globalCtx->nextEntranceIndex = 0x01F9;
|
globalCtx->nextEntranceIndex = ENTR_SPOT00_6;
|
||||||
} else {
|
} else {
|
||||||
globalCtx->nextEntranceIndex = gSaveContext.entranceIndex;
|
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;
|
globalCtx->envCtx.sunPos.z = (Math_CosS(((void)0, gSaveContext.dayTime) - 0x8000) * 20.0f) * 25.0f;
|
||||||
|
|
||||||
if (((globalCtx->envCtx.timeIncrement == 0) && (gSaveContext.cutsceneIndex < 0xFFF0)) ||
|
if (((globalCtx->envCtx.timeIncrement == 0) && (gSaveContext.cutsceneIndex < 0xFFF0)) ||
|
||||||
(gSaveContext.entranceIndex == 0x0604)) {
|
(gSaveContext.entranceIndex == ENTR_SPOT06_8)) {
|
||||||
gSaveContext.skyboxTime = ((void)0, gSaveContext.dayTime);
|
gSaveContext.skyboxTime = ((void)0, gSaveContext.dayTime);
|
||||||
if ((gSaveContext.skyboxTime >= 0x2AAC) && (gSaveContext.skyboxTime < 0x4555)) {
|
if ((gSaveContext.skyboxTime >= 0x2AAC) && (gSaveContext.skyboxTime < 0x4555)) {
|
||||||
gSaveContext.skyboxTime = 0x3556;
|
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.magicLevel = 0;
|
||||||
gSaveContext.sceneFlags[5].swch = 0x40000000;
|
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.
|
* Copy save currently on the buffer to Save Context and complete various tasks to open the save.
|
||||||
* This includes:
|
* This includes:
|
||||||
|
@ -310,10 +316,6 @@ void Sram_InitDebugSave(void) {
|
||||||
* - Revert any trade items that spoil
|
* - Revert any trade items that spoil
|
||||||
*/
|
*/
|
||||||
void Sram_OpenSave(SramContext* sramCtx) {
|
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 i;
|
||||||
u16 j;
|
u16 j;
|
||||||
u8* ptr;
|
u8* ptr;
|
||||||
|
@ -343,45 +345,54 @@ void Sram_OpenSave(SramContext* sramCtx) {
|
||||||
case SCENE_MEN:
|
case SCENE_MEN:
|
||||||
case SCENE_GERUDOWAY:
|
case SCENE_GERUDOWAY:
|
||||||
case SCENE_GANONTIKA:
|
case SCENE_GANONTIKA:
|
||||||
gSaveContext.entranceIndex = dungeonEntrances[gSaveContext.savedSceneNum];
|
gSaveContext.entranceIndex = sDungeonEntrances[gSaveContext.savedSceneNum];
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SCENE_YDAN_BOSS:
|
case SCENE_YDAN_BOSS:
|
||||||
gSaveContext.entranceIndex = 0;
|
gSaveContext.entranceIndex = ENTR_YDAN_0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SCENE_DDAN_BOSS:
|
case SCENE_DDAN_BOSS:
|
||||||
gSaveContext.entranceIndex = 4;
|
gSaveContext.entranceIndex = ENTR_DDAN_0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SCENE_BDAN_BOSS:
|
case SCENE_BDAN_BOSS:
|
||||||
gSaveContext.entranceIndex = 0x28;
|
gSaveContext.entranceIndex = ENTR_BDAN_0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SCENE_MORIBOSSROOM:
|
case SCENE_MORIBOSSROOM:
|
||||||
gSaveContext.entranceIndex = 0x169;
|
gSaveContext.entranceIndex = ENTR_BMORI1_0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SCENE_FIRE_BS:
|
case SCENE_FIRE_BS:
|
||||||
gSaveContext.entranceIndex = 0x165;
|
gSaveContext.entranceIndex = ENTR_HIDAN_0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SCENE_MIZUSIN_BS:
|
case SCENE_MIZUSIN_BS:
|
||||||
gSaveContext.entranceIndex = 0x10;
|
gSaveContext.entranceIndex = ENTR_MIZUSIN_0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SCENE_JYASINBOSS:
|
case SCENE_JYASINBOSS:
|
||||||
gSaveContext.entranceIndex = 0x82;
|
gSaveContext.entranceIndex = ENTR_JYASINZOU_0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SCENE_HAKADAN_BS:
|
case SCENE_HAKADAN_BS:
|
||||||
gSaveContext.entranceIndex = 0x37;
|
gSaveContext.entranceIndex = ENTR_HAKADAN_0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SCENE_GANON_SONOGO:
|
case SCENE_GANON_SONOGO:
|
||||||
case SCENE_GANONTIKA_SONOGO:
|
case SCENE_GANONTIKA_SONOGO:
|
||||||
case SCENE_GANON_BOSS:
|
case SCENE_GANON_BOSS:
|
||||||
case SCENE_GANON_FINAL:
|
case SCENE_GANON_FINAL:
|
||||||
case SCENE_GANON_DEMO:
|
case SCENE_GANON_DEMO:
|
||||||
gSaveContext.entranceIndex = 0x41B;
|
gSaveContext.entranceIndex = ENTR_GANON_0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
if (gSaveContext.savedSceneNum != SCENE_LINK_HOME) {
|
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 {
|
} else {
|
||||||
gSaveContext.entranceIndex = 0xBB;
|
gSaveContext.entranceIndex = ENTR_LINK_HOME_0;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -694,7 +705,7 @@ void Sram_InitSave(FileChooseContext* fileChooseCtx, SramContext* sramCtx) {
|
||||||
Sram_InitDebugSave();
|
Sram_InitDebugSave();
|
||||||
}
|
}
|
||||||
|
|
||||||
gSaveContext.entranceIndex = 0xBB;
|
gSaveContext.entranceIndex = ENTR_LINK_HOME_0;
|
||||||
gSaveContext.linkAge = LINK_AGE_CHILD;
|
gSaveContext.linkAge = LINK_AGE_CHILD;
|
||||||
gSaveContext.dayTime = 0x6AAB;
|
gSaveContext.dayTime = 0x6AAB;
|
||||||
gSaveContext.cutsceneIndex = 0xFFF1;
|
gSaveContext.cutsceneIndex = 0xFFF1;
|
||||||
|
|
|
@ -221,7 +221,7 @@ void BgSpot00Hanebasi_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
Flags_SetEventChkInf(EVENTCHKINF_82);
|
Flags_SetEventChkInf(EVENTCHKINF_82);
|
||||||
this->actionFunc = BgSpot00Hanebasi_DoNothing;
|
this->actionFunc = BgSpot00Hanebasi_DoNothing;
|
||||||
func_8002DF54(globalCtx, &player->actor, 8);
|
func_8002DF54(globalCtx, &player->actor, 8);
|
||||||
globalCtx->nextEntranceIndex = 0x00CD;
|
globalCtx->nextEntranceIndex = ENTR_SPOT00_0;
|
||||||
gSaveContext.nextCutsceneIndex = 0xFFF1;
|
gSaveContext.nextCutsceneIndex = 0xFFF1;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
||||||
|
|
|
@ -1498,7 +1498,7 @@ void BossGanon_DeathAndTowerCutscene(BossGanon* this, GlobalContext* globalCtx)
|
||||||
|
|
||||||
if (this->csTimer == 180) {
|
if (this->csTimer == 180) {
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->nextEntranceIndex = 0x43F;
|
globalCtx->nextEntranceIndex = ENTR_GANON_FINAL_0;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE_FAST;
|
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE_FAST;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -1791,7 +1791,7 @@ void func_8090120C(BossGanon2* this, GlobalContext* globalCtx) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 20:
|
case 20:
|
||||||
globalCtx->nextEntranceIndex = 0x6B;
|
globalCtx->nextEntranceIndex = ENTR_KENJYANOMA_0;
|
||||||
gSaveContext.nextCutsceneIndex = 0xFFF2;
|
gSaveContext.nextCutsceneIndex = 0xFFF2;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||||
|
|
|
@ -328,7 +328,7 @@ void DemoEffect_Init(Actor* thisx, GlobalContext* globalCtx2) {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case DEMO_EFFECT_GOD_LGT_NAYRU:
|
case DEMO_EFFECT_GOD_LGT_NAYRU:
|
||||||
if (gSaveContext.entranceIndex == 0x013D) {
|
if (gSaveContext.entranceIndex == ENTR_SPOT16_0) {
|
||||||
Actor_SetScale(&this->actor, 1.0f);
|
Actor_SetScale(&this->actor, 1.0f);
|
||||||
} else {
|
} else {
|
||||||
Actor_SetScale(&this->actor, 0.1f);
|
Actor_SetScale(&this->actor, 0.1f);
|
||||||
|
@ -349,7 +349,7 @@ void DemoEffect_Init(Actor* thisx, GlobalContext* globalCtx2) {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case DEMO_EFFECT_GOD_LGT_FARORE:
|
case DEMO_EFFECT_GOD_LGT_FARORE:
|
||||||
if (gSaveContext.entranceIndex == 0x00EE) {
|
if (gSaveContext.entranceIndex == ENTR_SPOT04_0) {
|
||||||
Actor_SetScale(&this->actor, 2.4f);
|
Actor_SetScale(&this->actor, 2.4f);
|
||||||
} else {
|
} else {
|
||||||
Actor_SetScale(&this->actor, 0.1f);
|
Actor_SetScale(&this->actor, 0.1f);
|
||||||
|
@ -631,7 +631,7 @@ void DemoEffect_UpdateGetItem(DemoEffect* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
Actor_SetScale(thisx, 0.20f);
|
Actor_SetScale(thisx, 0.20f);
|
||||||
|
|
||||||
if (gSaveContext.entranceIndex == 0x0053) {
|
if (gSaveContext.entranceIndex == ENTR_TOKINOMA_0) {
|
||||||
switch (globalCtx->csCtx.npcActions[this->csActionId]->action) {
|
switch (globalCtx->csCtx.npcActions[this->csActionId]->action) {
|
||||||
case 2:
|
case 2:
|
||||||
DemoEffect_MedalSparkle(this, globalCtx, 0);
|
DemoEffect_MedalSparkle(this, globalCtx, 0);
|
||||||
|
@ -643,7 +643,7 @@ void DemoEffect_UpdateGetItem(DemoEffect* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
switch (globalCtx->csCtx.npcActions[this->csActionId]->action) {
|
switch (globalCtx->csCtx.npcActions[this->csActionId]->action) {
|
||||||
case 2:
|
case 2:
|
||||||
if (gSaveContext.entranceIndex == 0x0053) {
|
if (gSaveContext.entranceIndex == ENTR_TOKINOMA_0) {
|
||||||
Audio_PlayActorSound2(thisx, NA_SE_EV_MEDAL_APPEAR_L - SFX_FLAG);
|
Audio_PlayActorSound2(thisx, NA_SE_EV_MEDAL_APPEAR_L - SFX_FLAG);
|
||||||
} else {
|
} else {
|
||||||
func_800788CC(NA_SE_EV_MEDAL_APPEAR_S - SFX_FLAG);
|
func_800788CC(NA_SE_EV_MEDAL_APPEAR_S - SFX_FLAG);
|
||||||
|
@ -658,7 +658,7 @@ void DemoEffect_UpdateGetItem(DemoEffect* this, GlobalContext* globalCtx) {
|
||||||
if (this->getItem.drawId != GID_ARROW_LIGHT) {
|
if (this->getItem.drawId != GID_ARROW_LIGHT) {
|
||||||
this->actor.shape.rot.y += this->getItem.rotation;
|
this->actor.shape.rot.y += this->getItem.rotation;
|
||||||
}
|
}
|
||||||
if (gSaveContext.entranceIndex == 0x0053) {
|
if (gSaveContext.entranceIndex == ENTR_TOKINOMA_0) {
|
||||||
Audio_PlayActorSound2(thisx, NA_SE_EV_MEDAL_APPEAR_L - SFX_FLAG);
|
Audio_PlayActorSound2(thisx, NA_SE_EV_MEDAL_APPEAR_L - SFX_FLAG);
|
||||||
} else {
|
} else {
|
||||||
func_800788CC(NA_SE_EV_MEDAL_APPEAR_S - SFX_FLAG);
|
func_800788CC(NA_SE_EV_MEDAL_APPEAR_S - SFX_FLAG);
|
||||||
|
@ -697,7 +697,7 @@ void DemoEffect_InitTimeWarp(DemoEffect* this, GlobalContext* globalCtx) {
|
||||||
Actor_SetScale(&this->actor, 84 * 0.001f);
|
Actor_SetScale(&this->actor, 84 * 0.001f);
|
||||||
}
|
}
|
||||||
} else if (gSaveContext.sceneSetupIndex == 5 || gSaveContext.sceneSetupIndex == 4 ||
|
} else if (gSaveContext.sceneSetupIndex == 5 || gSaveContext.sceneSetupIndex == 4 ||
|
||||||
(gSaveContext.entranceIndex == 0x0324 && !GET_EVENTCHKINF(EVENTCHKINF_C9))) {
|
(gSaveContext.entranceIndex == ENTR_TOKINOMA_4 && !GET_EVENTCHKINF(EVENTCHKINF_C9))) {
|
||||||
SkelCurve_SetAnim(&this->skelCurve, &gTimeWarpAnim, 1.0f, 59.0f, 59.0f, 0.0f);
|
SkelCurve_SetAnim(&this->skelCurve, &gTimeWarpAnim, 1.0f, 59.0f, 59.0f, 0.0f);
|
||||||
SkelCurve_Update(globalCtx, &this->skelCurve);
|
SkelCurve_Update(globalCtx, &this->skelCurve);
|
||||||
this->updateFunc = DemoEffect_UpdateTimeWarpReturnFromChamberOfSages;
|
this->updateFunc = DemoEffect_UpdateTimeWarpReturnFromChamberOfSages;
|
||||||
|
@ -760,7 +760,7 @@ void DemoEffect_UpdateTimeWarpReturnFromChamberOfSages(DemoEffect* this, GlobalC
|
||||||
this->timeWarp.shrinkTimer++;
|
this->timeWarp.shrinkTimer++;
|
||||||
|
|
||||||
if (this->timeWarp.shrinkTimer > 250) {
|
if (this->timeWarp.shrinkTimer > 250) {
|
||||||
if (gSaveContext.entranceIndex == 0x0324) {
|
if (gSaveContext.entranceIndex == ENTR_TOKINOMA_4) {
|
||||||
SET_EVENTCHKINF(EVENTCHKINF_C9);
|
SET_EVENTCHKINF(EVENTCHKINF_C9);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -852,7 +852,7 @@ void DemoEffect_UpdateTriforceSpot(DemoEffect* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gSaveContext.entranceIndex == 0x00A0 && gSaveContext.sceneSetupIndex == 6 &&
|
if (gSaveContext.entranceIndex == ENTR_HIRAL_DEMO_0 && gSaveContext.sceneSetupIndex == 6 &&
|
||||||
globalCtx->csCtx.frames == 143) {
|
globalCtx->csCtx.frames == 143) {
|
||||||
Audio_PlayActorSound2(&this->actor, NA_SE_IT_DM_RING_EXPLOSION);
|
Audio_PlayActorSound2(&this->actor, NA_SE_IT_DM_RING_EXPLOSION);
|
||||||
}
|
}
|
||||||
|
@ -1153,7 +1153,7 @@ void DemoEffect_UpdateGodLgtDin(DemoEffect* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gSaveContext.entranceIndex == 0x00A0) {
|
if (gSaveContext.entranceIndex == ENTR_HIRAL_DEMO_0) {
|
||||||
switch (gSaveContext.sceneSetupIndex) {
|
switch (gSaveContext.sceneSetupIndex) {
|
||||||
case 4:
|
case 4:
|
||||||
if (globalCtx->csCtx.frames == 288) {
|
if (globalCtx->csCtx.frames == 288) {
|
||||||
|
@ -1208,7 +1208,7 @@ void DemoEffect_UpdateGodLgtNayru(DemoEffect* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gSaveContext.entranceIndex == 0x00A0) {
|
if (gSaveContext.entranceIndex == ENTR_HIRAL_DEMO_0) {
|
||||||
switch (gSaveContext.sceneSetupIndex) {
|
switch (gSaveContext.sceneSetupIndex) {
|
||||||
case 4:
|
case 4:
|
||||||
if (globalCtx->csCtx.frames == 298) {
|
if (globalCtx->csCtx.frames == 298) {
|
||||||
|
@ -1230,7 +1230,7 @@ void DemoEffect_UpdateGodLgtNayru(DemoEffect* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gSaveContext.entranceIndex == 0x013D && gSaveContext.sceneSetupIndex == 4) {
|
if (gSaveContext.entranceIndex == ENTR_SPOT16_0 && gSaveContext.sceneSetupIndex == 4) {
|
||||||
if (globalCtx->csCtx.frames == 72) {
|
if (globalCtx->csCtx.frames == 72) {
|
||||||
Audio_PlayActorSound2(&this->actor, NA_SE_IT_DM_FLYING_GOD_DASH);
|
Audio_PlayActorSound2(&this->actor, NA_SE_IT_DM_FLYING_GOD_DASH);
|
||||||
}
|
}
|
||||||
|
@ -1268,7 +1268,7 @@ void DemoEffect_UpdateGodLgtFarore(DemoEffect* this, GlobalContext* globalCtx) {
|
||||||
func_800F3F3C(3);
|
func_800F3F3C(3);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gSaveContext.entranceIndex == 0x00A0) {
|
if (gSaveContext.entranceIndex == ENTR_HIRAL_DEMO_0) {
|
||||||
switch (gSaveContext.sceneSetupIndex) {
|
switch (gSaveContext.sceneSetupIndex) {
|
||||||
case 4:
|
case 4:
|
||||||
if (globalCtx->csCtx.frames == 315) {
|
if (globalCtx->csCtx.frames == 315) {
|
||||||
|
@ -1587,14 +1587,14 @@ void DemoEffect_UpdateJewelChild(DemoEffect* this, GlobalContext* globalCtx) {
|
||||||
return;
|
return;
|
||||||
default:
|
default:
|
||||||
DemoEffect_MoveToCsEndpoint(this, globalCtx, this->csActionId, 0);
|
DemoEffect_MoveToCsEndpoint(this, globalCtx, this->csActionId, 0);
|
||||||
if (gSaveContext.entranceIndex == 0x0053) {
|
if (gSaveContext.entranceIndex == ENTR_TOKINOMA_0) {
|
||||||
DemoEffect_MoveJewelSplit(&thisx->world, this);
|
DemoEffect_MoveJewelSplit(&thisx->world, this);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gSaveContext.entranceIndex == 0x0053) {
|
if (gSaveContext.entranceIndex == ENTR_TOKINOMA_0) {
|
||||||
if (!GET_EVENTCHKINF(EVENTCHKINF_4B)) {
|
if (!GET_EVENTCHKINF(EVENTCHKINF_4B)) {
|
||||||
hasCmdAction = globalCtx->csCtx.state && globalCtx->csCtx.npcActions[this->csActionId];
|
hasCmdAction = globalCtx->csCtx.state && globalCtx->csCtx.npcActions[this->csActionId];
|
||||||
if (!hasCmdAction) {
|
if (!hasCmdAction) {
|
||||||
|
@ -1804,7 +1804,7 @@ void DemoEffect_DrawGodLgt(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_demo_effect.c", 2737);
|
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_demo_effect.c", 2737);
|
||||||
|
|
||||||
if (!DemoEffect_CheckCsAction(this, globalCtx, 2)) {
|
if (!DemoEffect_CheckCsAction(this, globalCtx, 2)) {
|
||||||
if (gSaveContext.entranceIndex == 0x00A0) {
|
if (gSaveContext.entranceIndex == ENTR_HIRAL_DEMO_0) {
|
||||||
if (gSaveContext.sceneSetupIndex == 4) {
|
if (gSaveContext.sceneSetupIndex == 4) {
|
||||||
if (globalCtx->csCtx.frames <= 680) {
|
if (globalCtx->csCtx.frames <= 680) {
|
||||||
func_80078914(&this->actor.projectedPos, NA_SE_EV_GOD_FLYING - SFX_FLAG);
|
func_80078914(&this->actor.projectedPos, NA_SE_EV_GOD_FLYING - SFX_FLAG);
|
||||||
|
@ -1968,7 +1968,7 @@ void DemoEffect_DrawTriforceSpot(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
u32 frames = globalCtx->gameplayFrames;
|
u32 frames = globalCtx->gameplayFrames;
|
||||||
|
|
||||||
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_demo_effect.c", 2994);
|
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_demo_effect.c", 2994);
|
||||||
if (gSaveContext.entranceIndex != 0x0400 || globalCtx->csCtx.frames < 885) {
|
if (gSaveContext.entranceIndex != ENTR_NAKANIWA_0 || globalCtx->csCtx.frames < 885) {
|
||||||
func_80093D84(globalCtx->state.gfxCtx);
|
func_80093D84(globalCtx->state.gfxCtx);
|
||||||
|
|
||||||
if (this->triforceSpot.lightColumnOpacity > 0) {
|
if (this->triforceSpot.lightColumnOpacity > 0) {
|
||||||
|
@ -2076,7 +2076,8 @@ void DemoEffect_DrawTimeWarp(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
u8 effectType = (this->actor.params & 0x00FF);
|
u8 effectType = (this->actor.params & 0x00FF);
|
||||||
|
|
||||||
if (effectType == DEMO_EFFECT_TIMEWARP_TIMEBLOCK_LARGE || effectType == DEMO_EFFECT_TIMEWARP_TIMEBLOCK_SMALL ||
|
if (effectType == DEMO_EFFECT_TIMEWARP_TIMEBLOCK_LARGE || effectType == DEMO_EFFECT_TIMEWARP_TIMEBLOCK_SMALL ||
|
||||||
Flags_GetEnv(globalCtx, 1) || gSaveContext.sceneSetupIndex >= 4 || gSaveContext.entranceIndex == 0x0324) {
|
Flags_GetEnv(globalCtx, 1) || gSaveContext.sceneSetupIndex >= 4 ||
|
||||||
|
gSaveContext.entranceIndex == ENTR_TOKINOMA_4) {
|
||||||
OPEN_DISPS(gfxCtx, "../z_demo_effect.c", 3201);
|
OPEN_DISPS(gfxCtx, "../z_demo_effect.c", 3201);
|
||||||
POLY_XLU_DISP = Gfx_CallSetupDL(POLY_XLU_DISP, 25);
|
POLY_XLU_DISP = Gfx_CallSetupDL(POLY_XLU_DISP, 25);
|
||||||
Matrix_Scale(2.0f, 2.0f, 2.0f, MTXMODE_APPLY);
|
Matrix_Scale(2.0f, 2.0f, 2.0f, MTXMODE_APPLY);
|
||||||
|
|
|
@ -867,7 +867,7 @@ void func_80986B2C(GlobalContext* globalCtx) {
|
||||||
if (Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_CLOSING) {
|
if (Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_CLOSING) {
|
||||||
Player* player = GET_PLAYER(globalCtx);
|
Player* player = GET_PLAYER(globalCtx);
|
||||||
|
|
||||||
globalCtx->nextEntranceIndex = 0xCD;
|
globalCtx->nextEntranceIndex = ENTR_SPOT00_0;
|
||||||
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_BLACK, TCS_FAST);
|
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_BLACK, TCS_FAST);
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
func_8002DF54(globalCtx, &player->actor, 8);
|
func_8002DF54(globalCtx, &player->actor, 8);
|
||||||
|
|
|
@ -541,7 +541,7 @@ void DemoKankyo_DrawRain(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
switch (this->unk_150[i].unk_22) {
|
switch (this->unk_150[i].unk_22) {
|
||||||
case 0:
|
case 0:
|
||||||
func_80989B54(thisx, globalCtx, i);
|
func_80989B54(thisx, globalCtx, i);
|
||||||
if (gSaveContext.entranceIndex == 0x00A0) { // Cutscene Map
|
if (gSaveContext.entranceIndex == ENTR_HIRAL_DEMO_0) {
|
||||||
this->unk_150[i].unk_0.y = Rand_ZeroOne() * 500.0f;
|
this->unk_150[i].unk_0.y = Rand_ZeroOne() * 500.0f;
|
||||||
} else {
|
} else {
|
||||||
this->unk_150[i].unk_0.y = Rand_ZeroOne() * -500.0f;
|
this->unk_150[i].unk_0.y = Rand_ZeroOne() * -500.0f;
|
||||||
|
@ -550,16 +550,16 @@ void DemoKankyo_DrawRain(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
temp_f12_2 = globalCtx->view.eye.y + (dy / norm) * 150.0f;
|
temp_f12_2 = globalCtx->view.eye.y + (dy / norm) * 150.0f;
|
||||||
if (gSaveContext.entranceIndex == 0x00A0) { // Cutscene Map
|
if (gSaveContext.entranceIndex == ENTR_HIRAL_DEMO_0) {
|
||||||
this->unk_150[i].unk_0.y -= this->unk_150[i].unk_18;
|
this->unk_150[i].unk_0.y -= this->unk_150[i].unk_18;
|
||||||
} else {
|
} else {
|
||||||
this->unk_150[i].unk_0.y += this->unk_150[i].unk_18;
|
this->unk_150[i].unk_0.y += this->unk_150[i].unk_18;
|
||||||
}
|
}
|
||||||
if (gSaveContext.entranceIndex == 0x00A0) { // Cutscene Map
|
if (gSaveContext.entranceIndex == ENTR_HIRAL_DEMO_0) {
|
||||||
if (this->unk_150[i].unk_C.y + this->unk_150[i].unk_0.y < temp_f12_2 - 300.0f) {
|
if (this->unk_150[i].unk_C.y + this->unk_150[i].unk_0.y < temp_f12_2 - 300.0f) {
|
||||||
this->unk_150[i].unk_22++;
|
this->unk_150[i].unk_22++;
|
||||||
}
|
}
|
||||||
} else if (gSaveContext.entranceIndex == 0x00CD) { // Hyrule Field
|
} else if (gSaveContext.entranceIndex == ENTR_SPOT00_0) {
|
||||||
if (temp_f12_2 + 300.0f < this->unk_150[i].unk_C.y + this->unk_150[i].unk_0.y) {
|
if (temp_f12_2 + 300.0f < this->unk_150[i].unk_C.y + this->unk_150[i].unk_0.y) {
|
||||||
this->unk_150[i].unk_22++;
|
this->unk_150[i].unk_22++;
|
||||||
}
|
}
|
||||||
|
@ -578,12 +578,14 @@ void DemoKankyo_DrawRain(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
Matrix_Translate(this->unk_150[i].unk_C.x + this->unk_150[i].unk_0.x,
|
Matrix_Translate(this->unk_150[i].unk_C.x + this->unk_150[i].unk_0.x,
|
||||||
this->unk_150[i].unk_C.y + this->unk_150[i].unk_0.y,
|
this->unk_150[i].unk_C.y + this->unk_150[i].unk_0.y,
|
||||||
this->unk_150[i].unk_C.z + this->unk_150[i].unk_0.z, MTXMODE_NEW);
|
this->unk_150[i].unk_C.z + this->unk_150[i].unk_0.z, MTXMODE_NEW);
|
||||||
if (gSaveContext.entranceIndex != 0x00A0) { // Cutscene Map
|
|
||||||
|
if (gSaveContext.entranceIndex != ENTR_HIRAL_DEMO_0) {
|
||||||
Matrix_RotateX(M_PI, MTXMODE_APPLY);
|
Matrix_RotateX(M_PI, MTXMODE_APPLY);
|
||||||
}
|
}
|
||||||
|
|
||||||
gDPPipeSync(POLY_XLU_DISP++);
|
gDPPipeSync(POLY_XLU_DISP++);
|
||||||
if (gSaveContext.entranceIndex == 0x00CD) { // Hyrule Field
|
|
||||||
|
if (gSaveContext.entranceIndex == ENTR_SPOT00_0) {
|
||||||
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, 255);
|
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, 255);
|
||||||
gDPSetEnvColor(POLY_XLU_DISP++, 255, 255, 0, 255);
|
gDPSetEnvColor(POLY_XLU_DISP++, 255, 255, 0, 255);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* File: z_door_ana.c
|
* File: z_door_ana.c
|
||||||
* Overlay: ovl_Door_Ana
|
* Overlay: ovl_Door_Ana
|
||||||
* Description: Grottos Entrances/Exits
|
* Description: Grotto
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "z_door_ana.h"
|
#include "z_door_ana.h"
|
||||||
|
@ -50,10 +50,10 @@ static ColliderCylinderInit sCylinderInit = {
|
||||||
{ 50, 10, 0, { 0 } },
|
{ 50, 10, 0, { 0 } },
|
||||||
};
|
};
|
||||||
|
|
||||||
// array of entrance table entries to grotto destinations
|
static s16 sGrottoEntrances[] = {
|
||||||
static s16 entrances[] = {
|
ENTR_YOUSEI_IZUMI_TATE_0, ENTR_KAKUSIANA_0, ENTR_KAKUSIANA_1, ENTR_KAKUSIANA_2, ENTR_KAKUSIANA_3,
|
||||||
0x036D, 0x003F, 0x0598, 0x059C, 0x05A0, 0x05A4, 0x05A8, 0x05AC,
|
ENTR_KAKUSIANA_4, ENTR_KAKUSIANA_5, ENTR_KAKUSIANA_6, ENTR_KAKUSIANA_7, ENTR_KAKUSIANA_8,
|
||||||
0x05B0, 0x05B4, 0x05B8, 0x05BC, 0x05C0, 0x05C4, 0x05FC,
|
ENTR_KAKUSIANA_9, ENTR_KAKUSIANA_10, ENTR_KAKUSIANA_11, ENTR_KAKUSIANA_12, ENTR_KAKUSIANA_13,
|
||||||
};
|
};
|
||||||
|
|
||||||
void DoorAna_SetupAction(DoorAna* this, DoorAnaActionFunc actionFunc) {
|
void DoorAna_SetupAction(DoorAna* this, DoorAnaActionFunc actionFunc) {
|
||||||
|
@ -138,7 +138,7 @@ void DoorAna_WaitOpen(DoorAna* this, GlobalContext* globalCtx) {
|
||||||
if (destinationIdx < 0) {
|
if (destinationIdx < 0) {
|
||||||
destinationIdx = this->actor.home.rot.z + 1;
|
destinationIdx = this->actor.home.rot.z + 1;
|
||||||
}
|
}
|
||||||
globalCtx->nextEntranceIndex = entrances[destinationIdx];
|
globalCtx->nextEntranceIndex = sGrottoEntrances[destinationIdx];
|
||||||
DoorAna_SetupAction(this, DoorAna_GrabPlayer);
|
DoorAna_SetupAction(this, DoorAna_GrabPlayer);
|
||||||
} else {
|
} else {
|
||||||
if (!Player_InCsMode(globalCtx) && !(player->stateFlags1 & (PLAYER_STATE1_23 | PLAYER_STATE1_27)) &&
|
if (!Player_InCsMode(globalCtx) && !(player->stateFlags1 & (PLAYER_STATE1_23 | PLAYER_STATE1_27)) &&
|
||||||
|
|
|
@ -162,11 +162,9 @@ void DoorWarp1_SetupWarp(DoorWarp1* this, GlobalContext* globalCtx) {
|
||||||
DoorWarp1_SetupAction(this, DoorWarp1_AwaitClearFlag);
|
DoorWarp1_SetupAction(this, DoorWarp1_AwaitClearFlag);
|
||||||
break;
|
break;
|
||||||
case WARP_DESTINATION:
|
case WARP_DESTINATION:
|
||||||
if ((!(gSaveContext.entranceIndex == 0x608 || // sacred forest meadow
|
if ((!(gSaveContext.entranceIndex == ENTR_SPOT05_3 || gSaveContext.entranceIndex == ENTR_SPOT17_5 ||
|
||||||
gSaveContext.entranceIndex == 0x564 || // death mountain crater
|
gSaveContext.entranceIndex == ENTR_SPOT06_9 || gSaveContext.entranceIndex == ENTR_SPOT11_8 ||
|
||||||
gSaveContext.entranceIndex == 0x60C || // lake hylia
|
gSaveContext.entranceIndex == ENTR_SPOT02_8) &&
|
||||||
gSaveContext.entranceIndex == 0x610 || // desert colossus
|
|
||||||
gSaveContext.entranceIndex == 0x580) && // graveyard
|
|
||||||
gSaveContext.sceneSetupIndex < 4) ||
|
gSaveContext.sceneSetupIndex < 4) ||
|
||||||
(GET_PLAYER(globalCtx)->actor.params & 0xF00) != 0x200) {
|
(GET_PLAYER(globalCtx)->actor.params & 0xF00) != 0x200) {
|
||||||
Actor_Kill(&this->actor);
|
Actor_Kill(&this->actor);
|
||||||
|
@ -263,7 +261,7 @@ void DoorWarp1_SetupPurpleCrystal(DoorWarp1* this, GlobalContext* globalCtx) {
|
||||||
this->unk_1BC = 1.f;
|
this->unk_1BC = 1.f;
|
||||||
this->actor.shape.yOffset = 800.0f;
|
this->actor.shape.yOffset = 800.0f;
|
||||||
|
|
||||||
if (gSaveContext.entranceIndex != 0x53) {
|
if (gSaveContext.entranceIndex != ENTR_TOKINOMA_0) {
|
||||||
this->actor.scale.x = 0.0499f;
|
this->actor.scale.x = 0.0499f;
|
||||||
this->actor.scale.y = 0.077f;
|
this->actor.scale.y = 0.077f;
|
||||||
this->actor.scale.z = 0.09f;
|
this->actor.scale.z = 0.09f;
|
||||||
|
@ -501,10 +499,10 @@ void DoorWarp1_ChildWarpOut(DoorWarp1* this, GlobalContext* globalCtx) {
|
||||||
if (!Flags_GetEventChkInf(EVENTCHKINF_25)) {
|
if (!Flags_GetEventChkInf(EVENTCHKINF_25)) {
|
||||||
Flags_SetEventChkInf(EVENTCHKINF_25);
|
Flags_SetEventChkInf(EVENTCHKINF_25);
|
||||||
Item_Give(globalCtx, ITEM_GORON_RUBY);
|
Item_Give(globalCtx, ITEM_GORON_RUBY);
|
||||||
globalCtx->nextEntranceIndex = 0x13D;
|
globalCtx->nextEntranceIndex = ENTR_SPOT16_0;
|
||||||
gSaveContext.nextCutsceneIndex = 0xFFF1;
|
gSaveContext.nextCutsceneIndex = 0xFFF1;
|
||||||
} else {
|
} else {
|
||||||
globalCtx->nextEntranceIndex = 0x47A;
|
globalCtx->nextEntranceIndex = ENTR_SPOT16_5;
|
||||||
gSaveContext.nextCutsceneIndex = 0;
|
gSaveContext.nextCutsceneIndex = 0;
|
||||||
}
|
}
|
||||||
} else if (globalCtx->sceneNum == SCENE_YDAN_BOSS) {
|
} else if (globalCtx->sceneNum == SCENE_YDAN_BOSS) {
|
||||||
|
@ -512,14 +510,14 @@ void DoorWarp1_ChildWarpOut(DoorWarp1* this, GlobalContext* globalCtx) {
|
||||||
Flags_SetEventChkInf(EVENTCHKINF_07);
|
Flags_SetEventChkInf(EVENTCHKINF_07);
|
||||||
Flags_SetEventChkInf(EVENTCHKINF_09);
|
Flags_SetEventChkInf(EVENTCHKINF_09);
|
||||||
Item_Give(globalCtx, ITEM_KOKIRI_EMERALD);
|
Item_Give(globalCtx, ITEM_KOKIRI_EMERALD);
|
||||||
globalCtx->nextEntranceIndex = 0xEE;
|
globalCtx->nextEntranceIndex = ENTR_SPOT04_0;
|
||||||
gSaveContext.nextCutsceneIndex = 0xFFF1;
|
gSaveContext.nextCutsceneIndex = 0xFFF1;
|
||||||
} else {
|
} else {
|
||||||
globalCtx->nextEntranceIndex = 0x457;
|
globalCtx->nextEntranceIndex = ENTR_SPOT04_11;
|
||||||
gSaveContext.nextCutsceneIndex = 0;
|
gSaveContext.nextCutsceneIndex = 0;
|
||||||
}
|
}
|
||||||
} else if (globalCtx->sceneNum == SCENE_BDAN_BOSS) {
|
} else if (globalCtx->sceneNum == SCENE_BDAN_BOSS) {
|
||||||
globalCtx->nextEntranceIndex = 0x10E;
|
globalCtx->nextEntranceIndex = ENTR_SPOT08_0;
|
||||||
gSaveContext.nextCutsceneIndex = 0;
|
gSaveContext.nextCutsceneIndex = 0;
|
||||||
}
|
}
|
||||||
osSyncPrintf("\n\n\nおわりおわり");
|
osSyncPrintf("\n\n\nおわりおわり");
|
||||||
|
@ -607,7 +605,7 @@ void DoorWarp1_RutoWarpOut(DoorWarp1* this, GlobalContext* globalCtx) {
|
||||||
if (this->warpTimer > sWarpTimerTarget && gSaveContext.nextCutsceneIndex == 0xFFEF) {
|
if (this->warpTimer > sWarpTimerTarget && gSaveContext.nextCutsceneIndex == 0xFFEF) {
|
||||||
SET_EVENTCHKINF(EVENTCHKINF_37);
|
SET_EVENTCHKINF(EVENTCHKINF_37);
|
||||||
Item_Give(globalCtx, ITEM_ZORA_SAPPHIRE);
|
Item_Give(globalCtx, ITEM_ZORA_SAPPHIRE);
|
||||||
globalCtx->nextEntranceIndex = 0x10E;
|
globalCtx->nextEntranceIndex = ENTR_SPOT08_0;
|
||||||
gSaveContext.nextCutsceneIndex = 0xFFF0;
|
gSaveContext.nextCutsceneIndex = 0xFFF0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE_SLOW;
|
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE_SLOW;
|
||||||
|
@ -709,14 +707,14 @@ void DoorWarp1_AdultWarpOut(DoorWarp1* this, GlobalContext* globalCtx) {
|
||||||
if (!GET_EVENTCHKINF(EVENTCHKINF_48)) {
|
if (!GET_EVENTCHKINF(EVENTCHKINF_48)) {
|
||||||
SET_EVENTCHKINF(EVENTCHKINF_48);
|
SET_EVENTCHKINF(EVENTCHKINF_48);
|
||||||
Item_Give(globalCtx, ITEM_MEDALLION_FOREST);
|
Item_Give(globalCtx, ITEM_MEDALLION_FOREST);
|
||||||
globalCtx->nextEntranceIndex = 0x6B;
|
globalCtx->nextEntranceIndex = ENTR_KENJYANOMA_0;
|
||||||
gSaveContext.nextCutsceneIndex = 0;
|
gSaveContext.nextCutsceneIndex = 0;
|
||||||
gSaveContext.chamberCutsceneNum = CHAMBER_CS_FOREST;
|
gSaveContext.chamberCutsceneNum = CHAMBER_CS_FOREST;
|
||||||
} else {
|
} else {
|
||||||
if (!LINK_IS_ADULT) {
|
if (!LINK_IS_ADULT) {
|
||||||
globalCtx->nextEntranceIndex = 0x600;
|
globalCtx->nextEntranceIndex = ENTR_SPOT05_2;
|
||||||
} else {
|
} else {
|
||||||
globalCtx->nextEntranceIndex = 0x608;
|
globalCtx->nextEntranceIndex = ENTR_SPOT05_3;
|
||||||
}
|
}
|
||||||
gSaveContext.nextCutsceneIndex = 0;
|
gSaveContext.nextCutsceneIndex = 0;
|
||||||
}
|
}
|
||||||
|
@ -724,13 +722,13 @@ void DoorWarp1_AdultWarpOut(DoorWarp1* this, GlobalContext* globalCtx) {
|
||||||
if (!GET_EVENTCHKINF(EVENTCHKINF_49)) {
|
if (!GET_EVENTCHKINF(EVENTCHKINF_49)) {
|
||||||
SET_EVENTCHKINF(EVENTCHKINF_49);
|
SET_EVENTCHKINF(EVENTCHKINF_49);
|
||||||
Item_Give(globalCtx, ITEM_MEDALLION_FIRE);
|
Item_Give(globalCtx, ITEM_MEDALLION_FIRE);
|
||||||
globalCtx->nextEntranceIndex = 0xDB;
|
globalCtx->nextEntranceIndex = ENTR_SPOT01_0;
|
||||||
gSaveContext.nextCutsceneIndex = 0xFFF3;
|
gSaveContext.nextCutsceneIndex = 0xFFF3;
|
||||||
} else {
|
} else {
|
||||||
if (!LINK_IS_ADULT) {
|
if (!LINK_IS_ADULT) {
|
||||||
globalCtx->nextEntranceIndex = 0x4F6;
|
globalCtx->nextEntranceIndex = ENTR_SPOT17_4;
|
||||||
} else {
|
} else {
|
||||||
globalCtx->nextEntranceIndex = 0x564;
|
globalCtx->nextEntranceIndex = ENTR_SPOT17_5;
|
||||||
}
|
}
|
||||||
gSaveContext.nextCutsceneIndex = 0;
|
gSaveContext.nextCutsceneIndex = 0;
|
||||||
}
|
}
|
||||||
|
@ -738,42 +736,42 @@ void DoorWarp1_AdultWarpOut(DoorWarp1* this, GlobalContext* globalCtx) {
|
||||||
if (!GET_EVENTCHKINF(EVENTCHKINF_4A)) {
|
if (!GET_EVENTCHKINF(EVENTCHKINF_4A)) {
|
||||||
SET_EVENTCHKINF(EVENTCHKINF_4A);
|
SET_EVENTCHKINF(EVENTCHKINF_4A);
|
||||||
Item_Give(globalCtx, ITEM_MEDALLION_WATER);
|
Item_Give(globalCtx, ITEM_MEDALLION_WATER);
|
||||||
globalCtx->nextEntranceIndex = 0x6B;
|
globalCtx->nextEntranceIndex = ENTR_KENJYANOMA_0;
|
||||||
gSaveContext.nextCutsceneIndex = 0;
|
gSaveContext.nextCutsceneIndex = 0;
|
||||||
gSaveContext.chamberCutsceneNum = CHAMBER_CS_WATER;
|
gSaveContext.chamberCutsceneNum = CHAMBER_CS_WATER;
|
||||||
} else {
|
} else {
|
||||||
if (!LINK_IS_ADULT) {
|
if (!LINK_IS_ADULT) {
|
||||||
globalCtx->nextEntranceIndex = 0x604;
|
globalCtx->nextEntranceIndex = ENTR_SPOT06_8;
|
||||||
} else {
|
} else {
|
||||||
globalCtx->nextEntranceIndex = 0x60C;
|
globalCtx->nextEntranceIndex = ENTR_SPOT06_9;
|
||||||
}
|
}
|
||||||
gSaveContext.nextCutsceneIndex = 0;
|
gSaveContext.nextCutsceneIndex = 0;
|
||||||
}
|
}
|
||||||
} else if (globalCtx->sceneNum == SCENE_JYASINBOSS) {
|
} else if (globalCtx->sceneNum == SCENE_JYASINBOSS) {
|
||||||
if (!CHECK_QUEST_ITEM(QUEST_MEDALLION_SPIRIT)) {
|
if (!CHECK_QUEST_ITEM(QUEST_MEDALLION_SPIRIT)) {
|
||||||
Item_Give(globalCtx, ITEM_MEDALLION_SPIRIT);
|
Item_Give(globalCtx, ITEM_MEDALLION_SPIRIT);
|
||||||
globalCtx->nextEntranceIndex = 0x6B;
|
globalCtx->nextEntranceIndex = ENTR_KENJYANOMA_0;
|
||||||
gSaveContext.nextCutsceneIndex = 0;
|
gSaveContext.nextCutsceneIndex = 0;
|
||||||
gSaveContext.chamberCutsceneNum = CHAMBER_CS_SPIRIT;
|
gSaveContext.chamberCutsceneNum = CHAMBER_CS_SPIRIT;
|
||||||
} else {
|
} else {
|
||||||
if (!LINK_IS_ADULT) {
|
if (!LINK_IS_ADULT) {
|
||||||
globalCtx->nextEntranceIndex = 0x1F1;
|
globalCtx->nextEntranceIndex = ENTR_SPOT11_5;
|
||||||
} else {
|
} else {
|
||||||
globalCtx->nextEntranceIndex = 0x610;
|
globalCtx->nextEntranceIndex = ENTR_SPOT11_8;
|
||||||
}
|
}
|
||||||
gSaveContext.nextCutsceneIndex = 0;
|
gSaveContext.nextCutsceneIndex = 0;
|
||||||
}
|
}
|
||||||
} else if (globalCtx->sceneNum == SCENE_HAKADAN_BS) {
|
} else if (globalCtx->sceneNum == SCENE_HAKADAN_BS) {
|
||||||
if (!CHECK_QUEST_ITEM(QUEST_MEDALLION_SHADOW)) {
|
if (!CHECK_QUEST_ITEM(QUEST_MEDALLION_SHADOW)) {
|
||||||
Item_Give(globalCtx, ITEM_MEDALLION_SHADOW);
|
Item_Give(globalCtx, ITEM_MEDALLION_SHADOW);
|
||||||
globalCtx->nextEntranceIndex = 0x6B;
|
globalCtx->nextEntranceIndex = ENTR_KENJYANOMA_0;
|
||||||
gSaveContext.nextCutsceneIndex = 0;
|
gSaveContext.nextCutsceneIndex = 0;
|
||||||
gSaveContext.chamberCutsceneNum = CHAMBER_CS_SHADOW;
|
gSaveContext.chamberCutsceneNum = CHAMBER_CS_SHADOW;
|
||||||
} else {
|
} else {
|
||||||
if (!LINK_IS_ADULT) {
|
if (!LINK_IS_ADULT) {
|
||||||
globalCtx->nextEntranceIndex = 0x568;
|
globalCtx->nextEntranceIndex = ENTR_SPOT02_7;
|
||||||
} else {
|
} else {
|
||||||
globalCtx->nextEntranceIndex = 0x580;
|
globalCtx->nextEntranceIndex = ENTR_SPOT02_8;
|
||||||
}
|
}
|
||||||
gSaveContext.nextCutsceneIndex = 0;
|
gSaveContext.nextCutsceneIndex = 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -230,11 +230,11 @@ void EnGe1_KickPlayer(EnGe1* this, GlobalContext* globalCtx) {
|
||||||
func_8006D074(globalCtx);
|
func_8006D074(globalCtx);
|
||||||
|
|
||||||
if ((INV_CONTENT(ITEM_HOOKSHOT) == ITEM_NONE) || (INV_CONTENT(ITEM_LONGSHOT) == ITEM_NONE)) {
|
if ((INV_CONTENT(ITEM_HOOKSHOT) == ITEM_NONE) || (INV_CONTENT(ITEM_LONGSHOT) == ITEM_NONE)) {
|
||||||
globalCtx->nextEntranceIndex = 0x1A5;
|
globalCtx->nextEntranceIndex = ENTR_SPOT09_1;
|
||||||
} else if (GET_EVENTCHKINF(EVENTCHKINF_C7)) { // Caught previously
|
} else if (GET_EVENTCHKINF(EVENTCHKINF_C7)) { // Caught previously
|
||||||
globalCtx->nextEntranceIndex = 0x5F8;
|
globalCtx->nextEntranceIndex = ENTR_SPOT12_18;
|
||||||
} else {
|
} else {
|
||||||
globalCtx->nextEntranceIndex = 0x3B4;
|
globalCtx->nextEntranceIndex = ENTR_SPOT12_17;
|
||||||
}
|
}
|
||||||
|
|
||||||
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_BLACK, TCS_FAST);
|
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_BLACK, TCS_FAST);
|
||||||
|
@ -581,7 +581,7 @@ void EnGe1_BeginGame_Archery(EnGe1* this, GlobalContext* globalCtx) {
|
||||||
this->actionFunc = EnGe1_TalkTooPoor_Archery;
|
this->actionFunc = EnGe1_TalkTooPoor_Archery;
|
||||||
} else {
|
} else {
|
||||||
Rupees_ChangeBy(-20);
|
Rupees_ChangeBy(-20);
|
||||||
globalCtx->nextEntranceIndex = 0x129;
|
globalCtx->nextEntranceIndex = ENTR_SPOT12_0;
|
||||||
gSaveContext.nextCutsceneIndex = 0xFFF0;
|
gSaveContext.nextCutsceneIndex = 0xFFF0;
|
||||||
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_BLACK, TCS_FAST);
|
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_BLACK, TCS_FAST);
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
|
|
|
@ -241,11 +241,11 @@ void EnGe2_CaptureClose(EnGe2* this, GlobalContext* globalCtx) {
|
||||||
func_8006D074(globalCtx);
|
func_8006D074(globalCtx);
|
||||||
|
|
||||||
if ((INV_CONTENT(ITEM_HOOKSHOT) == ITEM_NONE) || (INV_CONTENT(ITEM_LONGSHOT) == ITEM_NONE)) {
|
if ((INV_CONTENT(ITEM_HOOKSHOT) == ITEM_NONE) || (INV_CONTENT(ITEM_LONGSHOT) == ITEM_NONE)) {
|
||||||
globalCtx->nextEntranceIndex = 0x1A5;
|
globalCtx->nextEntranceIndex = ENTR_SPOT09_1;
|
||||||
} else if (GET_EVENTCHKINF(EVENTCHKINF_C7)) {
|
} else if (GET_EVENTCHKINF(EVENTCHKINF_C7)) {
|
||||||
globalCtx->nextEntranceIndex = 0x5F8;
|
globalCtx->nextEntranceIndex = ENTR_SPOT12_18;
|
||||||
} else {
|
} else {
|
||||||
globalCtx->nextEntranceIndex = 0x3B4;
|
globalCtx->nextEntranceIndex = ENTR_SPOT12_17;
|
||||||
}
|
}
|
||||||
|
|
||||||
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_BLACK, TCS_FAST);
|
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_BLACK, TCS_FAST);
|
||||||
|
@ -267,11 +267,11 @@ void EnGe2_CaptureCharge(EnGe2* this, GlobalContext* globalCtx) {
|
||||||
func_8006D074(globalCtx);
|
func_8006D074(globalCtx);
|
||||||
|
|
||||||
if ((INV_CONTENT(ITEM_HOOKSHOT) == ITEM_NONE) || (INV_CONTENT(ITEM_LONGSHOT) == ITEM_NONE)) {
|
if ((INV_CONTENT(ITEM_HOOKSHOT) == ITEM_NONE) || (INV_CONTENT(ITEM_LONGSHOT) == ITEM_NONE)) {
|
||||||
globalCtx->nextEntranceIndex = 0x1A5;
|
globalCtx->nextEntranceIndex = ENTR_SPOT09_1;
|
||||||
} else if (GET_EVENTCHKINF(EVENTCHKINF_C7)) {
|
} else if (GET_EVENTCHKINF(EVENTCHKINF_C7)) {
|
||||||
globalCtx->nextEntranceIndex = 0x5F8;
|
globalCtx->nextEntranceIndex = ENTR_SPOT12_18;
|
||||||
} else {
|
} else {
|
||||||
globalCtx->nextEntranceIndex = 0x3B4;
|
globalCtx->nextEntranceIndex = ENTR_SPOT12_17;
|
||||||
}
|
}
|
||||||
|
|
||||||
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_BLACK, TCS_FAST);
|
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_BLACK, TCS_FAST);
|
||||||
|
|
|
@ -1576,11 +1576,11 @@ void EnGeldB_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
this->timer--;
|
this->timer--;
|
||||||
if (this->timer == 0) {
|
if (this->timer == 0) {
|
||||||
if ((INV_CONTENT(ITEM_HOOKSHOT) == ITEM_NONE) || (INV_CONTENT(ITEM_LONGSHOT) == ITEM_NONE)) {
|
if ((INV_CONTENT(ITEM_HOOKSHOT) == ITEM_NONE) || (INV_CONTENT(ITEM_LONGSHOT) == ITEM_NONE)) {
|
||||||
globalCtx->nextEntranceIndex = 0x1A5;
|
globalCtx->nextEntranceIndex = ENTR_SPOT09_1;
|
||||||
} else if (GET_EVENTCHKINF(EVENTCHKINF_C7)) {
|
} else if (GET_EVENTCHKINF(EVENTCHKINF_C7)) {
|
||||||
globalCtx->nextEntranceIndex = 0x5F8;
|
globalCtx->nextEntranceIndex = ENTR_SPOT12_18;
|
||||||
} else {
|
} else {
|
||||||
globalCtx->nextEntranceIndex = 0x3B4;
|
globalCtx->nextEntranceIndex = ENTR_SPOT12_17;
|
||||||
}
|
}
|
||||||
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_BLACK, TCS_FAST);
|
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_BLACK, TCS_FAST);
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
|
|
|
@ -348,7 +348,7 @@ void EnHeishi1_Kick(EnHeishi1* this, GlobalContext* globalCtx) {
|
||||||
Message_CloseTextbox(globalCtx);
|
Message_CloseTextbox(globalCtx);
|
||||||
if (!this->loadStarted) {
|
if (!this->loadStarted) {
|
||||||
SET_EVENTCHKINF(EVENTCHKINF_4E);
|
SET_EVENTCHKINF(EVENTCHKINF_4E);
|
||||||
globalCtx->nextEntranceIndex = 0x4FA;
|
globalCtx->nextEntranceIndex = ENTR_SPOT15_3;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
this->loadStarted = true;
|
this->loadStarted = true;
|
||||||
sPlayerIsCaught = false;
|
sPlayerIsCaught = false;
|
||||||
|
|
|
@ -203,7 +203,7 @@ void func_80A55D00(EnHeishi3* this, GlobalContext* globalCtx) {
|
||||||
if ((Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(globalCtx) &&
|
if ((Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(globalCtx) &&
|
||||||
(this->respawnFlag == 0)) {
|
(this->respawnFlag == 0)) {
|
||||||
SET_EVENTCHKINF(EVENTCHKINF_4E);
|
SET_EVENTCHKINF(EVENTCHKINF_4E);
|
||||||
globalCtx->nextEntranceIndex = 0x47E; // Hyrule Castle from Guard Capture (outside)
|
globalCtx->nextEntranceIndex = ENTR_SPOT15_4;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
this->respawnFlag = 1;
|
this->respawnFlag = 1;
|
||||||
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_WHITE, TCS_FAST);
|
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_WHITE, TCS_FAST);
|
||||||
|
|
|
@ -76,7 +76,7 @@ void EnHoll_SetupAction(EnHoll* this, EnHollActionFunc func) {
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 EnHoll_IsKokiriSetup8() {
|
s32 EnHoll_IsKokiriSetup8() {
|
||||||
return gSaveContext.entranceIndex == 0x00EE && gSaveContext.sceneSetupIndex == 8;
|
return gSaveContext.entranceIndex == ENTR_SPOT04_0 && gSaveContext.sceneSetupIndex == 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
void EnHoll_ChooseAction(EnHoll* this) {
|
void EnHoll_ChooseAction(EnHoll* this) {
|
||||||
|
|
|
@ -2528,7 +2528,7 @@ void EnHorse_UpdateHorsebackArchery(EnHorse* this, GlobalContext* globalCtx) {
|
||||||
if (this->hbaFlags & 1 || this->hbaTimer >= 46) {
|
if (this->hbaFlags & 1 || this->hbaTimer >= 46) {
|
||||||
if (sp20 != 1 && gSaveContext.minigameState != 3) {
|
if (sp20 != 1 && gSaveContext.minigameState != 3) {
|
||||||
gSaveContext.cutsceneIndex = 0;
|
gSaveContext.cutsceneIndex = 0;
|
||||||
globalCtx->nextEntranceIndex = 0x3B0;
|
globalCtx->nextEntranceIndex = ENTR_SPOT12_16;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_NORMAL, TCC_BLACK, TCS_FAST);
|
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_NORMAL, TCC_BLACK, TCS_FAST);
|
||||||
}
|
}
|
||||||
|
|
|
@ -109,7 +109,7 @@ s32 EnHorseGameCheck_DestroyIngoRace(EnHorseGameCheckBase* base, GlobalContext*
|
||||||
void EnHorseGameCheck_FinishIngoRace(EnHorseGameCheckIngoRace* this, GlobalContext* globalCtx) {
|
void EnHorseGameCheck_FinishIngoRace(EnHorseGameCheckIngoRace* this, GlobalContext* globalCtx) {
|
||||||
gSaveContext.cutsceneIndex = 0;
|
gSaveContext.cutsceneIndex = 0;
|
||||||
if (this->result == INGORACE_PLAYER_WIN) {
|
if (this->result == INGORACE_PLAYER_WIN) {
|
||||||
globalCtx->nextEntranceIndex = 0x4CE;
|
globalCtx->nextEntranceIndex = ENTR_SPOT20_7;
|
||||||
if (GET_EVENTINF(EVENTINF_HORSES_06)) {
|
if (GET_EVENTINF(EVENTINF_HORSES_06)) {
|
||||||
SET_EVENTINF_HORSES_STATE(EVENTINF_HORSES_STATE_6);
|
SET_EVENTINF_HORSES_STATE(EVENTINF_HORSES_STATE_6);
|
||||||
SET_EVENTINF_HORSES_0F(1);
|
SET_EVENTINF_HORSES_0F(1);
|
||||||
|
@ -122,7 +122,7 @@ void EnHorseGameCheck_FinishIngoRace(EnHorseGameCheckIngoRace* this, GlobalConte
|
||||||
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_WHITE, TCS_FAST);
|
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_WHITE, TCS_FAST);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
globalCtx->nextEntranceIndex = 0x558;
|
globalCtx->nextEntranceIndex = ENTR_SPOT20_8;
|
||||||
SET_EVENTINF_HORSES_STATE(EVENTINF_HORSES_STATE_3);
|
SET_EVENTINF_HORSES_STATE(EVENTINF_HORSES_STATE_3);
|
||||||
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_NORMAL, TCC_BLACK, TCS_FAST);
|
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_NORMAL, TCC_BLACK, TCS_FAST);
|
||||||
SET_EVENTINF_HORSES_0F(1);
|
SET_EVENTINF_HORSES_0F(1);
|
||||||
|
@ -295,21 +295,21 @@ s32 EnHorseGameCheck_DestroyMalonRace(EnHorseGameCheckBase* base, GlobalContext*
|
||||||
void EnHorseGameCheck_FinishMalonRace(EnHorseGameCheckMalonRace* this, GlobalContext* globalCtx) {
|
void EnHorseGameCheck_FinishMalonRace(EnHorseGameCheckMalonRace* this, GlobalContext* globalCtx) {
|
||||||
if ((this->result == MALONRACE_SUCCESS) || (this->result == MALONRACE_TIME_UP)) {
|
if ((this->result == MALONRACE_SUCCESS) || (this->result == MALONRACE_TIME_UP)) {
|
||||||
gSaveContext.cutsceneIndex = 0;
|
gSaveContext.cutsceneIndex = 0;
|
||||||
globalCtx->nextEntranceIndex = 0x4CE;
|
globalCtx->nextEntranceIndex = ENTR_SPOT20_7;
|
||||||
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_WHITE, TCS_FAST);
|
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_WHITE, TCS_FAST);
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
} else if (this->result == MALONRACE_FAILURE) {
|
} else if (this->result == MALONRACE_FAILURE) {
|
||||||
gSaveContext.timer1Value = 240;
|
gSaveContext.timer1Value = 240;
|
||||||
gSaveContext.timer1State = 0xF;
|
gSaveContext.timer1State = 0xF;
|
||||||
gSaveContext.cutsceneIndex = 0;
|
gSaveContext.cutsceneIndex = 0;
|
||||||
globalCtx->nextEntranceIndex = 0x4CE;
|
globalCtx->nextEntranceIndex = ENTR_SPOT20_7;
|
||||||
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_WHITE, TCS_FAST);
|
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_WHITE, TCS_FAST);
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
} else {
|
} else {
|
||||||
// "not supported"
|
// "not supported"
|
||||||
osSyncPrintf("En_HGC_Spot20_Ta_end():対応せず\n");
|
osSyncPrintf("En_HGC_Spot20_Ta_end():対応せず\n");
|
||||||
gSaveContext.cutsceneIndex = 0;
|
gSaveContext.cutsceneIndex = 0;
|
||||||
globalCtx->nextEntranceIndex = 0x157;
|
globalCtx->nextEntranceIndex = ENTR_SPOT20_0;
|
||||||
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_WHITE, TCS_FAST);
|
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_WHITE, TCS_FAST);
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
}
|
}
|
||||||
|
|
|
@ -351,7 +351,7 @@ void func_80A6A068(EnHorseLinkChild* this, GlobalContext* globalCtx) {
|
||||||
player = GET_PLAYER(globalCtx);
|
player = GET_PLAYER(globalCtx);
|
||||||
distFromLink = Actor_WorldDistXZToActor(&this->actor, &player->actor);
|
distFromLink = Actor_WorldDistXZToActor(&this->actor, &player->actor);
|
||||||
|
|
||||||
if (gSaveContext.entranceIndex == 0x2AE) {
|
if (gSaveContext.entranceIndex == ENTR_SPOT20_1) {
|
||||||
Audio_PlaySoundGeneral(NA_SE_EV_KID_HORSE_NEIGH, &this->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale,
|
Audio_PlaySoundGeneral(NA_SE_EV_KID_HORSE_NEIGH, &this->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||||
func_80A6A724(this);
|
func_80A6A724(this);
|
||||||
|
|
|
@ -424,7 +424,7 @@ void func_80A79AB4(EnIn* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80A79BAC(EnIn* this, GlobalContext* globalCtx, s32 index, u32 transitionType) {
|
void func_80A79BAC(EnIn* this, GlobalContext* globalCtx, s32 index, u32 transitionType) {
|
||||||
s16 entrances[] = { 0x0558, 0x04CA, 0x0157 };
|
s16 entrances[] = { ENTR_SPOT20_8, ENTR_SPOT20_6, ENTR_SPOT20_0 };
|
||||||
|
|
||||||
globalCtx->nextEntranceIndex = entrances[index];
|
globalCtx->nextEntranceIndex = entrances[index];
|
||||||
if (index == 2) {
|
if (index == 2) {
|
||||||
|
@ -870,7 +870,7 @@ void func_80A7AEF0(EnIn* this, GlobalContext* globalCtx) {
|
||||||
pos.z += 90.0f * Math_CosS(this->actor.shape.rot.y);
|
pos.z += 90.0f * Math_CosS(this->actor.shape.rot.y);
|
||||||
yaw = Math_Vec3f_Yaw(&pos, &player->actor.world.pos);
|
yaw = Math_Vec3f_Yaw(&pos, &player->actor.world.pos);
|
||||||
if (ABS(yaw) > 0x4000) {
|
if (ABS(yaw) > 0x4000) {
|
||||||
globalCtx->nextEntranceIndex = 0x0476;
|
globalCtx->nextEntranceIndex = ENTR_SPOT00_15;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE_FAST;
|
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE_FAST;
|
||||||
this->actionFunc = func_80A7B018;
|
this->actionFunc = func_80A7B018;
|
||||||
|
|
|
@ -147,7 +147,7 @@ void func_80A89A6C(EnJsjutan* this, GlobalContext* globalCtx) {
|
||||||
i = 1;
|
i = 1;
|
||||||
|
|
||||||
// Credits scene. The magic carpet man is friends with the bean guy and the lakeside professor.
|
// Credits scene. The magic carpet man is friends with the bean guy and the lakeside professor.
|
||||||
if ((gSaveContext.entranceIndex == 0x157) && (gSaveContext.sceneSetupIndex == 8)) {
|
if ((gSaveContext.entranceIndex == ENTR_SPOT20_0) && (gSaveContext.sceneSetupIndex == 8)) {
|
||||||
isInCreditsScene = true;
|
isInCreditsScene = true;
|
||||||
|
|
||||||
actorProfessor = globalCtx->actorCtx.actorLists[ACTORCAT_NPC].head;
|
actorProfessor = globalCtx->actorCtx.actorLists[ACTORCAT_NPC].head;
|
||||||
|
|
|
@ -385,7 +385,7 @@ void func_80AA10EC(EnMa1* this, GlobalContext* globalCtx) {
|
||||||
void func_80AA1150(EnMa1* this, GlobalContext* globalCtx) {
|
void func_80AA1150(EnMa1* this, GlobalContext* globalCtx) {
|
||||||
GET_PLAYER(globalCtx)->stateFlags2 |= PLAYER_STATE2_23;
|
GET_PLAYER(globalCtx)->stateFlags2 |= PLAYER_STATE2_23;
|
||||||
if (globalCtx->msgCtx.ocarinaMode == OCARINA_MODE_03) {
|
if (globalCtx->msgCtx.ocarinaMode == OCARINA_MODE_03) {
|
||||||
globalCtx->nextEntranceIndex = 0x157;
|
globalCtx->nextEntranceIndex = ENTR_SPOT20_0;
|
||||||
gSaveContext.nextCutsceneIndex = 0xFFF1;
|
gSaveContext.nextCutsceneIndex = 0xFFF1;
|
||||||
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_WAVE, TCC_WHITE, TCS_FAST);
|
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_WAVE, TCC_WHITE, TCS_FAST);
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
|
|
|
@ -114,7 +114,7 @@ s16 func_80AA2BD4(GlobalContext* globalCtx, Actor* thisx) {
|
||||||
switch (Message_GetState(&globalCtx->msgCtx)) {
|
switch (Message_GetState(&globalCtx->msgCtx)) {
|
||||||
case TEXT_STATE_EVENT:
|
case TEXT_STATE_EVENT:
|
||||||
if (Message_ShouldAdvance(globalCtx)) {
|
if (Message_ShouldAdvance(globalCtx)) {
|
||||||
globalCtx->nextEntranceIndex = 0x157;
|
globalCtx->nextEntranceIndex = ENTR_SPOT20_0;
|
||||||
gSaveContext.nextCutsceneIndex = 0xFFF0;
|
gSaveContext.nextCutsceneIndex = 0xFFF0;
|
||||||
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_BLACK, TCS_FAST);
|
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_BLACK, TCS_FAST);
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
|
|
|
@ -168,7 +168,7 @@ void EnMs_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
SkelAnime_Update(&this->skelAnime);
|
SkelAnime_Update(&this->skelAnime);
|
||||||
this->actionFunc(this, globalCtx);
|
this->actionFunc(this, globalCtx);
|
||||||
|
|
||||||
if (gSaveContext.entranceIndex == 0x157 && gSaveContext.sceneSetupIndex == 8) { // ride carpet if in credits
|
if (gSaveContext.entranceIndex == ENTR_SPOT20_0 && gSaveContext.sceneSetupIndex == 8) { // ride carpet if in credits
|
||||||
Actor_MoveForward(&this->actor);
|
Actor_MoveForward(&this->actor);
|
||||||
osSyncPrintf("OOOHHHHHH %f\n", this->actor.velocity.y);
|
osSyncPrintf("OOOHHHHHH %f\n", this->actor.velocity.y);
|
||||||
Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 0.0f, 0.0f, 0.0f, UPDBGCHECKINFO_FLAG_2);
|
Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 0.0f, 0.0f, 0.0f, UPDBGCHECKINFO_FLAG_2);
|
||||||
|
|
|
@ -917,7 +917,7 @@ void EnOssan_State_StartConversation(EnOssan* this, GlobalContext* globalCtx, Pl
|
||||||
EnOssan_TryPaybackMask(this, globalCtx);
|
EnOssan_TryPaybackMask(this, globalCtx);
|
||||||
return;
|
return;
|
||||||
case OSSAN_HAPPY_STATE_ANGRY:
|
case OSSAN_HAPPY_STATE_ANGRY:
|
||||||
globalCtx->nextEntranceIndex = 0x1D1;
|
globalCtx->nextEntranceIndex = ENTR_MARKET_DAY_9;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_WHITE, TCS_FAST);
|
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_WHITE, TCS_FAST);
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -663,7 +663,7 @@ void func_80B15424(EnTa* this, GlobalContext* globalCtx) {
|
||||||
func_80B15308(this);
|
func_80B15308(this);
|
||||||
|
|
||||||
if ((Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(globalCtx)) {
|
if ((Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(globalCtx)) {
|
||||||
globalCtx->nextEntranceIndex = 0x5E4;
|
globalCtx->nextEntranceIndex = ENTR_SOUKO_2;
|
||||||
|
|
||||||
if (GET_EVENTINF(EVENTINF_HORSES_08)) {
|
if (GET_EVENTINF(EVENTINF_HORSES_08)) {
|
||||||
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_WHITE, TCS_FAST);
|
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_WHITE, TCS_FAST);
|
||||||
|
|
|
@ -378,7 +378,7 @@ void EnZl4_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
Animation_ChangeByInfo(&this->skelAnime, sAnimationInfo, ZL4_ANIM_0);
|
Animation_ChangeByInfo(&this->skelAnime, sAnimationInfo, ZL4_ANIM_0);
|
||||||
this->actionFunc = EnZl4_Idle;
|
this->actionFunc = EnZl4_Idle;
|
||||||
} else {
|
} else {
|
||||||
if (gSaveContext.entranceIndex != 0x5F0) {
|
if (gSaveContext.entranceIndex != ENTR_NAKANIWA_1) {
|
||||||
Animation_ChangeByInfo(&this->skelAnime, sAnimationInfo, ZL4_ANIM_21);
|
Animation_ChangeByInfo(&this->skelAnime, sAnimationInfo, ZL4_ANIM_21);
|
||||||
this->csState = ZL4_CS_WAIT;
|
this->csState = ZL4_CS_WAIT;
|
||||||
this->talkState = 0;
|
this->talkState = 0;
|
||||||
|
@ -770,7 +770,7 @@ s32 EnZl4_CsAskName(EnZl4* this, GlobalContext* globalCtx) {
|
||||||
this->talkTimer2++;
|
this->talkTimer2++;
|
||||||
if (this->talkTimer2 == 130) {
|
if (this->talkTimer2 == 130) {
|
||||||
globalCtx->msgCtx.msgMode = MSGMODE_PAUSED;
|
globalCtx->msgCtx.msgMode = MSGMODE_PAUSED;
|
||||||
globalCtx->nextEntranceIndex = 0xA0;
|
globalCtx->nextEntranceIndex = ENTR_HIRAL_DEMO_0;
|
||||||
gSaveContext.nextCutsceneIndex = 0xFFF7;
|
gSaveContext.nextCutsceneIndex = 0xFFF7;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||||
|
|
|
@ -134,22 +134,22 @@ void ObjectKankyo_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gSaveContext.cutsceneTrigger != 0) {
|
if (gSaveContext.cutsceneTrigger != 0) {
|
||||||
if (gSaveContext.entranceIndex == 0x0538) {
|
if (gSaveContext.entranceIndex == ENTR_GANONTIKA_2) {
|
||||||
this->effects[0].size = 0.1f;
|
this->effects[0].size = 0.1f;
|
||||||
}
|
}
|
||||||
if (gSaveContext.entranceIndex == 0x053C) {
|
if (gSaveContext.entranceIndex == ENTR_GANONTIKA_3) {
|
||||||
this->effects[1].size = 0.1f;
|
this->effects[1].size = 0.1f;
|
||||||
}
|
}
|
||||||
if (gSaveContext.entranceIndex == 0x0540) {
|
if (gSaveContext.entranceIndex == ENTR_GANONTIKA_4) {
|
||||||
this->effects[2].size = 0.1f;
|
this->effects[2].size = 0.1f;
|
||||||
}
|
}
|
||||||
if (gSaveContext.entranceIndex == 0x0544) {
|
if (gSaveContext.entranceIndex == ENTR_GANONTIKA_5) {
|
||||||
this->effects[3].size = 0.1f;
|
this->effects[3].size = 0.1f;
|
||||||
}
|
}
|
||||||
if (gSaveContext.entranceIndex == 0x0548) {
|
if (gSaveContext.entranceIndex == ENTR_GANONTIKA_6) {
|
||||||
this->effects[4].size = 0.1f;
|
this->effects[4].size = 0.1f;
|
||||||
}
|
}
|
||||||
if (gSaveContext.entranceIndex == 0x054C) {
|
if (gSaveContext.entranceIndex == ENTR_GANONTIKA_7) {
|
||||||
this->effects[5].size = 0.1f;
|
this->effects[5].size = 0.1f;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -222,8 +222,8 @@ void ObjectKankyo_Fairies(ObjectKankyo* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (globalCtx->envCtx.unk_EE[3] < 64 &&
|
if (globalCtx->envCtx.unk_EE[3] < 64 && (gSaveContext.entranceIndex != ENTR_SPOT04_0 ||
|
||||||
(gSaveContext.entranceIndex != 0x00EE || gSaveContext.sceneSetupIndex != 4 || globalCtx->envCtx.unk_EE[3])) {
|
gSaveContext.sceneSetupIndex != 4 || globalCtx->envCtx.unk_EE[3])) {
|
||||||
globalCtx->envCtx.unk_EE[3] += 16;
|
globalCtx->envCtx.unk_EE[3] += 16;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3786,7 +3786,7 @@ s32 func_808382DC(Player* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
if (sp68) {
|
if (sp68) {
|
||||||
Gameplay_TriggerRespawn(globalCtx);
|
Gameplay_TriggerRespawn(globalCtx);
|
||||||
func_800994A0(globalCtx);
|
Scene_SetTransitionForNextEntrance(globalCtx);
|
||||||
} else {
|
} else {
|
||||||
// Special case for getting crushed in Forest Temple's Checkboard Ceiling Hall or Shadow Temple's
|
// Special case for getting crushed in Forest Temple's Checkboard Ceiling Hall or Shadow Temple's
|
||||||
// Falling Spike Trap Room, to respawn the player in a specific place
|
// Falling Spike Trap Room, to respawn the player in a specific place
|
||||||
|
@ -4081,20 +4081,20 @@ s32 func_80838FB8(GlobalContext* globalCtx, Player* this) {
|
||||||
}
|
}
|
||||||
|
|
||||||
s16 D_808544F8[] = {
|
s16 D_808544F8[] = {
|
||||||
0x045B, // DMT from Magic Fairy Fountain
|
ENTR_SPOT16_4, // DMT from Magic Fairy Fountain
|
||||||
0x0482, // DMC from Double Defense Fairy Fountain
|
ENTR_SPOT17_3, // DMC from Double Defense Fairy Fountain
|
||||||
0x0340, // Hyrule Castle from Dins Fire Fairy Fountain
|
ENTR_SPOT15_2, // Hyrule Castle from Dins Fire Fairy Fountain
|
||||||
0x044B, // Kakariko from Potion Shop
|
ENTR_SPOT01_9, // Kakariko from Potion Shop
|
||||||
0x02A2, // Market (child day) from Potion Shop
|
ENTR_MARKET_DAY_5, // Market (child day) from Potion Shop
|
||||||
0x0201, // Kakariko from Bazaar
|
ENTR_SPOT01_3, // Kakariko from Bazaar
|
||||||
0x03B8, // Market (child day) from Bazaar
|
ENTR_MARKET_DAY_6, // Market (child day) from Bazaar
|
||||||
0x04EE, // Kakariko from House of Skulltulas
|
ENTR_SPOT01_11, // Kakariko from House of Skulltulas
|
||||||
0x03C0, // Back Alley (day) from Bombchu Shop
|
ENTR_MARKET_ALLEY_2, // Back Alley (day) from Bombchu Shop
|
||||||
0x0463, // Kakariko from Shooting Gallery
|
ENTR_SPOT01_10, // Kakariko from Shooting Gallery
|
||||||
0x01CD, // Market (child day) from Shooting Gallery
|
ENTR_MARKET_DAY_8, // Market (child day) from Shooting Gallery
|
||||||
0x0394, // Zoras Fountain from Farores Wind Fairy Fountain
|
ENTR_SPOT08_5, // Zoras Fountain from Farores Wind Fairy Fountain
|
||||||
0x0340, // Hyrule Castle from Dins Fire Fairy Fountain
|
ENTR_SPOT15_2, // Hyrule Castle from Dins Fire Fairy Fountain
|
||||||
0x057C, // Desert Colossus from Nayrus Love Fairy Fountain
|
ENTR_SPOT11_7, // Desert Colossus from Nayrus Love Fairy Fountain
|
||||||
};
|
};
|
||||||
|
|
||||||
u8 D_80854514[] = { 11, 9, 3, 5, 7, 0 };
|
u8 D_80854514[] = { 11, 9, 3, 5, 7, 0 };
|
||||||
|
@ -4123,7 +4123,7 @@ s32 func_80839034(GlobalContext* globalCtx, Player* this, CollisionPoly* poly, u
|
||||||
|
|
||||||
if (sp3C == 0) {
|
if (sp3C == 0) {
|
||||||
Gameplay_TriggerVoidOut(globalCtx);
|
Gameplay_TriggerVoidOut(globalCtx);
|
||||||
func_800994A0(globalCtx);
|
Scene_SetTransitionForNextEntrance(globalCtx);
|
||||||
} else {
|
} else {
|
||||||
globalCtx->nextEntranceIndex = globalCtx->setupExitList[sp3C - 1];
|
globalCtx->nextEntranceIndex = globalCtx->setupExitList[sp3C - 1];
|
||||||
if (globalCtx->nextEntranceIndex == 0x7FFF) {
|
if (globalCtx->nextEntranceIndex == 0x7FFF) {
|
||||||
|
@ -4134,7 +4134,7 @@ s32 func_80839034(GlobalContext* globalCtx, Player* this, CollisionPoly* poly, u
|
||||||
} else if (globalCtx->nextEntranceIndex >= 0x7FF9) {
|
} else if (globalCtx->nextEntranceIndex >= 0x7FF9) {
|
||||||
globalCtx->nextEntranceIndex =
|
globalCtx->nextEntranceIndex =
|
||||||
D_808544F8[D_80854514[globalCtx->nextEntranceIndex - 0x7FF9] + globalCtx->curSpawn];
|
D_808544F8[D_80854514[globalCtx->nextEntranceIndex - 0x7FF9] + globalCtx->curSpawn];
|
||||||
func_800994A0(globalCtx);
|
Scene_SetTransitionForNextEntrance(globalCtx);
|
||||||
} else {
|
} else {
|
||||||
if (SurfaceType_GetSlope(&globalCtx->colCtx, poly, bgId) == 2) {
|
if (SurfaceType_GetSlope(&globalCtx->colCtx, poly, bgId) == 2) {
|
||||||
gSaveContext.respawn[RESPAWN_MODE_DOWN].entranceIndex = globalCtx->nextEntranceIndex;
|
gSaveContext.respawn[RESPAWN_MODE_DOWN].entranceIndex = globalCtx->nextEntranceIndex;
|
||||||
|
@ -4142,7 +4142,7 @@ s32 func_80839034(GlobalContext* globalCtx, Player* this, CollisionPoly* poly, u
|
||||||
gSaveContext.respawnFlag = -2;
|
gSaveContext.respawnFlag = -2;
|
||||||
}
|
}
|
||||||
gSaveContext.unk_13C3 = 1;
|
gSaveContext.unk_13C3 = 1;
|
||||||
func_800994A0(globalCtx);
|
Scene_SetTransitionForNextEntrance(globalCtx);
|
||||||
}
|
}
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
}
|
}
|
||||||
|
@ -12053,7 +12053,7 @@ s32 func_8084DFF4(GlobalContext* globalCtx, Player* this) {
|
||||||
} else {
|
} else {
|
||||||
if (Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_CLOSING) {
|
if (Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_CLOSING) {
|
||||||
if (this->getItemId == GI_GAUNTLETS_SILVER) {
|
if (this->getItemId == GI_GAUNTLETS_SILVER) {
|
||||||
globalCtx->nextEntranceIndex = 0x0123;
|
globalCtx->nextEntranceIndex = ENTR_SPOT11_0;
|
||||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||||
gSaveContext.nextCutsceneIndex = 0xFFF1;
|
gSaveContext.nextCutsceneIndex = 0xFFF1;
|
||||||
globalCtx->transitionType = TRANS_TYPE_SANDSTORM_END;
|
globalCtx->transitionType = TRANS_TYPE_SANDSTORM_END;
|
||||||
|
@ -12110,7 +12110,9 @@ void func_8084E368(Player* this, GlobalContext* globalCtx) {
|
||||||
func_8084AEEC(this, &this->linearVelocity, 0.0f, this->actor.shape.rot.y);
|
func_8084AEEC(this, &this->linearVelocity, 0.0f, this->actor.shape.rot.y);
|
||||||
}
|
}
|
||||||
|
|
||||||
static s16 D_808549D4[] = { 0x0600, 0x04F6, 0x0604, 0x01F1, 0x0568, 0x05F4 };
|
static s16 sWarpSongEntrances[] = {
|
||||||
|
ENTR_SPOT05_2, ENTR_SPOT17_4, ENTR_SPOT06_8, ENTR_SPOT11_5, ENTR_SPOT02_7, ENTR_TOKINOMA_7,
|
||||||
|
};
|
||||||
|
|
||||||
void func_8084E3C4(Player* this, GlobalContext* globalCtx) {
|
void func_8084E3C4(Player* this, GlobalContext* globalCtx) {
|
||||||
if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
|
if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
|
||||||
|
@ -12144,7 +12146,7 @@ void func_8084E3C4(Player* this, GlobalContext* globalCtx) {
|
||||||
this->stateFlags2 &= ~(PLAYER_STATE2_23 | PLAYER_STATE2_24 | PLAYER_STATE2_25);
|
this->stateFlags2 &= ~(PLAYER_STATE2_23 | PLAYER_STATE2_24 | PLAYER_STATE2_25);
|
||||||
this->unk_6A8 = NULL;
|
this->unk_6A8 = NULL;
|
||||||
} else if (globalCtx->msgCtx.ocarinaMode == OCARINA_MODE_02) {
|
} else if (globalCtx->msgCtx.ocarinaMode == OCARINA_MODE_02) {
|
||||||
gSaveContext.respawn[RESPAWN_MODE_RETURN].entranceIndex = D_808549D4[globalCtx->msgCtx.lastPlayedSong];
|
gSaveContext.respawn[RESPAWN_MODE_RETURN].entranceIndex = sWarpSongEntrances[globalCtx->msgCtx.lastPlayedSong];
|
||||||
gSaveContext.respawn[RESPAWN_MODE_RETURN].playerParams = 0x5FF;
|
gSaveContext.respawn[RESPAWN_MODE_RETURN].playerParams = 0x5FF;
|
||||||
gSaveContext.respawn[RESPAWN_MODE_RETURN].data = globalCtx->msgCtx.lastPlayedSong;
|
gSaveContext.respawn[RESPAWN_MODE_RETURN].data = globalCtx->msgCtx.lastPlayedSong;
|
||||||
|
|
||||||
|
@ -12669,7 +12671,7 @@ void func_8084F88C(Player* this, GlobalContext* globalCtx) {
|
||||||
if (this->unk_84F != 0) {
|
if (this->unk_84F != 0) {
|
||||||
if (globalCtx->sceneNum == 9) {
|
if (globalCtx->sceneNum == 9) {
|
||||||
Gameplay_TriggerRespawn(globalCtx);
|
Gameplay_TriggerRespawn(globalCtx);
|
||||||
globalCtx->nextEntranceIndex = 0x0088;
|
globalCtx->nextEntranceIndex = ENTR_ICE_DOUKUTO_0;
|
||||||
} else if (this->unk_84F < 0) {
|
} else if (this->unk_84F < 0) {
|
||||||
Gameplay_TriggerRespawn(globalCtx);
|
Gameplay_TriggerRespawn(globalCtx);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -1458,7 +1458,7 @@ void FileChoose_LoadGame(GameState* thisx) {
|
||||||
this->state.running = false;
|
this->state.running = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
gSaveContext.respawn[0].entranceIndex = -1;
|
gSaveContext.respawn[0].entranceIndex = ENTR_LOAD_OPENING;
|
||||||
gSaveContext.respawnFlag = 0;
|
gSaveContext.respawnFlag = 0;
|
||||||
gSaveContext.seqId = (u8)NA_BGM_DISABLED;
|
gSaveContext.seqId = (u8)NA_BGM_DISABLED;
|
||||||
gSaveContext.natureAmbienceId = 0xFF;
|
gSaveContext.natureAmbienceId = 0xFF;
|
||||||
|
|
|
@ -31,7 +31,7 @@ void Select_LoadGame(SelectContext* this, s32 entranceIndex) {
|
||||||
Audio_QueueSeqCmd(SEQ_PLAYER_BGM_MAIN << 24 | NA_BGM_STOP);
|
Audio_QueueSeqCmd(SEQ_PLAYER_BGM_MAIN << 24 | NA_BGM_STOP);
|
||||||
gSaveContext.entranceIndex = entranceIndex;
|
gSaveContext.entranceIndex = entranceIndex;
|
||||||
gSaveContext.respawnFlag = 0;
|
gSaveContext.respawnFlag = 0;
|
||||||
gSaveContext.respawn[RESPAWN_MODE_DOWN].entranceIndex = -1;
|
gSaveContext.respawn[RESPAWN_MODE_DOWN].entranceIndex = ENTR_LOAD_OPENING;
|
||||||
gSaveContext.seqId = (u8)NA_BGM_DISABLED;
|
gSaveContext.seqId = (u8)NA_BGM_DISABLED;
|
||||||
gSaveContext.natureAmbienceId = 0xFF;
|
gSaveContext.natureAmbienceId = 0xFF;
|
||||||
gSaveContext.showTitleCard = true;
|
gSaveContext.showTitleCard = true;
|
||||||
|
@ -43,257 +43,258 @@ void Select_LoadGame(SelectContext* this, s32 entranceIndex) {
|
||||||
// "Translation" (Actual name)
|
// "Translation" (Actual name)
|
||||||
static SceneSelectEntry sScenes[] = {
|
static SceneSelectEntry sScenes[] = {
|
||||||
// "1: SPOT00" (Hyrule Field)
|
// "1: SPOT00" (Hyrule Field)
|
||||||
{ " 1:SPOT00", Select_LoadGame, 0x00CD },
|
{ " 1:SPOT00", Select_LoadGame, ENTR_SPOT00_0 },
|
||||||
// "2: SPOT01" (Kakariko Village)
|
// "2: SPOT01" (Kakariko Village)
|
||||||
{ " 2:SPOT01", Select_LoadGame, 0x00DB },
|
{ " 2:SPOT01", Select_LoadGame, ENTR_SPOT01_0 },
|
||||||
// "3: SPOT02" (Graveyard)
|
// "3: SPOT02" (Graveyard)
|
||||||
{ " 3:SPOT02", Select_LoadGame, 0x00E4 },
|
{ " 3:SPOT02", Select_LoadGame, ENTR_SPOT02_0 },
|
||||||
// "4: SPOT03" (Zora's River)
|
// "4: SPOT03" (Zora's River)
|
||||||
{ " 4:SPOT03", Select_LoadGame, 0x00EA },
|
{ " 4:SPOT03", Select_LoadGame, ENTR_SPOT03_0 },
|
||||||
// "5: SPOT04" (Kokiri Forest)
|
// "5: SPOT04" (Kokiri Forest)
|
||||||
{ " 5:SPOT04", Select_LoadGame, 0x00EE },
|
{ " 5:SPOT04", Select_LoadGame, ENTR_SPOT04_0 },
|
||||||
// "6: SPOT05" (Sacred Forest Meadow)
|
// "6: SPOT05" (Sacred Forest Meadow)
|
||||||
{ " 6:SPOT05", Select_LoadGame, 0x00FC },
|
{ " 6:SPOT05", Select_LoadGame, ENTR_SPOT05_0 },
|
||||||
// "7: SPOT06" (Lake Hylia)
|
// "7: SPOT06" (Lake Hylia)
|
||||||
{ " 7:SPOT06", Select_LoadGame, 0x0102 },
|
{ " 7:SPOT06", Select_LoadGame, ENTR_SPOT06_0 },
|
||||||
// "8: SPOT07" (Zora's Domain)
|
// "8: SPOT07" (Zora's Domain)
|
||||||
{ " 8:SPOT07", Select_LoadGame, 0x0108 },
|
{ " 8:SPOT07", Select_LoadGame, ENTR_SPOT07_0 },
|
||||||
// "9: SPOT08" (Zora's Fountain)
|
// "9: SPOT08" (Zora's Fountain)
|
||||||
{ " 9:SPOT08", Select_LoadGame, 0x010E },
|
{ " 9:SPOT08", Select_LoadGame, ENTR_SPOT08_0 },
|
||||||
// "10: SPOT09" (Gerudo Valley)
|
// "10: SPOT09" (Gerudo Valley)
|
||||||
{ "10:SPOT09", Select_LoadGame, 0x0117 },
|
{ "10:SPOT09", Select_LoadGame, ENTR_SPOT09_0 },
|
||||||
// "11: SPOT10" (Lost Woods)
|
// "11: SPOT10" (Lost Woods)
|
||||||
{ "11:SPOT10", Select_LoadGame, 0x011E },
|
{ "11:SPOT10", Select_LoadGame, ENTR_SPOT10_0 },
|
||||||
// "12: SPOT11" (Desert Colossus)
|
// "12: SPOT11" (Desert Colossus)
|
||||||
{ "12:SPOT11", Select_LoadGame, 0x0123 },
|
{ "12:SPOT11", Select_LoadGame, ENTR_SPOT11_0 },
|
||||||
// "13: SPOT12" (Gerudo's Fortress)
|
// "13: SPOT12" (Gerudo's Fortress)
|
||||||
{ "13:SPOT12", Select_LoadGame, 0x0129 },
|
{ "13:SPOT12", Select_LoadGame, ENTR_SPOT12_0 },
|
||||||
// "14: SPOT13" (Haunted Wasteland)
|
// "14: SPOT13" (Haunted Wasteland)
|
||||||
{ "14:SPOT13", Select_LoadGame, 0x0130 },
|
{ "14:SPOT13", Select_LoadGame, ENTR_SPOT13_0 },
|
||||||
// "15: SPOT15" (Hyrule Castle)
|
// "15: SPOT15" (Hyrule Castle)
|
||||||
{ "15:SPOT15", Select_LoadGame, 0x0138 },
|
{ "15:SPOT15", Select_LoadGame, ENTR_SPOT15_0 },
|
||||||
// "16: SPOT16" (Death Mountain Trail)
|
// "16: SPOT16" (Death Mountain Trail)
|
||||||
{ "16:SPOT16", Select_LoadGame, 0x013D },
|
{ "16:SPOT16", Select_LoadGame, ENTR_SPOT16_0 },
|
||||||
// "17: SPOT17" (Death Mountain Crater)
|
// "17: SPOT17" (Death Mountain Crater)
|
||||||
{ "17:SPOT17", Select_LoadGame, 0x0147 },
|
{ "17:SPOT17", Select_LoadGame, ENTR_SPOT17_0 },
|
||||||
// "18: SPOT18" (Goron City)
|
// "18: SPOT18" (Goron City)
|
||||||
{ "18:SPOT18", Select_LoadGame, 0x014D },
|
{ "18:SPOT18", Select_LoadGame, ENTR_SPOT18_0 },
|
||||||
// "19: SPOT20" (Lon Lon Ranch)
|
// "19: SPOT20" (Lon Lon Ranch)
|
||||||
{ "19:SPOT20", Select_LoadGame, 0x0157 },
|
{ "19:SPOT20", Select_LoadGame, ENTR_SPOT20_0 },
|
||||||
// "20: Chamber of Time" (Temple Of Time)
|
// "20: Chamber of Time" (Temple Of Time)
|
||||||
{ "20:" GFXP_HIRAGANA "トキノマ", Select_LoadGame, 0x0053 },
|
{ "20:" GFXP_HIRAGANA "トキノマ", Select_LoadGame, ENTR_TOKINOMA_0 },
|
||||||
// "21: Chamber of the Sages" (Chamber of the Sages)
|
// "21: Chamber of the Sages" (Chamber of the Sages)
|
||||||
{ "21:" GFXP_HIRAGANA "ケンジャノマ", Select_LoadGame, 0x006B },
|
{ "21:" GFXP_HIRAGANA "ケンジャノマ", Select_LoadGame, ENTR_KENJYANOMA_0 },
|
||||||
// "22: Target Range" (Shooting Gallery)
|
// "22: Target Range" (Shooting Gallery)
|
||||||
{ "22:" GFXP_HIRAGANA "シャテキジョウ", Select_LoadGame, 0x003B },
|
{ "22:" GFXP_HIRAGANA "シャテキジョウ", Select_LoadGame, ENTR_SYATEKIJYOU_0 },
|
||||||
// "23: Hyrule Garden Game" (Hyrule Garden Minigame)
|
// "23: Hyrule Garden Game" (Hyrule Garden Minigame)
|
||||||
{ "23:" GFXP_KATAKANA "ハイラル" GFXP_HIRAGANA "ニワ" GFXP_KATAKANA "ゲーム", Select_LoadGame, 0x007A },
|
{ "23:" GFXP_KATAKANA "ハイラル" GFXP_HIRAGANA "ニワ" GFXP_KATAKANA "ゲーム", Select_LoadGame, ENTR_HAIRAL_NIWA_0 },
|
||||||
// "24: Grave Dive Hole" (Grave (Redead))
|
// "24: Grave Dive Hole" (Grave (Redead))
|
||||||
{ "24:" GFXP_HIRAGANA "ハカシタトビコミアナ", Select_LoadGame, 0x031C },
|
{ "24:" GFXP_HIRAGANA "ハカシタトビコミアナ", Select_LoadGame, ENTR_HAKAANA_0 },
|
||||||
// "25: Grave Dive Hole 2" (Grave (Fairy's Fountain))
|
// "25: Grave Dive Hole 2" (Grave (Fairy's Fountain))
|
||||||
{ "25:" GFXP_HIRAGANA "ハカシタトビコミアナ 2", Select_LoadGame, 0x004B },
|
{ "25:" GFXP_HIRAGANA "ハカシタトビコミアナ 2", Select_LoadGame, ENTR_HAKAANA2_0 },
|
||||||
// "26: Royal Family's Grave" (Royal Family's Tomb)
|
// "26: Royal Family's Grave" (Royal Family's Tomb)
|
||||||
{ "26:" GFXP_HIRAGANA "オウケ ノ ハカアナ", Select_LoadGame, 0x002D },
|
{ "26:" GFXP_HIRAGANA "オウケ ノ ハカアナ", Select_LoadGame, ENTR_HAKAANA_OUKE_0 },
|
||||||
// "27: Great Fairy's Fountain" (Great Fairy's Fountain (Upgrades))
|
// "27: Great Fairy's Fountain" (Great Fairy's Fountain (Upgrades))
|
||||||
{ "27:" GFXP_HIRAGANA "ダイヨウセイノイズミ", Select_LoadGame, 0x0315 },
|
{ "27:" GFXP_HIRAGANA "ダイヨウセイノイズミ", Select_LoadGame, ENTR_DAIYOUSEI_IZUMI_0 },
|
||||||
// "28: Fairy Dive Hole" (Fairy's Fountain (Healing Fairies))
|
// "28: Fairy Dive Hole" (Fairy's Fountain (Healing Fairies))
|
||||||
{ "28:" GFXP_HIRAGANA "トビコミ ヨウセイ アナ", Select_LoadGame, 0x036D },
|
{ "28:" GFXP_HIRAGANA "トビコミ ヨウセイ アナ", Select_LoadGame, ENTR_YOUSEI_IZUMI_TATE_0 },
|
||||||
// "29: Magic Stone Fairy's Fountain" (Great Fairy's Fountain (Spells))
|
// "29: Magic Stone Fairy's Fountain" (Great Fairy's Fountain (Spells))
|
||||||
{ "29:" GFXP_HIRAGANA "マホウセキ ヨウセイノイズミ", Select_LoadGame, 0x0371 },
|
{ "29:" GFXP_HIRAGANA "マホウセキ ヨウセイノイズミ", Select_LoadGame, ENTR_YOUSEI_IZUMI_YOKO_0 },
|
||||||
// "30: Final Battle With Ganon" (Battle With Ganon)
|
// "30: Final Battle With Ganon" (Battle With Ganon)
|
||||||
{ "30:" GFXP_KATAKANA "ガノン" GFXP_HIRAGANA "サイシュウセン", Select_LoadGame, 0x043F },
|
{ "30:" GFXP_KATAKANA "ガノン" GFXP_HIRAGANA "サイシュウセン", Select_LoadGame, ENTR_GANON_FINAL_0 },
|
||||||
// "31: Hyrule Inner Garden" (Castle Courtyard)
|
// "31: Hyrule Inner Garden" (Castle Courtyard)
|
||||||
{ "31:" GFXP_KATAKANA "ハイラル" GFXP_HIRAGANA "ナカニワ", Select_LoadGame, 0x0400 },
|
{ "31:" GFXP_KATAKANA "ハイラル" GFXP_HIRAGANA "ナカニワ", Select_LoadGame, ENTR_NAKANIWA_0 },
|
||||||
// "32: Fishing" (Fishing Pond)
|
// "32: Fishing" (Fishing Pond)
|
||||||
{ "32:" GFXP_HIRAGANA "ツリボリ", Select_LoadGame, 0x045F },
|
{ "32:" GFXP_HIRAGANA "ツリボリ", Select_LoadGame, ENTR_TURIBORI_0 },
|
||||||
// "33: Bombchu Bowling" (Bombchu Bowling Alley)
|
// "33: Bombchu Bowling" (Bombchu Bowling Alley)
|
||||||
{ "33:" GFXP_KATAKANA "ボムチュウボーリング", Select_LoadGame, 0x0507 },
|
{ "33:" GFXP_KATAKANA "ボムチュウボーリング", Select_LoadGame, ENTR_BOWLING_0 },
|
||||||
// "34: Lon Lon Ranch - Storehouse 1" (Talon's House)
|
// "34: Lon Lon Ranch - Storehouse 1" (Talon's House)
|
||||||
{ "34:" GFXP_KATAKANA "ロンロン" GFXP_HIRAGANA "ボクジョウ ソウコ 1", Select_LoadGame, 0x004F },
|
{ "34:" GFXP_KATAKANA "ロンロン" GFXP_HIRAGANA "ボクジョウ ソウコ 1", Select_LoadGame, ENTR_SOUKO_0 },
|
||||||
// "35: Lon Lon Ranch - Storehouse 2" (Ranch Silo)
|
// "35: Lon Lon Ranch - Storehouse 2" (Ranch Silo)
|
||||||
{ "35:" GFXP_KATAKANA "ロンロン" GFXP_HIRAGANA "ボクジョウ ソウコ 2", Select_LoadGame, 0x05D0 },
|
{ "35:" GFXP_KATAKANA "ロンロン" GFXP_HIRAGANA "ボクジョウ ソウコ 2", Select_LoadGame, ENTR_SOUKO_1 },
|
||||||
// "36: Lookout Hut" (Guard House)
|
// "36: Lookout Hut" (Guard House)
|
||||||
{ "36:" GFXP_HIRAGANA "ミハリ ゴヤ", Select_LoadGame, 0x007E },
|
{ "36:" GFXP_HIRAGANA "ミハリ ゴヤ", Select_LoadGame, ENTR_MIHARIGOYA_0 },
|
||||||
// "37: Magic Potion Shop" (Granny's Potion Shop)
|
// "37: Magic Potion Shop" (Granny's Potion Shop)
|
||||||
{ "37:" GFXP_HIRAGANA "マホウ ノ クスリヤ", Select_LoadGame, 0x0072 },
|
{ "37:" GFXP_HIRAGANA "マホウ ノ クスリヤ", Select_LoadGame, ENTR_MAHOUYA_0 },
|
||||||
// "38: Treasure Chest Shop" (Treasure Chest Game)
|
// "38: Treasure Chest Shop" (Treasure Chest Game)
|
||||||
{ "38:" GFXP_HIRAGANA "タカラバコヤ", Select_LoadGame, 0x0063 },
|
{ "38:" GFXP_HIRAGANA "タカラバコヤ", Select_LoadGame, ENTR_TAKARAYA_0 },
|
||||||
// "39: Gold Skulltula House" (House of Skulltula)
|
// "39: Gold Skulltula House" (House of Skulltula)
|
||||||
{ "39:" GFXP_HIRAGANA "キン " GFXP_KATAKANA "スタルチュラ ハウス", Select_LoadGame, 0x0550 },
|
{ "39:" GFXP_HIRAGANA "キン " GFXP_KATAKANA "スタルチュラ ハウス", Select_LoadGame, ENTR_KINSUTA_0 },
|
||||||
// "40: Castle Town - Entrance" (Market Entrance)
|
// "40: Castle Town - Entrance" (Market Entrance)
|
||||||
{ "40:" GFXP_HIRAGANA "ジョウカマチ イリグチ", Select_LoadGame, 0x0033 },
|
{ "40:" GFXP_HIRAGANA "ジョウカマチ イリグチ", Select_LoadGame, ENTR_ENTRA_0 },
|
||||||
// "41: Castle Town" (Market)
|
// "41: Castle Town" (Market)
|
||||||
{ "41:" GFXP_HIRAGANA "ジョウカマチ", Select_LoadGame, 0x00B1 },
|
{ "41:" GFXP_HIRAGANA "ジョウカマチ", Select_LoadGame, ENTR_MARKET_DAY_0 },
|
||||||
// "42: Back Alley" (Back Alley)
|
// "42: Back Alley" (Back Alley)
|
||||||
{ "42:" GFXP_HIRAGANA "ウラロジ", Select_LoadGame, 0x00AD },
|
{ "42:" GFXP_HIRAGANA "ウラロジ", Select_LoadGame, ENTR_MARKET_ALLEY_0 },
|
||||||
// "43: In Front of the Temple of Time" (Temple of Time Exterior)
|
// "43: In Front of the Temple of Time" (Temple of Time Exterior)
|
||||||
{ "43:" GFXP_HIRAGANA "トキノシンデン マエ", Select_LoadGame, 0x0171 },
|
{ "43:" GFXP_HIRAGANA "トキノシンデン マエ", Select_LoadGame, ENTR_SHRINE_0 },
|
||||||
// "44: Link's House" (Link's House)
|
// "44: Link's House" (Link's House)
|
||||||
{ "44:" GFXP_HIRAGANA "リンクノイエ", Select_LoadGame, 0x00BB },
|
{ "44:" GFXP_HIRAGANA "リンクノイエ", Select_LoadGame, ENTR_LINK_HOME_0 },
|
||||||
// "45: Kakariko Village Row House" (Carpenter Boss's House)
|
// "45: Kakariko Village Row House" (Carpenter Boss's House)
|
||||||
{ "45:" GFXP_KATAKANA "カカリコ" GFXP_HIRAGANA "ムラノナガヤ", Select_LoadGame, 0x02FD },
|
{ "45:" GFXP_KATAKANA "カカリコ" GFXP_HIRAGANA "ムラノナガヤ", Select_LoadGame, ENTR_KAKARIKO_0 },
|
||||||
// "46: Back Alley House" (Back Alley House (Man in Green))
|
// "46: Back Alley House" (Back Alley House (Man in Green))
|
||||||
{ "46:" GFXP_HIRAGANA "ウラロジノ イエ", Select_LoadGame, 0x043B },
|
{ "46:" GFXP_HIRAGANA "ウラロジノ イエ", Select_LoadGame, ENTR_KAKARIKO3_0 },
|
||||||
// "47: Kokiri Village - Know-It-All Brothers' House" (Know-It-All Brothers' House)
|
// "47: Kokiri Village - Know-It-All Brothers' House" (Know-It-All Brothers' House)
|
||||||
{ "47:" GFXP_HIRAGANA "コキリノムラ モノシリキョウダイノイエ", Select_LoadGame, 0x00C9 },
|
{ "47:" GFXP_HIRAGANA "コキリノムラ モノシリキョウダイノイエ", Select_LoadGame, ENTR_KOKIRI_HOME_0 },
|
||||||
// "48: Kokiri Village - Twins' House" (Twins' House)
|
// "48: Kokiri Village - Twins' House" (Twins' House)
|
||||||
{ "48:" GFXP_HIRAGANA "コキリノムラ フタゴノイエ", Select_LoadGame, 0x009C },
|
{ "48:" GFXP_HIRAGANA "コキリノムラ フタゴノイエ", Select_LoadGame, ENTR_KOKIRI_HOME3_0 },
|
||||||
// "49: Kokiri Village - Mido's House" (Mido's House)
|
// "49: Kokiri Village - Mido's House" (Mido's House)
|
||||||
{ "49:" GFXP_HIRAGANA "コキリノムラ " GFXP_KATAKANA "ミド" GFXP_HIRAGANA "ノイエ", Select_LoadGame, 0x0433 },
|
{ "49:" GFXP_HIRAGANA "コキリノムラ " GFXP_KATAKANA "ミド" GFXP_HIRAGANA "ノイエ", Select_LoadGame, ENTR_KOKIRI_HOME4_0 },
|
||||||
// "50: Kokiri Village - Saria's House" (Saria's House)
|
// "50: Kokiri Village - Saria's House" (Saria's House)
|
||||||
{ "50:" GFXP_HIRAGANA "コキリノムラ " GFXP_KATAKANA "サリア" GFXP_HIRAGANA "ノイエ", Select_LoadGame, 0x0437 },
|
{ "50:" GFXP_HIRAGANA "コキリノムラ " GFXP_KATAKANA "サリア" GFXP_HIRAGANA "ノイエ", Select_LoadGame, ENTR_KOKIRI_HOME5_0 },
|
||||||
// "51: Stable" (Stable)
|
// "51: Stable" (Stable)
|
||||||
{ "51:" GFXP_HIRAGANA "ウマゴヤ", Select_LoadGame, 0x02F9 },
|
{ "51:" GFXP_HIRAGANA "ウマゴヤ", Select_LoadGame, ENTR_MALON_STABLE_0 },
|
||||||
// "52: Grave Keeper's House" (Gravekeeper's Hut)
|
// "52: Grave Keeper's House" (Gravekeeper's Hut)
|
||||||
{ "52:" GFXP_HIRAGANA "ハカモリノイエ", Select_LoadGame, 0x030D },
|
{ "52:" GFXP_HIRAGANA "ハカモリノイエ", Select_LoadGame, ENTR_HUT_0 },
|
||||||
// "53: Back Alley - Dog Lady's House" (Back Alley House)
|
// "53: Back Alley - Dog Lady's House" (Back Alley House)
|
||||||
{ "53:" GFXP_HIRAGANA "ウラロジ イヌオバサンノイエ", Select_LoadGame, 0x0398 },
|
{ "53:" GFXP_HIRAGANA "ウラロジ イヌオバサンノイエ", Select_LoadGame, ENTR_IMPA_0 },
|
||||||
// "54: Kakariko Village - Impa's House" (Impa's House)
|
// "54: Kakariko Village - Impa's House" (Impa's House)
|
||||||
{ "54:" GFXP_HIRAGANA "カカリコムラ " GFXP_KATAKANA "インパ" GFXP_HIRAGANA "ノイエ", Select_LoadGame, 0x039C },
|
{ "54:" GFXP_HIRAGANA "カカリコムラ " GFXP_KATAKANA "インパ" GFXP_HIRAGANA "ノイエ", Select_LoadGame, ENTR_LABO_0 },
|
||||||
// "55: Hylia Laboratory" (Lakeside Laboratory)
|
// "55: Hylia Laboratory" (Lakeside Laboratory)
|
||||||
{ "55:" GFXP_KATAKANA "ハイリア" GFXP_HIRAGANA " ケンキュウジョ", Select_LoadGame, 0x0043 },
|
{ "55:" GFXP_KATAKANA "ハイリア" GFXP_HIRAGANA " ケンキュウジョ", Select_LoadGame, ENTR_HYLIA_LABO_0 },
|
||||||
// "56: Tent" (Carpenters' Tent)
|
// "56: Tent" (Carpenters' Tent)
|
||||||
{ "56:" GFXP_KATAKANA "テント", Select_LoadGame, 0x03A0 },
|
{ "56:" GFXP_KATAKANA "テント", Select_LoadGame, ENTR_TENT_0 },
|
||||||
// "57: Shield Shop" (Bazaar)
|
// "57: Shield Shop" (Bazaar)
|
||||||
{ "57:" GFXP_HIRAGANA "タテノミセ", Select_LoadGame, 0x00B7 },
|
{ "57:" GFXP_HIRAGANA "タテノミセ", Select_LoadGame, ENTR_SHOP1_0 },
|
||||||
// "58: Kokiri Shop" (Kokiri Shop)
|
// "58: Kokiri Shop" (Kokiri Shop)
|
||||||
{ "58:" GFXP_HIRAGANA "コキリゾクノミセ", Select_LoadGame, 0x00C1 },
|
{ "58:" GFXP_HIRAGANA "コキリゾクノミセ", Select_LoadGame, ENTR_KOKIRI_SHOP_0 },
|
||||||
// "59: Goron Shop" (Goron Shop)
|
// "59: Goron Shop" (Goron Shop)
|
||||||
{ "59:" GFXP_KATAKANA "ゴロン" GFXP_HIRAGANA "ノミセ", Select_LoadGame, 0x037C },
|
{ "59:" GFXP_KATAKANA "ゴロン" GFXP_HIRAGANA "ノミセ", Select_LoadGame, ENTR_GOLON_0 },
|
||||||
// "60: Zora Shop" (Zora Shop)
|
// "60: Zora Shop" (Zora Shop)
|
||||||
{ "60:" GFXP_KATAKANA "ゾーラ" GFXP_HIRAGANA "ノミセ", Select_LoadGame, 0x0380 },
|
{ "60:" GFXP_KATAKANA "ゾーラ" GFXP_HIRAGANA "ノミセ", Select_LoadGame, ENTR_ZOORA_0 },
|
||||||
// "61: Kakariko Village - Potion Shop" (Kakariko Potion Shop)
|
// "61: Kakariko Village - Potion Shop" (Kakariko Potion Shop)
|
||||||
{ "61:" GFXP_KATAKANA "カカリコ" GFXP_HIRAGANA "ムラ クスリヤ", Select_LoadGame, 0x0384 },
|
{ "61:" GFXP_KATAKANA "カカリコ" GFXP_HIRAGANA "ムラ クスリヤ", Select_LoadGame, ENTR_DRAG_0 },
|
||||||
// "62: Castle Town - Potion Shop" (Market Potion Shop)
|
// "62: Castle Town - Potion Shop" (Market Potion Shop)
|
||||||
{ "62:" GFXP_HIRAGANA "ジョウカマチ クスリヤ", Select_LoadGame, 0x0388 },
|
{ "62:" GFXP_HIRAGANA "ジョウカマチ クスリヤ", Select_LoadGame, ENTR_ALLEY_SHOP_0 },
|
||||||
// "63: Back Alley - Night Shop" (Bombchu Shop)
|
// "63: Back Alley - Night Shop" (Bombchu Shop)
|
||||||
{ "63:" GFXP_HIRAGANA "ウラロジ ヨルノミセ", Select_LoadGame, 0x0390 },
|
{ "63:" GFXP_HIRAGANA "ウラロジ ヨルノミセ", Select_LoadGame, ENTR_NIGHT_SHOP_0 },
|
||||||
// "64: Mask Shop" (Happy Mask Shop)
|
// "64: Mask Shop" (Happy Mask Shop)
|
||||||
{ "64:" GFXP_HIRAGANA "オメンヤ", Select_LoadGame, 0x0530 },
|
{ "64:" GFXP_HIRAGANA "オメンヤ", Select_LoadGame, ENTR_FACE_SHOP_0 },
|
||||||
// "65: Gerudo Training Area" (Gerudo Training Ground)
|
// "65: Gerudo Training Area" (Gerudo Training Ground)
|
||||||
{ "65:" GFXP_KATAKANA "ゲルド" GFXP_HIRAGANA "ノシュウレンジョウ", Select_LoadGame, 0x0008 },
|
{ "65:" GFXP_KATAKANA "ゲルド" GFXP_HIRAGANA "ノシュウレンジョウ", Select_LoadGame, ENTR_MEN_0 },
|
||||||
// "66: Fairy Tree Dungeon" (Inside the Deku Tree)
|
// "66: Fairy Tree Dungeon" (Inside the Deku Tree)
|
||||||
{ "66:" GFXP_HIRAGANA "ヨウセイノキノ " GFXP_KATAKANA "ダンジョン", Select_LoadGame, 0x0000 },
|
{ "66:" GFXP_HIRAGANA "ヨウセイノキノ " GFXP_KATAKANA "ダンジョン", Select_LoadGame, ENTR_YDAN_0 },
|
||||||
// "67: Fairy Tree Dungeon - Boss" (Gohma's Lair)
|
// "67: Fairy Tree Dungeon - Boss" (Gohma's Lair)
|
||||||
{ "67:" GFXP_HIRAGANA "ヨウセイノキノ " GFXP_KATAKANA "ダンジョン ボス", Select_LoadGame, 0x040F },
|
{ "67:" GFXP_HIRAGANA "ヨウセイノキノ " GFXP_KATAKANA "ダンジョン ボス", Select_LoadGame, ENTR_YDAN_BOSS_0 },
|
||||||
// "68: Dondogo Dungeon" (Dodongo's Cavern)
|
// "68: Dondogo Dungeon" (Dodongo's Cavern)
|
||||||
{ "68:" GFXP_KATAKANA "ドドンゴ ダンジョン", Select_LoadGame, 0x0004 },
|
{ "68:" GFXP_KATAKANA "ドドンゴ ダンジョン", Select_LoadGame, ENTR_DDAN_0 },
|
||||||
// "69: Dondogo Dungeon - Boss" (King Dodongo's Lair)
|
// "69: Dondogo Dungeon - Boss" (King Dodongo's Lair)
|
||||||
{ "69:" GFXP_KATAKANA "ドドンゴ ダンジョン ボス", Select_LoadGame, 0x040B },
|
{ "69:" GFXP_KATAKANA "ドドンゴ ダンジョン ボス", Select_LoadGame, ENTR_DDAN_BOSS_0 },
|
||||||
// "70: Giant Fish Dungeon" (Inside Jabu-Jabu's Belly)
|
// "70: Giant Fish Dungeon" (Inside Jabu-Jabu's Belly)
|
||||||
{ "70:" GFXP_HIRAGANA "キョダイギョ " GFXP_KATAKANA "ダンジョン", Select_LoadGame, 0x0028 },
|
{ "70:" GFXP_HIRAGANA "キョダイギョ " GFXP_KATAKANA "ダンジョン", Select_LoadGame, ENTR_BDAN_0 },
|
||||||
// "71: Giant Fish Dungeon - Boss" (Barinade's Lair)
|
// "71: Giant Fish Dungeon - Boss" (Barinade's Lair)
|
||||||
{ "71:" GFXP_HIRAGANA "キョダイギョ " GFXP_KATAKANA "ダンジョン ボス", Select_LoadGame, 0x0301 },
|
{ "71:" GFXP_HIRAGANA "キョダイギョ " GFXP_KATAKANA "ダンジョン ボス", Select_LoadGame, ENTR_BDAN_BOSS_0 },
|
||||||
// "72: Forest Temple" (Forest Temple)
|
// "72: Forest Temple" (Forest Temple)
|
||||||
{ "72:" GFXP_HIRAGANA "モリノシンデン", Select_LoadGame, 0x0169 },
|
{ "72:" GFXP_HIRAGANA "モリノシンデン", Select_LoadGame, ENTR_BMORI1_0 },
|
||||||
// "73: Forest Temple - Boss" (Phantom Ganon's Lair)
|
// "73: Forest Temple - Boss" (Phantom Ganon's Lair)
|
||||||
{ "73:" GFXP_HIRAGANA "モリノシンデン " GFXP_KATAKANA "ボス", Select_LoadGame, 0x000C },
|
{ "73:" GFXP_HIRAGANA "モリノシンデン " GFXP_KATAKANA "ボス", Select_LoadGame, ENTR_MORIBOSSROOM_0 },
|
||||||
// "74: Dungeon Below the Well" (Bottom of the Well)
|
// "74: Dungeon Below the Well" (Bottom of the Well)
|
||||||
{ "74:" GFXP_HIRAGANA "イドシタ " GFXP_KATAKANA "ダンジョン", Select_LoadGame, 0x0098 },
|
{ "74:" GFXP_HIRAGANA "イドシタ " GFXP_KATAKANA "ダンジョン", Select_LoadGame, ENTR_HAKADANCH_0 },
|
||||||
// "75: Dungeon Beneath the Graves" (Shadow Temple)
|
// "75: Dungeon Beneath the Graves" (Shadow Temple)
|
||||||
{ "75:" GFXP_HIRAGANA "ハカシタ " GFXP_KATAKANA "ダンジョン", Select_LoadGame, 0x0037 },
|
{ "75:" GFXP_HIRAGANA "ハカシタ " GFXP_KATAKANA "ダンジョン", Select_LoadGame, ENTR_HAKADAN_0 },
|
||||||
// "76: Dungeon Beneath the Graves - Boss" (Bongo Bongo's Lair)
|
// "76: Dungeon Beneath the Graves - Boss" (Bongo Bongo's Lair)
|
||||||
{ "76:" GFXP_HIRAGANA "ハカシタ " GFXP_KATAKANA "ダンジョン ボス", Select_LoadGame, 0x0413 },
|
{ "76:" GFXP_HIRAGANA "ハカシタ " GFXP_KATAKANA "ダンジョン ボス", Select_LoadGame, ENTR_HAKADAN_BS_0 },
|
||||||
// "77: Fire Temple" (Fire Temple)
|
// "77: Fire Temple" (Fire Temple)
|
||||||
{ "77:" GFXP_HIRAGANA "ヒノシンデン", Select_LoadGame, 0x0165 },
|
{ "77:" GFXP_HIRAGANA "ヒノシンデン", Select_LoadGame, ENTR_HIDAN_0 },
|
||||||
// "78: Fire Temple - Boss" (Volvagia's Lair)
|
// "78: Fire Temple - Boss" (Volvagia's Lair)
|
||||||
{ "78:" GFXP_HIRAGANA "ヒノシンデン " GFXP_KATAKANA "ボス", Select_LoadGame, 0x0305 },
|
{ "78:" GFXP_HIRAGANA "ヒノシンデン " GFXP_KATAKANA "ボス", Select_LoadGame, ENTR_FIRE_BS_0 },
|
||||||
// "79: Water Temple" (Water Temple)
|
// "79: Water Temple" (Water Temple)
|
||||||
{ "79:" GFXP_HIRAGANA "ミズノシンデン", Select_LoadGame, 0x0010 },
|
{ "79:" GFXP_HIRAGANA "ミズノシンデン", Select_LoadGame, ENTR_MIZUSIN_0 },
|
||||||
// "80: Water Temple - Boss" (Morpha's Lair)
|
// "80: Water Temple - Boss" (Morpha's Lair)
|
||||||
{ "80:" GFXP_HIRAGANA "ミズノシンデン " GFXP_KATAKANA "ボス", Select_LoadGame, 0x0417 },
|
{ "80:" GFXP_HIRAGANA "ミズノシンデン " GFXP_KATAKANA "ボス", Select_LoadGame, ENTR_MIZUSIN_BS_0 },
|
||||||
// "81: Evil Goddess Statue Dungeon" (Spirit Temple)
|
// "81: Evil Goddess Statue Dungeon" (Spirit Temple)
|
||||||
{ "81:" GFXP_HIRAGANA "ジャシンゾウ " GFXP_KATAKANA "ダンジョン", Select_LoadGame, 0x0082 },
|
{ "81:" GFXP_HIRAGANA "ジャシンゾウ " GFXP_KATAKANA "ダンジョン", Select_LoadGame, ENTR_JYASINZOU_0 },
|
||||||
// "82: Evil Goddess Statue Dungeon - Iron Knuckle" (Iron Knuckle's Lair)
|
// "82: Evil Goddess Statue Dungeon - Iron Knuckle" (Iron Knuckle's Lair)
|
||||||
{ "82:" GFXP_HIRAGANA "ジャシンゾウ " GFXP_KATAKANA "ダンジョン アイアンナック", Select_LoadGame, 0x008D },
|
{ "82:" GFXP_HIRAGANA "ジャシンゾウ " GFXP_KATAKANA "ダンジョン アイアンナック", Select_LoadGame, ENTR_JYASINBOSS_0 },
|
||||||
// "83: Evil Goddess Statue Dungeon - Boss" (Twinrova's Lair)
|
// "83: Evil Goddess Statue Dungeon - Boss" (Twinrova's Lair)
|
||||||
{ "83:" GFXP_HIRAGANA "ジャシンゾウ " GFXP_KATAKANA "ダンジョン ボス", Select_LoadGame, 0x05EC },
|
{ "83:" GFXP_HIRAGANA "ジャシンゾウ " GFXP_KATAKANA "ダンジョン ボス", Select_LoadGame, ENTR_JYASINBOSS_2 },
|
||||||
// "84: Ganon's Tower" (Ganon's Tower)
|
// "84: Ganon's Tower" (Ganon's Tower)
|
||||||
{ "84:" GFXP_KATAKANA "ガノン" GFXP_HIRAGANA "ノトウ", Select_LoadGame, 0x041B },
|
{ "84:" GFXP_KATAKANA "ガノン" GFXP_HIRAGANA "ノトウ", Select_LoadGame, ENTR_GANON_0 },
|
||||||
// "85: Ganon's Tower - Boss" (Ganondorf's Lair)
|
// "85: Ganon's Tower - Boss" (Ganondorf's Lair)
|
||||||
{ "85:" GFXP_KATAKANA "ガノン" GFXP_HIRAGANA "ノトウ" GFXP_KATAKANA "ボス", Select_LoadGame, 0x041F },
|
{ "85:" GFXP_KATAKANA "ガノン" GFXP_HIRAGANA "ノトウ" GFXP_KATAKANA "ボス", Select_LoadGame, ENTR_GANON_BOSS_0 },
|
||||||
// "86: Ice Cavern" (Ice Cavern)
|
// "86: Ice Cavern" (Ice Cavern)
|
||||||
{ "86:" GFXP_HIRAGANA "コオリノドウクツ", Select_LoadGame, 0x0088 },
|
{ "86:" GFXP_HIRAGANA "コオリノドウクツ", Select_LoadGame, ENTR_ICE_DOUKUTO_0 },
|
||||||
// "87: Relay Beneath the Graves" (Dampé's Grave)
|
// "87: Relay Beneath the Graves" (Dampé's Grave)
|
||||||
{ "87:" GFXP_HIRAGANA "ハカシタ" GFXP_KATAKANA "リレー", Select_LoadGame, 0x044F },
|
{ "87:" GFXP_HIRAGANA "ハカシタ" GFXP_KATAKANA "リレー", Select_LoadGame, ENTR_HAKASITARELAY_0 },
|
||||||
// "88: Ganon's Basement Dungeon" (Inside Ganon's Castle)
|
// "88: Ganon's Basement Dungeon" (Inside Ganon's Castle)
|
||||||
{ "88:" GFXP_KATAKANA "ガノン" GFXP_HIRAGANA "チカ " GFXP_KATAKANA "ダンジョン", Select_LoadGame, 0x0467 },
|
{ "88:" GFXP_KATAKANA "ガノン" GFXP_HIRAGANA "チカ " GFXP_KATAKANA "ダンジョン", Select_LoadGame, ENTR_GANONTIKA_0 },
|
||||||
// "89: Final Battle With Ganon - Cutscene & Battle" (Ganondorf's Death Scene & Tower Escape Exterior)
|
// "89: Final Battle With Ganon - Cutscene & Battle" (Ganondorf's Death Scene & Tower Escape Exterior)
|
||||||
{ "89:" GFXP_KATAKANA "ガノン" GFXP_HIRAGANA "サイシュウセン " GFXP_KATAKANA "デモ & バトル", Select_LoadGame, 0x0517 },
|
{ "89:" GFXP_KATAKANA "ガノン" GFXP_HIRAGANA "サイシュウセン " GFXP_KATAKANA "デモ & バトル", Select_LoadGame,
|
||||||
|
ENTR_GANON_DEMO_0 },
|
||||||
// "90: Ganon's Tower Aftermath 1" (Escaping Ganon's Tower 1)
|
// "90: Ganon's Tower Aftermath 1" (Escaping Ganon's Tower 1)
|
||||||
{ "90:" GFXP_KATAKANA "ガノン" GFXP_HIRAGANA "ノトウ ソノゴ 1", Select_LoadGame, 0x0179 },
|
{ "90:" GFXP_KATAKANA "ガノン" GFXP_HIRAGANA "ノトウ ソノゴ 1", Select_LoadGame, ENTR_GANON_SONOGO_0 },
|
||||||
// "91: Ganon's Tower Aftermath 2" (Escaping Ganon's Tower 2)
|
// "91: Ganon's Tower Aftermath 2" (Escaping Ganon's Tower 2)
|
||||||
{ "91:" GFXP_KATAKANA "ガノン" GFXP_HIRAGANA "ノトウ ソノゴ 2", Select_LoadGame, 0x01B5 },
|
{ "91:" GFXP_KATAKANA "ガノン" GFXP_HIRAGANA "ノトウ ソノゴ 2", Select_LoadGame, ENTR_GANON_SONOGO_2 },
|
||||||
// "92: Ganon's Tower Aftermath 3" (Escaping Ganon's Tower 3)
|
// "92: Ganon's Tower Aftermath 3" (Escaping Ganon's Tower 3)
|
||||||
{ "92:" GFXP_KATAKANA "ガノン" GFXP_HIRAGANA "ノトウ ソノゴ 3", Select_LoadGame, 0x03DC },
|
{ "92:" GFXP_KATAKANA "ガノン" GFXP_HIRAGANA "ノトウ ソノゴ 3", Select_LoadGame, ENTR_GANON_SONOGO_4 },
|
||||||
// "93: Ganon's Tower Aftermath 4" (Escaping Ganon's Tower 4)
|
// "93: Ganon's Tower Aftermath 4" (Escaping Ganon's Tower 4)
|
||||||
{ "93:" GFXP_KATAKANA "ガノン" GFXP_HIRAGANA "ノトウ ソノゴ 4", Select_LoadGame, 0x03E4 },
|
{ "93:" GFXP_KATAKANA "ガノン" GFXP_HIRAGANA "ノトウ ソノゴ 4", Select_LoadGame, ENTR_GANON_SONOGO_6 },
|
||||||
// "94: Ganon's Basement Aftermath" (Escaping Ganon's Castle)
|
// "94: Ganon's Basement Aftermath" (Escaping Ganon's Castle)
|
||||||
{ "94:" GFXP_KATAKANA "ガノン" GFXP_HIRAGANA "チカ ソノゴ", Select_LoadGame, 0x056C },
|
{ "94:" GFXP_KATAKANA "ガノン" GFXP_HIRAGANA "チカ ソノゴ", Select_LoadGame, ENTR_GANONTIKA_SONOGO_0 },
|
||||||
// "95: Gerudo Passage 1-2" (Thieves' Hideout 1)
|
// "95: Gerudo Passage 1-2" (Thieves' Hideout 1)
|
||||||
{ "95:" GFXP_KATAKANA "ゲルド" GFXP_HIRAGANA "ツウロ 1-2", Select_LoadGame, 0x0486 },
|
{ "95:" GFXP_KATAKANA "ゲルド" GFXP_HIRAGANA "ツウロ 1-2", Select_LoadGame, ENTR_GERUDOWAY_0 },
|
||||||
// "96: Gerudo Passage 3-4 9-10" (Thieves' Hideout 2)
|
// "96: Gerudo Passage 3-4 9-10" (Thieves' Hideout 2)
|
||||||
{ "96:" GFXP_KATAKANA "ゲルド" GFXP_HIRAGANA "ツウロ 3-4 9-10", Select_LoadGame, 0x048E },
|
{ "96:" GFXP_KATAKANA "ゲルド" GFXP_HIRAGANA "ツウロ 3-4 9-10", Select_LoadGame, ENTR_GERUDOWAY_2 },
|
||||||
// "97: Gerudo Passage 5-6" (Thieves' Hideout 3)
|
// "97: Gerudo Passage 5-6" (Thieves' Hideout 3)
|
||||||
{ "97:" GFXP_KATAKANA "ゲルド" GFXP_HIRAGANA "ツウロ 5-6", Select_LoadGame, 0x0496 },
|
{ "97:" GFXP_KATAKANA "ゲルド" GFXP_HIRAGANA "ツウロ 5-6", Select_LoadGame, ENTR_GERUDOWAY_4 },
|
||||||
// "98: Gerudo Passage 7-8" (Thieves' Hideout 4)
|
// "98: Gerudo Passage 7-8" (Thieves' Hideout 4)
|
||||||
{ "98:" GFXP_KATAKANA "ゲルド" GFXP_HIRAGANA "ツウロ 7-8", Select_LoadGame, 0x049E },
|
{ "98:" GFXP_KATAKANA "ゲルド" GFXP_HIRAGANA "ツウロ 7-8", Select_LoadGame, ENTR_GERUDOWAY_6 },
|
||||||
// "99: Gerudo Passage 11-12" (Thieves' Hideout 5)
|
// "99: Gerudo Passage 11-12" (Thieves' Hideout 5)
|
||||||
{ "99:" GFXP_KATAKANA "ゲルド" GFXP_HIRAGANA "ツウロ 11-12", Select_LoadGame, 0x04AE },
|
{ "99:" GFXP_KATAKANA "ゲルド" GFXP_HIRAGANA "ツウロ 11-12", Select_LoadGame, ENTR_GERUDOWAY_10 },
|
||||||
// "100: Gerudo Passage 13" (Thieves' Hideout 6)
|
// "100: Gerudo Passage 13" (Thieves' Hideout 6)
|
||||||
{ "100:" GFXP_KATAKANA "ゲルド" GFXP_HIRAGANA "ツウロ 13", Select_LoadGame, 0x0570 },
|
{ "100:" GFXP_KATAKANA "ゲルド" GFXP_HIRAGANA "ツウロ 13", Select_LoadGame, ENTR_GERUDOWAY_12 },
|
||||||
// "101: Hidden Dive Hole 0" (Grotto 0 - Gossip Stone & Chest)
|
// "101: Hidden Dive Hole 0" (Grotto 0 - Gossip Stone & Chest)
|
||||||
{ "101:" GFXP_HIRAGANA "カクシトビコミアナ 0", Select_LoadGame, 0x003F },
|
{ "101:" GFXP_HIRAGANA "カクシトビコミアナ 0", Select_LoadGame, ENTR_KAKUSIANA_0 },
|
||||||
// "102: Hidden Dive Hole 1" (Grotto 1 - Skulltula & Gold Skulltula)
|
// "102: Hidden Dive Hole 1" (Grotto 1 - Skulltula & Gold Skulltula)
|
||||||
{ "102:" GFXP_HIRAGANA "カクシトビコミアナ 1", Select_LoadGame, 0x0598 },
|
{ "102:" GFXP_HIRAGANA "カクシトビコミアナ 1", Select_LoadGame, ENTR_KAKUSIANA_1 },
|
||||||
// "103: Hidden Dive Hole 2" (Grotto 2 - Business Scrub & Heart Piece)
|
// "103: Hidden Dive Hole 2" (Grotto 2 - Business Scrub & Heart Piece)
|
||||||
{ "103:" GFXP_HIRAGANA "カクシトビコミアナ 2", Select_LoadGame, 0x059C },
|
{ "103:" GFXP_HIRAGANA "カクシトビコミアナ 2", Select_LoadGame, ENTR_KAKUSIANA_2 },
|
||||||
// "104: Hidden Dive Hole 3" (Grotto 3 - Redeads)
|
// "104: Hidden Dive Hole 3" (Grotto 3 - Redeads)
|
||||||
{ "104:" GFXP_HIRAGANA "カクシトビコミアナ 3", Select_LoadGame, 0x05A0 },
|
{ "104:" GFXP_HIRAGANA "カクシトビコミアナ 3", Select_LoadGame, ENTR_KAKUSIANA_3 },
|
||||||
// "105: Hidden Dive Hole 4" (Grotto 4 - 3 Business Scrubs)
|
// "105: Hidden Dive Hole 4" (Grotto 4 - 3 Business Scrubs)
|
||||||
{ "105:" GFXP_HIRAGANA "カクシトビコミアナ 4", Select_LoadGame, 0x05A4 },
|
{ "105:" GFXP_HIRAGANA "カクシトビコミアナ 4", Select_LoadGame, ENTR_KAKUSIANA_4 },
|
||||||
// "106: Hidden Dive Hole 5" (Grotto 5 - Gossip Stone, Skulltula, Cow)
|
// "106: Hidden Dive Hole 5" (Grotto 5 - Gossip Stone, Skulltula, Cow)
|
||||||
{ "106:" GFXP_HIRAGANA "カクシトビコミアナ 5", Select_LoadGame, 0x05A8 },
|
{ "106:" GFXP_HIRAGANA "カクシトビコミアナ 5", Select_LoadGame, ENTR_KAKUSIANA_5 },
|
||||||
// "107: Hidden Dive Hole 6" (Grotto 6 - Octorok)
|
// "107: Hidden Dive Hole 6" (Grotto 6 - Octorok)
|
||||||
{ "107:" GFXP_HIRAGANA "カクシトビコミアナ 6", Select_LoadGame, 0x05AC },
|
{ "107:" GFXP_HIRAGANA "カクシトビコミアナ 6", Select_LoadGame, ENTR_KAKUSIANA_6 },
|
||||||
// "108: Hidden Dive Hole 7" (Grotto 7 - Business Scrub & Deku Nut Upgrade)
|
// "108: Hidden Dive Hole 7" (Grotto 7 - Business Scrub & Deku Nut Upgrade)
|
||||||
{ "108:" GFXP_HIRAGANA "カクシトビコミアナ 7", Select_LoadGame, 0x05B0 },
|
{ "108:" GFXP_HIRAGANA "カクシトビコミアナ 7", Select_LoadGame, ENTR_KAKUSIANA_7 },
|
||||||
// "109: Hidden Dive Hole 8" (Grotto 8 - 2 Wolfos)
|
// "109: Hidden Dive Hole 8" (Grotto 8 - 2 Wolfos)
|
||||||
{ "109:" GFXP_HIRAGANA "カクシトビコミアナ 8", Select_LoadGame, 0x05B4 },
|
{ "109:" GFXP_HIRAGANA "カクシトビコミアナ 8", Select_LoadGame, ENTR_KAKUSIANA_8 },
|
||||||
// "110: Hidden Dive Hole 9" (Grotto 9 - Bombable Walls)
|
// "110: Hidden Dive Hole 9" (Grotto 9 - Bombable Walls)
|
||||||
{ "110:" GFXP_HIRAGANA "カクシトビコミアナ 9", Select_LoadGame, 0x05B8 },
|
{ "110:" GFXP_HIRAGANA "カクシトビコミアナ 9", Select_LoadGame, ENTR_KAKUSIANA_9 },
|
||||||
// "111: Hidden Dive Hole 10" (Grotto 10 - 2 Business Scrubs)
|
// "111: Hidden Dive Hole 10" (Grotto 10 - 2 Business Scrubs)
|
||||||
{ "111:" GFXP_HIRAGANA "カクシトビコミアナ 10", Select_LoadGame, 0x05BC },
|
{ "111:" GFXP_HIRAGANA "カクシトビコミアナ 10", Select_LoadGame, ENTR_KAKUSIANA_10 },
|
||||||
// "112: Hidden Dive Hole 11" (Grotto 11 - Tektite & Heart Piece)
|
// "112: Hidden Dive Hole 11" (Grotto 11 - Tektite & Heart Piece)
|
||||||
{ "112:" GFXP_HIRAGANA "カクシトビコミアナ 11", Select_LoadGame, 0x05C0 },
|
{ "112:" GFXP_HIRAGANA "カクシトビコミアナ 11", Select_LoadGame, ENTR_KAKUSIANA_11 },
|
||||||
// "113: Hidden Dive Hole 12" (Grotto 12 - Deku Stage)
|
// "113: Hidden Dive Hole 12" (Grotto 12 - Deku Stage)
|
||||||
{ "113:" GFXP_HIRAGANA "カクシトビコミアナ 12", Select_LoadGame, 0x05C4 },
|
{ "113:" GFXP_HIRAGANA "カクシトビコミアナ 12", Select_LoadGame, ENTR_KAKUSIANA_12 },
|
||||||
// "114: Hidden Dive Hole 13" (Grotto 13 - Rupees & Cow)
|
// "114: Hidden Dive Hole 13" (Grotto 13 - Rupees & Cow)
|
||||||
{ "114:" GFXP_HIRAGANA "カクシトビコミアナ 13", Select_LoadGame, 0x05FC },
|
{ "114:" GFXP_HIRAGANA "カクシトビコミアナ 13", Select_LoadGame, ENTR_KAKUSIANA_13 },
|
||||||
// "115: Hyrule Cutscenes" (Cutscene Map)
|
// "115: Hyrule Cutscenes" (Cutscene Map)
|
||||||
{ "115:" GFXP_KATAKANA "ハイラル デモ", Select_LoadGame, 0x00A0 },
|
{ "115:" GFXP_KATAKANA "ハイラル デモ", Select_LoadGame, ENTR_HIRAL_DEMO_0 },
|
||||||
// "116: Special Room (Treasure Chest Warp)" (Ganondorf Test Room)
|
// "116: Special Room (Treasure Chest Warp)" (Ganondorf Test Room)
|
||||||
{ "116:" GFXP_HIRAGANA "ベッシツ (タカラバコ" GFXP_KATAKANA "ワープ)", Select_LoadGame, 0x0520 },
|
{ "116:" GFXP_HIRAGANA "ベッシツ (タカラバコ" GFXP_KATAKANA "ワープ)", Select_LoadGame, ENTR_BESITU_0 },
|
||||||
// "117: Sasaki Test" (Sasa Test)
|
// "117: Sasaki Test" (Sasa Test)
|
||||||
{ "117:" GFXP_HIRAGANA "ササ" GFXP_KATAKANA "テスト", Select_LoadGame, 0x0018 },
|
{ "117:" GFXP_HIRAGANA "ササ" GFXP_KATAKANA "テスト", Select_LoadGame, ENTR_SASATEST_0 },
|
||||||
// "118: Test Map" (Jungle Gym)
|
// "118: Test Map" (Jungle Gym)
|
||||||
{ "118:" GFXP_KATAKANA "テストマップ", Select_LoadGame, 0x0094 },
|
{ "118:" GFXP_KATAKANA "テストマップ", Select_LoadGame, ENTR_TEST01_0 },
|
||||||
// "119: Test Room" (Treasure Chest Room)
|
// "119: Test Room" (Treasure Chest Room)
|
||||||
{ "119:" GFXP_KATAKANA "テストルーム", Select_LoadGame, 0x0024 },
|
{ "119:" GFXP_KATAKANA "テストルーム", Select_LoadGame, ENTR_TESTROOM_0 },
|
||||||
// "120: Stalfos Miniboss Room" (Stalfos Miniboss Room)
|
// "120: Stalfos Miniboss Room" (Stalfos Miniboss Room)
|
||||||
{ "120:" GFXP_HIRAGANA "チュウ" GFXP_KATAKANA "スタロフォス" GFXP_HIRAGANA "ベヤ", Select_LoadGame, 0x001C },
|
{ "120:" GFXP_HIRAGANA "チュウ" GFXP_KATAKANA "スタロフォス" GFXP_HIRAGANA "ベヤ", Select_LoadGame, ENTR_SYOTES_0 },
|
||||||
// "121: Boss Stalfos Room" (Stalfos Boss Room)
|
// "121: Boss Stalfos Room" (Stalfos Boss Room)
|
||||||
{ "121:" GFXP_KATAKANA "ボススタロフォス" GFXP_HIRAGANA "ベヤ", Select_LoadGame, 0x0020 },
|
{ "121:" GFXP_KATAKANA "ボススタロフォス" GFXP_HIRAGANA "ベヤ", Select_LoadGame, ENTR_SYOTES2_0 },
|
||||||
// "122: Stal" (Sutaru)
|
// "122: Stal" (Sutaru)
|
||||||
{ "122:Sutaru", Select_LoadGame, 0x0047 },
|
{ "122:Sutaru", Select_LoadGame, ENTR_SUTARU_0 },
|
||||||
// "123: Test Area" (Shooting Gallery)
|
// "123: Test Area" (Shooting Gallery)
|
||||||
{ "123:jikkenjyou", Select_LoadGame, 0x02EA },
|
{ "123:jikkenjyou", Select_LoadGame, ENTR_TEST_SYATEKIJYOU_0 },
|
||||||
// "124: Depth Test" (Depth Test)
|
// "124: Depth Test" (Depth Test)
|
||||||
{ "124:depth" GFXP_KATAKANA "テスト", Select_LoadGame, 0x00B6 },
|
{ "124:depth" GFXP_KATAKANA "テスト", Select_LoadGame, ENTR_DEPTH_TEST_0 },
|
||||||
// "125: Hyrule Garden Game 2" (Early Hyrule Garden Game)
|
// "125: Hyrule Garden Game 2" (Early Hyrule Garden Game)
|
||||||
{ "125:" GFXP_KATAKANA "ハイラル" GFXP_HIRAGANA "ニワ" GFXP_KATAKANA "ゲーム2", Select_LoadGame, 0x0076 },
|
{ "125:" GFXP_KATAKANA "ハイラル" GFXP_HIRAGANA "ニワ" GFXP_KATAKANA "ゲーム2", Select_LoadGame, ENTR_HAIRAL_NIWA2_0 },
|
||||||
// "title" (Title Screen)
|
// "title" (Title Screen)
|
||||||
{ "title", (void*)Select_LoadTitle, 0x0000 },
|
{ "title", (void*)Select_LoadTitle, 0 },
|
||||||
};
|
};
|
||||||
|
|
||||||
void Select_UpdateMenu(SelectContext* this) {
|
void Select_UpdateMenu(SelectContext* this) {
|
||||||
|
|
|
@ -3324,48 +3324,57 @@ void KaleidoScope_Update(GlobalContext* globalCtx) {
|
||||||
Gameplay_SaveSceneFlags(globalCtx);
|
Gameplay_SaveSceneFlags(globalCtx);
|
||||||
|
|
||||||
switch (gSaveContext.entranceIndex) {
|
switch (gSaveContext.entranceIndex) {
|
||||||
case 0x0000:
|
case ENTR_YDAN_0:
|
||||||
case 0x0004:
|
case ENTR_DDAN_0:
|
||||||
case 0x0028:
|
case ENTR_BDAN_0:
|
||||||
case 0x0169:
|
case ENTR_BMORI1_0:
|
||||||
case 0x0165:
|
case ENTR_HIDAN_0:
|
||||||
case 0x0010:
|
case ENTR_MIZUSIN_0:
|
||||||
case 0x0082:
|
case ENTR_JYASINZOU_0:
|
||||||
case 0x0037:
|
case ENTR_HAKADAN_0:
|
||||||
case 0x041B:
|
case ENTR_GANON_0:
|
||||||
case 0x0008:
|
case ENTR_MEN_0:
|
||||||
case 0x0088:
|
case ENTR_ICE_DOUKUTO_0:
|
||||||
case 0x0486:
|
case ENTR_GERUDOWAY_0:
|
||||||
case 0x0098:
|
case ENTR_HAKADANCH_0:
|
||||||
case 0x0467:
|
case ENTR_GANONTIKA_0:
|
||||||
case 0x0179:
|
case ENTR_GANON_SONOGO_0:
|
||||||
break;
|
break;
|
||||||
case 0x040F:
|
|
||||||
gSaveContext.entranceIndex = 0x0000;
|
case ENTR_YDAN_BOSS_0:
|
||||||
|
gSaveContext.entranceIndex = ENTR_YDAN_0;
|
||||||
break;
|
break;
|
||||||
case 0x040B:
|
|
||||||
gSaveContext.entranceIndex = 0x0004;
|
case ENTR_DDAN_BOSS_0:
|
||||||
|
gSaveContext.entranceIndex = ENTR_DDAN_0;
|
||||||
break;
|
break;
|
||||||
case 0x0301:
|
|
||||||
gSaveContext.entranceIndex = 0x0028;
|
case ENTR_BDAN_BOSS_0:
|
||||||
|
gSaveContext.entranceIndex = ENTR_BDAN_0;
|
||||||
break;
|
break;
|
||||||
case 0x000C:
|
|
||||||
gSaveContext.entranceIndex = 0x0169;
|
case ENTR_MORIBOSSROOM_0:
|
||||||
|
gSaveContext.entranceIndex = ENTR_BMORI1_0;
|
||||||
break;
|
break;
|
||||||
case 0x0305:
|
|
||||||
gSaveContext.entranceIndex = 0x0165;
|
case ENTR_FIRE_BS_0:
|
||||||
|
gSaveContext.entranceIndex = ENTR_HIDAN_0;
|
||||||
break;
|
break;
|
||||||
case 0x0417:
|
|
||||||
gSaveContext.entranceIndex = 0x0010;
|
case ENTR_MIZUSIN_BS_0:
|
||||||
|
gSaveContext.entranceIndex = ENTR_MIZUSIN_0;
|
||||||
break;
|
break;
|
||||||
case 0x008D:
|
|
||||||
gSaveContext.entranceIndex = 0x0082;
|
case ENTR_JYASINBOSS_0:
|
||||||
|
gSaveContext.entranceIndex = ENTR_JYASINZOU_0;
|
||||||
break;
|
break;
|
||||||
case 0x0413:
|
|
||||||
gSaveContext.entranceIndex = 0x0037;
|
case ENTR_HAKADAN_BS_0:
|
||||||
|
gSaveContext.entranceIndex = ENTR_HAKADAN_0;
|
||||||
break;
|
break;
|
||||||
case 0x041F:
|
|
||||||
gSaveContext.entranceIndex = 0x041B;
|
case ENTR_GANON_BOSS_0:
|
||||||
|
gSaveContext.entranceIndex = ENTR_GANON_0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Add table
Reference in a new issue