diff --git a/include/dusk/settings.h b/include/dusk/settings.h index e4b28686ff..84e770b143 100644 --- a/include/dusk/settings.h +++ b/include/dusk/settings.h @@ -194,6 +194,7 @@ struct UserSettings { ConfigVar resampler; ConfigVar enableMapBackground; ConfigVar disableCutscenePillarboxing; + ConfigVar disableTargetingLetterbox; // Audio ConfigVar noLowHpSound; diff --git a/src/d/d_camera.cpp b/src/d/d_camera.cpp index 483e052312..7fa4da9175 100644 --- a/src/d/d_camera.cpp +++ b/src/d/d_camera.cpp @@ -2721,6 +2721,12 @@ int dCamera_c::defaultTriming() { case 2: case 5: case 6: +#if TARGET_PC + if (dusk::getSettings().game.disableTargetingLetterbox) { + SetTrimSize(0); + break; + } +#endif SetTrimSize(1); break; case 4: diff --git a/src/dusk/settings.cpp b/src/dusk/settings.cpp index 37585c5190..656fe2e51d 100644 --- a/src/dusk/settings.cpp +++ b/src/dusk/settings.cpp @@ -74,6 +74,7 @@ UserSettings g_userSettings = { .resampler {"game.resampler", Resampler::Bilinear}, .enableMapBackground {"game.enableMapBackground", true}, .disableCutscenePillarboxing {"game.disableCutscenePillarboxing", false}, + .disableTargetingLetterbox {"game.disableTargetingLetterbox", false}, // Audio .noLowHpSound {"game.noLowHpSound", false}, @@ -279,6 +280,7 @@ void registerSettings() { Register(g_userSettings.game.shadowResolutionMultiplier); Register(g_userSettings.game.enableMapBackground); Register(g_userSettings.game.disableCutscenePillarboxing); + Register(g_userSettings.game.disableTargetingLetterbox); Register(g_userSettings.game.enableFastIronBoots); Register(g_userSettings.game.canTransformAnywhere); Register(g_userSettings.game.fastRoll); diff --git a/src/dusk/ui/settings.cpp b/src/dusk/ui/settings.cpp index 1a21d4ae34..d9bf3bfdcc 100644 --- a/src/dusk/ui/settings.cpp +++ b/src/dusk/ui/settings.cpp @@ -957,6 +957,11 @@ SettingsWindow::SettingsWindow(bool prelaunch) : mPrelaunch(prelaunch) { "during some cutscenes, particularly on ultra-wide displays. " "Visuals beyond the original intended framing may appear buggy." }); + config_bool_select(leftPane, rightPane, getSettings().game.disableTargetingLetterbox, + { + .key = "Disable Targeting Letterbox", + .helpText = "Disable the top and bottom black bars during L-targeting and lock-on camera modes." + }); }); add_tab("Input", [this](Rml::Element* content) {