Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00012 #ifndef NETWORK_TYPE_H
00013 #define NETWORK_TYPE_H
00014
00015 #include "core/game.h"
00016
00017 #ifdef ENABLE_NETWORK
00018
00020 static const uint MAX_CLIENTS = 255;
00021
00027 static const uint MAX_CLIENT_SLOTS = 256;
00028
00032 enum NetworkVehicleType {
00033 NETWORK_VEH_TRAIN = 0,
00034 NETWORK_VEH_LORRY,
00035 NETWORK_VEH_BUS,
00036 NETWORK_VEH_PLANE,
00037 NETWORK_VEH_SHIP,
00038
00039 NETWORK_VEH_END
00040 };
00041
00043 enum ClientID {
00044 INVALID_CLIENT_ID = 0,
00045 CLIENT_ID_SERVER = 1,
00046 CLIENT_ID_FIRST = 2,
00047 };
00048
00050 typedef uint8 ClientIndex;
00051
00053 typedef uint8 AdminIndex;
00054
00056 static const AdminIndex MAX_ADMINS = 16;
00058 static const AdminIndex INVALID_ADMIN_ID = UINT8_MAX;
00059
00061 struct NetworkCompanyStats {
00062 uint16 num_vehicle[NETWORK_VEH_END];
00063 uint16 num_station[NETWORK_VEH_END];
00064 bool ai;
00065 };
00066
00068 struct NetworkCompanyState {
00069 char password[NETWORK_PASSWORD_LENGTH];
00070 uint16 months_empty;
00071 };
00072
00073 struct NetworkClientInfo;
00074
00076 enum NetworkPasswordType {
00077 NETWORK_GAME_PASSWORD,
00078 NETWORK_COMPANY_PASSWORD,
00079 };
00080
00082 enum DestType {
00083 DESTTYPE_BROADCAST,
00084 DESTTYPE_TEAM,
00085 DESTTYPE_CLIENT,
00086 };
00087
00089 enum NetworkAction {
00090 NETWORK_ACTION_JOIN,
00091 NETWORK_ACTION_LEAVE,
00092 NETWORK_ACTION_SERVER_MESSAGE,
00093 NETWORK_ACTION_CHAT,
00094 NETWORK_ACTION_CHAT_COMPANY,
00095 NETWORK_ACTION_CHAT_CLIENT,
00096 NETWORK_ACTION_GIVE_MONEY,
00097 NETWORK_ACTION_NAME_CHANGE,
00098 NETWORK_ACTION_COMPANY_SPECTATOR,
00099 NETWORK_ACTION_COMPANY_JOIN,
00100 NETWORK_ACTION_COMPANY_NEW,
00101 };
00102
00104 enum NetworkErrorCode {
00105 NETWORK_ERROR_GENERAL,
00106
00107
00108 NETWORK_ERROR_DESYNC,
00109 NETWORK_ERROR_SAVEGAME_FAILED,
00110 NETWORK_ERROR_CONNECTION_LOST,
00111 NETWORK_ERROR_ILLEGAL_PACKET,
00112 NETWORK_ERROR_NEWGRF_MISMATCH,
00113
00114
00115 NETWORK_ERROR_NOT_AUTHORIZED,
00116 NETWORK_ERROR_NOT_EXPECTED,
00117 NETWORK_ERROR_WRONG_REVISION,
00118 NETWORK_ERROR_NAME_IN_USE,
00119 NETWORK_ERROR_WRONG_PASSWORD,
00120 NETWORK_ERROR_COMPANY_MISMATCH,
00121 NETWORK_ERROR_KICKED,
00122 NETWORK_ERROR_CHEATER,
00123 NETWORK_ERROR_FULL,
00124 NETWORK_ERROR_TOO_MANY_COMMANDS,
00125 };
00126
00127 #endif
00128 #endif