(svn r22063) -Change: make the "has network" check also check whether the client is actually fully connected

pull/155/head
rubidium 13 years ago
parent e3b44f460f
commit ac28a10197

@ -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…
Cancel
Save