From c0334deae10b20f9dc5c8a7309f3ac069a45b585 Mon Sep 17 00:00:00 2001 From: Scott Ehlert Date: Wed, 17 May 2006 19:33:45 +0000 Subject: [PATCH] Added a whole bunch of constants at29843 Some minor changes to some other inc files that aren't even worth mentioning --- plugins/include/amxconst.inc | 2 + plugins/include/fakemeta.inc | 7 +- plugins/include/fakemeta_const.inc | 12 +- plugins/include/fakemeta_stocks.inc | 2 +- plugins/include/hlsdk_const.inc | 544 +++++++++++++++++----- plugins/include/message_const.inc | 679 ++++++++++++++++++++++++++++ plugins/include/messages.inc | 23 +- 7 files changed, 1125 insertions(+), 144 deletions(-) create mode 100644 plugins/include/message_const.inc diff --git a/plugins/include/amxconst.inc b/plugins/include/amxconst.inc index 29ac69b0..138c1c06 100755 --- a/plugins/include/amxconst.inc +++ b/plugins/include/amxconst.inc @@ -11,6 +11,8 @@ #endif #define _amxconst_included +#include + #define AMXX_VERSION 1.75 #define AMXX_VERSION_NUM 175 stock const AMXX_VERSION_STR[]="1.75" diff --git a/plugins/include/fakemeta.inc b/plugins/include/fakemeta.inc index e18eecf9..a51811e0 100755 --- a/plugins/include/fakemeta.inc +++ b/plugins/include/fakemeta.inc @@ -1,6 +1,9 @@ /* FakeMeta functions - * This file is provided as-is with no warrenties. - */ +* +* by the AMX Mod X Development Team +* +* This file is provided as is (no warranties). +*/ #if defined _fakemeta_included #endinput diff --git a/plugins/include/fakemeta_const.inc b/plugins/include/fakemeta_const.inc index bbe020fa..cd4a2877 100755 --- a/plugins/include/fakemeta_const.inc +++ b/plugins/include/fakemeta_const.inc @@ -1,6 +1,10 @@ -/* Fake meta constants - * This file is provided as-is (no warrenties) - */ +/* FakeMeta constants +* +* by the AMX Mod X Development Team +* +* This file is provided as is (no warranties). +*/ + #if defined _fakemeta_const_included #endinput #endif @@ -328,7 +332,7 @@ enum { pev_absolute_end }; -/* Used with get_global() +/* Used with global_get() */ enum { diff --git a/plugins/include/fakemeta_stocks.inc b/plugins/include/fakemeta_stocks.inc index 61dbca2a..48e96910 100755 --- a/plugins/include/fakemeta_stocks.inc +++ b/plugins/include/fakemeta_stocks.inc @@ -1,4 +1,4 @@ -/* Fakemeta stocks +/* FakeMeta stocks * * by the AMX Mod X Development Team * diff --git a/plugins/include/hlsdk_const.inc b/plugins/include/hlsdk_const.inc index 3e78d01d..3e222550 100644 --- a/plugins/include/hlsdk_const.inc +++ b/plugins/include/hlsdk_const.inc @@ -1,140 +1,434 @@ -/** - * These are defines from HLSDK - */ +/* Half-Life Software Development Kit constants +* +* by the AMX Mod X Development Team +* +* This file is provided as is (no warranties). +* +*/ #if defined _hlsdk_const_included - #endinput + #endinput #endif #define _hlsdk_const_included -#define IN_ATTACK (1<<0) -#define IN_JUMP (1<<1) -#define IN_DUCK (1<<2) -#define IN_FORWARD (1<<3) -#define IN_BACK (1<<4) -#define IN_USE (1<<5) -#define IN_CANCEL (1<<6) -#define IN_LEFT (1<<7) -#define IN_RIGHT (1<<8) -#define IN_MOVELEFT (1<<9) -#define IN_MOVERIGHT (1<<10) -#define IN_ATTACK2 (1<<11) -#define IN_RUN (1<<12) -#define IN_RELOAD (1<<13) -#define IN_ALT1 (1<<14) -#define IN_SCORE (1<<15) +// pev(entity, pev_button) or pev(entity, pev_oldbuttons) values +#define IN_ATTACK (1<<0) +#define IN_JUMP (1<<1) +#define IN_DUCK (1<<2) +#define IN_FORWARD (1<<3) +#define IN_BACK (1<<4) +#define IN_USE (1<<5) +#define IN_CANCEL (1<<6) +#define IN_LEFT (1<<7) +#define IN_RIGHT (1<<8) +#define IN_MOVELEFT (1<<9) +#define IN_MOVERIGHT (1<<10) +#define IN_ATTACK2 (1<<11) +#define IN_RUN (1<<12) +#define IN_RELOAD (1<<13) +#define IN_ALT1 (1<<14) +#define IN_SCORE (1<<15) // Used by client.dll for when scoreboard is held down -#define FL_FLY (1<<0) /* Changes the SV_Movestep() behavior to not need to be on ground */ -#define FL_SWIM (1<<1) /* Changes the SV_Movestep() behavior to not need to be on ground (but stay in water) */ -#define FL_CONVEYOR (1<<2) -#define FL_CLIENT (1<<3) -#define FL_INWATER (1<<4) -#define FL_MONSTER (1<<5) -#define FL_GODMODE (1<<6) -#define FL_NOTARGET (1<<7) -#define FL_SKIPLOCALHOST (1<<8) /* Don't send entity to local host, it's predicting this entity itself */ -#define FL_ONGROUND (1<<9) /* At rest / on the ground */ -#define FL_PARTIALGROUND (1<<10) /* not all corners are valid */ -#define FL_WATERJUMP (1<<11) /* player jumping out of water */ -#define FL_FROZEN (1<<12) /* Player is frozen for 3rd person camera */ -#define FL_FAKECLIENT (1<<13) /* JAC: fake client, simulated server side; don't send network messages to them */ -#define FL_DUCKING (1<<14) /* Player flag -- Player is fully crouched */ -#define FL_FLOAT (1<<15) /* Apply floating force to this entity when in water */ -#define FL_GRAPHED (1<<16) /* worldgraph has this ent listed as something that blocks a connection */ -#define FL_IMMUNE_WATER (1<<17) -#define FL_IMMUNE_SLIME (1<<18) -#define FL_IMMUNE_LAVA (1<<19) -#define FL_PROXY (1<<20) /* This is a spectator proxy */ -#define FL_ALWAYSTHINK (1<<21) /* Brush model flag -- call think every frame regardless of nextthink - ltime (for constantly changing velocity/path) */ -#define FL_BASEVELOCITY (1<<22) /* Base velocity has been applied this frame (used to convert base velocity into momentum) */ -#define FL_MONSTERCLIP (1<<23) /* Only collide in with monsters who have FL_MONSTERCLIP set */ -#define FL_ONTRAIN (1<<24) /* Player is _controlling_ a train, so movement commands should be ignored on client during prediction. */ -#define FL_WORLDBRUSH (1<<25) /* Not moveable/removeable brush entity (really part of the world, but represented as an entity for transparency or something) */ -#define FL_SPECTATOR (1<<26) /* This client is a spectator, don't run touch functions, etc. */ -#define FL_CUSTOMENTITY (1<<29) /* This is a custom entity */ -#define FL_KILLME (1<<30) /* This entity is marked for death -- This allows the engine to kill ents at the appropriate time */ -#define FL_DORMANT (1<<31) /* Entity is dormant, no updates to client */ +// pev(entity, pev_flags) values +#define FL_FLY (1<<0) // Changes the SV_Movestep() behavior to not need to be on ground +#define FL_SWIM (1<<1) // Changes the SV_Movestep() behavior to not need to be on ground (but stay in water) +#define FL_CONVEYOR (1<<2) +#define FL_CLIENT (1<<3) +#define FL_INWATER (1<<4) +#define FL_MONSTER (1<<5) +#define FL_GODMODE (1<<6) +#define FL_NOTARGET (1<<7) +#define FL_SKIPLOCALHOST (1<<8) // Don't send entity to local host, it's predicting this entity itself +#define FL_ONGROUND (1<<9) // At rest / on the ground +#define FL_PARTIALGROUND (1<<10) // Not all corners are valid +#define FL_WATERJUMP (1<<11) // Player jumping out of water +#define FL_FROZEN (1<<12) // Player is frozen for 3rd person camera +#define FL_FAKECLIENT (1<<13) // JAC: fake client, simulated server side; don't send network messages to them +#define FL_DUCKING (1<<14) // Player flag -- Player is fully crouched +#define FL_FLOAT (1<<15) // Apply floating force to this entity when in water +#define FL_GRAPHED (1<<16) // Worldgraph has this ent listed as something that blocks a connection +#define FL_IMMUNE_WATER (1<<17) +#define FL_IMMUNE_SLIME (1<<18) +#define FL_IMMUNE_LAVA (1<<19) +#define FL_PROXY (1<<20) // This is a spectator proxy +#define FL_ALWAYSTHINK (1<<21) // Brush model flag -- call think every frame regardless of nextthink - ltime (for constantly changing velocity/path) +#define FL_BASEVELOCITY (1<<22) // Base velocity has been applied this frame (used to convert base velocity into momentum) +#define FL_MONSTERCLIP (1<<23) // Only collide in with monsters who have FL_MONSTERCLIP set +#define FL_ONTRAIN (1<<24) // Player is _controlling_ a train, so movement commands should be ignored on client during prediction. +#define FL_WORLDBRUSH (1<<25) // Not moveable/removeable brush entity (really part of the world, but represented as an entity for transparency or something) +#define FL_SPECTATOR (1<<26) // This client is a spectator, don't run touch functions, etc. +#define FL_CUSTOMENTITY (1<<29) // This is a custom entity +#define FL_KILLME (1<<30) // This entity is marked for death -- This allows the engine to kill ents at the appropriate time +#define FL_DORMANT (1<<31) // Entity is dormant, no updates to client -#define SOLID_NOT 0 /* no interaction with other objects */ -#define SOLID_TRIGGER 1 /* touch on edge, but not blocking */ -#define SOLID_BBOX 2 /* touch on edge, block */ -#define SOLID_SLIDEBOX 3 /* touch on edge, but not an onground */ -#define SOLID_BSP 4 /* bsp clip, touch on edge, block */ +// engfunc(EngFunc_WalkMove, entity, Float:yaw, Float:dist, iMode) iMode values +#define WALKMOVE_NORMAL 0 // Normal walkmove +#define WALKMOVE_WORLDONLY 1 // Doesn't hit ANY entities, no matter what the solid type +#define WALKMOVE_CHECKONLY 2 // Move, but don't touch triggers -#define MOVETYPE_NONE 0 /* never moves */ -#define MOVETYPE_ANGLENOCLIP 1 -#define MOVETYPE_ANGLECLIP 2 -#define MOVETYPE_WALK 3 /* Player only - moving on the ground */ -#define MOVETYPE_STEP 4 /* gravity, special edge handling -- monsters use this */ -#define MOVETYPE_FLY 5 /* No gravity, but still collides with stuff */ -#define MOVETYPE_TOSS 6 /* gravity/collisions */ -#define MOVETYPE_PUSH 7 /* no clip to world, push and crush */ -#define MOVETYPE_NOCLIP 8 /* No gravity, no collisions, still do velocity/avelocity */ -#define MOVETYPE_FLYMISSILE 9 /* extra size to monsters */ -#define MOVETYPE_BOUNCE 10 /* Just like Toss, but reflect velocity when contacting surfaces */ -#define MOVETYPE_BOUNCEMISSILE 11 /* bounce w/o gravity */ -#define MOVETYPE_FOLLOW 12 /* track movement of aiment */ -#define MOVETYPE_PUSHSTEP 13 /* BSP model that needs physics/world collisions (uses nearest hull for world collision) */ +// pev(entity, pev_movetype) values +#define MOVETYPE_NONE 0 // Never moves +#define MOVETYPE_WALK 3 // Player only - moving on the ground +#define MOVETYPE_STEP 4 // Gravity, special edge handling -- monsters use this +#define MOVETYPE_FLY 5 // No gravity, but still collides with stuff +#define MOVETYPE_TOSS 6 // Gravity/Collisions +#define MOVETYPE_PUSH 7 // No clip to world, push and crush +#define MOVETYPE_NOCLIP 8 // No gravity, no collisions, still do velocity/avelocity +#define MOVETYPE_FLYMISSILE 9 // Extra size to monsters +#define MOVETYPE_BOUNCE 10 // Just like Toss, but reflect velocity when contacting surfaces +#define MOVETYPE_BOUNCEMISSILE 11 // Bounce w/o gravity +#define MOVETYPE_FOLLOW 12 // Track movement of aiment +#define MOVETYPE_PUSHSTEP 13 // BSP model that needs physics/world collisions (uses nearest hull for world collision) +// pev(entity, pev_solid) values +// NOTE: Some movetypes will cause collisions independent of SOLID_NOT/SOLID_TRIGGER when the entity moves +// SOLID only effects OTHER entities colliding with this one when they move - UGH! +#define SOLID_NOT 0 // No interaction with other objects +#define SOLID_TRIGGER 1 // Touch on edge, but not blocking +#define SOLID_BBOX 2 // Touch on edge, block +#define SOLID_SLIDEBOX 3 // Touch on edge, but not an onground +#define SOLID_BSP 4 // BSP clip, touch on edge, block -#define CONTENTS_EMPTY -1 -#define CONTENTS_SOLID -2 -#define CONTENTS_WATER -3 -#define CONTENTS_SLIME -4 -#define CONTENTS_LAVA -5 -#define CONTENTS_SKY -6 -#define CONTENTS_ORIGIN -7 /* removed at csg time */ -#define CONTENTS_CLIP -8 /* changed to contents_solid */ -#define CONTENTS_CURRENT_0 -9 -#define CONTENTS_CURRENT_90 -10 -#define CONTENTS_CURRENT_180 -11 -#define CONTENTS_CURRENT_270 -12 -#define CONTENTS_CURRENT_UP -13 -#define CONTENTS_CURRENT_DOWN -14 -#define CONTENTS_TRANSLUCENT -15 -#define CONTENTS_LADDER -16 +// pev(entity, pev_deadflag) values +#define DEAD_NO 0 // Alive +#define DEAD_DYING 1 // Playing death animation or still falling off of a ledge waiting to hit ground +#define DEAD_DEAD 2 // Dead, lying still +#define DEAD_RESPAWNABLE 3 +#define DEAD_DISCARDBODY 4 -#define DMG_GENERIC 0 /* generic damage was done */ -#define DMG_CRUSH (1<<0) /* crushed by falling or moving object */ -#define DMG_BULLET (1<<1) /* shot */ -#define DMG_SLASH (1<<2) /* cut, clawed, stabbed */ -#define DMG_BURN (1<<3) /* heat burned */ -#define DMG_FREEZE (1<<4) /* frozen */ -#define DMG_FALL (1<<5) /* fell too far */ -#define DMG_BLAST (1<<6) /* explosive blast damage */ -#define DMG_CLUB (1<<7) /* crowbar, punch, headbutt */ -#define DMG_SHOCK (1<<8) /* electric shock */ -#define DMG_SONIC (1<<9) /* sound pulse shockwave */ -#define DMG_ENERGYBEAM (1<<10) /* laser or other high energy beam */ -#define DMG_NEVERGIB (1<<12) /* with this bit OR'd in, no damage type will be able to gib victims upon death */ -#define DMG_ALWAYSGIB (1<<13) /* with this bit OR'd in, any damage type can be made to gib victims upon death */ -#define DMG_DROWN (1<<14) /* Drowning */ -/* time-based damage */ -#define DMG_TIMEBASED (~(0x3fff)) /* mask for time-based damage */ -/* TF Additions */ -#define DMG_PARALYZE (1<<15) /* slows affected creature down */ -#define DMG_NERVEGAS (1<<16) /* nerve toxins, very bad */ -#define DMG_POISON (1<<17) /* blood poisioning */ -#define DMG_RADIATION (1<<18) /* radiation exposure */ -#define DMG_DROWNRECOVER (1<<19) /* drowning recovery */ -#define DMG_ACID (1<<20) /* toxic chemicals or acid burns */ -#define DMG_SLOWBURN (1<<21) /* in an oven */ -#define DMG_SLOWFREEZE (1<<22) /* in a subzero freezer */ -#define DMG_MORTAR (1<<23) /* Hit by air raid (done to distinguish grenade from mortar) */ +// new Float:takedamage, pev(entity, pev_takedamage, takedamage) values +#define DAMAGE_NO 0.0 +#define DAMAGE_YES 1.0 +#define DAMAGE_AIM 2.0 +// pev(entity, pev_effects) values +#define EF_BRIGHTFIELD 1 // Swirling cloud of particles +#define EF_MUZZLEFLASH 2 // Single frame ELIGHT on entity attachment 0 +#define EF_BRIGHTLIGHT 4 // DLIGHT centered at entity origin +#define EF_DIMLIGHT 8 // Player flashlight +#define EF_INVLIGHT 16 // Get lighting from ceiling +#define EF_NOINTERP 32 // Don't interpolate the next frame +#define EF_LIGHT 64 // Rocket flare glow sprite +#define EF_NODRAW 128 // Don't draw entity -#define EF_BRIGHTFIELD 1 /* swirling cloud of particles */ -#define EF_MUZZLEFLASH 2 /* single frame ELIGHT on entity attachment 0 */ -#define EF_BRIGHTLIGHT 4 /* DLIGHT centered at entity origin */ -#define EF_DIMLIGHT 8 /* player flashlight */ -#define EF_INVLIGHT 16 /* get lighting from ceiling */ -#define EF_NOINTERP 32 /* don't interpolate the next frame */ -#define EF_LIGHT 64 /* rocket flare glow sprite */ -#define EF_NODRAW 128 /* don't draw entity */ +// engfunc(EngFunc_PointContents, Float:origin) return values +#define CONTENTS_EMPTY -1 +#define CONTENTS_SOLID -2 +#define CONTENTS_WATER -3 +#define CONTENTS_SLIME -4 +#define CONTENTS_LAVA -5 +#define CONTENTS_SKY -6 +#define CONTENTS_ORIGIN -7 // Removed at csg time +#define CONTENTS_CLIP -8 // Changed to contents_solid +#define CONTENTS_CURRENT_0 -9 +#define CONTENTS_CURRENT_90 -10 +#define CONTENTS_CURRENT_180 -11 +#define CONTENTS_CURRENT_270 -12 +#define CONTENTS_CURRENT_UP -13 +#define CONTENTS_CURRENT_DOWN -14 +#define CONTENTS_TRANSLUCENT -15 +#define CONTENTS_LADDER -16 +#define CONTENT_FLYFIELD -17 +#define CONTENT_GRAVITY_FLYFIELD -18 +#define CONTENT_FOG -19 -// used for tracehull -#define HULL_POINT 0 -#define HULL_HUMAN 1 -#define HULL_LARGE 2 -#define HULL_HEAD 3 +// Instant damage values for use with gmsgDamage 3rd value write_long(BIT) +#define DMG_GENERIC 0 // Generic damage was done +#define DMG_CRUSH (1<<0) // Crushed by falling or moving object +#define DMG_BULLET (1<<1) // Shot +#define DMG_SLASH (1<<2) // Cut, clawed, stabbed +#define DMG_BURN (1<<3) // Heat burned +#define DMG_FREEZE (1<<4) // Frozen +#define DMG_FALL (1<<5) // Fell too far +#define DMG_BLAST (1<<6) // Explosive blast damage +#define DMG_CLUB (1<<7) // Crowbar, punch, headbutt +#define DMG_SHOCK (1<<8) // Electric shock +#define DMG_SONIC (1<<9) // Sound pulse shockwave +#define DMG_ENERGYBEAM (1<<10) // Laser or other high energy beam +#define DMG_NEVERGIB (1<<12) // With this bit OR'd in, no damage type will be able to gib victims upon death +#define DMG_ALWAYSGIB (1<<13) // With this bit OR'd in, any damage type can be made to gib victims upon death. +#define DMG_DROWN (1<<14) // Drowning +#define DMG_PARALYZE (1<<15) // Slows affected creature down +#define DMG_NERVEGAS (1<<16) // Nerve toxins, very bad +#define DMG_POISON (1<<17) // Blood poisioning +#define DMG_RADIATION (1<<18) // Radiation exposure +#define DMG_DROWNRECOVER (1<<19) // Drowning recovery +#define DMG_ACID (1<<20) // Toxic chemicals or acid burns +#define DMG_SLOWBURN (1<<21) // In an oven +#define DMG_SLOWFREEZE (1<<22) // In a subzero freezer +#define DMG_MORTAR (1<<23) // Hit by air raid (done to distinguish grenade from mortar) +#define DMG_TIMEBASED (~(0x3fff)) // Mask for time-based damage +// The hullnumber paramater of EngFunc_TraceHull, EngFunc_TraceModel and DLLFunc_GetHullBounds +#define HULL_POINT 0 +#define HULL_HUMAN 1 +#define HULL_LARGE 2 +#define HULL_HEAD 3 + +// global_get(glb_trace_flags) +#define FTRACE_SIMPLEBOX (1<<0) // Traceline with a simple box + +// Used with get/set_es(es_handle, ES_eFlags, ...) (entity_state data structure) +#define EFLAG_SLERP 1 // Do studio interpolation of this entity + +// pev(entity, pev_spawnflags) values +// Many of these flags apply to specific entities +// func_train +#define SF_TRAIN_WAIT_RETRIGGER 1 +#define SF_TRAIN_START_ON 4 // Train is initially moving +#define SF_TRAIN_PASSABLE 8 // Train is not solid -- used to make water trains + +// func_wall_toggle +#define SF_WALL_START_OFF 0x0001 + +// func_converyor +#define SF_CONVEYOR_VISUAL 0x0001 +#define SF_CONVEYOR_NOTSOLID 0x0002 + +// func_button +#define SF_BUTTON_DONTMOVE 1 +#define SF_BUTTON_TOGGLE 32 // Button stays pushed until reactivated +#define SF_BUTTON_SPARK_IF_OFF 64 // Button sparks in OFF state +#define SF_BUTTON_TOUCH_ONLY 256 // Button only fires as a result of USE key. + +// func_rot_button +#define SF_ROTBUTTON_NOTSOLID 1 + +// env_global +#define SF_GLOBAL_SET 1 // Set global state to initial state on spawn + +// multisource +#define SF_MULTI_INIT 1 + +// momentary_rot_button +#define SF_MOMENTARY_DOOR 0x0001 + +// button_target +#define SF_BTARGET_USE 0x0001 +#define SF_BTARGET_ON 0x0002 + +// func_door, func_water, func_door_rotating, momementary_door +#define SF_DOOR_ROTATE_Y 0 +#define SF_DOOR_START_OPEN 1 +#define SF_DOOR_ROTATE_BACKWARDS 2 +#define SF_DOOR_PASSABLE 8 +#define SF_DOOR_ONEWAY 16 +#define SF_DOOR_NO_AUTO_RETURN 32 +#define SF_DOOR_ROTATE_Z 64 +#define SF_DOOR_ROTATE_X 128 +#define SF_DOOR_USE_ONLY 256 // Door must be opened by player's use button +#define SF_DOOR_NOMONSTERS 512 // Monster can't open +#define SF_DOOR_SILENT 0x80000000 + +// gibshooter +#define SF_GIBSHOOTER_REPEATABLE 1 // Allows a gibshooter to be refired + +// env_funnel +#define SF_FUNNEL_REVERSE 1 // Funnel effect repels particles instead of attracting them + +// env_bubbles +#define SF_BUBBLES_STARTOFF 0x0001 + +// env_blood +#define SF_BLOOD_RANDOM 0x0001 +#define SF_BLOOD_STREAM 0x0002 +#define SF_BLOOD_PLAYER 0x0004 +#define SF_BLOOD_DECAL 0x0008 + +// env_shake +#define SF_SHAKE_EVERYONE 0x0001 // Don't check radius +#define SF_SHAKE_DISRUPT 0x0002 // Disrupt controls +#define SF_SHAKE_INAIR 0x0004 // Shake players in air + +// env_fade +#define SF_FADE_IN 0x0001 // Fade in, not out +#define SF_FADE_MODULATE 0x0002 // Modulate, don't blend +#define SF_FADE_ONLYONE 0x0004 + +// env_beam, env_lightning +#define SF_BEAM_STARTON 0x0001 +#define SF_BEAM_TOGGLE 0x0002 +#define SF_BEAM_RANDOM 0x0004 +#define SF_BEAM_RING 0x0008 +#define SF_BEAM_SPARKSTART 0x0010 +#define SF_BEAM_SPARKEND 0x0020 +#define SF_BEAM_DECALS 0x0040 +#define SF_BEAM_SHADEIN 0x0080 +#define SF_BEAM_SHADEOUT 0x0100 +#define SF_BEAM_TEMPORARY 0x8000 + +// env_sprite +#define SF_SPRITE_STARTON 0x0001 +#define SF_SPRITE_ONCE 0x0002 +#define SF_SPRITE_TEMPORARY 0x8000 + +// env_message +#define SF_MESSAGE_ONCE 0x0001 // Fade in, not out +#define SF_MESSAGE_ALL 0x0002 // Send to all clients + +// env_explosion +#define SF_ENVEXPLOSION_NODAMAGE (1<<0) // When set, ENV_EXPLOSION will not actually inflict damage +#define SF_ENVEXPLOSION_REPEATABLE (1<<1) // Can this entity be refired? +#define SF_ENVEXPLOSION_NOFIREBALL (1<<2) // Don't draw the fireball +#define SF_ENVEXPLOSION_NOSMOKE (1<<3) // Don't draw the smoke +#define SF_ENVEXPLOSION_NODECAL (1<<4) // Don't make a scorch mark +#define SF_ENVEXPLOSION_NOSPARKS (1<<5) // Don't make a scorch mark + +// func_tank +#define SF_TANK_ACTIVE 0x0001 +#define SF_TANK_PLAYER 0x0002 +#define SF_TANK_HUMANS 0x0004 +#define SF_TANK_ALIENS 0x0008 +#define SF_TANK_LINEOFSIGHT 0x0010 +#define SF_TANK_CANCONTROL 0x0020 +#define SF_TANK_SOUNDON 0x8000 + +// grenade +#define SF_DETONATE 0x0001 + +// item_suit +#define SF_SUIT_SHORTLOGON 0x0001 + +// game_score +#define SF_SCORE_NEGATIVE 0x0001 +#define SF_SCORE_TEAM 0x0002 + +// game_text +#define SF_ENVTEXT_ALLPLAYERS 0x0001 + +// game_team_master +#define SF_TEAMMASTER_FIREONCE 0x0001 +#define SF_TEAMMASTER_ANYTEAM 0x0002 + +// game_team_set +#define SF_TEAMSET_FIREONCE 0x0001 +#define SF_TEAMSET_CLEARTEAM 0x0002 + +// game_player_hurt +#define SF_PKILL_FIREONCE 0x0001 + +// game_counter +#define SF_GAMECOUNT_FIREONCE 0x0001 +#define SF_GAMECOUNT_RESET 0x0002 + +// game_player_equip +#define SF_PLAYEREQUIP_USEONLY 0x0001 + +// game_player_team +#define SF_PTEAM_FIREONCE 0x0001 +#define SF_PTEAM_KILL 0x0002 +#define SF_PTEAM_GIB 0x0004 + +// func_trackchange +#define SF_PLAT_TOGGLE 0x0001 +#define SF_TRACK_ACTIVATETRAIN 0x00000001 +#define SF_TRACK_RELINK 0x00000002 +#define SF_TRACK_ROTMOVE 0x00000004 +#define SF_TRACK_STARTBOTTOM 0x00000008 +#define SF_TRACK_DONT_MOVE 0x00000010 + +// func_tracktrain +#define SF_TRACKTRAIN_NOPITCH 0x0001 +#define SF_TRACKTRAIN_NOCONTROL 0x0002 +#define SF_TRACKTRAIN_FORWARDONLY 0x0004 +#define SF_TRACKTRAIN_PASSABLE 0x0008 +#define SF_PATH_DISABLED 0x00000001 +#define SF_PATH_FIREONCE 0x00000002 +#define SF_PATH_ALTREVERSE 0x00000004 +#define SF_PATH_DISABLE_TRAIN 0x00000008 +#define SF_PATH_ALTERNATE 0x00008000 +#define SF_CORNER_WAITFORTRIG 0x001 +#define SF_CORNER_TELEPORT 0x002 +#define SF_CORNER_FIREONCE 0x004 + +// trigger_push +#define SF_TRIGGER_PUSH_START_OFF 2 // Spawnflag that makes trigger_push spawn turned OFF + +// trigger_hurt +#define SF_TRIGGER_HURT_TARGETONCE 1 // Only fire hurt target once +#define SF_TRIGGER_HURT_START_OFF 2 // Spawnflag that makes trigger_push spawn turned OFF +#define SF_TRIGGER_HURT_NO_CLIENTS 8 // Spawnflag that makes trigger_push spawn turned OFF +#define SF_TRIGGER_HURT_CLIENTONLYFIRE 16 // Trigger hurt will only fire its target if it is hurting a client +#define SF_TRIGGER_HURT_CLIENTONLYTOUCH 32 // Only clients may touch this trigger + +// trigger_auto +#define SF_AUTO_FIREONCE 0x0001 + +// trigger_relay +#define SF_RELAY_FIREONCE 0x0001 + +// multi_manager +#define SF_MULTIMAN_CLONE 0x80000000 +#define SF_MULTIMAN_THREAD 0x00000001 + +// env_render - Flags to indicate masking off various render parameters that are normally copied to the targets +#define SF_RENDER_MASKFX (1<<0) +#define SF_RENDER_MASKAMT (1<<1) +#define SF_RENDER_MASKMODE (1<<2) +#define SF_RENDER_MASKCOLOR (1<<3) + +// trigger_changelevel +#define SF_CHANGELEVEL_USEONLY 0x0002 + +// trigger_endsection +#define SF_ENDSECTION_USEONLY 0x0001 + +// trigger_camera +#define SF_CAMERA_PLAYER_POSITION 1 +#define SF_CAMERA_PLAYER_TARGET 2 +#define SF_CAMERA_PLAYER_TAKECONTROL 4 + +// func_rotating +#define SF_BRUSH_ROTATE_Y_AXIS 0 +#define SF_BRUSH_ROTATE_INSTANT 1 +#define SF_BRUSH_ROTATE_BACKWARDS 2 +#define SF_BRUSH_ROTATE_Z_AXIS 4 +#define SF_BRUSH_ROTATE_X_AXIS 8 +#define SF_PENDULUM_AUTO_RETURN 16 +#define SF_PENDULUM_PASSABLE 32 +#define SF_BRUSH_ROTATE_SMALLRADIUS 128 +#define SF_BRUSH_ROTATE_MEDIUMRADIUS 256 +#define SF_BRUSH_ROTATE_LARGERADIUS 512 + +// triggers +#define SF_TRIGGER_ALLOWMONSTERS 1 // Monsters allowed to fire this trigger +#define SF_TRIGGER_NOCLIENTS 2 // Players not allowed to fire this trigger +#define SF_TRIGGER_PUSHABLES 4 // Only pushables can fire this trigger + +#define SF_TRIG_PUSH_ONCE 1 +// func_breakable +#define SF_BREAK_TRIGGER_ONLY 1 // May only be broken by trigger +#define SF_BREAK_TOUCH 2 // Can be 'crashed through' by running player (plate glass) +#define SF_BREAK_PRESSURE 4 // Can be broken by a player standing on it +#define SF_BREAK_CROWBAR 256 // Instant break if hit with crowbar + +// func_pushable (it's also func_breakable, so don't collide with those flags) +#define SF_PUSH_BREAKABLE 128 + +// light_spawn +#define SF_LIGHT_START_OFF 1 +#define SPAWNFLAG_NOMESSAGE 1 +#define SPAWNFLAG_NOTOUCH 1 +#define SPAWNFLAG_DROIDONLY 4 +#define SPAWNFLAG_USEONLY 1 // Can't be touched, must be used (buttons) + +// Monster Spawnflags +#define SF_MONSTER_WAIT_TILL_SEEN 1 // Spawnflag that makes monsters wait until player can see them before attacking +#define SF_MONSTER_GAG 2 // No idle noises from this monster +#define SF_MONSTER_HITMONSTERCLIP 4 +#define SF_MONSTER_PRISONER 16 // Monster won't attack anyone, no one will attacke him +#define SF_MONSTER_WAIT_FOR_SCRIPT 128 // Spawnflag that makes monsters wait to check for attacking until the script is done or they've been attacked +#define SF_MONSTER_PREDISASTER 256 // This is a predisaster scientist or barney; influences how they speak +#define SF_MONSTER_FADECORPSE 512 // Fade out corpse after death +#define SF_MONSTER_FALL_TO_GROUND 0x80000000 +#define SF_MONSTER_TURRET_AUTOACTIVATE 32 +#define SF_MONSTER_TURRET_STARTINACTIVE 64 +#define SF_MONSTER_WAIT_UNTIL_PROVOKED 64 // Don't attack the player unless provoked + +// info_decal +#define SF_DECAL_NOTINDEATHMATCH 2048 + +// worldspawn +#define SF_WORLD_DARK 0x0001 // Fade from black at startup +#define SF_WORLD_TITLE 0x0002 // Display game title at startup +#define SF_WORLD_FORCETEAM 0x0004 // Force teams diff --git a/plugins/include/message_const.inc b/plugins/include/message_const.inc new file mode 100644 index 00000000..756b256c --- /dev/null +++ b/plugins/include/message_const.inc @@ -0,0 +1,679 @@ +/* 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 + +#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) + +#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(brightness) +// 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_byte(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) diff --git a/plugins/include/messages.inc b/plugins/include/messages.inc index 35c9a35b..5e13c9b6 100644 --- a/plugins/include/messages.inc +++ b/plugins/include/messages.inc @@ -10,21 +10,20 @@ #endif #define _coremsg_included - -#define BLOCK_NOT 0 -#define BLOCK_ONCE 1 -#define BLOCK_SET 2 +#define BLOCK_NOT 0 +#define BLOCK_ONCE 1 +#define BLOCK_SET 2 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 */ + 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 */ } /* Sets/Gets what engine messages are blocked. */