From b2f2d2a5d4f129259b3db8addba7deaaf85a5dfb Mon Sep 17 00:00:00 2001 From: baxlek <115663151+baxlek@users.noreply.github.com> Date: Sat, 15 Aug 2026 19:25:55 -0500 Subject: [PATCH] Add LetterboxMode enum and update settings --- src/dusk/settings.h | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/dusk/settings.h b/src/dusk/settings.h index 9d446a4851..8b79eef58f 100644 --- a/src/dusk/settings.h +++ b/src/dusk/settings.h @@ -68,6 +68,13 @@ enum class MagicArmorMode : u8 { COSMETIC = 4, }; +enum class LetterboxMode : u8 { + Off = 0, + On = 1, + CutsceneOnly = 2, + GameplayOnly = 3, +}; + namespace config { template <> struct ConfigEnumRange { @@ -123,6 +130,12 @@ struct ConfigEnumRange { static constexpr auto max = MagicArmorMode::COSMETIC; }; +template <> +struct ConfigEnumRange { + static constexpr auto min = LetterboxMode::Off; + static constexpr auto max = LetterboxMode::GameplayOnly; +}; + template <> struct ConfigValueTraits { static constexpr bool enabled = true; @@ -209,7 +222,7 @@ struct UserSettings { ConfigVar resampler; ConfigVar enableMapBackground; ConfigVar disableCutscenePillarboxing; - ConfigVar disableLetterboxing; + ConfigVar disableLetterboxing; ConfigVar enableHighQualityMinimapTextures; // Audio @@ -314,6 +327,13 @@ UserSettings& getSettings(); void registerSettings(); +inline bool isLetterboxingDisabled(bool inCutscene) { + const auto mode = getSettings().game.disableLetterboxing.getValue(); + return mode == LetterboxMode::On || + (mode == LetterboxMode::CutsceneOnly && inCutscene) || + (mode == LetterboxMode::GameplayOnly && !inCutscene); +} + // Transient settings struct CollisionViewSettings {