Merge pull request #1413 from aMannus/rando-key-colors-default

Rando: Enable key colors matching dungeon by default
This commit is contained in:
briaguya 2022-09-05 19:09:37 -04:00 committed by GitHub
commit bafd016cd9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 20 additions and 1 deletions

View File

@ -329,6 +329,7 @@ namespace SohImGui {
statsWindowOpen = CVar_GetS32("gStatsEnabled", 0);
CVar_RegisterS32("gRandomizeRupeeNames", 1);
CVar_RegisterS32("gRandoRelevantNavi", 1);
CVar_RegisterS32("gRandoMatchKeyColors", 1);
#ifdef __SWITCH__
Ship::Switch::SetupFont(io->Fonts);
#endif

View File

@ -907,6 +907,7 @@ void Randomizer::ParseRandomizerSettingsFile(const char* spoilerFileName) {
} else if (it.value() == "Anywhere") {
gSaveContext.randoSettings[index].value = 3;
}
break;
case RSK_KEYSANITY:
if(it.value() == "Start With") {
gSaveContext.randoSettings[index].value = 0;

View File

@ -1392,7 +1392,24 @@ namespace GameMenuBar {
UIWidgets::Tooltip(
"When obtaining rupees, randomize what the rupee is called in the textbox."
);
UIWidgets::PaddedEnhancementCheckbox("Key Colors Match Dungeon", "gRandoMatchKeyColors", true, false);
// Only disable the key colors checkbox when none of the keysanity settings are set to "Any Dungeon", "Overworld" or "Anywhere"
bool disableKeyColors = true;
if (OTRGlobals::Instance->gRandomizer->GetRandoSettingValue(RSK_KEYSANITY) > 2 ||
OTRGlobals::Instance->gRandomizer->GetRandoSettingValue(RSK_GERUDO_KEYS) > 0 ||
OTRGlobals::Instance->gRandomizer->GetRandoSettingValue(RSK_BOSS_KEYSANITY) > 2 ||
OTRGlobals::Instance->gRandomizer->GetRandoSettingValue(RSK_GANONS_BOSS_KEY) > 2 ||
!gSaveContext.n64ddFlag) {
disableKeyColors = false;
}
const char* disableKeyColorsText =
"This setting is disabled because a savefile is loaded without any key\n"
"shuffle settings set to \"Any Dungeon\", \"Overworld\" or \"Anywhere\"";
UIWidgets::PaddedEnhancementCheckbox("Key Colors Match Dungeon", "gRandoMatchKeyColors", true, false,
disableKeyColors, disableKeyColorsText);
UIWidgets::Tooltip(
"Matches the color of small keys and boss keys to the dungeon they belong to. "
"This helps identify keys from afar and adds a little bit of flair.\n\nThis only "