mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-12 09:48:37 +12:00
Savestates: Rename DeferDeserialization, add some asserts
This commit is contained in:
parent
f5d39ef7f2
commit
ce5f7bd4ff
9 changed files with 35 additions and 16 deletions
|
@ -202,22 +202,36 @@ void init_fxo_for_exec(utils::serial* ar, bool full = false)
|
|||
|
||||
Emu.ConfigurePPUCache();
|
||||
|
||||
g_fxo->init(false, ar);
|
||||
g_fxo->init(false, ar, [](){ Emu.ExecPostponedInitCode(); });
|
||||
|
||||
Emu.GetCallbacks().init_gs_render(ar);
|
||||
Emu.GetCallbacks().init_pad_handler(Emu.GetTitleID());
|
||||
Emu.GetCallbacks().init_kb_handler();
|
||||
Emu.GetCallbacks().init_mouse_handler();
|
||||
|
||||
usz pos = 0;
|
||||
|
||||
if (ar)
|
||||
{
|
||||
Emu.ExecDeserializationRemnants();
|
||||
pos = ar->pos;
|
||||
}
|
||||
|
||||
[[maybe_unused]] auto flags = (*ar)(Emu.m_savestate_extension_flags1);
|
||||
// TODO: Remove second call when possible
|
||||
Emu.ExecPostponedInitCode();
|
||||
|
||||
if (ar)
|
||||
{
|
||||
ensure(pos == ar->pos);
|
||||
|
||||
(*ar)(Emu.m_savestate_extension_flags1);
|
||||
|
||||
const usz advance = (Emu.m_savestate_extension_flags1 & Emulator::SaveStateExtentionFlags1::SupportsMenuOpenResume ? 32 : 31);
|
||||
|
||||
load_and_check_reserved(*ar, advance); // Reserved area
|
||||
// Reserved area
|
||||
if (!load_and_check_reserved(*ar, advance))
|
||||
{
|
||||
sys_log.error("Potential failure to load savestate: padding buyes are not 0. %s", *ar);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue