src/network/network_func.h
author truebrain
Fri, 18 Jul 2008 10:15:16 +0000
branchnoai
changeset 11168 3842648184cd
parent 10829 8a0ec0f0f928
permissions -rw-r--r--
(svn r13726) [NoAI] -Add: AIVehicle::ReverseVehicle (Yexo)
10829
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
     1
/* $Id$ */
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
     2
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
     3
/** @file network_internal.h Variables and function used internally. */
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
     4
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
     5
#ifndef NETWORK_FUNC_H
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
     6
#define NETWORK_FUNC_H
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
     7
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
     8
#ifdef ENABLE_NETWORK
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
     9
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    10
#include "network_type.h"
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    11
#include "../console_type.h"
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    12
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    13
extern NetworkServerGameInfo _network_game_info;
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    14
extern NetworkPlayerInfo _network_player_info[MAX_PLAYERS];
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    15
extern NetworkClientInfo _network_client_info[MAX_CLIENT_INFO];
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    16
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    17
extern uint16 _network_own_client_index;
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    18
extern uint16 _redirect_console_to_client;
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    19
extern bool _network_need_advertise;
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    20
extern uint32 _network_last_advertise_frame;
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    21
extern uint8 _network_reconnect;
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    22
extern char *_network_host_list[10];
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    23
extern char *_network_ban_list[25];
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    24
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    25
byte NetworkSpectatorCount();
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    26
void CheckMinPlayers();
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    27
void NetworkUpdatePlayerName();
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    28
bool NetworkCompanyHasPlayers(PlayerID company);
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    29
bool NetworkChangeCompanyPassword(byte argc, char *argv[]);
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    30
void NetworkReboot();
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    31
void NetworkDisconnect();
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    32
void NetworkGameLoop();
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    33
void NetworkUDPGameLoop();
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    34
void NetworkUDPCloseAll();
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    35
void ParseConnectionString(const char **player, const char **port, char *connection_string);
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    36
void NetworkStartDebugLog(const char *hostname, uint16 port);
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    37
void NetworkPopulateCompanyInfo();
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    38
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    39
void NetworkUpdateClientInfo(uint16 client_index);
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    40
bool NetworkClientConnectGame(const char *host, uint16 port);
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    41
void NetworkClientSendRcon(const char *password, const char *command);
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    42
void NetworkClientSendChat(NetworkAction action, DestType type, int dest, const char *msg);
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    43
void NetworkClientSetPassword();
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    44
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    45
/*** Commands ran by the server ***/
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    46
void NetworkServerMonthlyLoop();
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    47
void NetworkServerYearlyLoop();
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    48
void NetworkServerChangeOwner(PlayerID current_player, PlayerID new_player);
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    49
void NetworkServerShowStatusToConsole();
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    50
bool NetworkServerStart();
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    51
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    52
NetworkClientInfo *NetworkFindClientInfoFromIndex(uint16 client_index);
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    53
NetworkClientInfo *NetworkFindClientInfoFromIP(const char *ip);
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    54
const char* GetPlayerIP(const NetworkClientInfo *ci);
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    55
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    56
void NetworkServerSendRcon(uint16 client_index, ConsoleColour colour_code, const char *string);
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    57
void NetworkServerSendError(uint16 client_index, NetworkErrorCode error);
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    58
void NetworkServerSendChat(NetworkAction action, DestType type, int dest, const char *msg, uint16 from_index);
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    59
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    60
#define FOR_ALL_ACTIVE_CLIENT_INFOS(ci) for (ci = _network_client_info; ci != endof(_network_client_info); ci++) if (ci->client_index != NETWORK_EMPTY_INDEX)
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    61
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    62
#endif /* ENABLE_NETWORK */
8a0ec0f0f928 (svn r13381) [NoAI] -Sync with trunk r13325:13380
glx
parents:
diff changeset
    63
#endif /* NETWORK_FUNC_H */