From 3fc3de3b2c47ad97c628dc9856efc1fc3899de06 Mon Sep 17 00:00:00 2001 From: Kewlan Date: Mon, 12 Jun 2023 15:50:50 +0200 Subject: [PATCH] Move various settings to new "Gameplay Settings" submenu Also fixes issue with the amount for random key rings --- source/location_access/locacc_castle_town.cpp | 48 ++++---- source/settings.cpp | 109 ++++++++---------- 2 files changed, 71 insertions(+), 86 deletions(-) diff --git a/source/location_access/locacc_castle_town.cpp b/source/location_access/locacc_castle_town.cpp index 5d159373..85196ff4 100644 --- a/source/location_access/locacc_castle_town.cpp +++ b/source/location_access/locacc_castle_town.cpp @@ -195,33 +195,27 @@ void AreaTable_Init_CastleTown() { Entrance(CASTLE_GROUNDS, { [] { return true; } }), }); - areaTable[GANONS_CASTLE_GROUNDS] = Area( - "Ganon's Castle Grounds", "Castle Grounds", OUTSIDE_GANONS_CASTLE, NO_DAY_NIGHT_CYCLE, - { - EventAccess(&BuiltRainbowBridge, { [] { return CanBuildRainbowBridge; } }), - }, - { - // Locations //the terrain was lowered such that you can't get this GS - // with a simple sword slash - LocationAccess(OGC_GS, { [] { - return CanUse(DINS_FIRE) || CanUseProjectile || (CanJumpslash && LogicOutsideGanonsGS); - } }), - }, - { - // Exits - Entrance(CASTLE_GROUNDS, { [] { return AtNight; } }), - Entrance(OGC_GREAT_FAIRY_FOUNTAIN, { [] { return CanUse(GOLDEN_GAUNTLETS) && AtNight; } }), - Entrance(GANONS_CASTLE_LEDGE, - { [] { return BuiltRainbowBridge; }, - /*Glitched*/ - [] { - return (HasBombchus && CanDoGlitch(GlitchType::BombHover, GlitchDifficulty::NOVICE)) || - CanDoGlitch(GlitchType::HoverBoost, GlitchDifficulty::ADVANCED) || - (HoverBoots && CanShield && Bombs && - CanDoGlitch(GlitchType::SuperSlide, GlitchDifficulty::EXPERT)) || - (HoverBoots && CanDoGlitch(GlitchType::Megaflip, GlitchDifficulty::ADVANCED)); - } }), - }); + areaTable[GANONS_CASTLE_GROUNDS] = + Area("Ganon's Castle Grounds", "Castle Grounds", OUTSIDE_GANONS_CASTLE, NO_DAY_NIGHT_CYCLE, + { + EventAccess(&BuiltRainbowBridge, { [] { return CanBuildRainbowBridge; } }), + }, + {}, + { + // Exits + Entrance(CASTLE_GROUNDS, { [] { return AtNight; } }), + Entrance(OGC_GREAT_FAIRY_FOUNTAIN, { [] { return CanUse(GOLDEN_GAUNTLETS) && AtNight; } }), + Entrance(GANONS_CASTLE_LEDGE, + { [] { return BuiltRainbowBridge; }, + /*Glitched*/ + [] { + return (HasBombchus && CanDoGlitch(GlitchType::BombHover, GlitchDifficulty::NOVICE)) || + CanDoGlitch(GlitchType::HoverBoost, GlitchDifficulty::ADVANCED) || + (HoverBoots && CanShield && Bombs && + CanDoGlitch(GlitchType::SuperSlide, GlitchDifficulty::EXPERT)) || + (HoverBoots && CanDoGlitch(GlitchType::Megaflip, GlitchDifficulty::ADVANCED)); + } }), + }); areaTable[OGC_GREAT_FAIRY_FOUNTAIN] = Area("OGC Great Fairy Fountain", "OGC Great Fairy Fountain", NONE, NO_DAY_NIGHT_CYCLE, {}, diff --git a/source/settings.cpp b/source/settings.cpp index 52acee4b..eab766ec 100644 --- a/source/settings.cpp +++ b/source/settings.cpp @@ -236,7 +236,7 @@ Option LACSStoneCount = Option::U8 (2, "Stone Count", {NumOpts( Option LACSRewardCount = Option::U8 (2, "Reward Count", {NumOpts(0, 9)}, {lacsRewardCountDesc}, OptionCategory::Setting, 1, true); Option LACSDungeonCount = Option::U8 (2, "Dungeon Count", {NumOpts(0, 8)}, {lacsDungeonCountDesc}, OptionCategory::Setting, 1, true); Option LACSTokenCount = Option::U8 (2, "Token Count", {NumOpts(0, 100)}, {lacsTokenCountDesc}, OptionCategory::Setting, 1, true); -Option KeyRings = Option::U8 ("Key Rings", {"Off", "On", "Random"}, {keyRingDesc}); +Option KeyRings = Option::U8 ("Key Rings", {"All Off", "All On", "Choose", "Random"}, {keyRingDesc}); Option RingFortress = Option::Bool(2, "Gerudo Fortress", {"Off", "On"}, {keyRingDesc}, OptionCategory::Setting); Option RingForest = Option::Bool(2, "Forest Temple", {"Off", "On"}, {keyRingDesc}, OptionCategory::Setting); Option RingFire = Option::Bool(2, "Fire Temple", {"Off", "On"}, {keyRingDesc}, OptionCategory::Setting); @@ -295,8 +295,6 @@ Option NumRequiredCuccos = Option::U8 ("Cuccos to return", {NumOpts(0, Option KingZoraSpeed = Option::U8 ("King Zora Speed", {"Fast", "Vanilla", "Random", "Custom"}, {kingZoraSpeedFast, kingZoraSpeedVanilla, kingZoraSpeedRandom, kingZoraSpeedCustom}); Option ExactZoraSpeed = Option::U8 (2, "Exact Shuffle Count", {NumOpts(1, 128)}, {""}); Option CompleteMaskQuest = Option::Bool("Complete Mask Quest", {"Off", "On"}, {completeMaskDesc}); -Option KeepFWWarpPoint = Option::Bool("Keep FW Warp Point", {"Off", "On"}, {keepFWWarpPointDesc}); -Option FastBunnyHood = Option::Bool("Fast Bunny Hood", {"Off", "On"}, {fastBunnyHoodDesc}); std::vector