[Half-Life AMXX] / include / message_const.inc Repository:
ViewVC logotype

View of /include/message_const.inc

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1 - (download) (annotate)
Tue Oct 30 09:08:11 2007 UTC (16 years, 6 months ago) by ian
File size: 25292 byte(s)
/* Message constants
*
* by the AMX Mod X Development Team
*
* This file is provided as is (no warranties).
*
*/
 
#if defined _message_const_included
	#endinput
#endif
#define _message_const_included

/* 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
#define	MSG_INIT                    3        // Write to the init string
#define MSG_PVS                     4        // Ents in PVS of org
#define MSG_PAS                     5        // Ents in PAS of org
#define MSG_PVS_R                   6        // Reliable to PVS
#define MSG_PAS_R                   7        // Reliable to PAS
#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

/* Message types for message_begin() */
#define SVC_TEMPENTITY              23
#define SVC_INTERMISSION            30
#define SVC_CDTRACK                 32
#define SVC_WEAPONANIM              35
#define SVC_ROOMTYPE                37
#define SVC_ADDANGLE                38       // [vec3] add this angle to the view angle
#define SVC_NEWUSERMSG              39
#define	SVC_HLTV                    50

/* Message 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_ */
enum
{
	ARG_BYTE = 1,       /* int */
	ARG_CHAR,           /* int */
	ARG_SHORT,          /* int */
	ARG_LONG,           /* int */
	ARG_ANGLE,          /* float */
	ARG_COORD,          /* float */
	ARG_STRING,         /* string */
	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)

#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)

#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)

#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:
#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)

#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)

#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)

#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)

#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) 

#define	TE_LAVASPLASH               10       // Quake1 lava splash
// write_byte(TE_LAVASPLASH)
// write_coord(position.x)
// write_coord(position.y)
// write_coord(position.z)

#define	TE_TELEPORT                 11       // Quake1 teleport splash
// write_byte(TE_TELEPORT)
// write_coord(position.x)
// write_coord(position.y)
// write_coord(position.z)

#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)

#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)]

#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) 

#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)

#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)

#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) 

#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)

#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)

#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)

#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)

#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)

#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)

#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(life in 10's)
// write_byte(decay rate in 10's)

#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)

#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

#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)

#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)

#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)

#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)

#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)

#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)

#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)

#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)

#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)

#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)

#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???)

#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)

#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)

#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)

#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)

#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)

#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)

#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)

#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)

#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).

#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)

#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)

#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)

#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:
#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 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 )

#define TE_KILLPLAYERATTACHMENTS    125      // Will expire all TENTS attached to a player.
// write_byte(TE_KILLPLAYERATTACHMENTS)
// write_byte(entity index of 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)

#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)

Contact
ViewVC Help
Powered by ViewVC 1.0.4