gpgx: fix some problems with save+loadstate and different screen sizees.
note: delete all previous gpgx savestates
This commit is contained in:
parent
253ba4ccda
commit
cc23c120c0
|
@ -468,6 +468,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.gpgx
|
||||||
Frame = reader.ReadInt32();
|
Frame = reader.ReadInt32();
|
||||||
LagCount = reader.ReadInt32();
|
LagCount = reader.ReadInt32();
|
||||||
IsLagFrame = reader.ReadBoolean();
|
IsLagFrame = reader.ReadBoolean();
|
||||||
|
update_video();
|
||||||
}
|
}
|
||||||
|
|
||||||
public byte[] SaveStateBinary()
|
public byte[] SaveStateBinary()
|
||||||
|
|
|
@ -123,7 +123,13 @@ GPGX_EX int gpgx_state_load(void *src, int size)
|
||||||
if (size != STATE_SIZE)
|
if (size != STATE_SIZE)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
return !!state_load((unsigned char *) src);
|
if (state_load((unsigned char *) src))
|
||||||
|
{
|
||||||
|
update_viewport();
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void osd_input_update(void)
|
void osd_input_update(void)
|
||||||
|
|
|
@ -189,6 +189,8 @@ int state_load(unsigned char *state)
|
||||||
sms_cart_switch(~io_reg[0x0E]);
|
sms_cart_switch(~io_reg[0x0E]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
load_param(&bitmap.viewport, sizeof(bitmap.viewport));
|
||||||
|
|
||||||
return bufferptr;
|
return bufferptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -280,6 +282,8 @@ int state_save(unsigned char *state)
|
||||||
bufferptr += sms_cart_context_save(&state[bufferptr]);
|
bufferptr += sms_cart_context_save(&state[bufferptr]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
save_param(&bitmap.viewport, sizeof(bitmap.viewport));
|
||||||
|
|
||||||
/* return total size */
|
/* return total size */
|
||||||
return bufferptr;
|
return bufferptr;
|
||||||
}
|
}
|
||||||
|
|
Binary file not shown.
Loading…
Reference in New Issue