mirror of
https://github.com/Dingo-Shenanigans/ReSkate.git
synced 2026-10-27 17:27:08 +01:00
The reload after a live apply was a console "load", which in a session either ended it (a guest's map going away is "your local map changed"), was refused (a guest without map rights), or moved everyone (a server admin's load changes the server's map; a lobby host's reload sent every guest through it too). Now client_tick tells the session first (multiplayer::begin_local_reload) and loads the same map locally with no multiplayer rule (queue_local_load). The session keeps the reload as travelling in the same world: a guest keeps telling the host or server it is loading (world_ready, so it does not time out) and that it is back; a host says it is not in the world for that long, so its guests wait instead of moving, and nothing is a host map change. A reload refused by the loader is taken back (cancel_local_reload); one that never starts ends after 20 s; in no state to reload (changing maps, joining) the mods show at the next level load. The dedicated server already handles a player reloading on their own.