OpenTTD
network_type.h
Go to the documentation of this file.
1 /* $Id: network_type.h 23780 2012-01-09 21:22:48Z truebrain $ */
2 
3 /*
4  * This file is part of OpenTTD.
5  * 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.
6  * 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.
7  * 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/>.
8  */
9 
12 #ifndef NETWORK_TYPE_H
13 #define NETWORK_TYPE_H
14 
15 #include "core/game.h"
16 
17 #ifdef ENABLE_NETWORK
18 
20 static const uint MAX_CLIENTS = 255;
21 
27 static const uint MAX_CLIENT_SLOTS = 256;
28 
33  NETWORK_VEH_TRAIN = 0,
34  NETWORK_VEH_LORRY,
35  NETWORK_VEH_BUS,
36  NETWORK_VEH_PLANE,
37  NETWORK_VEH_SHIP,
38 
39  NETWORK_VEH_END
40 };
41 
43 enum ClientID {
47 };
48 
50 typedef uint8 ClientIndex;
51 
53 typedef uint8 AdminIndex;
54 
56 static const AdminIndex MAX_ADMINS = 16;
58 static const AdminIndex INVALID_ADMIN_ID = UINT8_MAX;
59 
62  uint16 num_vehicle[NETWORK_VEH_END];
63  uint16 num_station[NETWORK_VEH_END];
64  bool ai;
65 };
66 
70  uint16 months_empty;
71 };
72 
73 struct NetworkClientInfo;
74 
79 };
80 
82 enum DestType {
86 };
87 
90  NETWORK_ACTION_JOIN,
91  NETWORK_ACTION_LEAVE,
92  NETWORK_ACTION_SERVER_MESSAGE,
93  NETWORK_ACTION_CHAT,
94  NETWORK_ACTION_CHAT_COMPANY,
95  NETWORK_ACTION_CHAT_CLIENT,
96  NETWORK_ACTION_GIVE_MONEY,
97  NETWORK_ACTION_NAME_CHANGE,
98  NETWORK_ACTION_COMPANY_SPECTATOR,
99  NETWORK_ACTION_COMPANY_JOIN,
100  NETWORK_ACTION_COMPANY_NEW,
101 };
102 
105  NETWORK_ERROR_GENERAL, // Try to use this one like never
106 
107  /* Signals from clients */
108  NETWORK_ERROR_DESYNC,
109  NETWORK_ERROR_SAVEGAME_FAILED,
110  NETWORK_ERROR_CONNECTION_LOST,
111  NETWORK_ERROR_ILLEGAL_PACKET,
112  NETWORK_ERROR_NEWGRF_MISMATCH,
113 
114  /* Signals from servers */
115  NETWORK_ERROR_NOT_AUTHORIZED,
116  NETWORK_ERROR_NOT_EXPECTED,
117  NETWORK_ERROR_WRONG_REVISION,
118  NETWORK_ERROR_NAME_IN_USE,
119  NETWORK_ERROR_WRONG_PASSWORD,
120  NETWORK_ERROR_COMPANY_MISMATCH, // Happens in CLIENT_COMMAND
121  NETWORK_ERROR_KICKED,
122  NETWORK_ERROR_CHEATER,
123  NETWORK_ERROR_FULL,
124  NETWORK_ERROR_TOO_MANY_COMMANDS,
125  NETWORK_ERROR_TIMEOUT_PASSWORD,
126  NETWORK_ERROR_TIMEOUT_COMPUTER,
127  NETWORK_ERROR_TIMEOUT_MAP,
128  NETWORK_ERROR_TIMEOUT_JOIN,
129 
130  NETWORK_ERROR_END,
131 };
132 
133 #endif /* ENABLE_NETWORK */
134 #endif /* NETWORK_TYPE_H */