mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-07-10 12:54:50 -04:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a01c01b582 | |||
| 552b3ad353 |
@@ -37,5 +37,6 @@ struct SpeedrunInfo {
|
|||||||
extern SpeedrunInfo m_speedrunInfo;
|
extern SpeedrunInfo m_speedrunInfo;
|
||||||
|
|
||||||
void resetForSpeedrunMode();
|
void resetForSpeedrunMode();
|
||||||
|
void restoreFromSpeedrunMode();
|
||||||
|
|
||||||
} // namespace dusk
|
} // namespace dusk
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
#include "dusk/speedrun.h"
|
#include "dusk/speedrun.h"
|
||||||
#include "dusk/settings.h"
|
#include "dusk/settings.h"
|
||||||
|
#include "dusk/config.hpp"
|
||||||
#include "m_Do/m_Do_main.h"
|
#include "m_Do/m_Do_main.h"
|
||||||
#include <aurora/aurora.h>
|
#include <aurora/aurora.h>
|
||||||
|
|
||||||
@@ -44,4 +45,15 @@ void resetForSpeedrunMode() {
|
|||||||
getSettings().game.debugFlyCam.setSpeedrunValue(false);
|
getSettings().game.debugFlyCam.setSpeedrunValue(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void clear_speedrun_overrides() {
|
||||||
|
config::EnumerateRegistered([](config::ConfigVarBase& cvar) {
|
||||||
|
cvar.clearSpeedrunOverride();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
void restoreFromSpeedrunMode() {
|
||||||
|
clear_speedrun_overrides();
|
||||||
|
aurora_set_pause_on_focus_lost(getSettings().game.pauseOnFocusLost.getValue());
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace dusk
|
} // namespace dusk
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
#include "dusk/io.hpp"
|
#include "dusk/io.hpp"
|
||||||
#include "dusk/livesplit.h"
|
#include "dusk/livesplit.h"
|
||||||
#include "dusk/discord_presence.hpp"
|
#include "dusk/discord_presence.hpp"
|
||||||
|
#include "dusk/speedrun.h"
|
||||||
#include "graphics_tuner.hpp"
|
#include "graphics_tuner.hpp"
|
||||||
#include "m_Do/m_Do_main.h"
|
#include "m_Do/m_Do_main.h"
|
||||||
#include "menu_bar.hpp"
|
#include "menu_bar.hpp"
|
||||||
@@ -218,54 +219,6 @@ AuroraBackend configured_backend() {
|
|||||||
return configuredBackend;
|
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();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
void restore_from_speedrun_mode() {
|
|
||||||
clear_speedrun_overrides();
|
|
||||||
aurora_set_pause_on_focus_lost(getSettings().game.pauseOnFocusLost.getValue());
|
|
||||||
}
|
|
||||||
|
|
||||||
std::filesystem::path normalized_display_path(const std::filesystem::path& path) {
|
std::filesystem::path normalized_display_path(const std::filesystem::path& path) {
|
||||||
std::error_code ec;
|
std::error_code ec;
|
||||||
auto normalized = std::filesystem::weakly_canonical(path, ec);
|
auto normalized = std::filesystem::weakly_canonical(path, ec);
|
||||||
@@ -1325,9 +1278,9 @@ SettingsWindow::SettingsWindow(bool prelaunch) : mPrelaunch(prelaunch) {
|
|||||||
.onChange =
|
.onChange =
|
||||||
[](bool enabled) {
|
[](bool enabled) {
|
||||||
if (enabled) {
|
if (enabled) {
|
||||||
reset_for_speedrun_mode();
|
resetForSpeedrunMode();
|
||||||
} else {
|
} else {
|
||||||
restore_from_speedrun_mode();
|
restoreFromSpeedrunMode();
|
||||||
if (getSettings().game.liveSplitEnabled) {
|
if (getSettings().game.liveSplitEnabled) {
|
||||||
speedrun::disconnectLiveSplit();
|
speedrun::disconnectLiveSplit();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user