From a499877c37c95c9629f7c6e90b790e3bec645e90 Mon Sep 17 00:00:00 2001 From: SrBananaMan <86680367+SrBananaMan@users.noreply.github.com> Date: Sun, 17 May 2026 08:51:15 -0500 Subject: [PATCH] Add an enable texture replacements option in the video tab (#1517) Co-authored-by: Luke Street --- include/dusk/settings.h | 1 + src/dusk/settings.cpp | 2 ++ src/dusk/ui/settings.cpp | 6 ++++++ src/m_Do/m_Do_main.cpp | 2 +- 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/include/dusk/settings.h b/include/dusk/settings.h index c652d71789..6d281b6f1a 100644 --- a/include/dusk/settings.h +++ b/include/dusk/settings.h @@ -127,6 +127,7 @@ struct UserSettings { ConfigVar bloomMode; ConfigVar bloomMultiplier; ConfigVar disableWaterRefraction; + ConfigVar enableTextureReplacements; ConfigVar enableFrameInterpolation; ConfigVar internalResolutionScale; ConfigVar shadowResolutionMultiplier; diff --git a/src/dusk/settings.cpp b/src/dusk/settings.cpp index f8ca1b418a..8eeb762f9c 100644 --- a/src/dusk/settings.cpp +++ b/src/dusk/settings.cpp @@ -65,6 +65,7 @@ UserSettings g_userSettings = { .bloomMode {"game.bloomMode", BloomMode::Dusk}, .bloomMultiplier {"game.bloomMultiplier", 1.0f}, .disableWaterRefraction {"game.disableWaterRefraction", false}, + .enableTextureReplacements {"game.enableTextureReplacements", true}, .enableFrameInterpolation {"game.enableFrameInterpolation", false}, .internalResolutionScale {"game.internalResolutionScale", 0}, .shadowResolutionMultiplier {"game.shadowResolutionMultiplier", 1}, @@ -229,6 +230,7 @@ void registerSettings() { Register(g_userSettings.game.bloomMode); Register(g_userSettings.game.bloomMultiplier); Register(g_userSettings.game.disableWaterRefraction); + Register(g_userSettings.game.enableTextureReplacements); Register(g_userSettings.game.internalResolutionScale); Register(g_userSettings.game.shadowResolutionMultiplier); Register(g_userSettings.game.enableDepthOfField); diff --git a/src/dusk/ui/settings.cpp b/src/dusk/ui/settings.cpp index cdd662d767..79082f75ef 100644 --- a/src/dusk/ui/settings.cpp +++ b/src/dusk/ui/settings.cpp @@ -797,6 +797,12 @@ SettingsWindow::SettingsWindow(bool prelaunch) : mPrelaunch(prelaunch) { }, mPrelaunch); leftPane.add_section("Rendering"); + config_bool_select(leftPane, rightPane, getSettings().game.enableTextureReplacements, + { + .key = "Use Texture Pack", + .helpText = "Enable installed texture replacements.", + .onChange = [](bool value) { aurora_set_texture_replacements_enabled(value); }, + }); config_bool_select(leftPane, rightPane, getSettings().game.enableFrameInterpolation, { .key = "Unlock Framerate", diff --git a/src/m_Do/m_Do_main.cpp b/src/m_Do/m_Do_main.cpp index 56ff865bee..8ed3e38430 100644 --- a/src/m_Do/m_Do_main.cpp +++ b/src/m_Do/m_Do_main.cpp @@ -563,7 +563,7 @@ int game_main(int argc, char* argv[]) { config.allowJoystickBackgroundEvents = dusk::getSettings().game.allowBackgroundInput; config.pauseOnFocusLost = dusk::getSettings().game.pauseOnFocusLost; config.imGuiInitCallback = &aurora_imgui_init_callback; - config.allowTextureReplacements = true; + config.allowTextureReplacements = dusk::getSettings().game.enableTextureReplacements; config.allowTextureDumps = false; auroraInfo = aurora_initialize(argc, argv, &config); }