Add setting updater for rando logic setting (#6030)

This commit is contained in:
aMannus
2025-12-31 02:44:01 +01:00
committed by GitHub
parent 50c023b86b
commit 5d63146267
3 changed files with 16 additions and 0 deletions

View File

@@ -1271,6 +1271,7 @@ extern "C" void InitOTR(int argc, char* argv[]) {
conf->RegisterVersionUpdater(std::make_shared<SOH::ConfigVersion2Updater>());
conf->RegisterVersionUpdater(std::make_shared<SOH::ConfigVersion3Updater>());
conf->RegisterVersionUpdater(std::make_shared<SOH::ConfigVersion4Updater>());
conf->RegisterVersionUpdater(std::make_shared<SOH::ConfigVersion5Updater>());
conf->RunVersionUpdates();
SohGui::SetupGuiElements();

View File

@@ -11,6 +11,8 @@ ConfigVersion3Updater::ConfigVersion3Updater() : ConfigVersionUpdater(3) {
}
ConfigVersion4Updater::ConfigVersion4Updater() : ConfigVersionUpdater(4) {
}
ConfigVersion5Updater::ConfigVersion5Updater() : ConfigVersionUpdater(5) {
}
void ConfigVersion1Updater::Update(Ship::Config* conf) {
if (conf->GetInt("Window.Width", 640) == 640) {
@@ -122,4 +124,11 @@ void ConfigVersion4Updater::Update(Ship::Config* conf) {
CVarClear(migration.from.c_str());
}
}
void ConfigVersion5Updater::Update(Ship::Config* conf) {
// After removal of Vanilla, make sure it doesn't crash because of an out of range on the combobox
if (CVarGetInteger("gRandoSettings.LogicRules", 0) == 2) {
CVarSetInteger("gRandoSettings.LogicRules", 0);
}
}
} // namespace SOH

View File

@@ -24,4 +24,10 @@ class ConfigVersion4Updater final : public Ship::ConfigVersionUpdater {
ConfigVersion4Updater();
void Update(Ship::Config* conf);
};
class ConfigVersion5Updater final : public Ship::ConfigVersionUpdater {
public:
ConfigVersion5Updater();
void Update(Ship::Config* conf);
};
} // namespace SOH