network_type.h
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 "../company_type.h"
00016 #include "../economy_type.h"
00017 #include "core/config.h"
00018 #include "core/game.h"
00019
00020 #ifdef ENABLE_NETWORK
00021
00022 enum {
00024 MAX_CLIENTS = 255,
00025
00031 MAX_CLIENT_SLOTS = 256,
00032
00034 NETWORK_VEHICLE_TYPES = 5,
00035 NETWORK_STATION_TYPES = 5,
00036 };
00037
00039 enum ClientID {
00040 INVALID_CLIENT_ID = 0,
00041 CLIENT_ID_SERVER = 1,
00042 CLIENT_ID_FIRST = 2,
00043 };
00044
00046 typedef uint8 ClientIndex;
00047
00049 struct NetworkCompanyStats {
00050 uint16 num_vehicle[NETWORK_VEHICLE_TYPES];
00051 uint16 num_station[NETWORK_STATION_TYPES];
00052 bool ai;
00053 };
00054
00056 struct NetworkCompanyState {
00057 char password[NETWORK_PASSWORD_LENGTH];
00058 uint16 months_empty;
00059 };
00060
00061 struct NetworkClientInfo;
00062
00063 enum NetworkPasswordType {
00064 NETWORK_GAME_PASSWORD,
00065 NETWORK_COMPANY_PASSWORD,
00066 };
00067
00068 enum DestType {
00069 DESTTYPE_BROADCAST,
00070 DESTTYPE_TEAM,
00071 DESTTYPE_CLIENT,
00072 };
00073
00075 enum NetworkAction {
00076 NETWORK_ACTION_JOIN,
00077 NETWORK_ACTION_LEAVE,
00078 NETWORK_ACTION_SERVER_MESSAGE,
00079 NETWORK_ACTION_CHAT,
00080 NETWORK_ACTION_CHAT_COMPANY,
00081 NETWORK_ACTION_CHAT_CLIENT,
00082 NETWORK_ACTION_GIVE_MONEY,
00083 NETWORK_ACTION_NAME_CHANGE,
00084 NETWORK_ACTION_COMPANY_SPECTATOR,
00085 NETWORK_ACTION_COMPANY_JOIN,
00086 NETWORK_ACTION_COMPANY_NEW,
00087 };
00088
00089 enum NetworkErrorCode {
00090 NETWORK_ERROR_GENERAL,
00091
00092
00093 NETWORK_ERROR_DESYNC,
00094 NETWORK_ERROR_SAVEGAME_FAILED,
00095 NETWORK_ERROR_CONNECTION_LOST,
00096 NETWORK_ERROR_ILLEGAL_PACKET,
00097 NETWORK_ERROR_NEWGRF_MISMATCH,
00098
00099
00100 NETWORK_ERROR_NOT_AUTHORIZED,
00101 NETWORK_ERROR_NOT_EXPECTED,
00102 NETWORK_ERROR_WRONG_REVISION,
00103 NETWORK_ERROR_NAME_IN_USE,
00104 NETWORK_ERROR_WRONG_PASSWORD,
00105 NETWORK_ERROR_COMPANY_MISMATCH,
00106 NETWORK_ERROR_KICKED,
00107 NETWORK_ERROR_CHEATER,
00108 NETWORK_ERROR_FULL,
00109 };
00110
00111 #endif
00112 #endif