by Spike » Mon Jan 23, 2012 6:27 pm
the nice thing about checkpoints is that you can reload them when you next start the engine.
many quake engines can work in linux where the main id1 dir is readonly, such engines use the user's homedir for any additional content like saved games, check points, downloaded maps.
in the context of quake, there's too many things that would like to be saved for it to be worth coming up with some way around checkpoints instead of just pointing it to save/load from some home or tmp dir.
Even on android, each app has some config directory, even if it doesn't have any sdcard access - ideal for your config.cfg and a couple of saved games.
FTE supports multiplayer(deathmatch/coop/dedicated servers/whatever) saved games by kicking all old players (stuffcmd("reconnect\n") sort of thing), loading the game, flagging the players as 'loadzombies'. players that join are matched by name to existing loadzombies and fill that zombie's slot and take its ent as-is when they do enter the game. If the zombie wasn't eaten by a joining player by 20 secs or so, it times out and the qc is finally told that they disconnected.
So its not really any different from single player, just you have multiple players instead of slot 0, players are given their slots as they join instead of the local player being force-spawned at loadtime, and the possibility that no client claims them with all the allowances to stop the engine from complaining about no client in that slot if the qc tries sending centerprints or whatever before they're actually there. The only difference is that you need to get your name to match (instead of slot number, which would otherwise always be 0)...
Obviously if a mod sends some stuffcmd to the client and expects the client to actually receive it, you may notice some issues... but there's no problem if the mod isn't interrogating any players when its saved or during the 20 secs after.
This is probably easier in QuakeWorld where the player's name is known right from the connect request...
.