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);