diff --git a/src/openrct2/OpenRCT2.cpp b/src/openrct2/OpenRCT2.cpp index 506da03804..855c07d679 100644 --- a/src/openrct2/OpenRCT2.cpp +++ b/src/openrct2/OpenRCT2.cpp @@ -152,7 +152,7 @@ extern "C" IObjectRepository * objRepo = CreateObjectRepository(OpenRCT2::_env); ITrackDesignRepository * tdRepo = CreateTrackDesignRepository(OpenRCT2::_env); - CreateScenarioRepository(OpenRCT2::_env); + IScenarioRepository * scenarioRepo = CreateScenarioRepository(OpenRCT2::_env); if (!language_open(gConfigGeneral.language)) { @@ -174,6 +174,7 @@ extern "C" // as its not required until the player wants to place a new ride. tdRepo->Scan(); + scenarioRepo->Scan(); TitleSequenceManager::Scan(); if (!gOpenRCT2Headless) diff --git a/src/openrct2/title/TitleSequencePlayer.cpp b/src/openrct2/title/TitleSequencePlayer.cpp index c231801736..6d23f40ed4 100644 --- a/src/openrct2/title/TitleSequencePlayer.cpp +++ b/src/openrct2/title/TitleSequencePlayer.cpp @@ -39,6 +39,8 @@ extern "C" class TitleSequencePlayer final : public ITitleSequencePlayer { private: + static constexpr const char * SFMM_FILENAME = "Six Flags Magic Mountain.SC6"; + uint32 _sequenceId = 0; TitleSequence * _sequence = nullptr; sint32 _position = 0; @@ -231,7 +233,15 @@ private: break; case TITLE_SCRIPT_LOADMM: { - const utf8 * path = get_file_path(PATH_ID_SIXFLAGS_MAGICMOUNTAIN); + IScenarioRepository * scenarioRepo = GetScenarioRepository(); + const scenario_index_entry * entry = scenarioRepo->GetByFilename(SFMM_FILENAME); + if (entry == nullptr) + { + Console::Error::WriteLine("%s not found.", SFMM_FILENAME); + return false; + } + + const utf8 * path = entry->path; if (!LoadParkFromFile(path)) { Console::Error::WriteLine("Failed to load: \"%s\" for the title sequence.", path);