(svn r7312) -Fix: When loading a game from a dedicated server the local player global variable was

wrongly set to 0. In theory this allowed a dedicated server to also play. I see no
 history for this bug, but it has been there since the introduction of the dedicated
 server probably. Thanks peter1138 for bringing it to my attention and thanks myself
 for rewriting the code so this bug could surface ;p
This commit is contained in:
Darkvater 2006-11-30 22:23:11 +00:00
parent af017c198c
commit 9b4d3ff4b8
1 changed files with 3 additions and 1 deletions

View File

@ -759,7 +759,9 @@ void SwitchMode(int new_mode)
LoadIntroGame();
ShowErrorMessage(INVALID_STRING_ID, STR_4009_GAME_LOAD_FAILED, 0, 0);
} else {
_local_player = 0;
/* Update the local player for a loaded game. It is either always
* player #1 (eg 0) or in the case of a dedicated server a spectator */
_local_player = _network_dedicated ? PLAYER_SPECTATOR : 0;
DoCommandP(0, 0, 0, NULL, CMD_PAUSE); // decrease pause counter (was increased from opening load dialog)
#ifdef ENABLE_NETWORK
if (_network_server) {