diff --git a/src/gs-entbase/server/button_target.qc b/src/gs-entbase/server/button_target.qc index ef29e0bf..da40a265 100644 --- a/src/gs-entbase/server/button_target.qc +++ b/src/gs-entbase/server/button_target.qc @@ -21,7 +21,7 @@ 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 +/*!QUAKED button_target (0 .5 .8) ? USE TEXTURE_ON # OVERVIEW Non-moving button that can either be used by hand, or shot. @@ -31,8 +31,8 @@ Non-moving button that can either be used by hand, or shot. - "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. +- USE (1) : Button becomes 'use' only, clients have to interact with it manually instead of shooting it. +- TEXTURE_ON (2) : Texture choices will be inverted in case multiple frames exist. # 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 0f76feeb..dded661f 100644 --- a/src/gs-entbase/server/trigger_changelevel.qc +++ b/src/gs-entbase/server/trigger_changelevel.qc @@ -14,28 +14,19 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*!QUAKED trigger_changelevel (.5 .5 .5) ? LC_NOINTERMISSION LC_USEONLY +vector g_landmarkpos; + +/*!QUAKED info_landmark (1 0 0) (-8 -8 -8) (8 8 8) # 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. +Defines a shared point between two levels. Used for level transitions, such +as the ones produced by a trigger_changelevel. # 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 (1) : Don't show intermission cam (unimplemented). -- LC_USEONLY (2) : Can't activate through touching, only via triggers. # TRIVIA -This entity was introduced in Quake (1996). +This entity was introduced in Half-Life (1998). */ - -vector g_landmarkpos; - class info_landmark:NSPointTrigger { @@ -80,6 +71,36 @@ ChangeTarget_Activate(void) foo.TemporaryTimer(self, Finalize, cvar("_bsp_changedelay"), false); } +/*!QUAKED trigger_changelevel (.5 .5 .5) ? NO_INTERMISSION TRIGGER_ONLY +# OVERVIEW +A trigger volume that initiates a level change, from one map to the next. +It can be used in combination with info_landmark and trigger_transition +to define a shared point and a transition area for entities respectively. + +# KEYS +- "targetname" : Name +- "map" : Next .bsp file name to transition to. +- "landmark" : Landmark name to target. +- "changedelay" : Time in seconds until the transition happens. + +# INPUTS +- "ChangeLevel" : Triggers the level to change. + +# OUTPUTS +- "OnChangeLevel" : Fired when the level changes. + +# SPAWNFLAGS +- NO_INTERMISSION (1) : Don't show intermission cam (unimplemented). +- TRIGGER_ONLY (2) : Can't activate through touching, only via triggers. + +# NOTES +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. + +# TRIVIA +This entity was introduced in Quake (1996). +*/ class trigger_changelevel:NSBrushTrigger { diff --git a/src/gs-entbase/server/trigger_transition.qc b/src/gs-entbase/server/trigger_transition.qc index 1edbae97..9eca24e6 100644 --- a/src/gs-entbase/server/trigger_transition.qc +++ b/src/gs-entbase/server/trigger_transition.qc @@ -17,16 +17,18 @@ /*!QUAKED trigger_transition (.5 .5 .5) ? # OVERVIEW Defines level transition regions. -All entities touching this volume would carry across to the next level. +All entities touching this volume will carry across to the next level. # KEYS - "targetname" : Name # NOTES -In order for this entity to work, you have to assign a working info_landmark entity to your trigger_changelevel, and give this entity the same targetname as said landmark. +In order for this entity to work, one has to assign a working info_landmark entity to a trigger_changelevel, and give this entity the same targetname as said landmark. -If you don't assign a transition, no entities will carry over currently. This is not accurate to vanilla behaviour in Half-Life but should mirror what Source does. -In Half-Life, everything as part of the current PVS seems to carry over. This is probably not what you want to ever do, especially in large outdoor maps. +In GoldSrc games, it appears that every point-entity that's part of the current PVS (mostly the 'room' and attached path-ways you're currently in) carries over to the next level - if a trigger_transition is not defined. +This is probably not what you want to ever do, especially in large outdoor maps where the 'room' is the entire map. + +You can also have more than one trigger_transition with the same name, so if any entity is in any of them they will move with the player across the desired level. # TRIVIA This entity was introduced in Half-Life (1998).