1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
diff --git a/src/port/Engine.cpp b/src/port/Engine.cpp
index 7deb0c5c9..048f319db 100644
--- a/src/port/Engine.cpp
+++ b/src/port/Engine.cpp
@@ -76,6 +76,8 @@ bool CreateDirectoryRecursive(std::string const& dirName, std::error_code& err)
}
GameEngine::GameEngine() {
+ // Initialize context properties early to work out for non-portable builds
+ this->context = Ship::Context::CreateUninitializedInstance("Spaghetti Kart", "spaghettify", "spaghettify.cfg.json");
const std::string main_path = Ship::Context::GetPathRelativeToAppDirectory("mk64.o2r");
const std::string assets_path = Ship::Context::LocateFileAcrossAppDirs("spaghetti.o2r");
@@ -121,8 +123,6 @@ GameEngine::GameEngine() {
}
}
- this->context = Ship::Context::CreateUninitializedInstance("Spaghetti Kart", "spaghettify", "spaghettify.cfg.json");
-
this->context->InitConfiguration(); // without this line InitConsoleVariables fails at Config::Reload()
this->context->InitConsoleVariables(); // without this line the controldeck constructor failes in
// ShipDeviceIndexMappingManager::UpdateControllerNamesFromConfig()
diff --git a/src/port/GameExtractor.cpp b/src/port/GameExtractor.cpp
index 1fa9e80e8..9e942333d 100644
--- a/src/port/GameExtractor.cpp
+++ b/src/port/GameExtractor.cpp
@@ -56,7 +56,10 @@ std::optional<std::string> GameExtractor::ValidateChecksum() const {
}
bool GameExtractor::GenerateOTR() const {
- Companion::Instance = new Companion(this->mGameData, ArchiveType::O2R, false);
+ const std::string assets_path = Ship::Context::GetAppBundlePath();
+ const std::string game_path = Ship::Context::GetAppDirectoryPath();
+
+ Companion::Instance = new Companion(this->mGameData, ArchiveType::O2R, false, assets_path, game_path);
try {
Companion::Instance->Init(ExportType::Binary);
|