Wall and sector scrolling / thrusting are notable omissions in the existing udmf specs. A subset of these is present in the eternity namespace, but the units are unintuitive and the control is limited. This draft adds scrolling properties to linedefs and sectors, and a separate set of thrust properties for sectors (e.g., for current, wind, etc, anything affecting the volume of the sector rather than its boundaries).
The unit of scrolling is map units per frame.
The unit of thrust is map units per frame per frame (i.e., the value passed to P_ThrustMobj in vanilla ports or Thrust in gzdoom).
Since these features have been used to affect different entities in maps over the years, I've added mode fields that take flags for what to affect. This also makes it easy to add more options in the future if new use cases come up or if we miss something.
Wall and sector scrolling / thrusting are notable omissions in the existing udmf specs. A subset of these is present in the eternity namespace, but the units are unintuitive and the control is limited. This draft adds scrolling properties to linedefs and sectors, and a separate set of thrust properties for sectors (e.g., for current, wind, etc, anything affecting the volume of the sector rather than its boundaries).
The unit of scrolling is map units per frame. The unit of thrust is map units per frame per frame (i.e., the value passed to
P_ThrustMobj
in vanilla ports orThrust
in gzdoom).Since these features have been used to affect different entities in maps over the years, I've added mode fields that take flags for what to affect. This also makes it easy to add more options in the future if new use cases come up or if we miss something.