Hi, welcome to my thorny thread of atrocious alliterations, my terrible topic of worrying witty wild words, my disorganised dump for disparingly dismal facts that everyone seems to have overlooked about SRB2 (so I don't have to put it in my Wiki userspace where there's no way to know if anyone checks)!
...here we go...
Part 1: Perilous PolyObjects (a.k.a The Truth about PolyObjects)
Myths and Truth:
PolyObjects can be designated as a parent PolyObject to other, lesser child PolyObjects. This simply means that whenever the parent PolyObject performs a physical action such as moving or rotating, the child PolyObjects linked to the parent will do exactly the same thing!
Parent PolyObjects can be set up as normal. Child PolyObjects require the sector special value of its Parameters linedef's front sector to be set to the PolyObject ID of the PolyObject to designate as its "parent".
Known bugs as of 2.1.11:
(14/01/15) - No longer relevant as of 2.1.12 onwards.
Test wad to prove this is true: polyobj-parentchild_test.wad (do note of the issue with LD 448 already mentioned earlier, still proves the concept works though)
Explicitly Include Line:
How this linedef is INTENDED to be used (possibly it is broken):
...here we go...
Part 1: Perilous PolyObjects (a.k.a The Truth about PolyObjects)
Myths and Truth:
- The tag of "First Line" is simply meant to search for the "Parameters" linedef with the same tag, nothing more. It has no relation to PolyObject ID.
- Parameters linedef's tag therefore has no relation to PolyObject ID either.
- The floor height of Parameter linedef's front sector is the ACTUAL property that needs to be the PolyObject ID.
- Linedef type 316 does not actually exist ...or at least, not as a trigger linedef with special behaviour - in function this is identical to the standard "Continuous" linedef (linedef type 300), and can be used by anything non-PolyObject-related in the same way. (14/01/15) - Linedef type 316's page was deleted from the wiki a while back, rejoice for the truth! B)
- As such PolyObjects with a First Line with Not Climbable set actually can use any trigger linedef special when a player lands on them, rather than just LD 316!
PolyObjects can be designated as a parent PolyObject to other, lesser child PolyObjects. This simply means that whenever the parent PolyObject performs a physical action such as moving or rotating, the child PolyObjects linked to the parent will do exactly the same thing!
Parent PolyObjects can be set up as normal. Child PolyObjects require the sector special value of its Parameters linedef's front sector to be set to the PolyObject ID of the PolyObject to designate as its "parent".
- Linedef types 482 - 487 (the Move/Rotate specials) are not able to make child PolyObjects move, and furthermore the "Override" counterparts crash the game on use.
- linedef type 488 (Move by Waypoints) incorrectly offsets the child PolyObjects when close to waypoint destinations, resulting in them appearing to "de-sync" from the parent's path.
- linedef type 30 (Waving Flag) has similar problems as with the Move/Rotate specials.
Test wad to prove this is true: polyobj-parentchild_test.wad (do note of the issue with LD 448 already mentioned earlier, still proves the concept works though)
Explicitly Include Line:
How this linedef is INTENDED to be used (possibly it is broken):
- EIL linedefs are actually meant to be applied in-level for their own PolyObject with its own anchor and spawnpoint etc, rather than as extras to an existing one
- First Line is not to be used, EIL's effect requires that it is not already present
- Apply EIL to all relevant linedefs
- EIL's tag should match Parameters' tag as First Line would
- Parameters MUST have a parent ID set through its front sector's special for the EIL linedefs to do anything
- Sector brightness level for Parameters can determine a parent ID to override the previous one set after EIL setup
Last edited: