Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
5131 clevermous 1
/*
2
Copyright (C) 1996-1997 Id Software, Inc.
3
 
4
This program is free software; you can redistribute it and/or
5
modify it under the terms of the GNU General Public License
6
as published by the Free Software Foundation; either version 2
7
of the License, or (at your option) any later version.
8
 
9
This program is distributed in the hope that it will be useful,
10
but WITHOUT ANY WARRANTY; without even the implied warranty of
11
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12
 
13
See the GNU General Public License for more details.
14
 
15
You should have received a copy of the GNU General Public License
16
along with this program; if not, write to the Free Software
17
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
18
 
19
*/
20
// protocol.h -- communications protocols
21
 
22
#define	PROTOCOL_VERSION	15
23
 
24
// if the high bit of the servercmd is set, the low bits are fast update flags:
25
#define	U_MOREBITS	(1<<0)
26
#define	U_ORIGIN1	(1<<1)
27
#define	U_ORIGIN2	(1<<2)
28
#define	U_ORIGIN3	(1<<3)
29
#define	U_ANGLE2	(1<<4)
30
#define	U_NOLERP	(1<<5)		// don't interpolate movement
31
#define	U_FRAME		(1<<6)
32
#define U_SIGNAL	(1<<7)		// just differentiates from other updates
33
 
34
// svc_update can pass all of the fast update bits, plus more
35
#define	U_ANGLE1	(1<<8)
36
#define	U_ANGLE3	(1<<9)
37
#define	U_MODEL		(1<<10)
38
#define	U_COLORMAP	(1<<11)
39
#define	U_SKIN		(1<<12)
40
#define	U_EFFECTS	(1<<13)
41
#define	U_LONGENTITY	(1<<14)
42
 
43
 
44
#define	SU_VIEWHEIGHT	(1<<0)
45
#define	SU_IDEALPITCH	(1<<1)
46
#define	SU_PUNCH1		(1<<2)
47
#define	SU_PUNCH2		(1<<3)
48
#define	SU_PUNCH3		(1<<4)
49
#define	SU_VELOCITY1	(1<<5)
50
#define	SU_VELOCITY2	(1<<6)
51
#define	SU_VELOCITY3	(1<<7)
52
//define	SU_AIMENT		(1<<8)  AVAILABLE BIT
53
#define	SU_ITEMS		(1<<9)
54
#define	SU_ONGROUND		(1<<10)		// no data follows, the bit is it
55
#define	SU_INWATER		(1<<11)		// no data follows, the bit is it
56
#define	SU_WEAPONFRAME	(1<<12)
57
#define	SU_ARMOR		(1<<13)
58
#define	SU_WEAPON		(1<<14)
59
 
60
// a sound with no channel is a local only sound
61
#define	SND_VOLUME		(1<<0)		// a byte
62
#define	SND_ATTENUATION	(1<<1)		// a byte
63
#define	SND_LOOPING		(1<<2)		// a long
64
 
65
 
66
// defaults for clientinfo messages
67
#define	DEFAULT_VIEWHEIGHT	22
68
 
69
 
70
// game types sent by serverinfo
71
// these determine which intermission screen plays
72
#define	GAME_COOP			0
73
#define	GAME_DEATHMATCH		1
74
 
75
//==================
76
// note that there are some defs.qc that mirror to these numbers
77
// also related to svc_strings[] in cl_parse
78
//==================
79
 
80
//
81
// server to client
82
//
83
#define	svc_bad				0
84
#define	svc_nop				1
85
#define	svc_disconnect		2
86
#define	svc_updatestat		3	// [byte] [long]
87
#define	svc_version			4	// [long] server version
88
#define	svc_setview			5	// [short] entity number
89
#define	svc_sound			6	// 
90
#define	svc_time			7	// [float] server time
91
#define	svc_print			8	// [string] null terminated string
92
#define	svc_stufftext		9	// [string] stuffed into client's console buffer
93
								// the string should be \n terminated
94
#define	svc_setangle		10	// [angle3] set the view angle to this absolute value
95
 
96
#define	svc_serverinfo		11	// [long] version
97
						// [string] signon string
98
						// [string]..[0]model cache
99
						// [string]...[0]sounds cache
100
#define	svc_lightstyle		12	// [byte] [string]
101
#define	svc_updatename		13	// [byte] [string]
102
#define	svc_updatefrags		14	// [byte] [short]
103
#define	svc_clientdata		15	// 
104
#define	svc_stopsound		16	// 
105
#define	svc_updatecolors	17	// [byte] [byte]
106
#define	svc_particle		18	// [vec3] 
107
#define	svc_damage			19
108
 
109
#define	svc_spawnstatic		20
110
//	svc_spawnbinary		21
111
#define	svc_spawnbaseline	22
112
 
113
#define	svc_temp_entity		23
114
 
115
#define	svc_setpause		24	// [byte] on / off
116
#define	svc_signonnum		25	// [byte]  used for the signon sequence
117
 
118
#define	svc_centerprint		26	// [string] to put in center of the screen
119
 
120
#define	svc_killedmonster	27
121
#define	svc_foundsecret		28
122
 
123
#define	svc_spawnstaticsound	29	// [coord3] [byte] samp [byte] vol [byte] aten
124
 
125
#define	svc_intermission	30		// [string] music
126
#define	svc_finale			31		// [string] music [string] text
127
 
128
#define	svc_cdtrack			32		// [byte] track [byte] looptrack
129
#define svc_sellscreen		33
130
 
131
#define svc_cutscene		34
132
 
133
//
134
// client to server
135
//
136
#define	clc_bad			0
137
#define	clc_nop 		1
138
#define	clc_disconnect	2
139
#define	clc_move		3			// [usercmd_t]
140
#define	clc_stringcmd	4		// [string] message
141
 
142
 
143
//
144
// temp entity events
145
//
146
#define	TE_SPIKE			0
147
#define	TE_SUPERSPIKE		1
148
#define	TE_GUNSHOT			2
149
#define	TE_EXPLOSION		3
150
#define	TE_TAREXPLOSION		4
151
#define	TE_LIGHTNING1		5
152
#define	TE_LIGHTNING2		6
153
#define	TE_WIZSPIKE			7
154
#define	TE_KNIGHTSPIKE		8
155
#define	TE_LIGHTNING3		9
156
#define	TE_LAVASPLASH		10
157
#define	TE_TELEPORT			11
158
#define TE_EXPLOSION2		12
159
 
160
// PGM 01/21/97
161
#define TE_BEAM				13
162
// PGM 01/21/97
163
 
164
#ifdef QUAKE2
165
#define TE_IMPLOSION		14
166
#define TE_RAILTRAIL		15
167
#endif