Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
xg:map_object_reference [2019-11-26 08:31] – 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: | ||
+ | |||
+ | |||