It seems current Fuse doesn't work in Netplay mode bcs it updates the snapshot buffer in retro_serialize_size() and retro_serialize() just returrns its copy. Looks like authors found no way to estimate a snapshot size without making a real snapshot. In regular snapshot saving (F2 hotkey) retroarch calls retro_serialize_size() before retro_serialize() and authors decided to not making a snapshot in retro_serialize() again. That works, but not in a netplay mode. In Netplay mode retroarch calls retro_serialize_size() once at very beginning and then calls retro_serialize()every time it needs to sync host and players. As the snapshot isn't really updated this results in resetting the game with a snapshot of a spectrum boot menu for all players except the host.
It seems current Fuse doesn't work in Netplay mode bcs it updates the snapshot buffer in
retro_serialize_size()
andretro_serialize()
just returrns its copy. Looks like authors found no way to estimate a snapshot size without making a real snapshot. In regular snapshot saving (F2 hotkey) retroarch callsretro_serialize_size()
beforeretro_serialize()
and authors decided to not making a snapshot inretro_serialize()
again. That works, but not in a netplay mode. In Netplay mode retroarch callsretro_serialize_size()
once at very beginning and then callsretro_serialize()
every time it needs to sync host and players. As the snapshot isn't really updated this results in resetting the game with a snapshot of a spectrum boot menu for all players except the host.This patch should fix this problem.