From 507387f618752ed2a1e7cc665d3a1cd0c7e09c8f Mon Sep 17 00:00:00 2001 From: Ralphie Morell Date: Tue, 30 May 2023 14:01:04 -0400 Subject: [PATCH] Enhancement: Better Debug Warp MQ toggle (#2876) * Implement MQ select on better debug warp * remove unused macro * Add sound when selecting MQ; only change if highlighting MQ-able map * Handles map select from MQ file --- soh/include/z64.h | 3 +- soh/soh/OTRGlobals.cpp | 31 +- soh/src/code/z_play.c | 2 + .../overlays/gamestates/ovl_select/z_select.c | 636 +++++++++--------- 4 files changed, 359 insertions(+), 313 deletions(-) diff --git a/soh/include/z64.h b/soh/include/z64.h index 8dea2a4d7..4d4021bf6 100644 --- a/soh/include/z64.h +++ b/soh/include/z64.h @@ -1252,6 +1252,7 @@ typedef struct { /* */ char* germanName; /* */ char* frenchName; /* */ s32 entranceIndex; + /* */ u8 canBeMQ; } BetterSceneSelectEntrancePair; typedef struct { @@ -1259,7 +1260,7 @@ typedef struct { /* */ char* germanName; /* */ char* frenchName; /* */ void (*loadFunc)(struct SelectContext*, s32); - /* */ s32 count; + /* */ u8 entranceCount; /* */ BetterSceneSelectEntrancePair entrancePairs[18]; } BetterSceneSelectEntry; diff --git a/soh/soh/OTRGlobals.cpp b/soh/soh/OTRGlobals.cpp index b17fd3db2..20972f220 100644 --- a/soh/soh/OTRGlobals.cpp +++ b/soh/soh/OTRGlobals.cpp @@ -1024,22 +1024,29 @@ extern "C" uint32_t ResourceMgr_GetGameVersion(int index) { uint32_t IsSceneMasterQuest(s16 sceneNum) { uint32_t value = 0; - if (OTRGlobals::Instance->HasMasterQuest()) { - if (!OTRGlobals::Instance->HasOriginal()) { - value = 1; - } else if (gSaveContext.isMasterQuest) { - value = 1; - } else { - value = 0; - if (gSaveContext.n64ddFlag) { - if (!OTRGlobals::Instance->gRandomizer->masterQuestDungeons.empty()) { - if (gPlayState != NULL && OTRGlobals::Instance->gRandomizer->masterQuestDungeons.contains(sceneNum)) { - value = 1; + uint8_t mqMode = CVarGetInteger("gBetterDebugWarpScreenMQMode", 0); + if (mqMode == 1) { //non-mq wants to be mq + return 1; + } else if (mqMode == 2) {//mq wants to be non-mq + return 0; + } else { + if (OTRGlobals::Instance->HasMasterQuest()) { + if (!OTRGlobals::Instance->HasOriginal()) { + value = 1; + } else if (gSaveContext.isMasterQuest) { + value = 1; + } + } else { + value = 0; + if (gSaveContext.n64ddFlag) { + if (!OTRGlobals::Instance->gRandomizer->masterQuestDungeons.empty()) { + if (gPlayState != NULL && OTRGlobals::Instance->gRandomizer->masterQuestDungeons.contains(sceneNum)) { + value = 1; + } } } } } - } return value; } diff --git a/soh/src/code/z_play.c b/soh/src/code/z_play.c index 7a9d568bc..ead1574f7 100644 --- a/soh/src/code/z_play.c +++ b/soh/src/code/z_play.c @@ -1884,6 +1884,8 @@ void Play_SpawnScene(PlayState* play, s32 sceneNum, s32 spawn) { if (gSaveContext.n64ddFlag && Randomizer_GetSettingValue(RSK_SHUFFLE_ENTRANCES)) { Entrance_OverrideSpawnScene(sceneNum, spawn); } + + CVarSetInteger("gBetterDebugWarpScreenMQMode", 0); } void func_800C016C(PlayState* play, Vec3f* src, Vec3f* dest) { diff --git a/soh/src/overlays/gamestates/ovl_select/z_select.c b/soh/src/overlays/gamestates/ovl_select/z_select.c index a1d5816e1..0aac215d7 100644 --- a/soh/src/overlays/gamestates/ovl_select/z_select.c +++ b/soh/src/overlays/gamestates/ovl_select/z_select.c @@ -40,6 +40,16 @@ void Select_LoadGame(SelectContext* this, s32 entranceIndex) { Grotto_OverrideSpecialEntrance(Entrance_GetOverride(entranceIndex)); } + if (ResourceMgr_GameHasMasterQuest() && ResourceMgr_GameHasOriginal()) { + //check to see if the scene/entrance we just picked can be MQ'd + u8 isMQScene = this->betterScenes[this->currentScene].entrancePairs[this->pageDownIndex].canBeMQ; + if ((!gSaveContext.isMasterQuest && this->opt) && isMQScene) { + CVarSetInteger("gBetterDebugWarpScreenMQMode", 1); + } else if ((gSaveContext.isMasterQuest && !this->opt) && isMQScene) { + CVarSetInteger("gBetterDebugWarpScreenMQMode", 2); + } + }; + if (CVarGetInteger("gBetterDebugWarpScreen", 0)) { CVarSetInteger("gBetterDebugWarpScreenCurrentScene", this->currentScene); CVarSetInteger("gBetterDebugWarpScreenTopDisplayedScene", this->topDisplayedScene); @@ -239,403 +249,403 @@ static SceneSelectEntry sScenes[] = { static BetterSceneSelectEntry sBetterScenes[] = { { " 1:Hyrule Field", " 1:Hylianische Steppe", " 1:Plaine d'Hyrule", Select_LoadGame, 8, { - { "Near Drawbridge", "Nahe der Zugbruecke", "Pres du Pont-levis", 0x00CD }, - { "From Drawbridge", "Von der Zugbruecke", "Depuis le Pont-levis", 0x01FD }, - { "From Kakariko Village", "Von Kakariko", "Depuis le Village Cocorico", 0x017D }, - { "From Zora River", "Vom Zora-Fluss", "Depuis la Riviere Zora", 0x0181 }, - { "From Lost Woods", "Von den verlorenen Waeldern", "Depuis les Bois Perdus", 0x0185 }, - { "From Lake Hylia", "Vom Hylia-See", "Depuis le Lac Hylia", 0x0189 }, - { "From Gerudo Valley", "Vom Gerudotal", "Depuis la Vallee Gerudo", 0x018D }, - { "From Lon Lon Ranch", "Von der Lon Lon-Farm", "Depuis le Ranch Lon Lon", 0x01F9 }, + { "Near Drawbridge", "Nahe der Zugbruecke", "Pres du Pont-levis", 0x00CD, 0 }, + { "From Drawbridge", "Von der Zugbruecke", "Depuis le Pont-levis", 0x01FD, 0 }, + { "From Kakariko Village", "Von Kakariko", "Depuis le Village Cocorico", 0x017D, 0 }, + { "From Zora River", "Vom Zora-Fluss", "Depuis la Riviere Zora", 0x0181, 0 }, + { "From Lost Woods", "Von den verlorenen Waeldern", "Depuis les Bois Perdus", 0x0185, 0 }, + { "From Lake Hylia", "Vom Hylia-See", "Depuis le Lac Hylia", 0x0189, 0 }, + { "From Gerudo Valley", "Vom Gerudotal", "Depuis la Vallee Gerudo", 0x018D, 0 }, + { "From Lon Lon Ranch", "Von der Lon Lon-Farm", "Depuis le Ranch Lon Lon", 0x01F9, 0 }, }}, { " 2:Kokiri Forest", " 2:Kokiri-Wald", " 2:Foret Kokiri", Select_LoadGame, 9, { - { "From Links House", "Von Links Haus", "Depuis la Cabane de Link", 0x0211 }, - { "From Bridge", "Von der Bruecke", "Depuis le Pont", 0x020D }, - { "From Lost Woods", "Von den verlorenen Waeldern", "Depuis les Bois Perdus", 0x0286 }, - { "From Deku Tree", "Vom Deku-Baum", "Depuis l'Arbre Mojo", 0x0209 }, - { "From Kokiri Shop", "Vom Kokiri-Laden", "Depuis la Boutique Kokiri", 0x0266 }, - { "From Know-It-All Brothers House", "Vom Haus der Allwissenden Brueder", "Depuis la Cabane des Freres Je-Sais-Tout", 0x026A }, - { "From Twins House", "Vom Haus der Zwillinge", "Depuis la Cabane des Jumeaux", 0x033C }, - { "From Midos House", "Von Midos Haus", "Depuis la Cabane du Grand Mido", 0x0443 }, - { "From Sarias House", "Von Salias Haus", "Depuis la Cabane de Saria", 0x0447 }, + { "From Links House", "Von Links Haus", "Depuis la Cabane de Link", 0x0211, 0 }, + { "From Bridge", "Von der Bruecke", "Depuis le Pont", 0x020D, 0 }, + { "From Lost Woods", "Von den verlorenen Waeldern", "Depuis les Bois Perdus", 0x0286, 0 }, + { "From Deku Tree", "Vom Deku-Baum", "Depuis l'Arbre Mojo", 0x0209, 0 }, + { "From Kokiri Shop", "Vom Kokiri-Laden", "Depuis la Boutique Kokiri", 0x0266, 0 }, + { "From Know-It-All Brothers House", "Vom Haus der Allwissenden Brueder", "Depuis la Cabane des Freres Je-Sais-Tout", 0x026A, 0 }, + { "From Twins House", "Vom Haus der Zwillinge", "Depuis la Cabane des Jumeaux", 0x033C, 0 }, + { "From Midos House", "Von Midos Haus", "Depuis la Cabane du Grand Mido", 0x0443, 0 }, + { "From Sarias House", "Von Salias Haus", "Depuis la Cabane de Saria", 0x0447, 0 }, }}, { " 3:Kokiri Buildings", " 3:Kokiri Gebaeude", " 3:Cabanes des Kokiris", Select_LoadGame, 6, { - { "Links Bed", "Links Bett", "Lit de Link", 0x00BB }, - { "Kokiri Shop", "Kokiri-Laden", "Boutique Kokiri", 0x00C1 }, - { "Twins House", "Haus der Zwillinge", "Cabane des Jumeaux", 0x009C }, - { "Know-It-All Brothers House", "Haus der Allwissenden Brueder", "Cabane des Freres Je-Sais-Tout", 0x00C9 }, - { "Midos House", "Midos Haus", "Cabane du Grand Mido", 0x0433 }, - { "Sarias House", "Salias Haus", "Cabane de Sara", 0x0437 }, + { "Links Bed", "Links Bett", "Lit de Link", 0x00BB, 0 }, + { "Kokiri Shop", "Kokiri-Laden", "Boutique Kokiri", 0x00C1, 0 }, + { "Twins House", "Haus der Zwillinge", "Cabane des Jumeaux", 0x009C, 0 }, + { "Know-It-All Brothers House", "Haus der Allwissenden Brueder", "Cabane des Freres Je-Sais-Tout", 0x00C9, 0 }, + { "Midos House", "Midos Haus", "Cabane du Grand Mido", 0x0433, 0 }, + { "Sarias House", "Salias Haus", "Cabane de Sara", 0x0437, 0 }, }}, { " 4:Lost Woods", " 4:Verlorene Waelder", " 4:Bois Perdus", Select_LoadGame, 5, { - { "From Kokiri Forest", "Vom Kokiri-Wald", "Depuis la Foret Kokiri", 0x011E }, - { "From Sacred Meadow", "Von der Waldlichtung", "Depuis le Bosquet Sacre", 0x01A9 }, - { "From Goron City", "Vom Goronia", "Depuis le Village Goron", 0x04D6 }, - { "From Zora River", "Vom Zora-Fluss", "Depuis la Riviere Zora", 0x04DA }, - { "Bridge", "Bruecke", "Pont", 0x05E0 }, + { "From Kokiri Forest", "Vom Kokiri-Wald", "Depuis la Foret Kokiri", 0x011E, 0 }, + { "From Sacred Meadow", "Von der Waldlichtung", "Depuis le Bosquet Sacre", 0x01A9, 0 }, + { "From Goron City", "Vom Goronia", "Depuis le Village Goron", 0x04D6, 0 }, + { "From Zora River", "Vom Zora-Fluss", "Depuis la Riviere Zora", 0x04DA, 0 }, + { "Bridge", "Bruecke", "Pont", 0x05E0, 0 }, }}, { " 5:Sacred Forest Meadow", " 5:Waldlichtung", " 5:Bosquet Sacre", Select_LoadGame, 3, { - { "From Lost Woods", "Von den Verlorenen Waeldern", "Depuis les Bois Perdus", 0x00FC }, - { "From Forest Temple", "Vom Waldtempel", "Depuis le Temple de la Foret", 0x0215 }, - { "Minuet of Forest Warp", "Menuett des Waldes Teleport", "Teleporteur du Menuet des Bois", 0x0600 }, + { "From Lost Woods", "Von den Verlorenen Waeldern", "Depuis les Bois Perdus", 0x00FC, 0 }, + { "From Forest Temple", "Vom Waldtempel", "Depuis le Temple de la Foret", 0x0215, 0 }, + { "Minuet of Forest Warp", "Menuett des Waldes Teleport", "Teleporteur du Menuet des Bois", 0x0600, 0 }, }}, { " 6:Castle Town Entrance", " 6:Eingang zum Marktplatz", " 6:Entree du Bourg d'Hyrule", Select_LoadGame, 3, { - { "From Hyrule Field", "Von der Hylianischen Steppe", "Depuis la Plaine d'Hyrule", 0x0276 }, - { "From Market", "Vom Marktplatz", "Depuis la Place du Marche", 0x0033 }, - { "From Pot House", "Vom Wachposten", "Depuis la Maison des Jarres", 0x026E }, + { "From Hyrule Field", "Von der Hylianischen Steppe", "Depuis la Plaine d'Hyrule", 0x0276, 0 }, + { "From Market", "Vom Marktplatz", "Depuis la Place du Marche", 0x0033, 0 }, + { "From Pot House", "Vom Wachposten", "Depuis la Maison des Jarres", 0x026E, 0 }, }}, { " 7:Market", " 7:Marktplatz", " 7:Place du Marche", Select_LoadGame, 11, { - { "From Castle Town Entrance", "Vom Eingang zum Marktplatz", "Depuis l'Entree du Bourg d'Hyrule", 0x00B1 }, - { "From Shooting Gallery", "Von der Schiessbude", "Depuis le Jeu d'adresse", 0x01CD }, - { "From Happy Mask Shop", "Vom Maskenhaendler", "Depuis la Foire aux Masques", 0x01D1 }, - { "From Treasure Box Minigame", "Von der Truhenlotterie", "Depuis le Bowling Teigneux", 0x01D5 }, - { "From Castle", "Vom Schloss", "Depuis le Chateau d'Hyrule", 0x025A }, - { "From Temple of Time", "Von der Zitadelle der Zeit", "Depuis le Temple du Temps", 0x025E }, - { "From Back Alley (Right)", "Von der Seitenstrasse (Rechts)", "Depuis la Ruelle (Droite)", 0x0262 }, - { "From Back Alley (Left)", "Von der Seitenstrasse (Links)", "Depuis la Ruelle (Gauche)", 0x029E }, - { "From Potion Shop", "Vom Magie-Laden", "Depuis l'Apothicaire", 0x02A2 }, - { "From Bazaar Shop", "Vom Basar", "Depuis le Bazar", 0x03B8 }, - { "From Bomchu Bowling Minigame", "Von der Minenbowlingbahn", "Depuis le Bowling Teigneux", 0x03BC }, + { "From Castle Town Entrance", "Vom Eingang zum Marktplatz", "Depuis l'Entree du Bourg d'Hyrule", 0x00B1, 0 }, + { "From Shooting Gallery", "Von der Schiessbude", "Depuis le Jeu d'adresse", 0x01CD, 0 }, + { "From Happy Mask Shop", "Vom Maskenhaendler", "Depuis la Foire aux Masques", 0x01D1, 0 }, + { "From Treasure Box Minigame", "Von der Truhenlotterie", "Depuis le Bowling Teigneux", 0x01D5, 0 }, + { "From Castle", "Vom Schloss", "Depuis le Chateau d'Hyrule", 0x025A, 0 }, + { "From Temple of Time", "Von der Zitadelle der Zeit", "Depuis le Temple du Temps", 0x025E, 0 }, + { "From Back Alley (Right)", "Von der Seitenstrasse (Rechts)", "Depuis la Ruelle (Droite)", 0x0262, 0 }, + { "From Back Alley (Left)", "Von der Seitenstrasse (Links)", "Depuis la Ruelle (Gauche)", 0x029E, 0 }, + { "From Potion Shop", "Vom Magie-Laden", "Depuis l'Apothicaire", 0x02A2, 0 }, + { "From Bazaar Shop", "Vom Basar", "Depuis le Bazar", 0x03B8, 0 }, + { "From Bomchu Bowling Minigame", "Von der Minenbowlingbahn", "Depuis le Bowling Teigneux", 0x03BC, 0 }, }}, { " 8:Castle Town Alley", " 8:Seitenstrasse", " 8:Ruelle du Bourg d'Hyrule", Select_LoadGame, 5, { - { "From Market (Right)", "Vom Marktplatz (Rechts)", "Depuis la Place du Marche (Droite)", 0x00AD }, - { "From Market (Left)", "Vom Marktplatz (Links)", "Depuis la Place du Marche (Gauche)", 0x029A }, - { "From Alley House", "Vom Seitenstrassenhaus", "Depuis la Maison de la Ruelle", 0x0067 }, - { "From Dog House", "Vom Haus der Hunde-Dame", "Depuis la Maison du Chien", 0x038C }, - { "From Bombchu Shop", "Vom Krabbelminen-Laden", "Depuis le Magasin de Missiles", 0x03C0 }, + { "From Market (Right)", "Vom Marktplatz (Rechts)", "Depuis la Place du Marche (Droite)", 0x00AD, 0 }, + { "From Market (Left)", "Vom Marktplatz (Links)", "Depuis la Place du Marche (Gauche)", 0x029A, 0 }, + { "From Alley House", "Vom Seitenstrassenhaus", "Depuis la Maison de la Ruelle", 0x0067, 0 }, + { "From Dog House", "Vom Haus der Hunde-Dame", "Depuis la Maison du Chien", 0x038C, 0 }, + { "From Bombchu Shop", "Vom Krabbelminen-Laden", "Depuis le Magasin de Missiles", 0x03C0, 0 }, }}, { " 9:Castle Town Buildings", " 9:Marktplatz Gebaeude", " 9:Batiments du Bourg d'Hyrule", Select_LoadGame, 10, { - { "Pot House", "Wachposten", "Maison des Jarres", 0x007E }, - { "Shooting Gallery Minigame", "Schiessbude", "Jeu d'adresse", 0x016D }, - { "Treasure Box Minigame", "Truhenlotterie", "Chasse aux Tresors", 0x0063 }, - { "Potion Shop", "Magie-Laden", "Apothicaire", 0x0388 }, - { "Bombchu Bowling Minigame", "Minenbowlingbahn", "Bowling Teigneux", 0x0507 }, - { "Bazaar Shop", "Basar", "Bazar", 0x052C }, - { "Happy Mask Shop", "Maskenhaendler", "Foire aux Masques", 0x0530 }, - { "Bombchu Shop", "Krabbelminen-Laden", "Boutique de Missiles", 0x0528 }, - { "Dog House", "Haus der Hunde-Dame", "Maison du Chien", 0x0398 }, - { "Alley House", "Seitenstrassenhaus", "Maison de la Ruelle", 0x043B }, + { "Pot House", "Wachposten", "Maison des Jarres", 0x007E, 0 }, + { "Shooting Gallery Minigame", "Schiessbude", "Jeu d'adresse", 0x016D, 0 }, + { "Treasure Box Minigame", "Truhenlotterie", "Chasse aux Tresors", 0x0063, 0 }, + { "Potion Shop", "Magie-Laden", "Apothicaire", 0x0388, 0 }, + { "Bombchu Bowling Minigame", "Minenbowlingbahn", "Bowling Teigneux", 0x0507, 0 }, + { "Bazaar Shop", "Basar", "Bazar", 0x052C, 0 }, + { "Happy Mask Shop", "Maskenhaendler", "Foire aux Masques", 0x0530, 0 }, + { "Bombchu Shop", "Krabbelminen-Laden", "Boutique de Missiles", 0x0528, 0 }, + { "Dog House", "Haus der Hunde-Dame", "Maison du Chien", 0x0398, 0 }, + { "Alley House", "Seitenstrassenhaus", "Maison de la Ruelle", 0x043B, 0 }, }}, { "10:Temple of Time", "10:Zitadelle der Zeit", "10:Temple du Temps", Select_LoadGame, 5, { - { "From Outside", "Von draussen", "Depuis l'Entree", 0x053 }, - { "From Master Sword Pedestal", "Vom Master-Schwert Podest", "Depuis le Piedestal de l'Epee de Legende", 0x02CA }, - { "Prelude of Light Warp", "Kantate des Lichts Teleport", "Teleporteur du Prelude de la Lumiere", 0x05F4 }, - { "Outside Temple of Time - From Market", "Vor der Zitadelle der Zeit - Vom Marktplatz", "Exterieur du Temple - Depuis la Place du Marche", 0x0171 }, - { "Outside Temple of Time - From Temple of Time", "Vor der Zitadelle der Zeit - Von der Zitadelle der Zeit", "Exterieur du Temple - Depuis le Temple", 0x0472 }, + { "From Outside", "Von draussen", "Depuis l'Entree", 0x053, 0 }, + { "From Master Sword Pedestal", "Vom Master-Schwert Podest", "Depuis le Piedestal de l'Epee de Legende", 0x02CA, 0 }, + { "Prelude of Light Warp", "Kantate des Lichts Teleport", "Teleporteur du Prelude de la Lumiere", 0x05F4, 0 }, + { "Outside Temple of Time - From Market", "Vor der Zitadelle der Zeit - Vom Marktplatz", "Exterieur du Temple - Depuis la Place du Marche", 0x0171, 0 }, + { "Outside Temple of Time - From Temple of Time", "Vor der Zitadelle der Zeit - Von der Zitadelle der Zeit", "Exterieur du Temple - Depuis le Temple", 0x0472, 0 }, }}, { "11:Hyrule Castle", "11:Schloss Hyrule", "11:Chateau d'Hyrule", Select_LoadGame, 5, { - { "From Market", "Vom Marktplatz", "Depuis la Place du Marche", 0x0138 }, - { "From Castle Courtyard", "Vom Burghof", "Depuis la Cour du Chateau", 0x023D }, - { "From Great Fairy", "Von der Feen-Quelle", "Depuis la Grande Fee", 0x0340 }, - { "From Courtyard Guard Capture", "Von Wachen-Festnahme", "Depuis la capture d'un Garde de la Cour", 0x04FA }, - { "Great Fairy", "Feen-Quelle", "Grande Fee", 0x04C2 }, + { "From Market", "Vom Marktplatz", "Depuis la Place du Marche", 0x0138, 0 }, + { "From Castle Courtyard", "Vom Burghof", "Depuis la Cour du Chateau", 0x023D, 0 }, + { "From Great Fairy", "Von der Feen-Quelle", "Depuis la Grande Fee", 0x0340, 0 }, + { "From Courtyard Guard Capture", "Von Wachen-Festnahme", "Depuis la capture d'un Garde de la Cour", 0x04FA, 0 }, + { "Great Fairy", "Feen-Quelle", "Grande Fee", 0x04C2, 0 }, }}, { "12:Hyrule Castle Courtyard", "12:Burghof", "12:Cour du Chateau", Select_LoadGame, 3, { - { "From Crawlspace", "Vom Kriechtunnel", "Depuis l'Entree", 0x007A }, - { "From Zelda", "Von Zelda", "Depuis Zelda", 0x0296 }, - { "Zeldas Courtyard", "Zeldas Burghof", "Depuis la Cour de Zelda", 0x0400 }, + { "From Crawlspace", "Vom Kriechtunnel", "Depuis l'Entree", 0x007A, 0 }, + { "From Zelda", "Von Zelda", "Depuis Zelda", 0x0296, 0 }, + { "Zeldas Courtyard", "Zeldas Burghof", "Depuis la Cour de Zelda", 0x0400, 0 }, }}, { "13:Lon Lon Ranch", "13:Lon Lon-Farm", "13:Ranch Lon Lon", Select_LoadGame, 4, { - { "From Hyrule Field", "Von der Hylianischen Steppe", "Depuis la Plaine d'Hyrule", 0x0157 }, - { "From Ranch House", "Vom Farmhaus", "Depuis la Maison du Ranch", 0x0378 }, - { "From Stables", "Vom Stall", "Depuis l'Etable", 0x042F }, - { "Epona Song Cutscene", "Eponas Song Cutscene", "Cinematique du Chant d'Epona", 0x02AE }, + { "From Hyrule Field", "Von der Hylianischen Steppe", "Depuis la Plaine d'Hyrule", 0x0157, 0 }, + { "From Ranch House", "Vom Farmhaus", "Depuis la Maison du Ranch", 0x0378, 0 }, + { "From Stables", "Vom Stall", "Depuis l'Etable", 0x042F, 0 }, + { "Epona Song Cutscene", "Eponas Song Cutscene", "Cinematique du Chant d'Epona", 0x02AE, 0 }, }}, { "14:Lon Lon Ranch Buildings", "14:Lon Lon-Farm Gebaeude", "14:Batiments du Ranch Lon Lon", Select_LoadGame, 3, { - { "Ranch House", "Farmhaus", "Maison du Ranch", 0x004F }, - { "Stables", "Stall", "Etable du Ranch", 0x02F9 }, - { "Back Tower", "Silo", "Silo du Ranch", 0x05D0 }, + { "Ranch House", "Farmhaus", "Maison du Ranch", 0x004F, 0 }, + { "Stables", "Stall", "Etable du Ranch", 0x02F9, 0 }, + { "Back Tower", "Silo", "Silo du Ranch", 0x05D0, 0 }, }}, { "15:Kakariko Village", "15:Kakariko", "15:Village Cocorico", Select_LoadGame, 15, { - { "From Hyrule Field", "Von der Hylianischen Steppe", "Depuis la Plaine d'Hyrule", 0x00DB }, - { "From Death Mountain", "Vom Todesberg", "Depuis le Mont du Peril", 0x0191 }, - { "From Graveyard", "Vom Friedhof", "Depuis le Cimetiere", 0x0195 }, - { "From Bazaar", "Vom Basar", "Depuis le Bazar", 0x0201 }, - { "From Bottom of Well", "Vom Grund des Brunnens", "Depuis le Puits", 0x02A6 }, - { "From Boss House", "Vom Haus des Bosses", "Depuis la Maison du Boss", 0x0349 }, - { "From Potion Shop", "Vom Magie-Laden", "Depuis l'Apothicaire", 0x044B }, - { "From Potion Shop (Back Entrance)", "Vom Magie-Laden (Hintereingang)", "Depuis l'Apothicaire (Entree Arriere)", 0x04FF }, - { "From Grannys Potion Shop", "Von Omas Magie-Laden", "Depuis l'Apothicaire (Vieille Femme)", 0x034D }, - { "From Impas House", "Von Impas Haus", "Depuis la Maison d'Impa", 0x0345 }, - { "From Impas House (Cow)", "Von Impas Haus (Kuh)", "Depuis la Maison d'Impa (Vache)", 0x05DC }, - { "From Windmill", "Von der Windmuehle", "Depuis le Moulin", 0x0351 }, - { "From Shooting Gallery", "Von der Schiessbude", "Depuis le Jeu d'adresse", 0x0463 }, - { "From Skulltula House", "Vom Skulltula Haus", "Depuis la Maison des Skulltulas", 0x04EE }, - { "Owl Drop Spot from Death Mountain", "Eulen-Absetzpunkt vom Todesberg", "Point de chute du Hibou depuis le Mont du Peril", 0x0554 }, + { "From Hyrule Field", "Von der Hylianischen Steppe", "Depuis la Plaine d'Hyrule", 0x00DB, 0 }, + { "From Death Mountain", "Vom Todesberg", "Depuis le Mont du Peril", 0x0191, 0 }, + { "From Graveyard", "Vom Friedhof", "Depuis le Cimetiere", 0x0195, 0 }, + { "From Bazaar", "Vom Basar", "Depuis le Bazar", 0x0201, 0 }, + { "From Bottom of Well", "Vom Grund des Brunnens", "Depuis le Puits", 0x02A6, 0 }, + { "From Boss House", "Vom Haus des Bosses", "Depuis la Maison du Boss", 0x0349, 0 }, + { "From Potion Shop", "Vom Magie-Laden", "Depuis l'Apothicaire", 0x044B, 0 }, + { "From Potion Shop (Back Entrance)", "Vom Magie-Laden (Hintereingang)", "Depuis l'Apothicaire (Entree Arriere)", 0x04FF, 0 }, + { "From Grannys Potion Shop", "Von Omas Magie-Laden", "Depuis l'Apothicaire (Vieille Femme)", 0x034D, 0 }, + { "From Impas House", "Von Impas Haus", "Depuis la Maison d'Impa", 0x0345, 0 }, + { "From Impas House (Cow)", "Von Impas Haus (Kuh)", "Depuis la Maison d'Impa (Vache)", 0x05DC, 0 }, + { "From Windmill", "Von der Windmuehle", "Depuis le Moulin", 0x0351, 0 }, + { "From Shooting Gallery", "Von der Schiessbude", "Depuis le Jeu d'adresse", 0x0463, 0 }, + { "From Skulltula House", "Vom Skulltula Haus", "Depuis la Maison des Skulltulas", 0x04EE, 0 }, + { "Owl Drop Spot from Death Mountain", "Eulen-Absetzpunkt vom Todesberg", "Point de chute du Hibou depuis le Mont du Peril", 0x0554, 0 }, }}, { "16:Kakariko Buildings", "16:Kakariko Gebaeude", "16:Batiments du Village Cocorico", Select_LoadGame, 9, { - { "Shooting Gallery Minigame", "Schiessbude", "Jeu d'adresse", 0x003B }, - { "Grannys Potion Shop", "Omas Magie-Laden", "Apothicaire (Vieille Femme)", 0x0072 }, - { "Bazaar Shop", "Basar", "Bazar", 0x00B7 }, - { "Potion Shop", "Magie-Laden", "Apothicaire", 0x0384 }, - { "Impas House", "Impas Haus", "Maison d'Impa", 0x039C }, - { "Impas House (Near Cow)", "Impas Haus (Kuh)", "Maison d'Impa (Vache)", 0x05C8 }, - { "Boss House", "Haus des Bosses", "Maison du Boss", 0x02FD }, - { "Windmill", "Windmuehle", "Moulin", 0x0453 }, - { "Skulltula House", "Skulltula Haus", "Maison des SKulltulas", 0x0550 }, + { "Shooting Gallery Minigame", "Schiessbude", "Jeu d'adresse", 0x003B, 0 }, + { "Grannys Potion Shop", "Omas Magie-Laden", "Apothicaire (Vieille Femme)", 0x0072, 0 }, + { "Bazaar Shop", "Basar", "Bazar", 0x00B7, 0 }, + { "Potion Shop", "Magie-Laden", "Apothicaire", 0x0384, 0 }, + { "Impas House", "Impas Haus", "Maison d'Impa", 0x039C, 0 }, + { "Impas House (Near Cow)", "Impas Haus (Kuh)", "Maison d'Impa (Vache)", 0x05C8, 0 }, + { "Boss House", "Haus des Bosses", "Maison du Boss", 0x02FD, 0 }, + { "Windmill", "Windmuehle", "Moulin", 0x0453, 0 }, + { "Skulltula House", "Skulltula Haus", "Maison des SKulltulas", 0x0550, 0 }, }}, { "17:Graveyard", "17:Friedhof", "17:Cimetiere", Select_LoadGame, 9, { - { "From Kakariko", "Von Kakariko", "Depuis l'Apothicaire", 0x00E4 }, - { "From Shadow Temple", "Vom Schattentempel", "Depuis le Temple de l'Ombre", 0x0205 }, - { "From Gravekeepers Hut", "Von der Huette des Totengraebers", "Depuis la Cabane du Fossoyeur", 0x0355 }, - { "From Dampes Grave", "Von Boris' Grab", "Depuis la Tombe d'Igor", 0x0359 }, - { "From Shield Grave", "Vom Schild-Grab", "Depuis la Tombe au Bouclier", 0x035D }, - { "From Redead Grave", "Vom Zombie-Grab", "Depuis la Tombe au Effrois", 0x0361 }, - { "From Royal Familys Tomb", "Vom Koenigsgrab", "Depuis la Tombe Royale", 0x050B }, - { "Inside Dampe's Hut", "Huette des Totengraebers", "A l'interieur de la Cabane du Fossoyeur", 0x030D }, - { "Nocturne of Shadow Warp", "Nocturne des Schattens Teleport", "Teleporteur du Nocturne de l'Ombre", 0x0568 }, + { "From Kakariko", "Von Kakariko", "Depuis l'Apothicaire", 0x00E4, 0 }, + { "From Shadow Temple", "Vom Schattentempel", "Depuis le Temple de l'Ombre", 0x0205, 0 }, + { "From Gravekeepers Hut", "Von der Huette des Totengraebers", "Depuis la Cabane du Fossoyeur", 0x0355, 0 }, + { "From Dampes Grave", "Von Boris' Grab", "Depuis la Tombe d'Igor", 0x0359, 0 }, + { "From Shield Grave", "Vom Schild-Grab", "Depuis la Tombe au Bouclier", 0x035D, 0 }, + { "From Redead Grave", "Vom Zombie-Grab", "Depuis la Tombe au Effrois", 0x0361, 0 }, + { "From Royal Familys Tomb", "Vom Koenigsgrab", "Depuis la Tombe Royale", 0x050B, 0 }, + { "Inside Dampe's Hut", "Huette des Totengraebers", "A l'interieur de la Cabane du Fossoyeur", 0x030D, 0 }, + { "Nocturne of Shadow Warp", "Nocturne des Schattens Teleport", "Teleporteur du Nocturne de l'Ombre", 0x0568, 0 }, }}, { "18:Graves", "18:Graeber", "18:Tombes", Select_LoadGame, 5, { - { "Dampes Grave Minigame", "Boris' Grab-Minispiel", "Tour du Cimetiere d'Igor", 0x044F }, - { "Royal Familys Tomb", "Koenigsgrab", "Tombe Royale", 0x002D }, - { "Royal Familys Tomb, Suns Song Cutscene", "Koenigsgrab, Hymne der Sonne Cutscene", "Tombe Royale, Cinematique du Chant du Soleil", 0x0574 }, - { "Treasure Chest Grave", "Schatzkisten Grab", "Tombe au Coffre", 0x004B }, - { "ReDead Grave", "Zombie Grab", "Tombe au Effrois", 0x031C }, + { "Dampes Grave Minigame", "Boris' Grab-Minispiel", "Tour du Cimetiere d'Igor", 0x044F, 0 }, + { "Royal Familys Tomb", "Koenigsgrab", "Tombe Royale", 0x002D, 0 }, + { "Royal Familys Tomb, Suns Song Cutscene", "Koenigsgrab, Hymne der Sonne Cutscene", "Tombe Royale, Cinematique du Chant du Soleil", 0x0574, 0 }, + { "Treasure Chest Grave", "Schatzkisten Grab", "Tombe au Coffre", 0x004B, 0 }, + { "ReDead Grave", "Zombie Grab", "Tombe au Effrois", 0x031C, 0 }, }}, { "19:Death Mountain Trail", "19:Gebirgspfad", "19:Mont du Peril", Select_LoadGame, 6, { - { "From Kakariko Village", "Von Kakariko", "Depuis le Village Cocorico", 0x013D }, - { "From Goron City", "Von Goronia", "Depuis le Village Goron", 0x01B9 }, - { "From Death Mountain Crater", "Vom Todeskrater", "Depuis le Cratere du Peril", 0x01BD }, - { "From Dodongos Cavern", "Von Dodongos Hoehle", "Depuis la Caverne Dodongo", 0x0242 }, - { "From Great Fairy", "Von der Feen-Quelle", "Depuis la Grande Fee", 0x045B }, - { "Great Fairy", "Feen-Quelle", "Grande Fee", 0x0315 }, + { "From Kakariko Village", "Von Kakariko", "Depuis le Village Cocorico", 0x013D, 0 }, + { "From Goron City", "Von Goronia", "Depuis le Village Goron", 0x01B9, 0 }, + { "From Death Mountain Crater", "Vom Todeskrater", "Depuis le Cratere du Peril", 0x01BD, 0 }, + { "From Dodongos Cavern", "Von Dodongos Hoehle", "Depuis la Caverne Dodongo", 0x0242, 0 }, + { "From Great Fairy", "Von der Feen-Quelle", "Depuis la Grande Fee", 0x045B, 0 }, + { "Great Fairy", "Feen-Quelle", "Grande Fee", 0x0315, 0 }, }}, { "20:Goron City", "20:Goronia", "20:Village Goron", Select_LoadGame, 5, { - { "From Death Mountain Trail", "Vom Gebirgspfad", "Depuis le Mont du Peril", 0x014D }, - { "From Death Mountain Crater", "Vom Todeskrater", "Depuis le Cratere du Peril", 0x01C1 }, - { "From Goron City Shop", "Vom Goronen-Laden", "Depuis la Boutique Goron", 0x03FC }, - { "From Lost Woods", "Von den Verlorenen Waeldern", "Depuis les Bois Perdus", 0x04E2 }, - { "Goron City Shop", "Goronen-Laden", "Boutique Goron", 0x037C }, + { "From Death Mountain Trail", "Vom Gebirgspfad", "Depuis le Mont du Peril", 0x014D, 0 }, + { "From Death Mountain Crater", "Vom Todeskrater", "Depuis le Cratere du Peril", 0x01C1, 0 }, + { "From Goron City Shop", "Vom Goronen-Laden", "Depuis la Boutique Goron", 0x03FC, 0 }, + { "From Lost Woods", "Von den Verlorenen Waeldern", "Depuis les Bois Perdus", 0x04E2, 0 }, + { "Goron City Shop", "Goronen-Laden", "Boutique Goron", 0x037C, 0 }, }}, { "21:Death Mountain Crater", "21:Todeskrater", "21:Cratere du Peril", Select_LoadGame, 6, { - { "From Death Mountain Trail", "Vom Gebirgspfad", "Depuis le Mont du Peril", 0x0147 }, - { "From Goron City", "Von Goronia", "Depuis le Village Goron", 0x0246 }, - { "From Fire Temple", "Vom Feuertempel", "Depuis le Temple du Feu", 0x024A }, - { "From Fairy Fountain", "Von der Feen-Quelle", "Depuis la Fontaine des Fees", 0x0482 }, - { "Great Fairy", "Feen-Quelle", "Depuis la Grande Fee", 0x04BE }, - { "Bolero of Fire Warp", "Bolero des Feuers Teleport", "Teleporteur du Bolero du Feu", 0x04F6 }, + { "From Death Mountain Trail", "Vom Gebirgspfad", "Depuis le Mont du Peril", 0x0147, 0 }, + { "From Goron City", "Von Goronia", "Depuis le Village Goron", 0x0246, 0 }, + { "From Fire Temple", "Vom Feuertempel", "Depuis le Temple du Feu", 0x024A, 0 }, + { "From Fairy Fountain", "Von der Feen-Quelle", "Depuis la Fontaine des Fees", 0x0482, 0 }, + { "Great Fairy", "Feen-Quelle", "Depuis la Grande Fee", 0x04BE, 0 }, + { "Bolero of Fire Warp", "Bolero des Feuers Teleport", "Teleporteur du Bolero du Feu", 0x04F6, 0 }, }}, { "22:Zora River", "22:Zora-Fluss", "22:Riviere Zora", Select_LoadGame, 3, { - { "From Hyrule Field", "Von der Hylianischen Steppe", "Depuis la Plaine d'Hyrule", 0x00EA }, - { "From Zoras Domain", "Von Zoras Reich", "Depuis le Domaine Zora", 0x019D }, - { "From Lost Woods", "Von den Verlorenen Waeldern", "Depuis les Bois Perdus", 0x01DD }, + { "From Hyrule Field", "Von der Hylianischen Steppe", "Depuis la Plaine d'Hyrule", 0x00EA, 0 }, + { "From Zoras Domain", "Von Zoras Reich", "Depuis le Domaine Zora", 0x019D, 0 }, + { "From Lost Woods", "Von den Verlorenen Waeldern", "Depuis les Bois Perdus", 0x01DD, 0 }, }}, { "23:Zoras Domain", "23:Zoras Reich", "23:Domaine Zora", Select_LoadGame, 5, { - { "From Zora River", "Vom Zora-Fluss", "Depuis la Riviere Zora", 0x0108 }, - { "From Zoras Fountain", "Von Zoras Quelle", "Depuis la Fontaine Zora", 0x01A1 }, - { "From Lake Hylia", "Vom Hylia-See", "Depuis le Lac Hylia", 0x0328 }, - { "From Zora Shop", "Vom Zora-Laden", "Depuis la Boutique Zora", 0x03C4 }, - { "Zora Shop", "Zora-Laden", "Boutique Zora", 0x0380 }, + { "From Zora River", "Vom Zora-Fluss", "Depuis la Riviere Zora", 0x0108, 0 }, + { "From Zoras Fountain", "Von Zoras Quelle", "Depuis la Fontaine Zora", 0x01A1, 0 }, + { "From Lake Hylia", "Vom Hylia-See", "Depuis le Lac Hylia", 0x0328, 0 }, + { "From Zora Shop", "Vom Zora-Laden", "Depuis la Boutique Zora", 0x03C4, 0 }, + { "Zora Shop", "Zora-Laden", "Boutique Zora", 0x0380, 0 }, }}, { "24:Zoras Fountain", "24:Zoras Quelle", "24:Fontaine Zora", Select_LoadGame, 5, { - { "From Zoras Domain", "Von Zoras Reich", "Depuis le Domaine Zora", 0x0225 }, - { "From Jabu Jabu", "Von Jabu-Jabu", "Depuis Jabu-Jabu", 0x0221 }, - { "From Ice Cavern", "Von der Eishoehle", "Depuis la Caverne Polaire", 0x03D4 }, - { "From Fairy Fountain", "Von der Feen-Quelle", "Depuis la Fontaine des Fees", 0x0394 }, - { "Great Fairy", "Feen-Quelle", "Grande Fee", 0x0371 }, + { "From Zoras Domain", "Von Zoras Reich", "Depuis le Domaine Zora", 0x0225, 0 }, + { "From Jabu Jabu", "Von Jabu-Jabu", "Depuis Jabu-Jabu", 0x0221, 0 }, + { "From Ice Cavern", "Von der Eishoehle", "Depuis la Caverne Polaire", 0x03D4, 0 }, + { "From Fairy Fountain", "Von der Feen-Quelle", "Depuis la Fontaine des Fees", 0x0394, 0 }, + { "Great Fairy", "Feen-Quelle", "Grande Fee", 0x0371, 0 }, }}, { "25:Lake Hylia", "25:Hylia-See", "25:Lac Hylia", Select_LoadGame, 7, { - { "From Hyrule Field", "Von der Hylianischen Steppe", "Depuis la Plaine d'Hyrule", 0x0102 }, - { "From Gerudo Valley", "Vom Gerudotal", "Depuis la Vallee Gerudo", 0x0219 }, - { "From Water Temple", "Vom Wassertempel", "Depuis le Temple de l'Eau", 0x021D }, - { "From Fishing Pond", "Vom Fischweiher", "Depuis l'Etang", 0x0309 }, - { "From Laboratory", "Vom Laboratorium", "Depuis le Laboratoire du Lac", 0x03CC }, - { "From Zoras Domain", "Von Zoras Reich", "Depuis le Domaine Zora", 0x0560 }, - { "Serenade Of Water Warp", "Serenade des Wassers Teleport", "Teleporteur de la Serenade de l'Eau", 0x0604 }, + { "From Hyrule Field", "Von der Hylianischen Steppe", "Depuis la Plaine d'Hyrule", 0x0102, 0 }, + { "From Gerudo Valley", "Vom Gerudotal", "Depuis la Vallee Gerudo", 0x0219, 0 }, + { "From Water Temple", "Vom Wassertempel", "Depuis le Temple de l'Eau", 0x021D, 0 }, + { "From Fishing Pond", "Vom Fischweiher", "Depuis l'Etang", 0x0309, 0 }, + { "From Laboratory", "Vom Laboratorium", "Depuis le Laboratoire du Lac", 0x03CC, 0 }, + { "From Zoras Domain", "Von Zoras Reich", "Depuis le Domaine Zora", 0x0560, 0 }, + { "Serenade Of Water Warp", "Serenade des Wassers Teleport", "Teleporteur de la Serenade de l'Eau", 0x0604, 0 }, }}, { "26:Lake Hylia Buildings", "26:Hylia-See Gebaeude", "26:Batiments du Lac Hylia", Select_LoadGame, 2, { - { "Laboratory", "Laboratorium", "Laboratoire du Lac", 0x0043 }, - { "Fishing Pond Minigame", "Fischweiher", "Etang", 0x045F }, + { "Laboratory", "Laboratorium", "Laboratoire du Lac", 0x0043, 0 }, + { "Fishing Pond Minigame", "Fischweiher", "Etang", 0x045F, 0 }, }}, { "27:Gerudo Valley", "27:Gerudotal", "27:Vallee Gerudo", Select_LoadGame, 5, { - { "From Hyrule Field", "Von der Hylianischen Steppe", "Depuis la Plaine d'Hyrule", 0x0117 }, - { "From Gerudo Fortress", "Von der Gerudo-Festung", "Depuis la Forteresse Gerudo", 0x022D }, - { "From Carpenter's Tent", "Vom Zelt der Zimmerleute", "Depuis la Tente du Charpentier", 0x03D0 }, - { "Carpenter's Tent/ Running Man Minigame", "Zelt der Zimmerleute/ Rennlaeufer Minispiel", "Tente du Charpentier/ Marathonien", 0x03A0 }, - { "Thrown out of Fortress", "Aus der Festung geworfen", "Expulsé de la Forteresse", 0x01A5 }, + { "From Hyrule Field", "Von der Hylianischen Steppe", "Depuis la Plaine d'Hyrule", 0x0117, 0 }, + { "From Gerudo Fortress", "Von der Gerudo-Festung", "Depuis la Forteresse Gerudo", 0x022D, 0 }, + { "From Carpenter's Tent", "Vom Zelt der Zimmerleute", "Depuis la Tente du Charpentier", 0x03D0, 0 }, + { "Carpenter's Tent/ Running Man Minigame", "Zelt der Zimmerleute/ Rennlaeufer Minispiel", "Tente du Charpentier/ Marathonien", 0x03A0, 0 }, + { "Thrown out of Fortress", "Aus der Festung geworfen", "Expulsé de la Forteresse", 0x01A5, 0 }, }}, { "28:Gerudo Fortress", "28:Gerudo-Festung", "28:Forteresse Gerudo", Select_LoadGame, 18, { - { "From Gerudo Valley", "Vom Gerudotal", "Depuis la Vallee Gerudo", 0x0129 }, - { "From Gerudo Training Grounds", "Von der Gerudo-Arena", "Depuis le Gymnase Gerudo", 0x03A8 }, - { "From Haunted Wasteland", "Von der Gespensterwueste", "Depuis le Desert Hante", 0x03AC }, - { "Horseback Riding Minigame", "Bogen zu Pferde Minispiel", "Archerie Montee", 0x03B0 }, - { "Gerudo Fortress Jail", "Gerudo-Festung Gefaengnis", "Prison de la Forteresse Gerudo", 0x03B4 }, - { "From Thieves Hideout (1)", "Vom Diebesversteck (1)", "Depuis le Repaire des Voleurs (1)", 0x0231 }, - { "From Thieves Hideout (2)", "Vom Diebesversteck (2)", "Depuis le Repaire des Voleurs (2)", 0x0235 }, - { "From Thieves Hideout (3)", "Vom Diebesversteck (3)", "Depuis le Repaire des Voleurs (3)", 0x0239 }, - { "From Thieves Hideout (4)", "Vom Diebesversteck (4)", "Depuis le Repaire des Voleurs (4)", 0x02AA }, - { "From Thieves Hideout (5)", "Vom Diebesversteck (5)", "Depuis le Repaire des Voleurs (5)", 0x02BA }, - { "From Thieves Hideout (6)", "Vom Diebesversteck (6)", "Depuis le Repaire des Voleurs (6)", 0x02BE }, - { "From Thieves Hideout (7)", "Vom Diebesversteck (7)", "Depuis le Repaire des Voleurs (7)", 0x02C2 }, - { "From Thieves Hideout (8)", "Vom Diebesversteck (8)", "Depuis le Repaire des Voleurs (8)", 0x02C6 }, - { "From Thieves Hideout (9)", "Vom Diebesversteck (9)", "Depuis le Repaire des Voleurs (9)", 0x02D2 }, - { "From Thieves Hideout (10)", "Vom Diebesversteck (10)", "Depuis le Repaire des Voleurs (10)", 0x02D6 }, - { "From Thieves Hideout (11)", "Vom Diebesversteck (11)", "Depuis le Repaire des Voleurs (11)", 0x02DA }, - { "From Thieves Hideout (12)", "Vom Diebesversteck (12)", "Depuis le Repaire des Voleurs (12)", 0x02DE }, - { "From Thieves Hideout (13)", "Vom Diebesversteck (13)", "Depuis le Repaire des Voleurs (13)", 0x03A4 }, + { "From Gerudo Valley", "Vom Gerudotal", "Depuis la Vallee Gerudo", 0x0129, 0 }, + { "From Gerudo Training Grounds", "Von der Gerudo-Arena", "Depuis le Gymnase Gerudo", 0x03A8, 0 }, + { "From Haunted Wasteland", "Von der Gespensterwueste", "Depuis le Desert Hante", 0x03AC, 0 }, + { "Horseback Riding Minigame", "Bogen zu Pferde Minispiel", "Archerie Montee", 0x03B0, 0 }, + { "Gerudo Fortress Jail", "Gerudo-Festung Gefaengnis", "Prison de la Forteresse Gerudo", 0x03B4, 0 }, + { "From Thieves Hideout (1)", "Vom Diebesversteck (1)", "Depuis le Repaire des Voleurs (1)", 0x0231, 0 }, + { "From Thieves Hideout (2)", "Vom Diebesversteck (2)", "Depuis le Repaire des Voleurs (2)", 0x0235, 0 }, + { "From Thieves Hideout (3)", "Vom Diebesversteck (3)", "Depuis le Repaire des Voleurs (3)", 0x0239, 0 }, + { "From Thieves Hideout (4)", "Vom Diebesversteck (4)", "Depuis le Repaire des Voleurs (4)", 0x02AA, 0 }, + { "From Thieves Hideout (5)", "Vom Diebesversteck (5)", "Depuis le Repaire des Voleurs (5)", 0x02BA, 0 }, + { "From Thieves Hideout (6)", "Vom Diebesversteck (6)", "Depuis le Repaire des Voleurs (6)", 0x02BE, 0 }, + { "From Thieves Hideout (7)", "Vom Diebesversteck (7)", "Depuis le Repaire des Voleurs (7)", 0x02C2, 0 }, + { "From Thieves Hideout (8)", "Vom Diebesversteck (8)", "Depuis le Repaire des Voleurs (8)", 0x02C6, 0 }, + { "From Thieves Hideout (9)", "Vom Diebesversteck (9)", "Depuis le Repaire des Voleurs (9)", 0x02D2, 0 }, + { "From Thieves Hideout (10)", "Vom Diebesversteck (10)", "Depuis le Repaire des Voleurs (10)", 0x02D6, 0 }, + { "From Thieves Hideout (11)", "Vom Diebesversteck (11)", "Depuis le Repaire des Voleurs (11)", 0x02DA, 0 }, + { "From Thieves Hideout (12)", "Vom Diebesversteck (12)", "Depuis le Repaire des Voleurs (12)", 0x02DE, 0 }, + { "From Thieves Hideout (13)", "Vom Diebesversteck (13)", "Depuis le Repaire des Voleurs (13)", 0x03A4, 0 }, }}, { "29:Thieves Hideout", "29:Diebesversteck", "29:Repaire des Voleurs", Select_LoadGame, 13, { - { "From Gerudo Fortress (1)", "Von der Gerudo-Festung (1)", "Depuis la Forteresse Gerudo (1)", 0x0486 }, - { "From Gerudo Fortress (2)", "Von der Gerudo-Festung (2)", "Depuis la Forteresse Gerudo (2)", 0x048A }, - { "From Gerudo Fortress (3)", "Von der Gerudo-Festung (3)", "Depuis la Forteresse Gerudo (3)", 0x048E }, - { "From Gerudo Fortress (4)", "Von der Gerudo-Festung (4)", "Depuis la Forteresse Gerudo (4)", 0x0492 }, - { "From Gerudo Fortress (5)", "Von der Gerudo-Festung (5)", "Depuis la Forteresse Gerudo (5)", 0x0496 }, - { "From Gerudo Fortress (6)", "Von der Gerudo-Festung (6)", "Depuis la Forteresse Gerudo (6)", 0x049A }, - { "From Gerudo Fortress (7)", "Von der Gerudo-Festung (7)", "Depuis la Forteresse Gerudo (7)", 0x049E }, - { "From Gerudo Fortress (8)", "Von der Gerudo-Festung (8)", "Depuis la Forteresse Gerudo (8)", 0x04A2 }, - { "From Gerudo Fortress (9)", "Von der Gerudo-Festung (9)", "Depuis la Forteresse Gerudo (9)", 0x04A6 }, - { "From Gerudo Fortress (10)", "Von der Gerudo-Festung (10)", "Depuis la Forteresse Gerudo (10)", 0x04AA }, - { "From Gerudo Fortress (11)", "Von der Gerudo-Festung (11)", "Depuis la Forteresse Gerudo (11)", 0x04AE }, - { "From Gerudo Fortress (12)", "Von der Gerudo-Festung (12)", "Depuis la Forteresse Gerudo (12)", 0x04B2 }, - { "From Gerudo Fortress (13)", "Von der Gerudo-Festung (13)", "Depuis la Forteresse Gerudo (13)", 0x0570 }, + { "From Gerudo Fortress (1)", "Von der Gerudo-Festung (1)", "Depuis la Forteresse Gerudo (1)", 0x0486, 0 }, + { "From Gerudo Fortress (2)", "Von der Gerudo-Festung (2)", "Depuis la Forteresse Gerudo (2)", 0x048A, 0 }, + { "From Gerudo Fortress (3)", "Von der Gerudo-Festung (3)", "Depuis la Forteresse Gerudo (3)", 0x048E, 0 }, + { "From Gerudo Fortress (4)", "Von der Gerudo-Festung (4)", "Depuis la Forteresse Gerudo (4)", 0x0492, 0 }, + { "From Gerudo Fortress (5)", "Von der Gerudo-Festung (5)", "Depuis la Forteresse Gerudo (5)", 0x0496, 0 }, + { "From Gerudo Fortress (6)", "Von der Gerudo-Festung (6)", "Depuis la Forteresse Gerudo (6)", 0x049A, 0 }, + { "From Gerudo Fortress (7)", "Von der Gerudo-Festung (7)", "Depuis la Forteresse Gerudo (7)", 0x049E, 0 }, + { "From Gerudo Fortress (8)", "Von der Gerudo-Festung (8)", "Depuis la Forteresse Gerudo (8)", 0x04A2, 0 }, + { "From Gerudo Fortress (9)", "Von der Gerudo-Festung (9)", "Depuis la Forteresse Gerudo (9)", 0x04A6, 0 }, + { "From Gerudo Fortress (10)", "Von der Gerudo-Festung (10)", "Depuis la Forteresse Gerudo (10)", 0x04AA, 0 }, + { "From Gerudo Fortress (11)", "Von der Gerudo-Festung (11)", "Depuis la Forteresse Gerudo (11)", 0x04AE, 0 }, + { "From Gerudo Fortress (12)", "Von der Gerudo-Festung (12)", "Depuis la Forteresse Gerudo (12)", 0x04B2, 0 }, + { "From Gerudo Fortress (13)", "Von der Gerudo-Festung (13)", "Depuis la Forteresse Gerudo (13)", 0x0570, 0 }, }}, { "30:Haunted Wasteland", "30:Geisterwueste", "30:Desert Hante", Select_LoadGame, 2, { - { "From Gerudo Fortress", "Von der Gerudo-Festung", "Depuis la Forteresse Gerudo", 0x0130 }, - { "From Desert Colossus", "Vom Wuestenkoloss", "Depuis le Colosse du Desert", 0x0365 }, + { "From Gerudo Fortress", "Von der Gerudo-Festung", "Depuis la Forteresse Gerudo", 0x0130, 0 }, + { "From Desert Colossus", "Vom Wuestenkoloss", "Depuis le Colosse du Desert", 0x0365, 0 }, }}, { "31:Desert Colossus", "31:Wuestenkoloss", "31:Colosse du Desert", Select_LoadGame, 7, { - { "From Haunted Wasteland", "Von der Geisterwueste", "Depuis le Desert Hante", 0x0123 }, - { "From Spirit Temple", "Vom Geistertempel", "Depuis le Temple de l'Esprit", 0x01E1 }, - { "From Spirit Temple (Left Hand)", "Vom Geistertempel (Linke Hand)", "Depuis le Temple de l'Esprit (Main Gauche)", 0x01E5 }, - { "From Spirit Temple (Right Hand)", "Vom Geistertempel (Rechte Hand)", "Depuis le Temple de l'Esprit (Main Droite)", 0x01E9 }, - { "From Fairy Fountain", "Von der Feen-Quelle", "Depuis la Fontaine des Fees", 0x057C }, - { "Great Fairy", "Feen-Quelle", "Grande Fee", 0x0588 }, - { "Requiem of Spirit Warp", "Requiem der Geister Teleport", "Teleporteur du Requiem de l'Esprit", 0x01F1 }, + { "From Haunted Wasteland", "Von der Geisterwueste", "Depuis le Desert Hante", 0x0123, 0 }, + { "From Spirit Temple", "Vom Geistertempel", "Depuis le Temple de l'Esprit", 0x01E1, 0 }, + { "From Spirit Temple (Left Hand)", "Vom Geistertempel (Linke Hand)", "Depuis le Temple de l'Esprit (Main Gauche)", 0x01E5, 0 }, + { "From Spirit Temple (Right Hand)", "Vom Geistertempel (Rechte Hand)", "Depuis le Temple de l'Esprit (Main Droite)", 0x01E9, 0 }, + { "From Fairy Fountain", "Von der Feen-Quelle", "Depuis la Fontaine des Fees", 0x057C, 0 }, + { "Great Fairy", "Feen-Quelle", "Grande Fee", 0x0588, 0 }, + { "Requiem of Spirit Warp", "Requiem der Geister Teleport", "Teleporteur du Requiem de l'Esprit", 0x01F1, 0 }, }}, { "32:Deku Tree", "32:Deku-Baum", "32:Arbre Mojo", Select_LoadGame, 3, { - { "Entrance", "Eingang", "Entree", 0x0001 }, - { "From Gohma's Lair", "Vom Gohma Kampf", "Depuis le Repaire de Gohma", 0x0252 }, - { "Gohma's Lair", "Gohma Kampf", "Repaire de Gohma", 0x040F }, + { "Entrance", "Eingang", "Entree", 0x0001, 1 }, + { "From Gohma's Lair", "Vom Gohma Kampf", "Depuis le Repaire de Gohma", 0x0252, 1 }, + { "Gohma's Lair", "Gohma Kampf", "Repaire de Gohma", 0x040F, 0 }, }}, { "33:Dodongos Cavern", "33:Dodongos Hoehle", "33:Caverne Dodongo", Select_LoadGame, 3, { - { "Entrance", "Eingang", "Entree", 0x0004 }, - { "From King Dodongo", "Von King Dodongo", "Depuis le Repaire du Roi Dodongo", 0x00C5 }, - { "King Dodongo's Lair", "King Dodongo Kampf", "Repaire du Roi Dodongo", 0x040B }, + { "Entrance", "Eingang", "Entree", 0x0004, 1 }, + { "From King Dodongo", "Von King Dodongo", "Depuis le Repaire du Roi Dodongo", 0x00C5, 1 }, + { "King Dodongo's Lair", "King Dodongo Kampf", "Repaire du Roi Dodongo", 0x040B, 0 }, }}, { "34:Jabu Jabu", "34:Jabu-Jabu", "34:Jabu-Jabu", Select_LoadGame, 2, { - { "Entrance", "Eingang", "Entree", 0x0028 }, - { "Barinade's Lair", "Barinade Kampf", "Repaire de Barinade", 0x0301 }, + { "Entrance", "Eingang", "Entree", 0x0028, 1 }, + { "Barinade's Lair", "Barinade Kampf", "Repaire de Barinade", 0x0301, 0 }, }}, { "35:Forest Temple", "35:Waldtempel", "35:Temple de la Foret", Select_LoadGame, 4, { - { "Entrance", "Eingang", "Entree", 0x0169 }, - { "Crushing Room", "Der Fallende Decke Raum", "Salle de Broyage", 0x0584 }, - { "Before Phantom Ganon", "Vor Phantom-Ganon", "Avant Ganon Spectral", 0x024E }, - { "Phantom Ganon's Lair", "Phantom-Ganon Kampf", "Repaire de Ganon Spectral", 0x000C }, + { "Entrance", "Eingang", "Entree", 0x0169, 1 }, + { "Crushing Room", "Der Fallende Decke Raum", "Salle de Broyage", 0x0584, 1 }, + { "Before Phantom Ganon", "Vor Phantom-Ganon", "Avant Ganon Spectral", 0x024E, 1 }, + { "Phantom Ganon's Lair", "Phantom-Ganon Kampf", "Repaire de Ganon Spectral", 0x000C, 0 }, }}, { "36:Fire Temple", "36:Feuertempel", "36:Temple du Feu", Select_LoadGame, 3, { - { "Entrance", "Eingang", "Entrance", 0x0165 }, - { "Before Volvagia", "Vor Volvagia", "Avant Volvagia", 0x0175 }, - { "Volvagia's Lair", "Volvagia Kampf", "Repaire de Volcania", 0x0305 }, + { "Entrance", "Eingang", "Entrance", 0x0165, 1 }, + { "Before Volvagia", "Vor Volvagia", "Avant Volvagia", 0x0175, 1 }, + { "Volvagia's Lair", "Volvagia Kampf", "Repaire de Volcania", 0x0305, 0 }, }}, { "37:Water Temple", "37:Wassertempel", "37:Temple de l'Eau", Select_LoadGame, 2, { - { "Entrance", "Eingang", "Entree", 0x0010 }, - { "Morpha's Lair", "Morpha Kampf", "Repaire de Morpha", 0x0417 }, + { "Entrance", "Eingang", "Entree", 0x0010, 1 }, + { "Morpha's Lair", "Morpha Kampf", "Repaire de Morpha", 0x0417, 0 }, }}, { "38:Shadow Temple", "38:Schattentempel", "38:Temple de l'Ombre", Select_LoadGame, 3, { - { "Entrance", "Eingang", "Entree", 0x0037 }, - { "Outside Bongo Bongo", "Vor Bongo Bongo", "Avant Bongo Bongo", 0x02B2 }, - { "Bongo Bongo's Lair", "Bongo Bongo Kampf", "Repaire de Bongo Bongo", 0x0413 }, + { "Entrance", "Eingang", "Entree", 0x0037, 1 }, + { "Outside Bongo Bongo", "Vor Bongo Bongo", "Avant Bongo Bongo", 0x02B2, 1 }, + { "Bongo Bongo's Lair", "Bongo Bongo Kampf", "Repaire de Bongo Bongo", 0x0413, 1 }, }}, { "39:Spirit Temple", "39:Geistertempel", "39:Temple de l'Esprit", Select_LoadGame, 6, { - { "Entrance", "Eingang", "Entree", 0x0082 }, - { "From Left Hand", "Von der linken Hand", "Depuis la Main Gauche", 0x03F0 }, - { "From Right Hand", "Von der rechten Hand", "Depuis la Main Droite", 0x03F4 }, - { "Before Twinrova", "Vor den Killa Ohmaz", "Avant le Duo Malefique", 0x02F5 }, - { "Nabooru Fight", "Naboru Kampf", "Combat contre Nabooru", 0x008D }, - { "Twinrova's Lair", "Killa Ohmaz Kampf", "Repaire du Duo Malefique", 0x05EC }, + { "Entrance", "Eingang", "Entree", 0x0082, 1 }, + { "From Left Hand", "Von der linken Hand", "Depuis la Main Gauche", 0x03F0, 1 }, + { "From Right Hand", "Von der rechten Hand", "Depuis la Main Droite", 0x03F4, 1 }, + { "Before Twinrova", "Vor den Killa Ohmaz", "Avant le Duo Malefique", 0x02F5, 1 }, + { "Nabooru Fight", "Naboru Kampf", "Combat contre Nabooru", 0x008D, 0 }, + { "Twinrova's Lair", "Killa Ohmaz Kampf", "Repaire du Duo Malefique", 0x05EC, 0 }, }}, { "40:Ganons Castle", "40:Ganons Schloss", "40:Chateau de Ganon", Select_LoadGame, 9, { - { "Entrance", "Eingang", "Entree", 0x0467 }, - { "From Tower", "Vom Tower", "Depuis la Tour", 0x0534 }, - { "Stairs to Lair - From Castle", "Stufen zum Verlies - Vom Schloss", "Escaliers vers Repaire - Depuis le Chateau", 0x041B }, - { "Stairs to Lair - From Ganondorf's Lair", "Stufen zum Verlies - Von Ganondorfs Verlies", "Escaliers vers Repaire - Depuis le Repaire de Ganondorf", 0x0427 }, - { "Ganondorf's Lair", "Ganondorfs Verlies", "Repaire de Ganondorf", 0x041F }, - { "Ganondorf Defeated", "Ganondorf Besiegt", "Ganondorf Vaincu", 0x01C9 }, - { "Ganondorf Defeated (2)", "Ganondorf Besiegt (2)", "Ganondorf Vaincu (2)", 0x04BA }, - { "Ganon's Lair", "Ganon Kampf", "Repaire de Ganon", 0x0517 }, - { "Ganon Death Cutscene", "Ganon Todes Cutscene", "Cinematique de la Mort de Ganon", 0x043F }, + { "Entrance", "Eingang", "Entree", 0x0467, 1 }, + { "From Tower", "Vom Tower", "Depuis la Tour", 0x0534, 1 }, + { "Stairs to Lair - From Castle", "Stufen zum Verlies - Vom Schloss", "Escaliers vers Repaire - Depuis le Chateau", 0x041B, 0 }, + { "Stairs to Lair - From Ganondorf's Lair", "Stufen zum Verlies - Von Ganondorfs Verlies", "Escaliers vers Repaire - Depuis le Repaire de Ganondorf", 0x0427, 0 }, + { "Ganondorf's Lair", "Ganondorfs Verlies", "Repaire de Ganondorf", 0x041F, 0 }, + { "Ganondorf Defeated", "Ganondorf Besiegt", "Ganondorf Vaincu", 0x01C9, 0 }, + { "Ganondorf Defeated (2)", "Ganondorf Besiegt (2)", "Ganondorf Vaincu (2)", 0x04BA, 0 }, + { "Ganon's Lair", "Ganon Kampf", "Repaire de Ganon", 0x0517, 0 }, + { "Ganon Death Cutscene", "Ganon Todes Cutscene", "Cinematique de la Mort de Ganon", 0x043F, 0 }, }}, { "41:Bottom of the Well", "41:Grund des Brunnens", "41:Puits", Select_LoadGame, 1, { - { "Entrance", "Eingang", "Entree", 0x0098 }, + { "Entrance", "Eingang", "Entree", 0x0098, 1 }, }}, { "42:Ice Cavern", "42:Eishoehle", "42:Caverne Polaire", Select_LoadGame, 1, { - { "Entrance", "Eingang", "Entree", 0x0088 }, + { "Entrance", "Eingang", "Entree", 0x0088, 1 }, }}, { "43:Gerudo Training Grounds", "43:Gerudo-Arena", "43:Gymnase Gerudo", Select_LoadGame, 1, { - { "Entrance", "Eingang", "Entree", 0x0008 }, + { "Entrance", "Eingang", "Entree", 0x0008, 1 }, }}, { "44:Warps", "44:Teleportpunkte", "44:Teleporteurs", Select_LoadGame, 6, { - { "Prelude of Light Warp", "Kantate des Lichts Teleport", "Teleporteur du Prelude de la Lumiere", 0x05F4 }, - { "Minuet of Forest Warp", "Menuett des Waldes Teleport", "Teleporteur du Menuet des Bois", 0x0600 }, - { "Bolero of Fire Warp", "Bolero des Feuers Teleport", "Teleporteur du Bolero du Feu", 0x04F6 }, - { "Serenade Of Water Warp", "Serenade des Wassers Teleport", "Teleporteur de la Serenade de l'Eau", 0x0604 }, - { "Nocturne of Shadow Warp", "Nocturne des Schattens Teleport", "Teleporteur du Nocturne de l'Ombre", 0x0568 }, - { "Requiem of Spirit Warp", "Requiem der Geister Teleport", "Teleporteur du Requiem de l'Esprit", 0x01F1 }, + { "Prelude of Light Warp", "Kantate des Lichts Teleport", "Teleporteur du Prelude de la Lumiere", 0x05F4, 0 }, + { "Minuet of Forest Warp", "Menuett des Waldes Teleport", "Teleporteur du Menuet des Bois", 0x0600, 0 }, + { "Bolero of Fire Warp", "Bolero des Feuers Teleport", "Teleporteur du Bolero du Feu", 0x04F6, 0 }, + { "Serenade Of Water Warp", "Serenade des Wassers Teleport", "Teleporteur de la Serenade de l'Eau", 0x0604, 0 }, + { "Nocturne of Shadow Warp", "Nocturne des Schattens Teleport", "Teleporteur du Nocturne de l'Ombre", 0x0568, 0 }, + { "Requiem of Spirit Warp", "Requiem der Geister Teleport", "Teleporteur du Requiem de l'Esprit", 0x01F1, 0 }, }}, { "45:Shops", "45:Laeden", "45:Boutiques", Select_LoadGame, 9, { { "Kokiri Shop", "Kokiri-Laden", "Boutique Kokiri", 0x00C1 }, - { "Potion Shop (Market)", "Magie-Laden (Marktplatz)", "Apothicaire (Place du Marche)", 0x0388 }, - { "Bazaar Shop (Market)", "Basar (Marktplatz)", "Bazar (Place du Marche)", 0x052C }, - { "Happy Mask Shop", "Maskenhaendler", "Foire aux Masques", 0x0530 }, - { "Bombchu Shop", "Krabbelminen-Laden", "Boutique de Missiles", 0x0528 }, - { "Bazaar Shop (Kakariko)", "Basar (Kakariko)", "Bazar (Village Cocorico)", 0x00B7 }, - { "Potion Shop (Kakariko)", "Magie-Laden (Kakariko)", "Apothicaire (Village Cocorico)", 0x0384 }, - { "Goron City Shop", "Goronen-Laden", "Boutique Goron", 0x037C }, - { "Zora Shop", "Zora-Laden", "Boutique Zora", 0x0380 }, + { "Potion Shop (Market)", "Magie-Laden (Marktplatz)", "Apothicaire (Place du Marche)", 0x0388, 0 }, + { "Bazaar Shop (Market)", "Basar (Marktplatz)", "Bazar (Place du Marche)", 0x052C, 0 }, + { "Happy Mask Shop", "Maskenhaendler", "Foire aux Masques", 0x0530, 0 }, + { "Bombchu Shop", "Krabbelminen-Laden", "Boutique de Missiles", 0x0528, 0 }, + { "Bazaar Shop (Kakariko)", "Basar (Kakariko)", "Bazar (Village Cocorico)", 0x00B7, 0 }, + { "Potion Shop (Kakariko)", "Magie-Laden (Kakariko)", "Apothicaire (Village Cocorico)", 0x0384, 0 }, + { "Goron City Shop", "Goronen-Laden", "Boutique Goron", 0x037C, 0 }, + { "Zora Shop", "Zora-Laden", "Boutique Zora", 0x0380, 0 }, }}, { "46:Great Fairies", "46:Feen-Quellen", "46:Grandes Fees", Select_LoadGame, 6, { - { "Hyrule Castle (Child)", "Schloss Hyrule (Kind)", "Chateau d'Hyrule (Enfant)", 0x0578 }, - { "Hyrule Castle (Adult)", "Schloss Hyrule (Erwachsener)", "Chateau d'Hyrule (Adult)", 0x04C2 }, - { "Death Mountain Trail", "Gebirgspfad", "Mont du Peril", 0x0315 }, - { "Death Mountain Crater", "Todeskrater", "Cratere du Peril", 0x04BE }, - { "Zoras Fountain", "Zoras Quelle", "Fontaine Zora", 0x0371 }, - { "Desert Colossus", "Wuestenkoloss", "Colosse du Desert", 0x0588 }, + { "Hyrule Castle (Child)", "Schloss Hyrule (Kind)", "Chateau d'Hyrule (Enfant)", 0x0578, 0 }, + { "Hyrule Castle (Adult)", "Schloss Hyrule (Erwachsener)", "Chateau d'Hyrule (Adult)", 0x04C2, 0 }, + { "Death Mountain Trail", "Gebirgspfad", "Mont du Peril", 0x0315, 0 }, + { "Death Mountain Crater", "Todeskrater", "Cratere du Peril", 0x04BE, 0 }, + { "Zoras Fountain", "Zoras Quelle", "Fontaine Zora", 0x0371, 0 }, + { "Desert Colossus", "Wuestenkoloss", "Colosse du Desert", 0x0588, 0 }, }}, { "47:Chest Grottos", "47:Truhen Grotten", "47:Grottes a Coffres", Select_Grotto_LoadGame, 11, { - { "Kokiri Forest (Song of Storms)", "Kokiri-Wald (Hymne des Sturms)", "Foret Kokiri (Chant des Tempetes)", 0x00 }, - { "Lost Woods", "Verlorene Waelder", "Bois Perdus", 0x01 }, - { "Sacred Forest Meadow", "Waldlichtung", "Bosquet Sacre", 0x02 }, - { "Hyrule Field (Near Market)", "Hylianische Steppe (Nahe Marktplatz)", "Plaine d'Hyrule (Pres de la Place du Marche)", 0x03 }, - { "Hyrule Field (Open Near Lake)", "Hylianische Steppe (Offen, beim Hylia-See)", "Plaine d'Hyrule (Deja ouverte pres du Lac)", 0x04 }, - { "Hyrule Field (SE Boulder)", "Hylianische Steppe (Felsen, S-O)", "Plaine d'Hyrule (Rocher a Gantelets)", 0x05 }, - { "Kakariko (Open)", "Kakariko (Offen)", "Village Cocorico (Deja Ouverte)", 0x06 }, - { "Kakariko (Redead)", "Kakariko (Zombies)", "Village Cocorico (Effrois)", 0x07 }, - { "Death Mountain Trail (Song of Storms)", "Gebirgspfad (Hymne des Sturms)", "Mont du Peril (Chant des Tempetes)", 0x08 }, - { "Death Mountain Crater", "Todeskrater", "Cratere du Peril", 0x09 }, - { "Zora River (Open)", "Zora-Fluss (Offen)", "Riviere Zora (Deja Ouverte)", 0x0A }, + { "Kokiri Forest (Song of Storms)", "Kokiri-Wald (Hymne des Sturms)", "Foret Kokiri (Chant des Tempetes)", 0x00, 0 }, + { "Lost Woods", "Verlorene Waelder", "Bois Perdus", 0x01, 0 }, + { "Sacred Forest Meadow", "Waldlichtung", "Bosquet Sacre", 0x02, 0 }, + { "Hyrule Field (Near Market)", "Hylianische Steppe (Nahe Marktplatz)", "Plaine d'Hyrule (Pres de la Place du Marche)", 0x03, 0 }, + { "Hyrule Field (Open Near Lake)", "Hylianische Steppe (Offen, beim Hylia-See)", "Plaine d'Hyrule (Deja ouverte pres du Lac)", 0x04, 0 }, + { "Hyrule Field (SE Boulder)", "Hylianische Steppe (Felsen, S-O)", "Plaine d'Hyrule (Rocher a Gantelets)", 0x05, 0 }, + { "Kakariko (Open)", "Kakariko (Offen)", "Village Cocorico (Deja Ouverte)", 0x06, 0 }, + { "Kakariko (Redead)", "Kakariko (Zombies)", "Village Cocorico (Effrois)", 0x07, 0 }, + { "Death Mountain Trail (Song of Storms)", "Gebirgspfad (Hymne des Sturms)", "Mont du Peril (Chant des Tempetes)", 0x08, 0 }, + { "Death Mountain Crater", "Todeskrater", "Cratere du Peril", 0x09, 0 }, + { "Zora River (Open)", "Zora-Fluss (Offen)", "Riviere Zora (Deja Ouverte)", 0x0A, 0 }, }}, { "48:Scrub Grottos", "48:Laubkerl Grotten", "48:Grottes des Pestes Marchandes", Select_Grotto_LoadGame, 10, { - { "Hyrule Field (Near Lake)", "Hylianische Steppe (beim Hylia-See)", "Plaine d'Hyrule (Pres du Lac)", 0x0B }, - { "Death Mountain Crater", "Todeskrater", "Cratere du Peril", 0x0C }, - { "Goron City", "Goronia", "Village Goron", 0x0D }, - { "Lon Lon Ranch", "Lon Lon-Farm", "Ranch Lon Lon", 0x0E }, - { "Lake Hylia", "Hylia-See", "Lac Hylia", 0x0F }, - { "Lost Woods", "Verlorene Waelder", "Bois Perdus", 0x10 }, - { "Zora River (Song of Storms)", "Zora-Fluss (Hymne des Sturms)", "Rivere Zora (Chant des Tempetes)", 0x11 }, - { "Sacred Forest Meadow (Song of Storms)", "Waldlichtung (Hymne des Sturms)", "Bosquet Scare (Chant des Tempetes)", 0x12 }, - { "Gerudo Valley (Song of Storms)", "Gerudotal (Hymne des Sturms)", "Vallee Gerudo (Chant des Tempetes)", 0x13 }, - { "Desert Colossus", "Wuestenkoloss", "Colosse du Desert", 0x14 }, + { "Hyrule Field (Near Lake)", "Hylianische Steppe (beim Hylia-See)", "Plaine d'Hyrule (Pres du Lac)", 0x0B, 0 }, + { "Death Mountain Crater", "Todeskrater", "Cratere du Peril", 0x0C, 0 }, + { "Goron City", "Goronia", "Village Goron", 0x0D, 0 }, + { "Lon Lon Ranch", "Lon Lon-Farm", "Ranch Lon Lon", 0x0E, 0 }, + { "Lake Hylia", "Hylia-See", "Lac Hylia", 0x0F, 0 }, + { "Lost Woods", "Verlorene Waelder", "Bois Perdus", 0x10, 0 }, + { "Zora River (Song of Storms)", "Zora-Fluss (Hymne des Sturms)", "Rivere Zora (Chant des Tempetes)", 0x11, 0 }, + { "Sacred Forest Meadow (Song of Storms)", "Waldlichtung (Hymne des Sturms)", "Bosquet Scare (Chant des Tempetes)", 0x12, 0 }, + { "Gerudo Valley (Song of Storms)", "Gerudotal (Hymne des Sturms)", "Vallee Gerudo (Chant des Tempetes)", 0x13, 0 }, + { "Desert Colossus", "Wuestenkoloss", "Colosse du Desert", 0x14, 0 }, }}, { "49:Other Grottos", "49:Andere Grotten", "49:Autres Grottes", Select_Grotto_LoadGame, 7, { - { "Scrub Theatre", "Waldbuehne", "Theatre Mojo", 0x15 }, - { "Spider Grotto (Hyrule Field)", "Spinnen-Grotte (Hylianische Steppe)", "Spider Araignee (Plaine d'Hyrule)", 0x16 }, - { "Spider Grotto (Hyrule Castle)", "Spinnen-Grotte (Schloss Hyrule)", "Grotte Araignee (Chateau d'Hyrule)", 0x17 }, - { "Cow Grotto (Hyrule Field)", "Kuh-Grotte (Hylianische Steppe)", "Grotte a Vache (Plaine d'Hyrule)", 0x18 }, - { "Cow Grotto (Death Mountain Trail)", "Kuh-Grotte (Gebirgspfad)", "Grotte a Vache (Chemin du Peril)", 0x19 }, - { "Flooded Grotto (Gerudo Valley)", "Geflutete Grotte (Gerudotal)", "Grotte Inondée (Vallee Gerudo)", 0x1A }, - { "Flooded Grotto (Hyrule Field)", "Geflutete Grotte (Hylianische Steppe)", "Grotte Inondée (Plaine d'Hyrule)", 0x1B }, + { "Scrub Theatre", "Waldbuehne", "Theatre Mojo", 0x15, 0 }, + { "Spider Grotto (Hyrule Field)", "Spinnen-Grotte (Hylianische Steppe)", "Spider Araignee (Plaine d'Hyrule)", 0x16, 0 }, + { "Spider Grotto (Hyrule Castle)", "Spinnen-Grotte (Schloss Hyrule)", "Grotte Araignee (Chateau d'Hyrule)", 0x17, 0 }, + { "Cow Grotto (Hyrule Field)", "Kuh-Grotte (Hylianische Steppe)", "Grotte a Vache (Plaine d'Hyrule)", 0x18, 0 }, + { "Cow Grotto (Death Mountain Trail)", "Kuh-Grotte (Gebirgspfad)", "Grotte a Vache (Chemin du Peril)", 0x19, 0 }, + { "Flooded Grotto (Gerudo Valley)", "Geflutete Grotte (Gerudotal)", "Grotte Inondée (Vallee Gerudo)", 0x1A, 0 }, + { "Flooded Grotto (Hyrule Field)", "Geflutete Grotte (Hylianische Steppe)", "Grotte Inondée (Plaine d'Hyrule)", 0x1B, 0 }, }}, { "50:Debug (Use with caution)", "50:Debug (Mit Vorsicht benutzen)", "50:Debug (A utiliser avec prudence)", Select_LoadGame, 10, { - { "Test Room", "Test Raum", "Salle de Test", 0x0520 }, - { "SRD Map", "SRD Karte", "Carte SRD", 0x0018 }, - { "Test Map", "Test Karte", "Carte de Test", 0x0094 }, - { "Treasure Chest Warp", "Schatzkisten Teleport", "Salle de Test - Objets", 0x0024 }, - { "Stalfos Miniboss Room", "Stalfos-Ritter Miniboss Raum", "Salle du Minoboss Stalfos", 0x001C }, - { "Stalfos Boss Room", "Stalfos-Ritter Boss Raum", "Salle de Boss Stalfos", 0x001C }, - { "Dark Link Room", "Schwarzer Link Raum", "Salle de Dark Link", 0x0047 }, - { "Shooting Gallery Duplicate", "Schiessbude (Duplikat)", "Jeu d'Adresse (Duplicata)", 0x02EA }, - { "Depth Test", "Tiefen Test", "Test de Profondeur", 0x00B6 }, - { "Hyrule Garden Game (Broken)", "Burghof - Wachen-Minispiel (Kaputt)", "Cour du chateau (Non Fonctionnel)", 0x0076 }, + { "Test Room", "Test Raum", "Salle de Test", 0x0520, 0 }, + { "SRD Map", "SRD Karte", "Carte SRD", 0x0018, 0 }, + { "Test Map", "Test Karte", "Carte de Test", 0x0094, 0 }, + { "Treasure Chest Warp", "Schatzkisten Teleport", "Salle de Test - Objets", 0x0024, 0 }, + { "Stalfos Miniboss Room", "Stalfos-Ritter Miniboss Raum", "Salle du Minoboss Stalfos", 0x001C, 0 }, + { "Stalfos Boss Room", "Stalfos-Ritter Boss Raum", "Salle de Boss Stalfos", 0x001C, 0 }, + { "Dark Link Room", "Schwarzer Link Raum", "Salle de Dark Link", 0x0047, 0 }, + { "Shooting Gallery Duplicate", "Schiessbude (Duplikat)", "Jeu d'Adresse (Duplicata)", 0x02EA, 0 }, + { "Depth Test", "Tiefen Test", "Test de Profondeur", 0x00B6, 0 }, + { "Hyrule Garden Game (Broken)", "Burghof - Wachen-Minispiel (Kaputt)", "Cour du chateau (Non Fonctionnel)", 0x0076, 0 }, }}, }; @@ -906,17 +916,29 @@ void Better_Select_UpdateMenu(SelectContext* this) { } } + if (CHECK_BTN_ALL(input->press.button, BTN_L)) { + //Hijacking opt as the "MQ" option for better select. Only change opt/play sound if displayed + if (this->betterScenes[this->currentScene].entrancePairs[this->pageDownIndex].canBeMQ) { + this->opt = this->opt ? 0 : 1; + if (this->opt) { + Audio_PlaySoundGeneral(NA_SE_IT_SWORD_PICKOUT, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + } else { + Audio_PlaySoundGeneral(NA_SE_IT_SWORD_PUTAWAY, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + } + } + } + if (CHECK_BTN_ALL(input->press.button, BTN_CLEFT) || CHECK_BTN_ALL(input->press.button, BTN_DLEFT)) { this->pageDownIndex--; Audio_PlaySoundGeneral(NA_SE_IT_SWORD_SWING, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); if (this->pageDownIndex < 0) { - this->pageDownIndex = this->betterScenes[this->currentScene].count - 1; + this->pageDownIndex = this->betterScenes[this->currentScene].entranceCount - 1; } } if (CHECK_BTN_ALL(input->press.button, BTN_CRIGHT) || CHECK_BTN_ALL(input->press.button, BTN_DRIGHT)) { this->pageDownIndex++; Audio_PlaySoundGeneral(NA_SE_IT_SWORD_SWING, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); - if (this->pageDownIndex > this->betterScenes[this->currentScene].count - 1) { + if (this->pageDownIndex > this->betterScenes[this->currentScene].entranceCount - 1) { this->pageDownIndex = 0; } } @@ -1379,6 +1401,19 @@ void Better_Select_PrintTimeSetting(SelectContext* this, GfxPrint* printer) { GfxPrint_Printf(printer, "%s", label); } +void Better_Select_PrintMQSetting(SelectContext* this, GfxPrint* printer) { + char* label; + + if (this->betterScenes[this->currentScene].entrancePairs[this->pageDownIndex].canBeMQ) { + label = this->opt ? "ON" : "OFF"; + + GfxPrint_SetPos(printer, 3, 25); + GfxPrint_SetColor(printer, 0, 150, 194, 255); + GfxPrint_Printf(printer, "(L)MQ:%s", label); + } + +} + void Select_DrawMenu(SelectContext* this) { GraphicsContext* gfxCtx = this->state.gfxCtx; GfxPrint* printer; @@ -1398,6 +1433,7 @@ void Select_DrawMenu(SelectContext* this) { Better_Select_PrintMenu(this, printer); Better_Select_PrintAgeSetting(this, printer, ((void)0, gSaveContext.linkAge)); Better_Select_PrintTimeSetting(this, printer); + Better_Select_PrintMQSetting(this, printer); } else { Select_PrintMenu(this, printer); Select_PrintAgeSetting(this, printer, ((void)0, gSaveContext.linkAge));