diff --git a/make_mapdef.sh b/make_mapdef.sh index 541622ed..ce90486d 100755 --- a/make_mapdef.sh +++ b/make_mapdef.sh @@ -13,7 +13,9 @@ ent_for_mod() echo "Scanning for definitions inside the game directory." find ./$1/src/ -type f \( -iname \*.qc \) | while read EDEF_N; do echo "... $EDEF_N" - sed -n '/\/*QUAKED/,/*\//p' $EDEF_N >> "$ENT_OUTFILE" + sed -n '/\/*!QUAKED/,/*\//p' $EDEF_N >> "$ENT_OUTFILE" + # fix doxygen markup + sed -i 's/*!QUAKED/*QUAKED/g' "$ENT_OUTFILE" done; cat ./platform/entities.def >> $ENT_OUTFILE @@ -26,7 +28,9 @@ echo '' > "$BASE_ENT" echo "Scanning for definitions inside the general entity codebase." find ./src/gs-entbase/ -type f \( -iname \*.qc \) | while read EDEF_N; do echo "... $EDEF_N" - sed -n '/\/*QUAKED/,/*\//p' $EDEF_N >> "$BASE_ENT" + sed -n '/\/*!QUAKED/,/*\//p' $EDEF_N >> "$BASE_ENT" + # fix doxygen markup + sed -i 's/*!QUAKED/*QUAKED/g' "$BASE_ENT" done; # each game gets its own ents + general purpose ents appended at the end diff --git a/src/gs-entbase/client/env_cubemap.qc b/src/gs-entbase/client/env_cubemap.qc index 303347e0..010baaab 100644 --- a/src/gs-entbase/client/env_cubemap.qc +++ b/src/gs-entbase/client/env_cubemap.qc @@ -14,17 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED env_cubemap (0 0 1) (-8 -8 -8) (8 8 8) -Specifies a location for which a cubemap will be generated when the -buildcubemaps console command is executed. - --------- KEYS -------- -"scale" : Texture dimension at which to render the cubemap. Default is "32". - --------- TRIVIA -------- -This entity was introduced in Half-Life 2 (2004). -*/ - int g_iCubeProcess; entity g_eCubeCycle; vector g_vecCubePos; @@ -33,6 +22,17 @@ float g_dCubeSize; void CMap_Check(void); void CMap_Shoot(void); +/*!QUAKED env_cubemap (0 0 1) (-8 -8 -8) (8 8 8) +# OVERVIEW +Specifies a location for which a cubemap will be generated when the +buildcubemaps console command is executed. + +# KEYS +- "scale" : Texture dimension at which to render the cubemap. Default is "32". + +# TRIVIA +This entity was introduced in Half-Life 2 (2004). +*/ class env_cubemap:NSEntity { diff --git a/src/gs-entbase/client/env_glow.qc b/src/gs-entbase/client/env_glow.qc index edcaa7c5..2bc9d7bc 100644 --- a/src/gs-entbase/client/env_glow.qc +++ b/src/gs-entbase/client/env_glow.qc @@ -14,24 +14,27 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED env_glow (0 0.5 1) (-8 -8 -8) (8 8 8) EVGLOW_ORIENT -Client-side glare/glow orb effect like the flares in 1997's Unreal. - --------- KEYS -------- -"shader" : Material to use for the glare/glow effect. -"model" : Sprite model to use for the glare/glow (idTech 2 BSPs only) -"scale" : Scale multiplier. -"rendercolor" : Material color override in RGB8. -"renderamt" : Material alpha override in A8. - --------- TRIVIA -------- -This entity was introduced in Half-Life (1998). -*/ - var int autocvar_r_skipGlows = 0; var int autocvar_r_skipLensFlares = 0; -class env_glow:NSEntity /* change to renderablentity? */ +/*!QUAKED env_glow (0 0.5 1) (-8 -8 -8) (8 8 8) EVGLOW_ORIENT +# OVERVIEW +Client-side glare/glow orb effect like the flares in 1997's Unreal. + +# KEYS +- "shader" : Material to use for the glare/glow effect. +- "model" : Sprite model to use for the glare/glow (idTech 2 BSPs only) +- "scale" : Scale multiplier. +- "rendercolor" : Material color override in RGB8. +- "renderamt" : Material alpha override in A8. + +# SPAWNFLAGS +- EVGLOW_ORIENT (1) : TODO: Glow is an oriented sprite when set. + +# TRIVIA +This entity was introduced in Half-Life (1998). +*/ +class env_glow:NSEntity /* TODO: change to renderablentity? */ { public: void env_glow(void); diff --git a/src/gs-entbase/client/env_particle.qc b/src/gs-entbase/client/env_particle.qc index 76fa94ee..d188a1b3 100644 --- a/src/gs-entbase/client/env_particle.qc +++ b/src/gs-entbase/client/env_particle.qc @@ -14,21 +14,21 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED env_particle (1 0 0) (-8 -8 -8) (8 8 8) +/*!QUAKED env_particle (1 0 0) (-8 -8 -8) (8 8 8) +# OVERVIEW Client-side particle effect. Active at runtime, fully client-side. Cannot be triggered. Repeats automatically. --------- KEYS -------- -"message" : Particle material to use. -"wait" : Delay between emits. -"target" : Name of target, like an info_notnull (client-side) -"velocity" : Speed in units. -"count" : Number of particles to emit. +# KEYS +- "message" : Particle material to use. +- "wait" : Delay between emits. +- "target" : Name of target, like an info_notnull (client-side) +- "velocity" : Speed in units. +- "count" : Number of particles to emit. --------- TRIVIA -------- +# TRIVIA This entity was introduced in The Wastes (2018). */ - class env_particle:NSEntity { public: diff --git a/src/gs-entbase/client/env_sound.qc b/src/gs-entbase/client/env_sound.qc index b8e121e4..13dfbb48 100644 --- a/src/gs-entbase/client/env_sound.qc +++ b/src/gs-entbase/client/env_sound.qc @@ -17,21 +17,6 @@ /* this is causing crashes on OpenAL 1.19.1 when enabled */ //#define DSP_LERP -/*QUAKED env_sound (0 1 0.5) (-8 -8 -8) (8 8 8) -Client-side environmental reverb modifier. - --------- KEYS -------- -"radius" : Radius in units. -"efx_file" : Name of the OpenAL EFX definiton to use. -"roomtype" : Legacy enumeration for GoldSrc support. Please don't use this. - --------- NOTES -------- -This works only with the OpenAL sound backend. - --------- TRIVIA -------- -This entity was introduced in Half-Life (1998). -*/ - static string g_hlefx[] = { "default", "gs_generic", @@ -64,6 +49,21 @@ static string g_hlefx[] = { "gs_weirdo3" }; +/*!QUAKED env_sound (0 1 0.5) (-8 -8 -8) (8 8 8) +# OVERVIEW +Client-side environmental reverb modifier. + +# KEYS +- "radius" : Radius in units. +- "efx_file" : Name of the OpenAL EFX definiton to use. +- "roomtype" : Legacy enumeration for GoldSrc support. Please don't use this. + +# NOTES +This works only with the OpenAL sound backend. + +# TRIVIA +This entity was introduced in Half-Life (1998). +*/ class env_sound:NSEntity { public: diff --git a/src/gs-entbase/client/env_soundscape.qc b/src/gs-entbase/client/env_soundscape.qc index 2a9800f8..d920e1c6 100644 --- a/src/gs-entbase/client/env_soundscape.qc +++ b/src/gs-entbase/client/env_soundscape.qc @@ -14,21 +14,21 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED env_soundscape (0 1 0.3) (-8 -8 -8) (8 8 8) -Client-side environmental soundscape modifier. - --------- KEYS -------- -"radius" : Radius in units. -"shader" : Sound shader to play. - --------- TRIVIA -------- -This entity was introduced in Half-Life 2 (2004). -*/ - var int autocvar_dsp_soundscapes = TRUE; int g_scapes; +/*!QUAKED env_soundscape (0 1 0.3) (-8 -8 -8) (8 8 8) +# OVERVIEW +Client-side environmental soundscape modifier. + +# KEYS +- "radius" : Radius in units. +- "shader" : Sound shader to play. + +# TRIVIA +This entity was introduced in Half-Life 2 (2004). +*/ class env_soundscape:NSEntity { public: diff --git a/src/gs-entbase/client/env_sun.qc b/src/gs-entbase/client/env_sun.qc index b933ccf6..e027c9fe 100644 --- a/src/gs-entbase/client/env_sun.qc +++ b/src/gs-entbase/client/env_sun.qc @@ -16,18 +16,6 @@ int trace_surfaceflagsi; -/*QUAKED env_sun (1 0 0) (-8 -8 -8) (8 8 8) -"targetname" : Name -"pitch" : Sun glow pitch. -"angle" : Sun glow angle. -"use_angles" : Use the 'angles' yaw value instead of the one from 'angle'. - -STUB! - --------- TRIVIA -------- -This entity was introduced in Half-Life 2 (2004). -*/ - #define FLARE_SIZE [128,128] int @@ -44,6 +32,19 @@ Util_IsSky(vector pos) return (0); } +/*!QUAKED env_sun (1 0 0) (-8 -8 -8) (8 8 8) +# OVERVIEW +Visual representation of where the sun is positioned in the sky. + +# KEYS +- "targetname" : Name +- "pitch" : Sun glow pitch. +- "angle" : Sun glow angle. +- "use_angles" : Use the 'angles' yaw value instead of the one from 'angle'. + +# TRIVIA +This entity was introduced in Half-Life 2 (2004). +*/ class env_sun:NSEntity { public: diff --git a/src/gs-entbase/client/func_dustcloud.qc b/src/gs-entbase/client/func_dustcloud.qc index 2c5f548a..a3149d95 100644 --- a/src/gs-entbase/client/func_dustcloud.qc +++ b/src/gs-entbase/client/func_dustcloud.qc @@ -14,19 +14,19 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED func_dustcloud (0 .5 .8) ? +/*!QUAKED func_dustcloud (0 .5 .8) ? +# OVERVIEW Dust cloud emitting brush volume. --------- KEYS -------- -"count" : Number of cloud particles that will float around on average. -"Alpha" : Transparency of the clouds. Value from 0 to 255. -"SizeMin" : Minimum size of each cloud. In Quake units. -"SizeMax" : Maximum size of each cloud. In Quake units. +# KEYS +- "count" : Number of cloud particles that will float around on average. +- "Alpha" : Transparency of the clouds. Value from 0 to 255. +- "SizeMin" : Minimum size of each cloud. In Quake units. +- "SizeMax" : Maximum size of each cloud. In Quake units. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life 2 (2004). */ - class func_dustcloud:NSEntity { public: diff --git a/src/gs-entbase/client/func_dustmotes.qc b/src/gs-entbase/client/func_dustmotes.qc index ec43a224..a3d66d0c 100644 --- a/src/gs-entbase/client/func_dustmotes.qc +++ b/src/gs-entbase/client/func_dustmotes.qc @@ -14,16 +14,16 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED func_dustmotes (0 .5 .8) ? +/*!QUAKED func_dustmotes (0 .5 .8) ? +# OVERVIEW Dustmote emitting brush volume. --------- KEYS -------- -"count" : Number of dustmote particles that will float around on average. +# KEYS +- "count" : Number of dustmote particles that will float around on average. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life 2 (2004). */ - class func_dustmotes:NSEntity { public: diff --git a/src/gs-entbase/client/func_lod.qc b/src/gs-entbase/client/func_lod.qc index d804215c..06289687 100644 --- a/src/gs-entbase/client/func_lod.qc +++ b/src/gs-entbase/client/func_lod.qc @@ -14,23 +14,23 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED func_lod (0 .5 .8) ? -Level of Detail brush entity, disappears at a set distance. -Useful for when VIS is impossible or not enough. - --------- KEYS -------- -"targetname" : Name -"DisappearDist" : Distance in units for of when the func_lod will pop out of view. -"Solid" : Defines solidity. Is "0" when solid, "1" when not-solid. - --------- TRIVIA -------- -This entity was introduced in Half-Life 2 (2004). -*/ - #ifdef DEVELOPER var int autocvar_dev_loddistance = 0; #endif +/*!QUAKED func_lod (0 .5 .8) ? +# OVERVIEW +Level of Detail brush entity, disappears at a set distance. +Useful for when VIS is impossible or not enough. + +# KEYS +- "targetname" : Name +- "DisappearDist" : Distance in units for of when the func_lod will pop out of view. +- "Solid" : Defines solidity. Is "0" when solid, "1" when not-solid. + +# TRIVIA +This entity was introduced in Half-Life 2 (2004). +*/ class func_lod:NSRenderableEntity { public: diff --git a/src/gs-entbase/client/func_smokevolume.qc b/src/gs-entbase/client/func_smokevolume.qc index 99855170..4a0997db 100644 --- a/src/gs-entbase/client/func_smokevolume.qc +++ b/src/gs-entbase/client/func_smokevolume.qc @@ -14,20 +14,20 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED func_smokevolume (0 .5 .8) ? FULLBRIGHT +/*!QUAKED func_smokevolume (0 .5 .8) ? FULLBRIGHT +# OVERVIEW Smoke cloud emitting brush volume. --------- KEYS -------- -"ParticleDrawWidth" : Size of the particles in Quake units. -"SizeMax" : Maximum size of each cloud. In Quake units. -"Color1" : Primary color -"Color2" : Secondary color -"MaxDrawDistance" : Maximum draw distance. Set to 0 if infinite. +# KEYS +- "ParticleDrawWidth" : Size of the particles in Quake units. +- "SizeMax" : Maximum size of each cloud. In Quake units. +- "Color1" : Primary color +- "Color2" : Secondary color +- "MaxDrawDistance" : Maximum draw distance. Set to 0 if infinite. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life 2 (2004). */ - class func_smokevolume:NSEntity { public: diff --git a/src/gs-entbase/client/light_environment.qc b/src/gs-entbase/client/light_environment.qc index 6d25e112..4862b9d2 100644 --- a/src/gs-entbase/client/light_environment.qc +++ b/src/gs-entbase/client/light_environment.qc @@ -14,22 +14,23 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED light_environment (1 0 0) (-8 -8 -8) (8 8 8) ? +/*!QUAKED light_environment (1 0 0) (-8 -8 -8) (8 8 8) ? +# OVERVIEW Defines the overall ambient skylight in the map. --------- KEYS -------- -"color" : Normalized RGB color value. Default is [1,1,1] -"color255" : RGB255 color value. e.g. '255 255 255' for white -"ambientcolor" : Shadow color. Normalized RGB color value. Default is [1,1,1] -"ambientcolor255" : Shadow color. RGB255 color value. e.g. '255 255 255' for white -"intensity" : Overall intensity of the sky light. '300' is probably okay for a day level. -"sunangle" : The yaw position of the sun, basically the horizontal direction. -"pitch" : The vertical position of the sun. '-90' means straight down, '-45' is diagonal etc. -"samples" : The amount of passes onto the lightmap, this is required for spread. -"sunspreadangle" : The offset of each sample pass in degrees, basically horizontal jitter. -"filterradius" : Blur amount for each pass. This will make cloud scenes work well. +# KEYS +- "color" : Normalized RGB color value. Default is [1,1,1] +- "color255" : RGB255 color value. e.g. '255 255 255' for white +- "ambientcolor" : Shadow color. Normalized RGB color value. Default is [1,1,1] +- "ambientcolor255" : Shadow color. RGB255 color value. e.g. '255 255 255' for white +- "intensity" : Overall intensity of the sky light. '300' is probably okay for a day level. +- "sunangle" : The yaw position of the sun, basically the horizontal direction. +- "pitch" : The vertical position of the sun. '-90' means straight down, '-45' is diagonal etc. +- "samples" : The amount of passes onto the lightmap, this is required for spread. +- "sunspreadangle" : The offset of each sample pass in degrees, basically horizontal jitter. +- "filterradius" : Blur amount for each pass. This will make cloud scenes work well. --------- NOTES -------- +# NOTES Only one is effective per map. Sun light generally is white, unless the atmosphere/horizon is coloring it. The ambientcolor should generally be set to that of the skybox for the most @@ -45,7 +46,7 @@ For cloudly/overcast skies, I'd recommend setting the 'pitch' to '-45', then of at least '1'. This will ensure that the sunlight will be cast diagonally from 4 positions across the entire horizon - thus eliminating any harsh shadows. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life (1998). */ diff --git a/src/gs-entbase/client/point_message.qc b/src/gs-entbase/client/point_message.qc index 5ca6be69..48fc7a2d 100644 --- a/src/gs-entbase/client/point_message.qc +++ b/src/gs-entbase/client/point_message.qc @@ -14,21 +14,21 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED point_message (0.2 1 0.2) (-8 -8 -8) (8 8 8) +/*!QUAKED point_message (0.2 1 0.2) (-8 -8 -8) (8 8 8) +# OVERVIEW Client-side overlay/message that is projected in relation to its position in 3D space. --------- KEYS -------- -"message" : The message to display. -"radius" : The radius in which it will appear. +# KEYS +- "message" : The message to display. +- "radius" : The radius in which it will appear. --------- NOTES -------- +# NOTES Used for zoo and test maps in which less interactive overlays are desired. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life 2 (2004). */ - class point_message:NSEntity { public: diff --git a/src/gs-entbase/client/sky_camera.qc b/src/gs-entbase/client/sky_camera.qc index f99c6218..1f6de5a9 100644 --- a/src/gs-entbase/client/sky_camera.qc +++ b/src/gs-entbase/client/sky_camera.qc @@ -14,25 +14,25 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED sky_camera (1 0.3 1) (-8 -8 -8) (8 8 8) -Defines the position of a skyroom camera. - --------- KEYS -------- -"scale" : Scale modifier. Default is "16". - --------- NOTES -------- -You want to put this into a dedicated room that contains a 3D skybox. -The scale modifier is more like a divider. You want to keep these -divisable by 2 to avoid any precision funkyness. - --------- TRIVIA -------- -This entity was introduced in Half-Life 2 (2004). -*/ - var int autocvar_dev_skyscale = 0; var vector g_skypos; var int g_skyscale; +/*!QUAKED sky_camera (1 0.3 1) (-8 -8 -8) (8 8 8) +# OVERVIEW +Defines the position of a skyroom camera. + +# KEYS +- "scale" : Scale modifier. Default is "16". + +# NOTES +You want to put this into a dedicated room that contains a 3D skybox. +The scale modifier is more like a divider. You want to keep these +divisable by 2 to avoid any precision funkyness. + +# TRIVIA +This entity was introduced in Half-Life 2 (2004). +*/ class sky_camera:NSEntity { diff --git a/src/gs-entbase/server/button_target.qc b/src/gs-entbase/server/button_target.qc index ed1f9676..e2845f00 100644 --- a/src/gs-entbase/server/button_target.qc +++ b/src/gs-entbase/server/button_target.qc @@ -14,22 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED button_target (0 .5 .8) ? BUTTA_USE BUTTA_TEXON -Non-moving button that can either be used by hand, or shot. - --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered. -"delay" : Time until target is triggered. - --------- SPAWNFLAGS -------- -BUTTA_USE : Button becomes 'use' only, clients have to interact with it manually instead of shooting it. -BUTTA_TEXON : Texture choices will be inverted in case multiple frames exist. - --------- TRIVIA -------- -This entity was introduced in Quake (1996). -*/ - /** Spawnflags that button_target supports. */ typedef enumflags { @@ -37,6 +21,22 @@ typedef enumflags BUTTA_TEXON /**< Button texture starts in the **ON** state. */ } sf_button_target_t; +/*!QUAKED button_target (0 .5 .8) ? BUTTA_USE BUTTA_TEXON +# OVERVIEW +Non-moving button that can either be used by hand, or shot. + +# KEYS +- "targetname" : Name +- "target" : Target when triggered. +- "delay" : Time in seconds until target is triggered. + +# SPAWNFLAGS +- BUTTA_USE (1) : Button becomes 'use' only, clients have to interact with it manually instead of shooting it. +- BUTTA_TEXON (2) : Texture choices will be inverted in case multiple frames exist. + +# TRIVIA +This entity was introduced in Quake (1996). +*/ class button_target:NSSurfacePropEntity { @@ -46,7 +46,6 @@ public: virtual void Respawn(void); virtual void Trigger(entity,int); virtual void Damage(void); - }; void diff --git a/src/gs-entbase/server/cycler.qc b/src/gs-entbase/server/cycler.qc index b57ee8aa..0ede7bc1 100644 --- a/src/gs-entbase/server/cycler.qc +++ b/src/gs-entbase/server/cycler.qc @@ -14,25 +14,25 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED cycler (1 0 0) (-8 -8 -8) (8 8 8) +/*!QUAKED cycler (1 0 0) (-8 -8 -8) (8 8 8) +# OVERVIEW Animation cycler entity. For development purposes mainly. --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered. -"killtarget" : Target to kill when triggered. -"angles" : Sets the pitch, yaw and roll angles of the model. -"sequence" : Sets the animation the model should start in. -"model" : Model file that will be displayed by the entity. +# KEYS +- "targetname" : Name +- "target" : Target when triggered. +- "killtarget" : Target to kill when triggered. +- "angles" : Sets the pitch, yaw and roll angles of the model. +- "sequence" : Sets the animation the model should start in. +- "model" : Model file that will be displayed by the entity. --------- NOTES -------- +# NOTES Upon damage, the cycler will switch between all available animation sequences. This is really for test-maps and showroom entities. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life (1998). */ - class cycler:NSSurfacePropEntity { diff --git a/src/gs-entbase/server/cycler_sprite.qc b/src/gs-entbase/server/cycler_sprite.qc index e6c99d17..973cac19 100644 --- a/src/gs-entbase/server/cycler_sprite.qc +++ b/src/gs-entbase/server/cycler_sprite.qc @@ -14,20 +14,20 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED cycler_sprite (1 0 0) (-8 -8 -8) (8 8 8) +/*!QUAKED cycler_sprite (1 0 0) (-8 -8 -8) (8 8 8) +# OVERVIEW Decorative, does nothing yet. --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered. -"killtarget" : Target to kill when triggered. -"angles" : Sets the pitch, yaw and roll angles of the model. -"model" : Model file that will be displayed by the entity. +# KEYS +- "targetname" : Name +- "target" : Target when triggered. +- "killtarget" : Target to kill when triggered. +- "angles" : Sets the pitch, yaw and roll angles of the model. +- "model" : Model file that will be displayed by the entity. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life (1998). */ - class cycler_sprite:NSRenderableEntity { diff --git a/src/gs-entbase/server/env_beverage.qc b/src/gs-entbase/server/env_beverage.qc index 6c04baef..54aed2b3 100644 --- a/src/gs-entbase/server/env_beverage.qc +++ b/src/gs-entbase/server/env_beverage.qc @@ -14,34 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED env_beverage (1 0 0) (-8 -8 -8) (8 8 8) -Upon triggered, the entity will spawn item_food in its place in -the shape of a soda can. - --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered. -"killtarget" : Target to kill when triggered. -"health" : Amount of soda-cans that can be dispensed at maximum -"angles" : Sets the pitch, yaw and roll angles of the soda -"skin" : Sets the beverage type. Values from 0-6 are valid. Check notes. - --------- NOTES -------- -Mainly used in vending machines. You can choose a few select types of beverage. - -Beverage-list: -0 : Coca Cola -1 : Sprite -2 : Diet Coke -3 : Orange -4 : Surge -5 : Moxie -6 : Random (will pack one of the above, picked at the start of the map) - --------- TRIVIA -------- -This entity was introduced in Half-Life (1998). -*/ - /* dependency from item_food.cpp */ void item_sodacan(void); @@ -56,6 +28,34 @@ typedef enum SKIN_RANDOM } sodaskin_t; +/*!QUAKED env_beverage (1 0 0) (-8 -8 -8) (8 8 8) +# OVERVIEW +Upon triggered, the entity will spawn item_food in its place in +the shape of a soda can. + +# KEYS +- "targetname" : Name +- "target" : Target when triggered. +- "killtarget" : Target to kill when triggered. +- "health" : Amount of soda-cans that can be dispensed at maximum +- "angles" : Sets the pitch, yaw and roll angles of the soda +- "skin" : Sets the beverage type. Values from 0-6 are valid. Check notes. + +# NOTES +Mainly used in vending machines. You can choose a few select types of beverage. + +Beverage-list: + - 0 : Coca Cola + - 1 : Sprite + - 2 : Diet Coke + - 3 : Orange + - 4 : Surge + - 5 : Moxie + - 6 : Random (will pack one of the above, picked at the start of the map) + +# TRIVIA +This entity was introduced in Half-Life (1998). +*/ class env_beverage:NSRenderableEntity { diff --git a/src/gs-entbase/server/env_explosion.qc b/src/gs-entbase/server/env_explosion.qc index 645caa80..17b7db82 100644 --- a/src/gs-entbase/server/env_explosion.qc +++ b/src/gs-entbase/server/env_explosion.qc @@ -14,27 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED env_explosion (1 0 0) (-8 -8 -8) (8 8 8) ENVEXPLO_NODAMAGE ENVEXPLO_REPEATABLE ENVEXPLO_NOBALL ENVEXPLO_NOSMOKE ENVEXPLO_NODECAL ENVEXPLO_NOSPARKS -When triggered, creates an explosion at its location. - --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered. -"killtarget" : Target to kill when triggered. -"iMagnitude" : Magnitude of the explosion. - --------- SPAWNFLAGS -------- -ENVEXPLO_NODAMAGE : Make this explosion purely decorative, without radius damage. -ENVEXPLO_REPEATABLE : Makes this explosion triggerable more than once. -ENVEXPLO_NOBALL : Spawn no fireball. -ENVEXPLO_NOSMOKE : Spawn no smoke. -ENVEXPLO_NODECAL : Leave no decal upon explosion. -ENVEXPLO_NOSPARKS : Don't spawn any sparks upon exploding. - --------- TRIVIA -------- -This entity was introduced in Half-Life (1998). -*/ - enumflags { ENVEXPLO_NODAMAGE, @@ -45,6 +24,27 @@ enumflags ENVEXPLO_NOSPARKS }; +/*!QUAKED env_explosion (1 0 0) (-8 -8 -8) (8 8 8) ENVEXPLO_NODAMAGE ENVEXPLO_REPEATABLE ENVEXPLO_NOBALL ENVEXPLO_NOSMOKE ENVEXPLO_NODECAL ENVEXPLO_NOSPARKS +# OVERVIEW +When triggered, creates an explosion at its location. + +# KEYS +- "targetname" : Name +- "target" : Target when triggered. +- "killtarget" : Target to kill when triggered. +- "iMagnitude" : Magnitude of the explosion. + +# SPAWNFLAGS +- ENVEXPLO_NODAMAGE (1) : Make this explosion purely decorative, without radius damage. +- ENVEXPLO_REPEATABLE (2) : Makes this explosion triggerable more than once. +- ENVEXPLO_NOBALL (4) : Spawn no fireball. +- ENVEXPLO_NOSMOKE (8) : Spawn no smoke. +- ENVEXPLO_NODECAL (16) : Leave no decal upon explosion. +- ENVEXPLO_NOSPARKS (32) : Don't spawn any sparks upon exploding. + +# TRIVIA +This entity was introduced in Half-Life (1998). +*/ class env_explosion:NSPointTrigger { diff --git a/src/gs-entbase/server/env_fade.qc b/src/gs-entbase/server/env_fade.qc index 9fc8daa6..a6cf8539 100644 --- a/src/gs-entbase/server/env_fade.qc +++ b/src/gs-entbase/server/env_fade.qc @@ -14,27 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED env_fade (0 0 0) (-8 -8 -8) (8 8 8) EVF_FADEDROM EVF_MODULATE EVF_ONLYUSER -Overlay that blinds/obscures players vision when triggered. - --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered. -"killtarget" : Target to kill when triggered. -"rendercolor" : RGB8 Color of the fade effect. -"renderamt" : A8 alpha value we'll hit at max. -"duration" : Duration of the effect in seconds. -"holdtime" : How long we'll hold on the max color/alpha. - --------- SPAWNFLAGS -------- -EVF_FADEDROM : Inverts the fading animation. -EVF_MODULATE : Modulate tints the image after "rendercolor" instead of obscuring it. -EVF_ONLYUSER : Don't blind everyone, just the activator. - --------- TRIVIA -------- -This entity was introduced in Half-Life (1998). -*/ - enumflags { EVF_FADEDROM, @@ -42,6 +21,27 @@ enumflags EVF_ONLYUSER }; +/*!QUAKED env_fade (0 0 0) (-8 -8 -8) (8 8 8) EVF_FADEDROM EVF_MODULATE EVF_ONLYUSER +# OVERVIEW +Overlay that blinds/obscures players vision when triggered. + +# KEYS +- "targetname" : Name +- "target" : Target when triggered. +- "killtarget" : Target to kill when triggered. +- "rendercolor" : RGB8 Color of the fade effect. +- "renderamt" : A8 alpha value we'll hit at max. +- "duration" : Duration of the effect in seconds. +- "holdtime" : How long we'll hold on the max color/alpha. + +# SPAWNFLAGS +- EVF_FADEDROM (1) : Inverts the fading animation. +- EVF_MODULATE (2) : Modulate tints the image after "rendercolor" instead of obscuring it. +- EVF_ONLYUSER (4) : Don't blind everyone, just the activator. + +# TRIVIA +This entity was introduced in Half-Life (1998). +*/ class env_fade:NSRenderableEntity { diff --git a/src/gs-entbase/server/env_global.qc b/src/gs-entbase/server/env_global.qc index a75fabfa..08f52aac 100644 --- a/src/gs-entbase/server/env_global.qc +++ b/src/gs-entbase/server/env_global.qc @@ -14,26 +14,26 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED env_global (1 0 0) (-8 -8 -8) (8 8 8) GLOBAL_SETSPAWN -Persistent storage for variables that carry over level changes. - --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered. -"killtarget" : Target to kill when triggered. -"globalstate" : The variable name in which we hold information in. -"initialstate" : Initial mode: 0 = off, 1 = on, 2 = dead -"triggermode" : Mode when triggered: 0 = off, 1 = on, 2 = dead - --------- SPAWNFLAGS -------- -GLOBAL_SETSPAWN : Without this set, it'll only modify existing variables. - --------- TRIVIA -------- -This entity was introduced in Half-Life (1998). -*/ - #define GLOBAL_SETSPAWN 1 +/*!QUAKED env_global (1 0 0) (-8 -8 -8) (8 8 8) GLOBAL_SETSPAWN +# OVERVIEW +Persistent storage for variables that carry over level changes. + +# KEYS +- "targetname" : Name +- "target" : Target when triggered. +- "killtarget" : Target to kill when triggered. +- "globalstate" : The variable name in which we hold information in. +- "initialstate" : Initial mode: 0 = off, 1 = on, 2 = dead +- "triggermode" : Mode when triggered: 0 = off, 1 = on, 2 = dead + +# SPAWNFLAGS +- GLOBAL_SETSPAWN (1) : Without this set, it'll only modify existing variables. + +# TRIVIA +This entity was introduced in Half-Life (1998). +*/ class env_global:NSPointTrigger { diff --git a/src/gs-entbase/server/env_hudhint.qc b/src/gs-entbase/server/env_hudhint.qc index 68781fec..b9daede7 100644 --- a/src/gs-entbase/server/env_hudhint.qc +++ b/src/gs-entbase/server/env_hudhint.qc @@ -14,25 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED env_hudhint (0 0 0) (-8 -8 -8) (8 8 8) EHH_ALLPLAYERS -Will display a hint message to the client who activates it. - --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered. -"killtarget" : Target to kill when triggered. -"rendercolor" : RGB8 Color of the fade effect. -"renderamt" : A8 alpha value we'll hit at max. -"duration" : Duration of the effect in seconds. -"holdtime" : How long we'll hold on the max color/alpha. - --------- SPAWNFLAGS -------- -EHH_ALLPLAYERS : Send the hint notifcation to all connected clients. - --------- TRIVIA -------- -This entity was introduced in Half-Life 2 (2004). -*/ - void env_hudhint_send(entity eActivator, string strMessage, int iFlags); enumflags @@ -40,6 +21,25 @@ enumflags EHH_ALLPLAYERS }; +/*!QUAKED env_hudhint (0 0 0) (-8 -8 -8) (8 8 8) EHH_ALLPLAYERS +# OVERVIEW +Will display a hint message to the client who activates it. + +# KEYS +- "targetname" : Name +- "target" : Target when triggered. +- "killtarget" : Target to kill when triggered. +- "rendercolor" : RGB8 Color of the fade effect. +- "renderamt" : A8 alpha value we'll hit at max. +- "duration" : Duration of the effect in seconds. +- "holdtime" : How long we'll hold on the max color/alpha. + +# SPAWNFLAGS +- EHH_ALLPLAYERS (1) : Send the hint notifcation to all connected clients. + +# TRIVIA +This entity was introduced in Half-Life 2 (2004). +*/ class env_hudhint:NSPointTrigger { diff --git a/src/gs-entbase/server/env_message.qc b/src/gs-entbase/server/env_message.qc index 3dd2cb96..c043ccc9 100644 --- a/src/gs-entbase/server/env_message.qc +++ b/src/gs-entbase/server/env_message.qc @@ -14,32 +14,32 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED env_message (1 0 0) (-8 -8 -8) (8 8 8) EMF_ONCE EMF_ALLPLAYERS -Displays a basic message or titles.txt entry. - --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered. -"killtarget" : Target to kill when triggered. -"message" : Message to send to players -"messagesound" : PCM sample to play when triggered. Leave empty if desired. -"messagevolume" : PCM sample volume. Only relevant when "messagesound" is set. -"messageattenuation" : PCM sample attenuation. Ditto. - --------- SPAWNFLAGS -------- -EMF_ONCE : Removes itself after being triggered once. -EMF_ALLPLAYERS : Send the message to all clients instead of only the activator. - --------- TRIVIA -------- -This entity was introduced in Half-Life (1998). -*/ - enumflags { EMF_ONCE, EMF_ALLPLAYERS }; +/*!QUAKED env_message (1 0 0) (-8 -8 -8) (8 8 8) EMF_ONCE EMF_ALLPLAYERS +# OVERVIEW +Displays a basic message or titles.txt entry. + +# KEYS +- "targetname" : Name +- "target" : Target when triggered. +- "killtarget" : Target to kill when triggered. +- "message" : Message to send to players +- "messagesound" : PCM sample to play when triggered. Leave empty if desired. +- "messagevolume" : PCM sample volume. Only relevant when "messagesound" is set. +- "messageattenuation" : PCM sample attenuation. Ditto. + +# SPAWNFLAGS +- EMF_ONCE (1) : Removes itself after being triggered once. +- EMF_ALLPLAYERS (2) : Send the message to all clients instead of only the activator. + +# TRIVIA +This entity was introduced in Half-Life (1998). +*/ class env_message:NSPointTrigger { diff --git a/src/gs-entbase/server/env_render.qc b/src/gs-entbase/server/env_render.qc index 3b4987e7..3fc482d6 100644 --- a/src/gs-entbase/server/env_render.qc +++ b/src/gs-entbase/server/env_render.qc @@ -14,59 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED env_render (1 0 0) (-8 -8 -8) (8 8 8) SF_NORENDERFX SF_NORENDERAMT SF_NORENDERMODE SF_NORENDERCOLOR -Changes the visual appearance of a target. - --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered. -"killtarget" : Target to kill when triggered. -"rendermode" : Render-Mode the target changes to. -"renderamt" : Render-Amount the target changes to. -"rendercolor" : Render-Color the target changes to. -"renderfx" : Render-FX the target changes to. - --------- SPAWNFLAGS -------- -SF_NORENDERFX : Don't set the Render-FX attribute on the target. -SF_NORENDERAMT : Don't set the Render-Amount attribute on the target. -SF_NORENDERMODE : Don't set the Render-Mode attribute on the target. -SF_NORENDERCOLOR : Don't set the Render-Color attribute on the target. - --------- NOTES -------- -The Render-FX values are currently unimplemented, except for the hologram setting. - -Supported Render-Mode ("rendermode") values: -0 : Normal; Default. -1 : Color; Tints the entity after whatever "rendercolor" is set to. -2 : Texture; ??? -3 : Glow; object scales against the camera depending on distance like a flare. -4 : Solid; Make transparent by respecting transparent pixels (GoldSrc) -5 : Additive; Blend the object additively against the world. -6 : Fullbright; Render the object without lighting. - -Supported Render-FX ("renderfx") values: -0 : Normal -1 : Slow pulse -2 : Fast pulse -3 : Slow, wide, pulse -4 : Fast, wide, pulse -5 : Slow fade away -6 : Fast fade away -7 : Slow become solid -8 : Fast become solid -9 : Slow strobe -10 : Fast strobe -11 : Faster strobe -12 : Slow flicker -13 : Fast flicker -14 : Constant glow -15 : Distort -16 : Hologram - --------- TRIVIA -------- -This entity was introduced in Half-Life (1998). -*/ - enumflags { SF_NORENDERFX, @@ -75,6 +22,59 @@ enumflags SF_NORENDERCOLOR }; +/*!QUAKED env_render (1 0 0) (-8 -8 -8) (8 8 8) SF_NORENDERFX SF_NORENDERAMT SF_NORENDERMODE SF_NORENDERCOLOR +# OVERVIEW +Changes the visual appearance of a target. + +# KEYS +- "targetname" : Name +- "target" : Target when triggered. +- "killtarget" : Target to kill when triggered. +- "rendermode" : Render-Mode the target changes to. +- "renderamt" : Render-Amount the target changes to. +- "rendercolor" : Render-Color the target changes to. +- "renderfx" : Render-FX the target changes to. + +# SPAWNFLAGS +- SF_NORENDERFX (1) : Don't set the Render-FX attribute on the target. +- SF_NORENDERAMT (2) : Don't set the Render-Amount attribute on the target. +- SF_NORENDERMODE (4) : Don't set the Render-Mode attribute on the target. +- SF_NORENDERCOLOR (8) : Don't set the Render-Color attribute on the target. + +# NOTES +The Render-FX values are currently unimplemented, except for the hologram setting. + +Supported Render-Mode ("rendermode") values: + - 0 : Normal; Default. + - 1 : Color; Tints the entity after whatever "rendercolor" is set to. + - 2 : Texture; ??? + - 3 : Glow; object scales against the camera depending on distance like a flare. + - 4 : Solid; Make transparent by respecting transparent pixels (GoldSrc) + - 5 : Additive; Blend the object additively against the world. + - 6 : Fullbright; Render the object without lighting. + +Supported Render-FX ("renderfx") values: + - 0 : Normal + - 1 : Slow pulse + - 2 : Fast pulse + - 3 : Slow, wide, pulse + - 4 : Fast, wide, pulse + - 5 : Slow fade away + - 6 : Fast fade away + - 7 : Slow become solid + - 8 : Fast become solid + - 9 : Slow strobe + - 10 : Fast strobe + - 11 : Faster strobe + - 12 : Slow flicker + - 13 : Fast flicker + - 14 : Constant glow + - 15 : Distort + - 16 : Hologram + +# TRIVIA +This entity was introduced in Half-Life (1998). +*/ class env_render:NSRenderableEntity { diff --git a/src/gs-entbase/server/env_shake.qc b/src/gs-entbase/server/env_shake.qc index 97bd4be5..4780f10e 100644 --- a/src/gs-entbase/server/env_shake.qc +++ b/src/gs-entbase/server/env_shake.qc @@ -14,27 +14,27 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED env_shake (1 0.5 0) (-8 -8 -8) (8 8 8) EVS_GLOBAL -Causes an earthquake/shaking effect when triggered. - --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered. -"killtarget" : Target to kill when triggered. -"radius" : Radius of the quake/shake effect. -"amplitude" : Amplitude of the effect. -"duration" : Duration of the effect in seconds. -"frequency" : The frequency of the shake. - --------- SPAWNFLAGS -------- -EVS_GLOBAL : Affect all clients, ignoring "radius" entirely. - --------- TRIVIA -------- -This entity was introduced in Half-Life (1998). -*/ - #define EVS_GLOBAL 1 +/*!QUAKED env_shake (1 0.5 0) (-8 -8 -8) (8 8 8) EVS_GLOBAL +# OVERVIEW +Causes an earthquake/shaking effect when triggered. + +# KEYS +- "targetname" : Name +- "target" : Target when triggered. +- "killtarget" : Target to kill when triggered. +- "radius" : Radius of the quake/shake effect. +- "amplitude" : Amplitude of the effect. +- "duration" : Duration of the effect in seconds. +- "frequency" : The frequency of the shake. + +# SPAWNFLAGS +- EVS_GLOBAL : Affect all clients, ignoring "radius" entirely. + +# TRIVIA +This entity was introduced in Half-Life (1998). +*/ class env_shake:NSPointTrigger { diff --git a/src/gs-entbase/server/env_shooter.qc b/src/gs-entbase/server/env_shooter.qc index 1f191d24..bccb2b77 100644 --- a/src/gs-entbase/server/env_shooter.qc +++ b/src/gs-entbase/server/env_shooter.qc @@ -14,29 +14,29 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED env_shooter (1 0 0) (-8 -8 -8) (8 8 8) EVSHOOTER_REPEATABLE -Shoots model entities from its location. - --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered. -"killtarget" : Target to kill when triggered. -"angles" : Sets the pitch, yaw and roll direction of the shooter. -"shootmodel" : Model file to shoot. -"shootsounds" : PCM sample to play whenever a piece shoots out. -"m_iGibs" : Amount of models shot in total. -"m_flDelay" : Delay before being able to be fired again. -"m_flVelocity" : Speed of the models in units per second. -"m_flVariance" : Delay between shots. -"m_flGibLife" : Life of the individual model piece. -"scale" : Scale modifier of the model pieces. - --------- TRIVIA -------- -This entity was introduced in Half-Life (1998). -*/ - #define EVSHOOTER_REPEATABLE 1 +/*!QUAKED env_shooter (1 0 0) (-8 -8 -8) (8 8 8) EVSHOOTER_REPEATABLE +# OVERVIEW +Shoots model entities from its location. + +# KEYS +- "targetname" : Name +- "target" : Target when triggered. +- "killtarget" : Target to kill when triggered. +- "angles" : Sets the pitch, yaw and roll direction of the shooter. +- "shootmodel" : Model file to shoot. +- "shootsounds" : PCM sample to play whenever a piece shoots out. +- "m_iGibs" : Amount of models shot in total. +- "m_flDelay" : Delay before being able to be fired again. +- "m_flVelocity" : Speed of the models in units per second. +- "m_flVariance" : Delay between shots. +- "m_flGibLife" : Life of the individual model piece. +- "scale" : Scale modifier of the model pieces. + +# TRIVIA +This entity was introduced in Half-Life (1998). +*/ class env_shooter:NSPointTrigger { diff --git a/src/gs-entbase/server/env_spark.qc b/src/gs-entbase/server/env_spark.qc index d630d9f7..d0d4bdfc 100644 --- a/src/gs-entbase/server/env_spark.qc +++ b/src/gs-entbase/server/env_spark.qc @@ -14,28 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED env_spark (1 0 0) (-8 -8 -8) (8 8 8) x x x x x EVSPARK_TOGGLE EVSPARK_STARTON -Creates a series (or just one) spark effect with sound when triggered. - --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered. -"killtarget" : Target to kill when triggered. -"angles" : Sets the pitch, yaw and roll angles of the spark. -"MaxDelay" : Delay between sparks when start-on (or toggle) is set - --------- SPAWNFLAGS -------- -EVSPARK_TOGGLE : When triggered, it'll spark continously with "MaxDelay" dictating the interval. -EVSPARK_STARTON : Start sparking upon spawning, at least waiting til "MaxDelay" seconds has passed. - --------- NOTES -------- -The spawnflags EVSPARK_TOGGLE and EVSPARK_STARTON are often used together. -Without them set, it'll of course only spark once whenever it's triggered. - --------- TRIVIA -------- -This entity was introduced in Half-Life (1998). -*/ - enumflags { EVSPARK_UNUSED1, @@ -47,6 +25,28 @@ enumflags EVSPARK_STARTON }; +/*!QUAKED env_spark (1 0 0) (-8 -8 -8) (8 8 8) x x x x x EVSPARK_TOGGLE EVSPARK_STARTON +# OVERVIEW +Creates a series (or just one) spark effect with sound when triggered. + +# KEYS +- "targetname" : Name +- "target" : Target when triggered. +- "killtarget" : Target to kill when triggered. +- "angles" : Sets the pitch, yaw and roll angles of the spark. +- "MaxDelay" : Delay between sparks when start-on (or toggle) is set + +# SPAWNFLAGS +- EVSPARK_TOGGLE (32) : When triggered, it'll spark continously with "MaxDelay" dictating the interval. +- EVSPARK_STARTON (64) : Start sparking upon spawning, at least waiting til "MaxDelay" seconds has passed. + +# NOTES +The spawnflags EVSPARK_TOGGLE and EVSPARK_STARTON are often used together. +Without them set, it'll of course only spark once whenever it's triggered. + +# TRIVIA +This entity was introduced in Half-Life (1998). +*/ class env_spark:NSPointTrigger { diff --git a/src/gs-entbase/server/func_areaportal.qc b/src/gs-entbase/server/func_areaportal.qc index 0b05522b..2bd78bf4 100644 --- a/src/gs-entbase/server/func_areaportal.qc +++ b/src/gs-entbase/server/func_areaportal.qc @@ -14,23 +14,23 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED func_areaportal (0 .5 .8) ? +/*!QUAKED func_areaportal (0 .5 .8) ? +# OVERVIEW Manages a space between two areas. Requires to be positioned within an areaportal helper brush. --------- KEYS -------- -"targetname" : Name -"StartOpen" : Sets the initial state. If 1 the portal will start open. +# KEYS +- "targetname" : Name +- "StartOpen" : Sets the initial state. If 1 the portal will start open. --------- INPUTS -------- -"Open" : Open the areaportal. -"Close" : Close the areaportal. -"Toggle" : Toggle the areaportal. +# INPUTS +- "Open" : Open the areaportal. +- "Close" : Close the areaportal. +- "Toggle" : Toggle the areaportal. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Quake II (1997). */ - class func_areaportal:NSEntity { diff --git a/src/gs-entbase/server/func_breakable.qc b/src/gs-entbase/server/func_breakable.qc index 53ed5aa3..7f826d9c 100644 --- a/src/gs-entbase/server/func_breakable.qc +++ b/src/gs-entbase/server/func_breakable.qc @@ -14,43 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED func_breakable (0 .5 .8) ? SF_TRIGGER SF_TOUCH SF_PRESSURE -Brush volume that can break into lots of little pieces. - --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered. -"killtarget" : Target to kill when triggered. -"health" : Health of the entity. -"material" : Material it's made of (See material-list below). -"delay" : Delay in seconds of when it breaks under pressure. -"explodemagnitude" : Strength of the explosion. - --------- SPAWNFLAGS -------- -SF_TRIGGER : Breakable is invincible and has to be triggered in order to break. -SF_TOUCH : Break when an entity collides into it at high speed (damage is speed in units * 0.01). -SF_PRESSURE : Initiate break once someone is standing on top of it. - --------- NOTES -------- -The strength of the explosion decides the radius (magnitude * 2.5) and the -maximum damage the explosion will do in the center. It has a linear fall-off. - -Material-list: -0 : Glass -1 : Wood -2 : Metal -3 : Flesh -4 : Cinder -5 : Tile -6 ; Computer -7 : Glass (Unbreakable) -8 : Rock -9 : None - --------- TRIVIA -------- -This entity was introduced in Half-Life (1998). -*/ - enumflags { SF_TRIGGER, @@ -115,6 +78,43 @@ const string funcbreakable_surftable[] = { "gs_material_rocks" }; +/*!QUAKED func_breakable (0 .5 .8) ? SF_TRIGGER SF_TOUCH SF_PRESSURE +# OVERVIEW +Brush volume that can break into lots of little pieces. + +# KEYS +- "targetname" : Name +- "target" : Target when triggered. +- "killtarget" : Target to kill when triggered. +- "health" : Health of the entity. +- "material" : Material it's made of (See material-list below). +- "delay" : Delay in seconds of when it breaks under pressure. +- "explodemagnitude" : Strength of the explosion. + +# SPAWNFLAGS +- SF_TRIGGER (1) : Breakable is invincible and has to be triggered in order to break. +- SF_TOUCH (2) : Break when an entity collides into it at high speed (damage is speed in units * 0.01). +- SF_PRESSURE (4) : Initiate break once someone is standing on top of it. + +# NOTES +The strength of the explosion decides the radius (magnitude * 2.5) and the +maximum damage the explosion will do in the center. It has a linear fall-off. + +Material-list: + - 0 : Glass + - 1 : Wood + - 2 : Metal + - 3 : Flesh + - 4 : Cinder + - 5 : Tile + - 6 ; Computer + - 7 : Glass (Unbreakable) + - 8 : Rock + - 9 : None + +# TRIVIA +This entity was introduced in Half-Life (1998). +*/ class func_breakable:NSSurfacePropEntity { diff --git a/src/gs-entbase/server/func_brush.qc b/src/gs-entbase/server/func_brush.qc index 0d9392c5..23a2a469 100644 --- a/src/gs-entbase/server/func_brush.qc +++ b/src/gs-entbase/server/func_brush.qc @@ -14,19 +14,20 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED func_brush (0 .5 .8) ? +/*!QUAKED func_brush (0 .5 .8) ? +# OVERVIEW Combination of func_illusionary, func_wall, func_wall_toggle. When triggered, it'll become invisible and lose its collision. --------- KEYS -------- -"targetname" : Name -"Solidity" : Mode for choosing solidity. 0 : Toggle, 1 : Never, 2 : Always. -"StartDisabled" : Will make it spawn invisible. -"solidbsp" : Type of collision model to choose. 0 : Per-Poly, 1 : BSP file. -"excludednpc" : Name of the NPC classname that will not collide with this entity -"invert_exclusion" : Set to 1 if you want the 'excludednpc' key to act inverted +# KEYS +- "targetname" : Name +- "Solidity" : Mode for choosing solidity. 0 : Toggle, 1 : Never, 2 : Always. +- "StartDisabled" : Will make it spawn invisible. +- "solidbsp" : Type of collision model to choose. 0 : Per-Poly, 1 : BSP file. +- "excludednpc" : Name of the NPC classname that will not collide with this entity +- "invert_exclusion" : Set to 1 if you want the 'excludednpc' key to act inverted --------- NOTES -------- +# NOTES The main thing func_brush is concerned with is appearance. When you trigger it on/off, it'll be made visible/invisible. Collision however depends on the setting of the "Solidity" key. @@ -34,10 +35,9 @@ If "Solidity" is toggle, the collision will ne enabled/disabled depending on whether or not the entity is visible/invisible. By default it's visible and has collision. --------- HISTORY -------- +# TRIVIA This entity was introduced in Half-Life 2 (2004). */ - class func_brush:NSRenderableEntity { diff --git a/src/gs-entbase/server/func_button.qc b/src/gs-entbase/server/func_button.qc index bbb01aaf..96e23e89 100644 --- a/src/gs-entbase/server/func_button.qc +++ b/src/gs-entbase/server/func_button.qc @@ -14,43 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED func_button (0 .5 .8) ? SF_BTT_NOMOVE x x x x SF_BTT_TOGGLE SF_BTT_SPARKS x SF_BTT_TOUCH_ONLY -A brush entity which can be used either by touching, interaction (via a games' -use-key/button or other targetting methods. -It will then travel, similar to a door to a specified direction. -Once it's fully pushed in, it'll trigger its targets, then return back to its -original position. - --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered. -"killtarget" : Target to kill when triggered. -"speed" : Movement speed of the door in game-units per second. -"lip" : How many units remain visible when fully pushed in. -"snd_pressed" : The sound shader name to play when pressed down. -"snd_unpressed" : The sound shader name to play when the button becomes raised. -"wait" : Time to wait in seconds before the button becomes raised. -"delay" : Delay until the Target gets triggered. -"sounds" : Obsolete legacy key for HL/Q1 style buttons to decide which sounds to play. -"health" : Amount of damage this button takes before it triggers. Will reset. - --------- OUTPUTS -------- -"OnDamaged" : Fired when the button is damaged. -"OnPressed" : Fired when the button is pressed. -"OnUseLocked" : Fired when the button is used while locked. -"OnIn" : Fired when the button reaches the in/pressed position. -"OnOut" : Fired when the button reaches the out/released position. - --------- SPAWNFLAGS -------- -SF_BTT_NOMOVE : Don't move when it's activated. -SF_BTT_TOGGLE : Don't move back to the raised state automatically. -SF_BTT_SPARKS : Spawn decorative sparks when used. -SF_BTT_TOUCH_ONLY : Disable 'use' key/button. Only collision will activate it. - --------- TRIVIA -------- -This entity was introduced in Quake (1996). -*/ - enumflags { SF_BTT_NOMOVE, @@ -78,6 +41,43 @@ enum FRAME_ON }; +/*!QUAKED func_button (0 .5 .8) ? SF_BTT_NOMOVE x x x x SF_BTT_TOGGLE SF_BTT_SPARKS x SF_BTT_TOUCH_ONLY +# OVERVIEW +A brush entity which can be used either by touching, interaction (via a games' +use-key/button or other targetting methods. +It will then travel, similar to a door to a specified direction. +Once it's fully pushed in, it'll trigger its targets, then return back to its +original position. + +# KEYS +- "targetname" : Name +- "target" : Target when triggered. +- "killtarget" : Target to kill when triggered. +- "speed" : Movement speed of the door in game-units per second. +- "lip" : How many units remain visible when fully pushed in. +- "snd_pressed" : The sound shader name to play when pressed down. +- "snd_unpressed" : The sound shader name to play when the button becomes raised. +- "wait" : Time to wait in seconds before the button becomes raised. +- "delay" : Delay until the Target gets triggered. +- "sounds" : Obsolete legacy key for HL/Q1 style buttons to decide which sounds to play. +- "health" : Amount of damage this button takes before it triggers. Will reset. + +-------- OUTPUTS -------- +- "OnDamaged" : Fired when the button is damaged. +- "OnPressed" : Fired when the button is pressed. +- "OnUseLocked" : Fired when the button is used while locked. +- "OnIn" : Fired when the button reaches the in/pressed position. +- "OnOut" : Fired when the button reaches the out/released position. + +# SPAWNFLAGS +- SF_BTT_NOMOVE (1) : Don't move when it's activated. +- SF_BTT_TOGGLE (32) : Don't move back to the raised state automatically. +- SF_BTT_SPARKS (64) : Spawn decorative sparks when used. +- SF_BTT_TOUCH_ONLY (256) : Disable 'use' key/button. Only collision will activate it. + +# TRIVIA +This entity was introduced in Quake (1996). +*/ class func_button:NSSurfacePropEntity { diff --git a/src/gs-entbase/server/func_conveyor.qc b/src/gs-entbase/server/func_conveyor.qc index 0afd4066..60069f82 100644 --- a/src/gs-entbase/server/func_conveyor.qc +++ b/src/gs-entbase/server/func_conveyor.qc @@ -14,21 +14,25 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED func_conveyor (0 .5 .8) ? --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered. -"killtarget" : Target to kill when triggered. - -STUB! - --------- TRIVIA -------- -This entity was introduced in Half-Life (1998). -*/ - #define SF_CONVEYOR_VISUAL 1 #define SF_CONVEYOR_NOTSOLID 2 +/*!QUAKED func_conveyor (0 .5 .8) ? SF_CONVEYOR_VISUAL SF_CONVEYOR_NOTSOLID +# OVERVIEW +A conveyor belt entity. Texture will move along in the direction and speed of the conveyor. + +# KEYS +- "targetname" : Name +- "target" : Target when triggered. +- "killtarget" : Target to kill when triggered. + +# SPAWNFLAGS +- SF_CONVEYOR_VISUAL (1) : This conveyor does not affect entities physically. +- SF_CONVEYOR_NOTSOLID (2) : This conveyor is non-solid. + +# TRIVIA +This entity was introduced in Half-Life (1998). +*/ class func_conveyor:NSRenderableEntity { diff --git a/src/gs-entbase/server/func_detail.qc b/src/gs-entbase/server/func_detail.qc index a7323d15..b88ac00a 100644 --- a/src/gs-entbase/server/func_detail.qc +++ b/src/gs-entbase/server/func_detail.qc @@ -14,18 +14,19 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED func_detail (0 .5 .8) ? +/*!QUAKED func_detail (0 .5 .8) ? +# OVERVIEW A "fake" entity for level editors. All geometry that's turned into a func_detail will be ignored during VIS. This will speed up compile time and reduce tesselation, in theory. --------- KEYS -------- -"_rs" : Specifies if the geometry will recieve shadows (RAD lighting). -"_cs" : Specifies if the geometry will cast shadows (RAD lighting). +# KEYS +- "_rs" : Specifies if the geometry will recieve shadows (RAD lighting). +- "_cs" : Specifies if the geometry will cast shadows (RAD lighting). --------- NOTES -------- +# NOTES If you don't want this entity to have collision, consider using func_detail_illusionary. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Quake II (1997). */ diff --git a/src/gs-entbase/server/func_detail_illusionary.qc b/src/gs-entbase/server/func_detail_illusionary.qc index 4af7543e..77639150 100644 --- a/src/gs-entbase/server/func_detail_illusionary.qc +++ b/src/gs-entbase/server/func_detail_illusionary.qc @@ -14,19 +14,20 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED func_detail_illusionary (0 .5 .8) ? +/*!QUAKED func_detail_illusionary (0 .5 .8) ? +# OVERVIEW A "fake" entity for level editors. It is almost identical to func_detail except that it has no collision. Think of it as an alternative to func_illusionary and nonsolid surfaceparms, except that it does not use an entity slot or require custom materials. --------- KEYS -------- -"_rs" : Specifies if the geometry will recieve shadows (RAD lighting). -"_cs" : Specifies if the geometry will cast shadows (RAD lighting). +# KEYS +- "_rs" : Specifies if the geometry will recieve shadows (RAD lighting). +- "_cs" : Specifies if the geometry will cast shadows (RAD lighting). --------- NOTES -------- +# NOTES If you want this entity to have collision, consider using func_detail. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Quake II (1997). */ diff --git a/src/gs-entbase/server/func_door.qc b/src/gs-entbase/server/func_door.qc index 4693636a..4030fbd7 100644 --- a/src/gs-entbase/server/func_door.qc +++ b/src/gs-entbase/server/func_door.qc @@ -14,43 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED func_door (0 .5 .8) ? SF_MOV_OPEN x SF_MOV_UNLINK SF_MOV_PASSABLE x SF_MOV_TOGGLE x x SF_MOV_USE -This sliding door entity has the ability to slide forth and back on any -axis. It is often used for primitive elevators as well. - --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered. -"killtarget" : Target to kill when triggered. -"speed" : Movement speed in game-units per second. -"lip" : Sets how many units are still visible after a door moved. -"delay" : Time until triggering target. -"wait" : When to move back. -"netname" : Target to trigger when door returns to its initial position. -"dmg" : Damage to inflict upon anything blocking the way. -"snd_open" : Sound shader to play for when the door opens. -"snd_close" : Sound shader to play for when the door closes. -"snd_stop" : Sound shader to play for when the door stops moving. -"movesnd" : Legacy integer value pointing to a predefined move sound. -"stopsnd" : Legacy integer value pointing to a predefined stop sound. -"forceclosed": Will make sure the door will not bounce back when something is blocking it - --------- SPAWNFLAGS -------- -SF_MOV_OPEN : Swaps the positions between raised and lowered state. -SF_MOV_UNLINK : Currently unimplemented. -SF_MOV_PASSABLE : Don't test against any collision with this door. -SF_MOV_TOGGLE : Door cannot be opened by physical means, only by a trigger. -SF_MOV_USE : Players can press the "use" button/key to activate this door. - --------- NOTES -------- -The keys "movesnd" and "stopsnd" are obsolete. Their values point towards -the samples doors/doormoveX.wav and doors/doorstopX.wav respectively, where -X is the integer value set in "movesnd" and "stopsnd". - --------- TRIVIA -------- -This entity was introduced in Quake (1996). -*/ - enumflags { SF_MOV_OPEN, SF_MOV_RESERVED1, @@ -71,6 +34,43 @@ enum DOORSTATE_DOWN }; +/*!QUAKED func_door (0 .5 .8) ? SF_MOV_OPEN x SF_MOV_UNLINK SF_MOV_PASSABLE x SF_MOV_TOGGLE x x SF_MOV_USE +# OVERVIEW +This sliding door entity has the ability to slide forth and back on any +axis. It is often used for primitive elevators as well. + +# KEYS +- "targetname" : Name +- "target" : Target when triggered. +- "killtarget" : Target to kill when triggered. +- "speed" : Movement speed in game-units per second. +- "lip" : Sets how many units are still visible after a door moved. +- "delay" : Time until triggering target. +- "wait" : When to move back. +- "netname" : Target to trigger when door returns to its initial position. +- "dmg" : Damage to inflict upon anything blocking the way. +- "snd_open" : Sound shader to play for when the door opens. +- "snd_close" : Sound shader to play for when the door closes. +- "snd_stop" : Sound shader to play for when the door stops moving. +- "movesnd" : Legacy integer value pointing to a predefined move sound. +- "stopsnd" : Legacy integer value pointing to a predefined stop sound. +- "forceclosed": Will make sure the door will not bounce back when something is blocking it + +# SPAWNFLAGS +- SF_MOV_OPEN : Swaps the positions between raised and lowered state. +- SF_MOV_UNLINK : Currently unimplemented. +- SF_MOV_PASSABLE : Don't test against any collision with this door. +- SF_MOV_TOGGLE : Door cannot be opened by physical means, only by a trigger. +- SF_MOV_USE : Players can press the "use" button/key to activate this door. + +# NOTES +The keys "movesnd" and "stopsnd" are obsolete. Their values point towards +the samples doors/doormoveX.wav and doors/doorstopX.wav respectively, where +X is the integer value set in "movesnd" and "stopsnd". + +# TRIVIA +This entity was introduced in Quake (1996). +*/ class func_door:NSRenderableEntity { diff --git a/src/gs-entbase/server/func_door_rotating.qc b/src/gs-entbase/server/func_door_rotating.qc index 1f42cc37..32dac4d2 100644 --- a/src/gs-entbase/server/func_door_rotating.qc +++ b/src/gs-entbase/server/func_door_rotating.qc @@ -14,43 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED func_door_rotating (0 .5 .8) ? SF_ROT_OPEN SF_ROT_BACKWARDS x SF_ROT_PASSABLE SF_ROT_ONEWAY SF_ROT_TOGGLE SF_ROT_ZAXIS SF_ROT_XAXIS SF_ROT_USE SF_ROT_NOMONSTERS -Rotating brush door entity. It's basically the same as func_door, it just does -not move on any axis, it tilts along a pivot point defined by an origin brush. - --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered. -"killtarget" : Target to kill when triggered. -"speed" : Speed at which the door turns. -"snd_open" : Sound shader to play for when the door opens. -"snd_close" : Sound shader to play for when the door closes. -"snd_stop" : Sound shader to play for when the door stops rotating. -"movesnd" : Legacy integer value pointing to a predefined move sound. -"stopsnd" : Legacy integer value pointing to a predefined stop sound. -"distance" : The degrees which the door will turn. -"dmg" : The damage inflicted upon objects blocking the way of the door. -"wait" : Time that has to pass for the door to automatically close. -"netname" : Target to trigger when the door closes back up. - --------- SPAWNFLAGS -------- -SF_ROT_OPEN : Door is in the open position by default. -SF_ROT_BACKWARDS : Flip the direction of a one-way door. -SF_ROT_PASSABLE : Door has no collision model to speak of. -SF_ROT_ONEWAY : Door will only open one-way as opposed to both ways. -SF_ROT_TOGGLE : Door will have to be triggered by something to open/close. -SF_ROT_ZAXIS : Door will tilt along the Z axis. -SF_ROT_XAXIS : Door will tilt on the X axis. -SF_ROT_USE : Player has to press the 'use' key to interact with it. -SF_ROT_NOMONSTERS : Monsters cannot open this door. - --------- NOTES -------- -Please include an origin brush so that a pivot point will be defined. - --------- TRIVIA -------- -This entity was introduced in Quake II (1997). -*/ - enumflags { SF_ROT_OPEN, @@ -67,6 +30,43 @@ enumflags #define SF_DOOR_SILENT 0x80000000i +/*!QUAKED func_door_rotating (0 .5 .8) ? SF_ROT_OPEN SF_ROT_BACKWARDS x SF_ROT_PASSABLE SF_ROT_ONEWAY SF_ROT_TOGGLE SF_ROT_ZAXIS SF_ROT_XAXIS SF_ROT_USE SF_ROT_NOMONSTERS +# OVERVIEW +Rotating brush door entity. It's basically the same as func_door, it just does +not move on any axis, it tilts along a pivot point defined by an origin brush. + +# KEYS +- "targetname" : Name +- "target" : Target when triggered. +- "killtarget" : Target to kill when triggered. +- "speed" : Speed at which the door turns. +- "snd_open" : Sound shader to play for when the door opens. +- "snd_close" : Sound shader to play for when the door closes. +- "snd_stop" : Sound shader to play for when the door stops rotating. +- "movesnd" : Legacy integer value pointing to a predefined move sound. +- "stopsnd" : Legacy integer value pointing to a predefined stop sound. +- "distance" : The degrees which the door will turn. +- "dmg" : The damage inflicted upon objects blocking the way of the door. +- "wait" : Time that has to pass for the door to automatically close. +- "netname" : Target to trigger when the door closes back up. + +# SPAWNFLAGS +- SF_ROT_OPEN (1) : Door is in the open position by default. +- SF_ROT_BACKWARDS (2) : Flip the direction of a one-way door. +- SF_ROT_PASSABLE (8) : Door has no collision model to speak of. +- SF_ROT_ONEWAY (16) : Door will only open one-way as opposed to both ways. +- SF_ROT_TOGGLE (32) : Door will have to be triggered by something to open/close. +- SF_ROT_ZAXIS (64) : Door will tilt along the Z axis. +- SF_ROT_XAXIS (128) : Door will tilt on the X axis. +- SF_ROT_USE (256) : Player has to press the 'use' key to interact with it. +- SF_ROT_NOMONSTERS (512) : Monsters cannot open this door. + +# NOTES +Please include an origin brush so that a pivot point will be defined. + +# TRIVIA +This entity was introduced in Quake II (1997). +*/ class func_door_rotating:NSRenderableEntity { diff --git a/src/gs-entbase/server/func_group.qc b/src/gs-entbase/server/func_group.qc index fa1fc6e2..a32ebbe6 100644 --- a/src/gs-entbase/server/func_group.qc +++ b/src/gs-entbase/server/func_group.qc @@ -14,15 +14,16 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED func_group (0 .5 .8) ? +/*!QUAKED func_group (0 .5 .8) ? +# OVERVIEW A "fake" entity for level editors, used to group together patches and brushes for easy moving. All geometry in the group will become worldspawn upon compile. --------- KEYS -------- +# KEYS "_rs" : Specifies if the geometry will recieve shadows (RAD lighting). "_cs" : Specifies if the geometry will cast shadows (RAD lighting). --------- TRIVIA -------- +# TRIVIA This entity was introduced in Quake III Arena (1999). */ diff --git a/src/gs-entbase/server/func_guntarget.qc b/src/gs-entbase/server/func_guntarget.qc index cff25c49..0310a5a3 100644 --- a/src/gs-entbase/server/func_guntarget.qc +++ b/src/gs-entbase/server/func_guntarget.qc @@ -14,22 +14,22 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED func_guntarget (0 .5 .8) ? -Gun targets brushes that trigger a target once they 'die'. - --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered. -"killtarget" : Target to kill when triggered. -"health" : Health until it stops and triggers its targets. -"speed" : Speed in units per second at which it moves. - --------- TRIVIA -------- -This entity was introduced in Half-Life (1998). -*/ - #define SF_GUNTARGET_ON 1 +/*!QUAKED func_guntarget (0 .5 .8) ? +# OVERVIEW +Gun targets brushes that trigger a target once they 'die'. + +# KEYS +- "targetname" : Name +- "target" : Target when triggered. +- "killtarget" : Target to kill when triggered. +- "health" : Health until it stops and triggers its targets. +- "speed" : Speed in units per second at which it moves. + +# TRIVIA +This entity was introduced in Half-Life (1998). +*/ class func_guntarget:NSSurfacePropEntity { diff --git a/src/gs-entbase/server/func_healthcharger.qc b/src/gs-entbase/server/func_healthcharger.qc index dd4fd582..12bc1cf0 100644 --- a/src/gs-entbase/server/func_healthcharger.qc +++ b/src/gs-entbase/server/func_healthcharger.qc @@ -14,21 +14,21 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED func_healthcharger (0 .5 .8) ? +/*!QUAKED func_healthcharger (0 .5 .8) ? +# OVERVIEW Brush that fills up your health when used, to a maximum of 100 HP. --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered. -"killtarget" : Target to kill when triggered. -"snd_first" : Sound to play when first used. -"snd_charging" : Sound to play when first charging. -"snd_done" : Sound to play when first finished charging. +# KEYS +- "targetname" : Name +- "target" : Target when triggered. +- "killtarget" : Target to kill when triggered. +- "snd_first" : Sound to play when first used. +- "snd_charging" : Sound to play when first charging. +- "snd_done" : Sound to play when first finished charging. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life (1998). */ - class func_healthcharger:NSRenderableEntity { diff --git a/src/gs-entbase/server/func_mortar_field.qc b/src/gs-entbase/server/func_mortar_field.qc index 3f054e27..3cae31ad 100644 --- a/src/gs-entbase/server/func_mortar_field.qc +++ b/src/gs-entbase/server/func_mortar_field.qc @@ -14,20 +14,21 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED func_mortar_field (0 .5 .8) ? +/*!QUAKED func_mortar_field (0 .5 .8) ? +# OVERVIEW This brush volume acts as mortar drop area. When triggered, it'll drop mortar shells straight to the ground (with a bit of spread if specified). --------- KEYS -------- -"targetname" : Name -"m_flSpread" : Maximum spread in game-units -"m_flCount" : Number of bombs dropped per strike -"m_flControl" : Targeting type. 0 = random, 1 = activator, 2 = controlled -"m_iszXController" : Name of the momentary_rot_button providing X-offset -"m_iszYController" : Name of the momentary_rot_button providing Y-offset +# KEYS +- "targetname" : Name +- "m_flSpread" : Maximum spread in game-units +- "m_flCount" : Number of bombs dropped per strike +- "m_flControl" : Targeting type. 0 = random, 1 = activator, 2 = controlled +- "m_iszXController" : Name of the momentary_rot_button providing X-offset +- "m_iszYController" : Name of the momentary_rot_button providing Y-offset --------- NOTES -------- +# NOTES It can be set to three different targeting modes, 0 will pick any random point in the volume as a drop position. 1 will target the person or entity activating it and 2 is a more complex mode which requires two @@ -38,10 +39,9 @@ between mortar shell drops) that I haven't implemented yet. I'll turn those into map attribute keys so people can finally control sound, damage, delay and so on. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life (1998). */ - class func_mortar_field:NSBrushTrigger { diff --git a/src/gs-entbase/server/func_pendulum.qc b/src/gs-entbase/server/func_pendulum.qc index 42a59891..c205fc21 100644 --- a/src/gs-entbase/server/func_pendulum.qc +++ b/src/gs-entbase/server/func_pendulum.qc @@ -14,29 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED func_pendulum (0 .5 .8) ? FUNCPEND_STARTON x x FUNCPEND_NONSOLID FUNCPEND_RETURNONTRIGGER x FUNCPEND_XAXIS FUNCPEND_YAXIS -A brush that swings along a pivot point like a pendulum. - --------- KEYS -------- -"targetname" : Name -"damp" : Dampening factor. -"distance" : Swinging distance in euler-angles. -"speed" : Speed at which it swings in units-per-second. - --------- SPAWNFLAGS -------- -FUNCPEND_STARTON : Start swinging immediately. -FUNCPEND_NONSOLID : Don't do collision testing against this entity. -FUNCPEND_RETURNONTRIGGER : Once it gets triggered it'll return to its starting position. -FUNCPEND_XAXIS : Swing on the X-axis. -FUNCPEND_YAXIS : Swing on the Y-axis. - --------- NOTES -------- -Please include an origin brush so that a pivot point will be defined. - --------- TRIVIA -------- -This entity was introduced in Half-Life (1998). -*/ - enumflags { FUNCPEND_STARTON, @@ -49,6 +26,29 @@ enumflags FUNCPEND_YAXIS }; +/*!QUAKED func_pendulum (0 .5 .8) ? FUNCPEND_STARTON x x FUNCPEND_NONSOLID FUNCPEND_RETURNONTRIGGER x FUNCPEND_XAXIS FUNCPEND_YAXIS +# OVERVIEW +A brush that swings along a pivot point like a pendulum. + +# KEYS +- "targetname" : Name +- "damp" : Dampening factor. +- "distance" : Swinging distance in euler-angles. +- "speed" : Speed at which it swings in units-per-second. + +# SPAWNFLAGS +- FUNCPEND_STARTON (1) : Start swinging immediately. +- FUNCPEND_NONSOLID (8) : Don't do collision testing against this entity. +- FUNCPEND_RETURNONTRIGGER (16) : Once it gets triggered it'll return to its starting position. +- FUNCPEND_XAXIS (64) : Swing on the X-axis. +- FUNCPEND_YAXIS (128) : Swing on the Y-axis. + +# NOTES +Please include an origin brush so that a pivot point will be defined. + +# TRIVIA +This entity was introduced in Half-Life (1998). +*/ class func_pendulum:NSRenderableEntity { diff --git a/src/gs-entbase/server/func_physbox.qc b/src/gs-entbase/server/func_physbox.qc index 60b6bed1..0933a4c7 100644 --- a/src/gs-entbase/server/func_physbox.qc +++ b/src/gs-entbase/server/func_physbox.qc @@ -14,19 +14,19 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED func_physbox (0 .5 .8) ? x x x x x x x x x x x x FNCPHYBX_ASLEEP -Physics brush. - --------- KEYS -------- -"targetname" : Name - --------- TRIVIA -------- -This entity was introduced in Half-Life 2 (2004). -*/ - #ifndef PHYSICS_STATIC #define FNCPHYBX_ASLEEP 4096 +/*!QUAKED func_physbox (0 .5 .8) ? x x x x x x x x x x x x FNCPHYBX_ASLEEP +# OVERVIEW +Physics brush. + +# KEYS +- "targetname" : Name + +# TRIVIA +This entity was introduced in Half-Life 2 (2004). +*/ class func_physbox:NSPhysicsEntity { diff --git a/src/gs-entbase/server/func_plat.qc b/src/gs-entbase/server/func_plat.qc index e005811f..b6ca9f32 100644 --- a/src/gs-entbase/server/func_plat.qc +++ b/src/gs-entbase/server/func_plat.qc @@ -14,18 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED func_plat (0 .5 .8) ? FNCPLAT_TRIGGER -It's a simple elevator. It goes down... and back up. - --------- KEYS -------- -"targetname" : Name -"speed" : Speed of the lift in units per second -"height" : Number of units the lift is supposed to move down - --------- TRIVIA -------- -This entity was introduced in Quake (1996). -*/ - enumflags { FNCPLAT_TRIGGER, @@ -39,6 +27,25 @@ enum PLATSTATE_DOWN }; +/*!QUAKED func_plat (0 .5 .8) ? FNCPLAT_TRIGGER +# OVERVIEW +It's a simple elevator. It goes down... and back up. + +# KEYS +- "targetname" : Name +- "speed" : Speed of the lift in units per second +- "height" : Number of units the lift is supposed to move down + +# SPAWNFLAGS +- FNCPLAT_TRIGGER (1) : Has to be triggered to move. + +# NOTES +By default, touching the platform near its end/start point results in the platform +to be called up/down. + +# TRIVIA +This entity was introduced in Quake (1996). +*/ class func_plat:NSRenderableEntity { diff --git a/src/gs-entbase/server/func_platrot.qc b/src/gs-entbase/server/func_platrot.qc index 43c27a79..ba160e71 100644 --- a/src/gs-entbase/server/func_platrot.qc +++ b/src/gs-entbase/server/func_platrot.qc @@ -14,23 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED func_platrot (0 .5 .8) ? -A vertically moving platform that rotates. - --------- KEYS -------- -"targetname" : Name -"noise1" : Sound when moving -"noise2" : Sound when stopped -"speed" : Speed of rotation in u/s -"height" : Vertical travel distance -"rotation" : Rotation amount, in degrees - --------- NOTES -------- - --------- HISTORY -------- -This entity was introduced in Half-Life (1998). -*/ - enumflags { FNCPLAT_TRIGGER, @@ -44,6 +27,25 @@ enum PLATSTATE_DOWN }; + +/*!QUAKED func_platrot (0 .5 .8) ? +# OVERVIEW +A vertically moving platform that rotates. + +# KEYS +- "targetname" : Name +- "noise1" : Sound when moving +- "noise2" : Sound when stopped +- "speed" : Speed of rotation in u/s +- "height" : Vertical travel distance +- "rotation" : Rotation amount, in degrees + +# NOTES +Spins. + +-------- HISTORY -------- +This entity was introduced in Half-Life (1998). +*/ class func_platrot:NSRenderableEntity { diff --git a/src/gs-entbase/server/func_pushable.qc b/src/gs-entbase/server/func_pushable.qc index 3e6850bc..1b038ecc 100644 --- a/src/gs-entbase/server/func_pushable.qc +++ b/src/gs-entbase/server/func_pushable.qc @@ -14,23 +14,28 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED func_pushable (0 .5 .8) ? SF_TRIGGER SF_TOUCH SF_PRESSURE +/*!QUAKED func_pushable (0 .5 .8) ? SF_TRIGGER SF_TOUCH SF_PRESSURE +# OVERVIEW This is essentially the same entity as a func_breakable, but a player can push and pull it around the level. --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered. -"killtarget" : Target to kill when triggered. +# KEYS +- "targetname" : Name +- "target" : Target when triggered. +- "killtarget" : Target to kill when triggered. --------- NOTES -------- +# SPAWNFLAGS +- SF_TRIGGER (1) : Break only when triggered. +- SF_TOUCH (2) : Touch can break. +- SF_PRESSURE (4) : Standing on top can break. + +# NOTES It uses stepping player physics to move around. Please look at func_breakable for more entity keys, inputs and outputs. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life (1998). */ - class func_pushable:func_breakable { diff --git a/src/gs-entbase/server/func_recharge.qc b/src/gs-entbase/server/func_recharge.qc index 940f281e..75d19407 100644 --- a/src/gs-entbase/server/func_recharge.qc +++ b/src/gs-entbase/server/func_recharge.qc @@ -14,21 +14,21 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED func_recharge (0 .5 .8) ? +/*!QUAKED func_recharge (0 .5 .8) ? +# OVERVIEW Brush that fills up your armor when used, to a maximum of 100 points. --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered. -"killtarget" : Target to kill when triggered. -"snd_first" : Sound to play when first used. -"snd_charging" : Sound to play when first charging. -"snd_done" : Sound to play when first finished charging. +# KEYS +- "targetname" : Name +- "target" : Target when triggered. +- "killtarget" : Target to kill when triggered. +- "snd_first" : Sound to play when first used. +- "snd_charging" : Sound to play when first charging. +- "snd_done" : Sound to play when first finished charging. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life (1998). */ - class func_recharge:NSRenderableEntity { diff --git a/src/gs-entbase/server/func_rot_button.qc b/src/gs-entbase/server/func_rot_button.qc index e7fc38df..4d8211fc 100644 --- a/src/gs-entbase/server/func_rot_button.qc +++ b/src/gs-entbase/server/func_rot_button.qc @@ -14,31 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED func_rot_button (0 .5 .8) ? FNCROTBUT_NONSOLID FNCROTBUT_REVERSE x x x FNCROTBUT_TOGGLE FNCROTBUT_XAXIS FNCROTBUT_YAXIS FNCROTBUT_TOUCHABLE -A button that rotates along a pivot point. Used for valves, spigots and alike. - --------- KEYS -------- -"targetname" : Name -"target" : Name of the entity to trigger when opened -"speed" : How fast the button rotates when activated. -"health" : If non-zero, the button must be damaged to turn. -"wait" : Time to wait before button resets itself. -1 makes it stay set. -"distance" : Distance in degrees the button will rotate. - --------- SPAWNFLAGS -------- -FNCROTBUT_NONSOLID : Don't do collision testing against this entity. -FNCROTBUT_REVERSE : Rotate the counter-clockwise. -FNCROTBUT_TOGGLE : Can only be activated via trigger, not player interaction. -FNCROTBUT_XAXIS : Rotate along the X-axis. -FNCROTBUT_YAXIS : Rotate along the Y-axis. - --------- NOTES -------- -Please include an origin brush so that a pivot point will be defined. - --------- TRIVIA -------- -This entity was introduced in Half-Life (1998). -*/ - enumflags { FNCROTBUT_NONSOLID, @@ -60,6 +35,31 @@ enum ROTBTNSTATE_CLOSING }; +/*!QUAKED func_rot_button (0 .5 .8) ? FNCROTBUT_NONSOLID FNCROTBUT_REVERSE x x x FNCROTBUT_TOGGLE FNCROTBUT_XAXIS FNCROTBUT_YAXIS FNCROTBUT_TOUCHABLE +# OVERVIEW +A button that rotates along a pivot point. Used for valves, spigots and alike. + +# KEYS +- "targetname" : Name +- "target" : Name of the entity to trigger when opened +- "speed" : How fast the button rotates when activated. +- "health" : If non-zero, the button must be damaged to turn. +- "wait" : Time to wait before button resets itself. -1 makes it stay set. +- "distance" : Distance in degrees the button will rotate. + +# SPAWNFLAGS +- FNCROTBUT_NONSOLID (1) : Don't do collision testing against this entity. +- FNCROTBUT_REVERSE (2) : Rotate the counter-clockwise. +- FNCROTBUT_TOGGLE (32) : Can only be activated via trigger, not player interaction. +- FNCROTBUT_XAXIS (64) : Rotate along the X-axis. +- FNCROTBUT_YAXIS (128) : Rotate along the Y-axis. + +# NOTES +Please include an origin brush so that a pivot point will be defined. + +# TRIVIA +This entity was introduced in Half-Life (1998). +*/ class func_rot_button:NSSurfacePropEntity { diff --git a/src/gs-entbase/server/func_rotating.qc b/src/gs-entbase/server/func_rotating.qc index 4d88c312..75c54046 100644 --- a/src/gs-entbase/server/func_rotating.qc +++ b/src/gs-entbase/server/func_rotating.qc @@ -14,36 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED func_rotating (0 .5 .8) ? FR_STARTON FR_REVERSE FR_ZAXIS FR_XAXIS FR_ACCDCC FR_FANPAIN FR_NOTSOLID FR_SMALLRADIUS FR_MRADIUS FR_LRADIUS FR_TOGGLEDIR -Rotating brush object. Useful for fans, etc. - --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered. -"killtarget" : Target to kill when triggered. -"speed" : Speed in units per second. -"dmg" : Damage applied to entity blocking its rotational path. - --------- SPAWNFLAGS -------- -FR_STARTON : Start on. -FR_REVERSE : Spin in reverse. -FR_ZAXIS : Spin on the Z-axis. -FR_XAXIS : Spin on the X-axis. -FR_ACCDCC : Enable acceleration and de-acceleration. -FR_FANPAIN : Will damage entities that collide when turned on. -FR_NOTSOLID : Don't do collision testing against this entity. -FR_SMALLRADIUS : Fan sound will have a small playback radius. -FR_MRADIUS : Fan sound will have a medium playback radius. -FR_LRADIUS : Fan sound will have a large playback radius. -FR_TOGGLEDIR : Reverses direction when triggered. - --------- NOTES -------- -Please include an origin brush so that a pivot point will be defined. - --------- TRIVIA -------- -This entity was introduced in Half-Life (1998). -*/ - #ifdef GS_DEVELOPER var int autocvar_dev_rotspeed = 0; #endif @@ -63,6 +33,36 @@ enumflags FR_TOGGLEDIR }; +/*!QUAKED func_rotating (0 .5 .8) ? FR_STARTON FR_REVERSE FR_ZAXIS FR_XAXIS FR_ACCDCC FR_FANPAIN FR_NOTSOLID FR_SMALLRADIUS FR_MRADIUS FR_LRADIUS FR_TOGGLEDIR +# OVERVIEW +Rotating brush object. Useful for fans, etc. + +# KEYS +- "targetname" : Name +- "target" : Target when triggered. +- "killtarget" : Target to kill when triggered. +- "speed" : Speed in units per second. +- "dmg" : Damage applied to entity blocking its rotational path. + +# SPAWNFLAGS +- FR_STARTON (1) : Start on. +- FR_REVERSE (2) : Spin in reverse. +- FR_ZAXIS (4) : Spin on the Z-axis. +- FR_XAXIS (8) : Spin on the X-axis. +- FR_ACCDCC (16) : Enable acceleration and de-acceleration. +- FR_FANPAIN (32) : Will damage entities that collide when turned on. +- FR_NOTSOLID (64) : Don't do collision testing against this entity. +- FR_SMALLRADIUS (128) : Fan sound will have a small playback radius. +- FR_MRADIUS (256) : Fan sound will have a medium playback radius. +- FR_LRADIUS (512) : Fan sound will have a large playback radius. +- FR_TOGGLEDIR (1024) : Reverses direction when triggered. + +# NOTES +Please include an origin brush so that a pivot point will be defined. + +# TRIVIA +This entity was introduced in Half-Life (1998). +*/ class func_rotating:NSRenderableEntity { diff --git a/src/gs-entbase/server/func_tank.qc b/src/gs-entbase/server/func_tank.qc index f8e18e10..b0594232 100644 --- a/src/gs-entbase/server/func_tank.qc +++ b/src/gs-entbase/server/func_tank.qc @@ -14,47 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED func_tank (0 .5 .8) ? FNCTANK_ACTIVE x x x FNCTANK_DIRECTONLY FNCTANK_CONTROLLABLE -A mountable tank gun turret type entity. A player (or NPC) can interact with -it and shoot it. It's in the same family as the func_tankmortar entity, the -difference being that this shoots bullets and not mortar blasts. - --------- KEYS -------- -"targetname" : Name -"yawrate" : The speed of the left/right movement of the gun. -"yawrange" : Range of left/right movement in degrees. -"pitchrate" : The speed of the up/down movement of the gun. -"pitchrange" : Range of up/down movement in degrees. -"barrel" : Distance from origin to barrel tip in units. -"barrely" : Horizontal distance origin to the center of the barrel tip. -"barrelz" : Vertical distance origin to the center of the barrel tip. -"firerate" : Number of bullets fired per second. -"bullet_damage" : Damage each fired bullet does. -"firespread" : Accuracy of the gun. 0 is best, 4 is worst. -"persistance" : Time in seconds for how long an NPC might continue shooting. -"minRange" : Minimum range the target can be at for an NPC to fire. -"maxRange" : Maximum range the target can be at for an NPC to fire. -"spritesmoke" : Sprite to spawn for 'smoke' when the entity is fired. -"spriteflash" : Sprite to spawn for a 'muzzleflash' when the entity is fired. -"spritescale" : Scale multiplier for both smoke and flash sprites. -"rotatesound" : Sound file to play in a loop while barrel is rotating. - --------- SPAWNFLAGS -------- -FNCTANK_ACTIVE : Unimplemented. -FNCTANK_DIRECTONLY : Unimplemented. -FNCTANK_CONTROLLABLE : Unimplemented. - --------- NOTES -------- -I don't like the sprite stuff tacked on at all because of the extra networking -involved and because it's so awfully GoldSrc specific. -Eventually I need to design a more generic routine that allows people to just -refer to materials with the appropriate blend-modes instead of hardcoding that -some random sprites needs to be treated additive. - --------- TRIVIA -------- -This entity was introduced in Half-Life (1998). -*/ - /* TODO: Implement these */ enumflags { @@ -66,6 +25,47 @@ enumflags FNCTANK_CONTROLLABLE }; +/*!QUAKED func_tank (0 .5 .8) ? FNCTANK_ACTIVE x x x FNCTANK_DIRECTONLY FNCTANK_CONTROLLABLE +# OVERVIEW +A mountable tank gun turret type entity. A player (or NPC) can interact with +it and shoot it. It's in the same family as the func_tankmortar entity, the +difference being that this shoots bullets and not mortar blasts. + +# KEYS +- "targetname" : Name +- "yawrate" : The speed of the left/right movement of the gun. +- "yawrange" : Range of left/right movement in degrees. +- "pitchrate" : The speed of the up/down movement of the gun. +- "pitchrange" : Range of up/down movement in degrees. +- "barrel" : Distance from origin to barrel tip in units. +- "barrely" : Horizontal distance origin to the center of the barrel tip. +- "barrelz" : Vertical distance origin to the center of the barrel tip. +- "firerate" : Number of bullets fired per second. +- "bullet_damage" : Damage each fired bullet does. +- "firespread" : Accuracy of the gun. 0 is best, 4 is worst. +- "persistance" : Time in seconds for how long an NPC might continue shooting. +- "minRange" : Minimum range the target can be at for an NPC to fire. +- "maxRange" : Maximum range the target can be at for an NPC to fire. +- "spritesmoke" : Sprite to spawn for 'smoke' when the entity is fired. +- "spriteflash" : Sprite to spawn for a 'muzzleflash' when the entity is fired. +- "spritescale" : Scale multiplier for both smoke and flash sprites. +- "rotatesound" : Sound file to play in a loop while barrel is rotating. + +# SPAWNFLAGS +- FNCTANK_ACTIVE (1) : TODO: Start active? +- FNCTANK_DIRECTONLY (16) : TODO: ? +- FNCTANK_CONTROLLABLE (32) : TODO: Can be interacted with similar to a tankmortar? + +# NOTES +I don't like the sprite stuff tacked on at all because of the extra networking +involved and because it's so awfully GoldSrc specific. +Eventually I need to design a more generic routine that allows people to just +refer to materials with the appropriate blend-modes instead of hardcoding that +some random sprites needs to be treated additive. + +# TRIVIA +This entity was introduced in Half-Life (1998). +*/ class func_tank:NSVehicle { diff --git a/src/gs-entbase/server/func_tankcontrols.qc b/src/gs-entbase/server/func_tankcontrols.qc index ee593fbb..a28c305a 100644 --- a/src/gs-entbase/server/func_tankcontrols.qc +++ b/src/gs-entbase/server/func_tankcontrols.qc @@ -14,17 +14,17 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED func_tankcontrols (0 .5 .8) ? +/*!QUAKED func_tankcontrols (0 .5 .8) ? +# OVERVIEW Brush that marks the usable region of a func_tankmortar, in order to gain control. --------- KEYS -------- -"targetname" : Name +# KEYS +- "targetname" : Name --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life (1998). */ - class func_tankcontrols:NSBrushTrigger { diff --git a/src/gs-entbase/server/func_tracktrain.qc b/src/gs-entbase/server/func_tracktrain.qc index 8e2220ca..d51d084e 100644 --- a/src/gs-entbase/server/func_tracktrain.qc +++ b/src/gs-entbase/server/func_tracktrain.qc @@ -14,34 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED func_tracktrain (0 .5 .8) ? TRAIN_WAIT TRAIN_NOPITCH x TRAIN_NOTSOLID -Moving platform following along path_corner entities, aka nodes. -Most of its behaviour is controlled by the path_corner entities it passes over. -See the entity definition for path_corner to find out more. - --------- KEYS -------- -"targetname" : Name -"target" : First node. -"killtarget" : Target to kill when triggered. -"dmg" : Damage to inflict upon a person blocking the way. -"snd_move" : Path to sound sample which plays when it's moving. -"snd_stop" : Path to sound sample which plays when it stops moving. - --------- NOTES -------- -Upon level entry, the func_tracktrain will spawn right where its first path_corner -node is. This is so you can light the func_tracktrain somewhere else - like a lonely -box somewhere outside the playable area. - -If no targetname is specified, the train will move on its own at map-launch. - -Marking the func_tracktrain with the flag TRAIN_NOTSOLID will make entities not -collide with the train. This is best used for things in the distance or for -when lasers are following this train as a sort of guide. - --------- TRIVIA -------- -This entity was introduced in Quake (1996). -*/ - enumflags { TRAIN_WAIT, @@ -50,6 +22,33 @@ enumflags TRAIN_NOTSOLID }; +/*!QUAKED func_tracktrain (0 .5 .8) ? TRAIN_WAIT TRAIN_NOPITCH x TRAIN_NOTSOLID +# OVERVIEW +An interactive train that moves along a path akin to func_train. + +# KEYS +- "targetname" : Name +- "target" : First node. +- "killtarget" : Target to kill when triggered. +- "dmg" : Damage to inflict upon a person blocking the way. +- "snd_move" : Path to sound sample which plays when it's moving. +- "snd_stop" : Path to sound sample which plays when it stops moving. + +# SPAWNFLAGS +- TRAIN_WAIT (1) : Stop at each path_corner until we're triggered again. +- TRAIN_NOPITCH (2) : Train does not pivot up/down at all. +- TRAIN_NOTSOLID (8) : Don't do collision testing against this entity. + +# NOTES +Upon level entry, the func_tracktrain will spawn right where its first path_corner +node is. This is so you can light the func_tracktrain somewhere else - like a lonely +box somewhere outside the playable area. + +If no targetname is specified, the train will move on its own at map-launch. + +# TRIVIA +This entity was introduced in Half-Life (1998). +*/ class func_tracktrain:NSRenderableEntity { diff --git a/src/gs-entbase/server/func_tracktraincontrols.qc b/src/gs-entbase/server/func_tracktraincontrols.qc index ca81e050..d1f2fcce 100644 --- a/src/gs-entbase/server/func_tracktraincontrols.qc +++ b/src/gs-entbase/server/func_tracktraincontrols.qc @@ -14,18 +14,18 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED func_traincontrols (0 .5 .8) ? +/*!QUAKED func_traincontrols (0 .5 .8) ? +# OVERVIEW Brush that marks the usable region of a func_tracktrain, in order to gain control. --------- KEYS -------- -"targetname" : Name -"target" : Name of the func_vehicle to control +# KEYS +- "targetname" : Name +- "target" : Name of the func_vehicle to control --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life (1998). */ - class func_traincontrols:NSBrushTrigger { diff --git a/src/gs-entbase/server/func_train.qc b/src/gs-entbase/server/func_train.qc index 28538d41..1d3c12b6 100644 --- a/src/gs-entbase/server/func_train.qc +++ b/src/gs-entbase/server/func_train.qc @@ -14,24 +14,33 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED func_train (0 .5 .8) ? TRAIN_WAIT x x TRAIN_NOTSOLID +enumflags +{ + TRAIN_WAIT, + TRAIN_UNUSED1, + TRAIN_UNUSED2, + TRAIN_NOTSOLID +}; + +/*!QUAKED func_train (0 .5 .8) ? TRAIN_WAIT x x TRAIN_NOTSOLID +# OVERVIEW Moving platform following along path_corner entities, aka nodes. Most of its behaviour is controlled by the path_corner entities it passes over. See the entity definition for path_corner to find out more. --------- KEYS -------- -"targetname" : Name -"target" : First node. -"killtarget" : Target to kill when triggered. -"dmg" : Damage to inflict upon a person blocking the way. -"snd_move" : Path to sound sample which plays when it's moving. -"snd_stop" : Path to sound sample which plays when it stops moving. +# KEYS +- "targetname" : Name +- "target" : First node. +- "killtarget" : Target to kill when triggered. +- "dmg" : Damage to inflict upon a person blocking the way. +- "snd_move" : Path to sound sample which plays when it's moving. +- "snd_stop" : Path to sound sample which plays when it stops moving. --------- SPAWNFLAGS -------- -TRAIN_WAIT : Stop at each path_corner until we're triggered again. -TRAIN_NOTSOLID : Don't do collision testing against this entity. +# SPAWNFLAGS +- TRAIN_WAIT (1) : Stop at each path_corner until we're triggered again. +- TRAIN_NOTSOLID (8) : Don't do collision testing against this entity. --------- NOTES -------- +# NOTES Upon level entry, the func_train will spawn right where its first path_corner node is. This is so you can light the func_train somewhere else - like a lonely box somewhere outside the playable area. @@ -42,18 +51,9 @@ Marking the func_train with the flag TRAIN_NOTSOLID will make entities not collide with the train. This is best used for things in the distance or for when lasers are following this train as a sort of guide. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Quake (1996). */ - -enumflags -{ - TRAIN_WAIT, - TRAIN_UNUSED1, - TRAIN_UNUSED2, - TRAIN_NOTSOLID -}; - class func_train:NSRenderableEntity { diff --git a/src/gs-entbase/server/func_vehiclecontrols.qc b/src/gs-entbase/server/func_vehiclecontrols.qc index 3ebefffa..0e37cb0a 100644 --- a/src/gs-entbase/server/func_vehiclecontrols.qc +++ b/src/gs-entbase/server/func_vehiclecontrols.qc @@ -14,25 +14,30 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED func_vehiclecontrols (0 .5 .8) ? +/*!QUAKED func_vehiclecontrols (0 .5 .8) ? +# OVERVIEW Brush that marks the usable region of a func_vehicle, in order to gain control. --------- KEYS -------- -"targetname" : Name -"target" : Name of the func_vehicle to control +# KEYS +- "targetname" : Name +- "target" : Name of the func_vehicle to control --------- NOTES -------- +# NOTES It's the same as func_tracktraincontrols, except that it's for func_vehicle instead of func_tracktrain. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Counter-Strike (2000). */ +class +func_vehiclecontrols:func_traincontrols +{ + void func_vehiclecontrols(void); +}; void -func_vehiclecontrols(void) +func_vehiclecontrols::func_vehiclecontrols(void) { - spawnfunc_func_traincontrols(); - self.classname = "func_vehiclecontrols"; -} + +} \ No newline at end of file diff --git a/src/gs-entbase/server/func_wall_toggle.qc b/src/gs-entbase/server/func_wall_toggle.qc index a9310aa0..c4fdc1fb 100644 --- a/src/gs-entbase/server/func_wall_toggle.qc +++ b/src/gs-entbase/server/func_wall_toggle.qc @@ -14,24 +14,24 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED func_wall_toggle (0 .5 .8) ? FTW_STARTHIDDEN -Brush that can be hidden and reappear when triggered. - --------- KEYS -------- -"targetname" : Name - --------- SPAWNFLAGS -------- -FTW_STARTHIDDEN : Start invisible upon spawning. - --------- TRIVIA -------- -This entity was introduced in Half-Life (1998). -*/ - enumflags { FTW_STARTHIDDEN }; +/*!QUAKED func_wall_toggle (0 .5 .8) ? FTW_STARTHIDDEN +# OVERVIEW +Brush that can be hidden and reappear when triggered. + +# KEYS +- "targetname" : Name + +# SPAWNFLAGS +- FTW_STARTHIDDEN (1) : Start invisible upon spawning. + +# TRIVIA +This entity was introduced in Half-Life (1998). +*/ class func_wall_toggle:NSRenderableEntity { diff --git a/src/gs-entbase/server/game_counter.qc b/src/gs-entbase/server/game_counter.qc index b34e4f7b..22661cf9 100644 --- a/src/gs-entbase/server/game_counter.qc +++ b/src/gs-entbase/server/game_counter.qc @@ -14,32 +14,32 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED game_counter (0 .5 .8) (-8 -8 -8) (8 8 8) GMCNT_REMOVE GMCNT_RESET -This entity counts the number of times it has been triggered and activates its -target when it reaches a specified number. - --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered. -"master" : Master entity (optional) -"killtarget" : Target to kill when triggered. -"health" : Number of times the entity has to be triggered. -"frags" : Starting value of this game_counter. - --------- SPAWNFLAGS -------- -GMCNT_REMOVE : Remove permanently once it fired its target. -GMCNT_RESET : Reset internal counter to starting value once it fired its target. - --------- TRIVIA -------- -This entity was introduced in Half-Life (1998). -*/ - enumflags { GMCNT_REMOVE, GMCNT_RESET }; +/*!QUAKED game_counter (0 .5 .8) (-8 -8 -8) (8 8 8) GMCNT_REMOVE GMCNT_RESET +# OVERVIEW +This entity counts the number of times it has been triggered and activates its +target when it reaches a specified number. + +# KEYS +- "targetname" : Name +- "target" : Target when triggered. +- "master" : Master entity (optional) +- "killtarget" : Target to kill when triggered. +- "health" : Number of times the entity has to be triggered. +- "frags" : Starting value of this game_counter. + +# SPAWNFLAGS +- GMCNT_REMOVE (1) : Remove permanently once it fired its target. +- GMCNT_RESET (2) : Reset internal counter to starting value once it fired its target. + +# TRIVIA +This entity was introduced in Half-Life (1998). +*/ class game_counter:NSPointTrigger { diff --git a/src/gs-entbase/server/game_counter_set.qc b/src/gs-entbase/server/game_counter_set.qc index 71a126bc..3413912d 100644 --- a/src/gs-entbase/server/game_counter_set.qc +++ b/src/gs-entbase/server/game_counter_set.qc @@ -14,23 +14,23 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED game_counter_set (0 .5 .8) (-8 -8 -8) (8 8 8) GMCNTS_REMOVE +/*!QUAKED game_counter_set (0 .5 .8) (-8 -8 -8) (8 8 8) GMCNTS_REMOVE +# OVERVIEW When triggered, it'll change the internal counter of its target (a game_counter) to the specified value within. --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered. -"master" : Master entity (optional) -"frags" : New value of the target game_counter. +# KEYS +- "targetname" : Name +- "target" : Target when triggered. +- "master" : Master entity (optional) +- "frags" : New value of the target game_counter. --------- SPAWNFLAGS -------- -GMCNT_REMOVE : Remove permanently once it fired its target. +# SPAWNFLAGS +- GMCNT_REMOVE (1) : Remove permanently once it fired its target. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life (1998). */ - enumflags { GMCNTS_REMOVE, diff --git a/src/gs-entbase/server/game_player_equip.qc b/src/gs-entbase/server/game_player_equip.qc index 85bd24b7..dbbe8f57 100644 --- a/src/gs-entbase/server/game_player_equip.qc +++ b/src/gs-entbase/server/game_player_equip.qc @@ -14,14 +14,23 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED game_player_equip (1 0 0) (-8 -8 -8) (8 8 8) GPEFL_TRIGGERONLY +enumflags +{ + GPEFL_TRIGGERONLY +}; + +/*!QUAKED game_player_equip (1 0 0) (-8 -8 -8) (8 8 8) GPEFL_TRIGGERONLY +# OVERVIEW Entity that emits items when triggered, or upon player spawn (MP-only). --------- KEYS -------- -"targetname" : Name -"master" : Team Master +# KEYS +- "targetname" : Name +- "master" : Team Master --------- NOTES -------- +# SPAWNFLAGS + - GPEFL_TRIGGERONLY (1) : See notes. + +# NOTES When the flag GPEFL_TRIGGERONLY is set, the entity has to be triggered in order to 'give' the activator the item. Otherwise it'll automatically 'give' every client its noted items upon spawning. @@ -34,15 +43,9 @@ expected behaviour. Some modifications might depend on that... I still need to implement the Team Master functionality. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life (1998). */ - -enumflags -{ - GPEFL_TRIGGERONLY -}; - class game_player_equip:NSPointTrigger { diff --git a/src/gs-entbase/server/game_text.qc b/src/gs-entbase/server/game_text.qc index c947af10..6c048150 100644 --- a/src/gs-entbase/server/game_text.qc +++ b/src/gs-entbase/server/game_text.qc @@ -14,38 +14,38 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED game_text (1 0 0) (-8 -8 -8) (8 8 8) GTF_ALLPLAYERS -This entity displays a message of your choice on-screen. - --------- KEYS -------- -"targetname" : Name -"message" : Text to display. Can be a titles.txt entry. -"x" : Horizontal position of text. (0 - 1.0 = left to right, -1 = center) -"y" : Vertical position of text. (0 - 1.0 = top to bottom, -1 = center) -"effect" : Effect to apply to the text. 0 : Fade In/Out; 1 : Credits; 2 : Scan Out -"color" : The main colour in RGB255. -"color2" : The highlight colour in RGB255. -"fadein" : Time taken to fade in each character. -"fadeout" : Time taken to fade out message. -"holdtime" : Length of time to hold message on screen after fading in. -"fxtime" : Time the highlight lags behind the leading edge of the text in seconds. -"channel" : Message channel to use. Meant for overriding messages. - --------- SPAWNFLAGS -------- -GTF_ALLPLAYERS : Broadcast message to all players, not just the activator. - --------- NOTES -------- -Line breaks inside "message" can be added with a \n character. - --------- TRIVIA -------- -This entity was introduced in Half-Life (1998). -*/ - enumflags { GTF_ALLPLAYERS }; +/*!QUAKED game_text (1 0 0) (-8 -8 -8) (8 8 8) GTF_ALLPLAYERS +# OVERVIEW +This entity displays a message of your choice on-screen. + +# KEYS +- "targetname" : Name +- "message" : Text to display. Can be a titles.txt entry. +- "x" : Horizontal position of text. (0 - 1.0 = left to right, -1 = center) +- "y" : Vertical position of text. (0 - 1.0 = top to bottom, -1 = center) +- "effect" : Effect to apply to the text. 0 : Fade In/Out; 1 : Credits; 2 : Scan Out +- "color" : The main colour in RGB255. +- "color2" : The highlight colour in RGB255. +- "fadein" : Time taken to fade in each character. +- "fadeout" : Time taken to fade out message. +- "holdtime" : Length of time to hold message on screen after fading in. +- "fxtime" : Time the highlight lags behind the leading edge of the text in seconds. +- "channel" : Message channel to use. Meant for overriding messages. + +# SPAWNFLAGS +- GTF_ALLPLAYERS (1) : Broadcast message to all players, not just the activator. + +# NOTES +Line breaks inside "message" can be added with a \n character. + +# TRIVIA +This entity was introduced in Half-Life (1998). +*/ class game_text:NSPointTrigger { diff --git a/src/gs-entbase/server/gibshooter.qc b/src/gs-entbase/server/gibshooter.qc index 167443a2..206d0854 100644 --- a/src/gs-entbase/server/gibshooter.qc +++ b/src/gs-entbase/server/gibshooter.qc @@ -14,27 +14,30 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED gibshooter (1 0 0) (-8 -8 -8) (8 8 8) GIBS_REPEATABLE +/*!QUAKED gibshooter (1 0 0) (-8 -8 -8) (8 8 8) GIBS_REPEATABLE +# OVERVIEW Shoots model bouncy entities from its location. --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered. -"killtarget" : Target to kill when triggered. -"angles" : Sets the pitch, yaw and roll direction of the shooter. -"shootmodel" : Model file to shoot. -"shootsounds" : PCM sample to play whenever a piece shoots out. -"m_iGibs" : Amount of models shot in total. -"m_flDelay" : Delay before being able to be fired again. -"m_flVelocity" : Speed of the models in units per second. -"m_flVariance" : Delay between shots. -"m_flGibLife" : Life of the individual model piece. -"scale" : Scale modifier of the model pieces. +# KEYS +- "targetname" : Name +- "target" : Target when triggered. +- "killtarget" : Target to kill when triggered. +- "angles" : Sets the pitch, yaw and roll direction of the shooter. +- "shootmodel" : Model file to shoot. +- "shootsounds" : PCM sample to play whenever a piece shoots out. +- "m_iGibs" : Amount of models shot in total. +- "m_flDelay" : Delay before being able to be fired again. +- "m_flVelocity" : Speed of the models in units per second. +- "m_flVariance" : Delay between shots. +- "m_flGibLife" : Life of the individual model piece. +- "scale" : Scale modifier of the model pieces. --------- TRIVIA -------- +# SPAWNFLAGS +- GIBS_REPEATABLE (1) : Can be triggered repeatedly. + +# TRIVIA This entity was introduced in Half-Life (1998). */ - class gibshooter:env_shooter { diff --git a/src/gs-entbase/server/info_hint.qc b/src/gs-entbase/server/info_hint.qc index 84e76dd9..ad9ec422 100644 --- a/src/gs-entbase/server/info_hint.qc +++ b/src/gs-entbase/server/info_hint.qc @@ -14,77 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED info_hint (0 0 0) (-8 -8 -8) (8 8 8) x x x x x x x x x x x x x x x x HINTSF_ALLOWJUMPUP -Helper entity for the AI routines. Defines where to go for -sensible defense/offensive or other hints. - --------- KEYS -------- -"targetname" : Name -"hinttype" : Hint type, this controls this hints' purpose. See notes -"hintactivity" : Associated animation activity. Once an NPC goes to this node they'll play it -"nodeFOV" : Field of view of the node. You'll probably want to set a sensible angle too. -"StartHintDisabled" : Whether or not to 'hide' the hint on start, requiring activation to work. -"Group" : Hint group definition. Some NPCs are set up to only look for their specific group. -"IgnoreFacing" : Whether or not we need to ignore the angle (?), see notes. -"MinimumState" : The minimum AI state required to use this hint, see notes. -"MaximumState" : The maximum AI state allowed to use this hint, see notes. - --------- SPAWNFLAGS -------- -HINTSF_ALLOWJUMPUP : Allow the AI to 'jump' up this node. - --------- NOTES -------- -The 'hinttype' field can be one of these integer values: - - HINT_NONE = 0 - HINT_WORLD_WINDOW = 2 - HINT_WORLD_WORK_POSITION = 12 - HINT_WORLD_VISUALLY_INTERESTING = 13 - HINT_WORLD_VISUALLY_INTERESTING_DONT_AIM = 14 - HINT_WORLD_INHIBIT_COMBINE_MINES = 15 - HINT_WORLD_VISUALLY_INTERESTING_STEALTH = 16 - HINT_TACTICAL_COVER_MED = 100 - HINT_TACTICAL_COVER_LOW = 101 - HINT_TACTICAL_WASTESCANNER = 102 - HINT_TACTICAL_PINCH = 103 - HINT_TACTICAL_GUARD_POINT = 104 - HINT_TACTICAL_ENEMY_DISADVANTAGED = 105 - HINT_HEALTH_KIT = 106 - HINT_ANTLION_BURROW_POINT = 400 - HINT_ANTLION_THUMPER_FLEE_POINT = 401 - HINT_HEADCRAB_BURROW_POINT = 450 - HINT_CROW_FLYTO_POINT = 700 - HINT_CROW_PERCH_POINT = 701 - HINT_FOLLOW_WAIT_POINT = 900 - HINT_JUMP_OVERRIDE = 901 - HINT_PLAYER_SQUAD_TRANSITON_POINT = 902 - HINT_NPC_EXIT_POINT = 903 - HINT_STRIDER_NODE = 904 - HINT_PLAYER_ALLY_MOVE_AWAY_DEST = 950 - HINT_PLAYER_ALLY_FEAR_DEST = 951 - HINT_WORLD_MACHINERY = 1000 - HINT_WORLD_BLINKING_LIGHT = 1001 - HINT_WORLD_HUMAN_BLOOD = 1002 - HINT_WORLD_ALIEN_BLOOD = 1003 - -The 'IgnoreFacing' field can be one of 3 values: - - IGNORE_NO = 0 - IGNORE_YES = 1 - IGNORE_DEFAULT = 2 - -The 'MinimumState' and 'MaximumState' field can be one of 3 values: - - AISTATE_IDLE = 0 - AISTATE_ALERT = 1 - AISTATE_COMBAT = 2 - --------- TRIVIA -------- -This entity was introduced in Half-Life 2 (2004). - -Some functionality of this entity was meant to be part of `info_node` in the original Half-Life (1998). -However, that was never completed. -*/ - /* hint types taken from https://developer.valvesoftware.com/wiki/Hint_nodes#Hint */ typedef enum { @@ -137,6 +66,77 @@ typedef enum #define HINTSF_ALLOWJUMPUP 65536 +/*!QUAKED info_hint (0 0 0) (-8 -8 -8) (8 8 8) x x x x x x x x x x x x x x x x HINTSF_ALLOWJUMPUP +# OVERVIEW +Helper entity for the AI routines. Defines where to go for +sensible defense/offensive or other hints. + +# KEYS +- "targetname" : Name +- "hinttype" : Hint type, this controls this hints' purpose. See notes +- "hintactivity" : Associated animation activity. Once an NPC goes to this node they'll play it +- "nodeFOV" : Field of view of the node. You'll probably want to set a sensible angle too. +- "StartHintDisabled" : Whether or not to 'hide' the hint on start, requiring activation to work. +- "Group" : Hint group definition. Some NPCs are set up to only look for their specific group. +- "IgnoreFacing" : Whether or not we need to ignore the angle (?), see notes. +- "MinimumState" : The minimum AI state required to use this hint, see notes. +- "MaximumState" : The maximum AI state allowed to use this hint, see notes. + +# SPAWNFLAGS +- HINTSF_ALLOWJUMPUP (65536) : Allow the AI to 'jump' up this node. + +# NOTES +The 'hinttype' field can be one of these integer values: + + - HINT_NONE = 0 + - HINT_WORLD_WINDOW = 2 + - HINT_WORLD_WORK_POSITION = 12 + - HINT_WORLD_VISUALLY_INTERESTING = 13 + - HINT_WORLD_VISUALLY_INTERESTING_DONT_AIM = 14 + - HINT_WORLD_INHIBIT_COMBINE_MINES = 15 + - HINT_WORLD_VISUALLY_INTERESTING_STEALTH = 16 + - HINT_TACTICAL_COVER_MED = 100 + - HINT_TACTICAL_COVER_LOW = 101 + - HINT_TACTICAL_WASTESCANNER = 102 + - HINT_TACTICAL_PINCH = 103 + - HINT_TACTICAL_GUARD_POINT = 104 + - HINT_TACTICAL_ENEMY_DISADVANTAGED = 105 + - HINT_HEALTH_KIT = 106 + - HINT_ANTLION_BURROW_POINT = 400 + - HINT_ANTLION_THUMPER_FLEE_POINT = 401 + - HINT_HEADCRAB_BURROW_POINT = 450 + - HINT_CROW_FLYTO_POINT = 700 + - HINT_CROW_PERCH_POINT = 701 + - HINT_FOLLOW_WAIT_POINT = 900 + - HINT_JUMP_OVERRIDE = 901 + - HINT_PLAYER_SQUAD_TRANSITON_POINT = 902 + - HINT_NPC_EXIT_POINT = 903 + - HINT_STRIDER_NODE = 904 + - HINT_PLAYER_ALLY_MOVE_AWAY_DEST = 950 + - HINT_PLAYER_ALLY_FEAR_DEST = 951 + - HINT_WORLD_MACHINERY = 1000 + - HINT_WORLD_BLINKING_LIGHT = 1001 + - HINT_WORLD_HUMAN_BLOOD = 1002 + - HINT_WORLD_ALIEN_BLOOD = 1003 + +The 'IgnoreFacing' field can be one of 3 values: + + - IGNORE_NO = 0 + - IGNORE_YES = 1 + - IGNORE_DEFAULT = 2 + +The 'MinimumState' and 'MaximumState' field can be one of 3 values: + + - AISTATE_IDLE = 0 + - AISTATE_ALERT = 1 + - AISTATE_COMBAT = 2 + +# TRIVIA +This entity was introduced in Half-Life 2 (2004). + +Some functionality of this entity was meant to be part of `info_node` in the original Half-Life (1998). +However, that was never completed. +*/ class info_hint:NSPointTrigger { diff --git a/src/gs-entbase/server/info_intermission.qc b/src/gs-entbase/server/info_intermission.qc index dc2f75f1..e003aa79 100644 --- a/src/gs-entbase/server/info_intermission.qc +++ b/src/gs-entbase/server/info_intermission.qc @@ -14,23 +14,23 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED info_intermission (1 0 0) (-8 -8 -8) (8 8 8) +/*!QUAKED info_intermission (1 0 0) (-8 -8 -8) (8 8 8) +# OVERVIEW An entity that's used to create an 'Intermission' camera. --------- KEYS -------- -"targetname" : Name +# KEYS +- "targetname" : Name --------- NOTES -------- +# NOTES Some mods use this while displaying the final scores, once a timelimit is hit etc. When Intermission is active, the players camera will be teleported here and angles towards the aim target. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Quake (1996). */ - class info_intermission:NSPointTrigger { diff --git a/src/gs-entbase/server/info_node.qc b/src/gs-entbase/server/info_node.qc index a400fa41..f85df1d3 100644 --- a/src/gs-entbase/server/info_node.qc +++ b/src/gs-entbase/server/info_node.qc @@ -14,16 +14,16 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED info_node (0 0 0) (-8 -8 -8) (8 8 8) +/*!QUAKED info_node (0 0 0) (-8 -8 -8) (8 8 8) +# OVERVIEW It's a node, helping monsters navigate on the ground. --------- KEYS -------- -"targetname" : Name +# KEYS +- "targetname" : Name --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life (1998). */ - class info_node:NSPointTrigger { diff --git a/src/gs-entbase/server/info_node_air.qc b/src/gs-entbase/server/info_node_air.qc index 9add1d9e..56d6f638 100644 --- a/src/gs-entbase/server/info_node_air.qc +++ b/src/gs-entbase/server/info_node_air.qc @@ -14,16 +14,16 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED info_node_air (0 0 0) (-8 -8 -8) (8 8 8) +/*!QUAKED info_node_air (0 0 0) (-8 -8 -8) (8 8 8) +# OVERVIEW It's a node, helping monsters navigate in the air as well as underwater. --------- KEYS -------- -"targetname" : Name +# KEYS +- "targetname" : Name --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life (1998). */ - class info_node_air:NSPointTrigger { diff --git a/src/gs-entbase/server/info_notnull.qc b/src/gs-entbase/server/info_notnull.qc index 3c025968..656950de 100644 --- a/src/gs-entbase/server/info_notnull.qc +++ b/src/gs-entbase/server/info_notnull.qc @@ -14,24 +14,23 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED info_notnull (1 0 0) (-8 -8 -8) (8 8 8) +/*!QUAKED info_notnull (1 0 0) (-8 -8 -8) (8 8 8) +# OVERVIEW Helper entity for the game-logic its vast array of entities. It is most commonly used to aim active in-game entities towards a specific location. --------- KEYS -------- -"targetname" : Name +# KEYS +- "targetname" : Name --------- NOTES -------- +# NOTES For tasks such as aiming static/lightmapped light sources during the compiling process, please use info_null instead as it'll get removed after it has served its purpose. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Quake (1996). */ - - class info_notnull:NSPointTrigger { diff --git a/src/gs-entbase/server/info_null.qc b/src/gs-entbase/server/info_null.qc index 211cba76..39b00b53 100644 --- a/src/gs-entbase/server/info_null.qc +++ b/src/gs-entbase/server/info_null.qc @@ -14,21 +14,21 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED info_null (1 0 0) (-8 -8 -8) (8 8 8) +/*!QUAKED info_null (1 0 0) (-8 -8 -8) (8 8 8) +# OVERVIEW Helper entity for the map creation process only. It is supposed to be removed after compilation of a .bsp file. --------- KEYS -------- -"targetname" : Name +# KEYS +- "targetname" : Name --------- NOTES -------- +# NOTES If you're pointing any active game-logic entities to this entity, prepare to crash. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Quake (1996). */ - class info_null:NSPointTrigger { diff --git a/src/gs-entbase/server/infodecal.qc b/src/gs-entbase/server/infodecal.qc index ac8b0a9c..e77d4802 100644 --- a/src/gs-entbase/server/infodecal.qc +++ b/src/gs-entbase/server/infodecal.qc @@ -14,16 +14,17 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED infodecal (1 0 0) (-8 -8 -8) (8 8 8) +/*!QUAKED infodecal (1 0 0) (-8 -8 -8) (8 8 8) +# OVERVIEW Projects a decals.wad texture onto the nearest surface. It'll automatically figure out the surface based on distance. The texture will be aligned along the surface texture normals. --------- KEYS -------- -"targetname" : Name -"texture" : Name of the texture inside decals.wad it projects onto a surface. +# KEYS +- "targetname" : Name +- "texture" : Name of the texture inside decals.wad it projects onto a surface. --------- NOTES -------- +# NOTES This entity currently only works on BSP version 30 levels. If a targetname is supplied, it will have to be triggered by an entity in order @@ -32,10 +33,9 @@ to appear. Afterwards it cannot be triggered again. It will pick the nearest wall (currently checking a distance of 128 units, which is probably overkill). No angle has to be supplied. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life (1998). */ - class infodecal:NSPointTrigger { diff --git a/src/gs-entbase/server/item_food.qc b/src/gs-entbase/server/item_food.qc index 3c2787e6..d4a72c22 100644 --- a/src/gs-entbase/server/item_food.qc +++ b/src/gs-entbase/server/item_food.qc @@ -14,18 +14,18 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED item_food (1 0 0) (-8 -8 -8) (8 8 8) +/*!QUAKED item_food (1 0 0) (-8 -8 -8) (8 8 8) +# OVERVIEW This is a food item that will give the user 1 health when touched. --------- KEYS -------- -"targetname" : Name -"angles" : Sets the pitch, yaw and roll angles of the model. -"model" : Model file that will be displayed by the entity. +# KEYS +- "targetname" : Name +- "angles" : Sets the pitch, yaw and roll angles of the model. +- "model" : Model file that will be displayed by the entity. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life (1998). */ - class item_food:NSEntity { diff --git a/src/gs-entbase/server/light.qc b/src/gs-entbase/server/light.qc index 24fc66ed..c96adad0 100644 --- a/src/gs-entbase/server/light.qc +++ b/src/gs-entbase/server/light.qc @@ -14,24 +14,25 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED light (1 0 0) (-8 -8 -8) (8 8 8) LFL_LINEAR x LFL_DARK LFL_NOGRID x x +/*!QUAKED light (1 0 0) (-8 -8 -8) (8 8 8) LFL_LINEAR x LFL_DARK LFL_NOGRID x x +# OVERVIEW Infinitely small point of light illuminating the scene. --------- KEYS -------- -"targetname" : Name -"target" : When set, targets an enity instead, becoming a spotlight -"light" : Light intensity value. Default is '300' -"color" : Normalized RGB color value. Default is [1,1,1] -"color255" : RGB255 color value. e.g. '255 255 255' for white -"extradist" : The additional distance it should attempt to travel. -"radius" : Sets the light cone radius for spotlights. Default is '64' -"fade" : Sets the fade-distance of a light when LFL_LINEAR is set -"anglescale" : Sets the light angle scale of non-linear lights -"deviance" : Sets the deviance, jitter effect for each light sample. -"samples" : Number of light samples. This also needs to be set > 0.0 for deviance to work. -"filter" : Setting to blur the light/shadows resulting from this light. -"start_active" : Set to either 0 or 1 to tell the light in what mode to start in. -"style" : Light style ID. 0-11 are defined, 12-32 are reserved for switched +# KEYS +- "targetname" : Name +- "target" : When set, targets an enity instead, becoming a spotlight +- "light" : Light intensity value. Default is '300' +- "color" : Normalized RGB color value. Default is [1,1,1] +- "color255" : RGB255 color value. e.g. '255 255 255' for white +- "extradist" : The additional distance it should attempt to travel. +- "radius" : Sets the light cone radius for spotlights. Default is '64' +- "fade" : Sets the fade-distance of a light when LFL_LINEAR is set +- "anglescale" : Sets the light angle scale of non-linear lights +- "deviance" : Sets the deviance, jitter effect for each light sample. +- "samples" : Number of light samples. This also needs to be set > 0.0 for deviance to work. +- "filter" : Setting to blur the light/shadows resulting from this light. +- "start_active" : Set to either 0 or 1 to tell the light in what mode to start in. +- "style" : Light style ID. 0-11 are defined, 12-32 are reserved for switched lights. List of pre-defined styles: 0 = Normal 1 = Flicker A @@ -50,53 +51,20 @@ Infinitely small point of light illuminating the scene. 'a' being dark. 'z' being fully lit. Can be a string of characters that'll interpolate between at 10 FPS ingame. --------- SPAWNFLAGS -------- -LFL_LINEAR : Use linear falloff instead of inverse-square falloff. -LFL_DARK : Darken, instead of lighting the lightmap. -LFL_NOGRID : This light does not affect the lightgrid. +# SPAWNFLAGS +- LFL_LINEAR (1) : Use linear falloff instead of inverse-square falloff. +- LFL_DARK (4) : Darken, instead of lighting the lightmap. +- LFL_NOGRID (8) : This light does not affect the lightgrid. --------- NOTES -------- +# NOTES In idTech 2/GoldSrc etc. spawnflag 1 means a light starts off. This doesn't exist in idTech3 because lightstyles were not a thing. To avoid huge amounts of lightmap abuse, please consider using light_dynamic or env_projectedtexture for toggled or flickering lights. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Quake (1996). */ - -/*QUAKED light_surface (1 0 0) (-8 -8 -8) (8 8 8) -Material property modifier related to lighting. - --------- KEYS -------- -"targetname" : Name -"surfacename" : Material to make a light emitting surface. -"light" : Light intensity value. -"color" : Normalized RGB color value. E.g. '1.0 1.0 1.0' -"color255" : RGB255 color value. E.g. '255 255 255' -"subdivisions" : Defines how many surfacelights are spawned for this surface. -"bouncescale" : How strong photons will bounce for radiosity operations. Default is 1.0. -"backsplash_fraction" : When > 0, creates a backsplash light that illuminates our material. Default is 5 (percent). -"backsplash_distance" : How many units away from the surface the backsplash light will be placed. Default is 23 (units). -"style" : What lightstyle group the emitted light will belong to. - --------- NOTES -------- -Instead of having hundreds of off-shoot materials for your level, you can use -this to quickly make sure an existing material is adjusted for your level. - -The backsplash_fraction key can be set to 100 (percent) to ensure it's mostly -illuminated, however since the lights are round you might have some slightly -darker parts in the corners of a perfectly square surface. Keep this in mind. - -If you have round surfaces, especially patches, you should definitely adjust the -backsplash_distance key to make sure the light is spawning out far enough. -One giant, half circle patch surface might see issues otherwise. Not tested -though. - --------- TRIVIA -------- -This entity was introduced in Nuclide (2021). -*/ - class light:NSPointTrigger { @@ -265,4 +233,39 @@ light::Trigger(entity act, int state) CLASSEXPORT(light_spot, light) CLASSEXPORT(light_environment, light) -CLASSEXPORT(light_surface, light) + +/*!QUAKED light_surface (1 0 0) (-8 -8 -8) (8 8 8) +Material property modifier related to lighting. + +# KEYS +- "targetname" : Name +- "surfacename" : Material to make a light emitting surface. +- "light" : Light intensity value. +- "color" : Normalized RGB color value. E.g. '1.0 1.0 1.0' +- "color255" : RGB255 color value. E.g. '255 255 255' +- "subdivisions" : Defines how many surfacelights are spawned for this surface. +- "bouncescale" : How strong photons will bounce for radiosity operations. Default is 1.0. +- "backsplash_fraction" : When > 0, creates a backsplash light that illuminates our material. Default is 5 (percent). +- "backsplash_distance" : How many units away from the surface the backsplash light will be placed. Default is 23 (units). +- "style" : What lightstyle group the emitted light will belong to. + +# NOTES +Instead of having hundreds of off-shoot materials for your level, you can use +this to quickly make sure an existing material is adjusted for your level. + +The backsplash_fraction key can be set to 100 (percent) to ensure it's mostly +illuminated, however since the lights are round you might have some slightly +darker parts in the corners of a perfectly square surface. Keep this in mind. + +If you have round surfaces, especially patches, you should definitely adjust the +backsplash_distance key to make sure the light is spawning out far enough. +One giant, half circle patch surface might see issues otherwise. Not tested +though. + +# TRIVIA +This entity was introduced in Nuclide (2021). +*/ +class light_surface:light +{ + +}; diff --git a/src/gs-entbase/server/logic_auto.qc b/src/gs-entbase/server/logic_auto.qc index fe5201bb..e4908e0b 100644 --- a/src/gs-entbase/server/logic_auto.qc +++ b/src/gs-entbase/server/logic_auto.qc @@ -14,28 +14,29 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED logic_auto (1 0 0) (-8 -8 -8) (8 8 8) TA_USEONCE +/*!QUAKED logic_auto (1 0 0) (-8 -8 -8) (8 8 8) TA_USEONCE +# OVERVIEW Will automatically trigger its outputs when the level has spawned. This is Source's variant of trigger_auto. If you want to talk to old-styled targets instead, use that instead. --------- KEYS -------- -"targetname" : Name -"globalstate" : The env_global state to read before firing. +# KEYS +- "targetname" : Name +- "globalstate" : The env_global state to read before firing. --------- INPUTS -------- -"OnMapSpawn" : Triggered when the map is loaded for any reason. -"OnNewGame" : Triggered only when a new game starts on this level. -"OnLoadGame : Triggered when the map is loaded via save game. -"OnMapTransition" : Triggered when we load this map via level transition. -"OnBackgroundMap" : Triggered if this map is used as a menu background. -"OnMultiNewMap" : Same as 'OnMapSpawn' but only valid in multiplayer. -"OnMultiNewRound" : Triggered only during round restarts in multiplayer. +# INPUTS +- "OnMapSpawn" : Triggered when the map is loaded for any reason. +- "OnNewGame" : Triggered only when a new game starts on this level. +- "OnLoadGame : Triggered when the map is loaded via save game. +- "OnMapTransition" : Triggered when we load this map via level transition. +- "OnBackgroundMap" : Triggered if this map is used as a menu background. +- "OnMultiNewMap" : Same as 'OnMapSpawn' but only valid in multiplayer. +- "OnMultiNewRound" : Triggered only during round restarts in multiplayer. --------- SPAWNFLAGS -------- -TA_USEONCE : Remove itself from the level permanently when activated. +# SPAWNFLAGS +- TA_USEONCE (1) : Remove itself from the level permanently when activated. --------- NOTES -------- +# NOTES When a logic_auto is removed via TA_USEONCE it won't survive match respawns. Source Engine behaviour (do not fix): @@ -43,7 +44,7 @@ The output 'OnMultiNewMap' is also triggered during round restarts. This would make 'OnMultiNewRound' redundant, however 'OnMultiNewRound' does not get called upon map start. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life 2 (2004). */ diff --git a/src/gs-entbase/server/momentary_door.qc b/src/gs-entbase/server/momentary_door.qc index 35de7a0a..e1c0b6e7 100644 --- a/src/gs-entbase/server/momentary_door.qc +++ b/src/gs-entbase/server/momentary_door.qc @@ -14,13 +14,14 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED momentary_door (0 .5 .8) ? +/*!QUAKED momentary_door (0 .5 .8) ? +# OVERVIEW Dynamic door that will move back down if it's not being used. --------- KEYS -------- -"targetname" : Name +# KEYS +- "targetname" : Name --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life (1998). */ diff --git a/src/gs-entbase/server/momentary_rot_button.qc b/src/gs-entbase/server/momentary_rot_button.qc index 74dcc4c4..295e81da 100644 --- a/src/gs-entbase/server/momentary_rot_button.qc +++ b/src/gs-entbase/server/momentary_rot_button.qc @@ -14,27 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED momentary_rot_button (0 .5 .8) ? MRBFL_DOORHACK MRBFL_NOTUSE x x MRBFL_AUTORETURN x MRBFL_XAXIS MRBFL_YAXIS -Dyanmic button/wheel/lever that moves back into its original position when not -in use. It affects momentary_door. - --------- KEYS -------- -"targetname" : Name -"distance" : Maximum distance it'll turn until it stops. -"speed" : Speed at which it rotates/turns. -"returnspeed" : Speed at which it returns to its original position. - --------- SPAWNFLAGS -------- -MRBFL_DOORHACK : This entity will move along with another momentary_rot_button of the same name. -MRBFL_NOTUSE : Don't allow interaction via "use" key/button. -MRBFL_AUTORETURN : Rotate back to its original state when not being used. -MRBFL_XAXIS : Rotate along the X-axis. -MRBFL_YAXIS : Rotate along the Y-axis. - --------- TRIVIA -------- -This entity was introduced in Half-Life (1998). -*/ - enumflags { MRBFL_DOORHACK, @@ -47,6 +26,27 @@ enumflags MRBFL_YAXIS }; +/*!QUAKED momentary_rot_button (0 .5 .8) ? MRBFL_DOORHACK MRBFL_NOTUSE x x MRBFL_AUTORETURN x MRBFL_XAXIS MRBFL_YAXIS +# OVERVIEW +Dyanmic button/wheel/lever that moves back into its original position when not +in use. It affects momentary_door. + +# KEYS +- "targetname" : Name +- "distance" : Maximum distance it'll turn until it stops. +- "speed" : Speed at which it rotates/turns. +- "returnspeed" : Speed at which it returns to its original position. + +# SPAWNFLAGS +- MRBFL_DOORHACK (1) : This entity will move along with another momentary_rot_button of the same name. +- MRBFL_NOTUSE (2) : Don't allow interaction via "use" key/button. +- MRBFL_AUTORETURN (16) : Rotate back to its original state when not being used. +- MRBFL_XAXIS (64) : Rotate along the X-axis. +- MRBFL_YAXIS (128) : Rotate along the Y-axis. + +# TRIVIA +This entity was introduced in Half-Life (1998). +*/ class momentary_rot_button:NSMomentary { diff --git a/src/gs-entbase/server/monster_furniture.qc b/src/gs-entbase/server/monster_furniture.qc index afaf80c3..d7b2e560 100644 --- a/src/gs-entbase/server/monster_furniture.qc +++ b/src/gs-entbase/server/monster_furniture.qc @@ -14,18 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED monster_furniture (1 0 0) (-8 -8 -8) (8 8 8) -Decorative, does nothing yet. - --------- KEYS -------- -"targetname" : Name -"angles" : Sets the pitch, yaw and roll angles of the model. -"model" : Model file that will be displayed by the entity. - --------- TRIVIA -------- -This entity was introduced in Half-Life (1998). -*/ - enumflags { MF_WAITTILSEEN, @@ -38,6 +26,18 @@ enumflags MF_FADECORPSE }; +/*!QUAKED monster_furniture (1 0 0) (-8 -8 -8) (8 8 8) +# OVERVIEW +Decorative, does nothing yet. + +# KEYS +- "targetname" : Name +- "angles" : Sets the pitch, yaw and roll angles of the model. +- "model" : Model file that will be displayed by the entity. + +# TRIVIA +This entity was introduced in Half-Life (1998). +*/ class monster_furniture:NSMonster { diff --git a/src/gs-entbase/server/monster_generic.qc b/src/gs-entbase/server/monster_generic.qc index 938ce8c9..d94b2ab3 100644 --- a/src/gs-entbase/server/monster_generic.qc +++ b/src/gs-entbase/server/monster_generic.qc @@ -14,18 +14,19 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED monster_generic (1 0 0) (-8 -8 -8) (8 8 8) x x MGF_NONSOLID +/*!QUAKED monster_generic (1 0 0) (-8 -8 -8) (8 8 8) x x MGF_NONSOLID +# OVERVIEW Decorative, does nothing yet. --------- KEYS -------- -"targetname" : Name -"angles" : Sets the pitch, yaw and roll angles of the model. -"model" : Model file that will be displayed by the entity. +# KEYS +- "targetname" : Name +- "angles" : Sets the pitch, yaw and roll angles of the model. +- "model" : Model file that will be displayed by the entity. --------- SPAWNFLAGS -------- -MGF_NONSOLID : Don't test collision against this entity. +# SPAWNFLAGS +- MGF_NONSOLID (4) : Don't test collision against this entity. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life (1998). */ diff --git a/src/gs-entbase/server/monstermaker.qc b/src/gs-entbase/server/monstermaker.qc index dc299f66..1f77aec4 100644 --- a/src/gs-entbase/server/monstermaker.qc +++ b/src/gs-entbase/server/monstermaker.qc @@ -14,26 +14,27 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED monstermaker (1 0 0) (-8 -8 -8) (8 8 8) MMF_STARTON x MMF_NONTOGGLE MMF_MONSTERCLIP +/*!QUAKED monstermaker (1 0 0) (-8 -8 -8) (8 8 8) MMF_STARTON x MMF_NONTOGGLE MMF_MONSTERCLIP +# OVERVIEW The monster maker is the end-all solution to timed/controlled spawning of monster entities. --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered. -"killtarget" : Target to kill when triggered. -"monstertype" : Type of monster to spawn, represents their entity classname. -"monstercount" : Maximum amount of monsters you want spawned in total. -"delay" : Delay between spawns in seconds. -"child_name" : Applies this as a 'targetname' to spawned monsters. -"child_alivemax" : Maximum amount of spawned monsters that are alive at a time. +# KEYS +- "targetname" : Name +- "target" : Target when triggered. +- "killtarget" : Target to kill when triggered. +- "monstertype" : Type of monster to spawn, represents their entity classname. +- "monstercount" : Maximum amount of monsters you want spawned in total. +- "delay" : Delay between spawns in seconds. +- "child_name" : Applies this as a 'targetname' to spawned monsters. +- "child_alivemax" : Maximum amount of spawned monsters that are alive at a time. --------- SPAWNFLAGS -------- -MMF_STARTON : Start on automatically. -MMF_NONTOGGLE : Spawn only one monster with each trigger. -MMF_MONSTERCLIP : Spawned monsters will be blocked by func_monsterclip entities. +# SPAWNFLAGS +- MMF_STARTON (1) : Start on automatically. +- MMF_NONTOGGLE (2) : Spawn only one monster with each trigger. +- MMF_MONSTERCLIP (4) : Spawned monsters will be blocked by func_monsterclip entities. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life (1998). */ diff --git a/src/gs-entbase/server/multi_manager.qc b/src/gs-entbase/server/multi_manager.qc index 5088c2bf..0ff26a6f 100644 --- a/src/gs-entbase/server/multi_manager.qc +++ b/src/gs-entbase/server/multi_manager.qc @@ -14,24 +14,24 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED multi_manager (1 0 0) (-8 -8 -8) (8 8 8) MM_MULTITHREADED +#define MM_MULTITHREADED 1 + +/*!QUAKED multi_manager (1 0 0) (-8 -8 -8) (8 8 8) MM_MULTITHREADED +# OVERVIEW Triggers a maximum of 16 user defined entities with additonal timers. Add a target's name as an entity key, with the value set to the time in seconds that'll pass before the entity will be triggered. --------- KEYS -------- -"targetname" : Name +# KEYS +- "targetname" : Name --------- SPAWNFLAGS -------- -MM_MULTITHREADED : Allow the multi_manager to be triggered again before it has +# SPAWNFLAGS +- MM_MULTITHREADED (1) : Allow the multi_manager to be triggered again before it has finished triggering it's previous list of entities. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life (1998). */ - -#define MM_MULTITHREADED 1 - class multi_manager_sub:NSPointTrigger { diff --git a/src/gs-entbase/server/multisource.qc b/src/gs-entbase/server/multisource.qc index 747f09c8..79642358 100644 --- a/src/gs-entbase/server/multisource.qc +++ b/src/gs-entbase/server/multisource.qc @@ -14,21 +14,21 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED multisource (1 0 0) (-8 -8 -8) (8 8 8) +/*!QUAKED multisource (1 0 0) (-8 -8 -8) (8 8 8) +# OVERVIEW An AND-gate of sorts. Every entity that targets this must return a positive state for it to trigger its target. --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered. -"killtarget" : Target to kill when triggered. -"globalstate" : env_global variable to track. -"delay" : Delay until we trigger our target. +# KEYS +- "targetname" : Name +- "target" : Target when triggered. +- "killtarget" : Target to kill when triggered. +- "globalstate" : env_global variable to track. +- "delay" : Delay until we trigger our target. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life (1998). */ - class multisource:NSPointTrigger { diff --git a/src/gs-entbase/server/path_corner.qc b/src/gs-entbase/server/path_corner.qc index 2c05c17c..6684d3b6 100644 --- a/src/gs-entbase/server/path_corner.qc +++ b/src/gs-entbase/server/path_corner.qc @@ -14,23 +14,24 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED path_corner (1 0 0) (-8 -8 -8) (8 8 8) PC_WAIT PC_TELEPORT PC_FIREONCE +/*!QUAKED path_corner (1 0 0) (-8 -8 -8) (8 8 8) PC_WAIT PC_TELEPORT PC_FIREONCE +# OVERVIEW Node entities used for func_trains and func_guntargets. --------- KEYS -------- -"targetname" : Name -"target" : Next node. -"message" : Target to trigger when a train passes this node. -"speed" : New speed for passing train. -"yaw_speed" : New yaw rotation for passing train. Currently unused. -"wait" : Waiting time until we go to the next node. +# KEYS +- "targetname" : Name +- "target" : Next node. +- "message" : Target to trigger when a train passes this node. +- "speed" : New speed for passing train. +- "yaw_speed" : New yaw rotation for passing train. Currently unused. +- "wait" : Waiting time until we go to the next node. --------- SPAWNFLAGS -------- -PC_WAIT : Train will stop moving once passed. Needs retrigger to progress. -PC_TELEPORT : Train passing will immediately teleport to "target". -PC_FIREONCE : Only fire its target (message) once. +# SPAWNFLAGS +- PC_WAIT (1) : Train will stop moving once passed. Needs retrigger to progress. +- PC_TELEPORT (2) : Train passing will immediately teleport to "target". +- PC_FIREONCE (4) : Only fire its target (message) once. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Quake (1996). */ diff --git a/src/gs-entbase/server/path_track.qc b/src/gs-entbase/server/path_track.qc index dd9fa731..a10e1116 100644 --- a/src/gs-entbase/server/path_track.qc +++ b/src/gs-entbase/server/path_track.qc @@ -14,16 +14,17 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED path_track (1 0 0) (-8 -8 -8) (8 8 8) +/*!QUAKED path_track (1 0 0) (-8 -8 -8) (8 8 8) +# OVERVIEW Node entities used for func_tracktrains. It's like a path_corner, but for tracktrains. --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered. -"killtarget" : Target to kill when triggered. +# KEYS +- "targetname" : Name +- "target" : Target when triggered. +- "killtarget" : Target to kill when triggered. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life (1998). */ diff --git a/src/gs-entbase/server/player_loadsaved.qc b/src/gs-entbase/server/player_loadsaved.qc index 93ad93aa..f772ff20 100644 --- a/src/gs-entbase/server/player_loadsaved.qc +++ b/src/gs-entbase/server/player_loadsaved.qc @@ -14,24 +14,24 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED player_loadsaved (1 0 0) (-8 -8 -8) (8 8 8) +/*!QUAKED player_loadsaved (1 0 0) (-8 -8 -8) (8 8 8) +# OVERVIEW This trigger reloads the last autosaved game with a custom message. This is commonly used when a mission objective has failed. --------- KEYS -------- -"targetname" : Name -"message" : Message to display -"messagetime" : Message lifetime (not implemented) -"loadtime" : Time until we load the last autosave -"duration" : Fade effect total duration -"holdtime" : Fade effect hold time -"rendercolor" : Fade effect color vector (RGB255) -"renderamt" : Fade effect alpha value +# KEYS +- "targetname" : Name +- "message" : Message to display +- "messagetime" : Message lifetime (not implemented) +- "loadtime" : Time until we load the last autosave +- "duration" : Fade effect total duration +- "holdtime" : Fade effect hold time +- "rendercolor" : Fade effect color vector (RGB255) +- "renderamt" : Fade effect alpha value --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life (1998). */ - class player_loadsaved:NSRenderableEntity /* for the rendercolor values */ { diff --git a/src/gs-entbase/server/player_weaponstrip.qc b/src/gs-entbase/server/player_weaponstrip.qc index f36eb152..f8ad2d80 100644 --- a/src/gs-entbase/server/player_weaponstrip.qc +++ b/src/gs-entbase/server/player_weaponstrip.qc @@ -14,16 +14,16 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED player_weaponstrip (1 0 0) (-8 -8 -8) (8 8 8) +/*!QUAKED player_weaponstrip (1 0 0) (-8 -8 -8) (8 8 8) +# OVERVIEW Strips the activator of all of its weapons. --------- KEYS -------- -"targetname" : Name +# KEYS +- "targetname" : Name --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life (1998). */ - class player_weaponstrip:NSPointTrigger { diff --git a/src/gs-entbase/server/point_camera.qc b/src/gs-entbase/server/point_camera.qc index 1e6de1d8..1c37b5e7 100644 --- a/src/gs-entbase/server/point_camera.qc +++ b/src/gs-entbase/server/point_camera.qc @@ -14,32 +14,32 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED point_camera (1 0 0) (-8 -8 -8) (8 8 8) PCAMFL_STARTOFF +/*!QUAKED point_camera (1 0 0) (-8 -8 -8) (8 8 8) PCAMFL_STARTOFF +# OVERVIEW A virtual camera of which its output can be displayed on a rendertarget. This plays well with the func_monitor entity. --------- KEYS -------- -"targetname" : Name -"FOV" : Field of view in degrees -"UseScreenAspectRatio" : Forces the aspect ratio to be the same as the game's. -"fogEnable" : Enable fog in the camera's view. -"fogColor" : Color of the fog in RGB255. -"fogStart" : Near fog plane. -"fogEnd" : Far fog plane. +# KEYS +- "targetname" : Name +- "FOV" : Field of view in degrees +- "UseScreenAspectRatio" : Forces the aspect ratio to be the same as the game's. +- "fogEnable" : Enable fog in the camera's view. +- "fogColor" : Color of the fog in RGB255. +- "fogStart" : Near fog plane. +- "fogEnd" : Far fog plane. --------- INPUTS -------- -"ChangeFOV" : Change the camera's field of view. -"SetOnAndTurnOthersOff" : Turn this camera on while deactivating all others. -"SetOn" : Turn this camera on. -"SetOff" : Turn this camera off. +# INPUTS +- "ChangeFOV" : Change the camera's field of view. +- "SetOnAndTurnOthersOff" : Turn this camera on while deactivating all others. +- "SetOn" : Turn this camera on. +- "SetOff" : Turn this camera off. --------- SPAWNFLAGS -------- -PCAMFL_STARTOFF : Start with the camera turned off, outputting no signal. +# SPAWNFLAGS +- PCAMFL_STARTOFF (1) : Start with the camera turned off, outputting no signal. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life 2 (2004). */ - class point_camera:NSPointTrigger { diff --git a/src/gs-entbase/server/prop_dynamic.qc b/src/gs-entbase/server/prop_dynamic.qc index 3aa755d9..01c4f1bc 100644 --- a/src/gs-entbase/server/prop_dynamic.qc +++ b/src/gs-entbase/server/prop_dynamic.qc @@ -14,22 +14,26 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED prop_dynamic (0 0.2 1) (-8 -8 -8) (8 8 8) x x x x x x x x PRPDYN_NONSOLID -Client-side decorative model entity. - --------- KEYS -------- -"model" : Model file that will be displayed by the entity. -"modelscale" : Scale modifier of the model. Default is "1". -"angles" : Sets the pitch, yaw and roll angles of the model. -"_cs" : Toggles if the prop casts a shadow or not. -"solid" : Specifies which collision model to use (0: Nonsolid; 2: BBox; 6: Per-poly) - --------- TRIVIA -------- -This entity was introduced in Half-Life 2 (2004). -*/ - #define PRPDYN_NONSOLID 256 +/*!QUAKED prop_dynamic (0 0.2 1) (-8 -8 -8) (8 8 8) x x x x x x x x PRPDYN_NONSOLID +# OVERVIEW +Client-side decorative model entity. + +# KEYS +- "model" : Model file that will be displayed by the entity. +- "modelscale" : Scale modifier of the model. Default is "1". +- "angles" : Sets the pitch, yaw and roll angles of the model. +- "_cs" : Toggles if the prop casts a shadow or not. +- "solid" : Specifies which collision model to use (0: Nonsolid; 2: BBox; 6: Per-poly) + +# SPAWNFLAGS +- PRPDYN_NONSOLID (256) : Prop is non-solid. + +# TRIVIA +This entity was introduced in Half-Life 2 (2004). +There are two ways of making a prop_dynamic non-solid. +*/ class prop_dynamic:NSSurfacePropEntity { diff --git a/src/gs-entbase/server/prop_physics.qc b/src/gs-entbase/server/prop_physics.qc index f657aab6..12040c12 100644 --- a/src/gs-entbase/server/prop_physics.qc +++ b/src/gs-entbase/server/prop_physics.qc @@ -14,19 +14,22 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED prop_physics (0 0 0.8) (-16 -16 -16) (16 16 16) PRPPHYS_ASLEEP -Physics model - --------- KEYS -------- -"targetname" : Name - --------- TRIVIA -------- -This entity was introduced in Half-Life 2 (2004). -*/ - #ifndef PHYSICS_STATIC #define PRPPHYS_ASLEEP 1 +/*!QUAKED prop_physics (0 0 0.8) (-16 -16 -16) (16 16 16) PRPPHYS_ASLEEP +# OVERVIEW +Physics model + +# KEYS +- "targetname" : Name + +# SPAWNFLAGS +- PRPPHYS_ASLEEP (1) : Prop starts without physics and stays until it is impacted. + +# TRIVIA +This entity was introduced in Half-Life 2 (2004). +*/ class prop_physics:NSPhysicsEntity { diff --git a/src/gs-entbase/server/prop_static.qc b/src/gs-entbase/server/prop_static.qc index f72ef5dc..17956ba8 100644 --- a/src/gs-entbase/server/prop_static.qc +++ b/src/gs-entbase/server/prop_static.qc @@ -14,30 +14,30 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED prop_static (0 0.2 1) (-8 -8 -8) (8 8 8) SF_BASIC_COL +/*!QUAKED prop_static (0 0.2 1) (-8 -8 -8) (8 8 8) SF_BASIC_COL +# OVERVIEW Decorative model entity that gets baked into the level file. --------- KEYS -------- -"model" : Model file that will be displayed by the entity. -"modelscale" : Scale modifier of the model. Default is "1". -"modelscale_vec" : Scale modifier, but in vector format -"angles" : Sets the pitch, yaw and roll angles of the model. -"_cs" : Toggles if the prop casts a shadow or not. -"_ls" : Lightmap scale multiplier for the resulting surfaces. -"_sn" : Shading angle related to lightmap phong shading. -"_remap" : Force the model surfaces to use a specified material. +# KEYS +- "model" : Model file that will be displayed by the entity. +- "modelscale" : Scale modifier of the model. Default is "1". +- "modelscale_vec" : Scale modifier, but in vector format +- "angles" : Sets the pitch, yaw and roll angles of the model. +- "_cs" : Toggles if the prop casts a shadow or not. +- "_ls" : Lightmap scale multiplier for the resulting surfaces. +- "_sn" : Shading angle related to lightmap phong shading. +- "_remap" : Force the model surfaces to use a specified material. --------- NOTES -------- +# NOTES After compilation, the source model is no longer required and the resulting entity is removed. This ensures that models are rendered in the same batch as the world. This makes sense for one giant unique model in the map, but for multiple repetitive uses of the same model you'll actually waste disk space and memory. Use wisely. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life 2 (2004). */ - class prop_static:NSRenderableEntity { diff --git a/src/gs-entbase/server/random_speaker.qc b/src/gs-entbase/server/random_speaker.qc index c09a3af4..0556a48b 100644 --- a/src/gs-entbase/server/random_speaker.qc +++ b/src/gs-entbase/server/random_speaker.qc @@ -14,19 +14,20 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED random_speaker (1 0 0) (-8 -8 -8) (8 8 8) +/*!QUAKED random_speaker (1 0 0) (-8 -8 -8) (8 8 8) +# OVERVIEW This entity plays a .wav file at random intervals. --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered -"killtarget" : Target to kill when triggered -"rsnoise" : Path to the sound file. -"volume" : Volume to play the sound as (normalized, 0.0 - 1.0). -"wait" : Minimum time for sound repetition in %. -"random" : Random % of this added to wait. +# KEYS +- "targetname" : Name +- "target" : Target when triggered +- "killtarget" : Target to kill when triggered +- "rsnoise" : Path to the sound file. +- "volume" : Volume to play the sound as (normalized, 0.0 - 1.0). +- "wait" : Minimum time for sound repetition in %. +- "random" : Random % of this added to wait. --------- NOTES -------- +# NOTES To explain the math behind it: The 'wait' key specifies the minimum time it waits to play itself again, however we always add a bit of a random interval on top. @@ -34,10 +35,9 @@ The random interval is a set percentage of the specified 'wait' time. For example, if 'wait' is 10 and 'random' is 50, then it'll always be a random interval between 10 and 15 seconds in total. --------- TRIVIA -------- +# TRIVIA It was introduced in Gunman Chronicles (2000). */ - class random_speaker:NSPointTrigger { diff --git a/src/gs-entbase/server/random_trigger.qc b/src/gs-entbase/server/random_trigger.qc index 9df6dcbd..9b707b57 100644 --- a/src/gs-entbase/server/random_trigger.qc +++ b/src/gs-entbase/server/random_trigger.qc @@ -14,23 +14,23 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED random_trigger (1 0 0) (-8 -8 -8) (8 8 8) +/*!QUAKED random_trigger (1 0 0) (-8 -8 -8) (8 8 8) +# OVERVIEW When triggered, it'll calculate some random interval until it triggers its targets, based on some limits given. --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered -"killtarget" : Target to kill when triggered -"start_state" : Start state (either 0 or 1) -"wait" : Minimum time -"random_min" : Minimum added random time -"random_max" : Maximum added random time +# KEYS +- "targetname" : Name +- "target" : Target when triggered +- "killtarget" : Target to kill when triggered +- "start_state" : Start state (either 0 or 1) +- "wait" : Minimum time +- "random_min" : Minimum added random time +- "random_max" : Maximum added random time --------- TRIVIA -------- +# TRIVIA It was introduced in Gunman Chronicles (2000). */ - class random_trigger:NSPointTrigger { diff --git a/src/gs-entbase/server/scripted_sentence.qc b/src/gs-entbase/server/scripted_sentence.qc index 592f6d6c..82cfd9a5 100644 --- a/src/gs-entbase/server/scripted_sentence.qc +++ b/src/gs-entbase/server/scripted_sentence.qc @@ -14,24 +14,24 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED scripted_sentence (1 0 0) (-8 -8 -8) (8 8 8) +/*!QUAKED scripted_sentence (1 0 0) (-8 -8 -8) (8 8 8) +# OVERVIEW Triggers a sound event on the client side associated with an entity in the world. It'll enable mouth flapping and all sorts of other cool effects. --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered. -"killtarget" : Target to kill when triggered. -"entity" : Name of the entity that'll speak the sentence. -"sentence" : Name of sentence from titles.txt. -"pitch" : Desired sound pitch. May be overridden in the titles.txt entry. -"delay" : Delay before it'll be triggered? UNUSED RIGHT NOW. -"wait" : Delay before it can be triggered again? UNUSED RIGHT NOW. +# KEYS +- "targetname" : Name +- "target" : Target when triggered. +- "killtarget" : Target to kill when triggered. +- "entity" : Name of the entity that'll speak the sentence. +- "sentence" : Name of sentence from titles.txt. +- "pitch" : Desired sound pitch. May be overridden in the titles.txt entry. +- "delay" : Delay before it'll be triggered? UNUSED RIGHT NOW. +- "wait" : Delay before it can be triggered again? UNUSED RIGHT NOW. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life (1998). */ - class scripted_sentence:NSPointTrigger { diff --git a/src/gs-entbase/server/scripted_sequence.qc b/src/gs-entbase/server/scripted_sequence.qc index 6cde1c1d..b68de6d7 100644 --- a/src/gs-entbase/server/scripted_sequence.qc +++ b/src/gs-entbase/server/scripted_sequence.qc @@ -14,48 +14,8 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED scripted_sequence (1 0 0) (-8 -8 -8) (8 8 8) x x SSFL_REPEATABLE SSFL_LEAVECORPSE x SSFL_NOINTERRUPT SSFL_OVERRIDEAI SSFL_NOSCRIPTMOVE -Allow an actor to be selected and given an action to perform. -This is done in the form of playing an animation. - --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered. -"killtarget" : Target to kill when triggered. -"m_iszEntity" : Entity targetname OR classname description to target -"m_iszPlay" : After the monster has moved to the action point, play this animation -"m_iszIdle" : Animation to play until the scripted_sequence is triggered -"m_flRadius" : Search radius for m_targetMonster if a classname is specified -"m_flRepeat" : Loop? Unused. -"m_fMoveTo" : How we move to perform m_iActionAnim - --------- SPAWNFLAGS -------- -SSFL_REPEATABLE : Can trigger the sequence more than once. -SSFL_LEAVECORPSE : When the actor is done, they'll be frozen. -SSFL_NOINTERRUPT : Don't allow any interruption of the actor when in-sequence. -SSFL_OVERRIDEAI : Don't allow the actor to call think/sound functions while playing. - --------- NOTES -------- -f_fMoveTo values: - 0 = Don't move or turn - 1 = Walk to the scripted_sequence - 2 = Run to the scripted_sequence - 3 = Unused/Not defined. Do not use this. - 4 = Warp to the location of the scripted_sequence and perform the animation. - 5 = Turn to the scripted_sequence's angle before performing the animation. - --------- TRIVIA -------- -This entity was introduced in Half-Life (1998). -*/ - float(float modidx, string framename) frameforname = #276; float(float modidx, float framenum) frameduration = #277; -/* - * Scripted Sequences - * ================== - * Allow a monster to be selected and given an action to perform. - * This is done in the form of an animation. - */ /* If enabled, the sequence can be triggered more than once. * Otherwise the entity will be removed once the sequence is complete. */ @@ -87,6 +47,40 @@ enum SS_TURNTOFACE /* Turn to the scripted_sequence's angle before performing the animation. */ }; +/*!QUAKED scripted_sequence (1 0 0) (-8 -8 -8) (8 8 8) x x SSFL_REPEATABLE SSFL_LEAVECORPSE x SSFL_NOINTERRUPT SSFL_OVERRIDEAI SSFL_NOSCRIPTMOVE +# OVERVIEW +Allow an actor to be selected and given an action to perform. +This is done in the form of playing an animation. + +# KEYS +- "targetname" : Name +- "target" : Target when triggered. +- "killtarget" : Target to kill when triggered. +- "m_iszEntity" : Entity targetname OR classname description to target +- "m_iszPlay" : After the monster has moved to the action point, play this animation +- "m_iszIdle" : Animation to play until the scripted_sequence is triggered +- "m_flRadius" : Search radius for m_targetMonster if a classname is specified +- "m_flRepeat" : Loop? Unused. +- "m_fMoveTo" : How we move to perform m_iActionAnim + +# SPAWNFLAGS +- SSFL_REPEATABLE (4) : Can trigger the sequence more than once. +- SSFL_LEAVECORPSE (8) : When the actor is done, they'll be frozen. +- SSFL_NOINTERRUPT (32) : Don't allow any interruption of the actor when in-sequence. +- SSFL_OVERRIDEAI (64) : Don't allow the actor to call think/sound functions while playing. + +# NOTES +f_fMoveTo values: + - 0 = Don't move or turn + - 1 = Walk to the scripted_sequence + - 2 = Run to the scripted_sequence + - 3 = Unused/Not defined. Do not use this. + - 4 = Warp to the location of the scripted_sequence and perform the animation. + - 5 = Turn to the scripted_sequence's angle before performing the animation. + +# TRIVIA +This entity was introduced in Half-Life (1998). +*/ class scripted_sequence:NSPointTrigger { diff --git a/src/gs-entbase/server/speaker.qc b/src/gs-entbase/server/speaker.qc index 1d49dcaf..b7743c80 100644 --- a/src/gs-entbase/server/speaker.qc +++ b/src/gs-entbase/server/speaker.qc @@ -14,36 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED speaker (1 0 0) (-8 -8 -8) (8 8 8) -Creates a public announcement system that randomly plays announcements from -the sentences.txt file. - --------- KEYS -------- -"targetname" : Name -"preset" : Preset sentence group. -"message" : Sentence group name (used when preset is 0) -"health" : Message volume (value from 0-10) - --------- NOTES -------- -Valid values for 'preset": - 0 = Use Sentence group name - 1 = C1A0_ - 2 = C1A1_ - 3 = C1A2_ - 4 = C1A3_ - 5 = C1A4_ - 6 = C2A1_ - 7 = C2A2_ - 8 = C2A3_ - 9 = C2A4_ - 10 = C2A5_ - 11 = C3A1_ - 12 = C3A2_ - --------- TRIVIA -------- -This entity was introduced in Half-Life (1998). -*/ - enumflags { SPEAKFL_SILENT @@ -64,6 +34,36 @@ string g_speaker_hlpresets[] = { "!C3A2_" }; +/*!QUAKED speaker (1 0 0) (-8 -8 -8) (8 8 8) +# OVERVIEW +Creates a public announcement system that randomly plays announcements from +the sentences.txt file. + +# KEYS +- "targetname" : Name +- "preset" : Preset sentence group. +- "message" : Sentence group name (used when preset is 0) +- "health" : Message volume (value from 0-10) + +# NOTES +Valid values for 'preset": + - 0 = Use Sentence group name + - 1 = C1A0_ + - 2 = C1A1_ + - 3 = C1A2_ + - 4 = C1A3_ + - 5 = C1A4_ + - 6 = C2A1_ + - 7 = C2A2_ + - 8 = C2A3_ + - 9 = C2A4_ + - 10 = C2A5_ + - 11 = C3A1_ + - 12 = C3A2_ + +# TRIVIA +This entity was introduced in Half-Life (1998). +*/ class speaker:NSTalkMonster { diff --git a/src/gs-entbase/server/stubs.qc b/src/gs-entbase/server/stubs.qc index 4ee3937f..f4f1b5fd 100644 --- a/src/gs-entbase/server/stubs.qc +++ b/src/gs-entbase/server/stubs.qc @@ -14,13 +14,14 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED info_player_start (1 1 1) (-16 -16 -36) (16 16 36) +/*!QUAKED info_player_start (1 1 1) (-16 -16 -36) (16 16 36) +# OVERVIEW Player spawn position for single-player games. --------- KEYS -------- -"targetname" : Name +# KEYS +- "targetname" : Name --------- NOTES -------- +# NOTES This entity is also used in Counter-Strike (2000) and its beta versions to mark spawn-positions for the Counter-Terrorist team. @@ -30,17 +31,18 @@ or multiplayer coop (if info_player_coop spawn points don't exist). Mods may choose to have additional fields that are not documented here as part of the entity, keep that in mind. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Quake (1996). */ -/*QUAKED info_player_deathmatch (1 1 1) (-16 -16 -36) (16 16 36) +/*!QUAKED info_player_deathmatch (1 1 1) (-16 -16 -36) (16 16 36) +# OVERVIEW Player spawn position for deathmatch games. --------- KEYS -------- -"targetname" : Name +# KEYS +- "targetname" : Name --------- NOTES -------- +# NOTES This entity is also used in Counter-Strike (2000) and its beta versions to mark spawn-positions for the Terrorist team. @@ -51,17 +53,18 @@ based modes. Mods may choose to have additional fields that are not documented here as part of the entity, keep that in mind. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Quake (1996). */ -/*QUAKED info_player_coop (1 1 1) (-16 -16 -36) (16 16 36) +/*!QUAKED info_player_coop (1 1 1) (-16 -16 -36) (16 16 36) +# OVERVIEW Player spawn position for cooperative games. --------- KEYS -------- -"targetname" : Name +# KEYS +- "targetname" : Name --------- NOTES -------- +# NOTES In order for a player to spawn here, the game needs to take place on a map for singleplayer with cooperative multiplayer enabled. If this entity isn't present on such a mode, info_player_start will be the @@ -70,7 +73,7 @@ fallback spawn-point. Mods may choose to have additional fields that are not documented here as part of the entity, keep that in mind. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Quake (1996). */ diff --git a/src/gs-entbase/server/targ_speaker.qc b/src/gs-entbase/server/targ_speaker.qc index ec4757ad..442850e9 100644 --- a/src/gs-entbase/server/targ_speaker.qc +++ b/src/gs-entbase/server/targ_speaker.qc @@ -14,24 +14,25 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED targ_speaker (1 0 0) (-8 -8 -8) (8 8 8) +/*!QUAKED targ_speaker (1 0 0) (-8 -8 -8) (8 8 8) +# OVERVIEW This entity plays a sample upon triggering at a specified volume. --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered -"killtarget" : Target to kill when triggered -"tsnoise" : Path to the sound file -"volume" : Volume to play the sound as (normalized, 0.0 - 1.0) +# KEYS +- "targetname" : Name +- "target" : Target when triggered +- "killtarget" : Target to kill when triggered +- "tsnoise" : Path to the sound file +- "volume" : Volume to play the sound as (normalized, 0.0 - 1.0) --------- TRIVIA -------- +# TRIVIA It was introduced in Gunman Chronicles (2000). + It's not any more useful than an ambient_generic. I suspect it's a carry-over from when Gunman was a Quake II mod, as Quake/Quake II did not have an entity that allowed custom sound samples to be played. */ - class targ_speaker:NSPointTrigger { diff --git a/src/gs-entbase/server/target_cdaudio.qc b/src/gs-entbase/server/target_cdaudio.qc index 936550e9..46cdcc9a 100644 --- a/src/gs-entbase/server/target_cdaudio.qc +++ b/src/gs-entbase/server/target_cdaudio.qc @@ -14,23 +14,23 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED target_cdaudio (1 0 0) (-8 -8 -8) (8 8 8) +/*!QUAKED target_cdaudio (1 0 0) (-8 -8 -8) (8 8 8) +# OVERVIEW A radius based trigger_cdaudio. Disables itself upon activation. --------- KEYS -------- -"targetname" : Name -"health" : Music track to play (1-30). -1 to stop. -"radius" : Radius in which the entity will be triggered in. +# KEYS +- "targetname" : Name +- "health" : Music track to play (1-30). -1 to stop. +- "radius" : Radius in which the entity will be triggered in. --------- NOTES -------- +# NOTES I honestly don't know what the point is, as trigger_cdaudio should act the same in practice. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life (1998). */ - class target_cdaudio:NSPointTrigger { diff --git a/src/gs-entbase/server/trigger_auto.qc b/src/gs-entbase/server/trigger_auto.qc index 498e2460..3289407a 100644 --- a/src/gs-entbase/server/trigger_auto.qc +++ b/src/gs-entbase/server/trigger_auto.qc @@ -14,22 +14,23 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED trigger_auto (1 0 0) (-8 -8 -8) (8 8 8) TA_USEONCE +/*!QUAKED trigger_auto (1 0 0) (-8 -8 -8) (8 8 8) TA_USEONCE +# OVERVIEW Will automatically trigger its target when the level has spawned. --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered. -"killtarget" : Target to kill when triggered. -"delay" : Time in seconds until it triggers its target. +# KEYS +- "targetname" : Name +- "target" : Target when triggered. +- "killtarget" : Target to kill when triggered. +- "delay" : Time in seconds until it triggers its target. --------- SPAWNFLAGS -------- -TA_USEONCE : Remove itself from the level permanently when activated. +# SPAWNFLAGS +- TA_USEONCE (1) : Remove itself from the level permanently when activated. --------- NOTES -------- +# NOTES When a trigger_auto is removed via TA_USEONCE it won't survive match respawns. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life (1998). */ diff --git a/src/gs-entbase/server/trigger_autosave.qc b/src/gs-entbase/server/trigger_autosave.qc index 4c439b57..766689f8 100644 --- a/src/gs-entbase/server/trigger_autosave.qc +++ b/src/gs-entbase/server/trigger_autosave.qc @@ -14,17 +14,17 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED trigger_autosave (0 .5 .8) ? +/*!QUAKED trigger_autosave (0 .5 .8) ? +# OVERVIEW Volume that'll save the current game when a client enters its bounds. This entity does not work in multiplayer. --------- KEYS -------- -"targetname" : Name +# KEYS +- "targetname" : Name --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life (1998). */ - class trigger_autosave:NSBrushTrigger { diff --git a/src/gs-entbase/server/trigger_cdaudio.qc b/src/gs-entbase/server/trigger_cdaudio.qc index 4b1d4621..510d7cb3 100644 --- a/src/gs-entbase/server/trigger_cdaudio.qc +++ b/src/gs-entbase/server/trigger_cdaudio.qc @@ -14,14 +14,15 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED trigger_cdaudio (0 .5 .8) ? +/*!QUAKED trigger_cdaudio (0 .5 .8) ? +# OVERVIEW Switches the background music track when triggered. --------- KEYS -------- -"targetname" : Name -"health" : Music track to play. +# KEYS +- "targetname" : Name +- "health" : Music track to play. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life (1998). */ diff --git a/src/gs-entbase/server/trigger_changelevel.qc b/src/gs-entbase/server/trigger_changelevel.qc index 1e5f4dbe..dd61a2ce 100644 --- a/src/gs-entbase/server/trigger_changelevel.qc +++ b/src/gs-entbase/server/trigger_changelevel.qc @@ -14,22 +14,23 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED trigger_changelevel (0 .5 .8) ? LC_NOINTERMISSION LC_USEONLY +/*!QUAKED trigger_changelevel (0 .5 .8) ? LC_NOINTERMISSION LC_USEONLY +# OVERVIEW When a Landmark is specified, you will have to position two info_landmark entities across your two levels with the same name. They'll mark a translation point for the coordinates in your levels. --------- KEYS -------- -"targetname" : Name -"map" : Next .bsp file name to transition to. -"landmark" : Landmark name to target. -"changedelay" : Time in seconds until the transition happens. +# KEYS +- "targetname" : Name +- "map" : Next .bsp file name to transition to. +- "landmark" : Landmark name to target. +- "changedelay" : Time in seconds until the transition happens. --------- SPAWNFLAGS -------- -LC_NOINTERMISSION : Don't show intermission cam (unimplemented). -LC_USEONLY : Can't activate through touching, only via triggers. +# SPAWNFLAGS +- LC_NOINTERMISSION (1) : Don't show intermission cam (unimplemented). +- LC_USEONLY (2) : Can't activate through touching, only via triggers. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Quake (1996). */ diff --git a/src/gs-entbase/server/trigger_changetarget.qc b/src/gs-entbase/server/trigger_changetarget.qc index b1363b09..dc31dfed 100644 --- a/src/gs-entbase/server/trigger_changetarget.qc +++ b/src/gs-entbase/server/trigger_changetarget.qc @@ -14,19 +14,19 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED trigger_changetarget (1 0 0) (-8 -8 -8) (8 8 8) +/*!QUAKED trigger_changetarget (1 0 0) (-8 -8 -8) (8 8 8) +# OVERVIEW When triggered, trigger_changetarget changes the 'target' value of any entity to something else. --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered -"m_iszNewTarget" : Name of the new 'target' value for the targeted entity +# KEYS +- "targetname" : Name +- "target" : Target when triggered +- "m_iszNewTarget" : Name of the new 'target' value for the targeted entity --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life (1998). */ - class trigger_changetarget:NSPointTrigger { diff --git a/src/gs-entbase/server/trigger_counter.qc b/src/gs-entbase/server/trigger_counter.qc index 285cb9c5..62f0a447 100644 --- a/src/gs-entbase/server/trigger_counter.qc +++ b/src/gs-entbase/server/trigger_counter.qc @@ -14,21 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED trigger_counter (0 .5 .8) ? TRCNT_SILENT TRCNT_NOCLIENTS TRCNT_PUSHABLES -This entity counts the number of times it has been triggered and activates its -target when it reaches a specified number. - --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered. -"killtarget" : Target to kill when triggered. -"count" : Number of times the entity has to be triggered. -"delay" : Delay in seconds until target is triggered. - --------- TRIVIA -------- -This entity was introduced in Quake (1996). -*/ - enumflags { TRCNT_SILENT, @@ -36,6 +21,21 @@ enumflags TRCNT_PUSHABLES }; +/*!QUAKED trigger_counter (0 .5 .8) ? TRCNT_SILENT TRCNT_NOCLIENTS TRCNT_PUSHABLES +# OVERVIEW +This entity counts the number of times it has been triggered and activates its +target when it reaches a specified number. + +# KEYS +- "targetname" : Name +- "target" : Target when triggered. +- "killtarget" : Target to kill when triggered. +- "count" : Number of times the entity has to be triggered. +- "delay" : Delay in seconds until target is triggered. + +# TRIVIA +This entity was introduced in Quake (1996). +*/ class trigger_counter:NSBrushTrigger { diff --git a/src/gs-entbase/server/trigger_endsection.qc b/src/gs-entbase/server/trigger_endsection.qc index 3025514a..8101bbd0 100644 --- a/src/gs-entbase/server/trigger_endsection.qc +++ b/src/gs-entbase/server/trigger_endsection.qc @@ -14,17 +14,17 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED trigger_endsection (0 .5 .8) ? +/*!QUAKED trigger_endsection (0 .5 .8) ? +# OVERVIEW This trigger shuts down the server. Useful for when a singleplayer game ends, as it takes you to the main menu. --------- KEYS -------- -"targetname" : Name +# KEYS +- "targetname" : Name --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life (1998). */ - class trigger_endsection:NSBrushTrigger { diff --git a/src/gs-entbase/server/trigger_hurt.qc b/src/gs-entbase/server/trigger_hurt.qc index 4d78c1ae..b454d50e 100644 --- a/src/gs-entbase/server/trigger_hurt.qc +++ b/src/gs-entbase/server/trigger_hurt.qc @@ -14,27 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED trigger_hurt (0 .5 .8) ? SF_HURT_ONCE SF_HURT_OFF x SF_HURT_NOPLAYERS SF_HURT_FIREONPLAYER SF_HURT_TOUCHPLAYER -Trigger volume that damages everything it touches. - --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered. -"delay" : Delay until target is triggered. -"killtarget" : Target to kill when triggered. -"dmg" : Damage inflicted. - --------- SPAWNFLAGS -------- -SF_HURT_ONCE : Stop once it's been triggered the first time. -SF_HURT_OFF : Needs to be triggered in order to work again. -SF_HURT_NOPLAYERS : Will only hurt NPCs. -SF_HURT_TOUCHPLAYER : Will only hurt players. -SF_HURT_FIREONPLAYER : Only trigger a target if a player activates it. - --------- TRIVIA -------- -This entity was introduced in Quake (1996). -*/ - .float hurt_next; #define HURTTYPE_GENERIC 0 @@ -65,6 +44,27 @@ This entity was introduced in Quake (1996). #define SF_HURT_FIREONPLAYER 16 // Only call UseTarget functions when it's a player #define SF_HURT_TOUCHPLAYER 32 // Only hurt players +/*!QUAKED trigger_hurt (0 .5 .8) ? SF_HURT_ONCE SF_HURT_OFF x SF_HURT_NOPLAYERS SF_HURT_FIREONPLAYER SF_HURT_TOUCHPLAYER +# OVERVIEW +Trigger volume that damages everything it touches. + +# KEYS +- "targetname" : Name +- "target" : Target when triggered. +- "delay" : Delay until target is triggered. +- "killtarget" : Target to kill when triggered. +- "dmg" : Damage inflicted. + +# SPAWNFLAGS +- SF_HURT_ONCE (1) : Stop once it's been triggered the first time. +- SF_HURT_OFF (2) : Needs to be triggered in order to work again. +- SF_HURT_NOPLAYERS (8) : Will only hurt NPCs. +- SF_HURT_TOUCHPLAYER (16) : Will only hurt players. +- SF_HURT_FIREONPLAYER (32) : Only trigger a target if a player activates it. + +# TRIVIA +This entity was introduced in Quake (1996). +*/ class trigger_hurt:NSBrushTrigger { diff --git a/src/gs-entbase/server/trigger_look.qc b/src/gs-entbase/server/trigger_look.qc index 2f2bac61..a6d7e6f1 100644 --- a/src/gs-entbase/server/trigger_look.qc +++ b/src/gs-entbase/server/trigger_look.qc @@ -14,7 +14,8 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED trigger_look (0 .5 .8) ? +/*!QUAKED trigger_look (0 .5 .8) ? +# OVERVIEW Triggers itself when a player is inside its volume and is looking at a specific entity within a specified field-of-view cone. It then disables itself. @@ -22,19 +23,18 @@ It then disables itself. It's like the beginning in Halo - you know, where you have to look up/down at lights and stuff? No...? Well... ever played Splinter Cell?... Nevermind. --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered. -"delay" : Delay until target is triggered. -"killtarget" : Target to kill when triggered. -"looktarget" : Name of the entity to be looked at. Doesn't have to be solid. -"looktime" : How long the player must look at the 'looktarget', in seconds. -"fov" : Area of the view-cone check, 1.0 is straight ahead, 0.0 is in the realm of 90 degrees. Default is 0.9. +# KEYS +- "targetname" : Name +- "target" : Target when triggered. +- "delay" : Delay until target is triggered. +- "killtarget" : Target to kill when triggered. +- "looktarget" : Name of the entity to be looked at. Doesn't have to be solid. +- "looktime" : How long the player must look at the 'looktarget', in seconds. +- "fov" : Area of the view-cone check, 1.0 is straight ahead, 0.0 is in the realm of 90 degrees. Default is 0.9. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life 2 (2004). */ - class trigger_look:NSBrushTrigger { diff --git a/src/gs-entbase/server/trigger_multiple.qc b/src/gs-entbase/server/trigger_multiple.qc index 7e747ae2..8e0524fa 100644 --- a/src/gs-entbase/server/trigger_multiple.qc +++ b/src/gs-entbase/server/trigger_multiple.qc @@ -14,29 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED trigger_multiple (0 .5 .8) ? TM_MONSTERS TM_NOCLIENTS TM_PUSHABLES -A trigger volume which works more than once. - --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered. -"killtarget" : Target to kill when triggered. -"delay" : Delay until target is triggered. -"wait" : Time until this entity can trigger again - --------- OUTPUTS --------- -"OnStartTouch": Triggered when something starts touching this volume -"OnEndTouchAll": Triggered when nothing touched the entity no more - --------- SPAWNFLAGS -------- -TM_MONSTERS : Allow NPCs to activate this entity. -TM_NOCLIENTS : Don't allow players to activate this entity. -TM_PUSHABLES : Allow func_pushables to trigger this entity. - --------- TRIVIA -------- -This entity was introduced in Quake (1996). -*/ - enumflags { TM_MONSTERS, @@ -44,6 +21,29 @@ enumflags TM_PUSHABLES }; +/*!QUAKED trigger_multiple (0 .5 .8) ? TM_MONSTERS TM_NOCLIENTS TM_PUSHABLES +# OVERVIEW +A trigger volume which works more than once. + +# KEYS +- "targetname" : Name +- "target" : Target when triggered. +- "killtarget" : Target to kill when triggered. +- "delay" : Delay until target is triggered. +- "wait" : Time until this entity can trigger again + +# OUTPUTS +- "OnStartTouch": Triggered when something starts touching this volume +- "OnEndTouchAll": Triggered when nothing touched the entity no more + +# SPAWNFLAGS +- TM_MONSTERS (1) : Allow NPCs to activate this entity. +- TM_NOCLIENTS (2) : Don't allow players to activate this entity. +- TM_PUSHABLES (4) : Allow func_pushables to trigger this entity. + +# TRIVIA +This entity was introduced in Quake (1996). +*/ class trigger_multiple:NSBrushTrigger { diff --git a/src/gs-entbase/server/trigger_once.qc b/src/gs-entbase/server/trigger_once.qc index 63901100..10bc87ea 100644 --- a/src/gs-entbase/server/trigger_once.qc +++ b/src/gs-entbase/server/trigger_once.qc @@ -14,24 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED trigger_once (0 .5 .8) ? TO_MONSTERS TO_NOCLIENTS TO_PUSHABLES -A trigger volume which works only once. - --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered. -"killtarget" : Target to kill when triggered. -"delay" : Delay until target is triggered. - --------- SPAWNFLAGS -------- -TO_MONSTERS : Allow NPCs to activate this entity. -TO_NOCLIENTS : Don't allow players to activate this entity. -TO_PUSHABLES : Allow func_pushables to trigger this entity. - --------- TRIVIA -------- -This entity was introduced in Quake (1996). -*/ - enumflags { TO_MONSTERS, @@ -39,6 +21,24 @@ enumflags TO_PUSHABLES }; +/*!QUAKED trigger_once (0 .5 .8) ? TO_MONSTERS TO_NOCLIENTS TO_PUSHABLES +# OVERVIEW +A trigger volume which works only once. + +# KEYS +- "targetname" : Name +- "target" : Target when triggered. +- "killtarget" : Target to kill when triggered. +- "delay" : Delay until target is triggered. + +# SPAWNFLAGS +- TO_MONSTERS (1) : Allow NPCs to activate this entity. +- TO_NOCLIENTS (2) : Don't allow players to activate this entity. +- TO_PUSHABLES (4) : Allow func_pushables to trigger this entity. + +# TRIVIA +This entity was introduced in Quake (1996). +*/ class trigger_once:NSBrushTrigger { public: diff --git a/src/gs-entbase/server/trigger_playerfreeze.qc b/src/gs-entbase/server/trigger_playerfreeze.qc index f8586a3c..5afd674c 100644 --- a/src/gs-entbase/server/trigger_playerfreeze.qc +++ b/src/gs-entbase/server/trigger_playerfreeze.qc @@ -14,22 +14,22 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED trigger_playerfreeze (1 0 0) (-8 -8 -8) (8 8 8) +/*!QUAKED trigger_playerfreeze (1 0 0) (-8 -8 -8) (8 8 8) +# OVERVIEW Trigger that freezes all clients, until it is triggered again. Freezing a player means they're unable to move, they can still look around. --------- KEYS -------- -"targetname" : Name -"killtarget" : Target to kill when triggered. +# KEYS +- "targetname" : Name +- "killtarget" : Target to kill when triggered. --------- NOTES -------- +# NOTES Ideas: Add ability to supress looking around, firing weapons, using items and so on. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Opposing Force (1999). */ - class trigger_playerfreeze:NSBrushTrigger { diff --git a/src/gs-entbase/server/trigger_push.qc b/src/gs-entbase/server/trigger_push.qc index 6c9ee7f9..0ef5ca4f 100644 --- a/src/gs-entbase/server/trigger_push.qc +++ b/src/gs-entbase/server/trigger_push.qc @@ -14,28 +14,28 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED trigger_push (0 .5 .8) ? TP_ONCE TP_STARTOFF -Pushes anything in its volume into a direction of your choosing. - --------- KEYS -------- -"targetname" : Name -"speed" : The speed (units per second) it'll apply to touchers. -"angles" : Sets the direction of the push. - --------- SPAWNFLAGS -------- -TP_ONCE : Only emit a single push once before disabling itself. -TP_STARTOFF : Needs to be triggered first in order to function. - --------- TRIVIA -------- -This entity was introduced in Quake (1996). -*/ - enumflags { TP_ONCE, TP_STARTOFF }; +/*!QUAKED trigger_push (0 .5 .8) ? TP_ONCE TP_STARTOFF +# OVERVIEW +Pushes anything in its volume into a direction of your choosing. + +# KEYS +- "targetname" : Name +- "speed" : The speed (units per second) it'll apply to touchers. +- "angles" : Sets the direction of the push. + +# SPAWNFLAGS +- TP_ONCE (1) : Only emit a single push once before disabling itself. +- TP_STARTOFF (2) : Needs to be triggered first in order to function. + +# TRIVIA +This entity was introduced in Quake (1996). +*/ class trigger_push:NSBrushTrigger { diff --git a/src/gs-entbase/server/trigger_relay.qc b/src/gs-entbase/server/trigger_relay.qc index 5e510887..1fc1cd1a 100644 --- a/src/gs-entbase/server/trigger_relay.qc +++ b/src/gs-entbase/server/trigger_relay.qc @@ -14,29 +14,29 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED trigger_relay (0 .5 .8) ? TRLY_ONCE -This is an inbetween trigger that forces a desired output state -instead of toggling e.g. a door open. - --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered. -"killtarget" : Target to kill when triggered. -"delay" : Delay til the target is triggered. -"triggerstate" : Desired state of the triggered entity. - --------- SPAWNFLAGS -------- -TRLY_ONCE : Will be removed upon triggering its targets. - --------- TRIVIA -------- -This entity was introduced in Quake (1996). -*/ - enumflags { TRLY_ONCE, }; +/*!QUAKED trigger_relay (0 .5 .8) ? TRLY_ONCE +# OVERVIEW +This is an inbetween trigger that forces a desired output state +instead of toggling e.g. a door open. + +# KEYS +- "targetname" : Name +- "target" : Target when triggered. +- "killtarget" : Target to kill when triggered. +- "delay" : Delay til the target is triggered. +- "triggerstate" : Desired state of the triggered entity. + +# SPAWNFLAGS +- TRLY_ONCE (1) : Will be removed upon triggering its targets. + +# TRIVIA +This entity was introduced in Quake (1996). +*/ class trigger_relay:NSPointTrigger { diff --git a/src/gs-entbase/server/trigger_teleport.qc b/src/gs-entbase/server/trigger_teleport.qc index 82bb728f..65ba7bf0 100644 --- a/src/gs-entbase/server/trigger_teleport.qc +++ b/src/gs-entbase/server/trigger_teleport.qc @@ -14,24 +14,24 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED trigger_teleport (0 .5 .8) ? -Teleportation volume. Teleports anything it touches to the position of -any entity set as the "target". Works best with info_teleport_destination. - --------- KEYS -------- -"targetname" : Name -"target" : Which target to teleport to. - --------- TRIVIA -------- -This entity was introduced in Quake (1996). -*/ - enumflags { TRIGTELE_MONSTERS, TRIGTELE_NOCLIENTS }; +/*!QUAKED trigger_teleport (0 .5 .8) ? +# OVERVIEW +Teleportation volume. Teleports anything it touches to the position of +any entity set as the "target". Works best with info_teleport_destination. + +# KEYS +- "targetname" : Name +- "target" : Which target to teleport to. + +# TRIVIA +This entity was introduced in Quake (1996). +*/ class trigger_teleport:NSBrushTrigger { @@ -79,7 +79,7 @@ trigger_teleport::Touch(entity eToucher) } } -/*QUAKED info_teleport_destination (1 0 0) (-8 -8 -8) (8 8 8) +/*!QUAKED info_teleport_destination (1 0 0) (-8 -8 -8) (8 8 8) "targetname" Name Entity designed to designate a destination for a trigger_teleport. diff --git a/src/gs-entbase/server/trigger_transition.qc b/src/gs-entbase/server/trigger_transition.qc index d03aed61..f0d69729 100644 --- a/src/gs-entbase/server/trigger_transition.qc +++ b/src/gs-entbase/server/trigger_transition.qc @@ -14,17 +14,17 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED trigger_transition (0 .5 .8) ? +/*!QUAKED trigger_transition (0 .5 .8) ? +# OVERVIEW Currently unused. This is meant for defining level transition regions. All entities touching this volume would carry across to the next level. --------- KEYS -------- -"targetname" : Name +# KEYS +- "targetname" : Name --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life (1998). */ - class trigger_transition:NSBrushTrigger { diff --git a/src/gs-entbase/shared/ambient_generic.qc b/src/gs-entbase/shared/ambient_generic.qc index ce66c8f1..85b6d626 100644 --- a/src/gs-entbase/shared/ambient_generic.qc +++ b/src/gs-entbase/shared/ambient_generic.qc @@ -14,32 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED ambient_generic (1 1 1) (-8 -8 -8) (8 8 8) AS_ARADIUS AS_SRADIUS AS_MRADIUS AS_LRADIUS AS_SILENT AS_NOTTOGGLED -Plays a sound sample of whatever format the engine is configured to support. - --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered. -"killtarget" : Target to kill when triggered. -"message" : Sound file to play, or sentences.txt entry if prefixed with a '!' -"volume" : Playback volume from 0.0 to 1.0 -"pitch" : Playback pitch from 0.0 to 2.0 - --------- SPAWNFLAGS -------- -AS_ARADIUS : Plays the sound everywhere. Heard by everyone. -AS_SRADIUS : Small playback radius. -AS_MRADIUS : Medium playback radius. -AS_LRADIUS : Large playback radius. -AS_SILENT : Start silent, trigger to make it play! -AS_NOTTOGGLED : Don't toggle playback. When triggered, only play the sample once. - --------- NOTES -------- -If you want it to loop, you have to give the file itself a loop flag. - --------- TRIVIA -------- -This entity was introduced in Half-Life (1998). -*/ - enumflags { AS_ARADIUS, @@ -60,6 +34,32 @@ enumflags AMBIENT_ENABLED }; +/*!QUAKED ambient_generic (1 1 1) (-8 -8 -8) (8 8 8) AS_ARADIUS AS_SRADIUS AS_MRADIUS AS_LRADIUS AS_SILENT AS_NOTTOGGLED +# OVERVIEW +Plays a sound sample of whatever format the engine is configured to support. + +# KEYS +- "targetname" : Name +- "target" : Target when triggered. +- "killtarget" : Target to kill when triggered. +- "message" : Sound file to play, or sentences.txt entry if prefixed with a '!' +- "volume" : Playback volume from 0.0 to 1.0 +- "pitch" : Playback pitch from 0.0 to 2.0 + +# SPAWNFLAGS +- AS_ARADIUS (1) : Plays the sound everywhere. Heard by everyone. +- AS_SRADIUS (2) : Small playback radius. +- AS_MRADIUS (4) : Medium playback radius. +- AS_LRADIUS (8) : Large playback radius. +- AS_SILENT (16) : Start silent, trigger to make it play! +- AS_NOTTOGGLED (32) : Don't toggle playback. When triggered, only play the sample once. + +# NOTES +If you want it to loop, you have to give the file itself a loop flag. + +# TRIVIA +This entity was introduced in Half-Life (1998). +*/ class ambient_generic:NSTalkMonster { /* networked attributes */ diff --git a/src/gs-entbase/shared/env_beam.qc b/src/gs-entbase/shared/env_beam.qc index 274e0763..56073fcf 100644 --- a/src/gs-entbase/shared/env_beam.qc +++ b/src/gs-entbase/shared/env_beam.qc @@ -14,37 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED env_beam (1 0 0) (-8 -8 -8) (8 8 8) BEAM_STARTON BEAM_TOGGLE BEAM_RANDOMSTRIKE BEAM_RING BEAM_STARTSPARKS BEAM_ENDSPARKS BEAM_DECAL BEAM_SHADESTART BEAM_SHADEEND -Controllable beam effect, akin to lightning. Also known as env_lightning. - --------- KEYS -------- -"targetname" : Name -"LightningStart" : Targetname of the entity that acts as starting point for the beam. -"LightningEnd" : Targetname of the entity that acts as an ending point for the beam. -"Radius" : If either start/end point is undefined, it'll pick the nearest surface - in this specified radius as start/end points. -"life" : Lifetime of the beam in seconds. -"StrikeTime" : Time in seconds before the beam reactivates. -"damage" : Damage per second that's dealt when touching the inner beam. -"texture" : Path to the sprite to use in place of a texture. -"BoltWidth" : Thickness multiplier. 0-255 range. -"NoiseAmplitude" : Amplitude multiplier. 0-255 range. - --------- SPAWNFLAGS -------- -BEAM_STARTON : Activate the beam at map start. -BEAM_TOGGLE : Beam can now be toggled off, else StrikeTime + life keys take over. -BEAM_RANDOMSTRIKE : Use variations in StrikeTime + life keys when set. -BEAM_RING : Instead of a beam, two points will connect into a ring. -BEAM_STARTSPARKS : TODO: Start of the beam will spark when set. -BEAM_ENDSPARKS : TODO: End of the beam will spark when set. -BEAM_DECAL : TODO: Presumably leaves decals when sparks hit a surface. -BEAM_SHADESTART : Beam will fade towards the start point when set. -BEAM_SHADEEND : Beam will fade towards the end point when set. - --------- TRIVIA -------- -This entity was introduced in Half-Life (1998). -*/ - enumflags { BEAM_CHANGED_SPRITE, @@ -74,6 +43,37 @@ enumflags BEAM_SHADEEND }; +/*!QUAKED env_beam (1 0 0) (-8 -8 -8) (8 8 8) BEAM_STARTON BEAM_TOGGLE BEAM_RANDOMSTRIKE BEAM_RING BEAM_STARTSPARKS BEAM_ENDSPARKS BEAM_DECAL BEAM_SHADESTART BEAM_SHADEEND +# OVERVIEW +Controllable beam effect, akin to lightning. Also known as env_lightning. + +# KEYS +- "targetname" : Name +- "LightningStart" : Targetname of the entity that acts as starting point for the beam. +- "LightningEnd" : Targetname of the entity that acts as an ending point for the beam. +- "Radius" : If either start/end point is undefined, it'll pick the nearest surface + in this specified radius as start/end points. +- "life" : Lifetime of the beam in seconds. +- "StrikeTime" : Time in seconds before the beam reactivates. +- "damage" : Damage per second that's dealt when touching the inner beam. +- "texture" : Path to the sprite to use in place of a texture. +- "BoltWidth" : Thickness multiplier. 0-255 range. +- "NoiseAmplitude" : Amplitude multiplier. 0-255 range. + +# SPAWNFLAGS +- BEAM_STARTON (1) : Activate the beam at map start. +- BEAM_TOGGLE (2) : Beam can now be toggled off, else StrikeTime + life keys take over. +- BEAM_RANDOMSTRIKE (4) : Use variations in StrikeTime + life keys when set. +- BEAM_RING (8) : Instead of a beam, two points will connect into a ring. +- BEAM_STARTSPARKS (16) : TODO: Start of the beam will spark when set. +- BEAM_ENDSPARKS (32) : TODO: End of the beam will spark when set. +- BEAM_DECAL (64) : TODO: Presumably leaves decals when sparks hit a surface. +- BEAM_SHADESTART (128) : Beam will fade towards the start point when set. +- BEAM_SHADEEND (256) : Beam will fade towards the end point when set. + +# TRIVIA +This entity was introduced in Half-Life (1998). +*/ class env_beam:NSRenderableEntity { diff --git a/src/gs-entbase/shared/env_bubbles.qc b/src/gs-entbase/shared/env_bubbles.qc index a222d519..f06c8ab2 100644 --- a/src/gs-entbase/shared/env_bubbles.qc +++ b/src/gs-entbase/shared/env_bubbles.qc @@ -14,35 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED env_bubbles (1 0 0) ? BUBFL_STARTOFF -Brush volume that emits rising bubbles. - --------- KEYS -------- -"targetname" : Name -"density" : Bubble count when it's emitting -"frequency" : Emitting frequency in seconds -"angles" : Direction of water current -"current" : Speed of the water current - --------- SPAWNFLAGS -------- -BUBFL_STARTOFF : Start disabled. - --------- INPUTS -------- -"Activate" : Turns the entity on -"Deactive" : Turns the entity off -"Toggle" : Toggles the entity to an on/off state -"SetDensity" : Sets the bubble count when it's emitting -"SetFrequency" : Sets the emitting frequency in seconds -"SetCurrent" : Sets the speed of the water current - --------- NOTES -------- -The bubbles emit will pick a random place in the volume (although always at the bottom) -and rise up in varying speeds. This means you can only place vertical bubble emitters. - --------- TRIVIA -------- -This entity was introduced in Half-Life (1998). -*/ - enumflags { BUBBLES_ORIGIN, @@ -55,6 +26,35 @@ enumflags #define BUBFL_STARTOFF 1 +/*!QUAKED env_bubbles (1 0 0) ? BUBFL_STARTOFF +# OVERVIEW +Brush volume that emits rising bubbles. + +# KEYS +- "targetname" : Name +- "density" : Bubble count when it's emitting +- "frequency" : Emitting frequency in seconds +- "angles" : Direction of water current +- "current" : Speed of the water current + +# SPAWNFLAGS +- BUBFL_STARTOFF (1) : Start disabled. + +# INPUTS +- "Activate" : Turns the entity on +- "Deactive" : Turns the entity off +- "Toggle" : Toggles the entity to an on/off state +- "SetDensity" : Sets the bubble count when it's emitting +- "SetFrequency" : Sets the emitting frequency in seconds +- "SetCurrent" : Sets the speed of the water current + +# NOTES +The bubbles emit will pick a random place in the volume (although always at the bottom) +and rise up in varying speeds. This means you can only place vertical bubble emitters. + +# TRIVIA +This entity was introduced in Half-Life (1998). +*/ class env_bubbles:NSPointTrigger { diff --git a/src/gs-entbase/shared/env_fog_controller.qc b/src/gs-entbase/shared/env_fog_controller.qc index 446e2451..41266b72 100644 --- a/src/gs-entbase/shared/env_fog_controller.qc +++ b/src/gs-entbase/shared/env_fog_controller.qc @@ -14,42 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED env_fog_controller (1 0 0) (-8 -8 -8) (8 8 8) EVFOGCTL_MASTER -Textured light projected. This is the type of lighting that's used for -flashlights, lamp spotlights and so on. - --------- KEYS -------- -"targetname" : Name -"target" : Name of an entity in the map that light will point at. -"fogenable" : Will make the fog start active if not 0. -"fogstart" : Distance from the camera of where the fog starts. -"fogend" : Distance from the camera of where the fog ends. -"fogmaxdensity" : Maximum fog density. Value between 0.00 and 1.00. -"farz" : Clip anything after the specified distance. -"fogcolor" : Primary color of the fog in RGB255. E.g. '255 0 0' for red. -"fogcolor2" : Secondary color of the fog in RGB255. Only used when 'fogblend' is 1. -"fogblend" : Whether or not to blend between fogcolor and fogcolor2. -"fogdir" : The fog directon for the secondary color. Only used when 'fogblend' is 1. -"use_angles" : If we should use the 'angles' key instead of 'fogdir'. Only used when 'fogblend' is 1. - --------- INPUTS -------- -"TurnOff" : Turns the entity off. -"TurnOn" : Turns the entity on. -"Toggle" : Toggles the entity to an on/off state. -"SetStartDist" : Sets fogstart. -"SetEndDist" : Sets fogend. -"SetColor" : Sets fogcolor. -"SetColorSecondary" : Sets fogcolor2. -"SetFarZ" : Sets farz. - --------- SPAWNFLAGS -------- -EVFOGCTL_MASTER : If specified, this one will always take priority over - any other active fog controllers... currently unused. - --------- TRIVIA -------- -This entity was introduced in Half-Life 2 (2004). -*/ - enumflags { ENVFOG_CHANGED_ACTIVE, @@ -63,6 +27,42 @@ enumflags ENVFOG_CHANGED_DIR }; +/*!QUAKED env_fog_controller (1 0 0) (-8 -8 -8) (8 8 8) EVFOGCTL_MASTER +# OVERVIEW +Textured light projected. This is the type of lighting that's used for +flashlights, lamp spotlights and so on. + +# KEYS +- "targetname" : Name +- "target" : Name of an entity in the map that light will point at. +- "fogenable" : Will make the fog start active if not 0. +- "fogstart" : Distance from the camera of where the fog starts. +- "fogend" : Distance from the camera of where the fog ends. +- "fogmaxdensity" : Maximum fog density. Value between 0.00 and 1.00. +- "farz" : Clip anything after the specified distance. +- "fogcolor" : Primary color of the fog in RGB255. E.g. '255 0 0' for red. +- "fogcolor2" : Secondary color of the fog in RGB255. Only used when 'fogblend' is 1. +- "fogblend" : Whether or not to blend between fogcolor and fogcolor2. +- "fogdir" : The fog directon for the secondary color. Only used when 'fogblend' is 1. +- "use_angles" : If we should use the 'angles' key instead of 'fogdir'. Only used when 'fogblend' is 1. + +# INPUTS +- "TurnOff" : Turns the entity off. +- "TurnOn" : Turns the entity on. +- "Toggle" : Toggles the entity to an on/off state. +- "SetStartDist" : Sets fogstart. +- "SetEndDist" : Sets fogend. +- "SetColor" : Sets fogcolor. +- "SetColorSecondary" : Sets fogcolor2. +- "SetFarZ" : Sets farz. + +# SPAWNFLAGS +- EVFOGCTL_MASTER (1) : If specified, this one will always take priority over + any other active fog controllers... currently unused. + +# TRIVIA +This entity was introduced in Half-Life 2 (2004). +*/ class env_fog_controller:NSPointTrigger { diff --git a/src/gs-entbase/shared/env_laser.qc b/src/gs-entbase/shared/env_laser.qc index f1402de2..b488877d 100644 --- a/src/gs-entbase/shared/env_laser.qc +++ b/src/gs-entbase/shared/env_laser.qc @@ -14,27 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED env_laser (1 0 0) (-8 -8 -8) (8 8 8) LASER_STARTON x x x LASER_STARTSPARKS LASER_ENDSPARKS LASER_DECAL -Controllable laser effect. More or less a stripped-down version of env_beam. - --------- KEYS -------- -"targetname" : Name -"LaserTarget" : Targetname of the entity that acts as end point for the laser. -"damage" : Damage per second that's dealt when touching the inner laser. -"texture" : Path to the sprite to use in place of a texture. -"BoltWidth" : Thickness multiplier. 0-255 range. -"NoiseAmplitude" : Amplitude multiplier. 0-255 range. - --------- SPAWNFLAGS -------- -LASER_STARTON : Activate the laser at map start. -LASER_STARTSPARKS :Start of the laser will spark when set. -LASER_ENDSPARKS : End of the laser will spark when set. -LASER_DECAL : TODO: Presumably leaves decals when sparks hit a surface. - --------- TRIVIA -------- -This entity was introduced in Half-Life (1998). -*/ - enumflags { LASER_CHANGED_SPRITE, @@ -62,6 +41,27 @@ enumflags LASER_DECAL }; +/*!QUAKED env_laser (1 0 0) (-8 -8 -8) (8 8 8) LASER_STARTON x x x LASER_STARTSPARKS LASER_ENDSPARKS LASER_DECAL +# OVERVIEW +Controllable laser effect. More or less a stripped-down version of env_beam. + +# KEYS +- "targetname" : Name +- "LaserTarget" : Targetname of the entity that acts as end point for the laser. +- "damage" : Damage per second that's dealt when touching the inner laser. +- "texture" : Path to the sprite to use in place of a texture. +- "BoltWidth" : Thickness multiplier. 0-255 range. +- "NoiseAmplitude" : Amplitude multiplier. 0-255 range. + +# SPAWNFLAGS +- LASER_STARTON (1) : Activate the laser at map start. +- LASER_STARTSPARKS (16) :Start of the laser will spark when set. +- LASER_ENDSPARKS (32) : End of the laser will spark when set. +- LASER_DECAL (64) : TODO: Presumably leaves decals when sparks hit a surface. + +# TRIVIA +This entity was introduced in Half-Life (1998). +*/ class env_laser:NSRenderableEntity { diff --git a/src/gs-entbase/shared/env_projectedtexture.qc b/src/gs-entbase/shared/env_projectedtexture.qc index b6d79e83..70173e99 100644 --- a/src/gs-entbase/shared/env_projectedtexture.qc +++ b/src/gs-entbase/shared/env_projectedtexture.qc @@ -14,38 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED env_projectedtexture (1 0 0) (-8 -8 -8) (8 8 8) PRTEXSF_STARTON -Textured light projected. This is the type of lighting that's used for -flashlights, lamp spotlights and so on. - --------- KEYS -------- -"targetname" : Name -"target" : Name of an entity in the map that light will point at. -"lightcolor" : Color of the projected texture light + intensity (unused?) -"style" : Light appearance style of the projected texture. -"texturename" : Name of the texture to be cast as a light. -"farz" : Distance to which this projected light will be cast. -"nearz" : Clipping distance for near objects that won't get lit. -"pattern" : Sets a custom pattern. The "style" key overrides this. - --------- INPUTS -------- -"TurnOff" : Turns the entity off. -"TurnOn" : Turns the entity on. -"Toggle" : Toggles the entity to an on/off state. -"SpotlightTexture" : Sets the projected texture to a specified path. -"LightColor" : Sets the color of the light in RGB255 form. -"SetLightStyle" : Sets the light appearance integer. -"SetNearZ" : Sets clipping distance for near objects that won't get lit. -"SetFarZ" : Sets distance to which this projected light will be cast. -"SetPattern" : Sets the style pattern of the light to a custom one. - --------- SPAWNFLAGS -------- -PRTEXSF_STARTON : Start enabled. - --------- TRIVIA -------- -This entity was introduced in Half-Life 2: Episode One (2006). -*/ - enumflags { PRTEXFL_CHANGED_ORIGIN, @@ -61,6 +29,38 @@ enumflags PRTEXFL_CHANGED_PATTERN }; +/*!QUAKED env_projectedtexture (1 0 0) (-8 -8 -8) (8 8 8) PRTEXSF_STARTON +# OVERVIEW +Textured light projected. This is the type of lighting that's used for +flashlights, lamp spotlights and so on. + +# KEYS +- "targetname" : Name +- "target" : Name of an entity in the map that light will point at. +- "lightcolor" : Color of the projected texture light + intensity (unused?) +- "style" : Light appearance style of the projected texture. +- "texturename" : Name of the texture to be cast as a light. +- "farz" : Distance to which this projected light will be cast. +- "nearz" : Clipping distance for near objects that won't get lit. +- "pattern" : Sets a custom pattern. The "style" key overrides this. + +# INPUTS +- "TurnOff" : Turns the entity off. +- "TurnOn" : Turns the entity on. +- "Toggle" : Toggles the entity to an on/off state. +- "SpotlightTexture" : Sets the projected texture to a specified path. +- "LightColor" : Sets the color of the light in RGB255 form. +- "SetLightStyle" : Sets the light appearance integer. +- "SetNearZ" : Sets clipping distance for near objects that won't get lit. +- "SetFarZ" : Sets distance to which this projected light will be cast. +- "SetPattern" : Sets the style pattern of the light to a custom one. + +# SPAWNFLAGS +- PRTEXSF_STARTON (1) : Start enabled. + +# TRIVIA +This entity was introduced in Half-Life 2: Episode One (2006). +*/ class env_projectedtexture:NSPointTrigger { private: diff --git a/src/gs-entbase/shared/env_sprite.qc b/src/gs-entbase/shared/env_sprite.qc index 8eecb994..834bd44c 100644 --- a/src/gs-entbase/shared/env_sprite.qc +++ b/src/gs-entbase/shared/env_sprite.qc @@ -14,32 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED env_sprite (1 0 0) (-8 -8 -8) (8 8 8) ENVS_STARTON ENVS_PLAYONCE -A sprite entity manager with fancy overrides. - --------- KEYS -------- -"targetname" : Name -"target" : Target when triggered. -"killtarget" : Target to kill when triggered. -"angles" : Sets the pitch, yaw and roll angles of the sprite. -"model" : Path to the sprite in question. -"rendercolor" : Color modifier of the sprite. -"renderamt" : Alpha modifier of the sprite. -"rendermode" : Render mode of the sprite. -"framerate" : Rate between frames in seconds. -"scale" : Scale modifier of the sprite. - --------- SPAWNFLAGS -------- -ENVS_STARTON : Start visible. -ENVS_PLAYONCE : Play once from start to finish, then make invisible. - --------- NOTES -------- -Only used with an external sprite format, like SPR, SPRHL and SPR32. - --------- TRIVIA -------- -This entity was introduced in Half-Life (1998). -*/ - enumflags { SPRITE_CHANGED_ORIGIN, @@ -59,6 +33,32 @@ enumflags ENVS_PLAYONCE }; +/*!QUAKED env_sprite (1 0 0) (-8 -8 -8) (8 8 8) ENVS_STARTON ENVS_PLAYONCE +# OVERVIEW +A sprite entity manager with fancy overrides. + +# KEYS +- "targetname" : Name +- "target" : Target when triggered. +- "killtarget" : Target to kill when triggered. +- "angles" : Sets the pitch, yaw and roll angles of the sprite. +- "model" : Path to the sprite in question. +- "rendercolor" : Color modifier of the sprite. +- "renderamt" : Alpha modifier of the sprite. +- "rendermode" : Render mode of the sprite. +- "framerate" : Rate between frames in seconds. +- "scale" : Scale modifier of the sprite. + +# SPAWNFLAGS +- ENVS_STARTON (1) : Start visible. +- ENVS_PLAYONCE (2) : Play once from start to finish, then make invisible. + +# NOTES +Only used with an external sprite format, like SPR, SPRHL and SPR32. + +# TRIVIA +This entity was introduced in Half-Life (1998). +*/ class env_sprite:NSRenderableEntity { private: diff --git a/src/gs-entbase/shared/func_friction.qc b/src/gs-entbase/shared/func_friction.qc index 0c3e3ab6..7c90da4e 100644 --- a/src/gs-entbase/shared/func_friction.qc +++ b/src/gs-entbase/shared/func_friction.qc @@ -14,22 +14,22 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED func_friction (0 .5 .8) ? +/*!QUAKED func_friction (0 .5 .8) ? +# OVERVIEW Volume that permanently adds a modifier that affects an entities' friction. Higher value = less friction. --------- KEYS -------- -"targetname" : Name -"modifier" : Friction modifier. +# KEYS +- "targetname" : Name +- "modifier" : Friction modifier. --------- NOTES -------- +# NOTES Similar to trigger_gravity in that you want to make sure the friction is reset around the primary volume in case that's the effect that you desire. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life (1998). */ - class func_friction:NSEntity { private: diff --git a/src/gs-entbase/shared/func_illusionary.qc b/src/gs-entbase/shared/func_illusionary.qc index cd0af68d..62d955f2 100644 --- a/src/gs-entbase/shared/func_illusionary.qc +++ b/src/gs-entbase/shared/func_illusionary.qc @@ -14,19 +14,19 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED func_illusionary (0 .5 .8) ? +/*!QUAKED func_illusionary (0 .5 .8) ? +# OVERVIEW Brush that lets light to pass through it and is non-solid. --------- KEYS -------- -"targetname" : Name +# KEYS +- "targetname" : Name --------- NOTES -------- +# NOTES On idTech 2 BSPs, it will change texture variants when triggered. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Quake (1996). */ - class func_illusionary:NSRenderableEntity { diff --git a/src/gs-entbase/shared/func_ladder.qc b/src/gs-entbase/shared/func_ladder.qc index 53cf1e9e..eac67425 100644 --- a/src/gs-entbase/shared/func_ladder.qc +++ b/src/gs-entbase/shared/func_ladder.qc @@ -14,16 +14,16 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED func_ladder (0 .5 .8) ? +/*!QUAKED func_ladder (0 .5 .8) ? +# OVERVIEW Ladder volume. Climb up ladders with this one simple brush. --------- KEYS -------- -"targetname" : Name +# KEYS +- "targetname" : Name --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life (1998). */ - class func_ladder:NSRenderableEntity { diff --git a/src/gs-entbase/shared/func_monitor.qc b/src/gs-entbase/shared/func_monitor.qc index d0d6c4e7..33948f52 100644 --- a/src/gs-entbase/shared/func_monitor.qc +++ b/src/gs-entbase/shared/func_monitor.qc @@ -14,22 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED func_monitor (0 .5 .8) ? -A monitor that renders the view of a linked point_camera entity. - --------- KEYS -------- -"targetname" : Name -"target" : Camera it's linked to. - --------- INPUTS -------- -"Enable" : Turns the monitor on -"Disable" : Turns the monitor on. -"Toggle" : Toggles the state of the monitor between on and off. - --------- TRIVIA -------- -This entity was introduced in Half-Life 2 (2004). -*/ - #ifdef CLIENT int g_iRenderTargetActive; float g_flRenderTargetFOV; @@ -72,6 +56,22 @@ enumflags MONITORFL_CHANGED_STATUS }; +/*!QUAKED func_monitor (0 .5 .8) ? +# OVERVIEW +A monitor that renders the view of a linked point_camera entity. + +# KEYS +- "targetname" : Name +- "target" : Camera it's linked to. + +# INPUTS +- "Enable" : Turns the monitor on +- "Disable" : Turns the monitor on. +- "Toggle" : Toggles the state of the monitor between on and off. + +# TRIVIA +This entity was introduced in Half-Life 2 (2004). +*/ class func_monitor:NSRenderableEntity { #ifdef CLIENT diff --git a/src/gs-entbase/shared/func_tankmortar.qc b/src/gs-entbase/shared/func_tankmortar.qc index 876593c7..248a4670 100644 --- a/src/gs-entbase/shared/func_tankmortar.qc +++ b/src/gs-entbase/shared/func_tankmortar.qc @@ -14,42 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED func_tankmortar (0 .5 .8) ? -A mountable tank mortar turret type entity. A player (or NPC) can interact with -it and shoot it. It's in the same family as the func_tank entity, the -difference being that this shoots mortar blasts and not bullets. - --------- KEYS -------- -"targetname" : Name -"yawrate" : The speed of the left/right movement of the mortar. -"yawrange" : Range of left/right movement in degrees. -"pitchrate" : The speed of the up/down movement of the mortar. -"pitchrange" : Range of up/down movement in degrees. -"barrel" : Distance from origin to barrel tip in units. -"barrely" : Horizontal distance origin to the center of the barrel tip. -"barrelz" : Vertical distance origin to the center of the barrel tip. -"firerate" : Number of bullets fired per second. -"iMagnitude" : Power of each explosion. -"firespread" : Accuracy of the mortar. 0 is best, 4 is worst. -"persistance" : Time in seconds for how long an NPC might continue shooting. -"minRange" : Minimum range the target can be at for an NPC to fire. -"maxRange" : Maximum range the target can be at for an NPC to fire. -"spritesmoke" : Sprite to spawn for 'smoke' when the entity is fired. -"spriteflash" : Sprite to spawn for a 'muzzleflash' when the entity is fired. -"spritescale" : Scale multiplier for both smoke and flash sprites. -"rotatesound" : Sound file to play in a loop while barrel is rotating. - --------- NOTES -------- -I don't like the sprite stuff tacked on at all because of the extra networking -involved and because it's so awfully GoldSrc specific. -Eventually I need to design a more generic routine that allows people to just -refer to materials with the appropriate blend-modes instead of hardcoding that -some random sprites needs to be treated additive. - --------- TRIVIA -------- -This entity was introduced in Half-Life (1998). -*/ - /* TODO: Implement these */ enumflags { @@ -61,6 +25,42 @@ enumflags FNCTANK_CONTROLLABLE }; +/*!QUAKED func_tankmortar (0 .5 .8) ? +# OVERVIEW +A mountable tank mortar turret type entity. A player (or NPC) can interact with +it and shoot it. It's in the same family as the func_tank entity, the +difference being that this shoots mortar blasts and not bullets. + +# KEYS +- "targetname" : Name +- "yawrate" : The speed of the left/right movement of the mortar. +- "yawrange" : Range of left/right movement in degrees. +- "pitchrate" : The speed of the up/down movement of the mortar. +- "pitchrange" : Range of up/down movement in degrees. +- "barrel" : Distance from origin to barrel tip in units. +- "barrely" : Horizontal distance origin to the center of the barrel tip. +- "barrelz" : Vertical distance origin to the center of the barrel tip. +- "firerate" : Number of bullets fired per second. +- "iMagnitude" : Power of each explosion. +- "firespread" : Accuracy of the mortar. 0 is best, 4 is worst. +- "persistance" : Time in seconds for how long an NPC might continue shooting. +- "minRange" : Minimum range the target can be at for an NPC to fire. +- "maxRange" : Maximum range the target can be at for an NPC to fire. +- "spritesmoke" : Sprite to spawn for 'smoke' when the entity is fired. +- "spriteflash" : Sprite to spawn for a 'muzzleflash' when the entity is fired. +- "spritescale" : Scale multiplier for both smoke and flash sprites. +- "rotatesound" : Sound file to play in a loop while barrel is rotating. + +# NOTES +I don't like the sprite stuff tacked on at all because of the extra networking +involved and because it's so awfully GoldSrc specific. +Eventually I need to design a more generic routine that allows people to just +refer to materials with the appropriate blend-modes instead of hardcoding that +some random sprites needs to be treated additive. + +# TRIVIA +This entity was introduced in Half-Life (1998). +*/ class func_tankmortar:NSVehicle { /* attributes */ diff --git a/src/gs-entbase/shared/func_vehicle.qc b/src/gs-entbase/shared/func_vehicle.qc index 3066c8df..d37fddb5 100644 --- a/src/gs-entbase/shared/func_vehicle.qc +++ b/src/gs-entbase/shared/func_vehicle.qc @@ -14,50 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED func_vehicle (0 .5 .8) ? FUNCVEH_NOPITCH FUNCVEH_NOUSER x FUNCVEH_PASSABLE FUNCVEH_FWDRIVE FUNCVEH_RWDRIVE -Primitive brush-based vehicle entity. - --------- KEYS -------- -"targetname" : Name -"target" : Name of the first path_track/corner (See Notes) -"acceleration" : Acceleration multiplier -"speed" : Top-speed of the vehicle in q-units per second -"height" : Wheel-height in units -"width" : Width of the vehicle, used to calculate the wheels -"length" : Length of the vehicle, used to calculate the wheels -"bouncefactor" : Multiplier for the bouncyness of the vehicle -"skidspeed" : At which speed the vehicle starts skidding -"traction" : Multiplier for the traction affecting the vehicle -"breakfactor" : Multiplier for the breaking mechanics -"steerfactor" : Multiplier for the steering speed -"straightenfactor" : Multiplier for affecting the straightening mechanism -"gravitydir" : Normalized vector setting the direction of gravity - -Unimplemented: -"sounds" : A sound-set to use -"volume" : Volume at which said sounds play at (from 0-10) -"dmg" : Damage inflicted upon entities when blocked - --------- SPAWNFLAGS -------- -FUNCVEH_NOPITCH : Don't adjust the pitch angle of the vehicle, only point forward. -FUNCVEH_NOUSER : Don't allow pressing "use" key/button to control it. -FUNCVEH_PASSABLE : Don't do collision testing against this entity. -FUNCVEH_FWDRIVE : Front wheel drive mode. -FUNCVEH_RWDRIVE : Rear wheel drive mode. - --------- NOTES -------- -The vehicle's position is set via the 'target' key, which sets the first -path_track/corner. The vehicle is then teleported to the 'target' but -it stays at the same vertical position as originally placed. - -The angle is calculated by aiming the 'target' path_track/corner entity -to its own 'target' entity. So yes, you need two of these path_track/corner -entities. - --------- TRIVIA -------- -This entity was introduced in Counter-Strike (2000). -*/ - enumflags { FUNCVEH_NOPITCH, @@ -103,6 +59,50 @@ public: virtual void Physics(float,float); }; +/*!QUAKED func_vehicle (0 .5 .8) ? FUNCVEH_NOPITCH FUNCVEH_NOUSER x FUNCVEH_PASSABLE FUNCVEH_FWDRIVE FUNCVEH_RWDRIVE +# OVERVIEW +Primitive brush-based vehicle entity. + +# KEYS +- "targetname" : Name +- "target" : Name of the first path_track/corner (See Notes) +- "acceleration" : Acceleration multiplier +- "speed" : Top-speed of the vehicle in q-units per second +- "height" : Wheel-height in units +- "width" : Width of the vehicle, used to calculate the wheels +- "length" : Length of the vehicle, used to calculate the wheels +- "bouncefactor" : Multiplier for the bouncyness of the vehicle +- "skidspeed" : At which speed the vehicle starts skidding +- "traction" : Multiplier for the traction affecting the vehicle +- "breakfactor" : Multiplier for the breaking mechanics +- "steerfactor" : Multiplier for the steering speed +- "straightenfactor" : Multiplier for affecting the straightening mechanism +- "gravitydir" : Normalized vector setting the direction of gravity + +Unimplemented: +- "sounds" : A sound-set to use +- "volume" : Volume at which said sounds play at (from 0-10) +- "dmg" : Damage inflicted upon entities when blocked + +# SPAWNFLAGS +- FUNCVEH_NOPITCH (1) : Don't adjust the pitch angle of the vehicle, only point forward. +- FUNCVEH_NOUSER (2) : Don't allow pressing "use" key/button to control it. +- FUNCVEH_PASSABLE (4) : Don't do collision testing against this entity. +- FUNCVEH_FWDRIVE (8) : Front wheel drive mode. +- FUNCVEH_RWDRIVE (16) : Rear wheel drive mode. + +# NOTES +The vehicle's position is set via the 'target' key, which sets the first +path_track/corner. The vehicle is then teleported to the 'target' but +it stays at the same vertical position as originally placed. + +The angle is calculated by aiming the 'target' path_track/corner entity +to its own 'target' entity. So yes, you need two of these path_track/corner +entities. + +# TRIVIA +This entity was introduced in Counter-Strike (2000). +*/ class func_vehicle:NSVehicle { diff --git a/src/gs-entbase/shared/func_wall.qc b/src/gs-entbase/shared/func_wall.qc index 8b90abaa..e5f0a1cb 100644 --- a/src/gs-entbase/shared/func_wall.qc +++ b/src/gs-entbase/shared/func_wall.qc @@ -14,19 +14,19 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED func_wall (0 .5 .8) ? +/*!QUAKED func_wall (0 .5 .8) ? +# OVERVIEW Brush that lets light to pass through it. --------- KEYS -------- -"targetname" : Name +# KEYS +- "targetname" : Name --------- NOTES -------- +# NOTES On idTech 2 BSPs, it will change texture variants when triggered. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Quake (1996). */ - class func_wall:NSRenderableEntity { diff --git a/src/gs-entbase/shared/info_particle_system.qc b/src/gs-entbase/shared/info_particle_system.qc index 9e426993..4482c638 100644 --- a/src/gs-entbase/shared/info_particle_system.qc +++ b/src/gs-entbase/shared/info_particle_system.qc @@ -14,25 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED info_particle_system (1 0 0) (-8 -8 -8) (8 8 8) PSFL_STARTACTIVE -An entity that's spawns particles from the engine's particle system. - --------- KEYS -------- -"targetname" : Name -"effect_name" : Name of the particle effect to spawn -"start_active" : Whether or not the entity needs to be triggered first -"interval" : Override for spawn intervals. -"spawncount" : Override for the amount of particles that will be emitted - --------- INPUTS -------- -"Start" : Starts the emitter. -"Stop" : Stops the emitter. -"Toggle" : Toggles the emitter from an on/off state. - --------- TRIVIA -------- -This entity was introduced in The Orange Box (2007). -*/ - #define PSFL_STARTACTIVE 1 enumflags @@ -45,6 +26,25 @@ enumflags PARTSYSFL_CHANGED_COUNT }; +/*!QUAKED info_particle_system (1 0 0) (-8 -8 -8) (8 8 8) PSFL_STARTACTIVE +# OVERVIEW +An entity that's spawns particles from the engine's particle system. + +# KEYS +- "targetname" : Name +- "effect_name" : Name of the particle effect to spawn +- "start_active" : Whether or not the entity needs to be triggered first +- "interval" : Override for spawn intervals. +- "spawncount" : Override for the amount of particles that will be emitted + +# INPUTS +- "Start" : Starts the emitter. +- "Stop" : Stops the emitter. +- "Toggle" : Toggles the emitter from an on/off state. + +# TRIVIA +This entity was introduced in The Orange Box (2007). +*/ class info_particle_system:NSPointTrigger { private: diff --git a/src/gs-entbase/shared/light_dynamic.qc b/src/gs-entbase/shared/light_dynamic.qc index e3370393..94ac21eb 100644 --- a/src/gs-entbase/shared/light_dynamic.qc +++ b/src/gs-entbase/shared/light_dynamic.qc @@ -14,44 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED light_dynamic (1 0 0) (-8 -8 -8) (8 8 8) -Dynamic light entity. Can be parented to things, it even has some inputs that -may be interesting. - --------- KEYS -------- -"targetname" : Name -"target" : Name of an entity in the map that light will point at. -"_light" : Color of the spotlight in RGB255 format. -"brightness" : Intensity of the spotlight. -"_inner_cone" : Angles of the inner spotlight beam. 0 = omnidirectional. -"_cone" : Angles of the outer spotlight beam. 0 = omnidirectional. -"distance" : Distance that light is allowed to cast, in inches. -"spotlight_radius" : Radius of the resulting spotlight that's cast at a wall. -"style" : Select one of the hard-coded lightstyles. -"start_active" : Override for if the entity should start on or off. -"pattern" : Override the lightstyle pattern with a string. - --------- INPUTS -------- -"TurnOn" : Turns the light on. -"TurnOff" : Turns the light off. -"Toggle" : Toggles the light from an on/off state. -"Color" : Sets the light color in RGB255 format. -"brightness" : Sets the light brightness. -"distance" : Sets the distance of which the light will travel/radius. -"_inner_cone" : Sets the length of the inner light cone. -"_cone" : Sets the length of the light cone. -"spotlight_radius" : Sets the radius of the projected spotlight. -"style" : Sets the light appearance in integer form. -"SetPattern" : Sets the light pattern in string form! a = dark, z = bright - --------- NOTES -------- -The 'start_active' is a Nuclide specific one. There is no way in Source engine -games to tell the entity to start inactive as far as I can tell. - --------- TRIVIA -------- -This entity was introduced in Half-Life 2 (2004). -*/ - var int autocvar_r_showDlights = 0; enumflags @@ -69,6 +31,44 @@ enumflags DLIGHTFL_CHANGED_PATTERN }; +/*!QUAKED light_dynamic (1 0 0) (-8 -8 -8) (8 8 8) +# OVERVIEW +Dynamic light entity. Can be parented to things, it even has some inputs that +may be interesting. + +# KEYS +- "targetname" : Name +- "target" : Name of an entity in the map that light will point at. +- "_light" : Color of the spotlight in RGB255 format. +- "brightness" : Intensity of the spotlight. +- "_inner_cone" : Angles of the inner spotlight beam. 0 = omnidirectional. +- "_cone" : Angles of the outer spotlight beam. 0 = omnidirectional. +- "distance" : Distance that light is allowed to cast, in inches. +- "spotlight_radius" : Radius of the resulting spotlight that's cast at a wall. +- "style" : Select one of the hard-coded lightstyles. +- "start_active" : Override for if the entity should start on or off. +- "pattern" : Override the lightstyle pattern with a string. + +# INPUTS +- "TurnOn" : Turns the light on. +- "TurnOff" : Turns the light off. +- "Toggle" : Toggles the light from an on/off state. +- "Color" : Sets the light color in RGB255 format. +- "brightness" : Sets the light brightness. +- "distance" : Sets the distance of which the light will travel/radius. +- "_inner_cone" : Sets the length of the inner light cone. +- "_cone" : Sets the length of the light cone. +- "spotlight_radius" : Sets the radius of the projected spotlight. +- "style" : Sets the light appearance in integer form. +- "SetPattern" : Sets the light pattern in string form! a = dark, z = bright + +# NOTES +The 'start_active' is a Nuclide specific one. There is no way in Source engine +games to tell the entity to start inactive as far as I can tell. + +# TRIVIA +This entity was introduced in Half-Life 2 (2004). +*/ class light_dynamic:NSPointTrigger { vector m_vecLight; diff --git a/src/gs-entbase/shared/prop_physics_multiplayer.qc b/src/gs-entbase/shared/prop_physics_multiplayer.qc index 82b46806..39b5d818 100644 --- a/src/gs-entbase/shared/prop_physics_multiplayer.qc +++ b/src/gs-entbase/shared/prop_physics_multiplayer.qc @@ -14,28 +14,28 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED prop_physics_multiplayer (0 0 0.8) (-16 -16 -16) (16 16 16) PRPPHYS_ASLEEP +#ifndef PHYSICS_STATIC +#define PRPPHYS_ASLEEP 1 + +/*!QUAKED prop_physics_multiplayer (0 0 0.8) (-16 -16 -16) (16 16 16) PRPPHYS_ASLEEP +# OVERVIEW Physics prop that is optimised for netplay. It either pushes the player away, or gets pushed away by the player. The simulation can take place on either client or server. --------- KEYS -------- -"targetname" : Name -"physicsmode" : Which type of push/simulation model to use. See notes. +# KEYS +- "targetname" : Name +- "physicsmode" : Which type of push/simulation model to use. See notes. --------- NOTES -------- +# NOTES 'physicsmode' can be one of three things: - 1 - push player away - 2 - get pushed (server-side) - 3 - get pushed (client-side) + 1. push player away + 2. get pushed (server-side) + 3. get pushed (client-side) --------- TRIVIA -------- +# TRIVIA This entity was introduced in Half-Life 2 (2004). */ - -#ifndef PHYSICS_STATIC -#define PRPPHYS_ASLEEP 1 - class prop_physics_multiplayer:NSPhysicsEntity { int m_iPhysicsMode; diff --git a/src/gs-entbase/shared/prop_rope.qc b/src/gs-entbase/shared/prop_rope.qc index e6126652..ffc6dac1 100644 --- a/src/gs-entbase/shared/prop_rope.qc +++ b/src/gs-entbase/shared/prop_rope.qc @@ -14,24 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED prop_rope (1 1 0.5) (-8 -8 -8) (8 8 8) ROPE_VERTICAL -Client-side decorative rope entity. -Connect the entity to a named info_notnull and watch it swing around. - --------- KEYS -------- -"sag" : Multiplier on how much sagginess will be applied to the rope. -"segments" : Number of total segments. Default is "16". -"material" : The texture to use on the rope. -"swingfactor" : Multiplier on how much the rope swings about. -"target" : The info_notnull to connect the rope to. - --------- SPAWNFLAGS -------- -ROPE_HALF : Only draw the first half of the rope, useful for vertical setups. - --------- TRIVIA -------- -This entity was introduced in The Wastes (2018). -*/ - enumflags { PROPROPE_CHANGED_MAT, @@ -51,6 +33,24 @@ var float autocvar_rope_swing = 2.0; var bool autocvar_rope_fast = TRUE; var int autocvar_rope_maxsegments = -1; +/*!QUAKED prop_rope (1 1 0.5) (-8 -8 -8) (8 8 8) ROPE_VERTICAL +# OVERVIEW +Client-side decorative rope entity. +Connect the entity to a named info_notnull and watch it swing around. + +# KEYS +- "sag" : Multiplier on how much sagginess will be applied to the rope. +- "segments" : Number of total segments. Default is "16". +- "material" : The texture to use on the rope. +- "swingfactor" : Multiplier on how much the rope swings about. +- "target" : The info_notnull to connect the rope to. + +# SPAWNFLAGS +- ROPE_VERTICAL (1) : Only draw the first half of the rope, useful for vertical setups. + +# TRIVIA +This entity was introduced in The Wastes (2018). +*/ class prop_rope:NSEntity { string m_strShader; diff --git a/src/gs-entbase/shared/prop_vehicle_driveable.qc b/src/gs-entbase/shared/prop_vehicle_driveable.qc index 8334fd29..3fdf4069 100644 --- a/src/gs-entbase/shared/prop_vehicle_driveable.qc +++ b/src/gs-entbase/shared/prop_vehicle_driveable.qc @@ -13,22 +13,7 @@ * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ - -/*QUAKED prop_vehicle_driveable (0 0 1) (-50 -50 0) (50 50 70) -Point entity defining a 4-wheel vehicle that you can drive. - --------- KEYS -------- -"targetname" : Name - --------- SPAWNFLAGS -------- - - --------- NOTES -------- - - --------- TRIVIA -------- -This entity was introduced in Half-Life 2 (2004). -*/ + #define VEH_SKIDDING FL_USE_RELEASED @@ -45,6 +30,22 @@ enumflags VEHFL_FLAGS }; +/*!QUAKED prop_vehicle_driveable (0 0 1) (-50 -50 0) (50 50 70) +# OVERVIEW +Point entity defining a 4-wheel vehicle that you can drive. + +# KEYS +- "targetname" : Name + +# SPAWNFLAGS + None currently. + +# NOTES + None currently. + +# TRIVIA +This entity was introduced in Half-Life 2 (2004). +*/ class prop_vehicle_driveable_wheel { private: diff --git a/src/gs-entbase/shared/trigger_camera.qc b/src/gs-entbase/shared/trigger_camera.qc index d013f377..56dca420 100644 --- a/src/gs-entbase/shared/trigger_camera.qc +++ b/src/gs-entbase/shared/trigger_camera.qc @@ -14,26 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED trigger_camera (1 0 0) (-8 -8 -8) (8 8 8) -Forces a camera change when triggered. - --------- KEYS -------- -"targetname" : Name -"target" : Camera aims at this target. -"moveto" : First path_corner entity, if present. -"wait" : The total time the camera effect is active. - --------- NOTES -------- -The client who triggers it will get its camera perspective changed to this -trigger_camera. It is capable of following a track in case "moveto" is set. -The movement finishes independently of the "wait" key. -In case you are follow a path, the triggers of the respective path_corners will -be respected. - --------- TRIVIA -------- -This entity was introduced in Half-Life (1998). -*/ - enumflags { OCAMFL_CHANGED_ORIGIN, @@ -41,6 +21,26 @@ enumflags OCAMFL_CHANGED_WAIT }; +/*!QUAKED trigger_camera (1 0 0) (-8 -8 -8) (8 8 8) +# OVERVIEW +Forces a camera change when triggered. + +# KEYS +- "targetname" : Name +- "target" : Camera aims at this target. +- "moveto" : First path_corner entity, if present. +- "wait" : The total time the camera effect is active. + +# NOTES +The client who triggers it will get its camera perspective changed to this +trigger_camera. It is capable of following a track in case "moveto" is set. +The movement finishes independently of the "wait" key. +In case you are follow a path, the triggers of the respective path_corners will +be respected. + +# TRIVIA +This entity was introduced in Half-Life (1998). +*/ class trigger_camera:NSPointTrigger { #ifdef CLIENT diff --git a/src/gs-entbase/shared/trigger_gravity.qc b/src/gs-entbase/shared/trigger_gravity.qc index 1b52b2a7..1f3d9560 100644 --- a/src/gs-entbase/shared/trigger_gravity.qc +++ b/src/gs-entbase/shared/trigger_gravity.qc @@ -14,24 +14,24 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED trigger_gravity (0 .5 .8) ? +/*!QUAKED trigger_gravity (0 .5 .8) ? +# OVERVIEW Volume that will, when an entity enters it, permanently alters how it experiences gravity. --------- KEYS -------- +# KEYS "targetname" : Name "gravity" : Gravity multiplier. --------- NOTES -------- +# NOTES Entities leaving the volume will NOT lose the gravity modifier. If you don't desire this behaviour, then make sure a trigger_gravity with a modifier value of "1.0" surrounds the aforementioned volume so it can reset itself. Other than that gravity will naturally reset when the entity respawns. --------- TRIVIA -------- +# TRIVIA This entity was introduced in Quake II (1997). */ - class trigger_gravity:NSBrushTrigger { float m_flGravity; diff --git a/src/gs-entbase/shared/worldspawn.qc b/src/gs-entbase/shared/worldspawn.qc index 3420c180..92f38786 100644 --- a/src/gs-entbase/shared/worldspawn.qc +++ b/src/gs-entbase/shared/worldspawn.qc @@ -14,34 +14,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*QUAKED worldspawn (0 0 0) ? -Only used for the world. - --------- KEYS -------- -"message" : Full name of the map. -"author" : Author of the map. -"chaptertitle" : Titles entry to display when entering the level. -"sounds" : CD track to play. -"_fog" : Fog in the playable area. Format: (density red green blue alpha depthbias) -"_skyroomfog" : Fog in the skybox area. Format: (density red green blue alpha depthbias) -"skyname" : Which skybox to use. (e.g. textures/skies/sundown) -"ambientsound" : Sound shader to play in the background (looping) for when other env_soundscape entities are NOT active. -"startdark" : Starts the level with a fade in similar to using an env_fade, which lasts for nine seconds. -"hdr_iris_minvalue" : Minimum HDR brightness adjustment. Default is "0.0". -"hdr_iris_maxvalue" : Maximum HDR brightness adjustment. Default is "2.0". -"hdr_iris_multiplier" : HDR effect multiplier. Default is "1.0". -"hdr_iris_fade_up" : HDR iris fade up speed. Default is "0.1". -"hdr_iris_fade_down" : HDR iris fade down speed. Default is "0.5". - --------- NOTES -------- -A map must only have one worldspawn entity. -Every game can have varying key definitions for the worldspawn entity. -It's also not affected by "killtarget". - --------- TRIVIA -------- -This entity was introduced in Quake (1996). -*/ - #ifdef CLIENT /* High Dynamic Range - Iris Adaption */ var float g_flHDRIrisMinValue = 1.0; @@ -51,6 +23,34 @@ var float g_flHDRIrisFadeUp = 0.1; var float g_flHDRIrisFadeDown = 0.5; var int g_iHDREnabled = 0; +/*!QUAKED worldspawn (0 0 0) ? +# OVERVIEW +Only used for the world. + +# KEYS +- "message" : Full name of the map. +- "author" : Author of the map. +- "chaptertitle" : Titles entry to display when entering the level. +- "sounds" : CD track to play. +- "_fog" : Fog in the playable area. Format: (density red green blue alpha depthbias) +- "_skyroomfog" : Fog in the skybox area. Format: (density red green blue alpha depthbias) +- "skyname" : Which skybox to use. (e.g. textures/skies/sundown) +- "ambientsound" : Sound shader to play in the background (looping) for when other env_soundscape entities are NOT active. +- "startdark" : Starts the level with a fade in similar to using an env_fade, which lasts for nine seconds. +- "hdr_iris_minvalue" : Minimum HDR brightness adjustment. Default is "0.0". +- "hdr_iris_maxvalue" : Maximum HDR brightness adjustment. Default is "2.0". +- "hdr_iris_multiplier" : HDR effect multiplier. Default is "1.0". +- "hdr_iris_fade_up" : HDR iris fade up speed. Default is "0.1". +- "hdr_iris_fade_down" : HDR iris fade down speed. Default is "0.5". + +# NOTES +A map must only have one worldspawn entity. +Every game can have varying key definitions for the worldspawn entity. +It's also not affected by "killtarget". + +# TRIVIA +This entity was introduced in Quake (1996). +*/ class worldspawn:NSEntity { public: