mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-07 06:39:08 +00:00
(svn r22063) -Change: make the "has network" check also check whether the client is actually fully connected
This commit is contained in:
parent
7de823b1bd
commit
1dc5ba2210
@ -19,6 +19,7 @@
|
||||
#include "network/network_func.h"
|
||||
#include "network/network_base.h"
|
||||
#include "network/network_admin.h"
|
||||
#include "network/network_client.h"
|
||||
#include "command_func.h"
|
||||
#include "settings_func.h"
|
||||
#include "fios.h"
|
||||
@ -90,7 +91,7 @@ DEF_CONSOLE_HOOK(ConHookNeedNetwork)
|
||||
{
|
||||
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.");
|
||||
return CHR_DISALLOW;
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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();
|
||||
|
Loading…
Reference in New Issue
Block a user