1 // Copyright (C) 2008 Ole Laursen
3 // This program is free software; you can redistribute it and/or modify
4 // it under the terms of the GNU General Public License as published by
5 // the Free Software Foundation; either version 3 of the License, or
6 // (at your option) any later version.
8 // This program is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 // GNU Library General Public License for more details.
13 // You should have received a copy of the GNU General Public License
14 // along with this program; if not, write to the Free Software
15 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
18 #ifndef NETWORK_COMMON_H
19 #define NETWORK_COMMON_H
24 // the network protocol
26 #define MESSAGE_SIZE_BYTES 4
27 #define MESSAGE_PREAMBLE_EXTRA_BYTES 2
28 #define MESSAGE_PROTOCOL_VERSION 1
31 MESSAGE_TYPE_PING = 1,
32 MESSAGE_TYPE_PONG = 2,
33 MESSAGE_TYPE_SENDING_MAP = 3,
34 MESSAGE_TYPE_SENDING_ACTIONS = 4,
35 MESSAGE_TYPE_SENDING_HISTORY = 5,
36 MESSAGE_TYPE_P1_SIT = 6,
37 MESSAGE_TYPE_P2_SIT = 7,
38 MESSAGE_TYPE_P3_SIT = 8,
39 MESSAGE_TYPE_P4_SIT = 9,
40 MESSAGE_TYPE_P5_SIT = 10,
41 MESSAGE_TYPE_P6_SIT = 11,
42 MESSAGE_TYPE_P7_SIT = 12,
43 MESSAGE_TYPE_P8_SIT = 13,
44 MESSAGE_TYPE_PARTICIPANT_CONNECT = 14,
45 MESSAGE_TYPE_P1_STOOD_UP = 15,
46 MESSAGE_TYPE_P2_STOOD_UP = 16,
47 MESSAGE_TYPE_P3_STOOD_UP = 17,
48 MESSAGE_TYPE_P4_STOOD_UP = 18,
49 MESSAGE_TYPE_P5_STOOD_UP = 19,
50 MESSAGE_TYPE_P6_STOOD_UP = 20,
51 MESSAGE_TYPE_P7_STOOD_UP = 21,
52 MESSAGE_TYPE_P8_STOOD_UP = 22,
53 MESSAGE_TYPE_PARTICIPANT_DISCONNECTED = 23,
54 MESSAGE_TYPE_P1_SAT_DOWN = 24,
55 MESSAGE_TYPE_P2_SAT_DOWN = 25,
56 MESSAGE_TYPE_P3_SAT_DOWN = 26,
57 MESSAGE_TYPE_P4_SAT_DOWN = 27,
58 MESSAGE_TYPE_P5_SAT_DOWN = 28,
59 MESSAGE_TYPE_P6_SAT_DOWN = 29,
60 MESSAGE_TYPE_P7_SAT_DOWN = 30,
61 MESSAGE_TYPE_P8_SAT_DOWN = 31,
62 MESSAGE_TYPE_PARTICIPANT_CONNECTED = 32,
63 MESSAGE_TYPE_P1_STAND = 33,
64 MESSAGE_TYPE_P2_STAND = 34,
65 MESSAGE_TYPE_P3_STAND = 35,
66 MESSAGE_TYPE_P4_STAND = 36,
67 MESSAGE_TYPE_P5_STAND = 37,
68 MESSAGE_TYPE_P6_STAND = 38,
69 MESSAGE_TYPE_P7_STAND = 39,
70 MESSAGE_TYPE_P8_STAND = 40,
71 MESSAGE_TYPE_PARTICIPANT_DISCONNECT = 41,
72 MESSAGE_TYPE_SERVER_DISCONNECT = 42,
73 MESSAGE_TYPE_CHAT = 43,
74 MESSAGE_TYPE_CHATTED = 44,
75 MESSAGE_TYPE_REQUEST_SEAT_MANIFEST = 45,
76 MESSAGE_TYPE_TURN_ORDER = 46,
77 MESSAGE_TYPE_KILL_PLAYER = 47,
78 MESSAGE_TYPE_ROUND_OVER = 48,
79 MESSAGE_TYPE_ROUND_START = 49,