GBA: Fix savedata type forcing when masked (fixes #1166)

This commit is contained in:
Vicki Pfau 2018-09-16 11:03:21 -07:00
parent 69c2969db0
commit 1f57dec081
1 changed files with 5 additions and 0 deletions

View File

@ -47,6 +47,7 @@ void GBASavedataInit(struct GBASavedata* savedata, struct VFile* vf) {
savedata->vf = vf;
savedata->realVf = vf;
savedata->mapMode = MAP_WRITE;
savedata->maskWriteback = false;
savedata->dirty = 0;
savedata->dirtAge = 0;
savedata->dust.name = "GBA Savedata Settling";
@ -196,8 +197,12 @@ bool GBASavedataLoad(struct GBASavedata* savedata, struct VFile* in) {
void GBASavedataForceType(struct GBASavedata* savedata, enum SavedataType type) {
if (savedata->type != SAVEDATA_AUTODETECT) {
struct VFile* vf = savedata->vf;
int mapMode = savedata->mapMode;
bool maskWriteback = savedata->maskWriteback;
GBASavedataDeinit(savedata);
GBASavedataInit(savedata, vf);
savedata->mapMode = mapMode;
savedata->maskWriteback = maskWriteback;
}
switch (type) {
case SAVEDATA_FLASH512: