UDMF: Thing types
Based on !1680 (merged), merge that one first.
This branch adapts all thing types to UDMF. Like linedefs, things have args
and stringargs
that can store miscellaneous settings. These replace a lot of old hacks, namely:
- The angle and flags value fields are no longer abused as additional space for specifying thing settings.
- The parameter/extrainfo field is obsolete and inaccessible in UDMF.
- Thing types that can have a pitch (NiGHTS hoops and bumpers) now use the
pitch
field. - The only thing flag that is still accessible in UDMF in
MTF_FLIP
. The other three all have specialized purposes that depend on the thing type, so they are no longer necessary in UDMF. - Reserved linedef executor tags are no longer necessary. If a thing calls a linedef executor, the tag is supplied via an arg. In particular, the old method of making egg capsules (with tags 680-682) is disabled in UDMF maps. You can replicate the behavior with linedef type 464 and the "victory trigger tag" arg of the boss mapthing.
While I was at it, I added a small amount of new features that have become feasible thanks to UDMF:
- Thing types 610 and 611 can be used to spawn a row or circle of any type of object(s) you want.
- Thing type 700 is a generic sound source object. It works like the existing ambience thing types, except you can specify any sound in the game.
Edited by MascaraSnake