diff options
| author | Fabien Romano <fabienromano@gmail.com> | 2026-01-09 19:13:37 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-01-09 11:13:37 -0700 |
| commit | aaae77f3bcb0a93b6fd34bbb82784ba046726083 (patch) | |
| tree | 3f7ec4acfc4168606d0d6ab4a755323b08fadc2e /src/engine | |
| parent | e71c422afbadb49aef7fbcaae02b74eb214f72c1 (diff) | |
Fix NON_PORTABLE build. Ship::Context needs to be initialized first. (#618)
* Fix NON_PORTABLE build. Ship::Context needs to be initialized before resolving files. Move offending calls inside functions where they are used. Those will always be called after GameEngine() which runs Ship::Context::CreateUninitializedInstance() early.
* Replace hardcoded string mk64.o2r and spaghetti.o2r with variables game_asset_file and engine_asset_file.
Diffstat (limited to 'src/engine')
| -rw-r--r-- | src/engine/mods/ModManager.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/engine/mods/ModManager.cpp b/src/engine/mods/ModManager.cpp index a94d8f558..137fb9743 100644 --- a/src/engine/mods/ModManager.cpp +++ b/src/engine/mods/ModManager.cpp @@ -19,8 +19,6 @@ void DetectOutdatedDependencies(); void SortModsByDependencies(); std::vector<std::tuple<ModMetadata, std::shared_ptr<Ship::Archive>>> Mods = {}; -const std::string main_path = Ship::Context::GetPathRelativeToAppDirectory("mk64.o2r"); -const std::string assets_path = Ship::Context::LocateFileAcrossAppDirs("spaghetti.o2r"); void InitModsSystem() { CheckMK64O2RExists(); @@ -65,6 +63,9 @@ void GenerateAssetsMods() { } std::vector<std::string> ListMods() { + const std::string main_path = Ship::Context::GetPathRelativeToAppDirectory(game_asset_file); + const std::string assets_path = Ship::Context::LocateFileAcrossAppDirs(engine_asset_file); + std::vector<std::string> archiveFiles; if (std::filesystem::exists(main_path)) { archiveFiles.push_back(main_path); @@ -202,6 +203,8 @@ void AddCoreDependencies() { } void CheckMK64O2RExists() { + const std::string main_path = Ship::Context::GetPathRelativeToAppDirectory(game_asset_file); + if (!std::filesystem::exists(main_path)) { GenerateAssetsMods(); } |
