#pragma once #include #define USER_DIRECTORY "UnleashedRecomp" #ifndef GAME_INSTALL_DIRECTORY #define GAME_INSTALL_DIRECTORY "." #endif inline std::filesystem::path GetGamePath() { return GAME_INSTALL_DIRECTORY; } bool CheckPortable(); std::filesystem::path BuildUserPath(); const std::filesystem::path& GetUserPath(); inline std::filesystem::path GetSavePath(bool checkForMods) { if (checkForMods && !ModLoader::s_saveFilePath.empty()) return ModLoader::s_saveFilePath.parent_path(); else return GetUserPath() / "save"; } // Returned file name may not necessarily be // equal to SYS-DATA as mods can assign anything. inline std::filesystem::path GetSaveFilePath(bool checkForMods) { if (checkForMods && !ModLoader::s_saveFilePath.empty()) return ModLoader::s_saveFilePath; else return GetSavePath(false) / "SYS-DATA"; }