don't reallocate rdram during load state (#877)
* don't reallocate rdram during load state * more
This commit is contained in:
parent
1ab8987f2d
commit
6496288c4e
@ -126,6 +126,7 @@ pub fn load_savestate(device: &mut device::Device) {
|
||||
&& let Ok(ra_state) = ui::storage::decompress_file(savestate, "ra_state")
|
||||
&& let Ok(state) = postcard::from_bytes::<device::Device>(&device_bytes)
|
||||
&& let Ok(saves) = postcard::from_bytes(&save_bytes)
|
||||
&& device.rdram.size == state.rdram.size
|
||||
{
|
||||
device.ui.storage.saves = saves;
|
||||
|
||||
@ -139,7 +140,10 @@ pub fn load_savestate(device: &mut device::Device) {
|
||||
device.memory = state.memory;
|
||||
device.rsp = state.rsp;
|
||||
device.rdp = state.rdp;
|
||||
device.rdram = state.rdram;
|
||||
|
||||
device.rdram.mem.clone_from(&state.rdram.mem);
|
||||
device.rdram.regs = state.rdram.regs;
|
||||
|
||||
device.mi = state.mi;
|
||||
device.pi = state.pi;
|
||||
device.vi = state.vi;
|
||||
@ -217,6 +221,7 @@ pub fn load_savestate(device: &mut device::Device) {
|
||||
ui::audio::init_game_audio(device);
|
||||
ui::video::load_state(device, rdp_state.as_ptr());
|
||||
|
||||
retroachievements::set_dmem(device.rdram.mem.as_ptr(), device.rdram.size as usize);
|
||||
if !ra_state.is_empty() {
|
||||
retroachievements::load_state(ra_state.as_ptr(), ra_state.len());
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user