Add setting updater for rando logic setting (#6030)
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user