mirror of https://github.com/OpenTTD/OpenTTD
(svn r22063) -Change: make the "has network" check also check whether the client is actually fully connected
parent
7de823b1bd
commit
1dc5ba2210
|
@ -19,6 +19,7 @@
|
||||||
#include "network/network_func.h"
|
#include "network/network_func.h"
|
||||||
#include "network/network_base.h"
|
#include "network/network_base.h"
|
||||||
#include "network/network_admin.h"
|
#include "network/network_admin.h"
|
||||||
|
#include "network/network_client.h"
|
||||||
#include "command_func.h"
|
#include "command_func.h"
|
||||||
#include "settings_func.h"
|
#include "settings_func.h"
|
||||||
#include "fios.h"
|
#include "fios.h"
|
||||||
|
@ -90,7 +91,7 @@ DEF_CONSOLE_HOOK(ConHookNeedNetwork)
|
||||||
{
|
{
|
||||||
if (!NetworkAvailable(echo)) return CHR_DISALLOW;
|
if (!NetworkAvailable(echo)) return CHR_DISALLOW;
|
||||||
|
|
||||||
if (!_networking) {
|
if (!_networking || (!_network_server && !MyClient::IsConnected())) {
|
||||||
if (echo) IConsoleError("Not connected. This command is only available in multiplayer.");
|
if (echo) IConsoleError("Not connected. This command is only available in multiplayer.");
|
||||||
return CHR_DISALLOW;
|
return CHR_DISALLOW;
|
||||||
}
|
}
|
||||||
|
|
|
@ -463,6 +463,15 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::SendMove(CompanyID company, co
|
||||||
return NETWORK_RECV_STATUS_OKAY;
|
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
|
* Receiving functions
|
||||||
|
|
|
@ -100,6 +100,8 @@ public:
|
||||||
static NetworkRecvStatus SendRCon(const char *password, const char *command);
|
static NetworkRecvStatus SendRCon(const char *password, const char *command);
|
||||||
static NetworkRecvStatus SendMove(CompanyID company, const char *password);
|
static NetworkRecvStatus SendMove(CompanyID company, const char *password);
|
||||||
|
|
||||||
|
static bool IsConnected();
|
||||||
|
|
||||||
static void Send();
|
static void Send();
|
||||||
static bool Receive();
|
static bool Receive();
|
||||||
static bool GameLoop();
|
static bool GameLoop();
|
||||||
|
|
Loading…
Reference in New Issue