From f0a1a63cb4bdd5a5cd9f30bc99e2de50114c1313 Mon Sep 17 00:00:00 2001 From: staphen Date: Sat, 19 Jul 2025 15:52:07 -0400 Subject: [PATCH] Reload SFX when changing language setting --- Source/engine/assets.cpp | 1 + Source/engine/render/text_render.cpp | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/Source/engine/assets.cpp b/Source/engine/assets.cpp index d5dc98ae0..6feecbe1e 100644 --- a/Source/engine/assets.cpp +++ b/Source/engine/assets.cpp @@ -391,6 +391,7 @@ void LoadCoreArchives() void LoadLanguageArchive() { + MpqArchives.erase(LangMpqPriority); const std::string_view code = GetLanguageCode(); if (code != "en") { LoadMPQ(GetMPQSearchPaths(), code, LangMpqPriority); diff --git a/Source/engine/render/text_render.cpp b/Source/engine/render/text_render.cpp index 32fa9aced..fb593be14 100644 --- a/Source/engine/render/text_render.cpp +++ b/Source/engine/render/text_render.cpp @@ -496,6 +496,11 @@ void OptionLanguageCodeChanged() UnloadFonts(); LanguageInitialize(); LoadLanguageArchive(); + effects_cleanup_sfx(); + if (gbRunGame) + sound_init(); + else + ui_sound_init(); } const auto OptionChangeHandlerResolution = (GetOptions().Language.code.SetValueChangedCallback(OptionLanguageCodeChanged), true);