From 55455bb1b5cdad51098866590a84c014b985eeca Mon Sep 17 00:00:00 2001 From: Luke Street Date: Mon, 4 May 2026 10:43:42 -0600 Subject: [PATCH] Adjust presets & default settings --- src/dusk/settings.cpp | 10 +++--- src/dusk/ui/preset.cpp | 26 +++++++-------- src/dusk/ui/settings.cpp | 71 +++++++++++++++++++++------------------- 3 files changed, 54 insertions(+), 53 deletions(-) diff --git a/src/dusk/settings.cpp b/src/dusk/settings.cpp index b0ac897d3a..d359c569c8 100644 --- a/src/dusk/settings.cpp +++ b/src/dusk/settings.cpp @@ -26,8 +26,8 @@ UserSettings g_userSettings = { // Quality of Life .enableQuickTransform {"game.enableQuickTransform", false}, - .hideTvSettingsScreen {"game.hideTvSettingsScreen", false}, - .skipWarningScreen {"game.skipWarningScreen", false}, + .hideTvSettingsScreen {"game.hideTvSettingsScreen", true}, + .skipWarningScreen {"game.skipWarningScreen", true}, .biggerWallets {"game.biggerWallets", false}, .noReturnRupees {"game.noReturnRupees", false}, .disableRupeeCutscenes {"game.disableRupeeCutscenes", false}, @@ -48,11 +48,11 @@ UserSettings g_userSettings = { .enableMirrorMode {"game.enableMirrorMode", false}, .disableMainHUD {"game.disableMainHUD", false}, .pauseOnFocusLost {"game.pauseOnFocusLost", false}, - .enableLinkDollRotation = {"game.enableLinkDollRotation", false }, - .enableAchievementNotifications {"game.enableAchievementNotifications", false}, + .enableLinkDollRotation = {"game.enableLinkDollRotation", false}, + .enableAchievementNotifications {"game.enableAchievementNotifications", true}, // Graphics - .bloomMode {"game.bloomMode", BloomMode::Classic}, + .bloomMode {"game.bloomMode", BloomMode::Dusk}, .bloomMultiplier {"game.bloomMultiplier", 1.0f}, .disableWaterRefraction {"game.disableWaterRefraction", false}, .enableFrameInterpolation {"game.enableFrameInterpolation", false}, diff --git a/src/dusk/ui/preset.cpp b/src/dusk/ui/preset.cpp index 236aaa3683..2bf171a8e3 100644 --- a/src/dusk/ui/preset.cpp +++ b/src/dusk/ui/preset.cpp @@ -16,12 +16,16 @@ void applyPresetClassic() { auto& s = getSettings(); s.video.lockAspectRatio.setValue(true); s.game.bloomMode.setValue(BloomMode::Classic); + s.game.enableAchievementNotifications.setValue(false); + s.game.internalResolutionScale.setValue(1); + s.game.shadowResolutionMultiplier.setValue(1); + s.game.hideTvSettingsScreen.setValue(false); + s.game.skipWarningScreen.setValue(false); AuroraSetViewportPolicy(AURORA_VIEWPORT_FIT); } -void applyPresetHD() { +void applyPresetDusk() { auto& s = getSettings(); - s.game.bloomMode.setValue(BloomMode::Classic); s.game.hideTvSettingsScreen.setValue(true); s.game.skipWarningScreen.setValue(true); s.game.noReturnRupees.setValue(true); @@ -32,13 +36,7 @@ void applyPresetHD() { s.game.fastTears.setValue(true); s.game.biggerWallets.setValue(true); s.game.invertCameraXAxis.setValue(true); - s.game.freeCamera.setValue(true); s.game.no2ndFishForCat.setValue(true); -} - -void applyPresetDusk() { - applyPresetHD(); - auto& s = getSettings(); s.game.enableAchievementNotifications.setValue(true); s.game.enableQuickTransform.setValue(true); s.game.instantSaves.setValue(true); @@ -46,7 +44,9 @@ void applyPresetDusk() { s.game.enableFrameInterpolation.setValue(true); s.game.sunsSong.setValue(true); s.game.bloomMode.setValue(BloomMode::Dusk); - s.game.autoSave.setValue(true); + s.game.internalResolutionScale.setValue(0); + s.game.shadowResolutionMultiplier.setValue(4); + s.game.enableGyroAim.setValue(true); } Rml::Element* createElement(Rml::Element* parent, const Rml::String& tag) { @@ -105,13 +105,9 @@ PresetWindow::PresetWindow() "All enhancements disabled to match the GameCube version. " "Good for speedrunning or simple nostalgia!", applyPresetClassic}, - {"HD", - "Some enhancements enabled to match the HD version. " - "A good starting point for most players!", - applyPresetHD}, {"Dusk", - "More enhancements enabled than the HD preset. " - "Veteran players will appreciate the additional tweaks!", + "Graphical enhancements & quality of life tweaks. " + "Our recommended way to play!", applyPresetDusk}, }; diff --git a/src/dusk/ui/settings.cpp b/src/dusk/ui/settings.cpp index 1d8bc7fe2b..b113926a74 100644 --- a/src/dusk/ui/settings.cpp +++ b/src/dusk/ui/settings.cpp @@ -57,9 +57,8 @@ const Rml::String kBloomHelpText = const Rml::String kBloomBrightnessHelpText = "Configure bloom intensity. Higher values make bright areas glow more strongly."; const Rml::String kUnlockFramerateHelpText = - "Uses inter-frame interpolation to enable higher frame rates.

Experimental feature: Visual artifacts, animation glitches, or " - "instability may occur."; + "Uses inter-frame interpolation to enable higher frame rates.

May introduce minor " + "visual artifacts or animation glitches."; int bloom_multiplier_percent() { return std::clamp( @@ -176,7 +175,8 @@ SettingsWindow::SettingsWindow() { config_bool_select(leftPane, rightPane, getSettings().audio.enableHrtf, { .key = "Enable Spatial Sound", - .helpText = "Emulate surround sound via HRTF. Recommended only for use with headphones!", + .helpText = + "Emulate surround sound via HRTF. Recommended only for use with headphones!", .onChange = [](bool value) { audio::EnableHrtf = value; }, }); config_bool_select(leftPane, rightPane, getSettings().audio.menuSounds, @@ -213,24 +213,21 @@ SettingsWindow::SettingsWindow() { }; leftPane.add_section("Resources"); - addCheat("Infinite Hearts", getSettings().game.infiniteHearts, - "Keeps your health full."); - addCheat("Infinite Arrows", getSettings().game.infiniteArrows, - "Keeps your arrow count full."); - addCheat("Infinite Bombs", getSettings().game.infiniteBombs, - "Keeps all bomb bags full."); - addCheat("Infinite Oil", getSettings().game.infiniteOil, - "Keeps your lantern oil full."); + addCheat("Infinite Hearts", getSettings().game.infiniteHearts, "Keeps your health full."); + addCheat( + "Infinite Arrows", getSettings().game.infiniteArrows, "Keeps your arrow count full."); + addCheat("Infinite Bombs", getSettings().game.infiniteBombs, "Keeps all bomb bags full."); + addCheat("Infinite Oil", getSettings().game.infiniteOil, "Keeps your lantern oil full."); addCheat("Infinite Oxygen", getSettings().game.infiniteOxygen, "Keeps your underwater oxygen meter full."); - addCheat("Infinite Rupees", getSettings().game.infiniteRupees, - "Keeps your rupee count full."); + addCheat( + "Infinite Rupees", getSettings().game.infiniteRupees, "Keeps your rupee count full."); addCheat("No Item Timer", getSettings().game.enableIndefiniteItemDrops, "Item drops such as rupees and hearts will never disappear after they drop."); leftPane.add_section("Abilities"); - addCheat("Moon Jump (R+A)", getSettings().game.moonJump, - "Hold R and A to rise into the air."); + addCheat( + "Moon Jump (R+A)", getSettings().game.moonJump, "Hold R and A to rise into the air."); addCheat("Super Clawshot", getSettings().game.superClawshot, "Extends clawshot behavior beyond the normal game rules."); addCheat("Always Greatspin", getSettings().game.alwaysGreatspin, @@ -302,8 +299,8 @@ SettingsWindow::SettingsWindow() { rightPane.clear(); rightPane.add_text("Multiplies incoming damage."); }); - addSpeedrunDisabledOption("Instant Death", getSettings().game.instantDeath, - "Any hit will instantly kill you."); + addSpeedrunDisabledOption( + "Instant Death", getSettings().game.instantDeath, "Any hit will instantly kill you."); addSpeedrunDisabledOption("No Heart Drops", getSettings().game.noHeartDrops, "Hearts will never drop from enemies, pots, and various other places."); @@ -338,10 +335,6 @@ SettingsWindow::SettingsWindow() { "Link will not recoil when his sword hits walls."); addOption("No 2nd Fish for Cat", getSettings().game.no2ndFishForCat, "Skip needing to catch a second fish for Sera's cat."); - addOption("Skip TV Settings Screen", getSettings().game.hideTvSettingsScreen, - "Skips the TV calibration screen shown when loading a save."); - addOption("Skip Warning Screen", getSettings().game.skipWarningScreen, - "Skips the warning screen shown when starting the game."); addOption("Sun's Song (R+X)", getSettings().game.sunsSong, "Allows Wolf Link to howl and change the time of day."); addOption("Quick Transform (R+Y)", getSettings().game.enableQuickTransform, @@ -620,7 +613,6 @@ SettingsWindow::SettingsWindow() { config_bool_select(leftPane, rightPane, getSettings().game.enableFrameInterpolation, { .key = "Unlock Framerate", - .icon = "warning", .helpText = kUnlockFramerateHelpText, }); config_bool_select(leftPane, rightPane, getSettings().game.enableDepthOfField, @@ -640,28 +632,41 @@ SettingsWindow::SettingsWindow() { config_bool_select(leftPane, rightPane, getSettings().game.enableAchievementNotifications, { - .key = "Enable Achievement Notifications", + .key = "Achievement Notifications", .helpText = "Display a toast when an achievement is unlocked.", }); #if DUSK_ENABLE_SENTRY_NATIVE config_bool_select(leftPane, rightPane, getSettings().backend.enableCrashReporting, - { - .key = "Enable Crash Reporting", + {.key = "Crash Reporting", .helpText = "Enable automatic reporting of crashes to the developers.

" - "Submissions include logs which may contain sensitive information. Refrain from " - "enabling reporting if you do not agree with the following inclusions:

" - "- Operating System
- CPU Architecture
- GPU Model & Driver Version
" - "- Account Username" - }); + "Submissions include logs which may contain sensitive information. " + "Refrain from " + "enabling reporting if you do not agree with the following " + "inclusions:

" + "- Operating System
- CPU Architecture
- GPU Model & Driver " + "Version
" + "- Account Username"}); #endif config_bool_select(leftPane, rightPane, getSettings().backend.skipPreLaunchUI, { - .key = "Skip Pre-Launch UI", + .key = "Skip Dusk Main Menu", + .helpText = "When starting Dusk, skips the main menu and boots straight into the " + "game if a disc image is available.", + }); + config_bool_select(leftPane, rightPane, getSettings().game.hideTvSettingsScreen, + { + .key = "Skip TV Settings Screen", + .helpText = "Skips the TV calibration screen shown when loading a save.", + }); + config_bool_select(leftPane, rightPane, getSettings().game.skipWarningScreen, + { + .key = "Skip Warning Screen", + .helpText = "Skips the warning screen shown when starting the game.", }); config_bool_select(leftPane, rightPane, getSettings().backend.showPipelineCompilation, { .key = "Show Pipeline Compilation", - .helpText = "Show an overlay when shaders are being compiled for your hardware." + .helpText = "Show an overlay when shaders are being compiled for your hardware.", }); }); }