diff --git a/src/dusk/ui/settings.cpp b/src/dusk/ui/settings.cpp index 3c89f34136..f14bb2343f 100644 --- a/src/dusk/ui/settings.cpp +++ b/src/dusk/ui/settings.cpp @@ -15,6 +15,7 @@ #include "dusk/io.hpp" #include "dusk/livesplit.h" #include "dusk/discord_presence.hpp" +#include "dusk/speedrun.h" #include "graphics_tuner.hpp" #include "m_Do/m_Do_main.h" #include "menu_bar.hpp" @@ -218,43 +219,6 @@ AuroraBackend configured_backend() { return configuredBackend; } -void reset_for_speedrun_mode() { - mDoMain::developmentMode = -1; - - getSettings().game.enableTurboKeybind.setSpeedrunValue(false); - - getSettings().game.damageMultiplier.setSpeedrunValue(1); - getSettings().game.instantDeath.setSpeedrunValue(false); - getSettings().game.noHeartDrops.setSpeedrunValue(false); - getSettings().game.autoSave.setSpeedrunValue(false); - getSettings().game.sunsSong.setSpeedrunValue(false); - - getSettings().game.infiniteHearts.setSpeedrunValue(false); - getSettings().game.infiniteArrows.setSpeedrunValue(false); - getSettings().game.infiniteSeeds.setSpeedrunValue(false); - getSettings().game.infiniteBombs.setSpeedrunValue(false); - getSettings().game.infiniteOil.setSpeedrunValue(false); - getSettings().game.infiniteOxygen.setSpeedrunValue(false); - getSettings().game.infiniteRupees.setSpeedrunValue(false); - getSettings().game.enableIndefiniteItemDrops.setSpeedrunValue(false); - getSettings().game.moonJump.setSpeedrunValue(false); - getSettings().game.superClawshot.setSpeedrunValue(false); - getSettings().game.alwaysGreatspin.setSpeedrunValue(false); - getSettings().game.enableFastIronBoots.setSpeedrunValue(false); - getSettings().game.canTransformAnywhere.setSpeedrunValue(false); - getSettings().game.fastRoll.setSpeedrunValue(false); - getSettings().game.fastSpinner.setSpeedrunValue(false); - getSettings().game.armorRupeeDrain.setSpeedrunValue(MagicArmorMode::NORMAL); - getSettings().game.invincibleEnemies.setSpeedrunValue(false); - - getSettings().game.pauseOnFocusLost.setSpeedrunValue(false); - aurora_set_pause_on_focus_lost(false); - - getSettings().backend.enableAdvancedSettings.setSpeedrunValue(false); - getSettings().game.recordingMode.setSpeedrunValue(false); - getSettings().game.debugFlyCam.setSpeedrunValue(false); -} - void clear_speedrun_overrides() { config::EnumerateRegistered([](config::ConfigVarBase& cvar) { cvar.clearSpeedrunOverride(); @@ -1325,7 +1289,7 @@ SettingsWindow::SettingsWindow(bool prelaunch) : mPrelaunch(prelaunch) { .onChange = [](bool enabled) { if (enabled) { - reset_for_speedrun_mode(); + resetForSpeedrunMode(); } else { restore_from_speedrun_mode(); if (getSettings().game.liveSplitEnabled) {