summaryrefslogtreecommitdiff
path: root/src/network
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2011-02-11 22:10:10 +0000
committerrubidium <rubidium@openttd.org>2011-02-11 22:10:10 +0000
commit1dc5ba22105bc12ab13e79f3a8a22952d82f7c8e (patch)
tree5dbb01c8feb4617774850fb0e97c2a653247cf55 /src/network
parent7de823b1bde0f48fd5bd235ffdcc032eda5cdd1b (diff)
downloadopenttd-1dc5ba22105bc12ab13e79f3a8a22952d82f7c8e.tar.xz
(svn r22063) -Change: make the "has network" check also check whether the client is actually fully connected
Diffstat (limited to 'src/network')
-rw-r--r--src/network/network_client.cpp9
-rw-r--r--src/network/network_client.h2
2 files changed, 11 insertions, 0 deletions
diff --git a/src/network/network_client.cpp b/src/network/network_client.cpp
index 2d75353df..9bf8ec0b4 100644
--- a/src/network/network_client.cpp
+++ b/src/network/network_client.cpp
@@ -463,6 +463,15 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::SendMove(CompanyID company, co
return NETWORK_RECV_STATUS_OKAY;
}
+/**
+ * Check whether the client is actually connected (and in the game).
+ * @return True when the client is connected.
+ */
+bool ClientNetworkGameSocketHandler::IsConnected()
+{
+ return my_client != NULL && my_client->status == STATUS_ACTIVE;
+}
+
/***********
* Receiving functions
diff --git a/src/network/network_client.h b/src/network/network_client.h
index 096544156..c1ded6035 100644
--- a/src/network/network_client.h
+++ b/src/network/network_client.h
@@ -100,6 +100,8 @@ public:
static NetworkRecvStatus SendRCon(const char *password, const char *command);
static NetworkRecvStatus SendMove(CompanyID company, const char *password);
+ static bool IsConnected();
+
static void Send();
static bool Receive();
static bool GameLoop();