Make the option "File->Load Game->Do not change battery save" work for GB/C games as well.
This commit is contained in:
parent
3987b1c37b
commit
0cafb29152
|
@ -3697,11 +3697,16 @@ static bool gbReadSaveState(gzFile gzFile)
|
||||||
utilGzRead(gzFile, &gbDataMBC5, sizeof(gbDataMBC5));
|
utilGzRead(gzFile, &gbDataMBC5, sizeof(gbDataMBC5));
|
||||||
utilGzRead(gzFile, &gbDataHuC1, sizeof(gbDataHuC1));
|
utilGzRead(gzFile, &gbDataHuC1, sizeof(gbDataHuC1));
|
||||||
utilGzRead(gzFile, &gbDataHuC3, sizeof(gbDataHuC3));
|
utilGzRead(gzFile, &gbDataHuC3, sizeof(gbDataHuC3));
|
||||||
if (version>=11)
|
if(version>=11)
|
||||||
{
|
{
|
||||||
utilGzRead(gzFile, &gbDataTAMA5, sizeof(gbDataTAMA5));
|
utilGzRead(gzFile, &gbDataTAMA5, sizeof(gbDataTAMA5));
|
||||||
if (gbTAMA5ram != NULL)
|
if(gbTAMA5ram != NULL) {
|
||||||
|
if(skipSaveGameBattery) {
|
||||||
|
utilGzSeek(gzFile, gbTAMA5ramSize, SEEK_CUR);
|
||||||
|
} else {
|
||||||
utilGzRead(gzFile, gbTAMA5ram, gbTAMA5ramSize);
|
utilGzRead(gzFile, gbTAMA5ram, gbTAMA5ramSize);
|
||||||
|
}
|
||||||
|
}
|
||||||
utilGzRead(gzFile, &gbDataMMM01, sizeof(gbDataMMM01));
|
utilGzRead(gzFile, &gbDataMMM01, sizeof(gbDataMMM01));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3728,14 +3733,22 @@ static bool gbReadSaveState(gzFile gzFile)
|
||||||
utilGzRead(gzFile, &gbMemory[0x8000], 0x8000);
|
utilGzRead(gzFile, &gbMemory[0x8000], 0x8000);
|
||||||
|
|
||||||
if(gbRamSize && gbRam) {
|
if(gbRamSize && gbRam) {
|
||||||
if (version < 11)
|
if(version < 11)
|
||||||
utilGzRead(gzFile, gbRam, gbRamSize);
|
if(skipSaveGameBattery) {
|
||||||
|
utilGzSeek(gzFile, gbRamSize, SEEK_CUR); //skip
|
||||||
|
} else {
|
||||||
|
utilGzRead(gzFile, gbRam, gbRamSize); //read
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
int ramSize = utilReadInt(gzFile);
|
int ramSize = utilReadInt(gzFile);
|
||||||
utilGzRead(gzFile, gbRam, (gbRamSize>ramSize) ? ramSize : gbRamSize);
|
if(skipSaveGameBattery) {
|
||||||
if (ramSize>gbRamSize)
|
utilGzSeek(gzFile, (gbRamSize>ramSize) ? ramSize : gbRamSize, SEEK_CUR); //skip
|
||||||
gzseek(gzFile,ramSize-gbRamSize,SEEK_CUR);
|
} else {
|
||||||
|
utilGzRead(gzFile, gbRam, (gbRamSize>ramSize) ? ramSize : gbRamSize); //read
|
||||||
|
}
|
||||||
|
if(ramSize>gbRamSize)
|
||||||
|
utilGzSeek(gzFile,ramSize-gbRamSize,SEEK_CUR);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,6 +26,7 @@ extern int gbTAMA5ramSize;
|
||||||
extern bool useBios;
|
extern bool useBios;
|
||||||
extern bool skipBios;
|
extern bool skipBios;
|
||||||
extern u8 *bios;
|
extern u8 *bios;
|
||||||
|
extern bool skipSaveGameBattery;
|
||||||
|
|
||||||
extern u8 *gbRom;
|
extern u8 *gbRom;
|
||||||
extern u8 *gbRam;
|
extern u8 *gbRam;
|
||||||
|
|
Loading…
Reference in New Issue