button_target, trigger_changelevel, trigger_transition: doc improvements

This commit is contained in:
Marco Cawthorne 2024-02-23 13:54:46 -08:00
parent c60012b757
commit ca318e29f9
Signed by: eukara
GPG Key ID: CE2032F0A2882A22
3 changed files with 45 additions and 22 deletions

View File

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

View File

@ -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
{

View File

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