diff --git a/UnleashedRecomp/mod/mod_loader.cpp b/UnleashedRecomp/mod/mod_loader.cpp index 216b20f..a514f1d 100644 --- a/UnleashedRecomp/mod/mod_loader.cpp +++ b/UnleashedRecomp/mod/mod_loader.cpp @@ -5,6 +5,7 @@ #include #include #include +#include #include enum class ModType @@ -89,9 +90,16 @@ std::vector* ModLoader::GetIncludeDirectories(size_t modI void ModLoader::Init() { + std::filesystem::path userPath = GetUserPath(); + IniFile configIni; - if (!configIni.read("cpkredir.ini")) - return; + if (!configIni.read(userPath / "cpkredir.ini")) + { + configIni = {}; + + if (!configIni.read(GAME_INSTALL_DIRECTORY "/cpkredir.ini")) + return; + } if (!configIni.getBool("CPKREDIR", "Enabled", true)) return; @@ -102,7 +110,7 @@ void ModLoader::Init() if (!saveFilePathU8.empty()) ModLoader::s_saveFilePath = std::u8string_view((const char8_t*)saveFilePathU8.c_str()); else - ModLoader::s_saveFilePath = "mlsave/SYS-DATA"; + ModLoader::s_saveFilePath = userPath / "mlsave/SYS-DATA"; } std::string modsDbIniFilePathU8 = configIni.getString("CPKREDIR", "ModsDbIni", "");