So joining in-process games works since r4129
without going out of synch - that's great.
Some non-fatal issues remain, which I'll list for later:
(1) When a new player joins an in-process game, the illumination of the veteran players's units and structrues sight range is lost (Softcoder: this is not yet fixed for me).
Screenshot:
The player who took this screenshot owns the structures visible here. As such these buildings and their immediate sourroundings (view / sight range) should be illuminated, but they are not. Similarily the units standing behind the main teepee have lost their illuminated surrrounding. To work around this, it's sufficient to move these units.
Apparently this issue is limited to the illumination of the sight/view range. The behaviour regarding whether or not enemy units are visible is correct.
In this screenshot, the enemy units (battle mages) attacking a non-illuminated structure (main teepee) do show properly (and, as expected, become invisible as they move away further):
(2) When setting up a game, clicking on "Reload last game settings" visually restores the settings of the last game properly ("Players can join in game" is ticked and there is both a CPU and an open network slot), but factually nobody else can connect to this server, both while the game has not started, and whle the game is in-progress (client runs into a connect timeout). Unticking and again ticking the "Players can join in game" box fixes this issue: other players can then connect both to before the game started and while it's already in progress.
(3) Even when all participants are on a LAN connection, a player joining an in-process game will have constantly high latency, around 3-5 seconds minimum. On Internet games, this is more like 10 seconds minimum, and can easily cause players to time out. The same players can play on the same server just fine and without increased lag if they play from the very start of the game.
When a players joins the in-process game (and thus has large amounts of lag), there are also complete freezes every ~ 2-4 seconds lasting for ~1-2 seconds, and, just during these freezes, heavily increased CPU load on two (which are maxed out) of four CPU cores.
(This report refers to r4132.)
(4) When a player who previously joined a game when it was already in process disconnects, the game freezes for a second or longer. This is way longer than usually when a player decides to disconnect or is forcefully disconnected.
(5) When a player connects to an in-process game, then disconnects and the same or a different player tries to connect again, s/he is unable to connect. (This report refers to r4132.)
(6) When a player connects to an in-process game, all pre-existing players should receive a notice that someone is joining, explaining the pause. Currently only the game host receives it.