mirror of https://github.com/mgba-emu/mgba.git
GBA: Fix savedata type forcing when masked (fixes #1166)
This commit is contained in:
parent
69c2969db0
commit
1f57dec081
|
@ -47,6 +47,7 @@ void GBASavedataInit(struct GBASavedata* savedata, struct VFile* vf) {
|
||||||
savedata->vf = vf;
|
savedata->vf = vf;
|
||||||
savedata->realVf = vf;
|
savedata->realVf = vf;
|
||||||
savedata->mapMode = MAP_WRITE;
|
savedata->mapMode = MAP_WRITE;
|
||||||
|
savedata->maskWriteback = false;
|
||||||
savedata->dirty = 0;
|
savedata->dirty = 0;
|
||||||
savedata->dirtAge = 0;
|
savedata->dirtAge = 0;
|
||||||
savedata->dust.name = "GBA Savedata Settling";
|
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) {
|
void GBASavedataForceType(struct GBASavedata* savedata, enum SavedataType type) {
|
||||||
if (savedata->type != SAVEDATA_AUTODETECT) {
|
if (savedata->type != SAVEDATA_AUTODETECT) {
|
||||||
struct VFile* vf = savedata->vf;
|
struct VFile* vf = savedata->vf;
|
||||||
|
int mapMode = savedata->mapMode;
|
||||||
|
bool maskWriteback = savedata->maskWriteback;
|
||||||
GBASavedataDeinit(savedata);
|
GBASavedataDeinit(savedata);
|
||||||
GBASavedataInit(savedata, vf);
|
GBASavedataInit(savedata, vf);
|
||||||
|
savedata->mapMode = mapMode;
|
||||||
|
savedata->maskWriteback = maskWriteback;
|
||||||
}
|
}
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case SAVEDATA_FLASH512:
|
case SAVEDATA_FLASH512:
|
||||||
|
|
Loading…
Reference in New Issue