mirror of
https://github.com/LNH-team/pico-loader.git
synced 2026-06-02 09:16:49 +02:00
Preserve cheats when OS_ResetSystem is used, move temporary save buffer to main memory
This commit is contained in:
@@ -205,6 +205,14 @@ extern "C" void loaderMain()
|
||||
}
|
||||
}
|
||||
|
||||
if (gLoaderHeader.v3.cheats != nullptr && gLoaderHeader.v3.cheats->numberOfCheats != 0)
|
||||
{
|
||||
// Copy cheats to vram
|
||||
auto cheats = (pload_cheats_t*)malloc(gLoaderHeader.v3.cheats->length);
|
||||
memcpy(cheats, gLoaderHeader.v3.cheats, gLoaderHeader.v3.cheats->length);
|
||||
sLoader.SetCheats(cheats);
|
||||
}
|
||||
|
||||
if (multiboot)
|
||||
{
|
||||
LOG_DEBUG("Multiboot\n");
|
||||
@@ -219,19 +227,10 @@ extern "C" void loaderMain()
|
||||
}
|
||||
else
|
||||
{
|
||||
pload_cheats_t* cheats = nullptr;
|
||||
if (gLoaderHeader.v3.cheats != nullptr && gLoaderHeader.v3.cheats->numberOfCheats != 0)
|
||||
{
|
||||
// Copy cheats to vram
|
||||
cheats = (pload_cheats_t*)malloc(gLoaderHeader.v3.cheats->length);
|
||||
memcpy(cheats, gLoaderHeader.v3.cheats, gLoaderHeader.v3.cheats->length);
|
||||
}
|
||||
|
||||
sLoader.SetRomPath(gLoaderHeader.loadParams.romPath);
|
||||
handleSavePath();
|
||||
sLoader.SetArguments(gLoaderHeader.loadParams.arguments, gLoaderHeader.loadParams.argumentsLength);
|
||||
sLoader.SetLauncherPath(gLoaderHeader.v2.launcherPath);
|
||||
sLoader.SetCheats(cheats);
|
||||
sLoader.Load(BootMode::Normal);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user