From e2865f956c806e17d76d48ce8928a2a6cae9eba8 Mon Sep 17 00:00:00 2001 From: izzy2lost Date: Wed, 13 Aug 2025 04:43:41 -0400 Subject: [PATCH] old code. me silly --- src/port/Engine.cpp | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/src/port/Engine.cpp b/src/port/Engine.cpp index 99c85dcb..0cd06828 100644 --- a/src/port/Engine.cpp +++ b/src/port/Engine.cpp @@ -70,21 +70,28 @@ GameEngine::GameEngine() { std::vector archiveFiles; - const std::string baseDir = "/storage/emulated/0/Starship/"; - const std::string main_path = baseDir + "sf64.o2r"; - const std::string assets_path = baseDir + "starship.o2r"; - const std::string modDir = baseDir + "mods"; +#ifdef __ANDROID__ + // Android uses internal app storage - paths are managed by MainActivity + // Files are copied to internal storage by the Java SAF system + const std::string main_path = Ship::Context::GetPathRelativeToAppDirectory("sf64.o2r"); + const std::string assets_path = Ship::Context::GetPathRelativeToAppDirectory("starship.o2r"); + const std::string modDir = Ship::Context::GetPathRelativeToAppDirectory("mods"); +#else + const std::string main_path = Ship::Context::GetPathRelativeToAppDirectory("sf64.o2r"); +#ifdef __linux__ + const std::string assets_path = Ship::Context::GetPathRelativeToAppBundle("starship.o2r"); +#else + const std::string assets_path = Ship::Context::GetPathRelativeToAppDirectory("starship.o2r"); +#endif + const std::string modDir = Ship::Context::GetPathRelativeToAppDirectory("mods"); +#endif #ifdef _WIN32 AllocConsole(); #endif - // Ensure mod directory exists - if (!fs::exists(modDir)) { - fs::create_directories(modDir); - } - // Note: Ship::Context will handle directory paths internally + // Android: MainActivity handles file management via SAF // Add sf64.o2r if it exists, otherwise prompt for extraction if (std::filesystem::exists(main_path)) {