diff --git a/src/backend/core/mmio/PIF.cpp b/src/backend/core/mmio/PIF.cpp index 157537d..51c1511 100644 --- a/src/backend/core/mmio/PIF.cpp +++ b/src/backend/core/mmio/PIF.cpp @@ -36,8 +36,11 @@ void PIF::Reset() { void PIF::MaybeLoadMempak() { if (!mempakOpen) { fs::path mempakPath_ = mempakPath; - std::string savePath = Options::GetInstance().GetValue("general", "savePath"); + fs::path savePath = Options::GetInstance().GetValue("general", "savePath"); if (!savePath.empty()) { + if (!fs::exists(savePath)) + fs::create_directory(savePath); + mempakPath_ = savePath / mempakPath_.filename(); } mempakPath = mempakPath_.replace_extension(".mempak").string(); @@ -52,6 +55,7 @@ void PIF::MaybeLoadMempak() { auto mempakVec = ircolib::ReadFileBinary(mempakPath); if (mempak.empty()) { + info(R"(Empty mempak, making one @ "{}" ...)", mempakPath); ircolib::WriteFileBinary(std::array{}, mempakPath); mempakVec = ircolib::ReadFileBinary(mempakPath); }