diff --git a/distribution/changelog.txt b/distribution/changelog.txt index 5398f5c354..43edd1d524 100644 --- a/distribution/changelog.txt +++ b/distribution/changelog.txt @@ -9,6 +9,7 @@ - Change: [#24135] Compress Emscripten js/wasm files. - Fix: [#21919] Non-recolourable cars still show colour picker. - Fix: [#22182] [Plugin] Crash when using map.getAllEntities("car"). +- Fix: [#22634] Asset packs with sound effect overrides are not loaded correctly at startup. - Fix: [#23108] Missing pieces on Hypercoaster and Hyper-Twister, even with the ‘all drawable track pieces’ cheat enabled. - Fix: [#24013] Failure to load a scenario preview image (minimap) could lead to an uncaught exception error message. - Fix: [#24121] Checkbox labels run beyond the edge of the window if they’re too long to fit. diff --git a/src/openrct2/Context.cpp b/src/openrct2/Context.cpp index ef710f029a..02c1a307e1 100644 --- a/src/openrct2/Context.cpp +++ b/src/openrct2/Context.cpp @@ -570,9 +570,9 @@ namespace OpenRCT2 OpenProgress(STR_CHECKING_OBJECT_FILES); _objectRepository->LoadOrConstruct(currentLanguage); - OpenProgress(STR_LOADING_GENERIC); - Audio::LoadAudioObjects(); - + // Asset packs need to be loaded before any of the objects they may override are. + // This is especially important to keep in mind with intransient objects like Audio objects, + // which are only loaded once. if (!gOpenRCT2Headless) { OpenProgress(STR_CHECKING_ASSET_PACKS); @@ -581,6 +581,9 @@ namespace OpenRCT2 _assetPackManager->Reload(); } + OpenProgress(STR_LOADING_GENERIC); + Audio::LoadAudioObjects(); + OpenProgress(STR_CHECKING_TRACK_DESIGN_FILES); _trackDesignRepository->Scan(currentLanguage);