Files @ r14895:fb237f7e7f5b
Branch filter:

Location: cpp/openttd-patchpack/source/src/network/network_func.h - annotation

peter1138
(svn r19502) -Codechange: During NewGRF loading, store rail type labels in temporary data and process after loading has finished. This avoids deactivated rail vehicles being reactivated if the climate property is set after the rail type property.
r9428:6800206a6c0d
r9428:6800206a6c0d
r12768:980ae0491352
r12768:980ae0491352
r12768:980ae0491352
r12768:980ae0491352
r12768:980ae0491352
r12768:980ae0491352
r12768:980ae0491352
r10238:f2215d7dd22b
r9428:6800206a6c0d
r9428:6800206a6c0d
r9428:6800206a6c0d
r9428:6800206a6c0d
r10828:d8d68d002525
r9428:6800206a6c0d
r9428:6800206a6c0d
r11082:09fb79759019
r13521:8a785d107381
r14248:a9050881acd7
r9428:6800206a6c0d
r13182:d311a9b54477
r13182:d311a9b54477
r9451:01b0b6cc547f
r10459:3e3b1f14f8df
r9428:6800206a6c0d
r10454:ba5e39738ffa
r10454:ba5e39738ffa
r9428:6800206a6c0d
r9428:6800206a6c0d
r9428:6800206a6c0d
r11629:97018c71b598
r11560:52827dc8eb76
r11560:52827dc8eb76
r9428:6800206a6c0d
r9428:6800206a6c0d
r10207:a1fc2f2a33db
r10207:a1fc2f2a33db
r14494:108ab03bcb53
r9428:6800206a6c0d
r11637:3f8eca297664
r9428:6800206a6c0d
r9428:6800206a6c0d
r9428:6800206a6c0d
r10207:a1fc2f2a33db
r10822:adfba97cb1d1
r10457:8667446e8fd4
r9428:6800206a6c0d
r10454:ba5e39738ffa
r12134:0a6111a3288d
r10907:3616576a3216
r9428:6800206a6c0d
r10507:b7c7868bab20
r10460:5fba179e6ffa
r10907:3616576a3216
r10907:3616576a3216
r10907:3616576a3216
r10461:3494bf73458c
r13521:8a785d107381
r9428:6800206a6c0d
r9428:6800206a6c0d
r9428:6800206a6c0d
r9428:6800206a6c0d
r10207:a1fc2f2a33db
r10907:3616576a3216
r9428:6800206a6c0d
r9428:6800206a6c0d
r10907:3616576a3216
r10865:2be2c584bcb6
r9428:6800206a6c0d
r10463:6d7a61b1ef5a
r10462:4e118a0ab1bb
r9428:6800206a6c0d
r11573:e8da175efbb5
r9428:6800206a6c0d
r10907:3616576a3216
r10454:ba5e39738ffa
r10454:ba5e39738ffa
r10507:b7c7868bab20
r9428:6800206a6c0d
r11274:6d4814f2e94b
r11274:6d4814f2e94b
r11274:6d4814f2e94b
r9898:bbef3303e005
r11870:92eb16f6d311
r9898:bbef3303e005
r9898:bbef3303e005
r9898:bbef3303e005
r13054:319ef5c8a6c7
r13054:319ef5c8a6c7
r9428:6800206a6c0d
r9428:6800206a6c0d
/* $Id$ */

/*
 * This file is part of OpenTTD.
 * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
 * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
 */

/** @file network_func.h Network functions used by other parts of OpenTTD. */

#ifndef NETWORK_FUNC_H
#define NETWORK_FUNC_H

#include "core/address.h"
#include "network_type.h"
#include "../console_type.h"
#include "../gfx_type.h"
#include "../openttd.h"
#include "../company_type.h"

#ifdef ENABLE_NETWORK

extern NetworkServerGameInfo _network_game_info;
extern NetworkCompanyState *_network_company_states;

extern ClientID _network_own_client_id;
extern ClientID _redirect_console_to_client;
extern bool _network_need_advertise;
extern uint32 _network_last_advertise_frame;
extern uint8 _network_reconnect;
extern StringList _network_bind_list;
extern StringList _network_host_list;
extern StringList _network_ban_list;

byte NetworkSpectatorCount();
void NetworkUpdateClientName();
bool NetworkCompanyHasClients(CompanyID company);
const char *NetworkChangeCompanyPassword(const char *);
void NetworkReboot();
void NetworkDisconnect(bool blocking = false);
void NetworkGameLoop();
void NetworkUDPGameLoop();
void NetworkUDPCloseAll();
void ParseConnectionString(const char **company, const char **port, char *connection_string);
void NetworkStartDebugLog(NetworkAddress address);
void NetworkPopulateCompanyStats(NetworkCompanyStats *stats);

void NetworkUpdateClientInfo(ClientID client_id);
void NetworkClientConnectGame(NetworkAddress address, CompanyID join_as, const char *join_server_password = NULL, const char *join_company_password = NULL);
void NetworkClientRequestMove(CompanyID company, const char *pass = "");
void NetworkClientSendRcon(const char *password, const char *command);
void NetworkClientSendChat(NetworkAction action, DestType type, int dest, const char *msg, int64 data = 0);
bool NetworkClientPreferTeamChat(const NetworkClientInfo *cio);
bool NetworkCompanyIsPassworded(CompanyID company_id);
bool NetworkMaxCompaniesReached();
bool NetworkMaxSpectatorsReached();
void NetworkPrintClients();
void NetworkHandlePauseChange(PauseMode prev_mode, PauseMode changed_mode);

/*** Commands ran by the server ***/
void NetworkServerMonthlyLoop();
void NetworkServerYearlyLoop();
void NetworkServerChangeOwner(Owner current_owner, Owner new_owner);
void NetworkServerSendConfigUpdate();
void NetworkServerShowStatusToConsole();
bool NetworkServerStart();
void NetworkServerUpdateCompanyPassworded(CompanyID company_id, bool passworded);
bool NetworkServerChangeClientName(ClientID client_id, const char *new_name);

NetworkClientInfo *NetworkFindClientInfoFromIndex(ClientIndex index);
NetworkClientInfo *NetworkFindClientInfoFromClientID(ClientID client_id);
NetworkClientInfo *NetworkFindClientInfoFromIP(const char *ip);
const char *GetClientIP(NetworkClientInfo *ci);

void NetworkServerDoMove(ClientID client_id, CompanyID company_id);
void NetworkServerSendRcon(ClientID client_id, ConsoleColour colour_code, const char *string);
void NetworkServerSendError(ClientID client_id, NetworkErrorCode error);
void NetworkServerSendChat(NetworkAction action, DestType type, int dest, const char *msg, ClientID from_id, int64 data = 0);

void NetworkServerKickClient(ClientID client_id);
void NetworkServerBanIP(const char *banip);

void NetworkInitChatMessage();
void CDECL NetworkAddChatMessage(TextColour colour, uint8 duration, const char *message, ...) WARN_FORMAT(3, 4);
void NetworkUndrawChatMessage();
void NetworkChatMessageDailyLoop();

void NetworkAfterNewGRFScan();

#endif /* ENABLE_NETWORK */
#endif /* NETWORK_FUNC_H */