Add regional emulated memory cards for Devolution

This commit is contained in:
xperia64 2022-06-30 01:05:57 -04:00
parent 8e22fbe8e5
commit f67f68c1aa
4 changed files with 7 additions and 0 deletions

View File

@ -337,6 +337,7 @@ enum
DEVO_MC_OFF, DEVO_MC_OFF,
DEVO_MC_ON, DEVO_MC_ON,
DEVO_MC_INDIVIDUAL, DEVO_MC_INDIVIDUAL,
DEVO_MC_REGIONAL,
// DEVO_MC_NAND, // DEVO_MC_NAND,
DEVO_MC_MAX_CHOICE DEVO_MC_MAX_CHOICE

View File

@ -97,6 +97,7 @@ static const char * DEVOMCText[] =
trNOOP( "OFF" ), trNOOP( "OFF" ),
trNOOP( "ON" ), trNOOP( "ON" ),
trNOOP( "Individual" ), trNOOP( "Individual" ),
trNOOP( "Regional" ),
}; };
static const char * NINMCText[] = static const char * NINMCText[] =

View File

@ -172,6 +172,7 @@ static const char * DEVOMCText[] =
trNOOP( "OFF" ), trNOOP( "OFF" ),
trNOOP( "ON" ), trNOOP( "ON" ),
trNOOP( "Individual" ), trNOOP( "Individual" ),
trNOOP( "Regional" ),
}; };
static const char * NINMCText[] = static const char * NINMCText[] =

View File

@ -957,6 +957,10 @@ int GameBooter::BootDevolution(struct discHdr *gameHdr)
{ {
snprintf(DEVO_memCard + strlen(DEVO_memCard), sizeof(DEVO_memCard) - strlen(DEVO_memCard), "/memcard_%.6s.bin", (const char *) gameHdr->id); snprintf(DEVO_memCard + strlen(DEVO_memCard), sizeof(DEVO_memCard) - strlen(DEVO_memCard), "/memcard_%.6s.bin", (const char *) gameHdr->id);
} }
else if (devoMCEmulation == DEVO_MC_REGIONAL)
{
snprintf(DEVO_memCard, sizeof(DEVO_memCard), "%s:/apps/gc_devo/memcard_%c.bin", DeviceHandler::GetDevicePrefix(RealPath), gameHdr->id[3]);
}
else // same for all games else // same for all games
{ {
snprintf(DEVO_memCard, sizeof(DEVO_memCard), "%s:/apps/gc_devo/memcard.bin", DeviceHandler::GetDevicePrefix(RealPath)); snprintf(DEVO_memCard, sizeof(DEVO_memCard), "%s:/apps/gc_devo/memcard.bin", DeviceHandler::GetDevicePrefix(RealPath));