This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revision | |||
| xg:map_object_reference [2019-11-26 09:14] – skyjake | xg:map_object_reference [2021-01-22 15:09] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== XG map object cross-referencing ====== | ||
| + | |||
| + | ===== What is a reference? ===== | ||
| + | |||
| + | References are one of the fundamental building blocks of the [[xg]] system, in fact, just about every time you create a new [[line_type|line]] or [[sector_type]] you will need to use at least one of them. | ||
| + | |||
| + | Every time a [[line]] needs to perform an action on either itself, a [[sector]], another line or something else, a reference is needed. For example a switch that opens a door needs some way of knowing which door it should open when triggered. This is when a reference is used. | ||
| + | |||
| + | With [[doom]]' | ||
| + | |||
| + | In order to provide extended functionality, | ||
| + | |||
| + | All references are composed of two parts: a type and a data component. However, most types of reference have no use for the data component. | ||
| + | |||
| + | |||
| + | |||
| + | ===== Reference classification ===== | ||
| + | |||
| + | |||
| + | Complete listing of all available XG references. The type of reference you use depends on the object types which are to interact. | ||
| + | |||
| + | |||
| + | |||
| + | ==== Line → lightlevel ==== | ||
| + | |||
| + | |||
| + | //Light level references// | ||
| + | |||
| + | Lightrefs do not use the [[data component]]. | ||
| + | |||
| + | ^ Name^ Summary | | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | |||
| + | |||
| + | |||
| + | ==== Line → line ==== | ||
| + | |||
| + | |||
| + | //Line references// | ||
| + | |||
| + | ^ Name^ Summary | | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | |||
| + | |||
| + | |||
| + | ==== Line → plane ==== | ||
| + | |||
| + | |||
| + | // | ||
| + | |||
| + | ^ Name^ Summary | | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | || | ||
| + | ^ Floor plane || | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | || | ||
| + | ^ Ceiling plane || | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | |||
| + | |||
| + | |||
| + | ==== Line → sector ==== | ||
| + | |||
| + | |||
| + | // | ||
| + | |||
| + | ^ Name^ Summary | | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ==== Sector → plane ==== | ||
| + | |||
| + | |||
| + | // | ||
| + | |||
| + | Sprefs are most often used to refer to the height (Z coordinate) of a [[material]] among the referenced surfaces. When using sprefs a set of sectors or planes have usually already been targeted via another reference. | ||
| + | |||
| + | ^ Name^ Summary | | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | || | ||
| + | ^ Floor plane || | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | || | ||
| + | ^ Ceiling plane || | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | || | ||
| + | ^ Property evaluation || | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | |||
| + | |||
| + | |||
| + | ==== Line → property ==== | ||
| + | |||
| + | |||
| + | //Property references// | ||
| + | |||
| + | One potential usage of this functionality would be a line type which upon [[xg: | ||
| + | |||
| + | Property references are commonly used in Boom in a method it calls " | ||
| + | |||
| + | //Line data references// | ||
| + | |||
| + | ^ Name^ Summary | | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | | [[.refs: | ||
| + | |||
| + | |||