summaryrefslogtreecommitdiff
path: root/src/network/network_server.cpp
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2009-05-06 15:06:57 +0000
committerrubidium <rubidium@openttd.org>2009-05-06 15:06:57 +0000
commit2664f2a2d95dbc2122ff1f9b96e8569ae401892f (patch)
treefb2112ce7a51edd259190186790bf00319a53510 /src/network/network_server.cpp
parentbb121a1510fbd3faea71b794b1f6bdaba1641665 (diff)
downloadopenttd-2664f2a2d95dbc2122ff1f9b96e8569ae401892f.tar.xz
(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
Diffstat (limited to 'src/network/network_server.cpp')
-rw-r--r--src/network/network_server.cpp7
1 files changed, 4 insertions, 3 deletions
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);
}