mirror of
https://github.com/zeldaret/oot.git
synced 2024-11-25 09:45:02 +00:00
Document ovl_select
(#966)
* Some renames * Some renames * Some more renames * pageDown * Last name update * Translate scene entries * formatter * Review * A bunch of suggestions * Run formatter * Roman's suggestions
This commit is contained in:
parent
4b10b22baa
commit
9b89ec5fac
7 changed files with 288 additions and 272 deletions
|
@ -847,25 +847,20 @@ typedef struct SelectContext {
|
|||
/* 0x01D0 */ s32 count;
|
||||
/* 0x01D4 */ SceneSelectEntry* scenes;
|
||||
/* 0x01D8 */ s32 currentScene;
|
||||
/* 0x01DC */ s32 unk_1DC;
|
||||
/* 0x01E0 */ s32 unk_1E0[7];
|
||||
/* 0x01FC */ s32 unk_1FC;
|
||||
/* 0x0200 */ s32 unk_200;
|
||||
/* 0x0204 */ s32 unk_204;
|
||||
/* 0x01DC */ s32 pageDownIndex; // Index of pageDownStops
|
||||
/* 0x01E0 */ s32 pageDownStops[7];
|
||||
/* 0x01FC */ char unk_1FC[0x0C];
|
||||
/* 0x0208 */ s32 opt;
|
||||
/* 0x020C */ s32 unk_20C;
|
||||
/* 0x0210 */ s32 unk_210;
|
||||
/* 0x0214 */ s32 unk_214;
|
||||
/* 0x0218 */ s32 unk_218;
|
||||
/* 0x021C */ s32 unk_21C;
|
||||
/* 0x0220 */ s32 unk_220;
|
||||
/* 0x0224 */ s32 unk_224;
|
||||
/* 0x0228 */ s32 unk_228;
|
||||
/* 0x022C */ s32 unk_22C;
|
||||
/* 0x0230 */ s32 unk_230;
|
||||
/* 0x0234 */ s32 unk_234;
|
||||
/* 0x020C */ s32 topDisplayedScene; // The scene which is currently at the top of the screen
|
||||
/* 0x0210 */ char unk_210[0x0C];
|
||||
/* 0x021C */ s32 verticalInputAccumulator;
|
||||
/* 0x0220 */ s32 verticalInput;
|
||||
/* 0x0224 */ s32 timerUp;
|
||||
/* 0x0228 */ s32 timerDown;
|
||||
/* 0x022C */ s32 lockUp;
|
||||
/* 0x0230 */ s32 lockDown;
|
||||
/* 0x0234 */ s32 unk_234; // unused
|
||||
/* 0x0238 */ u8* staticSegment;
|
||||
/* 0x023C */ s32 unk_23C;
|
||||
} SelectContext; // size = 0x240
|
||||
|
||||
typedef struct {
|
||||
|
|
|
@ -1293,8 +1293,9 @@ void DbCamera_Update(DbCamera* dbCamera, Camera* cam) {
|
|||
DbCamera_SetTextValue(dbCamera->sub.lookAt[dbCamera->sub.unkIdx].cameraRoll, &D_8012D084[10], 3);
|
||||
func_8006376C(0x10, 0x16, (dbCamera->sub.unk_0A == 2) ? 7 : 4, D_8012D084);
|
||||
func_8006376C(0xF, 0x17, (dbCamera->sub.unk_0A == 3) ? 7 : 4,
|
||||
(dbCamera->sub.mode == 1) ? D_8012CF14
|
||||
: (dbCamera->sub.mode == 0) ? *D_8012CF18 : D_8012CFB0);
|
||||
(dbCamera->sub.mode == 1) ? D_8012CF14
|
||||
: (dbCamera->sub.mode == 0) ? *D_8012CF18
|
||||
: D_8012CFB0);
|
||||
if (dbCamera->sub.unk_0C) {
|
||||
D_8012D05C[80] = '>';
|
||||
} else {
|
||||
|
@ -1319,9 +1320,9 @@ void DbCamera_Update(DbCamera* dbCamera, Camera* cam) {
|
|||
|
||||
if (dbCamera->sub.mode != 1) {
|
||||
func_8006376C(3, 0x16,
|
||||
((dbCamera->sub.unk_08 == 1) && (dbCamera->sub.unk_0A == 4) && !D_80161144)
|
||||
? 7
|
||||
: !D_80161144 ? 4 : 3,
|
||||
((dbCamera->sub.unk_08 == 1) && (dbCamera->sub.unk_0A == 4) && !D_80161144) ? 7
|
||||
: !D_80161144 ? 4
|
||||
: 3,
|
||||
D_8012CF30);
|
||||
sp110 = 'X';
|
||||
DbCamera_SetTextValue(dbCamera->at.x, &sp111, 6);
|
||||
|
@ -1332,10 +1333,11 @@ void DbCamera_Update(DbCamera* dbCamera, Camera* cam) {
|
|||
sp110 = 'Z';
|
||||
DbCamera_SetTextValue(dbCamera->at.z, &sp111, 6);
|
||||
func_8006376C(3, 0x19, 2, &sp110);
|
||||
func_8006376C(
|
||||
0x1E, 0x16,
|
||||
((dbCamera->sub.unk_08 == 1) && (dbCamera->sub.unk_0A == 4) && D_80161144) ? 7 : D_80161144 ? 4 : 3,
|
||||
D_8012CF34);
|
||||
func_8006376C(0x1E, 0x16,
|
||||
((dbCamera->sub.unk_08 == 1) && (dbCamera->sub.unk_0A == 4) && D_80161144) ? 7
|
||||
: D_80161144 ? 4
|
||||
: 3,
|
||||
D_8012CF34);
|
||||
sp110 = 'X';
|
||||
DbCamera_SetTextValue(dbCamera->eye.x, &sp111, 6);
|
||||
func_8006376C(0x1E, 0x17, 2, &sp110);
|
||||
|
@ -1350,9 +1352,9 @@ void DbCamera_Update(DbCamera* dbCamera, Camera* cam) {
|
|||
OLib_Vec3fDiffToVecSphGeo(&spFC, sp90, sp7C);
|
||||
spFC.yaw -= cam->playerPosRot.rot.y;
|
||||
func_8006376C(3, 0x16,
|
||||
((dbCamera->sub.unk_08 == 1) && (dbCamera->sub.unk_0A == 4) && !D_80161144)
|
||||
? 7
|
||||
: !D_80161144 ? 4 : 3,
|
||||
((dbCamera->sub.unk_08 == 1) && (dbCamera->sub.unk_0A == 4) && !D_80161144) ? 7
|
||||
: !D_80161144 ? 4
|
||||
: 3,
|
||||
D_8012CF30);
|
||||
DbCamera_SetTextValue(spFC.pitch * 0.00549325f, &D_8012D0E4[10], 4);
|
||||
func_8006376C(3, 0x17, 3, D_8012D0E4);
|
||||
|
@ -1362,10 +1364,11 @@ void DbCamera_Update(DbCamera* dbCamera, Camera* cam) {
|
|||
func_8006376C(3, 0x19, 3, D_8012D0D4);
|
||||
OLib_Vec3fDiffToVecSphGeo(&spFC, sp90, sp80);
|
||||
spFC.yaw -= cam->playerPosRot.rot.y;
|
||||
func_8006376C(
|
||||
0x1E, 0x16,
|
||||
((dbCamera->sub.unk_08 == 1) && (dbCamera->sub.unk_0A == 4) && D_80161144) ? 7 : D_80161144 ? 4 : 3,
|
||||
D_8012CF34);
|
||||
func_8006376C(0x1E, 0x16,
|
||||
((dbCamera->sub.unk_08 == 1) && (dbCamera->sub.unk_0A == 4) && D_80161144) ? 7
|
||||
: D_80161144 ? 4
|
||||
: 3,
|
||||
D_8012CF34);
|
||||
DbCamera_SetTextValue(spFC.pitch * 0.00549325f, &D_8012D0E4[10], 4);
|
||||
func_8006376C(0x1C, 0x17, 3, D_8012D0E4);
|
||||
DbCamera_SetTextValue(spFC.yaw * 0.00549325f, &D_8012D0F8[10], 4);
|
||||
|
|
|
@ -1690,9 +1690,9 @@ s32 Camera_Normal2(Camera* camera) {
|
|||
anim->unk_20 = BGCAM_ROT(bgData).x;
|
||||
anim->unk_22 = BGCAM_ROT(bgData).y;
|
||||
anim->unk_24 = playerPosRot->pos.y;
|
||||
anim->unk_1C = BGCAM_FOV(bgData) == -1
|
||||
? norm2->unk_14
|
||||
: BGCAM_FOV(bgData) >= 0x169 ? PCT(BGCAM_FOV(bgData)) : BGCAM_FOV(bgData);
|
||||
anim->unk_1C = BGCAM_FOV(bgData) == -1 ? norm2->unk_14
|
||||
: BGCAM_FOV(bgData) >= 0x169 ? PCT(BGCAM_FOV(bgData))
|
||||
: BGCAM_FOV(bgData);
|
||||
|
||||
anim->unk_28 = BGCAM_JFIFID(bgData) == -1 ? 0 : BGCAM_JFIFID(bgData);
|
||||
|
||||
|
@ -2920,7 +2920,9 @@ s32 Camera_Battle1(Camera* camera) {
|
|||
}
|
||||
anim->roll += (((OREG(36) * camera->speedRatio) * (1.0f - distRatio)) - anim->roll) * PCT(OREG(37));
|
||||
camera->roll = DEGF_TO_BINANG(anim->roll);
|
||||
camera->fov = Camera_LERPCeilF((player->swordState != 0 ? 0.8f : gSaveContext.health <= 0x10 ? 0.8f : 1.0f) *
|
||||
camera->fov = Camera_LERPCeilF((player->swordState != 0 ? 0.8f
|
||||
: gSaveContext.health <= 0x10 ? 0.8f
|
||||
: 1.0f) *
|
||||
(fov - ((fov * 0.05f) * distRatio)),
|
||||
camera->fov, camera->fovUpdateRate, 1.0f);
|
||||
}
|
||||
|
|
|
@ -151,19 +151,15 @@ void func_8006390C(Input* input) {
|
|||
gGameInfo->dpadLast = dpad;
|
||||
}
|
||||
|
||||
increment = CHECK_BTN_ANY(dpad, BTN_DRIGHT)
|
||||
? (CHECK_BTN_ALL(input->cur.button, BTN_A | BTN_B)
|
||||
? 1000
|
||||
: CHECK_BTN_ALL(input->cur.button, BTN_A)
|
||||
? 100
|
||||
: CHECK_BTN_ALL(input->cur.button, BTN_B) ? 10 : 1)
|
||||
: CHECK_BTN_ANY(dpad, BTN_DLEFT)
|
||||
? (CHECK_BTN_ALL(input->cur.button, BTN_A | BTN_B)
|
||||
? -1000
|
||||
: CHECK_BTN_ALL(input->cur.button, BTN_A)
|
||||
? -100
|
||||
: CHECK_BTN_ALL(input->cur.button, BTN_B) ? -10 : -1)
|
||||
: 0;
|
||||
increment = CHECK_BTN_ANY(dpad, BTN_DRIGHT) ? (CHECK_BTN_ALL(input->cur.button, BTN_A | BTN_B) ? 1000
|
||||
: CHECK_BTN_ALL(input->cur.button, BTN_A) ? 100
|
||||
: CHECK_BTN_ALL(input->cur.button, BTN_B) ? 10
|
||||
: 1)
|
||||
: CHECK_BTN_ANY(dpad, BTN_DLEFT) ? (CHECK_BTN_ALL(input->cur.button, BTN_A | BTN_B) ? -1000
|
||||
: CHECK_BTN_ALL(input->cur.button, BTN_A) ? -100
|
||||
: CHECK_BTN_ALL(input->cur.button, BTN_B) ? -10
|
||||
: -1)
|
||||
: 0;
|
||||
|
||||
gGameInfo->data[gGameInfo->regCur + regGroup] += increment;
|
||||
if (CHECK_BTN_ANY(dpad, BTN_DUP)) {
|
||||
|
|
|
@ -63,10 +63,10 @@ void MapMark_Init(GlobalContext* globalCtx) {
|
|||
Overlay_Load(overlay->vromStart, overlay->vromEnd, overlay->vramStart, overlay->vramEnd, overlay->loadedRamAddr);
|
||||
|
||||
sLoadedMarkDataTable = gMapMarkDataTable;
|
||||
sLoadedMarkDataTable = (void*)(u32)(
|
||||
(overlay->vramTable != NULL)
|
||||
? (void*)((u32)overlay->vramTable - (s32)((u32)overlay->vramStart - (u32)overlay->loadedRamAddr))
|
||||
: NULL);
|
||||
sLoadedMarkDataTable = (void*)(u32)((overlay->vramTable != NULL)
|
||||
? (void*)((u32)overlay->vramTable -
|
||||
(s32)((u32)overlay->vramStart - (u32)overlay->loadedRamAddr))
|
||||
: NULL);
|
||||
}
|
||||
|
||||
void MapMark_ClearPointers(GlobalContext* globalCtx) {
|
||||
|
|
|
@ -10089,9 +10089,9 @@ void Player_UpdateCommon(Player* this, GlobalContext* globalCtx, Input* input) {
|
|||
func_80837B9C(this, globalCtx);
|
||||
} else if ((this->actor.bgCheckFlags & 1) || (this->stateFlags1 & 0x8000000)) {
|
||||
func_80836448(globalCtx, this,
|
||||
func_808332B8(this)
|
||||
? &gPlayerAnim_003310
|
||||
: (this->shockTimer != 0) ? &gPlayerAnim_002F08 : &gPlayerAnim_002878);
|
||||
func_808332B8(this) ? &gPlayerAnim_003310
|
||||
: (this->shockTimer != 0) ? &gPlayerAnim_002F08
|
||||
: &gPlayerAnim_002878);
|
||||
}
|
||||
} else {
|
||||
if ((this->actor.parent == NULL) &&
|
||||
|
|
|
@ -43,144 +43,163 @@ void Select_LoadGame(SelectContext* this, s32 entranceIndex) {
|
|||
SET_NEXT_GAMESTATE(&this->state, Gameplay_Init, GlobalContext);
|
||||
}
|
||||
|
||||
// "Translation" ("Actual name")
|
||||
static SceneSelectEntry sScenes[] = {
|
||||
{ " 1:SPOT00", Select_LoadGame, 0x00CD },
|
||||
{ " 2:SPOT01", Select_LoadGame, 0x00DB },
|
||||
{ " 3:SPOT02", Select_LoadGame, 0x00E4 },
|
||||
{ " 4:SPOT03", Select_LoadGame, 0x00EA },
|
||||
{ " 5:SPOT04", Select_LoadGame, 0x00EE },
|
||||
{ " 6:SPOT05", Select_LoadGame, 0x00FC },
|
||||
{ " 7:SPOT06", Select_LoadGame, 0x0102 },
|
||||
{ " 8:SPOT07", Select_LoadGame, 0x0108 },
|
||||
{ " 9:SPOT08", Select_LoadGame, 0x010E },
|
||||
{ "10:SPOT09", Select_LoadGame, 0x0117 },
|
||||
{ "11:SPOT10", Select_LoadGame, 0x011E },
|
||||
{ "12:SPOT11", Select_LoadGame, 0x0123 },
|
||||
{ "13:SPOT12", Select_LoadGame, 0x0129 },
|
||||
{ "14:SPOT13", Select_LoadGame, 0x0130 },
|
||||
{ "15:SPOT15", Select_LoadGame, 0x0138 },
|
||||
{ "16:SPOT16", Select_LoadGame, 0x013D },
|
||||
{ "17:SPOT17", Select_LoadGame, 0x0147 },
|
||||
{ "18:SPOT18", Select_LoadGame, 0x014D },
|
||||
{ "19:SPOT20", Select_LoadGame, 0x0157 },
|
||||
{ "20:\x8Dトキノマ", Select_LoadGame, 0x0053 },
|
||||
{ "21:\x8Dケンジャノマ", Select_LoadGame, 0x006B },
|
||||
{ "22:\x8Dシャテキジョウ", Select_LoadGame, 0x003B },
|
||||
{ "23:\x8Cハイラル\x8Dニワ\x8Cゲーム", Select_LoadGame, 0x007A },
|
||||
{ "24:\x8Dハカシタトビコミアナ", Select_LoadGame, 0x031C },
|
||||
{ "25:\x8Dハカシタトビコミアナ 2", Select_LoadGame, 0x004B },
|
||||
{ "26:\x8Dオウケ ノ ハカアナ", Select_LoadGame, 0x002D },
|
||||
{ "27:\x8Dダイヨウセイノイズミ", Select_LoadGame, 0x0315 },
|
||||
{ "28:\x8Dトビコミ ヨウセイ アナ", Select_LoadGame, 0x036D },
|
||||
{ "29:\x8Dマホウセキ ヨウセイノイズミ", Select_LoadGame, 0x0371 },
|
||||
{ "30:\x8Cガノン\x8Dサイシュウセン", Select_LoadGame, 0x043F },
|
||||
{ "31:\x8Cハイラル\x8Dナカニワ", Select_LoadGame, 0x0400 },
|
||||
{ "32:\x8Dツリボリ", Select_LoadGame, 0x045F },
|
||||
{ "33:\x8Cボムチュウボーリング", Select_LoadGame, 0x0507 },
|
||||
{ "34:\x8Cロンロン\x8Dボクジョウ ソウコ 1", Select_LoadGame, 0x004F },
|
||||
{ "35:\x8Cロンロン\x8Dボクジョウ ソウコ 2", Select_LoadGame, 0x05D0 },
|
||||
{ "36:\x8Dミハリ ゴヤ", Select_LoadGame, 0x007E },
|
||||
{ "37:\x8Dマホウ ノ クスリヤ", Select_LoadGame, 0x0072 },
|
||||
{ "38:\x8Dタカラバコヤ", Select_LoadGame, 0x0063 },
|
||||
{ "39:\x8Dキン \x8Cスタルチュラ ハウス", Select_LoadGame, 0x0550 },
|
||||
{ "40:\x8Dジョウカマチ イリグチ", Select_LoadGame, 0x0033 },
|
||||
{ "41:\x8Dジョウカマチ", Select_LoadGame, 0x00B1 },
|
||||
{ "42:\x8Dウラロジ", Select_LoadGame, 0x00AD },
|
||||
{ "43:\x8Dトキノシンデン マエ", Select_LoadGame, 0x0171 },
|
||||
{ "44:\x8Dリンクノイエ", Select_LoadGame, 0x00BB },
|
||||
{ "45:\x8Cカカリコ\x8Dムラノナガヤ", Select_LoadGame, 0x02FD },
|
||||
{ "46:\x8Dウラロジノ イエ", Select_LoadGame, 0x043B },
|
||||
{ "47:\x8Dコキリノムラ モノシリキョウダイノイエ", Select_LoadGame, 0x00C9 },
|
||||
{ "48:\x8Dコキリノムラ フタゴノイエ", Select_LoadGame, 0x009C },
|
||||
{ "49:\x8Dコキリノムラ \x8Cミド\x8Dノイエ", Select_LoadGame, 0x0433 },
|
||||
{ "50:\x8Dコキリノムラ \x8Cサリア\x8Dノイエ", Select_LoadGame, 0x0437 },
|
||||
{ "51:\x8Dウマゴヤ", Select_LoadGame, 0x02F9 },
|
||||
{ "52:\x8Dハカモリノイエ", Select_LoadGame, 0x030D },
|
||||
{ "53:\x8Dウラロジ イヌオバサンノイエ", Select_LoadGame, 0x0398 },
|
||||
{ "54:\x8Dカカリコムラ \x8Cインパ\x8Dノイエ", Select_LoadGame, 0x039C },
|
||||
{ "55:\x8Cハイリア\x8D ケンキュウジョ", Select_LoadGame, 0x0043 },
|
||||
{ "56:\x8Cテント", Select_LoadGame, 0x03A0 },
|
||||
{ "57:\x8Dタテノミセ", Select_LoadGame, 0x00B7 },
|
||||
{ "58:\x8Dコキリゾクノミセ", Select_LoadGame, 0x00C1 },
|
||||
{ "59:\x8Cゴロン\x8Dノミセ", Select_LoadGame, 0x037C },
|
||||
{ "60:\x8Cゾーラ\x8Dノミセ", Select_LoadGame, 0x0380 },
|
||||
{ "61:\x8Cカカリコ\x8Dムラ クスリヤ", Select_LoadGame, 0x0384 },
|
||||
{ "62:\x8Dジョウカマチ クスリヤ", Select_LoadGame, 0x0388 },
|
||||
{ "63:\x8Dウラロジ ヨルノミセ", Select_LoadGame, 0x0390 },
|
||||
{ "64:\x8Dオメンヤ", Select_LoadGame, 0x0530 },
|
||||
{ "65:\x8Cゲルド\x8Dノシュウレンジョウ", Select_LoadGame, 0x0008 },
|
||||
{ "66:\x8Dヨウセイノキノ \x8Cダンジョン", Select_LoadGame, 0x0000 },
|
||||
{ "67:\x8Dヨウセイノキノ \x8Cダンジョン ボス", Select_LoadGame, 0x040F },
|
||||
{ "68:\x8Cドドンゴ ダンジョン", Select_LoadGame, 0x0004 },
|
||||
{ "69:\x8Cドドンゴ ダンジョン ボス", Select_LoadGame, 0x040B },
|
||||
{ "70:\x8Dキョダイギョ \x8Cダンジョン", Select_LoadGame, 0x0028 },
|
||||
{ "71:\x8Dキョダイギョ \x8Cダンジョン ボス", Select_LoadGame, 0x0301 },
|
||||
{ "72:\x8Dモリノシンデン", Select_LoadGame, 0x0169 },
|
||||
{ "73:\x8Dモリノシンデン \x8Cボス", Select_LoadGame, 0x000C },
|
||||
{ "74:\x8Dイドシタ \x8Cダンジョン", Select_LoadGame, 0x0098 },
|
||||
{ "75:\x8Dハカシタ \x8Cダンジョン", Select_LoadGame, 0x0037 },
|
||||
{ "76:\x8Dハカシタ \x8Cダンジョン ボス", Select_LoadGame, 0x0413 },
|
||||
{ "77:\x8Dヒノシンデン", Select_LoadGame, 0x0165 },
|
||||
{ "78:\x8Dヒノシンデン \x8Cボス", Select_LoadGame, 0x0305 },
|
||||
{ "79:\x8Dミズノシンデン", Select_LoadGame, 0x0010 },
|
||||
{ "80:\x8Dミズノシンデン \x8Cボス", Select_LoadGame, 0x0417 },
|
||||
{ "81:\x8Dジャシンゾウ \x8Cダンジョン", Select_LoadGame, 0x0082 },
|
||||
{ "82:\x8Dジャシンゾウ \x8Cダンジョン アイアンナック", Select_LoadGame, 0x008D },
|
||||
{ "83:\x8Dジャシンゾウ \x8Cダンジョン ボス", Select_LoadGame, 0x05EC },
|
||||
{ "84:\x8Cガノン\x8Dノトウ", Select_LoadGame, 0x041B },
|
||||
{ "85:\x8Cガノン\x8Dノトウ\x8Cボス", Select_LoadGame, 0x041F },
|
||||
{ "86:\x8Dコオリノドウクツ", Select_LoadGame, 0x0088 },
|
||||
{ "87:\x8Dハカシタ\x8Cリレー", Select_LoadGame, 0x044F },
|
||||
{ "88:\x8Cガノン\x8Dチカ \x8Cダンジョン", Select_LoadGame, 0x0467 },
|
||||
{ "89:\x8Cガノン\x8Dサイシュウセン \x8Cデモ & バトル", Select_LoadGame, 0x0517 },
|
||||
{ "90:\x8Cガノン\x8Dノトウ ソノゴ 1", Select_LoadGame, 0x0179 },
|
||||
{ "91:\x8Cガノン\x8Dノトウ ソノゴ 2", Select_LoadGame, 0x01B5 },
|
||||
{ "92:\x8Cガノン\x8Dノトウ ソノゴ 3", Select_LoadGame, 0x03DC },
|
||||
{ "93:\x8Cガノン\x8Dノトウ ソノゴ 4", Select_LoadGame, 0x03E4 },
|
||||
{ "94:\x8Cガノン\x8Dチカ ソノゴ", Select_LoadGame, 0x056C },
|
||||
{ "95:\x8Cゲルド\x8Dツウロ 1-2", Select_LoadGame, 0x0486 },
|
||||
{ "96:\x8Cゲルド\x8Dツウロ 3-4 9-10", Select_LoadGame, 0x048E },
|
||||
{ "97:\x8Cゲルド\x8Dツウロ 5-6", Select_LoadGame, 0x0496 },
|
||||
{ "98:\x8Cゲルド\x8Dツウロ 7-8", Select_LoadGame, 0x049E },
|
||||
{ "99:\x8Cゲルド\x8Dツウロ 11-12", Select_LoadGame, 0x04AE },
|
||||
{ "100:\x8Cゲルド\x8Dツウロ 13", Select_LoadGame, 0x0570 },
|
||||
{ "101:\x8Dカクシトビコミアナ 0", Select_LoadGame, 0x003F },
|
||||
{ "102:\x8Dカクシトビコミアナ 1", Select_LoadGame, 0x0598 },
|
||||
{ "103:\x8Dカクシトビコミアナ 2", Select_LoadGame, 0x059C },
|
||||
{ "104:\x8Dカクシトビコミアナ 3", Select_LoadGame, 0x05A0 },
|
||||
{ "105:\x8Dカクシトビコミアナ 4", Select_LoadGame, 0x05A4 },
|
||||
{ "106:\x8Dカクシトビコミアナ 5", Select_LoadGame, 0x05A8 },
|
||||
{ "107:\x8Dカクシトビコミアナ 6", Select_LoadGame, 0x05AC },
|
||||
{ "108:\x8Dカクシトビコミアナ 7", Select_LoadGame, 0x05B0 },
|
||||
{ "109:\x8Dカクシトビコミアナ 8", Select_LoadGame, 0x05B4 },
|
||||
{ "110:\x8Dカクシトビコミアナ 9", Select_LoadGame, 0x05B8 },
|
||||
{ "111:\x8Dカクシトビコミアナ 10", Select_LoadGame, 0x05BC },
|
||||
{ "112:\x8Dカクシトビコミアナ 11", Select_LoadGame, 0x05C0 },
|
||||
{ "113:\x8Dカクシトビコミアナ 12", Select_LoadGame, 0x05C4 },
|
||||
{ "114:\x8Dカクシトビコミアナ 13", Select_LoadGame, 0x05FC },
|
||||
{ "115:\x8Cハイラル デモ", Select_LoadGame, 0x00A0 },
|
||||
{ "116:\x8Dベッシツ (タカラバコ\x8Cワープ)", Select_LoadGame, 0x0520 },
|
||||
{ "117:\x8Dササ\x8Cテスト", Select_LoadGame, 0x0018 },
|
||||
{ "118:\x8Cテストマップ", Select_LoadGame, 0x0094 },
|
||||
{ "119:\x8Cテストルーム", Select_LoadGame, 0x0024 },
|
||||
{ "120:\x8Dチュウ\x8Cスタロフォス\x8Dベヤ", Select_LoadGame, 0x001C },
|
||||
{ "121:\x8Cボススタロフォス\x8Dベヤ", Select_LoadGame, 0x0020 },
|
||||
{ "122:Sutaru", Select_LoadGame, 0x0047 },
|
||||
{ "123:jikkenjyou", Select_LoadGame, 0x02EA },
|
||||
{ "124:depth\x8Cテスト", Select_LoadGame, 0x00B6 },
|
||||
{ "125:\x8Cハイラル\x8Dニワ\x8Cゲーム2", Select_LoadGame, 0x0076 },
|
||||
{ "title", Select_LoadTitle, 0x0000 },
|
||||
{ " 1:SPOT00", Select_LoadGame, 0x00CD }, // "1: SPOT00" (Hyrule Field)
|
||||
{ " 2:SPOT01", Select_LoadGame, 0x00DB }, // "2: SPOT01" (Kakariko Village)
|
||||
{ " 3:SPOT02", Select_LoadGame, 0x00E4 }, // "3: SPOT02" (Graveyard)
|
||||
{ " 4:SPOT03", Select_LoadGame, 0x00EA }, // "4: SPOT03" (Zora's River)
|
||||
{ " 5:SPOT04", Select_LoadGame, 0x00EE }, // "5: SPOT04" (Kokiri Forest)
|
||||
{ " 6:SPOT05", Select_LoadGame, 0x00FC }, // "6: SPOT05" (Sacred Forest Meadow)
|
||||
{ " 7:SPOT06", Select_LoadGame, 0x0102 }, // "7: SPOT06" (Lake Hylia)
|
||||
{ " 8:SPOT07", Select_LoadGame, 0x0108 }, // "8: SPOT07" (Zora's Domain)
|
||||
{ " 9:SPOT08", Select_LoadGame, 0x010E }, // "9: SPOT08" (Zora's Fountain)
|
||||
{ "10:SPOT09", Select_LoadGame, 0x0117 }, // "10: SPOT09" (Gerudo Valley)
|
||||
{ "11:SPOT10", Select_LoadGame, 0x011E }, // "11: SPOT10" (Lost Woods)
|
||||
{ "12:SPOT11", Select_LoadGame, 0x0123 }, // "12: SPOT11" (Desert Colossus)
|
||||
{ "13:SPOT12", Select_LoadGame, 0x0129 }, // "13: SPOT12" (Gerudo's Fortress)
|
||||
{ "14:SPOT13", Select_LoadGame, 0x0130 }, // "14: SPOT13" (Haunted Wasteland)
|
||||
{ "15:SPOT15", Select_LoadGame, 0x0138 }, // "15: SPOT15" (Hyrule Castle)
|
||||
{ "16:SPOT16", Select_LoadGame, 0x013D }, // "16: SPOT16" (Death Mountain Trail)
|
||||
{ "17:SPOT17", Select_LoadGame, 0x0147 }, // "17: SPOT17" (Death Mountain Crater)
|
||||
{ "18:SPOT18", Select_LoadGame, 0x014D }, // "18: SPOT18" (Goron City)
|
||||
{ "19:SPOT20", Select_LoadGame, 0x0157 }, // "19: SPOT20" (Lon Lon Ranch)
|
||||
{ "20:\x8Dトキノマ", Select_LoadGame, 0x0053 }, // "20: Chamber of Time" (Temple Of Time)
|
||||
{ "21:\x8Dケンジャノマ", Select_LoadGame, 0x006B }, // "21: Chamber of the Sages" (Chamber of the Sages)
|
||||
{ "22:\x8Dシャテキジョウ", Select_LoadGame, 0x003B }, // "22: Target Range" (Shooting Gallery)
|
||||
{ "23:\x8Cハイラル\x8Dニワ\x8Cゲーム", Select_LoadGame, 0x007A }, // "23: Hyrule Garden Game" (Hyrule Garden Minigame)
|
||||
{ "24:\x8Dハカシタトビコミアナ", Select_LoadGame, 0x031C }, // "24: Grave Dive Hole" (Grave (Redead))
|
||||
{ "25:\x8Dハカシタトビコミアナ 2", Select_LoadGame, 0x004B }, // "25: Grave Dive Hole 2" (Grave (Fairy's Fountain))
|
||||
{ "26:\x8Dオウケ ノ ハカアナ", Select_LoadGame, 0x002D }, // "26: Royal Family's Grave" (Royal Family's Tomb)
|
||||
{ "27:\x8Dダイヨウセイノイズミ", Select_LoadGame,
|
||||
0x0315 }, // "27: Great Fairy's Fountain" (Great Fairy's Fountain (Upgrades))
|
||||
{ "28:\x8Dトビコミ ヨウセイ アナ", Select_LoadGame, 0x036D }, // "28: Fairy Dive Hole" (Fairy's Fountain (Healing Fairies))
|
||||
{ "29:\x8Dマホウセキ ヨウセイノイズミ", Select_LoadGame,
|
||||
0x0371 }, // "29: Magic Stone Fairy's Fountain" (Great Fairy's Fountain (Spells))
|
||||
{ "30:\x8Cガノン\x8Dサイシュウセン", Select_LoadGame, 0x043F }, // "30: Final Battle With Ganon" (Battle With Ganon)
|
||||
{ "31:\x8Cハイラル\x8Dナカニワ", Select_LoadGame, 0x0400 }, // "31: Hyrule Inner Garden" (Castle Courtyard)
|
||||
{ "32:\x8Dツリボリ", Select_LoadGame, 0x045F }, // "32: Fishing" (Fishing Pond)
|
||||
{ "33:\x8Cボムチュウボーリング", Select_LoadGame, 0x0507 }, // "33: Bombchu Bowling" (Bombchu Bowling Alley)
|
||||
{ "34:\x8Cロンロン\x8Dボクジョウ ソウコ 1", Select_LoadGame, 0x004F }, // "34: Lon Lon Ranch - Storehouse 1" (Talon's House)
|
||||
{ "35:\x8Cロンロン\x8Dボクジョウ ソウコ 2", Select_LoadGame, 0x05D0 }, // "35: Lon Lon Ranch - Storehouse 2" (Ranch Silo)
|
||||
{ "36:\x8Dミハリ ゴヤ", Select_LoadGame, 0x007E }, // "36: Lookout Hut" (Guard House)
|
||||
{ "37:\x8Dマホウ ノ クスリヤ", Select_LoadGame, 0x0072 }, // "37: Magic Potion Shop" (Granny's Potion Shop)
|
||||
{ "38:\x8Dタカラバコヤ", Select_LoadGame, 0x0063 }, // "38: Treasure Chest Shop" (Treasure Chest Game)
|
||||
{ "39:\x8Dキン \x8Cスタルチュラ ハウス", Select_LoadGame, 0x0550 }, // "39: Gold Skulltula House" (House of Skulltula)
|
||||
{ "40:\x8Dジョウカマチ イリグチ", Select_LoadGame, 0x0033 }, // "40: Castle Town - Entrance" (Market Entrance)
|
||||
{ "41:\x8Dジョウカマチ", Select_LoadGame, 0x00B1 }, // "41: Castle Town" (Market)
|
||||
{ "42:\x8Dウラロジ", Select_LoadGame, 0x00AD }, // "42: Back Alley" (Back Alley)
|
||||
{ "43:\x8Dトキノシンデン マエ", Select_LoadGame, 0x0171 }, // "43: In Front of the Temple of Time" (Temple of Time Exterior)
|
||||
{ "44:\x8Dリンクノイエ", Select_LoadGame, 0x00BB }, // "44: Link's House" (Link's House)
|
||||
{ "45:\x8Cカカリコ\x8Dムラノナガヤ", Select_LoadGame, 0x02FD }, // "45: Kakariko Village Row House" (Carpenter Boss's House)
|
||||
{ "46:\x8Dウラロジノ イエ", Select_LoadGame, 0x043B }, // "46: Back Alley House" (Back Alley House (Man in Green))
|
||||
{ "47:\x8Dコキリノムラ モノシリキョウダイノイエ", Select_LoadGame,
|
||||
0x00C9 }, // "47: Kokiri Village - Know-It-All Brothers' House" (Know-It-All Brothers' House)
|
||||
{ "48:\x8Dコキリノムラ フタゴノイエ", Select_LoadGame, 0x009C }, // "48: Kokiri Village - Twins' House" (Twins' House)
|
||||
{ "49:\x8Dコキリノムラ \x8Cミド\x8Dノイエ", Select_LoadGame, 0x0433 }, // "49: Kokiri Village - Mido's House" (Mido's House)
|
||||
{ "50:\x8Dコキリノムラ \x8Cサリア\x8Dノイエ", Select_LoadGame, 0x0437 }, // "50: Kokiri Village - Saria's House" (Saria's House)
|
||||
{ "51:\x8Dウマゴヤ", Select_LoadGame, 0x02F9 }, // "51: Stable" (Stable)
|
||||
{ "52:\x8Dハカモリノイエ", Select_LoadGame, 0x030D }, // "52: Grave Keeper's House" (Gravekeeper's Hut)
|
||||
{ "53:\x8Dウラロジ イヌオバサンノイエ", Select_LoadGame, 0x0398 }, // "53: Back Alley - Dog Lady's House" (Back Alley House)
|
||||
{ "54:\x8Dカカリコムラ \x8Cインパ\x8Dノイエ", Select_LoadGame,
|
||||
0x039C }, // "54: Kakariko Village - Impa's House" (Impa's House)
|
||||
{ "55:\x8Cハイリア\x8D ケンキュウジョ", Select_LoadGame, 0x0043 }, // "55: Hylia Laboratory" (Lakeside Laboratory)
|
||||
{ "56:\x8Cテント", Select_LoadGame, 0x03A0 }, // "56: Tent" (Carpenters' Tent)
|
||||
{ "57:\x8Dタテノミセ", Select_LoadGame, 0x00B7 }, // "57: Shield Shop" (Bazaar)
|
||||
{ "58:\x8Dコキリゾクノミセ", Select_LoadGame, 0x00C1 }, // "58: Kokiri Shop" (Kokiri Shop)
|
||||
{ "59:\x8Cゴロン\x8Dノミセ", Select_LoadGame, 0x037C }, // "59: Goron Shop" (Goron Shop)
|
||||
{ "60:\x8Cゾーラ\x8Dノミセ", Select_LoadGame, 0x0380 }, // "60: Zora Shop" (Zora Shop)
|
||||
{ "61:\x8Cカカリコ\x8Dムラ クスリヤ", Select_LoadGame,
|
||||
0x0384 }, // "61: Kakariko Village - Potion Shop" (Kakariko Potion Shop)
|
||||
{ "62:\x8Dジョウカマチ クスリヤ", Select_LoadGame, 0x0388 }, // "62: Castle Town - Potion Shop" (Market Potion Shop)
|
||||
{ "63:\x8Dウラロジ ヨルノミセ", Select_LoadGame, 0x0390 }, // "63: Back Alley - Night Shop" (Bombchu Shop)
|
||||
{ "64:\x8Dオメンヤ", Select_LoadGame, 0x0530 }, // "64: Mask Shop" (Happy Mask Shop)
|
||||
{ "65:\x8Cゲルド\x8Dノシュウレンジョウ", Select_LoadGame, 0x0008 }, // "65: Gerudo Training Area" (Gerudo Training Ground)
|
||||
{ "66:\x8Dヨウセイノキノ \x8Cダンジョン", Select_LoadGame, 0x0000 }, // "66: Fairy Tree Dungeon" (Inside the Deku Tree)
|
||||
{ "67:\x8Dヨウセイノキノ \x8Cダンジョン ボス", Select_LoadGame, 0x040F }, // "67: Fairy Tree Dungeon - Boss" (Gohma's Lair)
|
||||
{ "68:\x8Cドドンゴ ダンジョン", Select_LoadGame, 0x0004 }, // "68: Dondogo Dungeon" (Dodongo's Cavern)
|
||||
{ "69:\x8Cドドンゴ ダンジョン ボス", Select_LoadGame, 0x040B }, // "69: Dondogo Dungeon - Boss" (King Dodongo's Lair)
|
||||
{ "70:\x8Dキョダイギョ \x8Cダンジョン", Select_LoadGame, 0x0028 }, // "70: Giant Fish Dungeon" (Inside Jabu-Jabu's Belly)
|
||||
{ "71:\x8Dキョダイギョ \x8Cダンジョン ボス", Select_LoadGame, 0x0301 }, // "71: Giant Fish Dungeon - Boss" (Barinade's Lair)
|
||||
{ "72:\x8Dモリノシンデン", Select_LoadGame, 0x0169 }, // "72: Forest Temple" (Forest Temple)
|
||||
{ "73:\x8Dモリノシンデン \x8Cボス", Select_LoadGame, 0x000C }, // "73: Forest Temple - Boss" (Phantom Ganon's Lair)
|
||||
{ "74:\x8Dイドシタ \x8Cダンジョン", Select_LoadGame, 0x0098 }, // "74: Dungeon Below the Well" (Bottom of the Well)
|
||||
{ "75:\x8Dハカシタ \x8Cダンジョン", Select_LoadGame, 0x0037 }, // "75: Dungeon Beneath the Graves" (Shadow Temple)
|
||||
{ "76:\x8Dハカシタ \x8Cダンジョン ボス", Select_LoadGame,
|
||||
0x0413 }, // "76: Dungeon Beneath the Graves - Boss" (Bongo Bongo's Lair)
|
||||
{ "77:\x8Dヒノシンデン", Select_LoadGame, 0x0165 }, // "77: Fire Temple" (Fire Temple)
|
||||
{ "78:\x8Dヒノシンデン \x8Cボス", Select_LoadGame, 0x0305 }, // "78: Fire Temple - Boss" (Volvagia's Lair)
|
||||
{ "79:\x8Dミズノシンデン", Select_LoadGame, 0x0010 }, // "79: Water Temple" (Water Temple)
|
||||
{ "80:\x8Dミズノシンデン \x8Cボス", Select_LoadGame, 0x0417 }, // "80: Water Temple - Boss" (Morpha's Lair)
|
||||
{ "81:\x8Dジャシンゾウ \x8Cダンジョン", Select_LoadGame, 0x0082 }, // "81: Evil Goddess Statue Dungeon" (Spirit Temple)
|
||||
{ "82:\x8Dジャシンゾウ \x8Cダンジョン アイアンナック", Select_LoadGame,
|
||||
0x008D }, // "82: Evil Goddess Statue Dungeon - Iron Knuckle" (Iron Knuckle's Lair)
|
||||
{ "83:\x8Dジャシンゾウ \x8Cダンジョン ボス", Select_LoadGame,
|
||||
0x05EC }, // "83: Evil Goddess Statue Dungeon - Boss" (Twinrova's Lair)
|
||||
{ "84:\x8Cガノン\x8Dノトウ", Select_LoadGame, 0x041B }, // "84: Ganon's Tower" (Ganon's Tower)
|
||||
{ "85:\x8Cガノン\x8Dノトウ\x8Cボス", Select_LoadGame, 0x041F }, // "85: Ganon's Tower - Boss" (Ganondorf's Lair)
|
||||
{ "86:\x8Dコオリノドウクツ", Select_LoadGame, 0x0088 }, // "86: Ice Cavern" (Ice Cavern)
|
||||
{ "87:\x8Dハカシタ\x8Cリレー", Select_LoadGame, 0x044F }, // "87: Relay Beneath the Graves" (Dampé's Grave)
|
||||
{ "88:\x8Cガノン\x8Dチカ \x8Cダンジョン", Select_LoadGame,
|
||||
0x0467 }, // "88: Ganon's Basement Dungeon" (Inside Ganon's Castle)
|
||||
{ "89:\x8Cガノン\x8Dサイシュウセン \x8Cデモ & バトル", Select_LoadGame,
|
||||
0x0517 }, // "89: Final Battle With Ganon - Cutscene & Battle" (Ganondorf's Death Scene & Tower Escape Exterior)
|
||||
{ "90:\x8Cガノン\x8Dノトウ ソノゴ 1", Select_LoadGame,
|
||||
0x0179 }, // "90: Ganon's Tower Aftermath 1" (Escaping Ganon's Tower 1)
|
||||
{ "91:\x8Cガノン\x8Dノトウ ソノゴ 2", Select_LoadGame,
|
||||
0x01B5 }, // "91: Ganon's Tower Aftermath 2" (Escaping Ganon's Tower 2)
|
||||
{ "92:\x8Cガノン\x8Dノトウ ソノゴ 3", Select_LoadGame,
|
||||
0x03DC }, // "92: Ganon's Tower Aftermath 3" (Escaping Ganon's Tower 3)
|
||||
{ "93:\x8Cガノン\x8Dノトウ ソノゴ 4", Select_LoadGame,
|
||||
0x03E4 }, // "93: Ganon's Tower Aftermath 4" (Escaping Ganon's Tower 4)
|
||||
{ "94:\x8Cガノン\x8Dチカ ソノゴ", Select_LoadGame, 0x056C }, // "94: Ganon's Basement Aftermath" (Escaping Ganon's Castle)
|
||||
{ "95:\x8Cゲルド\x8Dツウロ 1-2", Select_LoadGame, 0x0486 }, // "95: Gerudo Passage 1-2" (Thieves' Hideout 1)
|
||||
{ "96:\x8Cゲルド\x8Dツウロ 3-4 9-10", Select_LoadGame, 0x048E }, // "96: Gerudo Passage 3-4 9-10" (Thieves' Hideout 2)
|
||||
{ "97:\x8Cゲルド\x8Dツウロ 5-6", Select_LoadGame, 0x0496 }, // "97: Gerudo Passage 5-6" (Thieves' Hideout 3)
|
||||
{ "98:\x8Cゲルド\x8Dツウロ 7-8", Select_LoadGame, 0x049E }, // "98: Gerudo Passage 7-8" (Thieves' Hideout 4)
|
||||
{ "99:\x8Cゲルド\x8Dツウロ 11-12", Select_LoadGame, 0x04AE }, // "99: Gerudo Passage 11-12" (Thieves' Hideout 5)
|
||||
{ "100:\x8Cゲルド\x8Dツウロ 13", Select_LoadGame, 0x0570 }, // "100: Gerudo Passage 13" (Thieves' Hideout 6)
|
||||
{ "101:\x8Dカクシトビコミアナ 0", Select_LoadGame, 0x003F }, // "101: Hidden Dive Hole 0" (Grotto 0 - Gossip Stone & Chest)
|
||||
{ "102:\x8Dカクシトビコミアナ 1", Select_LoadGame,
|
||||
0x0598 }, // "102: Hidden Dive Hole 1" (Grotto 1 - Skulltula & Gold Skulltula)
|
||||
{ "103:\x8Dカクシトビコミアナ 2", Select_LoadGame,
|
||||
0x059C }, // "103: Hidden Dive Hole 2" (Grotto 2 - Business Scrub & Heart Piece)
|
||||
{ "104:\x8Dカクシトビコミアナ 3", Select_LoadGame, 0x05A0 }, // "104: Hidden Dive Hole 3" (Grotto 3 - Redeads)
|
||||
{ "105:\x8Dカクシトビコミアナ 4", Select_LoadGame, 0x05A4 }, // "105: Hidden Dive Hole 4" (Grotto 4 - 3 Business Scrubs)
|
||||
{ "106:\x8Dカクシトビコミアナ 5", Select_LoadGame,
|
||||
0x05A8 }, // "106: Hidden Dive Hole 5" (Grotto 5 - Gossip Stone, Skulltula, Cow)
|
||||
{ "107:\x8Dカクシトビコミアナ 6", Select_LoadGame, 0x05AC }, // "107: Hidden Dive Hole 6" (Grotto 6 - Octorok)
|
||||
{ "108:\x8Dカクシトビコミアナ 7", Select_LoadGame,
|
||||
0x05B0 }, // "108: Hidden Dive Hole 7" (Grotto 7 - Business Scrub & Deku Nut Upgrade)
|
||||
{ "109:\x8Dカクシトビコミアナ 8", Select_LoadGame, 0x05B4 }, // "109: Hidden Dive Hole 8" (Grotto 8 - 2 Wolfos)
|
||||
{ "110:\x8Dカクシトビコミアナ 9", Select_LoadGame, 0x05B8 }, // "110: Hidden Dive Hole 9" (Grotto 9 - Bombable Walls)
|
||||
{ "111:\x8Dカクシトビコミアナ 10", Select_LoadGame, 0x05BC }, // "111: Hidden Dive Hole 10" (Grotto 10 - 2 Business Scrubs)
|
||||
{ "112:\x8Dカクシトビコミアナ 11", Select_LoadGame,
|
||||
0x05C0 }, // "112: Hidden Dive Hole 11" (Grotto 11 - Tektite & Heart Piece)
|
||||
{ "113:\x8Dカクシトビコミアナ 12", Select_LoadGame, 0x05C4 }, // "113: Hidden Dive Hole 12" (Grotto 12 - Deku Stage)
|
||||
{ "114:\x8Dカクシトビコミアナ 13", Select_LoadGame, 0x05FC }, // "114: Hidden Dive Hole 13" (Grotto 13 - Rupees & Cow)
|
||||
{ "115:\x8Cハイラル デモ", Select_LoadGame, 0x00A0 }, // "115: Hyrule Cutscenes" (Cutscene Map)
|
||||
{ "116:\x8Dベッシツ (タカラバコ\x8Cワープ)", Select_LoadGame,
|
||||
0x0520 }, // "116: Special Room (Treasure Chest Warp)" (Ganondorf Test Room)
|
||||
{ "117:\x8Dササ\x8Cテスト", Select_LoadGame, 0x0018 }, // "117: Sasaki Test" (Sasa Test)
|
||||
{ "118:\x8Cテストマップ", Select_LoadGame, 0x0094 }, // "118: Test Map" (Jungle Gym)
|
||||
{ "119:\x8Cテストルーム", Select_LoadGame, 0x0024 }, // "119: Test Room" (Treasure Chest Room)
|
||||
{ "120:\x8Dチュウ\x8Cスタロフォス\x8Dベヤ", Select_LoadGame, 0x001C }, // "120: Stalfos Miniboss Room" (Stalfos Miniboss Room)
|
||||
{ "121:\x8Cボススタロフォス\x8Dベヤ", Select_LoadGame, 0x0020 }, // "121: Boss Stalfos Room" (Stalfos Boss Room)
|
||||
{ "122:Sutaru", Select_LoadGame, 0x0047 }, // "122: Stal" (Sutaru)
|
||||
{ "123:jikkenjyou", Select_LoadGame, 0x02EA }, // "123: Test Area" (Shooting Gallery)
|
||||
{ "124:depth\x8Cテスト", Select_LoadGame, 0x00B6 }, // "124: Depth Test" (Depth Test)
|
||||
{ "125:\x8Cハイラル\x8Dニワ\x8Cゲーム2", Select_LoadGame,
|
||||
0x0076 }, // "125: Hyrule Garden Game 2" (Early Hyrule Garden Game)
|
||||
{ "title", (void*)Select_LoadTitle, 0x0000 }, // "title" (Title Screen)
|
||||
};
|
||||
|
||||
void Select_UpdateMenu(SelectContext* this) {
|
||||
Input* controller1;
|
||||
Input* controller1 = &this->state.input[0];
|
||||
s32 pad;
|
||||
SceneSelectEntry* selectedScene;
|
||||
|
||||
controller1 = &this->state.input[0];
|
||||
|
||||
if (this->unk_21C == 0) {
|
||||
|
||||
if (this->verticalInputAccumulator == 0) {
|
||||
if (CHECK_BTN_ALL(controller1->press.button, BTN_A) || CHECK_BTN_ALL(controller1->press.button, BTN_START)) {
|
||||
selectedScene = &this->scenes[this->currentScene];
|
||||
if (selectedScene->loadFunc != NULL) {
|
||||
|
@ -268,111 +287,112 @@ void Select_UpdateMenu(SelectContext* this) {
|
|||
}
|
||||
|
||||
if (CHECK_BTN_ALL(controller1->press.button, BTN_DUP)) {
|
||||
if (this->unk_22C == 1) {
|
||||
this->unk_224 = 0;
|
||||
if (this->lockUp == true) {
|
||||
this->timerUp = 0;
|
||||
}
|
||||
if (this->unk_224 == 0) {
|
||||
this->unk_224 = 0x14;
|
||||
this->unk_22C = 1;
|
||||
if (this->timerUp == 0) {
|
||||
this->timerUp = 20;
|
||||
this->lockUp = true;
|
||||
Audio_PlaySoundGeneral(NA_SE_IT_SWORD_IMPACT, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
|
||||
this->unk_220 = R_UPDATE_RATE;
|
||||
this->verticalInput = R_UPDATE_RATE;
|
||||
}
|
||||
}
|
||||
|
||||
if (CHECK_BTN_ALL(controller1->cur.button, BTN_DUP) && this->unk_224 == 0) {
|
||||
if (CHECK_BTN_ALL(controller1->cur.button, BTN_DUP) && this->timerUp == 0) {
|
||||
Audio_PlaySoundGeneral(NA_SE_IT_SWORD_IMPACT, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
|
||||
this->unk_220 = R_UPDATE_RATE * 3;
|
||||
this->verticalInput = R_UPDATE_RATE * 3;
|
||||
}
|
||||
|
||||
if (CHECK_BTN_ALL(controller1->press.button, BTN_DDOWN)) {
|
||||
if (this->unk_230 == 1) {
|
||||
this->unk_228 = 0;
|
||||
if (this->lockDown == true) {
|
||||
this->timerDown = 0;
|
||||
}
|
||||
if (this->unk_228 == 0) {
|
||||
this->unk_228 = 0x14;
|
||||
this->unk_230 = 1;
|
||||
if (this->timerDown == 0) {
|
||||
this->timerDown = 20;
|
||||
this->lockDown = true;
|
||||
Audio_PlaySoundGeneral(NA_SE_IT_SWORD_IMPACT, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
|
||||
this->unk_220 = -R_UPDATE_RATE;
|
||||
this->verticalInput = -R_UPDATE_RATE;
|
||||
}
|
||||
}
|
||||
|
||||
if (CHECK_BTN_ALL(controller1->cur.button, BTN_DDOWN) && (this->unk_228 == 0)) {
|
||||
if (CHECK_BTN_ALL(controller1->cur.button, BTN_DDOWN) && (this->timerDown == 0)) {
|
||||
Audio_PlaySoundGeneral(NA_SE_IT_SWORD_IMPACT, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
|
||||
this->unk_220 = -R_UPDATE_RATE * 3;
|
||||
this->verticalInput = -R_UPDATE_RATE * 3;
|
||||
}
|
||||
|
||||
if (CHECK_BTN_ALL(controller1->press.button, BTN_DLEFT) || CHECK_BTN_ALL(controller1->cur.button, BTN_DLEFT)) {
|
||||
Audio_PlaySoundGeneral(NA_SE_IT_SWORD_IMPACT, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
|
||||
this->unk_220 = R_UPDATE_RATE;
|
||||
this->verticalInput = R_UPDATE_RATE;
|
||||
}
|
||||
|
||||
if (CHECK_BTN_ALL(controller1->press.button, BTN_DRIGHT) ||
|
||||
CHECK_BTN_ALL(controller1->cur.button, BTN_DRIGHT)) {
|
||||
Audio_PlaySoundGeneral(NA_SE_IT_SWORD_IMPACT, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
|
||||
this->unk_220 = -R_UPDATE_RATE;
|
||||
this->verticalInput = -R_UPDATE_RATE;
|
||||
}
|
||||
}
|
||||
|
||||
if (CHECK_BTN_ALL(controller1->press.button, BTN_L)) {
|
||||
this->unk_1DC++;
|
||||
this->unk_1DC = (this->unk_1DC + 7) % 7;
|
||||
this->currentScene = this->unk_20C = this->unk_1E0[this->unk_1DC];
|
||||
this->pageDownIndex++;
|
||||
this->pageDownIndex =
|
||||
(this->pageDownIndex + ARRAY_COUNT(this->pageDownStops)) % ARRAY_COUNT(this->pageDownStops);
|
||||
this->currentScene = this->topDisplayedScene = this->pageDownStops[this->pageDownIndex];
|
||||
}
|
||||
|
||||
this->unk_21C += this->unk_220;
|
||||
this->verticalInputAccumulator += this->verticalInput;
|
||||
|
||||
if (this->unk_21C < -7) {
|
||||
this->unk_220 = 0;
|
||||
this->unk_21C = 0;
|
||||
if (this->verticalInputAccumulator < -7) {
|
||||
this->verticalInput = 0;
|
||||
this->verticalInputAccumulator = 0;
|
||||
|
||||
this->currentScene++;
|
||||
this->currentScene = (this->currentScene + this->count) % this->count;
|
||||
|
||||
if (this->currentScene == ((this->unk_20C + this->count + 0x13) % this->count)) {
|
||||
this->unk_20C++;
|
||||
this->unk_20C = (this->unk_20C + this->count) % this->count;
|
||||
if (this->currentScene == ((this->topDisplayedScene + this->count + 19) % this->count)) {
|
||||
this->topDisplayedScene++;
|
||||
this->topDisplayedScene = (this->topDisplayedScene + this->count) % this->count;
|
||||
}
|
||||
}
|
||||
|
||||
if (this->unk_21C >= 8) {
|
||||
this->unk_220 = 0;
|
||||
this->unk_21C = 0;
|
||||
if (this->verticalInputAccumulator > 7) {
|
||||
this->verticalInput = 0;
|
||||
this->verticalInputAccumulator = 0;
|
||||
|
||||
if (this->currentScene == this->unk_20C) {
|
||||
this->unk_20C -= 2;
|
||||
this->unk_20C = (this->unk_20C + this->count) % this->count;
|
||||
if (this->currentScene == this->topDisplayedScene) {
|
||||
this->topDisplayedScene -= 2;
|
||||
this->topDisplayedScene = (this->topDisplayedScene + this->count) % this->count;
|
||||
}
|
||||
|
||||
this->currentScene--;
|
||||
this->currentScene = (this->currentScene + this->count) % this->count;
|
||||
|
||||
if (this->currentScene == ((this->unk_20C + this->count) % this->count)) {
|
||||
this->unk_20C--;
|
||||
this->unk_20C = (this->unk_20C + this->count) % this->count;
|
||||
if (this->currentScene == ((this->topDisplayedScene + this->count) % this->count)) {
|
||||
this->topDisplayedScene--;
|
||||
this->topDisplayedScene = (this->topDisplayedScene + this->count) % this->count;
|
||||
}
|
||||
}
|
||||
|
||||
this->currentScene = (this->currentScene + this->count) % this->count;
|
||||
this->unk_20C = (this->unk_20C + this->count) % this->count;
|
||||
this->topDisplayedScene = (this->topDisplayedScene + this->count) % this->count;
|
||||
|
||||
dREG(80) = this->currentScene;
|
||||
dREG(81) = this->unk_20C;
|
||||
dREG(82) = this->unk_1DC;
|
||||
dREG(81) = this->topDisplayedScene;
|
||||
dREG(82) = this->pageDownIndex;
|
||||
|
||||
if (this->unk_224 != 0) {
|
||||
this->unk_224--;
|
||||
if (this->timerUp != 0) {
|
||||
this->timerUp--;
|
||||
}
|
||||
|
||||
if (this->unk_224 == 0) {
|
||||
this->unk_22C = 0;
|
||||
if (this->timerUp == 0) {
|
||||
this->lockUp = false;
|
||||
}
|
||||
|
||||
if (this->unk_228 != 0) {
|
||||
this->unk_228--;
|
||||
if (this->timerDown != 0) {
|
||||
this->timerDown--;
|
||||
}
|
||||
|
||||
if (this->unk_228 == 0) {
|
||||
this->unk_230 = 0;
|
||||
if (this->timerDown == 0) {
|
||||
this->lockDown = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -389,7 +409,7 @@ void Select_PrintMenu(SelectContext* this, GfxPrint* printer) {
|
|||
for (i = 0; i < 20; i++) {
|
||||
GfxPrint_SetPos(printer, 9, i + 4);
|
||||
|
||||
scene = ((this->unk_20C + i) + this->count) % this->count;
|
||||
scene = (this->topDisplayedScene + i + this->count) % this->count;
|
||||
if (scene == this->currentScene) {
|
||||
GfxPrint_SetColor(printer, 255, 20, 20, 255);
|
||||
} else {
|
||||
|
@ -409,32 +429,32 @@ void Select_PrintMenu(SelectContext* this, GfxPrint* printer) {
|
|||
GfxPrint_Printf(printer, "OPT=%d", this->opt);
|
||||
}
|
||||
|
||||
static char* sLoadingMessages[] = {
|
||||
"\x8Dシバラクオマチクダサイ", // "Please wait a minute"
|
||||
"\x8Dチョット マッテネ", // "Hold on a sec"
|
||||
"\x8Cウェイト ア モーメント", // "Wait a moment"
|
||||
"\x8Cロード\x8Dチュウ", // "Loading"
|
||||
"\x8Dナウ ワーキング", // "Now working"
|
||||
"\x8Dイマ ツクッテマス", // "Now creating"
|
||||
"\x8Dコショウジャナイヨ", // "It's not broken"
|
||||
"\x8Cコーヒー ブレイク", // "Coffee Break"
|
||||
static const char* sLoadingMessages[] = {
|
||||
"\x8Dシバラクオマチクダサイ", // "Please wait a minute",
|
||||
"\x8Dチョット マッテネ", // "Hold on a sec",
|
||||
"\x8Cウェイト ア モーメント", // "Wait a moment",
|
||||
"\x8Cロード\x8Dチュウ", // "Loading",
|
||||
"\x8Dナウ ワーキング", // "Now working",
|
||||
"\x8Dイマ ツクッテマス", // "Now creating",
|
||||
"\x8Dコショウジャナイヨ", // "It's not broken",
|
||||
"\x8Cコーヒー ブレイク", // "Coffee Break",
|
||||
"\x8C"
|
||||
"Bメンヲセットシテクダサイ", // "Please set B side"
|
||||
"\x8Dジット\x8Cガマン\x8Dノ\x8Cコ\x8Dデアッタ", // "Be patient, now"
|
||||
"\x8Dイマシバラクオマチクダサイ", // "Please wait just a minute"
|
||||
"\x8Dアワテナイアワテナイ。ヒトヤスミヒトヤスミ。", // "Don't worry, don't worry. Take a break, take a break"
|
||||
"Bメンヲセットシテクダサイ", // "Please set B side",
|
||||
"\x8Dジット\x8Cガマン\x8Dノ\x8Cコ\x8Dデアッタ", // "Be patient, now",
|
||||
"\x8Dイマシバラクオマチクダサイ", // "Please wait just a minute",
|
||||
"\x8Dアワテナイアワテナイ。ヒトヤスミヒトヤスミ。", // "Don't worry, don't worry. Take a break, take a break",
|
||||
};
|
||||
|
||||
void Select_PrintLoadingMessage(SelectContext* this, GfxPrint* printer) {
|
||||
s32 randomMsg;
|
||||
|
||||
GfxPrint_SetPos(printer, 0xA, 0xF);
|
||||
GfxPrint_SetPos(printer, 10, 15);
|
||||
GfxPrint_SetColor(printer, 255, 255, 255, 255);
|
||||
randomMsg = Rand_ZeroOne() * ARRAY_COUNT(sLoadingMessages);
|
||||
GfxPrint_Printf(printer, "%s", sLoadingMessages[randomMsg]);
|
||||
}
|
||||
|
||||
static char* sAgeLabels[] = {
|
||||
static const char* sAgeLabels[] = {
|
||||
"\x8D"
|
||||
"17(ワカモノ)", // "17(young)"
|
||||
"\x8D"
|
||||
|
@ -575,7 +595,7 @@ void Select_Main(GameState* thisx) {
|
|||
}
|
||||
|
||||
void Select_Destroy(GameState* thisx) {
|
||||
osSyncPrintf("%c", 7);
|
||||
osSyncPrintf("%c", '\a'); // ASCII BEL character, plays an alert tone
|
||||
// "view_cleanup will hang, so it won't be called"
|
||||
osSyncPrintf("*** view_cleanupはハングアップするので、呼ばない ***\n");
|
||||
}
|
||||
|
@ -588,34 +608,34 @@ void Select_Init(GameState* thisx) {
|
|||
this->state.main = Select_Main;
|
||||
this->state.destroy = Select_Destroy;
|
||||
this->scenes = sScenes;
|
||||
this->unk_20C = 0;
|
||||
this->topDisplayedScene = 0;
|
||||
this->currentScene = 0;
|
||||
this->unk_1E0[0] = 0;
|
||||
this->unk_1E0[1] = 0x13;
|
||||
this->unk_1E0[2] = 0x25;
|
||||
this->unk_1E0[3] = 0x33;
|
||||
this->unk_1E0[4] = 0x3B;
|
||||
this->unk_1E0[5] = 0x49;
|
||||
this->unk_1E0[6] = 0x5B;
|
||||
this->unk_1DC = 0;
|
||||
this->pageDownStops[0] = 0; // Hyrule Field
|
||||
this->pageDownStops[1] = 19; // Temple Of Time
|
||||
this->pageDownStops[2] = 37; // Treasure Chest Game
|
||||
this->pageDownStops[3] = 51; // Gravekeeper's Hut
|
||||
this->pageDownStops[4] = 59; // Zora Shop
|
||||
this->pageDownStops[5] = 73; // Bottom of the Well
|
||||
this->pageDownStops[6] = 91; // Escaping Ganon's Tower 3
|
||||
this->pageDownIndex = 0;
|
||||
this->opt = 0;
|
||||
this->count = 126;
|
||||
this->count = ARRAY_COUNT(sScenes);
|
||||
View_Init(&this->view, this->state.gfxCtx);
|
||||
this->view.flags = 0xA;
|
||||
this->unk_21C = 0;
|
||||
this->unk_220 = 0;
|
||||
this->unk_224 = 0;
|
||||
this->unk_228 = 0;
|
||||
this->unk_22C = 0;
|
||||
this->unk_230 = 0;
|
||||
this->view.flags = (0x08 | 0x02);
|
||||
this->verticalInputAccumulator = 0;
|
||||
this->verticalInput = 0;
|
||||
this->timerUp = 0;
|
||||
this->timerDown = 0;
|
||||
this->lockUp = 0;
|
||||
this->lockDown = 0;
|
||||
this->unk_234 = 0;
|
||||
|
||||
size = (u32)_z_select_staticSegmentRomEnd - (u32)_z_select_staticSegmentRomStart;
|
||||
|
||||
if ((dREG(80) >= 0) && (dREG(80) < this->count)) {
|
||||
this->currentScene = dREG(80);
|
||||
this->unk_20C = dREG(81);
|
||||
this->unk_1DC = dREG(82);
|
||||
this->topDisplayedScene = dREG(81);
|
||||
this->pageDownIndex = dREG(82);
|
||||
}
|
||||
R_UPDATE_RATE = 1;
|
||||
|
||||
|
|
Loading…
Reference in a new issue