diff --git a/src/core/cdriso.cc b/src/core/cdriso.cc index 653a54461..5ad1c41a6 100644 --- a/src/core/cdriso.cc +++ b/src/core/cdriso.cc @@ -1292,7 +1292,7 @@ int PCSX::CDRiso::LoadSBI(const char *filename) { buffer[14] = 'i'; buffer[15] = '\0'; - sprintf(sbifile, "%s%s", PCSX::g_emulator->settings.get().string().c_str(), buffer); + sprintf(sbifile, "%hhn%s", PCSX::g_emulator->settings.get().string().c_str(), buffer); filename = sbifile; } diff --git a/src/core/misc.cc b/src/core/misc.cc index 57765d75a..149a4ce35 100644 --- a/src/core/misc.cc +++ b/src/core/misc.cc @@ -29,6 +29,7 @@ #include "core/misc.h" #include "core/ppf.h" #include "core/psxemulator.h" +#include "fmt/format.h" #include "spu/interface.h" @@ -308,9 +309,13 @@ bool CheckCdrom() { if (PCSX::g_emulator->config().PerGameMcd) { char mcd1path[MAXPATHLEN] = {'\0'}; char mcd2path[MAXPATHLEN] = {'\0'}; - sprintf(mcd1path, "memcards/games/%s-%02d.mcd", + /*sprintf(mcd1path, "memcards/games/%hhn-%02d.mcd", PCSX::g_emulator->settings.get().string().c_str(), 1); - sprintf(mcd2path, "memcards/games/%s-%02d.mcd", + sprintf(mcd2path, "memcards/games/%hhn-%02d.mcd", + PCSX::g_emulator->settings.get().string().c_str(), 2);*/ + std::string label1 = fmt::format(mcd1path, "memcards/games/{:08x}-{:02d}.mcd", + PCSX::g_emulator->settings.get().string().c_str(), 1); + std::string label2 = fmt::format(mcd2path, "memcards/games/{:08x}-{:02d}.mcd", PCSX::g_emulator->settings.get().string().c_str(), 2); PCSX::g_emulator->settings.get() = mcd1path; PCSX::g_emulator->settings.get() = mcd2path; @@ -353,7 +358,7 @@ static void LoadLibPS() { FILE *f; // Load Net Yaroze runtime library (if exists) - sprintf(buf, "%s/libps.exe", + sprintf(buf, "%hhn/libps.exe", PCSX::g_emulator->settings.get().value.parent_path().u8string().c_str()); f = fopen(buf, "rb");