summaryrefslogtreecommitdiff
path: root/source/q_shared.h
diff options
context:
space:
mode:
authorAndrey Nazarov <skuller@skuller.net>2009-05-29 21:32:02 +0000
committerAndrey Nazarov <skuller@skuller.net>2009-05-29 21:32:02 +0000
commit3ef036028a652f979a4197dd4a2ddd779e437597 (patch)
tree42c11d1e5396509e41d3776b80eaca3660a998db /source/q_shared.h
parent454fc2e2eb975e359696850f07c071aa0736aac7 (diff)
Ran all source files through expand(1).
Diffstat (limited to 'source/q_shared.h')
-rw-r--r--source/q_shared.h1724
1 files changed, 862 insertions, 862 deletions
diff --git a/source/q_shared.h b/source/q_shared.h
index a377e80..fd38153 100644
--- a/source/q_shared.h
+++ b/source/q_shared.h
@@ -17,7 +17,7 @@ along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-
+
// q_shared.h -- included first by ALL program modules
#include <math.h>
@@ -76,8 +76,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#endif /* !__GNUC__ */
-typedef unsigned char byte;
-typedef enum { qfalse, qtrue } qboolean;
+typedef unsigned char byte;
+typedef enum { qfalse, qtrue } qboolean;
typedef int qhandle_t;
typedef int fileHandle_t;
@@ -86,67 +86,67 @@ typedef int fileHandle_t;
#endif
// angle indexes
-#define PITCH 0 // up / down
-#define YAW 1 // left / right
-#define ROLL 2 // fall over
+#define PITCH 0 // up / down
+#define YAW 1 // left / right
+#define ROLL 2 // fall over
-#define MAX_STRING_CHARS 1024 // max length of a string passed to Cmd_TokenizeString
-#define MAX_STRING_TOKENS 256 // max tokens resulting from Cmd_TokenizeString
-#define MAX_TOKEN_CHARS 1024 // max length of an individual token
-#define MAX_NET_STRING 2048 // max length of a string used in network protocol
+#define MAX_STRING_CHARS 1024 // max length of a string passed to Cmd_TokenizeString
+#define MAX_STRING_TOKENS 256 // max tokens resulting from Cmd_TokenizeString
+#define MAX_TOKEN_CHARS 1024 // max length of an individual token
+#define MAX_NET_STRING 2048 // max length of a string used in network protocol
-#define MAX_QPATH 64 // max length of a quake game pathname
-#define MAX_OSPATH 256 // max length of a filesystem pathname
+#define MAX_QPATH 64 // max length of a quake game pathname
+#define MAX_OSPATH 256 // max length of a filesystem pathname
//
// per-level limits
//
-#define MAX_CLIENTS 256 // absolute limit
-#define MAX_EDICTS 1024 // must change protocol to increase more
-#define MAX_LIGHTSTYLES 256
-#define MAX_MODELS 256 // these are sent over the net as bytes
-#define MAX_SOUNDS 256 // so they cannot be blindly increased
-#define MAX_IMAGES 256
-#define MAX_ITEMS 256
-#define MAX_GENERAL (MAX_CLIENTS*2) // general config strings
+#define MAX_CLIENTS 256 // absolute limit
+#define MAX_EDICTS 1024 // must change protocol to increase more
+#define MAX_LIGHTSTYLES 256
+#define MAX_MODELS 256 // these are sent over the net as bytes
+#define MAX_SOUNDS 256 // so they cannot be blindly increased
+#define MAX_IMAGES 256
+#define MAX_ITEMS 256
+#define MAX_GENERAL (MAX_CLIENTS*2) // general config strings
-#define MAX_CLIENT_NAME 16
+#define MAX_CLIENT_NAME 16
typedef enum comErrorType_e {
- ERR_FATAL, // exit the entire game with a popup window
- ERR_DROP, // print to console and disconnect from game
- ERR_DISCONNECT, // don't kill server
- ERR_SILENT
+ ERR_FATAL, // exit the entire game with a popup window
+ ERR_DROP, // print to console and disconnect from game
+ ERR_DISCONNECT, // don't kill server
+ ERR_SILENT
} comErrorType_t;
typedef enum comPrintType_e {
- PRINT_ALL, // general messages
- PRINT_DEVELOPER, // only print when "developer 1"
- PRINT_WARNING, // print in yellow color
- PRINT_ERROR // print in red color
+ PRINT_ALL, // general messages
+ PRINT_DEVELOPER, // only print when "developer 1"
+ PRINT_WARNING, // print in yellow color
+ PRINT_ERROR // print in red color
} comPrintType_t;
-void Com_Printf( const char *fmt, ... ) q_printf( 1, 2 );
-void Com_DPrintf( const char *fmt, ... ) q_printf( 1, 2 );
-void Com_WPrintf( const char *fmt, ... ) q_printf( 1, 2 );
-void Com_EPrintf( const char *fmt, ... ) q_printf( 1, 2 );
-void Com_Error( comErrorType_t code, const char *fmt, ... )
+void Com_Printf( const char *fmt, ... ) q_printf( 1, 2 );
+void Com_DPrintf( const char *fmt, ... ) q_printf( 1, 2 );
+void Com_WPrintf( const char *fmt, ... ) q_printf( 1, 2 );
+void Com_EPrintf( const char *fmt, ... ) q_printf( 1, 2 );
+void Com_Error( comErrorType_t code, const char *fmt, ... )
q_noreturn q_printf( 2, 3 );
// game print flags
-#define PRINT_LOW 0 // pickup messages
-#define PRINT_MEDIUM 1 // death messages
-#define PRINT_HIGH 2 // critical messages
-#define PRINT_CHAT 3 // chat messages
+#define PRINT_LOW 0 // pickup messages
+#define PRINT_MEDIUM 1 // death messages
+#define PRINT_HIGH 2 // critical messages
+#define PRINT_CHAT 3 // chat messages
// destination class for gi.multicast()
typedef enum multicast_e {
- MULTICAST_ALL,
- MULTICAST_PHS,
- MULTICAST_PVS,
- MULTICAST_ALL_R,
- MULTICAST_PHS_R,
- MULTICAST_PVS_R
+ MULTICAST_ALL,
+ MULTICAST_PHS,
+ MULTICAST_PVS,
+ MULTICAST_ALL_R,
+ MULTICAST_PHS_R,
+ MULTICAST_PVS_R
} multicast_t;
/*
@@ -167,19 +167,19 @@ typedef float mat4_t[16];
typedef unsigned char color_t[4];
-typedef int fixed4_t;
-typedef int fixed8_t;
-typedef int fixed16_t;
+typedef int fixed4_t;
+typedef int fixed8_t;
+typedef int fixed16_t;
#ifndef M_PI
-#define M_PI 3.14159265358979323846 // matches value in gcc v2 math.h
+#define M_PI 3.14159265358979323846 // matches value in gcc v2 math.h
#endif
struct cplane_s;
extern vec3_t vec3_origin;
-#define NUMVERTEXNORMALS 162
+#define NUMVERTEXNORMALS 162
extern const vec3_t bytedirs[NUMVERTEXNORMALS];
@@ -189,98 +189,98 @@ extern const char colorNames[10][8];
#endif
typedef struct vrect_s {
- int x, y, width, height;
+ int x, y, width, height;
} vrect_t;
-#define nanmask (255<<23)
+#define nanmask (255<<23)
-#define IS_NAN(x) (((*(int *)&x)&nanmask)==nanmask)
+#define IS_NAN(x) (((*(int *)&x)&nanmask)==nanmask)
// microsoft's fabs seems to be ungodly slow...
static inline float Q_fabs( float f ) {
union {
- uint32_t l;
+ uint32_t l;
float f;
} tmp;
tmp.f = f;
- tmp.l &= 0x7FFFFFFF;
- return tmp.f;
+ tmp.l &= 0x7FFFFFFF;
+ return tmp.f;
}
#define Q_ftol( f ) ((long)(f))
#define DEG2RAD( a ) ( a * M_PI ) / 180.0F
-#define DotProduct(x,y) ((x)[0]*(y)[0]+(x)[1]*(y)[1]+(x)[2]*(y)[2])
+#define DotProduct(x,y) ((x)[0]*(y)[0]+(x)[1]*(y)[1]+(x)[2]*(y)[2])
#define CrossProduct(v1,v2,cross) \
- ((cross)[0]=(v1)[1]*(v2)[2]-(v1)[2]*(v2)[1], \
- (cross)[1]=(v1)[2]*(v2)[0]-(v1)[0]*(v2)[2], \
- (cross)[2]=(v1)[0]*(v2)[1]-(v1)[1]*(v2)[0])
+ ((cross)[0]=(v1)[1]*(v2)[2]-(v1)[2]*(v2)[1], \
+ (cross)[1]=(v1)[2]*(v2)[0]-(v1)[0]*(v2)[2], \
+ (cross)[2]=(v1)[0]*(v2)[1]-(v1)[1]*(v2)[0])
#define VectorSubtract(a,b,c) \
- ((c)[0]=(a)[0]-(b)[0], \
- (c)[1]=(a)[1]-(b)[1], \
- (c)[2]=(a)[2]-(b)[2])
+ ((c)[0]=(a)[0]-(b)[0], \
+ (c)[1]=(a)[1]-(b)[1], \
+ (c)[2]=(a)[2]-(b)[2])
#define VectorAdd(a,b,c) \
- ((c)[0]=(a)[0]+(b)[0], \
- (c)[1]=(a)[1]+(b)[1], \
- (c)[2]=(a)[2]+(b)[2])
-#define VectorCopy(a,b) ((b)[0]=(a)[0],(b)[1]=(a)[1],(b)[2]=(a)[2])
-#define VectorClear(a) ((a)[0]=(a)[1]=(a)[2]=0)
-#define VectorNegate(a,b) ((b)[0]=-(a)[0],(b)[1]=-(a)[1],(b)[2]=-(a)[2])
-#define VectorInverse(a) ((a)[0]=-(a)[0],(a)[1]=-(a)[1],(a)[2]=-(a)[2])
-#define VectorSet(v, x, y, z) ((v)[0]=(x),(v)[1]=(y),(v)[2]=(z))
+ ((c)[0]=(a)[0]+(b)[0], \
+ (c)[1]=(a)[1]+(b)[1], \
+ (c)[2]=(a)[2]+(b)[2])
+#define VectorCopy(a,b) ((b)[0]=(a)[0],(b)[1]=(a)[1],(b)[2]=(a)[2])
+#define VectorClear(a) ((a)[0]=(a)[1]=(a)[2]=0)
+#define VectorNegate(a,b) ((b)[0]=-(a)[0],(b)[1]=-(a)[1],(b)[2]=-(a)[2])
+#define VectorInverse(a) ((a)[0]=-(a)[0],(a)[1]=-(a)[1],(a)[2]=-(a)[2])
+#define VectorSet(v, x, y, z) ((v)[0]=(x),(v)[1]=(y),(v)[2]=(z))
#define VectorAvg(a,b,c) \
- ((c)[0]=((a)[0]+(b)[0])*0.5f, \
- (c)[1]=((a)[1]+(b)[1])*0.5f, \
- (c)[2]=((a)[2]+(b)[2])*0.5f)
+ ((c)[0]=((a)[0]+(b)[0])*0.5f, \
+ (c)[1]=((a)[1]+(b)[1])*0.5f, \
+ (c)[2]=((a)[2]+(b)[2])*0.5f)
#define VectorMA(a,b,c,d) \
- ((d)[0]=(a)[0]+(b)*(c)[0], \
- (d)[1]=(a)[1]+(b)*(c)[1], \
- (d)[2]=(a)[2]+(b)*(c)[2])
+ ((d)[0]=(a)[0]+(b)*(c)[0], \
+ (d)[1]=(a)[1]+(b)*(c)[1], \
+ (d)[2]=(a)[2]+(b)*(c)[2])
#define VectorVectorMA(a,b,c,d) \
- ((d)[0]=(a)[0]+(b)[0]*(c)[0], \
- (d)[1]=(a)[1]+(b)[1]*(c)[1], \
- (d)[2]=(a)[2]+(b)[2]*(c)[2])
-#define VectorCompare(v1,v2) ((v1)[0]==(v2)[0]&&(v1)[1]==(v2)[1]&&(v1)[2]==(v2)[2])
-#define VectorLength(v) (sqrt(DotProduct((v),(v))))
-#define VectorLengthSquared(v) (DotProduct((v),(v)))
+ ((d)[0]=(a)[0]+(b)[0]*(c)[0], \
+ (d)[1]=(a)[1]+(b)[1]*(c)[1], \
+ (d)[2]=(a)[2]+(b)[2]*(c)[2])
+#define VectorCompare(v1,v2) ((v1)[0]==(v2)[0]&&(v1)[1]==(v2)[1]&&(v1)[2]==(v2)[2])
+#define VectorLength(v) (sqrt(DotProduct((v),(v))))
+#define VectorLengthSquared(v) (DotProduct((v),(v)))
#define VectorScale(in,scale,out) \
- ((out)[0]=(in)[0]*(scale), \
- (out)[1]=(in)[1]*(scale), \
- (out)[2]=(in)[2]*(scale))
+ ((out)[0]=(in)[0]*(scale), \
+ (out)[1]=(in)[1]*(scale), \
+ (out)[2]=(in)[2]*(scale))
#define VectorVectorScale(in,scale,out) \
- ((out)[0]=(in)[0]*(scale)[0], \
- (out)[1]=(in)[1]*(scale)[1], \
- (out)[2]=(in)[2]*(scale)[2])
+ ((out)[0]=(in)[0]*(scale)[0], \
+ (out)[1]=(in)[1]*(scale)[1], \
+ (out)[2]=(in)[2]*(scale)[2])
#define DistanceSquared(v1,v2) \
- (((v1)[0]-(v2)[0])*((v1)[0]-(v2)[0])+ \
- ((v1)[1]-(v2)[1])*((v1)[1]-(v2)[1])+ \
- ((v1)[2]-(v2)[2])*((v1)[2]-(v2)[2]))
+ (((v1)[0]-(v2)[0])*((v1)[0]-(v2)[0])+ \
+ ((v1)[1]-(v2)[1])*((v1)[1]-(v2)[1])+ \
+ ((v1)[2]-(v2)[2])*((v1)[2]-(v2)[2]))
#define Distance(v1,v2) (sqrt(DistanceSquared(v1,v2)))
#define LerpAngles(a,b,c,d) \
- ((d)[0]=LerpAngle((a)[0],(b)[0],c), \
- (d)[1]=LerpAngle((a)[1],(b)[1],c), \
- (d)[2]=LerpAngle((a)[2],(b)[2],c))
+ ((d)[0]=LerpAngle((a)[0],(b)[0],c), \
+ (d)[1]=LerpAngle((a)[1],(b)[1],c), \
+ (d)[2]=LerpAngle((a)[2],(b)[2],c))
#define LerpVector(a,b,c,d) \
- ((d)[0]=(a)[0]+(c)*((b)[0]-(a)[0]), \
- (d)[1]=(a)[1]+(c)*((b)[1]-(a)[1]), \
- (d)[2]=(a)[2]+(c)*((b)[2]-(a)[2]))
+ ((d)[0]=(a)[0]+(c)*((b)[0]-(a)[0]), \
+ (d)[1]=(a)[1]+(c)*((b)[1]-(a)[1]), \
+ (d)[2]=(a)[2]+(c)*((b)[2]-(a)[2]))
#define PlaneDiff(v,p) (DotProduct(v,(p)->normal)-(p)->dist)
-#define Vector4Subtract(a,b,c) ((c)[0]=(a)[0]-(b)[0],(c)[1]=(a)[1]-(b)[1],(c)[2]=(a)[2]-(b)[2],(c)[3]=(a)[3]-(b)[3])
-#define Vector4Add(a,b,c) ((c)[0]=(a)[0]+(b)[0],(c)[1]=(a)[1]+(b)[1],(c)[2]=(a)[2]+(b)[2],(c)[3]=(a)[3]+(b)[3])
-#define Vector4Copy(a,b) ((b)[0]=(a)[0],(b)[1]=(a)[1],(b)[2]=(a)[2],(b)[3]=(a)[3])
-#define Vector4Clear(a) ((a)[0]=(a)[1]=(a)[2]=(a)[3]=0)
-#define Vector4Negate(a,b) ((b)[0]=-(a)[0],(b)[1]=-(a)[1],(b)[2]=-(a)[2],(b)[3]=-(a)[3])
-#define Vector4Set(v, a, b, c, d) ((v)[0]=(a),(v)[1]=(b),(v)[2]=(c),(v)[3]=(d))
+#define Vector4Subtract(a,b,c) ((c)[0]=(a)[0]-(b)[0],(c)[1]=(a)[1]-(b)[1],(c)[2]=(a)[2]-(b)[2],(c)[3]=(a)[3]-(b)[3])
+#define Vector4Add(a,b,c) ((c)[0]=(a)[0]+(b)[0],(c)[1]=(a)[1]+(b)[1],(c)[2]=(a)[2]+(b)[2],(c)[3]=(a)[3]+(b)[3])
+#define Vector4Copy(a,b) ((b)[0]=(a)[0],(b)[1]=(a)[1],(b)[2]=(a)[2],(b)[3]=(a)[3])
+#define Vector4Clear(a) ((a)[0]=(a)[1]=(a)[2]=(a)[3]=0)
+#define Vector4Negate(a,b) ((b)[0]=-(a)[0],(b)[1]=-(a)[1],(b)[2]=-(a)[2],(b)[3]=-(a)[3])
+#define Vector4Set(v, a, b, c, d) ((v)[0]=(a),(v)[1]=(b),(v)[2]=(c),(v)[3]=(d))
void ClearBounds (vec3_t mins, vec3_t maxs);
void AddPointToBounds (const vec3_t v, vec3_t mins, vec3_t maxs);
vec_t RadiusFromBounds (const vec3_t mins, const vec3_t maxs);
void UnionBounds( vec3_t a[2], vec3_t b[2], vec3_t c[2] );
/*vec_t VectorLength (vec3_t v);*/
-vec_t VectorNormalize (vec3_t v); // returns vector length
+vec_t VectorNormalize (vec3_t v); // returns vector length
vec_t VectorNormalize2 (vec3_t v, vec3_t out);
int Q_CeilPowerOfTwo( int value );
@@ -289,16 +289,16 @@ float Com_CalcFov( float fov_x, float width, float height );
void AngleVectors (vec3_t angles, vec3_t forward, vec3_t right, vec3_t up);
static inline float LerpAngle( float a2, float a1, float frac ) {
- if (a1 - a2 > 180)
- a1 -= 360;
- if (a1 - a2 < -180)
- a1 += 360;
- return a2 + frac * (a1 - a2);
+ if (a1 - a2 > 180)
+ a1 -= 360;
+ if (a1 - a2 < -180)
+ a1 += 360;
+ return a2 + frac * (a1 - a2);
}
static inline float anglemod( float a ) {
- a = (360.0/65536) * ((int)(a*(65536/360.0)) & 65535);
- return a;
+ a = (360.0/65536) * ((int)(a*(65536/360.0)) & 65535);
+ return a;
}
static inline int rand_byte( void ) {
@@ -329,44 +329,44 @@ void ByteToDir( int index, vec3_t dir );
#define min(a,b) ((a)<(b)?(a):(b))
#endif
-#define frand() ( ( rand() & 32767 ) * ( 1.0 / 32767 ) )
-#define crand() ( ( rand() & 32767 ) * ( 2.0 / 32767 ) - 1 )
+#define frand() ( ( rand() & 32767 ) * ( 1.0 / 32767 ) )
+#define crand() ( ( rand() & 32767 ) * ( 2.0 / 32767 ) - 1 )
-#define Q_rint(x) ((x) < 0 ? ((int)((x) - 0.5f)) : ((int)((x) + 0.5f)))
+#define Q_rint(x) ((x) < 0 ? ((int)((x) - 0.5f)) : ((int)((x) + 0.5f)))
-#define Q_IsBitSet( data, bit ) ( ( (data)[(bit) >> 3] & ( 1 << ( (bit) & 7 ) ) ) != 0 )
-#define Q_SetBit( data, bit ) ( (data)[(bit) >> 3] |= ( 1 << ( (bit) & 7 ) ) )
-#define Q_ClearBit( data, bit ) ( (data)[(bit) >> 3] &= ~( 1 << ( (bit) & 7 ) ) )
+#define Q_IsBitSet( data, bit ) ( ( (data)[(bit) >> 3] & ( 1 << ( (bit) & 7 ) ) ) != 0 )
+#define Q_SetBit( data, bit ) ( (data)[(bit) >> 3] |= ( 1 << ( (bit) & 7 ) ) )
+#define Q_ClearBit( data, bit ) ( (data)[(bit) >> 3] &= ~( 1 << ( (bit) & 7 ) ) )
/* use escape character server will never send */
-#define Q_COLOR_ESCAPE '\x7F'
-#define Q_COLOR_ESCAPE_STRING "\x7F"
-#define Q_IsColorString(p) ( *(p) == Q_COLOR_ESCAPE && *( (p) + 1 ) )
+#define Q_COLOR_ESCAPE '\x7F'
+#define Q_COLOR_ESCAPE_STRING "\x7F"
+#define Q_IsColorString(p) ( *(p) == Q_COLOR_ESCAPE && *( (p) + 1 ) )
-#define COLOR_BLACK '0'
-#define COLOR_RED '1'
-#define COLOR_GREEN '2'
-#define COLOR_YELLOW '3'
-#define COLOR_BLUE '4'
-#define COLOR_CYAN '5'
-#define COLOR_MAGENTA '6'
-#define COLOR_WHITE '7'
-#define ColorIndex(c) ( ( (c) - '0' ) & 7 )
+#define COLOR_BLACK '0'
+#define COLOR_RED '1'
+#define COLOR_GREEN '2'
+#define COLOR_YELLOW '3'
+#define COLOR_BLUE '4'
+#define COLOR_CYAN '5'
+#define COLOR_MAGENTA '6'
+#define COLOR_WHITE '7'
+#define ColorIndex(c) ( ( (c) - '0' ) & 7 )
-#define COLOR_ALT '8'
-#define COLOR_RESET '9'
+#define COLOR_ALT '8'
+#define COLOR_RESET '9'
-#define S_COLOR_BLACK Q_COLOR_ESCAPE_STRING "0"
-#define S_COLOR_RED Q_COLOR_ESCAPE_STRING "1"
-#define S_COLOR_GREEN Q_COLOR_ESCAPE_STRING "2"
-#define S_COLOR_YELLOW Q_COLOR_ESCAPE_STRING "3"
-#define S_COLOR_BLUE Q_COLOR_ESCAPE_STRING "4"
-#define S_COLOR_CYAN Q_COLOR_ESCAPE_STRING "5"
-#define S_COLOR_MAGENTA Q_COLOR_ESCAPE_STRING "6"
-#define S_COLOR_WHITE Q_COLOR_ESCAPE_STRING "7"
+#define S_COLOR_BLACK Q_COLOR_ESCAPE_STRING "0"
+#define S_COLOR_RED Q_COLOR_ESCAPE_STRING "1"
+#define S_COLOR_GREEN Q_COLOR_ESCAPE_STRING "2"
+#define S_COLOR_YELLOW Q_COLOR_ESCAPE_STRING "3"
+#define S_COLOR_BLUE Q_COLOR_ESCAPE_STRING "4"
+#define S_COLOR_CYAN Q_COLOR_ESCAPE_STRING "5"
+#define S_COLOR_MAGENTA Q_COLOR_ESCAPE_STRING "6"
+#define S_COLOR_WHITE Q_COLOR_ESCAPE_STRING "7"
-#define S_COLOR_ALT Q_COLOR_ESCAPE_STRING "8"
-#define S_COLOR_RESET Q_COLOR_ESCAPE_STRING "9"
+#define S_COLOR_ALT Q_COLOR_ESCAPE_STRING "8"
+#define S_COLOR_RESET Q_COLOR_ESCAPE_STRING "9"
#define colorBlack colorTable[ColorIndex(COLOR_BLACK)]
#define colorRed colorTable[ColorIndex(COLOR_RED)]
@@ -377,28 +377,28 @@ void ByteToDir( int index, vec3_t dir );
#define colorMagenta colorTable[ColorIndex(COLOR_MAGENTA)]
#define colorWhite colorTable[ColorIndex(COLOR_WHITE)]
-#define MAKERGB(v,r,g,b) ((v)[0]=(r),(v)[1]=(g),(v)[2]=(b))
-#define MAKERGBA(v,r,g,b,a) ((v)[0]=(r),(v)[1]=(g),(v)[2]=(b),(v)[3]=(a))
+#define MAKERGB(v,r,g,b) ((v)[0]=(r),(v)[1]=(g),(v)[2]=(b))
+#define MAKERGBA(v,r,g,b,a) ((v)[0]=(r),(v)[1]=(g),(v)[2]=(b),(v)[3]=(a))
-#define SCREEN_WIDTH 640
-#define SCREEN_HEIGHT 480
+#define SCREEN_WIDTH 640
+#define SCREEN_HEIGHT 480
-#define UI_LEFT 0x00000001
-#define UI_RIGHT 0x00000002
-#define UI_CENTER (UI_LEFT|UI_RIGHT)
-#define UI_BOTTOM 0x00000004
-#define UI_TOP 0x00000008
-#define UI_MIDDLE (UI_BOTTOM|UI_TOP)
-#define UI_DROPSHADOW 0x00000010
-#define UI_ALTCOLOR 0x00000020
-#define UI_IGNORECOLOR 0x00000040
-#define UI_ALTESCAPES 0x00000080
-#define UI_AUTOWRAP 0x00000100
-#define UI_MULTILINE 0x00000200
-#define UI_DRAWCURSOR 0x00000400
+#define UI_LEFT 0x00000001
+#define UI_RIGHT 0x00000002
+#define UI_CENTER (UI_LEFT|UI_RIGHT)
+#define UI_BOTTOM 0x00000004
+#define UI_TOP 0x00000008
+#define UI_MIDDLE (UI_BOTTOM|UI_TOP)
+#define UI_DROPSHADOW 0x00000010
+#define UI_ALTCOLOR 0x00000020
+#define UI_IGNORECOLOR 0x00000040
+#define UI_ALTESCAPES 0x00000080
+#define UI_AUTOWRAP 0x00000100
+#define UI_MULTILINE 0x00000200
+#define UI_DRAWCURSOR 0x00000400
-#define CHAR_WIDTH 8
-#define CHAR_HEIGHT 8
+#define CHAR_WIDTH 8
+#define CHAR_HEIGHT 8
int Q_DrawStrlen( const char *string );
int Q_DrawStrlenTo( const char *string, int maxChars );
@@ -412,50 +412,50 @@ int Q_HighlightStr( char *out, const char *in, int bufsize );
//=============================================
-#define Q_isupper( c ) ( (c) >= 'A' && (c) <= 'Z' )
-#define Q_islower( c ) ( (c) >= 'a' && (c) <= 'z' )
-#define Q_isdigit( c ) ( (c) >= '0' && (c) <= '9' )
-#define Q_isalpha( c ) ( Q_isupper( c ) || Q_islower( c ) )
-#define Q_isalnum( c ) ( Q_isalpha( c ) || Q_isdigit( c ) )
+#define Q_isupper( c ) ( (c) >= 'A' && (c) <= 'Z' )
+#define Q_islower( c ) ( (c) >= 'a' && (c) <= 'z' )
+#define Q_isdigit( c ) ( (c) >= '0' && (c) <= '9' )
+#define Q_isalpha( c ) ( Q_isupper( c ) || Q_islower( c ) )
+#define Q_isalnum( c ) ( Q_isalpha( c ) || Q_isdigit( c ) )
#define Q_isprint( c ) ( (c) >= 32 && (c) < 127 )
// tests if specified character is valid quake path character
-#define Q_ispath( c ) ( Q_isalnum( c ) || (c) == '_' || (c) == '-' )
+#define Q_ispath( c ) ( Q_isalnum( c ) || (c) == '_' || (c) == '-' )
static inline int Q_tolower( int c ) {
- if( Q_isupper( c ) ) {
- c += ( 'a' - 'A' );
- }
- return c;
+ if( Q_isupper( c ) ) {
+ c += ( 'a' - 'A' );
+ }
+ return c;
}
static inline int Q_toupper( int c ) {
- if( Q_islower( c ) ) {
- c -= ( 'a' - 'A' );
- }
- return c;
+ if( Q_islower( c ) ) {
+ c -= ( 'a' - 'A' );
+ }
+ return c;
}
static inline char *Q_strlwr( char *s ) {
- char *p = s;
+ char *p = s;
- while( *p ) {
- *p = Q_tolower( *p );
- p++;
- }
+ while( *p ) {
+ *p = Q_tolower( *p );
+ p++;
+ }
- return s;
+ return s;
}
static inline char *Q_strupr( char *s ) {
- char *p = s;
+ char *p = s;
- while( *p ) {
- *p = Q_toupper( *p );
- p++;
- }
+ while( *p ) {
+ *p = Q_toupper( *p );
+ p++;
+ }
- return s;
+ return s;
}
static inline int Q_charhex( int c ) {
@@ -476,9 +476,9 @@ int Q_strcasecmp( const char *s1, const char *s2 );
int Q_strncasecmp( const char *s1, const char *s2, size_t n );
char *Q_strcasestr( const char *s1, const char *s2 );
-#define Q_stricmp Q_strcasecmp
-#define Q_stricmpn Q_strncasecmp
-#define Q_stristr Q_strcasestr
+#define Q_stricmp Q_strcasecmp
+#define Q_stricmpn Q_strncasecmp
+#define Q_stristr Q_strcasestr
#ifdef _WIN32
#define Q_mkdir( p ) _mkdir( p )
@@ -531,45 +531,45 @@ void Com_PageInMemory (void *buffer, size_t size);
unsigned COM_ParseHex( const char *string );
qboolean COM_ParseColor( const char *s, color_t color );
-char *va( const char *format, ... ) q_printf( 1, 2 );
+char *va( const char *format, ... ) q_printf( 1, 2 );
//=============================================
static inline uint16_t ShortSwap( uint16_t s ) {
- byte b1, b2;
+ byte b1, b2;
- b1 = s & 255;
- b2 = ( s >> 8 ) & 255;
+ b1 = s & 255;
+ b2 = ( s >> 8 ) & 255;
- return ( b1 << 8 ) | b2;
+ return ( b1 << 8 ) | b2;
}
static inline uint32_t LongSwap( uint32_t l ) {
- byte b1, b2, b3, b4;
+ byte b1, b2, b3, b4;
- b1 = l & 255;
- b2 = ( l >> 8 ) & 255;
- b3 = ( l >> 16 ) & 255;
- b4 = ( l >> 24 ) & 255;
+ b1 = l & 255;
+ b2 = ( l >> 8 ) & 255;
+ b3 = ( l >> 16 ) & 255;
+ b4 = ( l >> 24 ) & 255;
- return ( b1 << 24 ) | ( b2 << 16 ) | ( b3 << 8 ) | b4;
+ return ( b1 << 24 ) | ( b2 << 16 ) | ( b3 << 8 ) | b4;
}
static inline float FloatSwap( float f ) {
- union {
- float f;
- uint32_t l;
- } dat1, dat2;
-
- dat1.f = f;
- dat2.l = LongSwap( dat1.l );
- return dat2.f;
+ union {
+ float f;
+ uint32_t l;
+ } dat1, dat2;
+
+ dat1.f = f;
+ dat2.l = LongSwap( dat1.l );
+ return dat2.f;
}
#if __BYTE_ORDER == __LITTLE_ENDIAN
#define BigShort ShortSwap
#define BigLong LongSwap
-#define BigFloat FloatSwap
+#define BigFloat FloatSwap
#define LittleShort(x) ((uint16_t)(x))
#define LittleLong(x) ((uint32_t)(x))
#define LittleFloat(x) ((float)(x))
@@ -579,9 +579,9 @@ static inline float FloatSwap( float f ) {
#define BigShort(x) ((uint16_t)(x))
#define BigLong(x) ((uint32_t)(x))
#define BigFloat(x) ((float)(x))
-#define LittleShort ShortSwap
-#define LittleLong LongSwap
-#define LittleFloat FloatSwap
+#define LittleShort ShortSwap
+#define LittleLong LongSwap
+#define LittleFloat FloatSwap
#define MakeLong(b1,b2,b3,b4) (((b1)<<24)|((b2)<<16)|((b3)<<8)|(b4))
#define MakeShort(b1,b2) (((b1)<<8)|(b2))
#else
@@ -598,17 +598,17 @@ static inline float FloatSwap( float f ) {
//
// key / value info strings
//
-#define MAX_INFO_KEY 64
-#define MAX_INFO_VALUE 64
-#define MAX_INFO_STRING 512
+#define MAX_INFO_KEY 64
+#define MAX_INFO_VALUE 64
+#define MAX_INFO_STRING 512
-char *Info_ValueForKey( const char *s, const char *key );
-void Info_RemoveKey( char *s, const char *key );
-qboolean Info_SetValueForKey( char *s, const char *key, const char *value );
-qboolean Info_Validate( const char *s );
-int Info_SubValidate( const char *s );
-void Info_NextPair( const char **string, char *key, char *value );
-void Info_Print( const char *infostring );
+char *Info_ValueForKey( const char *s, const char *key );
+void Info_RemoveKey( char *s, const char *key );
+qboolean Info_SetValueForKey( char *s, const char *key, const char *value );
+qboolean Info_Validate( const char *s );
+int Info_SubValidate( const char *s );
+void Info_NextPair( const char **string, char *key, char *value );
+void Info_Print( const char *infostring );
/*
==========================================================
@@ -619,40 +619,40 @@ CVARS (console variables)
*/
#ifndef CVAR
-#define CVAR
+#define CVAR
-#define CVAR_ARCHIVE 1 // set to cause it to be saved to vars.rc
-#define CVAR_USERINFO 2 // added to userinfo when changed
-#define CVAR_SERVERINFO 4 // added to serverinfo when changed
-#define CVAR_NOSET 8 // don't allow change from console at all,
- // but can be set from the command line
-#define CVAR_LATCH 16 // save changes until server restart
+#define CVAR_ARCHIVE 1 // set to cause it to be saved to vars.rc
+#define CVAR_USERINFO 2 // added to userinfo when changed
+#define CVAR_SERVERINFO 4 // added to serverinfo when changed
+#define CVAR_NOSET 8 // don't allow change from console at all,
+ // but can be set from the command line
+#define CVAR_LATCH 16 // save changes until server restart
struct cvar_s;
struct genctx_s;
-typedef void (*xchanged_t)( struct cvar_s * );
+typedef void (*xchanged_t)( struct cvar_s * );
typedef void (*xgenerator_t)( struct genctx_s * );
// nothing outside the cvar.*() functions should modify these fields!
typedef struct cvar_s {
- char *name;
- char *string;
- char *latched_string; // for CVAR_LATCH vars
- int flags;
- qboolean modified; // set each time the cvar is changed
- float value;
- struct cvar_s *next;
+ char *name;
+ char *string;
+ char *latched_string; // for CVAR_LATCH vars
+ int flags;
+ qboolean modified; // set each time the cvar is changed
+ float value;
+ struct cvar_s *next;
// ------ new stuff ------
- int integer;
- char *default_string;
- xchanged_t changed;
+ int integer;
+ char *default_string;
+ xchanged_t changed;
xgenerator_t generator;
- struct cvar_s *hashNext;
+ struct cvar_s *hashNext;
} cvar_t;
-#endif // CVAR
+#endif // CVAR
/*
==============================================================
@@ -663,105 +663,105 @@ COLLISION DETECTION
*/
// lower bits are stronger, and will eat weaker brushes completely
-#define CONTENTS_SOLID 1 // an eye is never valid in a solid
-#define CONTENTS_WINDOW 2 // translucent, but not watery
-#define CONTENTS_AUX 4
-#define CONTENTS_LAVA 8
-#define CONTENTS_SLIME 16
-#define CONTENTS_WATER 32
-#define CONTENTS_MIST 64
-#define LAST_VISIBLE_CONTENTS 64
+#define CONTENTS_SOLID 1 // an eye is never valid in a solid
+#define CONTENTS_WINDOW 2 // translucent, but not watery
+#define CONTENTS_AUX 4
+#define CONTENTS_LAVA 8
+#define CONTENTS_SLIME 16
+#define CONTENTS_WATER 32
+#define CONTENTS_MIST 64
+#define LAST_VISIBLE_CONTENTS 64
// remaining contents are non-visible, and don't eat brushes
-#define CONTENTS_AREAPORTAL 0x8000
+#define CONTENTS_AREAPORTAL 0x8000
-#define CONTENTS_PLAYERCLIP 0x10000
-#define CONTENTS_MONSTERCLIP 0x20000
+#define CONTENTS_PLAYERCLIP 0x10000
+#define CONTENTS_MONSTERCLIP 0x20000
// currents can be added to any other contents, and may be mixed
-#define CONTENTS_CURRENT_0 0x40000
-#define CONTENTS_CURRENT_90 0x80000
-#define CONTENTS_CURRENT_180 0x100000
-#define CONTENTS_CURRENT_270 0x200000
-#define CONTENTS_CURRENT_UP 0x400000
-#define CONTENTS_CURRENT_DOWN 0x800000
+#define CONTENTS_CURRENT_0 0x40000
+#define CONTENTS_CURRENT_90 0x80000
+#define CONTENTS_CURRENT_180 0x100000
+#define CONTENTS_CURRENT_270 0x200000
+#define CONTENTS_CURRENT_UP 0x400000
+#define CONTENTS_CURRENT_DOWN 0x800000
-#define CONTENTS_ORIGIN 0x1000000 // removed before bsping an entity
+#define CONTENTS_ORIGIN 0x1000000 // removed before bsping an entity
-#define CONTENTS_MONSTER 0x2000000 // should never be on a brush, only in game
-#define CONTENTS_DEADMONSTER 0x4000000
-#define CONTENTS_DETAIL 0x8000000 // brushes to be added after vis leafs
-#define CONTENTS_TRANSLUCENT 0x10000000 // auto set if any surface has trans
-#define CONTENTS_LADDER 0x20000000
+#define CONTENTS_MONSTER 0x2000000 // should never be on a brush, only in game
+#define CONTENTS_DEADMONSTER 0x4000000
+#define CONTENTS_DETAIL 0x8000000 // brushes to be added after vis leafs
+#define CONTENTS_TRANSLUCENT 0x10000000 // auto set if any surface has trans
+#define CONTENTS_LADDER 0x20000000
-#define SURF_LIGHT 0x1 // value will hold the light strength
+#define SURF_LIGHT 0x1 // value will hold the light strength
-#define SURF_SLICK 0x2 // effects game physics
+#define SURF_SLICK 0x2 // effects game physics
-#define SURF_SKY 0x4 // don't draw, but add to skybox
-#define SURF_WARP 0x8 // turbulent water warp
-#define SURF_TRANS33 0x10
-#define SURF_TRANS66 0x20
-#define SURF_FLOWING 0x40 // scroll towards angle
-#define SURF_NODRAW 0x80 // don't bother referencing the texture
+#define SURF_SKY 0x4 // don't draw, but add to skybox
+#define SURF_WARP 0x8 // turbulent water warp
+#define SURF_TRANS33 0x10
+#define SURF_TRANS66 0x20
+#define SURF_FLOWING 0x40 // scroll towards angle
+#define SURF_NODRAW 0x80 // don't bother referencing the texture
// content masks
-#define MASK_ALL (-1)
-#define MASK_SOLID (CONTENTS_SOLID|CONTENTS_WINDOW)
-#define MASK_PLAYERSOLID (CONTENTS_SOLID|CONTENTS_PLAYERCLIP|CONTENTS_WINDOW|CONTENTS_MONSTER)
-#define MASK_DEADSOLID (CONTENTS_SOLID|CONTENTS_PLAYERCLIP|CONTENTS_WINDOW)
-#define MASK_MONSTERSOLID (CONTENTS_SOLID|CONTENTS_MONSTERCLIP|CONTENTS_WINDOW|CONTENTS_MONSTER)
-#define MASK_WATER (CONTENTS_WATER|CONTENTS_LAVA|CONTENTS_SLIME)
-#define MASK_OPAQUE (CONTENTS_SOLID|CONTENTS_SLIME|CONTENTS_LAVA)
-#define MASK_SHOT (CONTENTS_SOLID|CONTENTS_MONSTER|CONTENTS_WINDOW|CONTENTS_DEADMONSTER)
-#define MASK_CURRENT (CONTENTS_CURRENT_0|CONTENTS_CURRENT_90|CONTENTS_CURRENT_180|CONTENTS_CURRENT_270|CONTENTS_CURRENT_UP|CONTENTS_CURRENT_DOWN)
+#define MASK_ALL (-1)
+#define MASK_SOLID (CONTENTS_SOLID|CONTENTS_WINDOW)
+#define MASK_PLAYERSOLID (CONTENTS_SOLID|CONTENTS_PLAYERCLIP|CONTENTS_WINDOW|CONTENTS_MONSTER)
+#define MASK_DEADSOLID (CONTENTS_SOLID|CONTENTS_PLAYERCLIP|CONTENTS_WINDOW)
+#define MASK_MONSTERSOLID (CONTENTS_SOLID|CONTENTS_MONSTERCLIP|CONTENTS_WINDOW|CONTENTS_MONSTER)
+#define MASK_WATER (CONTENTS_WATER|CONTENTS_LAVA|CONTENTS_SLIME)
+#define MASK_OPAQUE (CONTENTS_SOLID|CONTENTS_SLIME|CONTENTS_LAVA)
+#define MASK_SHOT (CONTENTS_SOLID|CONTENTS_MONSTER|CONTENTS_WINDOW|CONTENTS_DEADMONSTER)
+#define MASK_CURRENT (CONTENTS_CURRENT_0|CONTENTS_CURRENT_90|CONTENTS_CURRENT_180|CONTENTS_CURRENT_270|CONTENTS_CURRENT_UP|CONTENTS_CURRENT_DOWN)
// gi.BoxEdicts() can return a list of either solid or trigger entities
// FIXME: eliminate AREA_ distinction?
-#define AREA_SOLID 1
-#define AREA_TRIGGERS 2
+#define AREA_SOLID 1
+#define AREA_TRIGGERS 2
// plane_t structure
// !!! if this is changed, it must be changed in asm code too !!!
typedef struct cplane_s
{
- vec3_t normal;
- float dist;
- byte type; // for fast side tests
- byte signbits; // signx + (signy<<1) + (signz<<1)
- byte pad[2];
+ vec3_t normal;
+ float dist;
+ byte type; // for fast side tests
+ byte signbits; // signx + (signy<<1) + (signz<<1)
+ byte pad[2];
} cplane_t;
// 0-2 are axial planes
-#define PLANE_X 0
-#define PLANE_Y 1
-#define PLANE_Z 2
+#define PLANE_X 0
+#define PLANE_Y 1
+#define PLANE_Z 2
// 3-5 are non-axial planes snapped to the nearest
-#define PLANE_ANYX 3
-#define PLANE_ANYY 4
-#define PLANE_ANYZ 5
+#define PLANE_ANYX 3
+#define PLANE_ANYY 4
+#define PLANE_ANYZ 5
// planes (x&~1) and (x&~1)+1 are always opposites
#define PLANE_NON_AXIAL 6
// structure offset for asm code
-#define CPLANE_NORMAL_X 0
-#define CPLANE_NORMAL_Y 4
-#define CPLANE_NORMAL_Z 8
-#define CPLANE_DIST 12
-#define CPLANE_TYPE 16
-#define CPLANE_SIGNBITS 17
-#define CPLANE_PAD0 18
-#define CPLANE_PAD1 19
+#define CPLANE_NORMAL_X 0
+#define CPLANE_NORMAL_Y 4
+#define CPLANE_NORMAL_Z 8
+#define CPLANE_DIST 12
+#define CPLANE_TYPE 16
+#define CPLANE_SIGNBITS 17
+#define CPLANE_PAD0 18
+#define CPLANE_PAD1 19
void SetPlaneType( cplane_t *plane );
void SetPlaneSignbits( cplane_t *plane );
@@ -774,13 +774,13 @@ int BoxOnPlaneSide( vec3_t emins, vec3_t emaxs, cplane_t *p );
static inline int BoxOnPlaneSideFast( vec3_t emins, vec3_t emaxs, cplane_t *p ) {
// fast axial cases
- if( p->type < 3 ) {
- if( p->dist <= emins[p->type] )
- return 1;
- if( p->dist >= emaxs[p->type] )
- return 2;
- return 3;
- }
+ if( p->type < 3 ) {
+ if( p->dist <= emins[p->type] )
+ return 1;
+ if( p->dist >= emaxs[p->type] )
+ return 2;
+ return 3;
+ }
// slow generic case
return BoxOnPlaneSide( emins, emaxs, p );
@@ -798,22 +798,22 @@ static inline vec_t PlaneDiffFast( vec3_t v, cplane_t *p ) {
typedef struct csurface_s
{
- char name[16];
- int flags;
- int value;
+ char name[16];
+ int flags;
+ int value;
} csurface_t;
// a trace is returned when a box is swept through the world
typedef struct
{
- qboolean allsolid; // if qtrue, plane is not valid
- qboolean startsolid; // if qtrue, the initial point was in a solid area
- float fraction; // time completed, 1.0 = didn't hit anything
- vec3_t endpos; // final position
- cplane_t plane; // surface normal at impact
- csurface_t *surface; // surface hit
- int contents; // contents on other side of surface hit
- struct edict_s *ent; // not set by CM_*() functions
+ qboolean allsolid; // if qtrue, plane is not valid
+ qboolean startsolid; // if qtrue, the initial point was in a solid area
+ float fraction; // time completed, 1.0 = didn't hit anything
+ vec3_t endpos; // final position
+ cplane_t plane; // surface normal at impact
+ csurface_t *surface; // surface hit
+ int contents; // contents on other side of surface hit
+ struct edict_s *ent; // not set by CM_*() functions
} trace_t;
@@ -822,24 +822,24 @@ typedef struct
// prediction
typedef enum
{
- // can accelerate and turn
- PM_NORMAL,
- PM_SPECTATOR,
- // no acceleration or turning
- PM_DEAD,
- PM_GIB, // different bounding box
- PM_FREEZE
+ // can accelerate and turn
+ PM_NORMAL,
+ PM_SPECTATOR,
+ // no acceleration or turning
+ PM_DEAD,
+ PM_GIB, // different bounding box
+ PM_FREEZE
} pmtype_t;
// pmove->pm_flags
-#define PMF_DUCKED 1
-#define PMF_JUMP_HELD 2
-#define PMF_ON_GROUND 4
-#define PMF_TIME_WATERJUMP 8 // pm_time is waterjump
-#define PMF_TIME_LAND 16 // pm_time is time before rejump
-#define PMF_TIME_TELEPORT 32 // pm_time is non-moving time
-#define PMF_NO_PREDICTION 64 // temporarily disables prediction (used for grappling hook)
-#define PMF_TELEPORT_BIT 128 // used by q2pro
+#define PMF_DUCKED 1
+#define PMF_JUMP_HELD 2
+#define PMF_ON_GROUND 4
+#define PMF_TIME_WATERJUMP 8 // pm_time is waterjump
+#define PMF_TIME_LAND 16 // pm_time is time before rejump
+#define PMF_TIME_TELEPORT 32 // pm_time is non-moving time
+#define PMF_NO_PREDICTION 64 // temporarily disables prediction (used for grappling hook)
+#define PMF_TELEPORT_BIT 128 // used by q2pro
// this structure needs to be communicated bit-accurate
// from the server to the client to guarantee that
@@ -848,64 +848,64 @@ typedef enum
// will result in a prediction error of some degree.
typedef struct
{
- pmtype_t pm_type;
+ pmtype_t pm_type;
- short origin[3]; // 12.3
- short velocity[3]; // 12.3
- byte pm_flags; // ducked, jump_held, etc
- byte pm_time; // each unit = 8 ms
- short gravity;
- short delta_angles[3]; // add to command angles to get view direction
- // changed by spawns, rotating objects, and teleporters
+ short origin[3]; // 12.3
+ short velocity[3]; // 12.3
+ byte pm_flags; // ducked, jump_held, etc
+ byte pm_time; // each unit = 8 ms
+ short gravity;
+ short delta_angles[3]; // add to command angles to get view direction
+ // changed by spawns, rotating objects, and teleporters
} pmove_state_t;
//
// button bits
//
-#define BUTTON_ATTACK 1
-#define BUTTON_USE 2
-#define BUTTON_ANY 128 // any key whatsoever
+#define BUTTON_ATTACK 1
+#define BUTTON_USE 2
+#define BUTTON_ANY 128 // any key whatsoever
// usercmd_t is sent to the server each client frame
typedef struct usercmd_s
{
- byte msec;
- byte buttons;
- short angles[3];
- short forwardmove, sidemove, upmove;
- byte impulse; // remove?
- byte lightlevel; // light level the player is standing on
+ byte msec;
+ byte buttons;
+ short angles[3];
+ short forwardmove, sidemove, upmove;
+ byte impulse; // remove?
+ byte lightlevel; // light level the player is standing on
} usercmd_t;
-#define MAXTOUCH 32
+#define MAXTOUCH 32
typedef struct
{
- // state (in / out)
- pmove_state_t s;
+ // state (in / out)
+ pmove_state_t s;
- // command (in)
- usercmd_t cmd;
- qboolean snapinitial; // if s has been changed outside pmove
+ // command (in)
+ usercmd_t cmd;
+ qboolean snapinitial; // if s has been changed outside pmove
- // results (out)
- int numtouch;
- struct edict_s *touchents[MAXTOUCH];
+ // results (out)
+ int numtouch;
+ struct edict_s *touchents[MAXTOUCH];
- vec3_t viewangles; // clamped
- float viewheight;
+ vec3_t viewangles; // clamped
+ float viewheight;
- vec3_t mins, maxs; // bounding box size
+ vec3_t mins, maxs; // bounding box size
- struct edict_s *groundentity;
- int watertype;
- int waterlevel;
+ struct edict_s *groundentity;
+ int watertype;
+ int waterlevel;
- // callbacks to test the world
- trace_t (*trace) (vec3_t start, vec3_t mins, vec3_t maxs, vec3_t end);
- int (*pointcontents) (vec3_t point);
+ // callbacks to test the world
+ trace_t (*trace) (vec3_t start, vec3_t mins, vec3_t maxs, vec3_t end);
+ int (*pointcontents) (vec3_t point);
} pmove_t;
@@ -914,345 +914,345 @@ typedef struct
// that happen constantly on the given entity.
// An entity that has effects will be sent to the client
// even if it has a zero index model.
-#define EF_ROTATE 0x00000001 // rotate (bonus items)
-#define EF_GIB 0x00000002 // leave a trail
-#define EF_BLASTER 0x00000008 // redlight + trail
-#define EF_ROCKET 0x00000010 // redlight + trail
-#define EF_GRENADE 0x00000020
-#define EF_HYPERBLASTER 0x00000040
-#define EF_BFG 0x00000080
-#define EF_COLOR_SHELL 0x00000100
-#define EF_POWERSCREEN 0x00000200
-#define EF_ANIM01 0x00000400 // automatically cycle between frames 0 and 1 at 2 hz
-#define EF_ANIM23 0x00000800 // automatically cycle between frames 2 and 3 at 2 hz
-#define EF_ANIM_ALL 0x00001000 // automatically cycle through all frames at 2hz
-#define EF_ANIM_ALLFAST 0x00002000 // automatically cycle through all frames at 10hz
-#define EF_FLIES 0x00004000
-#define EF_QUAD 0x00008000
-#define EF_PENT 0x00010000
-#define EF_TELEPORTER 0x00020000 // particle fountain
-#define EF_FLAG1 0x00040000
-#define EF_FLAG2 0x00080000
+#define EF_ROTATE 0x00000001 // rotate (bonus items)
+#define EF_GIB 0x00000002 // leave a trail
+#define EF_BLASTER 0x00000008 // redlight + trail
+#define EF_ROCKET 0x00000010 // redlight + trail
+#define EF_GRENADE 0x00000020
+#define EF_HYPERBLASTER 0x00000040
+#define EF_BFG 0x00000080
+#define EF_COLOR_SHELL 0x00000100
+#define EF_POWERSCREEN 0x00000200
+#define EF_ANIM01 0x00000400 // automatically cycle between frames 0 and 1 at 2 hz
+#define EF_ANIM23 0x00000800 // automatically cycle between frames 2 and 3 at 2 hz
+#define EF_ANIM_ALL 0x00001000 // automatically cycle through all frames at 2hz
+#define EF_ANIM_ALLFAST 0x00002000 // automatically cycle through all frames at 10hz
+#define EF_FLIES 0x00004000
+#define EF_QUAD 0x00008000
+#define EF_PENT 0x00010000
+#define EF_TELEPORTER 0x00020000 // particle fountain
+#define EF_FLAG1 0x00040000
+#define EF_FLAG2 0x00080000
// RAFAEL
-#define EF_IONRIPPER 0x00100000
-#define EF_GREENGIB 0x00200000
-#define EF_BLUEHYPERBLASTER 0x00400000
-#define EF_SPINNINGLIGHTS 0x00800000
-#define EF_PLASMA 0x01000000
-#define EF_TRAP 0x02000000
+#define EF_IONRIPPER 0x00100000
+#define EF_GREENGIB 0x00200000
+#define EF_BLUEHYPERBLASTER 0x00400000
+#define EF_SPINNINGLIGHTS 0x00800000
+#define EF_PLASMA 0x01000000
+#define EF_TRAP 0x02000000
//ROGUE
-#define EF_TRACKER 0x04000000
-#define EF_DOUBLE 0x08000000
-#define EF_SPHERETRANS 0x10000000
-#define EF_TAGTRAIL 0x20000000
-#define EF_HALF_DAMAGE 0x40000000
-#define EF_TRACKERTRAIL 0x80000000
+#define EF_TRACKER 0x04000000
+#define EF_DOUBLE 0x08000000
+#define EF_SPHERETRANS 0x10000000
+#define EF_TAGTRAIL 0x20000000
+#define EF_HALF_DAMAGE 0x40000000
+#define EF_TRACKERTRAIL 0x80000000
//ROGUE
// entity_state_t->renderfx flags
-#define RF_MINLIGHT 1 // allways have some light (viewmodel)
-#define RF_VIEWERMODEL 2 // don't draw through eyes, only mirrors
-#define RF_WEAPONMODEL 4 // only draw through eyes
-#define RF_FULLBRIGHT 8 // allways draw full intensity
-#define RF_DEPTHHACK 16 // for view weapon Z crunching
-#define RF_TRANSLUCENT 32
-#define RF_FRAMELERP 64
-#define RF_BEAM 128
-#define RF_CUSTOMSKIN 256 // skin is an index in image_precache
-#define RF_GLOW 512 // pulse lighting for bonus items
-#define RF_SHELL_RED 1024
-#define RF_SHELL_GREEN 2048
-#define RF_SHELL_BLUE 4096
+#define RF_MINLIGHT 1 // allways have some light (viewmodel)
+#define RF_VIEWERMODEL 2 // don't draw through eyes, only mirrors
+#define RF_WEAPONMODEL 4 // only draw through eyes
+#define RF_FULLBRIGHT 8 // allways draw full intensity
+#define RF_DEPTHHACK 16 // for view weapon Z crunching
+#define RF_TRANSLUCENT 32
+#define RF_FRAMELERP 64
+#define RF_BEAM 128
+#define RF_CUSTOMSKIN 256 // skin is an index in image_precache
+#define RF_GLOW 512 // pulse lighting for bonus items
+#define RF_SHELL_RED 1024
+#define RF_SHELL_GREEN 2048
+#define RF_SHELL_BLUE 4096
//ROGUE
-#define RF_IR_VISIBLE 0x00008000 // 32768
-#define RF_SHELL_DOUBLE 0x00010000 // 65536
-#define RF_SHELL_HALF_DAM 0x00020000
-#define RF_USE_DISGUISE 0x00040000
+#define RF_IR_VISIBLE 0x00008000 // 32768
+#define RF_SHELL_DOUBLE 0x00010000 // 65536
+#define RF_SHELL_HALF_DAM 0x00020000
+#define RF_USE_DISGUISE 0x00040000
//ROGUE
// player_state_t->refdef flags
-#define RDF_UNDERWATER 1 // warp the screen as apropriate
-#define RDF_NOWORLDMODEL 2 // used for player configuration screen
+#define RDF_UNDERWATER 1 // warp the screen as apropriate
+#define RDF_NOWORLDMODEL 2 // used for player configuration screen
//ROGUE
-#define RDF_IRGOGGLES 4
-#define RDF_UVGOGGLES 8
+#define RDF_IRGOGGLES 4
+#define RDF_UVGOGGLES 8
//ROGUE
//
// muzzle flashes / player effects
//
-#define MZ_BLASTER 0
-#define MZ_MACHINEGUN 1
-#define MZ_SHOTGUN 2
-#define MZ_CHAINGUN1 3
-#define MZ_CHAINGUN2 4
-#define MZ_CHAINGUN3 5
-#define MZ_RAILGUN 6
-#define MZ_ROCKET 7
-#define MZ_GRENADE 8
-#define MZ_LOGIN 9
-#define MZ_LOGOUT 10
-#define MZ_RESPAWN 11
-#define MZ_BFG 12
-#define MZ_SSHOTGUN 13
-#define MZ_HYPERBLASTER 14
-#define MZ_ITEMRESPAWN 15
+#define MZ_BLASTER 0
+#define MZ_MACHINEGUN 1
+#define MZ_SHOTGUN 2
+#define MZ_CHAINGUN1 3
+#define MZ_CHAINGUN2 4
+#define MZ_CHAINGUN3 5
+#define MZ_RAILGUN 6
+#define MZ_ROCKET 7
+#define MZ_GRENADE 8
+#define MZ_LOGIN 9
+#define MZ_LOGOUT 10
+#define MZ_RESPAWN 11
+#define MZ_BFG 12
+#define MZ_SSHOTGUN 13
+#define MZ_HYPERBLASTER 14
+#define MZ_ITEMRESPAWN 15
// RAFAEL
-#define MZ_IONRIPPER 16
+#define MZ_IONRIPPER 16
#define MZ_BLUEHYPERBLASTER 17
-#define MZ_PHALANX 18
-#define MZ_SILENCED 128 // bit flag ORed with one of the above numbers
+#define MZ_PHALANX 18
+#define MZ_SILENCED 128 // bit flag ORed with one of the above numbers
//ROGUE
-#define MZ_ETF_RIFLE 30
-#define MZ_UNUSED 31
-#define MZ_SHOTGUN2 32
-#define MZ_HEATBEAM 33
-#define MZ_BLASTER2 34
-#define MZ_TRACKER 35
-#define MZ_NUKE1 36
-#define MZ_NUKE2 37
-#define MZ_NUKE4 38
-#define MZ_NUKE8 39
+#define MZ_ETF_RIFLE 30
+#define MZ_UNUSED 31
+#define MZ_SHOTGUN2 32
+#define MZ_HEATBEAM 33
+#define MZ_BLASTER2 34
+#define MZ_TRACKER 35
+#define MZ_NUKE1 36
+#define MZ_NUKE2 37
+#define MZ_NUKE4 38
+#define MZ_NUKE8 39
//ROGUE
//
// monster muzzle flashes
//
-#define MZ2_TANK_BLASTER_1 1
-#define MZ2_TANK_BLASTER_2 2
-#define MZ2_TANK_BLASTER_3 3
-#define MZ2_TANK_MACHINEGUN_1 4
-#define MZ2_TANK_MACHINEGUN_2 5
-#define MZ2_TANK_MACHINEGUN_3 6
-#define MZ2_TANK_MACHINEGUN_4 7
-#define MZ2_TANK_MACHINEGUN_5 8
-#define MZ2_TANK_MACHINEGUN_6 9
-#define MZ2_TANK_MACHINEGUN_7 10
-#define MZ2_TANK_MACHINEGUN_8 11
-#define MZ2_TANK_MACHINEGUN_9 12
-#define MZ2_TANK_MACHINEGUN_10 13
-#define MZ2_TANK_MACHINEGUN_11 14
-#define MZ2_TANK_MACHINEGUN_12 15
-#define MZ2_TANK_MACHINEGUN_13 16
-#define MZ2_TANK_MACHINEGUN_14 17
-#define MZ2_TANK_MACHINEGUN_15 18
-#define MZ2_TANK_MACHINEGUN_16 19
-#define MZ2_TANK_MACHINEGUN_17 20
-#define MZ2_TANK_MACHINEGUN_18 21
-#define MZ2_TANK_MACHINEGUN_19 22
-#define MZ2_TANK_ROCKET_1 23
-#define MZ2_TANK_ROCKET_2 24
-#define MZ2_TANK_ROCKET_3 25
+#define MZ2_TANK_BLASTER_1 1
+#define MZ2_TANK_BLASTER_2 2
+#define MZ2_TANK_BLASTER_3 3
+#define MZ2_TANK_MACHINEGUN_1 4
+#define MZ2_TANK_MACHINEGUN_2 5
+#define MZ2_TANK_MACHINEGUN_3 6
+#define MZ2_TANK_MACHINEGUN_4 7
+#define MZ2_TANK_MACHINEGUN_5 8
+#define MZ2_TANK_MACHINEGUN_6 9
+#define MZ2_TANK_MACHINEGUN_7 10
+#define MZ2_TANK_MACHINEGUN_8 11
+#define MZ2_TANK_MACHINEGUN_9 12
+#define MZ2_TANK_MACHINEGUN_10 13
+#define MZ2_TANK_MACHINEGUN_11 14
+#define MZ2_TANK_MACHINEGUN_12 15
+#define MZ2_TANK_MACHINEGUN_13 16
+#define MZ2_TANK_MACHINEGUN_14 17
+#define MZ2_TANK_MACHINEGUN_15 18
+#define MZ2_TANK_MACHINEGUN_16 19
+#define MZ2_TANK_MACHINEGUN_17 20
+#define MZ2_TANK_MACHINEGUN_18 21
+#define MZ2_TANK_MACHINEGUN_19 22
+#define MZ2_TANK_ROCKET_1 23
+#define MZ2_TANK_ROCKET_2 24
+#define MZ2_TANK_ROCKET_3 25
-#define MZ2_INFANTRY_MACHINEGUN_1 26
-#define MZ2_INFANTRY_MACHINEGUN_2 27
-#define MZ2_INFANTRY_MACHINEGUN_3 28
-#define MZ2_INFANTRY_MACHINEGUN_4 29
-#define MZ2_INFANTRY_MACHINEGUN_5 30
-#define MZ2_INFANTRY_MACHINEGUN_6 31
-#define MZ2_INFANTRY_MACHINEGUN_7 32
-#define MZ2_INFANTRY_MACHINEGUN_8 33
-#define MZ2_INFANTRY_MACHINEGUN_9 34
-#define MZ2_INFANTRY_MACHINEGUN_10 35
-#define MZ2_INFANTRY_MACHINEGUN_11 36
-#define MZ2_INFANTRY_MACHINEGUN_12 37
-#define MZ2_INFANTRY_MACHINEGUN_13 38
+#define MZ2_INFANTRY_MACHINEGUN_1 26
+#define MZ2_INFANTRY_MACHINEGUN_2 27
+#define MZ2_INFANTRY_MACHINEGUN_3 28
+#define MZ2_INFANTRY_MACHINEGUN_4 29
+#define MZ2_INFANTRY_MACHINEGUN_5 30
+#define MZ2_INFANTRY_MACHINEGUN_6 31
+#define MZ2_INFANTRY_MACHINEGUN_7 32
+#define MZ2_INFANTRY_MACHINEGUN_8 33
+#define MZ2_INFANTRY_MACHINEGUN_9 34
+#define MZ2_INFANTRY_MACHINEGUN_10 35
+#define MZ2_INFANTRY_MACHINEGUN_11 36
+#define MZ2_INFANTRY_MACHINEGUN_12 37
+#define MZ2_INFANTRY_MACHINEGUN_13 38
-#define MZ2_SOLDIER_BLASTER_1 39
-#define MZ2_SOLDIER_BLASTER_2 40
-#define MZ2_SOLDIER_SHOTGUN_1 41
-#define MZ2_SOLDIER_SHOTGUN_2 42
-#define MZ2_SOLDIER_MACHINEGUN_1 43
-#define MZ2_SOLDIER_MACHINEGUN_2 44
+#define MZ2_SOLDIER_BLASTER_1 39
+#define MZ2_SOLDIER_BLASTER_2 40
+#define MZ2_SOLDIER_SHOTGUN_1 41
+#define MZ2_SOLDIER_SHOTGUN_2 42
+#define MZ2_SOLDIER_MACHINEGUN_1 43
+#define MZ2_SOLDIER_MACHINEGUN_2 44
-#define MZ2_GUNNER_MACHINEGUN_1 45
-#define MZ2_GUNNER_MACHINEGUN_2 46
-#define MZ2_GUNNER_MACHINEGUN_3 47
-#define MZ2_GUNNER_MACHINEGUN_4 48
-#define MZ2_GUNNER_MACHINEGUN_5 49
-#define MZ2_GUNNER_MACHINEGUN_6 50
-#define MZ2_GUNNER_MACHINEGUN_7 51
-#define MZ2_GUNNER_MACHINEGUN_8 52
-#define MZ2_GUNNER_GRENADE_1 53
-#define MZ2_GUNNER_GRENADE_2 54
-#define MZ2_GUNNER_GRENADE_3 55
-#define MZ2_GUNNER_GRENADE_4 56
+#define MZ2_GUNNER_MACHINEGUN_1 45
+#define MZ2_GUNNER_MACHINEGUN_2 46
+#define MZ2_GUNNER_MACHINEGUN_3 47
+#define MZ2_GUNNER_MACHINEGUN_4 48
+#define MZ2_GUNNER_MACHINEGUN_5 49
+#define MZ2_GUNNER_MACHINEGUN_6 50
+#define MZ2_GUNNER_MACHINEGUN_7 51
+#define MZ2_GUNNER_MACHINEGUN_8 52
+#define MZ2_GUNNER_GRENADE_1 53
+#define MZ2_GUNNER_GRENADE_2 54
+#define MZ2_GUNNER_GRENADE_3 55
+#define MZ2_GUNNER_GRENADE_4 56
-#define MZ2_CHICK_ROCKET_1 57
+#define MZ2_CHICK_ROCKET_1 57
-#define MZ2_FLYER_BLASTER_1 58
-#define MZ2_FLYER_BLASTER_2 59
+#define MZ2_FLYER_BLASTER_1 58
+#define MZ2_FLYER_BLASTER_2 59
-#define MZ2_MEDIC_BLASTER_1 60
+#define MZ2_MEDIC_BLASTER_1 60
-#define MZ2_GLADIATOR_RAILGUN_1 61
+#define MZ2_GLADIATOR_RAILGUN_1 61
-#define MZ2_HOVER_BLASTER_1 62
+#define MZ2_HOVER_BLASTER_1 62
-#define MZ2_ACTOR_MACHINEGUN_1 63
+#define MZ2_ACTOR_MACHINEGUN_1 63
-#define MZ2_SUPERTANK_MACHINEGUN_1 64
-#define MZ2_SUPERTANK_MACHINEGUN_2 65
-#define MZ2_SUPERTANK_MACHINEGUN_3 66
-#define MZ2_SUPERTANK_MACHINEGUN_4 67
-#define MZ2_SUPERTANK_MACHINEGUN_5 68
-#define MZ2_SUPERTANK_MACHINEGUN_6 69
-#define MZ2_SUPERTANK_ROCKET_1 70
-#define MZ2_SUPERTANK_ROCKET_2 71
-#define MZ2_SUPERTANK_ROCKET_3 72
+#define MZ2_SUPERTANK_MACHINEGUN_1 64
+#define MZ2_SUPERTANK_MACHINEGUN_2 65
+#define MZ2_SUPERTANK_MACHINEGUN_3 66
+#define MZ2_SUPERTANK_MACHINEGUN_4 67
+#define MZ2_SUPERTANK_MACHINEGUN_5 68
+#define MZ2_SUPERTANK_MACHINEGUN_6 69
+#define MZ2_SUPERTANK_ROCKET_1 70
+#define MZ2_SUPERTANK_ROCKET_2 71
+#define MZ2_SUPERTANK_ROCKET_3 72
-#define MZ2_BOSS2_MACHINEGUN_L1 73
-#define MZ2_BOSS2_MACHINEGUN_L2 74
-#define MZ2_BOSS2_MACHINEGUN_L3 75
-#define MZ2_BOSS2_MACHINEGUN_L4 76
-#define MZ2_BOSS2_MACHINEGUN_L5 77
-#define MZ2_BOSS2_ROCKET_1 78
-#define MZ2_BOSS2_ROCKET_2 79
-#define MZ2_BOSS2_ROCKET_3 80
-#define MZ2_BOSS2_ROCKET_4 81
+#define MZ2_BOSS2_MACHINEGUN_L1 73
+#define MZ2_BOSS2_MACHINEGUN_L2 74
+#define MZ2_BOSS2_MACHINEGUN_L3 75
+#define MZ2_BOSS2_MACHINEGUN_L4 76
+#define MZ2_BOSS2_MACHINEGUN_L5 77
+#define MZ2_BOSS2_ROCKET_1 78
+#define MZ2_BOSS2_ROCKET_2 79
+#define MZ2_BOSS2_ROCKET_3 80
+#define MZ2_BOSS2_ROCKET_4 81
-#define MZ2_FLOAT_BLASTER_1 82
+#define MZ2_FLOAT_BLASTER_1 82
-#define MZ2_SOLDIER_BLASTER_3 83
-#define MZ2_SOLDIER_SHOTGUN_3 84
-#define MZ2_SOLDIER_MACHINEGUN_3 85
-#define MZ2_SOLDIER_BLASTER_4 86
-#define MZ2_SOLDIER_SHOTGUN_4 87
-#define MZ2_SOLDIER_MACHINEGUN_4 88
-#define MZ2_SOLDIER_BLASTER_5 89
-#define MZ2_SOLDIER_SHOTGUN_5 90
-#define MZ2_SOLDIER_MACHINEGUN_5 91
-#define MZ2_SOLDIER_BLASTER_6 92
-#define MZ2_SOLDIER_SHOTGUN_6 93
-#define MZ2_SOLDIER_MACHINEGUN_6 94
-#define MZ2_SOLDIER_BLASTER_7 95
-#define MZ2_SOLDIER_SHOTGUN_7 96
-#define MZ2_SOLDIER_MACHINEGUN_7 97
-#define MZ2_SOLDIER_BLASTER_8 98
-#define MZ2_SOLDIER_SHOTGUN_8 99
-#define MZ2_SOLDIER_MACHINEGUN_8 100
+#define MZ2_SOLDIER_BLASTER_3 83
+#define MZ2_SOLDIER_SHOTGUN_3 84
+#define MZ2_SOLDIER_MACHINEGUN_3 85
+#define MZ2_SOLDIER_BLASTER_4 86
+#define MZ2_SOLDIER_SHOTGUN_4 87
+#define MZ2_SOLDIER_MACHINEGUN_4 88
+#define MZ2_SOLDIER_BLASTER_5 89
+#define MZ2_SOLDIER_SHOTGUN_5 90
+#define MZ2_SOLDIER_MACHINEGUN_5 91
+#define MZ2_SOLDIER_BLASTER_6 92
+#define MZ2_SOLDIER_SHOTGUN_6 93
+#define MZ2_SOLDIER_MACHINEGUN_6 94
+#define MZ2_SOLDIER_BLASTER_7 95
+#define MZ2_SOLDIER_SHOTGUN_7 96
+#define MZ2_SOLDIER_MACHINEGUN_7 97
+#define MZ2_SOLDIER_BLASTER_8 98
+#define MZ2_SOLDIER_SHOTGUN_8 99
+#define MZ2_SOLDIER_MACHINEGUN_8 100
// --- Xian shit below ---
-#define MZ2_MAKRON_BFG 101
-#define MZ2_MAKRON_BLASTER_1 102
-#define MZ2_MAKRON_BLASTER_2 103
-#define MZ2_MAKRON_BLASTER_3 104
-#define MZ2_MAKRON_BLASTER_4 105
-#define MZ2_MAKRON_BLASTER_5 106
-#define MZ2_MAKRON_BLASTER_6 107
-#define MZ2_MAKRON_BLASTER_7 108
-#define MZ2_MAKRON_BLASTER_8 109
-#define MZ2_MAKRON_BLASTER_9 110
-#define MZ2_MAKRON_BLASTER_10 111
-#define MZ2_MAKRON_BLASTER_11 112
-#define MZ2_MAKRON_BLASTER_12 113
-#define MZ2_MAKRON_BLASTER_13 114
-#define MZ2_MAKRON_BLASTER_14 115
-#define MZ2_MAKRON_BLASTER_15 116
-#define MZ2_MAKRON_BLASTER_16 117
-#define MZ2_MAKRON_BLASTER_17 118
-#define MZ2_MAKRON_RAILGUN_1 119
-#define MZ2_JORG_MACHINEGUN_L1 120
-#define MZ2_JORG_MACHINEGUN_L2 121
-#define MZ2_JORG_MACHINEGUN_L3 122
-#define MZ2_JORG_MACHINEGUN_L4 123
-#define MZ2_JORG_MACHINEGUN_L5 124
-#define MZ2_JORG_MACHINEGUN_L6 125
-#define MZ2_JORG_MACHINEGUN_R1 126
-#define MZ2_JORG_MACHINEGUN_R2 127
-#define MZ2_JORG_MACHINEGUN_R3 128
-#define MZ2_JORG_MACHINEGUN_R4 129
-#define MZ2_JORG_MACHINEGUN_R5 130
-#define MZ2_JORG_MACHINEGUN_R6 131
-#define MZ2_JORG_BFG_1 132
-#define MZ2_BOSS2_MACHINEGUN_R1 133
-#define MZ2_BOSS2_MACHINEGUN_R2 134
-#define MZ2_BOSS2_MACHINEGUN_R3 135
-#define MZ2_BOSS2_MACHINEGUN_R4 136
-#define MZ2_BOSS2_MACHINEGUN_R5 137
+#define MZ2_MAKRON_BFG 101
+#define MZ2_MAKRON_BLASTER_1 102
+#define MZ2_MAKRON_BLASTER_2 103
+#define MZ2_MAKRON_BLASTER_3 104
+#define MZ2_MAKRON_BLASTER_4 105
+#define MZ2_MAKRON_BLASTER_5 106
+#define MZ2_MAKRON_BLASTER_6 107
+#define MZ2_MAKRON_BLASTER_7 108
+#define MZ2_MAKRON_BLASTER_8 109
+#define MZ2_MAKRON_BLASTER_9 110
+#define MZ2_MAKRON_BLASTER_10 111
+#define MZ2_MAKRON_BLASTER_11 112
+#define MZ2_MAKRON_BLASTER_12 113
+#define MZ2_MAKRON_BLASTER_13 114
+#define MZ2_MAKRON_BLASTER_14 115
+#define MZ2_MAKRON_BLASTER_15 116
+#define MZ2_MAKRON_BLASTER_16 117
+#define MZ2_MAKRON_BLASTER_17 118
+#define MZ2_MAKRON_RAILGUN_1 119
+#define MZ2_JORG_MACHINEGUN_L1 120
+#define MZ2_JORG_MACHINEGUN_L2 121
+#define MZ2_JORG_MACHINEGUN_L3 122
+#define MZ2_JORG_MACHINEGUN_L4 123
+#define MZ2_JORG_MACHINEGUN_L5 124
+#define MZ2_JORG_MACHINEGUN_L6 125
+#define MZ2_JORG_MACHINEGUN_R1 126
+#define MZ2_JORG_MACHINEGUN_R2 127
+#define MZ2_JORG_MACHINEGUN_R3 128
+#define MZ2_JORG_MACHINEGUN_R4 129
+#define MZ2_JORG_MACHINEGUN_R5 130
+#define MZ2_JORG_MACHINEGUN_R6 131
+#define MZ2_JORG_BFG_1 132
+#define MZ2_BOSS2_MACHINEGUN_R1 133
+#define MZ2_BOSS2_MACHINEGUN_R2 134
+#define MZ2_BOSS2_MACHINEGUN_R3 135
+#define MZ2_BOSS2_MACHINEGUN_R4 136
+#define MZ2_BOSS2_MACHINEGUN_R5 137
//ROGUE
-#define MZ2_CARRIER_MACHINEGUN_L1 138
-#define MZ2_CARRIER_MACHINEGUN_R1 139
-#define MZ2_CARRIER_GRENADE 140
-#define MZ2_TURRET_MACHINEGUN 141
-#define MZ2_TURRET_ROCKET 142
-#define MZ2_TURRET_BLASTER 143
-#define MZ2_STALKER_BLASTER 144
-#define MZ2_DAEDALUS_BLASTER 145
-#define MZ2_MEDIC_BLASTER_2 146
-#define MZ2_CARRIER_RAILGUN 147
-#define MZ2_WIDOW_DISRUPTOR 148
-#define MZ2_WIDOW_BLASTER 149
-#define MZ2_WIDOW_RAIL 150
-#define MZ2_WIDOW_PLASMABEAM 151 // PMM - not used
-#define MZ2_CARRIER_MACHINEGUN_L2 152
-#define MZ2_CARRIER_MACHINEGUN_R2 153
-#define MZ2_WIDOW_RAIL_LEFT 154
-#define MZ2_WIDOW_RAIL_RIGHT 155
-#define MZ2_WIDOW_BLASTER_SWEEP1 156
-#define MZ2_WIDOW_BLASTER_SWEEP2 157
-#define MZ2_WIDOW_BLASTER_SWEEP3 158
-#define MZ2_WIDOW_BLASTER_SWEEP4 159
-#define MZ2_WIDOW_BLASTER_SWEEP5 160
-#define MZ2_WIDOW_BLASTER_SWEEP6 161
-#define MZ2_WIDOW_BLASTER_SWEEP7 162
-#define MZ2_WIDOW_BLASTER_SWEEP8 163
-#define MZ2_WIDOW_BLASTER_SWEEP9 164
-#define MZ2_WIDOW_BLASTER_100 165
-#define MZ2_WIDOW_BLASTER_90 166
-#define MZ2_WIDOW_BLASTER_80 167
-#define MZ2_WIDOW_BLASTER_70 168
-#define MZ2_WIDOW_BLASTER_60 169
-#define MZ2_WIDOW_BLASTER_50 170
-#define MZ2_WIDOW_BLASTER_40 171
-#define MZ2_WIDOW_BLASTER_30 172
-#define MZ2_WIDOW_BLASTER_20 173
-#define MZ2_WIDOW_BLASTER_10 174
-#define MZ2_WIDOW_BLASTER_0 175
-#define MZ2_WIDOW_BLASTER_10L 176
-#define MZ2_WIDOW_BLASTER_20L 177
-#define MZ2_WIDOW_BLASTER_30L 178
-#define MZ2_WIDOW_BLASTER_40L 179
-#define MZ2_WIDOW_BLASTER_50L 180
-#define MZ2_WIDOW_BLASTER_60L 181
-#define MZ2_WIDOW_BLASTER_70L 182
-#define MZ2_WIDOW_RUN_1 183
-#define MZ2_WIDOW_RUN_2 184
-#define MZ2_WIDOW_RUN_3 185
-#define MZ2_WIDOW_RUN_4 186
-#define MZ2_WIDOW_RUN_5 187
-#define MZ2_WIDOW_RUN_6 188
-#define MZ2_WIDOW_RUN_7 189
-#define MZ2_WIDOW_RUN_8 190
-#define MZ2_CARRIER_ROCKET_1 191
-#define MZ2_CARRIER_ROCKET_2 192
-#define MZ2_CARRIER_ROCKET_3 193
-#define MZ2_CARRIER_ROCKET_4 194
-#define MZ2_WIDOW2_BEAMER_1 195
-#define MZ2_WIDOW2_BEAMER_2 196
-#define MZ2_WIDOW2_BEAMER_3 197
-#define MZ2_WIDOW2_BEAMER_4 198
-#define MZ2_WIDOW2_BEAMER_5 199
-#define MZ2_WIDOW2_BEAM_SWEEP_1 200
-#define MZ2_WIDOW2_BEAM_SWEEP_2 201
-#define MZ2_WIDOW2_BEAM_SWEEP_3 202
-#define MZ2_WIDOW2_BEAM_SWEEP_4 203
-#define MZ2_WIDOW2_BEAM_SWEEP_5 204
-#define MZ2_WIDOW2_BEAM_SWEEP_6 205
-#define MZ2_WIDOW2_BEAM_SWEEP_7 206
-#define MZ2_WIDOW2_BEAM_SWEEP_8 207
-#define MZ2_WIDOW2_BEAM_SWEEP_9 208
-#define MZ2_WIDOW2_BEAM_SWEEP_10 209
-#define MZ2_WIDOW2_BEAM_SWEEP_11 210
+#define MZ2_CARRIER_MACHINEGUN_L1 138
+#define MZ2_CARRIER_MACHINEGUN_R1 139
+#define MZ2_CARRIER_GRENADE 140
+#define MZ2_TURRET_MACHINEGUN 141
+#define MZ2_TURRET_ROCKET 142
+#define MZ2_TURRET_BLASTER 143
+#define MZ2_STALKER_BLASTER 144
+#define MZ2_DAEDALUS_BLASTER 145
+#define MZ2_MEDIC_BLASTER_2 146
+#define MZ2_CARRIER_RAILGUN 147
+#define MZ2_WIDOW_DISRUPTOR 148
+#define MZ2_WIDOW_BLASTER 149
+#define MZ2_WIDOW_RAIL 150
+#define MZ2_WIDOW_PLASMABEAM 151 // PMM - not used
+#define MZ2_CARRIER_MACHINEGUN_L2 152
+#define MZ2_CARRIER_MACHINEGUN_R2 153
+#define MZ2_WIDOW_RAIL_LEFT 154
+#define MZ2_WIDOW_RAIL_RIGHT 155
+#define MZ2_WIDOW_BLASTER_SWEEP1 156
+#define MZ2_WIDOW_BLASTER_SWEEP2 157
+#define MZ2_WIDOW_BLASTER_SWEEP3 158
+#define MZ2_WIDOW_BLASTER_SWEEP4 159
+#define MZ2_WIDOW_BLASTER_SWEEP5 160
+#define MZ2_WIDOW_BLASTER_SWEEP6 161
+#define MZ2_WIDOW_BLASTER_SWEEP7 162
+#define MZ2_WIDOW_BLASTER_SWEEP8 163
+#define MZ2_WIDOW_BLASTER_SWEEP9 164
+#define MZ2_WIDOW_BLASTER_100 165
+#define MZ2_WIDOW_BLASTER_90 166
+#define MZ2_WIDOW_BLASTER_80 167
+#define MZ2_WIDOW_BLASTER_70 168
+#define MZ2_WIDOW_BLASTER_60 169
+#define MZ2_WIDOW_BLASTER_50 170
+#define MZ2_WIDOW_BLASTER_40 171
+#define MZ2_WIDOW_BLASTER_30 172
+#define MZ2_WIDOW_BLASTER_20 173
+#define MZ2_WIDOW_BLASTER_10 174
+#define MZ2_WIDOW_BLASTER_0 175
+#define MZ2_WIDOW_BLASTER_10L 176
+#define MZ2_WIDOW_BLASTER_20L 177
+#define MZ2_WIDOW_BLASTER_30L 178
+#define MZ2_WIDOW_BLASTER_40L 179
+#define MZ2_WIDOW_BLASTER_50L 180
+#define MZ2_WIDOW_BLASTER_60L 181
+#define MZ2_WIDOW_BLASTER_70L 182
+#define MZ2_WIDOW_RUN_1 183
+#define MZ2_WIDOW_RUN_2 184
+#define MZ2_WIDOW_RUN_3 185
+#define MZ2_WIDOW_RUN_4 186
+#define MZ2_WIDOW_RUN_5 187
+#define MZ2_WIDOW_RUN_6 188
+#define MZ2_WIDOW_RUN_7 189
+#define MZ2_WIDOW_RUN_8 190
+#define MZ2_CARRIER_ROCKET_1 191
+#define MZ2_CARRIER_ROCKET_2 192
+#define MZ2_CARRIER_ROCKET_3 193
+#define MZ2_CARRIER_ROCKET_4 194
+#define MZ2_WIDOW2_BEAMER_1 195
+#define MZ2_WIDOW2_BEAMER_2 196
+#define MZ2_WIDOW2_BEAMER_3 197
+#define MZ2_WIDOW2_BEAMER_4 198
+#define MZ2_WIDOW2_BEAMER_5 199
+#define MZ2_WIDOW2_BEAM_SWEEP_1 200
+#define MZ2_WIDOW2_BEAM_SWEEP_2 201
+#define MZ2_WIDOW2_BEAM_SWEEP_3 202
+#define MZ2_WIDOW2_BEAM_SWEEP_4 203
+#define MZ2_WIDOW2_BEAM_SWEEP_5 204
+#define MZ2_WIDOW2_BEAM_SWEEP_6 205
+#define MZ2_WIDOW2_BEAM_SWEEP_7 206
+#define MZ2_WIDOW2_BEAM_SWEEP_8 207
+#define MZ2_WIDOW2_BEAM_SWEEP_9 208
+#define MZ2_WIDOW2_BEAM_SWEEP_10 209
+#define MZ2_WIDOW2_BEAM_SWEEP_11 210
// ROGUE
-extern const vec3_t monster_flash_offset [];
+extern const vec3_t monster_flash_offset [];
// temp entity events
@@ -1263,179 +1263,179 @@ extern const vec3_t monster_flash_offset [];
// and broadcast.
typedef enum
{
- TE_GUNSHOT,
- TE_BLOOD,
- TE_BLASTER,
- TE_RAILTRAIL,
- TE_SHOTGUN,
- TE_EXPLOSION1,
- TE_EXPLOSION2,
- TE_ROCKET_EXPLOSION,
- TE_GRENADE_EXPLOSION,
- TE_SPARKS,
- TE_SPLASH,
- TE_BUBBLETRAIL,
- TE_SCREEN_SPARKS,
- TE_SHIELD_SPARKS,
- TE_BULLET_SPARKS,
- TE_LASER_SPARKS,
- TE_PARASITE_ATTACK,
- TE_ROCKET_EXPLOSION_WATER,
- TE_GRENADE_EXPLOSION_WATER,
- TE_MEDIC_CABLE_ATTACK,
- TE_BFG_EXPLOSION,
- TE_BFG_BIGEXPLOSION,
- TE_BOSSTPORT, // used as '22' in a map, so DON'T RENUMBER!!!
- TE_BFG_LASER,
- TE_GRAPPLE_CABLE,
- TE_WELDING_SPARKS,
- TE_GREENBLOOD,
- TE_BLUEHYPERBLASTER,
- TE_PLASMA_EXPLOSION,
- TE_TUNNEL_SPARKS,
+ TE_GUNSHOT,
+ TE_BLOOD,
+ TE_BLASTER,
+ TE_RAILTRAIL,
+ TE_SHOTGUN,
+ TE_EXPLOSION1,
+ TE_EXPLOSION2,
+ TE_ROCKET_EXPLOSION,
+ TE_GRENADE_EXPLOSION,
+ TE_SPARKS,
+ TE_SPLASH,
+ TE_BUBBLETRAIL,
+ TE_SCREEN_SPARKS,
+ TE_SHIELD_SPARKS,
+ TE_BULLET_SPARKS,
+ TE_LASER_SPARKS,
+ TE_PARASITE_ATTACK,
+ TE_ROCKET_EXPLOSION_WATER,
+ TE_GRENADE_EXPLOSION_WATER,
+ TE_MEDIC_CABLE_ATTACK,
+ TE_BFG_EXPLOSION,
+ TE_BFG_BIGEXPLOSION,
+ TE_BOSSTPORT, // used as '22' in a map, so DON'T RENUMBER!!!
+ TE_BFG_LASER,
+ TE_GRAPPLE_CABLE,
+ TE_WELDING_SPARKS,
+ TE_GREENBLOOD,
+ TE_BLUEHYPERBLASTER,
+ TE_PLASMA_EXPLOSION,
+ TE_TUNNEL_SPARKS,
//ROGUE
- TE_BLASTER2,
- TE_RAILTRAIL2,
- TE_FLAME,
- TE_LIGHTNING,
- TE_DEBUGTRAIL,
- TE_PLAIN_EXPLOSION,
- TE_FLASHLIGHT,
- TE_FORCEWALL,
- TE_HEATBEAM,
- TE_MONSTER_HEATBEAM,
- TE_STEAM,
- TE_BUBBLETRAIL2,
- TE_MOREBLOOD,
- TE_HEATBEAM_SPARKS,
- TE_HEATBEAM_STEAM,
- TE_CHAINFIST_SMOKE,
- TE_ELECTRIC_SPARKS,
- TE_TRACKER_EXPLOSION,
- TE_TELEPORT_EFFECT,
- TE_DBALL_GOAL,
- TE_WIDOWBEAMOUT,
- TE_NUKEBLAST,
- TE_WIDOWSPLASH,
- TE_EXPLOSION1_BIG,
- TE_EXPLOSION1_NP,
- TE_FLECHETTE,
+ TE_BLASTER2,
+ TE_RAILTRAIL2,
+ TE_FLAME,
+ TE_LIGHTNING,
+ TE_DEBUGTRAIL,
+ TE_PLAIN_EXPLOSION,
+ TE_FLASHLIGHT,
+ TE_FORCEWALL,
+ TE_HEATBEAM,
+ TE_MONSTER_HEATBEAM,
+ TE_STEAM,
+ TE_BUBBLETRAIL2,
+ TE_MOREBLOOD,
+ TE_HEATBEAM_SPARKS,
+ TE_HEATBEAM_STEAM,
+ TE_CHAINFIST_SMOKE,
+ TE_ELECTRIC_SPARKS,
+ TE_TRACKER_EXPLOSION,
+ TE_TELEPORT_EFFECT,
+ TE_DBALL_GOAL,
+ TE_WIDOWBEAMOUT,
+ TE_NUKEBLAST,
+ TE_WIDOWSPLASH,
+ TE_EXPLOSION1_BIG,
+ TE_EXPLOSION1_NP,
+ TE_FLECHETTE,
//ROGUE
TE_NUM_ENTITIES
} temp_event_t;
-#define SPLASH_UNKNOWN 0
-#define SPLASH_SPARKS 1
-#define SPLASH_BLUE_WATER 2
-#define SPLASH_BROWN_WATER 3
-#define SPLASH_SLIME 4
-#define SPLASH_LAVA 5
-#define SPLASH_BLOOD 6
+#define SPLASH_UNKNOWN 0
+#define SPLASH_SPARKS 1
+#define SPLASH_BLUE_WATER 2
+#define SPLASH_BROWN_WATER 3
+#define SPLASH_SLIME 4
+#define SPLASH_LAVA 5
+#define SPLASH_BLOOD 6
// sound channels
// channel 0 never willingly overrides
// other channels (1-7) allways override a playing sound on that channel
-#define CHAN_AUTO 0
-#define CHAN_WEAPON 1
-#define CHAN_VOICE 2
-#define CHAN_ITEM 3
-#define CHAN_BODY 4
+#define CHAN_AUTO 0
+#define CHAN_WEAPON 1
+#define CHAN_VOICE 2
+#define CHAN_ITEM 3
+#define CHAN_BODY 4
// modifier flags
-#define CHAN_NO_PHS_ADD 8 // send to all clients, not just ones in PHS (ATTN 0 will also do this)
-#define CHAN_RELIABLE 16 // send by reliable message, not datagram
+#define CHAN_NO_PHS_ADD 8 // send to all clients, not just ones in PHS (ATTN 0 will also do this)
+#define CHAN_RELIABLE 16 // send by reliable message, not datagram
// sound attenuation values
-#define ATTN_NONE 0 // full volume the entire level
-#define ATTN_NORM 1
-#define ATTN_IDLE 2
-#define ATTN_STATIC 3 // diminish very rapidly with distance
+#define ATTN_NONE 0 // full volume the entire level
+#define ATTN_NORM 1
+#define ATTN_IDLE 2
+#define ATTN_STATIC 3 // diminish very rapidly with distance
// player_state->stats[] indexes
-#define STAT_HEALTH_ICON 0
-#define STAT_HEALTH 1
-#define STAT_AMMO_ICON 2
-#define STAT_AMMO 3
-#define STAT_ARMOR_ICON 4
-#define STAT_ARMOR 5
-#define STAT_SELECTED_ICON 6
-#define STAT_PICKUP_ICON 7
-#define STAT_PICKUP_STRING 8
-#define STAT_TIMER_ICON 9
-#define STAT_TIMER 10
-#define STAT_HELPICON 11
-#define STAT_SELECTED_ITEM 12
-#define STAT_LAYOUTS 13
-#define STAT_FRAGS 14
-#define STAT_FLASHES 15 // cleared each frame, 1 = health, 2 = armor
-#define STAT_CHASE 16
-#define STAT_SPECTATOR 17
+#define STAT_HEALTH_ICON 0
+#define STAT_HEALTH 1
+#define STAT_AMMO_ICON 2
+#define STAT_AMMO 3
+#define STAT_ARMOR_ICON 4
+#define STAT_ARMOR 5
+#define STAT_SELECTED_ICON 6
+#define STAT_PICKUP_ICON 7
+#define STAT_PICKUP_STRING 8
+#define STAT_TIMER_ICON 9
+#define STAT_TIMER 10
+#define STAT_HELPICON 11
+#define STAT_SELECTED_ITEM 12
+#define STAT_LAYOUTS 13
+#define STAT_FRAGS 14
+#define STAT_FLASHES 15 // cleared each frame, 1 = health, 2 = armor
+#define STAT_CHASE 16
+#define STAT_SPECTATOR 17
-#define MAX_STATS 32
+#define MAX_STATS 32
// dmflags->value flags
-#define DF_NO_HEALTH 0x00000001 // 1
-#define DF_NO_ITEMS 0x00000002 // 2
-#define DF_WEAPONS_STAY 0x00000004 // 4
-#define DF_NO_FALLING 0x00000008 // 8
-#define DF_INSTANT_ITEMS 0x00000010 // 16
-#define DF_SAME_LEVEL 0x00000020 // 32
-#define DF_SKINTEAMS 0x00000040 // 64
-#define DF_MODELTEAMS 0x00000080 // 128
-#define DF_NO_FRIENDLY_FIRE 0x00000100 // 256
-#define DF_SPAWN_FARTHEST 0x00000200 // 512
-#define DF_FORCE_RESPAWN 0x00000400 // 1024
-#define DF_NO_ARMOR 0x00000800 // 2048
-#define DF_ALLOW_EXIT 0x00001000 // 4096
-#define DF_INFINITE_AMMO 0x00002000 // 8192
-#define DF_QUAD_DROP 0x00004000 // 16384
-#define DF_FIXED_FOV 0x00008000 // 32768
+#define DF_NO_HEALTH 0x00000001 // 1
+#define DF_NO_ITEMS 0x00000002 // 2
+#define DF_WEAPONS_STAY 0x00000004 // 4
+#define DF_NO_FALLING 0x00000008 // 8
+#define DF_INSTANT_ITEMS 0x00000010 // 16
+#define DF_SAME_LEVEL 0x00000020 // 32
+#define DF_SKINTEAMS 0x00000040 // 64
+#define DF_MODELTEAMS 0x00000080 // 128
+#define DF_NO_FRIENDLY_FIRE 0x00000100 // 256
+#define DF_SPAWN_FARTHEST 0x00000200 // 512
+#define DF_FORCE_RESPAWN 0x00000400 // 1024
+#define DF_NO_ARMOR 0x00000800 // 2048
+#define DF_ALLOW_EXIT 0x00001000 // 4096
+#define DF_INFINITE_AMMO 0x00002000 // 8192
+#define DF_QUAD_DROP 0x00004000 // 16384
+#define DF_FIXED_FOV 0x00008000 // 32768
// RAFAEL
-#define DF_QUADFIRE_DROP 0x00010000 // 65536
+#define DF_QUADFIRE_DROP 0x00010000 // 65536
//ROGUE
-#define DF_NO_MINES 0x00020000
-#define DF_NO_STACK_DOUBLE 0x00040000
-#define DF_NO_NUKES 0x00080000
-#define DF_NO_SPHERES 0x00100000
+#define DF_NO_MINES 0x00020000
+#define DF_NO_STACK_DOUBLE 0x00040000
+#define DF_NO_NUKES 0x00080000
+#define DF_NO_SPHERES 0x00100000
//ROGUE
/*
ROGUE - VERSIONS
-1234 08/13/1998 Activision
-1235 08/14/1998 Id Software
-1236 08/15/1998 Steve Tietze
-1237 08/15/1998 Phil Dobranski
-1238 08/15/1998 John Sheley
-1239 08/17/1998 Barrett Alexander
-1230 08/17/1998 Brandon Fish
-1245 08/17/1998 Don MacAskill
-1246 08/17/1998 David "Zoid" Kirsch
-1247 08/17/1998 Manu Smith
-1248 08/17/1998 Geoff Scully
-1249 08/17/1998 Andy Van Fossen
-1240 08/20/1998 Activision Build 2
-1256 08/20/1998 Ranger Clan
-1257 08/20/1998 Ensemble Studios
-1258 08/21/1998 Robert Duffy
-1259 08/21/1998 Stephen Seachord
-1250 08/21/1998 Stephen Heaslip
-1267 08/21/1998 Samir Sandesara
-1268 08/21/1998 Oliver Wyman
-1269 08/21/1998 Steven Marchegiano
-1260 08/21/1998 Build #2 for Nihilistic
-1278 08/21/1998 Build #2 for Ensemble
+1234 08/13/1998 Activision
+1235 08/14/1998 Id Software
+1236 08/15/1998 Steve Tietze
+1237 08/15/1998 Phil Dobranski
+1238 08/15/1998 John Sheley
+1239 08/17/1998 Barrett Alexander
+1230 08/17/1998 Brandon Fish
+1245 08/17/1998 Don MacAskill
+1246 08/17/1998 David "Zoid" Kirsch
+1247 08/17/1998 Manu Smith
+1248 08/17/1998 Geoff Scully
+1249 08/17/1998 Andy Van Fossen
+1240 08/20/1998 Activision Build 2
+1256 08/20/1998 Ranger Clan
+1257 08/20/1998 Ensemble Studios
+1258 08/21/1998 Robert Duffy
+1259 08/21/1998 Stephen Seachord
+1250 08/21/1998 Stephen Heaslip
+1267 08/21/1998 Samir Sandesara
+1268 08/21/1998 Oliver Wyman
+1269 08/21/1998 Steven Marchegiano
+1260 08/21/1998 Build #2 for Nihilistic
+1278 08/21/1998 Build #2 for Ensemble
-9999 08/20/1998 Internal Use
+9999 08/20/1998 Internal Use
*/
-#define ROGUE_VERSION_ID 1278
+#define ROGUE_VERSION_ID 1278
-#define ROGUE_VERSION_STRING "08/21/1998 Beta 2 for Ensemble"
+#define ROGUE_VERSION_STRING "08/21/1998 Beta 2 for Ensemble"
// ROGUE
@@ -1454,8 +1454,8 @@ ROGUE - VERSIONS
==========================================================
*/
-#define ANGLE2SHORT(x) ((int)((x)*65536/360) & 65535)
-#define SHORT2ANGLE(x) ((x)*(360.0/65536))
+#define ANGLE2SHORT(x) ((int)((x)*65536/360) & 65535)
+#define SHORT2ANGLE(x) ((x)*(360.0/65536))
//
@@ -1463,25 +1463,25 @@ ROGUE - VERSIONS
// the server to all connected clients.
// Each config string can be at most MAX_QPATH characters.
//
-#define CS_NAME 0
-#define CS_CDTRACK 1
-#define CS_SKY 2
-#define CS_SKYAXIS 3 // %f %f %f format
-#define CS_SKYROTATE 4
-#define CS_STATUSBAR 5 // display program string
+#define CS_NAME 0
+#define CS_CDTRACK 1
+#define CS_SKY 2
+#define CS_SKYAXIS 3 // %f %f %f format
+#define CS_SKYROTATE 4
+#define CS_STATUSBAR 5 // display program string
-#define CS_AIRACCEL 29 // air acceleration control
-#define CS_MAXCLIENTS 30
-#define CS_MAPCHECKSUM 31 // for catching cheater maps
+#define CS_AIRACCEL 29 // air acceleration control
+#define CS_MAXCLIENTS 30
+#define CS_MAPCHECKSUM 31 // for catching cheater maps
-#define CS_MODELS 32
-#define CS_SOUNDS (CS_MODELS+MAX_MODELS)
-#define CS_IMAGES (CS_SOUNDS+MAX_SOUNDS)
-#define CS_LIGHTS (CS_IMAGES+MAX_IMAGES)
-#define CS_ITEMS (CS_LIGHTS+MAX_LIGHTSTYLES)
-#define CS_PLAYERSKINS (CS_ITEMS+MAX_ITEMS)
-#define CS_GENERAL (CS_PLAYERSKINS+MAX_CLIENTS)
-#define MAX_CONFIGSTRINGS (CS_GENERAL+MAX_GENERAL)
+#define CS_MODELS 32
+#define CS_SOUNDS (CS_MODELS+MAX_MODELS)
+#define CS_IMAGES (CS_SOUNDS+MAX_SOUNDS)
+#define CS_LIGHTS (CS_IMAGES+MAX_IMAGES)
+#define CS_ITEMS (CS_LIGHTS+MAX_LIGHTSTYLES)
+#define CS_PLAYERSKINS (CS_ITEMS+MAX_ITEMS)
+#define CS_GENERAL (CS_PLAYERSKINS+MAX_CLIENTS)
+#define MAX_CONFIGSTRINGS (CS_GENERAL+MAX_GENERAL)
// Some mods actually exploit CS_STATUSBAR to take space up to CS_AIRACCEL
#define CS_SIZE( cs ) \
@@ -1498,14 +1498,14 @@ ROGUE - VERSIONS
// All muzzle flashes really should be converted to events...
typedef enum
{
- EV_NONE,
- EV_ITEM_RESPAWN,
- EV_FOOTSTEP,
- EV_FALLSHORT,
- EV_FALL,
- EV_FALLFAR,
- EV_PLAYER_TELEPORT,
- EV_OTHER_TELEPORT
+ EV_NONE,
+ EV_ITEM_RESPAWN,
+ EV_FOOTSTEP,
+ EV_FALLSHORT,
+ EV_FALL,
+ EV_FALLFAR,
+ EV_PLAYER_TELEPORT,
+ EV_OTHER_TELEPORT
} entity_event_t;
@@ -1514,24 +1514,24 @@ typedef enum
// need to render in some way
typedef struct entity_state_s
{
- int number; // edict index
+ int number; // edict index
- vec3_t origin;
- vec3_t angles;
- vec3_t old_origin; // for lerping
- int modelindex;
- int modelindex2, modelindex3, modelindex4; // weapons, CTF flags, etc
- int frame;
- int skinnum;
- unsigned int effects; // PGM - we're filling it, so it needs to be unsigned
- int renderfx;
- int solid; // for client side prediction, 8*(bits 0-4) is x/y radius
- // 8*(bits 5-9) is z down distance, 8(bits10-15) is z up
- // gi.linkentity sets this properly
- int sound; // for looping sounds, to guarantee shutoff
- int event; // impulse events -- muzzle flashes, footsteps, etc
- // events only go out for a single frame, they
- // are automatically cleared each frame
+ vec3_t origin;
+ vec3_t angles;
+ vec3_t old_origin; // for lerping
+ int modelindex;
+ int modelindex2, modelindex3, modelindex4; // weapons, CTF flags, etc
+ int frame;
+ int skinnum;
+ unsigned int effects; // PGM - we're filling it, so it needs to be unsigned
+ int renderfx;
+ int solid; // for client side prediction, 8*(bits 0-4) is x/y radius
+ // 8*(bits 5-9) is z down distance, 8(bits10-15) is z up
+ // gi.linkentity sets this properly
+ int sound; // for looping sounds, to guarantee shutoff
+ int event; // impulse events -- muzzle flashes, footsteps, etc
+ // events only go out for a single frame, they
+ // are automatically cleared each frame
} entity_state_t;
//==============================================
@@ -1543,27 +1543,27 @@ typedef struct entity_state_s
// frame rates
typedef struct
{
- pmove_state_t pmove; // for prediction
+ pmove_state_t pmove; // for prediction
- // these fields do not need to be communicated bit-precise
+ // these fields do not need to be communicated bit-precise
- vec3_t viewangles; // for fixed views
- vec3_t viewoffset; // add to pmovestate->origin
- vec3_t kick_angles; // add to view direction to get render angles
- // set by weapon kicks, pain effects, etc
+ vec3_t viewangles; // for fixed views
+ vec3_t viewoffset; // add to pmovestate->origin
+ vec3_t kick_angles; // add to view direction to get render angles
+ // set by weapon kicks, pain effects, etc
- vec3_t gunangles;
- vec3_t gunoffset;
- int gunindex;
- int gunframe;
+ vec3_t gunangles;
+ vec3_t gunoffset;
+ int gunindex;
+ int gunframe;
- float blend[4]; // rgba full screen effect
-
- float fov; // horizontal field of view
+ float blend[4]; // rgba full screen effect
+
+ float fov; // horizontal field of view
- int rdflags; // refdef flags
+ int rdflags; // refdef flags
- short stats[MAX_STATS]; // fast status bar updates
+ short stats[MAX_STATS]; // fast status bar updates
} player_state_t;