1
0
mirror of https://github.com/OpenTTD/OpenTTD.git synced 2025-08-24 06:59:10 +00:00

(svn r1108) -Fix: [Network] Fixed problem around slow clients:

They joined, they got the map, but it took some time before the new 
player was created. In this time a player could do stuff, causing a 
player-id-mismatch, and the player was kicked out. Now a player get's a 
nice GUI which says: registering.. When that is gone, the player is 
joined and can play safely. Tnx to Moriarty for bugging me with this bug ;)
This commit is contained in:
truelight
2004-12-15 21:13:52 +00:00
parent 9595ee80e3
commit fa1f026367
6 changed files with 30 additions and 8 deletions

View File

@@ -1271,6 +1271,15 @@ void ShowJoinStatusWindow()
AllocateWindowDesc(&_network_join_status_window_desc);
}
void ShowJoinStatusWindowAfterJoin()
{
/* This is a special instant of ShowJoinStatusWindow, because
it is opened after the map is loaded, but the client maybe is not
done registering itself to the server */
DeleteWindowById(WC_NETWORK_STATUS_WINDOW, 0);
_network_join_status = NETWORK_JOIN_STATUS_REGISTERING;
AllocateWindowDesc(&_network_join_status_window_desc);
}