File diff r542:6d2403a77bf9 → r543:efdb197f91ad
functions.h
Show inline comments
 
#ifndef FUNCTIONS_H
 
#define FUNCTIONS_H
 

	
 
#include "network.h"
 

	
 
/* vehicle.c */
 

	
 
/* window.c */
 
@@ -96,8 +94,28 @@ void CDECL ShowInfoF(const char *str, ..
 
void NORETURN CDECL error(const char *str, ...);
 

	
 
/* ttd.c */
 
uint32 Random();
 
uint RandomRange(uint max);
 

	
 
// **************
 
// * Warning: DO NOT enable this unless you understand what it does
 
// *
 
// * If enabled, in a network game all randoms will be dumped to the
 
// *  stdout if the first client joins (or if you are a client). This
 
// *  is to help finding desync problems.
 
// *
 
// * Warning: DO NOT enable this unless you understand what it does
 
// **************
 

	
 
//#define RANDOM_DEBUG
 

	
 
#ifdef RANDOM_DEBUG
 
	#define Random() DoRandom(__LINE__, __FILE__)
 
	uint32 DoRandom(uint line, char *file);
 
	#define RandomRange(max) DoRandomRange(max, __LINE__, __FILE__)
 
	uint DoRandomRange(uint max, uint line, char *file);
 
#else
 
	uint32 Random();
 
	uint RandomRange(uint max);
 
#endif
 

	
 
void InitPlayerRandoms();
 

	
 
@@ -114,6 +132,12 @@ void AddTextEffect(StringID msg, int x, 
 
void InitTextEffects();
 
void DrawTextEffects(DrawPixelInfo *dpi);
 

	
 
void InitTextMessage();
 
void DrawTextMessage();
 
void AddTextMessage(uint16 color, uint8 duration, const char *message, ...);
 
void UndrawTextMessage();
 
void TextMessageDailyLoop();
 

	
 
bool AddAnimatedTile(uint tile);
 
void DeleteAnimatedTile(uint tile);
 
void AnimateAnimatedTiles();
 
@@ -125,46 +149,21 @@ bool CheckBridge_Stuff(byte bridge_type,
 
uint32 GetBridgeLength(TileIndex begin, TileIndex end);
 
int CalcBridgeLenCostFactor(int x);
 

	
 
/* network.c */
 
typedef void CommandCallback(bool success, uint tile, uint32 p1, uint32 p2);
 
bool DoCommandP(TileIndex tile, uint32 p1, uint32 p2, CommandCallback *callback, uint32 cmd);
 

	
 
void NetworkReceive();
 
void NetworkSend();
 
void NetworkProcessCommands();
 
void NetworkListen();
 
void NetworkInitialize();
 
void NetworkShutdown();
 
void NetworkSendCommand(TileIndex tile, uint32 p1, uint32 p2, uint32 cmd, CommandCallback *callback);
 
void NetworkSendEvent(uint16 type, uint16 data_len, void * data);
 
void NetworkStartSync(bool fcreset);
 
void NetworkClose(bool client);
 
void NetworkSendReadyPacket();
 
void NetworkSendSyncPackets();
 
void NetworkSendFrameSyncPackets();
 
bool NetworkCheckClientReady();
 

	
 
void NetworkIPListInit();
 

	
 
void NetworkCoreInit();
 
void NetworkCoreShutdown();
 
void NetworkCoreDisconnect();
 
void NetworkCoreLoop(bool incomming);
 
bool NetworkCoreConnectGame(const byte* b, unsigned short port);
 
bool NetworkCoreConnectGameStruct(NetworkGameList * item);
 
bool NetworkCoreStartGame();
 

	
 
void NetworkLobbyShutdown();
 
void NetworkLobbyInit();
 

	
 
void NetworkGameListClear();
 
NetworkGameList * NetworkGameListAdd();
 
void NetworkGameListFromLAN();
 
void NetworkGameListFromInternet();
 
NetworkGameList * NetworkGameListItem(uint16 index);
 

	
 
void NetworkGameFillDefaults();
 
void NetworkGameChangeDate(uint16 newdate);
 
/* network.c */
 
void NetworkUDPClose(void);
 
void NetworkStartUp();
 
void NetworkShutDown(void);
 
void NetworkGameLoop(void);
 
void NetworkUDPGameLoop(void);
 
bool NetworkServerStart(void);
 
bool NetworkClientConnectGame(const byte* host, unsigned short port);
 
void NetworkQueryServer(const byte* host, unsigned short port, bool game_info);
 
void NetworkReboot();
 
void NetworkDisconnect();
 
void NetworkSend_Command(uint32 tile, uint32 p1, uint32 p2, uint32 cmd, CommandCallback *callback);
 

	
 
/* misc_cmd.c */
 
void PlaceTreesRandomly();
 
@@ -180,11 +179,16 @@ void InitializeLandscapeVariables(bool o
 
/* misc.c */
 
void DeleteName(StringID id);
 
byte *GetName(int id, byte *buff);
 
StringID AllocateName(const byte *name, byte skip);
 

	
 
// AllocateNameUnique also tests if the name used is not used anywere else
 
//  and if it is used, it returns an error.
 
#define AllocateNameUnique(name, skip) RealAllocateName(name, skip, true)
 
#define AllocateName(name, skip) RealAllocateName(name, skip, false)
 
StringID RealAllocateName(const byte *name, byte skip, bool check_double);
 
void ConvertDayToYMD(YearMonthDay *ymd, uint16 date);
 
uint ConvertYMDToDay(uint year, uint month, uint day);
 
uint ConvertIntDate(uint date);
 

	
 
void CSleep(int milliseconds);
 

	
 

	
 
/* misc functions */
 
@@ -221,6 +225,10 @@ void ChangeTownRating(Town *t, int add, 
 
uint GetRoadBitsByTile(TileIndex tile);
 
int GetTownRadiusGroup(Town *t, uint tile);
 
int32 GetTransportedGoodsIncome(uint num_pieces, uint dist, byte transit_days, byte cargo_type);
 
void ShowNetworkChatQueryWindow(byte desttype, byte dest);
 
void ShowNetworkGiveMoneyWindow(byte player);
 
void ShowNetworkNeedGamePassword();
 
void ShowNetworkNeedCompanyPassword();
 
void ShowRenameSignWindow(SignStruct *ss);
 
void ShowRenameWaypointWindow(Waypoint *cp);
 
int FindFirstBit(uint32 x);