diff --git a/plugins/include/message_const.inc b/plugins/include/message_const.inc index 3624bd4a..01d7db51 100644 --- a/plugins/include/message_const.inc +++ b/plugins/include/message_const.inc @@ -5,13 +5,15 @@ * This file is provided as is (no warranties). * */ - + #if defined _message_const_included #endinput #endif #define _message_const_included -/* Destination types for message_begin() */ +/** + * Destination types for message_begin() + */ #define MSG_BROADCAST 0 // Unreliable to all #define MSG_ONE 1 // Reliable to one (msg_entity) #define MSG_ALL 2 // Reliable to all @@ -23,8 +25,10 @@ #define MSG_ONE_UNRELIABLE 8 // Send to one client, but don't put in reliable stream, put in unreliable datagram (could be dropped) #define MSG_SPEC 9 // Sends to all spectator proxies -/* Hardcoded message types for message_begin() - * Look in the actual HLSDK for details! +/** + * Hardcoded message types for message_begin() + * + * @note Look at the actual HLSDK for details */ #define SVC_NOP 1 #define SVC_DISCONNECT 2 @@ -82,12 +86,16 @@ #define SVC_SENDEXTRAINFO 54 #define SVC_TIMESCALE 55 -/* Message flags for set_msg_block() */ +/** + * Flags for set_msg_block() + */ #define BLOCK_NOT 0 #define BLOCK_ONCE 1 #define BLOCK_SET 2 -/* Used with get_msg_argtype() and set_msg_arg_ */ +/** + * Message argument types used with get_msg_argtype() and set_msg_arg_* + */ enum { ARG_BYTE = 1, /* int */ @@ -100,678 +108,987 @@ enum ARG_ENTITY, /* int */ }; -/* Temp entity message types for message_begin() */ -#define TE_BEAMPOINTS 0 // Beam effect between two points -// write_byte(TE_BEAMPOINTS) -// write_coord(startposition.x) -// write_coord(startposition.y) -// write_coord(startposition.z) -// write_coord(endposition.x) -// write_coord(endposition.y) -// write_coord(endposition.z) -// write_short(sprite index) -// write_byte(starting frame) -// write_byte(frame rate in 0.1's) -// write_byte(life in 0.1's) -// write_byte(line width in 0.1's) -// write_byte(noise amplitude in 0.01's) -// write_byte(red) -// write_byte(green) -// write_byte(blue) -// write_byte(brightness) -// write_byte(scroll speed in 0.1's) +/** + * @section TempEntity messages for message_begin() + */ -#define TE_BEAMENTPOINT 1 // Beam effect between point and entity -// write_byte(TE_BEAMENTPOINT) -// write_short(start entity) -// write_coord(endposition.x) -// write_coord(endposition.y) -// write_coord(endposition.z) -// write_short(sprite index) -// write_byte(starting frame) -// write_byte(frame rate in 0.1's) -// write_byte(life in 0.1's) -// write_byte(line width in 0.1's) -// write_byte(noise amplitude in 0.01's) -// write_byte(red) -// write_byte(green) -// write_byte(blue) -// write_byte(brightness) -// write_byte(scroll speed in 0.1's) +/** + * Beam effect between two points + * + * @note + * write_byte(TE_BEAMPOINTS) + * write_coord(startposition.x) + * write_coord(startposition.y) + * write_coord(startposition.z) + * write_coord(endposition.x) + * write_coord(endposition.y) + * write_coord(endposition.z) + * write_short(sprite index) + * write_byte(starting frame) + * write_byte(frame rate in 0.1's) + * write_byte(life in 0.1's) + * write_byte(line width in 0.1's) + * write_byte(noise amplitude in 0.01's) + * write_byte(red) + * write_byte(green) + * write_byte(blue) + * write_byte(brightness) + * write_byte(scroll speed in 0.1's) + */ +#define TE_BEAMPOINTS 0 -#define TE_GUNSHOT 2 // Particle effect plus ricochet sound -// write_byte(TE_GUNSHOT) -// write_coord(position.x) -// write_coord(position.y) -// write_coord(position.z) +/** + * Beam effect between a point and an entity + * + * @note + * write_byte(TE_BEAMENTPOINT) + * write_short(start entity) + * write_coord(endposition.x) + * write_coord(endposition.y) + * write_coord(endposition.z) + * write_short(sprite index) + * write_byte(starting frame) + * write_byte(frame rate in 0.1's) + * write_byte(life in 0.1's) + * write_byte(line width in 0.1's) + * write_byte(noise amplitude in 0.01's) + * write_byte(red) + * write_byte(green) + * write_byte(blue) + * write_byte(brightness) + * write_byte(scroll speed in 0.1's) + */ -#define TE_EXPLOSION 3 // Additive sprite, 2 dynamic lights, flickering particles, explosion sound, move vertically 8 pps -// write_byte(TE_EXPLOSION) -// write_coord(position.x) -// write_coord(position.y) -// write_coord(position.z) -// write_short(sprite index) -// write_byte(scale in 0.1's) -// write_byte(framerate) -// write_byte(flags) -// -// The Explosion effect has some flags to control performance/aesthetic features: +/** + * Particle effect plus ricochet sound + * + * @note + * write_byte(TE_GUNSHOT) + * write_coord(position.x) + * write_coord(position.y) + * write_coord(position.z) + */ +#define TE_GUNSHOT 2 + +/** + * Additive sprite, 2 dynamic lights, flickering particles, explosion sound, + * move vertically 8 pps + * + * @note + * write_byte(TE_EXPLOSION) + * write_coord(position.x) + * write_coord(position.y) + * write_coord(position.z) + * write_short(sprite index) + * write_byte(scale in 0.1's) + * write_byte(framerate) + * write_byte(flags) + */ +#define TE_EXPLOSION 3 + +/** + * Flags for the TE_EXPLOSION effect, controlling its performance and aesthetic + * features + */ #define TE_EXPLFLAG_NONE 0 // All flags clear makes default Half-Life explosion #define TE_EXPLFLAG_NOADDITIVE 1 // Sprite will be drawn opaque (ensure that the sprite you send is a non-additive sprite) #define TE_EXPLFLAG_NODLIGHTS 2 // Do not render dynamic lights #define TE_EXPLFLAG_NOSOUND 4 // Do not play client explosion sound #define TE_EXPLFLAG_NOPARTICLES 8 // Do not draw particles -#define TE_TAREXPLOSION 4 // Quake1 "tarbaby" explosion with sound -// write_byte(TE_TAREXPLOSION) -// write_coord(position.x) -// write_coord(position.y) -// write_coord(position.z) +/** + * Quake1 "tarbaby" explosion with sound + * + * @note + * write_byte(TE_TAREXPLOSION) + * write_coord(position.x) + * write_coord(position.y) + * write_coord(position.z) + */ +#define TE_TAREXPLOSION 4 -#define TE_SMOKE 5 // Alphablend sprite, move vertically 30 pps -// write_byte(TE_SMOKE) -// write_coord(position.x) -// write_coord(position.y) -// write_coord(position.z) -// write_short(sprite index) -// write_byte(scale in 0.1's) -// write_byte(framerate) +/** + * Alphablend sprite, move vertically 30pps + * + * @note + * write_byte(TE_SMOKE) + * write_coord(position.x) + * write_coord(position.y) + * write_coord(position.z) + * write_short(sprite index) + * write_byte(scale in 0.1's) + * write_byte(framerate) + */ +#define TE_SMOKE 5 -#define TE_TRACER 6 // Tracer effect from point to point -// write_byte(TE_TRACER) -// write_coord(startposition.x) -// write_coord(startposition.y) -// write_coord(startposition.z) -// write_coord(endposition.x) -// write_coord(endposition.y) -// write_coord(endposition.z) +/** + * Tracer effect from point to point + * + * @note + * write_byte(TE_TRACER) + * write_coord(startposition.x) + * write_coord(startposition.y) + * write_coord(startposition.z) + * write_coord(endposition.x) + * write_coord(endposition.y) + * write_coord(endposition.z) + */ +#define TE_TRACER 6 -#define TE_LIGHTNING 7 // TE_BEAMPOINTS with simplified parameters -// write_byte(TE_LIGHTNING) -// write_coord(startposition.x) -// write_coord(startposition.y) -// write_coord(startposition.z) -// write_coord(endposition.x) -// write_coord(endposition.y) -// write_coord(endposition.z) -// write_byte(life in 0.1's) -// write_byte(width in 0.1's) -// write_byte(amplitude in 0.01's) -// write_short(sprite model index) +/** + * TE_BEAMPOINTS with simplified parameters + * + * @note + * write_byte(TE_LIGHTNING) + * write_coord(startposition.x) + * write_coord(startposition.y) + * write_coord(startposition.z) + * write_coord(endposition.x) + * write_coord(endposition.y) + * write_coord(endposition.z) + * write_byte(life in 0.1's) + * write_byte(width in 0.1's) + * write_byte(amplitude in 0.01's) + * write_short(sprite model index) + */ +#define TE_LIGHTNING 7 +/** + * + * + * @note + * write_byte(TE_BEAMENTS) + * write_short(start entity) + * write_short(end entity) + * write_short(sprite index) + * write_byte(starting frame) + * write_byte(frame rate in 0.1's) + * write_byte(life in 0.1's) + * write_byte(line width in 0.1's) + * write_byte(noise amplitude in 0.01's) + * write_byte(red) + * write_byte(green) + * write_byte(blue) + * write_byte(brightness) + * write_byte(scroll speed in 0.1's) + */ #define TE_BEAMENTS 8 -// write_byte(TE_BEAMENTS) -// write_short(start entity) -// write_short(end entity) -// write_short(sprite index) -// write_byte(starting frame) -// write_byte(frame rate in 0.1's) -// write_byte(life in 0.1's) -// write_byte(line width in 0.1's) -// write_byte(noise amplitude in 0.01's) -// write_byte(red) -// write_byte(green) -// write_byte(blue) -// write_byte(brightness) -// write_byte(scroll speed in 0.1's) -#define TE_SPARKS 9 // 8 random tracers with gravity, ricochet sprite -// write_byte(TE_SPARKS) -// write_coord(position.x) -// write_coord(position.y) -// write_coord(position.z) +/** + * 8 random tracers with gravity, ricochet sprite + * + * @note + * write_byte(TE_SPARKS) + * write_coord(position.x) + * write_coord(position.y) + * write_coord(position.z) + */ +#define TE_SPARKS 9 -#define TE_LAVASPLASH 10 // Quake1 lava splash -// write_byte(TE_LAVASPLASH) -// write_coord(position.x) -// write_coord(position.y) -// write_coord(position.z) +/** + * Quake1 lava splash + * + * @note + * write_byte(TE_LAVASPLASH) + * write_coord(position.x) + * write_coord(position.y) + * write_coord(position.z) + */ +#define TE_LAVASPLASH 10 -#define TE_TELEPORT 11 // Quake1 teleport splash -// write_byte(TE_TELEPORT) -// write_coord(position.x) -// write_coord(position.y) -// write_coord(position.z) +/** + * Quake1 teleport splash + * + * @note + * write_byte(TE_TELEPORT) + * write_coord(position.x) + * write_coord(position.y) + * write_coord(position.z) + */ +#define TE_TELEPORT 11 -#define TE_EXPLOSION2 12 // Quake1 colormaped (base palette) particle explosion with sound -// write_byte(TE_EXPLOSION2) -// write_coord(position.x) -// write_coord(position.y) -// write_coord(position.z) -// write_byte(starting color) -// write_byte(num colors) +/** + * Quake1 colormaped (base palette) particle explosion with sound + * + * @note + * write_byte(TE_EXPLOSION2) + * write_coord(position.x) + * write_coord(position.y) + * write_coord(position.z) + * write_byte(starting color) + * write_byte(num colors) + */ +#define TE_EXPLOSION2 12 -#define TE_BSPDECAL 13 // Decal from the .BSP file -// write_byte(TE_BSPDECAL) -// write_coord(position.x) decal position (center of texture in world) -// write_coord(position.y) -// write_coord(position.z) -// write_short(texture index of precached decal texture name) -// write_short(entity index) -// [optional - write_short(index of model of above entity) only included if previous short is non-zero (not the world)] +/** + * Decal from the .BSP file + * + * @note + * write_byte(TE_BSPDECAL) + * write_coord(position.x) decal position (center of texture in world) + * write_coord(position.y) + * write_coord(position.z) + * write_short(texture index of precached decal texture name) + * write_short(entity index) + * [optional - write_short(index of model of above entity) only included if previous short is non-zero (not the world)] + */ +#define TE_BSPDECAL 13 -#define TE_IMPLOSION 14 // Tracers moving toward a point -// write_byte(TE_IMPLOSION) -// write_coord(position.x) -// write_coord(position.y) -// write_coord(position.z) -// write_byte(radius) -// write_byte(count) -// write_byte(life in 0.1's) +/** + * Tracers moving toward a point + * + * @note + * write_byte(TE_IMPLOSION) + * write_coord(position.x) + * write_coord(position.y) + * write_coord(position.z) + * write_byte(radius) + * write_byte(count) + * write_byte(life in 0.1's) + */ +#define TE_IMPLOSION 14 -#define TE_SPRITETRAIL 15 // Line of moving glow sprites with gravity, fadeout, and collisions -// write_byte(TE_SPRITETRAIL) -// write_coord(startposition.x) -// write_coord(startposition.y) -// write_coord(startposition.z) -// write_coord(endposition.x) -// write_coord(endposition.y) -// write_coord(endposition.z) -// write_short(sprite index) -// write_byte(count) -// write_byte(life in 0.1's) -// write_byte(scale in 0.1's) -// write_byte(velocity along vector in 10's) -// write_byte(randomness of velocity in 10's) +/** + * Line of moving glow sprites with gravity, fadeout, and collisions + * + * @note + * write_byte(TE_SPRITETRAIL) + * write_coord(startposition.x) + * write_coord(startposition.y) + * write_coord(startposition.z) + * write_coord(endposition.x) + * write_coord(endposition.y) + * write_coord(endposition.z) + * write_short(sprite index) + * write_byte(count) + * write_byte(life in 0.1's) + * write_byte(scale in 0.1's) + * write_byte(velocity along vector in 10's) + * write_byte(randomness of velocity in 10's) + */ +#define TE_SPRITETRAIL 15 -#define TE_SPRITE 17 // Additive sprite, plays 1 cycle -// write_byte(TE_SPRITE) -// write_coord(position.x) -// write_coord(position.y) -// write_coord(position.z) -// write_short(sprite index) -// write_byte(scale in 0.1's) -// write_byte(brightness) +/** + * Additive sprite, plays 1 cycle + * + * @note + * write_byte(TE_SPRITE) + * write_coord(position.x) + * write_coord(position.y) + * write_coord(position.z) + * write_short(sprite index) + * write_byte(scale in 0.1's) + * write_byte(brightness) + */ +#define TE_SPRITE 17 -#define TE_BEAMSPRITE 18 // A beam with a sprite at the end -// write_byte(TE_BEAMSPRITE) -// write_coord(startposition.x) -// write_coord(startposition.y) -// write_coord(startposition.z) -// write_coord(endposition.x) -// write_coord(endposition.y) -// write_coord(endposition.z) -// write_short(beam sprite index) -// write_short(end sprite index) +/** + * A beam with a sprite at the end + * + * @note + * write_byte(TE_BEAMSPRITE) + * write_coord(startposition.x) + * write_coord(startposition.y) + * write_coord(startposition.z) + * write_coord(endposition.x) + * write_coord(endposition.y) + * write_coord(endposition.z) + * write_short(beam sprite index) + * write_short(end sprite index) + */ +#define TE_BEAMSPRITE 18 -#define TE_BEAMTORUS 19 // Screen aligned beam ring, expands to max radius over lifetime -// write_byte(TE_BEAMTORUS) -// write_coord(position.x) -// write_coord(position.y) -// write_coord(position.z) -// write_coord(axis.x) -// write_coord(axis.y) -// write_coord(axis.z) -// write_short(sprite index) -// write_byte(starting frame) -// write_byte(frame rate in 0.1's) -// write_byte(life in 0.1's) -// write_byte(line width in 0.1's) -// write_byte(noise amplitude in 0.01's) -// write_byte(red) -// write_byte(green) -// write_byte(blue) -// write_byte(brightness) -// write_byte(scroll speed in 0.1's) +/** + * Screen aligned beam ring, expands to max radius over lifetime + * + * @note + * write_byte(TE_BEAMTORUS) + * write_coord(position.x) + * write_coord(position.y) + * write_coord(position.z) + * write_coord(axis.x) + * write_coord(axis.y) + * write_coord(axis.z) + * write_short(sprite index) + * write_byte(starting frame) + * write_byte(frame rate in 0.1's) + * write_byte(life in 0.1's) + * write_byte(line width in 0.1's) + * write_byte(noise amplitude in 0.01's) + * write_byte(red) + * write_byte(green) + * write_byte(blue) + * write_byte(brightness) + * write_byte(scroll speed in 0.1's) + */ +#define TE_BEAMTORUS 19 -#define TE_BEAMDISK 20 // Disk that expands to max radius over lifetime -// write_byte(TE_BEAMDISK) -// write_coord(position.x) -// write_coord(position.y) -// write_coord(position.z) -// write_coord(axis.x) -// write_coord(axis.y) -// write_coord(axis.z) -// write_short(sprite index) -// write_byte(starting frame) -// write_byte(frame rate in 0.1's) -// write_byte(life in 0.1's) -// write_byte(line width in 0.1's) -// write_byte(noise amplitude in 0.01's) -// write_byte(red) -// write_byte(green) -// write_byte(blue) -// write_byte(brightness) -// write_byte(scroll speed in 0.1's) +/** + * Disk that expands to max radius over lifetime + * + * @note + * write_byte(TE_BEAMDISK) + * write_coord(position.x) + * write_coord(position.y) + * write_coord(position.z) + * write_coord(axis.x) + * write_coord(axis.y) + * write_coord(axis.z) + * write_short(sprite index) + * write_byte(starting frame) + * write_byte(frame rate in 0.1's) + * write_byte(life in 0.1's) + * write_byte(line width in 0.1's) + * write_byte(noise amplitude in 0.01's) + * write_byte(red) + * write_byte(green) + * write_byte(blue) + * write_byte(brightness) + * write_byte(scroll speed in 0.1's) + */ +#define TE_BEAMDISK 20 -#define TE_BEAMCYLINDER 21 // Cylinder that expands to max radius over lifetime -// write_byte(TE_BEAMCYLINDER) -// write_coord(position.x) -// write_coord(position.y) -// write_coord(position.z) -// write_coord(axis.x) -// write_coord(axis.y) -// write_coord(axis.z) -// write_short(sprite index) -// write_byte(starting frame) -// write_byte(frame rate in 0.1's) -// write_byte(life in 0.1's) -// write_byte(line width in 0.1's) -// write_byte(noise amplitude in 0.01's) -// write_byte(red) -// write_byte(green) -// write_byte(blue) -// write_byte(brightness) -// write_byte(scroll speed in 0.1's) +/** + * Cylinder that expands to max radius over lifetime + * + * @note + * write_byte(TE_BEAMCYLINDER) + * write_coord(position.x) + * write_coord(position.y) + * write_coord(position.z) + * write_coord(axis.x) + * write_coord(axis.y) + * write_coord(axis.z) + * write_short(sprite index) + * write_byte(starting frame) + * write_byte(frame rate in 0.1's) + * write_byte(life in 0.1's) + * write_byte(line width in 0.1's) + * write_byte(noise amplitude in 0.01's) + * write_byte(red) + * write_byte(green) + * write_byte(blue) + * write_byte(brightness) + * write_byte(scroll speed in 0.1's) + */ +#define TE_BEAMCYLINDER 21 -#define TE_BEAMFOLLOW 22 // Create a line of decaying beam segments until entity stops moving -// write_byte(TE_BEAMFOLLOW) -// write_short(entity:attachment to follow) -// write_short(sprite index) -// write_byte(life in 0.1's) -// write_byte(line width in 0.1's) -// write_byte(red) -// write_byte(green) -// write_byte(blue) -// write_byte(brightness) +/** + * Create a line of decaying beam segments until entity stops moving + * + * @note + * write_byte(TE_BEAMFOLLOW) + * write_short(entity:attachment to follow) + * write_short(sprite index) + * write_byte(life in 0.1's) + * write_byte(line width in 0.1's) + * write_byte(red) + * write_byte(green) + * write_byte(blue) + * write_byte(brightness) + */ +#define TE_BEAMFOLLOW 22 +/** + * + * + * @note + * write_byte(TE_GLOWSPRITE) + * write_coord(position.x) + * write_coord(position.y) + * write_coord(position.z) + * write_short(model index) + * write_byte(scale / 10) + * write_byte(size) + * write_byte(brightness) + */ #define TE_GLOWSPRITE 23 -// write_byte(TE_GLOWSPRITE) -// write_coord(position.x) -// write_coord(position.y) -// write_coord(position.z) -// write_short(model index) -// write_byte(scale / 10) -// write_byte(size) -// write_byte(brightness) -#define TE_BEAMRING 24 // Connect a beam ring to two entities -// write_byte(TE_BEAMRING) -// write_short(start entity) -// write_short(end entity) -// write_short(sprite index) -// write_byte(starting frame) -// write_byte(frame rate in 0.1's) -// write_byte(life in 0.1's) -// write_byte(line width in 0.1's) -// write_byte(noise amplitude in 0.01's) -// write_byte(red) -// write_byte(green) -// write_byte(blue) -// write_byte(brightness) -// write_byte(scroll speed in 0.1's) +/** + * Connect a beam ring to two entities + * + * @note + * write_byte(TE_BEAMRING) + * write_short(start entity) + * write_short(end entity) + * write_short(sprite index) + * write_byte(starting frame) + * write_byte(frame rate in 0.1's) + * write_byte(life in 0.1's) + * write_byte(line width in 0.1's) + * write_byte(noise amplitude in 0.01's) + * write_byte(red) + * write_byte(green) + * write_byte(blue) + * write_byte(brightness) + * write_byte(scroll speed in 0.1's) + */ +#define TE_BEAMRING 24 -#define TE_STREAK_SPLASH 25 // Oriented shower of tracers -// write_byte(TE_STREAK_SPLASH) -// write_coord(startposition.x) -// write_coord(startposition.y) -// write_coord(startposition.z) -// write_coord(vector.x) -// write_coord(vector.y) -// write_coord(vector.z) -// write_byte(color) -// write_short(count) -// write_short(base speed) -// write_short(ramdon velocity) +/** + * Oriented shower of tracers + * + * @note + * write_byte(TE_STREAK_SPLASH) + * write_coord(startposition.x) + * write_coord(startposition.y) + * write_coord(startposition.z) + * write_coord(vector.x) + * write_coord(vector.y) + * write_coord(vector.z) + * write_byte(color) + * write_short(count) + * write_short(base speed) + * write_short(ramdon velocity) + */ +#define TE_STREAK_SPLASH 25 -#define TE_DLIGHT 27 // Dynamic light, effect world, minor entity effect -// write_byte(TE_DLIGHT) -// write_coord(position.x) -// write_coord(position.y) -// write_coord(position.z) -// write_byte(radius in 10's) -// write_byte(red) -// write_byte(green) -// write_byte(blue) -// write_byte(brightness) -// write_byte(life in 10's) -// write_byte(decay rate in 10's) +/** + * Dynamic light, effect world, minor entity effect + * + * @note + * write_byte(TE_DLIGHT) + * write_coord(position.x) + * write_coord(position.y) + * write_coord(position.z) + * write_byte(radius in 10's) + * write_byte(red) + * write_byte(green) + * write_byte(blue) + * write_byte(brightness) + * write_byte(life in 10's) + * write_byte(decay rate in 10's) + */ +#define TE_DLIGHT 27 -#define TE_ELIGHT 28 // Point entity light, no world effect -// write_byte(TE_ELIGHT) -// write_short(entity:attachment to follow) -// write_coord(position.x) -// write_coord(position.y) -// write_coord(position.z) -// write_coord(radius) -// write_byte(red) -// write_byte(green) -// write_byte(blue) -// write_byte(life in 0.1's) -// write_coord(decay rate) +/** + * Point entity light, no world effect + * + * @note + * write_byte(TE_ELIGHT) + * write_short(entity:attachment to follow) + * write_coord(position.x) + * write_coord(position.y) + * write_coord(position.z) + * write_coord(radius) + * write_byte(red) + * write_byte(green) + * write_byte(blue) + * write_byte(life in 0.1's) + * write_coord(decay rate) + */ +#define TE_ELIGHT 28 +/** + * + * + * @note + * write_byte(TE_TEXTMESSAGE) + * write_byte(channel) + * write_short(x) -1 = center) + * write_short(y) -1 = center) + * write_byte(effect) 0 = fade in/fade out, 1 is flickery credits, 2 is write out (training room) + * write_byte(red) - text color + * write_byte(green) + * write_byte(blue) + * write_byte(alpha) + * write_byte(red) - effect color + * write_byte(green) + * write_byte(blue) + * write_byte(alpha) + * write_short(fadein time) + * write_short(fadeout time) + * write_short(hold time) + * [optional] write_short(fxtime) time the highlight lags behing the leading text in effect 2 + * write_string(text message) 512 chars max string size + */ #define TE_TEXTMESSAGE 29 -// write_byte(TE_TEXTMESSAGE) -// write_byte(channel) -// write_short(x) -1 = center) -// write_short(y) -1 = center) -// write_byte(effect) 0 = fade in/fade out, 1 is flickery credits, 2 is write out (training room) -// write_byte(red) - text color -// write_byte(green) -// write_byte(blue) -// write_byte(alpha) -// write_byte(red) - effect color -// write_byte(green) -// write_byte(blue) -// write_byte(alpha) -// write_short(fadein time) -// write_short(fadeout time) -// write_short(hold time) -// [optional] write_short(fxtime) time the highlight lags behing the leading text in effect 2 -// write_string(text message) 512 chars max string size +/** + * + * + * @note + * write_byte(TE_LINE) + * write_coord(startposition.x) + * write_coord(startposition.y) + * write_coord(startposition.z) + * write_coord(endposition.x) + * write_coord(endposition.y) + * write_coord(endposition.z) + * write_short(life in 0.1 s) + * write_byte(red) + * write_byte(green) + * write_byte(blue) + */ #define TE_LINE 30 -// write_byte(TE_LINE) -// write_coord(startposition.x) -// write_coord(startposition.y) -// write_coord(startposition.z) -// write_coord(endposition.x) -// write_coord(endposition.y) -// write_coord(endposition.z) -// write_short(life in 0.1 s) -// write_byte(red) -// write_byte(green) -// write_byte(blue) +/** + * + * + * @note + * write_byte(TE_BOX) + * write_coord(boxmins.x) + * write_coord(boxmins.y) + * write_coord(boxmins.z) + * write_coord(boxmaxs.x) + * write_coord(boxmaxs.y) + * write_coord(boxmaxs.z) + * write_short(life in 0.1 s) + * write_byte(red) + * write_byte(green) + * write_byte(blue) + */ #define TE_BOX 31 -// write_byte(TE_BOX) -// write_coord(boxmins.x) -// write_coord(boxmins.y) -// write_coord(boxmins.z) -// write_coord(boxmaxs.x) -// write_coord(boxmaxs.y) -// write_coord(boxmaxs.z) -// write_short(life in 0.1 s) -// write_byte(red) -// write_byte(green) -// write_byte(blue) -#define TE_KILLBEAM 99 // Kill all beams attached to entity -// write_byte(TE_KILLBEAM) -// write_short(entity) +/** + * Kill all beams attached to entity + * + * @note + * write_byte(TE_KILLBEAM) + * write_short(entity) + */ +#define TE_KILLBEAM 99 +/** + * + * + * @note + * write_byte(TE_LARGEFUNNEL) + * write_coord(position.x) + * write_coord(position.y) + * write_coord(position.z) + * write_short(sprite index) + * write_short(flags) + */ #define TE_LARGEFUNNEL 100 -// write_byte(TE_LARGEFUNNEL) -// write_coord(position.x) -// write_coord(position.y) -// write_coord(position.z) -// write_short(sprite index) -// write_short(flags) -#define TE_BLOODSTREAM 101 // Particle spray -// write_byte(TE_BLOODSTREAM) -// write_coord(position.x) -// write_coord(position.y) -// write_coord(position.z) -// write_coord(vector.x) -// write_coord(vector.y) -// write_coord(vector.z) -// write_byte(color) -// write_byte(speed) +/** + * Particle spray + * + * @note + * write_byte(TE_BLOODSTREAM) + * write_coord(position.x) + * write_coord(position.y) + * write_coord(position.z) + * write_coord(vector.x) + * write_coord(vector.y) + * write_coord(vector.z) + * write_byte(color) + * write_byte(speed) + */ +#define TE_BLOODSTREAM 101 -#define TE_SHOWLINE 102 // Line of particles every 5 units, dies in 30 seconds -// write_byte(TE_SHOWLINE) -// write_coord(startposition.x) -// write_coord(startposition.y) -// write_coord(startposition.z) -// write_coord(endposition.x) -// write_coord(endposition.y) -// write_coord(endposition.z) +/** + * Line of particles every 5 units, dies in 30 seconds + * + * @note + * write_byte(TE_SHOWLINE) + * write_coord(startposition.x) + * write_coord(startposition.y) + * write_coord(startposition.z) + * write_coord(endposition.x) + * write_coord(endposition.y) + * write_coord(endposition.z) + */ +#define TE_SHOWLINE 102 -#define TE_BLOOD 103 // Particle spray -// write_byte(TE_BLOOD) -// write_coord(position.x) -// write_coord(position.y) -// write_coord(position.z) -// write_coord(vector.x) -// write_coord(vector.y) -// write_coord(vector.z) -// write_byte(color) -// write_byte(speed) +/** + * Particle spray + * + * @note + * write_byte(TE_BLOOD) + * write_coord(position.x) + * write_coord(position.y) + * write_coord(position.z) + * write_coord(vector.x) + * write_coord(vector.y) + * write_coord(vector.z) + * write_byte(color) + * write_byte(speed) + */ +#define TE_BLOOD 103 -#define TE_DECAL 104 // Decal applied to a brush entity (not the world) -// write_byte(TE_DECAL) -// write_coord(position.x) decal position (center of texture in world) -// write_coord(position.y) -// write_coord(position.z) -// write_byte(texture index of precached decal texture name) -// write_short(entity index) +/** + * Decal applied to a brush entity (not the world) + * + * @note + * write_byte(TE_DECAL) + * write_coord(position.x) decal position (center of texture in world) + * write_coord(position.y) + * write_coord(position.z) + * write_byte(texture index of precached decal texture name) + * write_short(entity index) + */ +#define TE_DECAL 104 -#define TE_FIZZ 105 // Create alpha sprites inside of entity, float upwards -// write_byte(TE_FIZZ) -// write_short(entity) -// write_short(sprite index) -// write_byte density) +/** + * Create alpha sprites inside of entity, float upwards + * + * @note + * write_byte(TE_FIZZ) + * write_short(entity) + * write_short(sprite index) + * write_byte density) + */ +#define TE_FIZZ 105 -#define TE_MODEL 106 // Create a moving model that bounces and makes a sound when it hits -// write_byte(TE_MODEL) -// write_coord(position.x) -// write_coord(position.y) -// write_coord(position.z) -// write_coord(velocity.x) -// write_coord(velocity.y) -// write_coord(velocity.z) -// write_angle(initial yaw) -// write_short(model index) -// write_byte(bounce sound type) -// write_byte(life in 0.1's) +/** + * Create a moving model that bounces and makes a sound when it hits + * + * @note + * write_byte(TE_MODEL) + * write_coord(position.x) + * write_coord(position.y) + * write_coord(position.z) + * write_coord(velocity.x) + * write_coord(velocity.y) + * write_coord(velocity.z) + * write_angle(initial yaw) + * write_short(model index) + * write_byte(bounce sound type) + * write_byte(life in 0.1's) + */ +#define TE_MODEL 106 -#define TE_EXPLODEMODEL 107 // Spherical shower of models, picks from set -// write_byte(TE_EXPLODEMODEL) -// write_coord(origin.x) -// write_coord(origin.y) -// write_coord(origin.z) -// write_coord(velocity.x) -// write_coord(velocity.y) -// write_coord(velocity.z) -// write_short(model index) -// write_short(count) -// write_byte(life in 0.1's) +/** + * Spherical shower of models, picks from set + * + * @note + * write_byte(TE_EXPLODEMODEL) + * write_coord(origin.x) + * write_coord(origin.y) + * write_coord(origin.z) + * write_coord(velocity.x) + * write_coord(velocity.y) + * write_coord(velocity.z) + * write_short(model index) + * write_short(count) + * write_byte(life in 0.1's) + */ +#define TE_EXPLODEMODEL 107 -#define TE_BREAKMODEL 108 // Box of models or sprites -// write_byte(TE_BREAKMODEL) -// write_coord(position.x) -// write_coord(position.y) -// write_coord(position.z) -// write_coord(size.x) -// write_coord(size.y) -// write_coord(size.z) -// write_coord(velocity.x) -// write_coord(velocity.y) -// write_coord(velocity.z) -// write_byte(random velocity in 10's) -// write_short(sprite or model index) -// write_byte(count) -// write_byte(life in 0.1 secs) -// write_byte(flags) +/** + * Box of models or sprites + * + * @note + * write_byte(TE_BREAKMODEL) + * write_coord(position.x) + * write_coord(position.y) + * write_coord(position.z) + * write_coord(size.x) + * write_coord(size.y) + * write_coord(size.z) + * write_coord(velocity.x) + * write_coord(velocity.y) + * write_coord(velocity.z) + * write_byte(random velocity in 10's) + * write_short(sprite or model index) + * write_byte(count) + * write_byte(life in 0.1 secs) + * write_byte(flags) + */ +#define TE_BREAKMODEL 108 -#define TE_GUNSHOTDECAL 109 // Decal and ricochet sound -// write_byte(TE_GUNSHOTDECAL) -// write_coord(position.x) -// write_coord(position.y) -// write_coord(position.z) -// write_short(entity index???) -// write_byte(decal???) +/** + * Decal and ricochet sound + * + * @note + * write_byte(TE_GUNSHOTDECAL) + * write_coord(position.x) + * write_coord(position.y) + * write_coord(position.z) + * write_short(entity index???) + * write_byte(decal???) + */ +#define TE_GUNSHOTDECAL 109 -#define TE_SPRITE_SPRAY 110 // Spray of alpha sprites -// write_byte(TE_SPRITE_SPRAY) -// write_coord(position.x) -// write_coord(position.y) -// write_coord(position.z) -// write_coord(velocity.x) -// write_coord(velocity.y) -// write_coord(velocity.z) -// write_short(sprite index) -// write_byte(count) -// write_byte(speed) -// write_byte(noise) +/** + * Spray of alpha sprites + * + * @note + * write_byte(TE_SPRITE_SPRAY) + * write_coord(position.x) + * write_coord(position.y) + * write_coord(position.z) + * write_coord(velocity.x) + * write_coord(velocity.y) + * write_coord(velocity.z) + * write_short(sprite index) + * write_byte(count) + * write_byte(speed) + * write_byte(noise) + */ +#define TE_SPRITE_SPRAY 110 -#define TE_ARMOR_RICOCHET 111 // Quick spark sprite, client ricochet sound. -// write_byte(TE_ARMOR_RICOCHET) -// write_coord(position.x) -// write_coord(position.y) -// write_coord(position.z) -// write_byte(scale in 0.1's) +/** + * Quick spark sprite, client ricochet sound. + * + * @note + * write_byte(TE_ARMOR_RICOCHET) + * write_coord(position.x) + * write_coord(position.y) + * write_coord(position.z) + * write_byte(scale in 0.1's) + */ +#define TE_ARMOR_RICOCHET 111 +/** + * + * + * @note + * write_byte(TE_PLAYERDECAL) + * write_byte(playerindex) + * write_coord(position.x) + * write_coord(position.y) + * write_coord(position.z) + * write_short(entity???) + * write_byte(decal number) + * [optional] write_short(model index) + */ #define TE_PLAYERDECAL 112 -// write_byte(TE_PLAYERDECAL) -// write_byte(playerindex) -// write_coord(position.x) -// write_coord(position.y) -// write_coord(position.z) -// write_short(entity???) -// write_byte(decal number) -// [optional] write_short(model index) -#define TE_BUBBLES 113 // Create alpha sprites inside of box, float upwards -// write_byte(TE_BUBBLES) -// write_coord(position.x) (min start position) -// write_coord(position.y) -// write_coord(position.z) -// write_coord(position.x) (max start position) -// write_coord(position.y) -// write_coord(position.z) -// write_coord(float height) -// write_short(model index) -// write_byte(count) -// write_coord(speed) +/** + * Create alpha sprites inside of box, float upwards + * + * @note + * write_byte(TE_BUBBLES) + * write_coord(position.x) (min start position) + * write_coord(position.y) + * write_coord(position.z) + * write_coord(position.x) (max start position) + * write_coord(position.y) + * write_coord(position.z) + * write_coord(float height) + * write_short(model index) + * write_byte(count) + * write_coord(speed) + */ +#define TE_BUBBLES 113 -#define TE_BUBBLETRAIL 114 // Create alpha sprites along a line, float upwards -// write_byte(TE_BUBBLETRAIL) -// write_coord(position.x) (min start position) -// write_coord(position.y) (min start position) -// write_coord(position.z) (min start position) -// write_coord(position.x) (max start position) -// write_coord(position.y) (max start position) -// write_coord(position.z) (max start position) -// write_coord(float height) -// write_short(model index) -// write_byte(count) -// write_coord(speed) +/** + * Create alpha sprites along a line, float upwards + * + * @note + * write_byte(TE_BUBBLETRAIL) + * write_coord(position.x) (min start position) + * write_coord(position.y) (min start position) + * write_coord(position.z) (min start position) + * write_coord(position.x) (max start position) + * write_coord(position.y) (max start position) + * write_coord(position.z) (max start position) + * write_coord(float height) + * write_short(model index) + * write_byte(count) + * write_coord(speed) + */ +#define TE_BUBBLETRAIL 114 -#define TE_BLOODSPRITE 115 // Spray of opaque sprite1's that fall, single sprite2 for 1..2 secs (this is a high-priority tent) -// write_byte(TE_BLOODSPRITE) -// write_coord(position.x) -// write_coord(position.y) -// write_coord(position.z) -// write_short(sprite1 index) -// write_short(sprite2 index) -// write_byte(color) -// write_byte(scale) +/** + * Spray of opaque sprite1's that fall, single sprite2 for 1..2 secs (this is a high-priority tent) + * + * @note + * write_byte(TE_BLOODSPRITE) + * write_coord(position.x) + * write_coord(position.y) + * write_coord(position.z) + * write_short(sprite1 index) + * write_short(sprite2 index) + * write_byte(color) + * write_byte(scale) + */ +#define TE_BLOODSPRITE 115 -#define TE_WORLDDECAL 116 // Decal applied to the world brush -// write_byte(TE_WORLDDECAL) -// write_coord(position.x) decal position (center of texture in world) -// write_coord(position.y) -// write_coord(position.z) -// write_byte(texture index of precached decal texture name) +/** + * Decal applied to the world brush + * + * @note + * write_byte(TE_WORLDDECAL) + * write_coord(position.x) decal position (center of texture in world) + * write_coord(position.y) + * write_coord(position.z) + * write_byte(texture index of precached decal texture name) + */ +#define TE_WORLDDECAL 116 -#define TE_WORLDDECALHIGH 117 // Decal (with texture index > 256) applied to world brush -// write_byte(TE_WORLDDECALHIGH) -// write_coord(position.x) decal position (center of texture in world) -// write_coord(position.y) -// write_coord(position.z) -// write_byte(texture index of precached decal texture name - 256) +/** + * Decal (with texture index > 256) applied to world brush + * + * @note + * write_byte(TE_WORLDDECALHIGH) + * write_coord(position.x) decal position (center of texture in world) + * write_coord(position.y) + * write_coord(position.z) + * write_byte(texture index of precached decal texture name - 256) + */ +#define TE_WORLDDECALHIGH 117 -#define TE_DECALHIGH 118 // Same as TE_DECAL, but the texture index was greater than 256 -// write_byte(TE_DECALHIGH) -// write_coord(position.x) decal position (center of texture in world) -// write_coord(position.y) -// write_coord(position.z) -// write_byte(texture index of precached decal texture name - 256) -// write_short(entity index) +/** + * Same as TE_DECAL, but the texture index was greater than 256 + * + * @note + * write_byte(TE_DECALHIGH) + * write_coord(position.x) decal position (center of texture in world) + * write_coord(position.y) + * write_coord(position.z) + * write_byte(texture index of precached decal texture name - 256) + * write_short(entity index) + */ +#define TE_DECALHIGH 118 -#define TE_PROJECTILE 119 // Makes a projectile (like a nail) (this is a high-priority tent) -// write_byte(TE_PROJECTILE) -// write_coord(position.x) -// write_coord(position.y) -// write_coord(position.z) -// write_coord(velocity.x) -// write_coord(velocity.y) -// write_coord(velocity.z) -// write_short(modelindex) -// write_byte(life) -// write_byte(owner) projectile won't collide with owner (if owner == 0, projectile will hit any client). +/** + * Makes a projectile (like a nail) (this is a high-priority tent) + * + * @note + * write_byte(TE_PROJECTILE) + * write_coord(position.x) + * write_coord(position.y) + * write_coord(position.z) + * write_coord(velocity.x) + * write_coord(velocity.y) + * write_coord(velocity.z) + * write_short(modelindex) + * write_byte(life) + * write_byte(owner) projectile won't collide with owner (if owner == 0, projectile will hit any client). + */ +#define TE_PROJECTILE 119 -#define TE_SPRAY 120 // Throws a shower of sprites or models -// write_byte(TE_SPRAY) -// write_coord(position.x) -// write_coord(position.y) -// write_coord(position.z) -// write_coord(direction.x) -// write_coord(direction.y) -// write_coord(direction.z) -// write_short(modelindex) -// write_byte(count) -// write_byte(speed) -// write_byte(noise) -// write_byte(rendermode) +/** + * Throws a shower of sprites or models + * + * @note + * write_byte(TE_SPRAY) + * write_coord(position.x) + * write_coord(position.y) + * write_coord(position.z) + * write_coord(direction.x) + * write_coord(direction.y) + * write_coord(direction.z) + * write_short(modelindex) + * write_byte(count) + * write_byte(speed) + * write_byte(noise) + * write_byte(rendermode) + */ +#define TE_SPRAY 120 -#define TE_PLAYERSPRITES 121 // Sprites emit from a player's bounding box (ONLY use for players!) -// write_byte(TE_PLAYERSPRITES) -// write_short(playernum) -// write_short(sprite modelindex) -// write_byte(count) -// write_byte(variance) (0 = no variance in size) (10 = 10% variance in size) +/** + * Sprites emit from a player's bounding box (ONLY use for players!) + * + * @note + * write_byte(TE_PLAYERSPRITES) + * write_short(playernum) + * write_short(sprite modelindex) + * write_byte(count) + * write_byte(variance) (0 = no variance in size) (10 = 10% variance in size) + */ +#define TE_PLAYERSPRITES 121 -#define TE_PARTICLEBURST 122 // Very similar to lavasplash -// write_byte(TE_PARTICLEBURST) -// write_coord(origin) -// write_short(radius) -// write_byte(particle color) -// write_byte(duration * 10) (will be randomized a bit) +/** + * Very similar to lavasplash + * + * @note + * write_byte(TE_PARTICLEBURST) + * write_coord(origin) + * write_short(radius) + * write_byte(particle color) + * write_byte(duration * 10) (will be randomized a bit) + */ +#define TE_PARTICLEBURST 122 -#define TE_FIREFIELD 123 // Makes a field of fire -// write_byte(TE_FIREFIELD) -// write_coord(origin) -// write_short(radius) (fire is made in a square around origin. -radius, -radius to radius, radius) -// write_short(modelindex) -// write_byte(count) -// write_byte(flags) -// write_byte(duration (in seconds) * 10) (will be randomized a bit) -// -// to keep network traffic low, this message has associated flags that fit into a byte: +/** + * Makes a field of fire + * + * @note + * write_byte(TE_FIREFIELD) + * write_coord(origin) + * write_short(radius) (fire is made in a square around origin. -radius, -radius to radius, radius) + * write_short(modelindex) + * write_byte(count) + * write_byte(flags) + * write_byte(duration (in seconds) * 10) (will be randomized a bit) + */ +#define TE_FIREFIELD 123 + +/** + * Flags for the TE_FIREFIELD effect, controlling its performance and aesthetic + * features + */ #define TEFIRE_FLAG_ALLFLOAT 1 // All sprites will drift upwards as they animate #define TEFIRE_FLAG_SOMEFLOAT 2 // Some of the sprites will drift upwards. (50% chance) #define TEFIRE_FLAG_LOOP 4 // If set, sprite plays at 15 fps, otherwise plays at whatever rate stretches the animation over the sprite's duration. #define TEFIRE_FLAG_ALPHA 8 // If set, sprite is rendered alpha blended at 50% else, opaque -#define TEFIRE_FLAG_PLANAR 16 // If set, all fire sprites have same initial Z instead of randomly filling a cube. +#define TEFIRE_FLAG_PLANAR 16 // If set, all fire sprites have same initial Z instead of randomly filling a cube. -#define TE_PLAYERATTACHMENT 124 // Attaches a TENT to a player (this is a high-priority tent) -// write_byte(TE_PLAYERATTACHMENT) -// write_byte(entity index of player) -// write_coord(vertical offset) (attachment origin.z = player origin.z + vertical offset) -// write_short(model index) -// write_short(life * 10 ) +/** + * Attaches a TENT to a player (this is a high-priority tent) + * + * @note + * write_byte(TE_PLAYERATTACHMENT) + * write_byte(entity index of player) + * write_coord(vertical offset) (attachment origin.z = player origin.z + vertical offset) + * write_short(model index) + * write_short(life * 10 ) + */ +#define TE_PLAYERATTACHMENT 124 -#define TE_KILLPLAYERATTACHMENTS 125 // Will expire all TENTS attached to a player. -// write_byte(TE_KILLPLAYERATTACHMENTS) -// write_byte(entity index of player) +/** + * + * + * @note + * write_byte(TE_KILLPLAYERATTACHMENTS) + * write_byte(entity index of player) + */ +#define TE_KILLPLAYERATTACHMENTS 125 * Will expire all TENTS attached to a player. -#define TE_MULTIGUNSHOT 126 // Much more compact shotgun message -// This message is used to make a client approximate a 'spray' of gunfire. -// Any weapon that fires more than one bullet per frame and fires in a bit of a spread is -// a good candidate for MULTIGUNSHOT use. (shotguns) -// -// NOTE: This effect makes the client do traces for each bullet, these client traces ignore -// entities that have studio models.Traces are 4096 long. -// -// write_byte(TE_MULTIGUNSHOT) -// write_coord(origin.x) -// write_coord(origin.y) -// write_coord(origin.z) -// write_coord(direction.x) -// write_coord(direction.y) -// write_coord(direction.z) -// write_coord(x noise * 100) -// write_coord(y noise * 100) -// write_byte(count) -// write_byte(bullethole decal texture index) +/** + * Much more compact shotgun message + * + * @note This message is used to make a client approximate a 'spray' of gunfire. + * Any weapon that fires more than one bullet per frame and fires in a bit + * of a spread is a good candidate for MULTIGUNSHOT use. (shotguns) + * @note This effect makes the client do traces for each bullet, these client + * traces ignore entities that have studio models.Traces are 4096 long. + * @note + * write_byte(TE_MULTIGUNSHOT) + * write_coord(origin.x) + * write_coord(origin.y) + * write_coord(origin.z) + * write_coord(direction.x) + * write_coord(direction.y) + * write_coord(direction.z) + * write_coord(x noise * 100) + * write_coord(y noise * 100) + * write_byte(count) + * write_byte(bullethole decal texture index) + */ +#define TE_MULTIGUNSHOT 126 -#define TE_USERTRACER 127 // Larger message than the standard tracer, but allows some customization. -// write_byte(TE_USERTRACER) -// write_coord(origin.x) -// write_coord(origin.y) -// write_coord(origin.z) -// write_coord(velocity.x) -// write_coord(velocity.y) -// write_coord(velocity.z) -// write_byte(life * 10) -// write_byte(color) this is an index into an array of color vectors in the engine. (0 - ) -// write_byte(length * 10) -// From hltv.h from the HLSDK, these are used in conjunction with SVC_DIRECTOR -// sub commands of svc_director: +/** + * Larger message than the standard tracer, but allows some customization. + * + * @note + */ +#define TE_USERTRACER 127 + * write_byte(TE_USERTRACER) + * write_coord(origin.x) + * write_coord(origin.y) + * write_coord(origin.z) + * write_coord(velocity.x) + * write_coord(velocity.y) + * write_coord(velocity.z) + * write_byte(life * 10) + * write_byte(color) this is an index into an array of color vectors in the engine. (0 - ) + * write_byte(length * 10) + +/** + * @endsection + */ + +/** + * From hltv.h from the HLSDK, these are used in conjunction with SVC_DIRECTOR + * sub commands of svc_director + */ #define DRC_CMD_NONE 0 // NULL director command #define DRC_CMD_START 1 // start director mode #define DRC_CMD_EVENT 2 // informs about director command @@ -788,9 +1105,11 @@ enum #define DRC_CMD_LAST 12 -// HLTV_EVENT event flags +/** + * HLTV_EVENT event flags + */ #define DRC_FLAG_PRIO_MASK 0x0F // priorities between 0 and 15 (15 most important) -#define DRC_FLAG_SIDE (1<<4) // +#define DRC_FLAG_SIDE (1<<4) // #define DRC_FLAG_DRAMATIC (1<<5) // is a dramatic scene #define DRC_FLAG_SLOWMOTION (1<<6) // would look good in SloMo #define DRC_FLAG_FACEPLAYER (1<<7) // player is doning something (reload/defuse bomb etc) @@ -798,6 +1117,5 @@ enum #define DRC_FLAG_FINAL (1<<9) // is a final scene #define DRC_FLAG_NO_RANDOM (1<<10) // don't randomize event data - #define MAX_DIRECTOR_CMD_PARAMETERS 4 #define MAX_DIRECTOR_CMD_STRING 128