User Tools

Site Tools


xg:reference_guide

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
xg [2017-03-25 13:45] – [XG reference guide] skyjakexg:reference_guide [2018-10-20 07:51] (current) – [Examples] skyjake
Line 1: Line 1:
 +====== XG reference guide ======
 +
 +
 +**XG** (E**x**tended **G**eneralised Line/Sector Types) is a powerful, flexible addition to the mapper's arsenal that can help to bring life to static maps. Creative use of XG enables the mod author to engineer entirely new interactive elements, from complex machines and logic puzzles to scripted sequences and more.
 +
 +{{file:xgref.pdf|Original XG Reference from 2002 (PDF)}}
 +
 +===== Introduction =====
 +
 +
 +[[games:Doom]] has a number of hard-coded line and sector types, each of which are programmed to do certain effects like lower a lift, open a door or, in the sectors' case, perhaps just to blink randomly. They were designed to be used in the game's own maps and thus do not provide the best possible selection of effects for your ones.
 +
 +The XG system was developed to allow you to create your own line and sector types for use in [[fs:pwad]]s.
 +
 +If you are new to XG you would be well advised to start off with the basics and move on when comfortable. There is a lot to learn.
 +
 +
 +===== Overview =====
 +
 +
 +[[xg:line_type|Line type]]s separate the [[xg:triggers|activation method]], [[xg:activation_requirement|activation requirements]] and the [[xg:refs|effects]] of the line. It is possible to create 'chains' of line types, which effectively combine many types of line into one. Chains are a very important part of XG. Often it is easiest to define several line types, each performing a simpler (perhaps re-usable) function and then chain them up behind a single [[modding:line special]].
 +
 +[[xg:sector_type|Sector type]]s define various physical characteristics of a sector, like light level and color, wind and gravity. Sector types also specify a number of [[xg:triggers|event triggers]] which occur in accordance to or as a result of interpreting these characteristics under a certain set of circumstances (meaning that everything possible through changes to the state of lines is also possible through sectors).
 +
 +XG line and sector types are entirely separate from the original Doom types. Both the extended and the standard types can be used in a map.
 +
 +
 +===== Fundamentals =====
 +
 +
 +These articles deal with the fundamental concepts of XG and how they pull together to form the building blocks of the system itself.
 +
 +  *  [[xg:terminology|Terminology]] classes, types, functions...
 +  *  [[xg:triggers|Triggers]] - How a line's functionality is **triggered**, and the initial state of a line.
 +  *  [[xg:activation_requirement|Activation and deactivation requirements]] - Required **conditions** for triggering an action.
 +  *  [[xg:line_activation|Behaviors]] - How the line should **behave** when activated/deactivated.
 +  *  [[xg:chains|Chains]] - How to **chain** multiple line types together to perform several actions in sequence. 
 +  *  [[xg:refs|References]] - How to involve another object or property in an interaction.
 +
 +
 +==== Examples ====
 +
 +  *  [[line_type_examples|Line Type examples]]
 +  *  [[sector_type_examples|Sector Type examples]]
 +  *  [[colored_xg_sector_lighting_example|Sector light color examples]]
 +  *  [[howto:combination_lock|How to create a combination lock]]
 +
 +
 +==== Reference guides ====
 +
 +  *  [[xg:class|Line classes]]
 +  *  [[xg:sector_type|Sector types]]
 +  *  [[xg:map_object_reference|Object and property references]]
 +