1
0
mirror of https://github.com/OpenTTD/OpenTTD.git synced 2025-08-19 12:39:11 +00:00

(svn r14718) -Change: remove some direct network core variable accesses from non-network locations.

This commit is contained in:
rubidium
2008-12-22 21:38:03 +00:00
parent f49cc67f83
commit 94e7f41a9d
4 changed files with 29 additions and 7 deletions

View File

@@ -100,7 +100,21 @@ static ClientID _network_client_id = CLIENT_ID_FIRST;
/* Some externs / forwards */
extern void StateGameLoop();
// Function that looks up the CI for a given client-identifier
/**
* Return the CI given it's raw index
* @param index the index to search for
* @return return a pointer to the corresponding NetworkClientInfo struct
*/
NetworkClientInfo *NetworkFindClientInfoFromIndex(ClientIndex index)
{
return &_network_client_info[index];
}
/**
* Return the CI given it's client-identifier
* @param client_id the ClientID to search for
* @return return a pointer to the corresponding NetworkClientInfo struct or NULL when not found
*/
NetworkClientInfo *NetworkFindClientInfoFromClientID(ClientID client_id)
{
NetworkClientInfo *ci;
@@ -112,9 +126,11 @@ NetworkClientInfo *NetworkFindClientInfoFromClientID(ClientID client_id)
return NULL;
}
/** Return the CI for a given IP
/**
* Return the CI for a given IP
* @param ip IP of the client we are looking for. This must be in string-format
* @return return a pointer to the corresponding NetworkClientInfo struct or NULL on failure */
* @return return a pointer to the corresponding NetworkClientInfo struct or NULL when not found
*/
NetworkClientInfo *NetworkFindClientInfoFromIP(const char *ip)
{
NetworkClientInfo *ci;
@@ -127,7 +143,11 @@ NetworkClientInfo *NetworkFindClientInfoFromIP(const char *ip)
return NULL;
}
// Function that looks up the CS for a given client-identifier
/**
* Return the client state given it's client-identifier
* @param client_id the ClientID to search for
* @return return a pointer to the corresponding NetworkTCPSocketHandler struct or NULL when not found
*/
NetworkTCPSocketHandler *NetworkFindClientStateFromClientID(ClientID client_id)
{
NetworkTCPSocketHandler *cs;

View File

@@ -11,7 +11,6 @@
#include "../console_type.h"
extern NetworkServerGameInfo _network_game_info;
extern NetworkClientInfo _network_client_info[MAX_CLIENT_INFO];
extern NetworkCompanyState *_network_company_states;
extern ClientID _network_own_client_id;
@@ -51,6 +50,7 @@ void NetworkServerChangeOwner(Owner current_owner, Owner new_owner);
void NetworkServerShowStatusToConsole();
bool NetworkServerStart();
NetworkClientInfo *NetworkFindClientInfoFromIndex(ClientIndex index);
NetworkClientInfo *NetworkFindClientInfoFromClientID(ClientID client_id);
NetworkClientInfo *NetworkFindClientInfoFromIP(const char *ip);
const char* GetClientIP(const NetworkClientInfo *ci);

View File

@@ -91,6 +91,8 @@ enum NetworkLanguage {
NETLANG_COUNT
};
extern NetworkClientInfo _network_client_info[MAX_CLIENT_INFO];
extern uint32 _frame_counter_server; // The frame_counter of the server, if in network-mode
extern uint32 _frame_counter_max; // To where we may go with our clients