diff --git a/soh/soh/Enhancements/randomizer/3drando/spoiler_log.cpp b/soh/soh/Enhancements/randomizer/3drando/spoiler_log.cpp index e89ef248c..a418b8b5d 100644 --- a/soh/soh/Enhancements/randomizer/3drando/spoiler_log.cpp +++ b/soh/soh/Enhancements/randomizer/3drando/spoiler_log.cpp @@ -171,24 +171,10 @@ static void WriteShuffledEntrance(std::string sphereString, Entrance* entrance) } // Writes the settings (without excluded locations, starting inventory and tricks) to the spoilerLog document. -static void WriteSettings(const bool printAll = false) { - // auto parentNode = spoilerLog.NewElement("settings"); +static void WriteSettings() { auto ctx = Rando::Context::GetInstance(); auto allOptionGroups = ctx->GetSettings()->GetOptionGroups(); for (const Rando::OptionGroup& optionGroup : allOptionGroups) { - if (optionGroup.GetName() == "Timesaver Settings") { - for (const Rando::Option* option : optionGroup.GetOptions()) { - if (option->GetName() == "Big Poe Target Count" || option->GetName() == "Cuccos to return" || - option->GetName() == "Skip Epona Race" || option->GetName() == "Skip Tower Escape" || - option->GetName() == "Skip Child Stealth" || option->GetName() == "Complete Mask Quest" || - option->GetName() == "Skip Scarecrow's Song" || - option->GetName() == "Enable Glitch-Useful Cutscenes") { - std::string settingName = optionGroup.GetName() + ":" + option->GetName(); - jsonData["settings"][settingName] = option->GetSelectedOptionText(); - } - } - continue; - } if (optionGroup.GetContainsType() == Rando::OptionGroupType::DEFAULT && optionGroup.PrintInSpoiler()) { for (const Rando::Option* option : optionGroup.GetOptions()) { std::string settingName = optionGroup.GetName() + ":" + option->GetName(); @@ -196,13 +182,6 @@ static void WriteSettings(const bool printAll = false) { } } } - - // spoilerLog.RootElement()->InsertEndChild(parentNode); - - // for (const uint32_t key : allLocations) { - // ItemLocation* location = GetLocation(key); - // settingsJsonData["locations"][location->GetName()] = location->GetPlacedItemName().english; - // } } // Writes the excluded locations to the spoiler log, if there are any. diff --git a/soh/soh/Enhancements/randomizer/settings.cpp b/soh/soh/Enhancements/randomizer/settings.cpp index a17f27119..e56d2a5c0 100644 --- a/soh/soh/Enhancements/randomizer/settings.cpp +++ b/soh/soh/Enhancements/randomizer/settings.cpp @@ -1254,30 +1254,50 @@ void Settings::CreateOptions() { &mOptions[RSK_GOSSIP_STONE_HINTS], }; +//RANDOTODO refactor OptionGroups so we can actually make maintainable enum conversion. mSpoilerfileSettingNameToEnum = { { "Logic Options:Logic", RSK_LOGIC_RULES }, - { "Logic Options:Night Skulltula's Expect Sun's Song", RSK_SKULLS_SUNS_SONG }, - { "Logic Options:All Locations Reachable", RSK_ALL_LOCATIONS_REACHABLE }, - { "Item Pool Settings:Item Pool", RSK_ITEM_POOL }, - { "Item Pool Settings:Ice Traps", RSK_ICE_TRAPS }, { "Open Settings:Forest", RSK_FOREST }, { "Open Settings:Kakariko Gate", RSK_KAK_GATE }, { "Open Settings:Door of Time", RSK_DOOR_OF_TIME }, { "Open Settings:Zora's Fountain", RSK_ZORAS_FOUNTAIN }, + { "World Settings:Starting Age", RSK_STARTING_AGE }, { "Open Settings:Gerudo Fortress", RSK_GERUDO_FORTRESS }, { "Open Settings:Rainbow Bridge", RSK_RAINBOW_BRIDGE }, - { "Open Settings:Ganon's Trials", RSK_GANONS_TRIALS }, - { "Open Settings:Ganon's Trials Count", RSK_TRIAL_COUNT }, { "Open Settings:Stone Count", RSK_RAINBOW_BRIDGE_STONE_COUNT }, { "Open Settings:Medallion Count", RSK_RAINBOW_BRIDGE_MEDALLION_COUNT }, { "Open Settings:Reward Count", RSK_RAINBOW_BRIDGE_REWARD_COUNT }, { "Open Settings:Dungeon Count", RSK_RAINBOW_BRIDGE_DUNGEON_COUNT }, { "Open Settings:Token Count", RSK_RAINBOW_BRIDGE_TOKEN_COUNT }, { "Open Settings:Bridge Reward Options", RSK_BRIDGE_OPTIONS }, + { "Open Settings:Ganon's Trials", RSK_GANONS_TRIALS }, + { "Open Settings:Ganon's Trials Count", RSK_TRIAL_COUNT }, + { "Start with Ocarina", RSK_STARTING_OCARINA }, + { "Shuffle Settings:Shuffle Ocarinas", RSK_SHUFFLE_OCARINA }, + { "Shuffle Settings:Shuffle Ocarina Buttons", RSK_SHUFFLE_OCARINA_BUTTONS }, + { "Shuffle Settings:Shuffle Swim", RSK_SHUFFLE_SWIM }, + { "Start with Deku Shield", RSK_STARTING_DEKU_SHIELD }, + { "Start with Kokiri Sword", RSK_STARTING_KOKIRI_SWORD }, + { "Start with Master Sword", RSK_STARTING_MASTER_SWORD }, + { "Start with Zelda's Lullaby", RSK_STARTING_ZELDAS_LULLABY }, + { "Start with Epona's Song", RSK_STARTING_EPONAS_SONG }, + { "Start with Saria's Song", RSK_STARTING_SARIAS_SONG }, + { "Start with Sun's Song", RSK_STARTING_SUNS_SONG }, + { "Start with Song of Time", RSK_STARTING_SONG_OF_TIME }, + { "Start with Song of Storms", RSK_STARTING_SONG_OF_STORMS }, + { "Start with Minuet of Forest", RSK_STARTING_MINUET_OF_FOREST }, + { "Start with Bolero of Fire", RSK_STARTING_BOLERO_OF_FIRE }, + { "Start with Serenade of Water", RSK_STARTING_SERENADE_OF_WATER }, + { "Start with Requiem of Spirit", RSK_STARTING_REQUIEM_OF_SPIRIT }, + { "Start with Nocturne of Shadow", RSK_STARTING_NOCTURNE_OF_SHADOW }, + { "Start with Prelude of Light", RSK_STARTING_PRELUDE_OF_LIGHT }, + { "Shuffle Settings:Shuffle Kokiri Sword", RSK_SHUFFLE_KOKIRI_SWORD }, + { "Shuffle Settings:Shuffle Master Sword", RSK_SHUFFLE_MASTER_SWORD }, + { "Shuffle Settings:Shuffle Child's Wallet", RSK_SHUFFLE_CHILD_WALLET }, + { "Shuffle Settings:Include Tycoon Wallet", RSK_INCLUDE_TYCOON_WALLET }, { "Shuffle Settings:Shuffle Dungeon Rewards", RSK_SHUFFLE_DUNGEON_REWARDS }, - { "Shuffle Settings:Link's Pocket", RSK_LINKS_POCKET }, { "Shuffle Settings:Shuffle Songs", RSK_SHUFFLE_SONGS }, - { "Shuffle Settings:Shuffle Gerudo Membership Card", RSK_SHUFFLE_GERUDO_MEMBERSHIP_CARD }, + { "Shuffle Settings:Tokensanity", RSK_SHUFFLE_TOKENS }, { "Shuffle Settings:Shopsanity", RSK_SHOPSANITY }, { "Shuffle Settings:Shopsanity Specific Count", RSK_SHOPSANITY_COUNT }, { "Shuffle Settings:Shopsanity Prices", RSK_SHOPSANITY_PRICES }, @@ -1290,10 +1310,6 @@ void Settings::CreateOptions() { { "Shuffle Settings:Shopsanity Giants Wallet Weight", RSK_SHOPSANITY_PRICES_GIANT_WALLET_WEIGHT }, { "Shuffle Settings:Shopsanity Tycoon Wallet Weight", RSK_SHOPSANITY_PRICES_TYCOON_WALLET_WEIGHT }, { "Shuffle Settings:Shopsanity Affordable Prices", RSK_SHOPSANITY_PRICES_AFFORDABLE }, - { "Shuffle Settings:Fishsanity", RSK_FISHSANITY }, - { "Shuffle Settings:Pond Fish Count", RSK_FISHSANITY_POND_COUNT }, - { "Shuffle Settings:Split Pond Fish", RSK_FISHSANITY_AGE_SPLIT }, - { "Shuffle Settings:Shuffle Fishing Pole", RSK_SHUFFLE_FISHING_POLE }, { "Shuffle Settings:Scrub Shuffle", RSK_SHUFFLE_SCRUBS }, { "Shuffle Settings:Scrubs Prices", RSK_SCRUBS_PRICES }, { "Shuffle Settings:Scrubs Fixed Amount", RSK_SCRUBS_PRICES_FIXED_PRICE }, @@ -1307,94 +1323,12 @@ void Settings::CreateOptions() { { "Shuffle Settings:Scrubs Affordable Prices", RSK_SCRUBS_PRICES_AFFORDABLE }, { "Shuffle Settings:Beehive Shuffle", RSK_SHUFFLE_BEEHIVES }, { "Shuffle Settings:Shuffle Cows", RSK_SHUFFLE_COWS }, - { "Shuffle Settings:Tokensanity", RSK_SHUFFLE_TOKENS }, - { "Shuffle Settings:Shuffle Ocarinas", RSK_SHUFFLE_OCARINA }, - { "Shuffle Settings:Shuffle Ocarina Buttons", RSK_SHUFFLE_OCARINA_BUTTONS }, - { "Shuffle Settings:Shuffle Swim", RSK_SHUFFLE_SWIM }, - { "Shuffle Settings:Shuffle Adult Trade", RSK_SHUFFLE_ADULT_TRADE }, - { "Shuffle Settings:Shuffle Kokiri Sword", RSK_SHUFFLE_KOKIRI_SWORD }, - { "Shuffle Settings:Shuffle Master Sword", RSK_SHUFFLE_MASTER_SWORD }, - { "Shuffle Settings:Shuffle Child's Wallet", RSK_SHUFFLE_CHILD_WALLET }, - { "Shuffle Settings:Include Tycoon Wallet", RSK_INCLUDE_TYCOON_WALLET }, { "Shuffle Settings:Shuffle Weird Egg", RSK_SHUFFLE_WEIRD_EGG }, + { "Shuffle Settings:Shuffle Gerudo Membership Card", RSK_SHUFFLE_GERUDO_MEMBERSHIP_CARD }, { "Shuffle Settings:Shuffle Frog Song Rupees", RSK_SHUFFLE_FROG_SONG_RUPEES }, - { "Shuffle Settings:Shuffle Merchants", RSK_SHUFFLE_MERCHANTS }, - { "Shuffle Settings:Merchant Prices", RSK_MERCHANT_PRICES }, - { "Shuffle Settings:Merchant Fixed Amount", RSK_MERCHANT_PRICES_FIXED_PRICE }, - { "Shuffle Settings:Merchant Range 1", RSK_MERCHANT_PRICES_RANGE_1 }, - { "Shuffle Settings:Merchant Range 2", RSK_MERCHANT_PRICES_RANGE_2 }, - { "Shuffle Settings:Merchant No Wallet Weight", RSK_MERCHANT_PRICES_NO_WALLET_WEIGHT }, - { "Shuffle Settings:Merchant Child Wallet Weight", RSK_MERCHANT_PRICES_CHILD_WALLET_WEIGHT }, - { "Shuffle Settings:Merchant Adult Wallet Weight", RSK_MERCHANT_PRICES_ADULT_WALLET_WEIGHT }, - { "Shuffle Settings:Merchant Giants Wallet Weight", RSK_MERCHANT_PRICES_GIANT_WALLET_WEIGHT }, - { "Shuffle Settings:Merchant Tycoon Wallet Weight", RSK_MERCHANT_PRICES_TYCOON_WALLET_WEIGHT }, - { "Shuffle Settings:Merchant Affordable Prices", RSK_MERCHANT_PRICES_AFFORDABLE }, - { "Shuffle Settings:Shuffle 100 GS Reward", RSK_SHUFFLE_100_GS_REWARD }, - { "Shuffle Settings:Shuffle Boss Souls", RSK_SHUFFLE_BOSS_SOULS }, - { "Shuffle Settings:Shuffle Deku Stick Bag", RSK_SHUFFLE_DEKU_STICK_BAG }, - { "Shuffle Settings:Shuffle Deku Nut Bag", RSK_SHUFFLE_DEKU_NUT_BAG }, - { "Start with Deku Shield", RSK_STARTING_DEKU_SHIELD }, - { "Start with Kokiri Sword", RSK_STARTING_KOKIRI_SWORD }, - { "Start with Fairy Ocarina", RSK_STARTING_OCARINA }, - { "Start with Zelda's Lullaby", RSK_STARTING_ZELDAS_LULLABY }, - { "Start with Epona's Song", RSK_STARTING_EPONAS_SONG }, - { "Start with Saria's Song", RSK_STARTING_SARIAS_SONG }, - { "Start with Sun's Song", RSK_STARTING_SUNS_SONG }, - { "Start with Song of Time", RSK_STARTING_SONG_OF_TIME }, - { "Start with Song of Storms", RSK_STARTING_SONG_OF_STORMS }, - { "Start with Minuet of Forest", RSK_STARTING_MINUET_OF_FOREST }, - { "Start with Bolero of Fire", RSK_STARTING_BOLERO_OF_FIRE }, - { "Start with Serenade of Water", RSK_STARTING_SERENADE_OF_WATER }, - { "Start with Requiem of Spirit", RSK_STARTING_REQUIEM_OF_SPIRIT }, - { "Start with Nocturne of Shadow", RSK_STARTING_NOCTURNE_OF_SHADOW }, - { "Start with Prelude of Light", RSK_STARTING_PRELUDE_OF_LIGHT }, - { "Shuffle Dungeon Items:Maps/Compasses", RSK_SHUFFLE_MAPANDCOMPASS }, - { "Shuffle Dungeon Items:Small Keys", RSK_KEYSANITY }, - { "Shuffle Dungeon Items:Gerudo Fortress Keys", RSK_GERUDO_KEYS }, - { "Shuffle Dungeon Items:Boss Keys", RSK_BOSS_KEYSANITY }, - { "Shuffle Dungeon Items:Ganon's Boss Key", RSK_GANONS_BOSS_KEY }, - { "Shuffle Dungeon Items:Stone Count", RSK_LACS_STONE_COUNT }, - { "Shuffle Dungeon Items:Medallion Count", RSK_LACS_MEDALLION_COUNT }, - { "Shuffle Dungeon Items:Reward Count", RSK_LACS_REWARD_COUNT }, - { "Shuffle Dungeon Items:Dungeon Count", RSK_LACS_DUNGEON_COUNT }, - { "Shuffle Dungeon Items:Token Count", RSK_LACS_TOKEN_COUNT }, - { "Shuffle Dungeon Items:LACS Reward Options", RSK_LACS_OPTIONS }, - { "Shuffle Dungeon Items:Key Rings", RSK_KEYRINGS }, - { "Shuffle Dungeon Items:Keyring Dungeon Count", RSK_KEYRINGS_RANDOM_COUNT }, - { "Shuffle Dungeon Items:Gerudo Fortress Keyring", RSK_KEYRINGS_GERUDO_FORTRESS }, - { "Shuffle Dungeon Items:Forest Temple Keyring", RSK_KEYRINGS_FOREST_TEMPLE }, - { "Shuffle Dungeon Items:Fire Temple Keyring", RSK_KEYRINGS_FIRE_TEMPLE }, - { "Shuffle Dungeon Items:Water Temple Keyring", RSK_KEYRINGS_WATER_TEMPLE }, - { "Shuffle Dungeon Items:Spirit Temple Keyring", RSK_KEYRINGS_SPIRIT_TEMPLE }, - { "Shuffle Dungeon Items:Shadow Temple Keyring", RSK_KEYRINGS_SHADOW_TEMPLE }, - { "Shuffle Dungeon Items:Bottom of the Well Keyring", RSK_KEYRINGS_BOTTOM_OF_THE_WELL }, - { "Shuffle Dungeon Items:GTG Keyring", RSK_KEYRINGS_GTG }, - { "Shuffle Dungeon Items:Ganon's Castle Keyring", RSK_KEYRINGS_GANONS_CASTLE }, - { "World Settings:Starting Age", RSK_STARTING_AGE }, - // TODO: Ammo Drop settings - { "World Settings:Bombchu Drops", RSK_ENABLE_BOMBCHU_DROPS }, - { "World Settings:Bombchus in Logic", RSK_BOMBCHUS_IN_LOGIC }, - { "World Settings:Shuffle Entrances", RSK_SHUFFLE_ENTRANCES }, - { "World Settings:Dungeon Entrances", RSK_SHUFFLE_DUNGEON_ENTRANCES }, - { "World Settings:Boss Entrances", RSK_SHUFFLE_BOSS_ENTRANCES }, - { "World Settings:Overworld Entrances", RSK_SHUFFLE_OVERWORLD_ENTRANCES }, - { "World Settings:Interior Entrances", RSK_SHUFFLE_INTERIOR_ENTRANCES }, - { "World Settings:Grottos Entrances", RSK_SHUFFLE_GROTTO_ENTRANCES }, - { "World Settings:Owl Drops", RSK_SHUFFLE_OWL_DROPS }, - { "World Settings:Warp Songs", RSK_SHUFFLE_WARP_SONGS }, - { "World Settings:Overworld Spawns", RSK_SHUFFLE_OVERWORLD_SPAWNS }, - { "World Settings:Mixed Entrance Pools", RSK_MIXED_ENTRANCE_POOLS }, - { "World Settings:Mix Dungeons", RSK_MIX_DUNGEON_ENTRANCES }, - { "World Settings:Mix Bosses", RSK_MIX_BOSS_ENTRANCES }, - { "World Settings:Mix Overworld", RSK_MIX_OVERWORLD_ENTRANCES }, - { "World Settings:Mix Interiors", RSK_MIX_INTERIOR_ENTRANCES }, - { "World Settings:Mix Grottos", RSK_MIX_GROTTO_ENTRANCES }, - { "World Settings:Decouple Entrances", RSK_DECOUPLED_ENTRANCES }, - { "World Settings:Triforce Hunt", RSK_TRIFORCE_HUNT }, - { "World Settings:Triforce Hunt Total Pieces", RSK_TRIFORCE_HUNT_PIECES_TOTAL }, - { "World Settings:Triforce Hunt Required Pieces", RSK_TRIFORCE_HUNT_PIECES_REQUIRED }, + { "Item Pool Settings:Item Pool", RSK_ITEM_POOL }, + { "Item Pool Settings:Ice Traps", RSK_ICE_TRAPS }, { "Miscellaneous Settings:Gossip Stone Hints", RSK_GOSSIP_STONE_HINTS }, - { "Miscellaneous Settings:Hint Clarity", RSK_HINT_CLARITY }, { "Miscellaneous Settings:ToT Altar Hint", RSK_TOT_ALTAR_HINT }, { "Miscellaneous Settings:Ganondorf Hint", RSK_GANONDORF_HINT }, { "Miscellaneous Settings:Sheik Light Arrow Hint", RSK_SHEIK_LA_HINT }, @@ -1413,30 +1347,55 @@ void Settings::CreateOptions() { { "Miscellaneous Settings:Mask Shop Hint", RSK_MASK_SHOP_HINT }, { "Miscellaneous Settings:Biggoron's Hint", RSK_BIGGORON_HINT }, { "Miscellaneous Settings:Big Poes Hint", RSK_BIG_POES_HINT }, + { "Miscellaneous Settings:Chickens Hint", RSK_CHICKENS_HINT }, + { "Miscellaneous Settings:Malon Hint", RSK_MALON_HINT }, + { "Miscellaneous Settings:Horseback Archery Hint", RSK_HBA_HINT }, { "Miscellaneous Settings:Warp Song Hints", RSK_WARP_SONG_HINTS }, { "Miscellaneous Settings:Scrub Hint Text", RSK_SCRUB_TEXT_HINT }, { "Miscellaneous Settings:Merchant Hint Text", RSK_MERCHANT_TEXT_HINT }, { "Miscellaneous Settings:Fishing Pole Hint", RSK_FISHING_POLE_HINT }, + { "Miscellaneous Settings:Hint Clarity", RSK_HINT_CLARITY }, { "Miscellaneous Settings:Hint Distribution", RSK_HINT_DISTRIBUTION }, - { "Miscellaneous Settings:Blue Fire Arrows", RSK_BLUE_FIRE_ARROWS }, - { "Miscellaneous Settings:Sunlight Arrows", RSK_SUNLIGHT_ARROWS }, - { "Miscellaneous Settings:Infinite Upgrades", RSK_INFINITE_UPGRADES }, - { "Miscellaneous Settings:Skeleton Key", RSK_SKELETON_KEY }, + { "Shuffle Dungeon Items:Maps/Compasses", RSK_SHUFFLE_MAPANDCOMPASS }, + { "Shuffle Dungeon Items:Small Keys", RSK_KEYSANITY }, + { "Shuffle Dungeon Items:Gerudo Fortress Keys", RSK_GERUDO_KEYS }, + { "Shuffle Dungeon Items:Boss Keys", RSK_BOSS_KEYSANITY }, + { "Shuffle Dungeon Items:Ganon's Boss Key", RSK_GANONS_BOSS_KEY }, + { "Timesaver Settings:Skip Child Stealth", RSK_SKIP_CHILD_STEALTH }, { "Timesaver Settings:Skip Child Zelda", RSK_SKIP_CHILD_ZELDA }, { "Start with Consumables", RSK_STARTING_CONSUMABLES }, { "Full Wallets", RSK_FULL_WALLETS }, - { "Gold Skulltula Tokens", RSK_STARTING_SKULLTULA_TOKEN }, - { "Hearts", RSK_STARTING_HEARTS }, { "Timesaver Settings:Cuccos to return", RSK_CUCCO_COUNT }, { "Timesaver Settings:Big Poe Target Count", RSK_BIG_POE_COUNT }, - { "Timesaver Settings:Skip Child Stealth", RSK_SKIP_CHILD_STEALTH }, { "Timesaver Settings:Skip Epona Race", RSK_SKIP_EPONA_RACE }, { "Timesaver Settings:Complete Mask Quest", RSK_COMPLETE_MASK_QUEST }, { "Timesaver Settings:Skip Scarecrow's Song", RSK_SKIP_SCARECROWS_SONG }, { "Timesaver Settings:Enable Glitch-Useful Cutscenes", RSK_ENABLE_GLITCH_CUTSCENES }, + { "Logic Options:Night Skulltula's Expect Sun's Song", RSK_SKULLS_SUNS_SONG }, + { "Shuffle Settings:Shuffle Adult Trade", RSK_SHUFFLE_ADULT_TRADE }, + { "Shuffle Settings:Shuffle Merchants", RSK_SHUFFLE_MERCHANTS }, + { "Shuffle Settings:Merchant Prices", RSK_MERCHANT_PRICES }, + { "Shuffle Settings:Merchant Fixed Amount", RSK_MERCHANT_PRICES_FIXED_PRICE }, + { "Shuffle Settings:Merchant Range 1", RSK_MERCHANT_PRICES_RANGE_1 }, + { "Shuffle Settings:Merchant Range 2", RSK_MERCHANT_PRICES_RANGE_2 }, + { "Shuffle Settings:Merchant No Wallet Weight", RSK_MERCHANT_PRICES_NO_WALLET_WEIGHT }, + { "Shuffle Settings:Merchant Child Wallet Weight", RSK_MERCHANT_PRICES_CHILD_WALLET_WEIGHT }, + { "Shuffle Settings:Merchant Adult Wallet Weight", RSK_MERCHANT_PRICES_ADULT_WALLET_WEIGHT }, + { "Shuffle Settings:Merchant Giants Wallet Weight", RSK_MERCHANT_PRICES_GIANT_WALLET_WEIGHT }, + { "Shuffle Settings:Merchant Tycoon Wallet Weight", RSK_MERCHANT_PRICES_TYCOON_WALLET_WEIGHT }, + { "Shuffle Settings:Merchant Affordable Prices", RSK_MERCHANT_PRICES_AFFORDABLE }, + { "Miscellaneous Settings:Blue Fire Arrows", RSK_BLUE_FIRE_ARROWS }, + { "Miscellaneous Settings:Sunlight Arrows", RSK_SUNLIGHT_ARROWS }, + // TODO: Ammo Drop settings + { "World Settings:Bombchu Drops", RSK_ENABLE_BOMBCHU_DROPS }, + { "World Settings:Bombchus in Logic", RSK_BOMBCHUS_IN_LOGIC }, + { "Shuffle Settings:Link's Pocket", RSK_LINKS_POCKET }, { "World Settings:MQ Dungeon Setting", RSK_MQ_DUNGEON_RANDOM }, { "World Settings:MQ Dungeon Count", RSK_MQ_DUNGEON_COUNT }, { "World Settings:Set Dungeon Quests", RSK_MQ_DUNGEON_SET }, + { "Shuffle Dungeon Quest:Deku Tree", RSK_MQ_DEKU_TREE }, + { "Shuffle Dungeon Quest:Dodongo's Cavern", RSK_MQ_DODONGOS_CAVERN }, + { "Shuffle Dungeon Quest:Jabu-Jabu's Belly", RSK_MQ_JABU_JABU }, { "Shuffle Dungeon Quest:Forest Temple", RSK_MQ_FOREST_TEMPLE }, { "Shuffle Dungeon Quest:Fire Temple", RSK_MQ_FIRE_TEMPLE }, { "Shuffle Dungeon Quest:Water Temple", RSK_MQ_WATER_TEMPLE }, @@ -1446,6 +1405,55 @@ void Settings::CreateOptions() { { "Shuffle Dungeon Quest:Ice Cavern", RSK_MQ_ICE_CAVERN }, { "Shuffle Dungeon Quest:GTG", RSK_MQ_GTG }, { "Shuffle Dungeon Quest:Ganon's Castle", RSK_MQ_GANONS_CASTLE }, + { "Shuffle Dungeon Items:Stone Count", RSK_LACS_STONE_COUNT }, + { "Shuffle Dungeon Items:Medallion Count", RSK_LACS_MEDALLION_COUNT }, + { "Shuffle Dungeon Items:Reward Count", RSK_LACS_REWARD_COUNT }, + { "Shuffle Dungeon Items:Dungeon Count", RSK_LACS_DUNGEON_COUNT }, + { "Shuffle Dungeon Items:Token Count", RSK_LACS_TOKEN_COUNT }, + { "Shuffle Dungeon Items:LACS Reward Options", RSK_LACS_OPTIONS }, + { "Shuffle Dungeon Items:Key Rings", RSK_KEYRINGS }, + { "Shuffle Dungeon Items:Keyring Dungeon Count", RSK_KEYRINGS_RANDOM_COUNT }, + { "Shuffle Dungeon Items:Gerudo Fortress Keyring", RSK_KEYRINGS_GERUDO_FORTRESS }, + { "Shuffle Dungeon Items:Forest Temple Keyring", RSK_KEYRINGS_FOREST_TEMPLE }, + { "Shuffle Dungeon Items:Fire Temple Keyring", RSK_KEYRINGS_FIRE_TEMPLE }, + { "Shuffle Dungeon Items:Water Temple Keyring", RSK_KEYRINGS_WATER_TEMPLE }, + { "Shuffle Dungeon Items:Spirit Temple Keyring", RSK_KEYRINGS_SPIRIT_TEMPLE }, + { "Shuffle Dungeon Items:Shadow Temple Keyring", RSK_KEYRINGS_SHADOW_TEMPLE }, + { "Shuffle Dungeon Items:Bottom of the Well Keyring", RSK_KEYRINGS_BOTTOM_OF_THE_WELL }, + { "Shuffle Dungeon Items:GTG Keyring", RSK_KEYRINGS_GTG }, + { "Shuffle Dungeon Items:Ganon's Castle Keyring", RSK_KEYRINGS_GANONS_CASTLE }, + { "World Settings:Shuffle Entrances", RSK_SHUFFLE_ENTRANCES }, + { "World Settings:Dungeon Entrances", RSK_SHUFFLE_DUNGEON_ENTRANCES }, + { "World Settings:Overworld Entrances", RSK_SHUFFLE_OVERWORLD_ENTRANCES }, + { "World Settings:Interior Entrances", RSK_SHUFFLE_INTERIOR_ENTRANCES }, + { "World Settings:Grottos Entrances", RSK_SHUFFLE_GROTTO_ENTRANCES }, + { "World Settings:Owl Drops", RSK_SHUFFLE_OWL_DROPS }, + { "World Settings:Warp Songs", RSK_SHUFFLE_WARP_SONGS }, + { "World Settings:Overworld Spawns", RSK_SHUFFLE_OVERWORLD_SPAWNS }, + { "World Settings:Mixed Entrance Pools", RSK_MIXED_ENTRANCE_POOLS }, + { "World Settings:Mix Dungeons", RSK_MIX_DUNGEON_ENTRANCES }, + { "World Settings:Mix Bosses", RSK_MIX_BOSS_ENTRANCES }, + { "World Settings:Mix Overworld", RSK_MIX_OVERWORLD_ENTRANCES }, + { "World Settings:Mix Interiors", RSK_MIX_INTERIOR_ENTRANCES }, + { "World Settings:Mix Grottos", RSK_MIX_GROTTO_ENTRANCES }, + { "World Settings:Decouple Entrances", RSK_DECOUPLED_ENTRANCES }, + { "Gold Skulltula Tokens", RSK_STARTING_SKULLTULA_TOKEN }, + { "Hearts", RSK_STARTING_HEARTS }, + { "Logic Options:All Locations Reachable", RSK_ALL_LOCATIONS_REACHABLE }, + { "World Settings:Boss Entrances", RSK_SHUFFLE_BOSS_ENTRANCES }, + { "Shuffle Settings:Shuffle 100 GS Reward", RSK_SHUFFLE_100_GS_REWARD }, + { "World Settings:Triforce Hunt", RSK_TRIFORCE_HUNT }, + { "World Settings:Triforce Hunt Total Pieces", RSK_TRIFORCE_HUNT_PIECES_TOTAL }, + { "World Settings:Triforce Hunt Required Pieces", RSK_TRIFORCE_HUNT_PIECES_REQUIRED }, + { "Shuffle Settings:Shuffle Boss Souls", RSK_SHUFFLE_BOSS_SOULS }, + { "Shuffle Settings:Fishsanity", RSK_FISHSANITY }, + { "Shuffle Settings:Pond Fish Count", RSK_FISHSANITY_POND_COUNT }, + { "Shuffle Settings:Split Pond Fish", RSK_FISHSANITY_AGE_SPLIT }, + { "Shuffle Settings:Shuffle Fishing Pole", RSK_SHUFFLE_FISHING_POLE }, + { "Miscellaneous Settings:Infinite Upgrades", RSK_INFINITE_UPGRADES }, + { "Miscellaneous Settings:Skeleton Key", RSK_SKELETON_KEY }, + { "Shuffle Settings:Shuffle Deku Stick Bag", RSK_SHUFFLE_DEKU_STICK_BAG }, + { "Shuffle Settings:Shuffle Deku Nut Bag", RSK_SHUFFLE_DEKU_NUT_BAG }, }; }