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.",
});
});
}