1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
|
raw_source
#include <engine/e_common_interface.h>
#include "g_protocol.h"
extern "C" {
#include "g_protocol_ids.h"
}
#define max_int 2147483647
end
raw_header
enum
{
// emotes
EMOTE_NORMAL=0,
EMOTE_PAIN,
EMOTE_HAPPY,
EMOTE_SURPRISE,
EMOTE_ANGRY,
EMOTE_BLINK,
NUM_EMOTES,
// playerstates
PLAYERSTATE_UNKNOWN=0,
PLAYERSTATE_PLAYING,
PLAYERSTATE_IN_MENU,
PLAYERSTATE_CHATTING,
NUM_PLAYERSTATES,
// game types
GAMETYPE_DM=0,
GAMETYPE_TDM,
GAMETYPE_CTF,
NUM_GAMETYPES,
// other stuff
INPUT_STATE_MASK=0x1f,
NUM_EMOTICONS=16,
};
end
object player_input
any left
any right
any target_x
any target_y
any jump
any fire
any hook
any blink
any player_state
any wanted_weapon
any next_weapon
any prev_weapon
end
object projectile
any x, y
any vx, vy
range(0, NUM_WEAPONS) type
range(0, max_int) start_tick
end
object laser
any x
any y
any from_x
any from_y
range(0, max_int) eval_tick
end
object powerup
any x, y
range(0, max_int) type
range(0, max_int) subtype
end
object flag
any x, y
range(0, 1) team
clientid carried_by
end
object game
range(0, max_int) round_start_tick
range(0, 1) game_over
range(0, 1) sudden_death
range(0, 1) paused
range(0, max_int) score_limit
range(0, max_int) time_limit
range(0, NUM_GAMETYPES-1) gametype
range(0, max_int) warmup
any teamscore_red
any teamscore_blue
end
// core object needed for physics
object player_core
any x, y
any vx, vy
any angle
range(0, 3) jumped
clientid hooked_player
range(0, 3) hook_state
range(0, max_int) hook_tick
any hook_x
any hook_y
any hook_dx
any hook_dy
end
// info about the player that is only needed when it's on screen
object player_character extends player_core
range(0, NUM_PLAYERSTATES-1) player_state
range(-1, 1) wanted_direction
range(0, 10) health
range(0, 10) armor
range(0, 10) ammocount
range(0, NUM_WEAPONS-1) weapon
range(0, NUM_EMOTES-1) emote
range(0, 10) weaponstage
range(0, max_int) attacktick
end
// information about the player that is always needed
object player_info
range(0, 1) local
clientid cid
range(-1, 1) team
any score
any latency
any latency_flux
end
event common
any x, y
end
event explosion
any x, y
end
event spawn
any x, y
end
event death
any x, y
clientid cid
end
event air_jump
any x, y
end
event sound_global
any x, y
range(0, NUM_SOUNDS-1) soundid
end
event sound_world
any x, y
range(0, NUM_SOUNDS-1) soundid
end
event damageind
any x, y
any angle
end
message sv_motd
string message
end
message cl_say
range(0, 1) team
string message
end
message sv_chat
range(0, 1) team
clientid cid
string message
end
message sv_setinfo
clientid cid
string name
string skin
range(0,1) use_custom_color
any color_body
any color_feet
end
message sv_killmsg
clientid killer
clientid victim
range(-1,NUM_WEAPONS-1) weapon
any mode_special
end
message cl_setteam
range(-1,1) team
end
message sv_ready_to_ender
end
message sv_sound_global
range(0, NUM_SOUNDS-1) soundid
end
message cl_startinfo
clientid who
string name
string skin
range(0,1) use_custom_color
any color_body
any color_feet
end
message cl_changeinfo
clientid who
string name
string skin
range(0,1) use_custom_color
any color_body
any color_feet
end
message sv_weapon_pickup
range(0,NUM_WEAPONS-1) weapon
end
message sv_emoticon
clientid cid
range(0,NUM_EMOTICONS-1) emoticon
end
message cl_emoticon
range(0,NUM_EMOTICONS-1) emoticon
end
message cl_kill
end
message sv_tune_params
end
message sv_extra_projectile
end
message sv_ready_to_enter
end
|