From 2664f2a2d95dbc2122ff1f9b96e8569ae401892f Mon Sep 17 00:00:00 2001 From: rubidium Date: Wed, 6 May 2009 15:06:57 +0000 Subject: (svn r16242) -Codechange: rework pausing -Fix [FS#2864]: autopause and manual pausing conflict with eachother -Fix: new game + pause on new game + autopause make the game not unpause on the first join --- src/network/network_server.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/network/network_server.cpp') diff --git a/src/network/network_server.cpp b/src/network/network_server.cpp index 4597b2c71..2b8f44ffc 100644 --- a/src/network/network_server.cpp +++ b/src/network/network_server.cpp @@ -23,6 +23,7 @@ #include "../company_gui.h" #include "../settings_type.h" #include "../window_func.h" +#include "../openttd.h" #include "table/strings.h" @@ -820,7 +821,7 @@ DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_MAP_OK) if (_settings_client.network.pause_on_join) { /* Now pause the game till the client is in sync */ - DoCommandP(0, 1, 0, CMD_PAUSE); + DoCommandP(0, PM_PAUSED_JOIN, 1, CMD_PAUSE); NetworkServerSendChat(NETWORK_ACTION_SERVER_MESSAGE, DESTTYPE_BROADCAST, 0, "", CLIENT_ID_SERVER, NETWORK_SERVER_MESSAGE_GAME_PAUSED_CONNECT); } @@ -1013,8 +1014,8 @@ DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_ACK) /* Now he is! Unpause the game */ cs->status = STATUS_ACTIVE; - if (_settings_client.network.pause_on_join) { - DoCommandP(0, 0, 0, CMD_PAUSE); + if (_pause_mode & PM_PAUSED_JOIN) { + DoCommandP(0, PM_PAUSED_JOIN, 0, CMD_PAUSE); NetworkServerSendChat(NETWORK_ACTION_SERVER_MESSAGE, DESTTYPE_BROADCAST, 0, "", CLIENT_ID_SERVER, NETWORK_SERVER_MESSAGE_GAME_UNPAUSED_CONNECT); } -- cgit v1.2.3-54-g00ecf