The savegame-frame calls karte_t::reset_timer(), which resets last_step_ticks. This leads to loss of synchronisation.
The patch simply checks whether we are in step mode FIX_RATIO, and does not reset last_step_ticks then.
Any comments appreciated, as I do not know other implications of this patch. Imho, it should not break that much, since this variable is reset upon loading/creating new world anyway.
Why is this a problem? This is only called after saving locally; but locally saving a network game will loose synchronisation anyhow, since saving will reset several variables. Thus network games must not do autosave. (But they autosave anyhow anytime somebody joins a game.)
This was meant for saving locally. Are there many variables resetted upon saving, or just a few?
I think lots of; too many to investagte them all. This is actually the only reason, why every client has to locaclly save and reload when a new player joins.