Editing
Polyobject
(section)
From Eternity Wiki
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==='''Method 2: The <code>Polyobj_ExplicitLine</code> Special'''=== :The <code>349:Polyobj_ExplicitLine('''linedef_tag''', '''linedef_tag''', '''mirror_id''')</code> special demarcates every line that will be added to a PolyObject and the exact order in which the lines will be added. This affords a bit more flexibility in the construction of PolyObjects at the price of not allowing any other line specials to be placed on the object itself. :Diagrammatic Example: :[[File:Polyobjects_adv.png]] :Assume that the linedefs labeled 1 through 4 are assigned (via [[ExtraData]]) the <code>Polyobj_ExplicitLine</code> special, all have argument '''#1''' set to "1" -- this is its PolyObject ID number (which must be unique amongst all on the map, and must be a number greater than zero), and argument '''#2''' set also to whatever their tag is (in this case again it's ''1''). :The game engine will search through all linedefs in the entire map for ones with the current '''PolyObject ID''' in argument '''#1''' and a value greater than zero in argument '''#2'''. The lines will be collected and then sorted by the '''LineDef id'''. :Now, once the lines are added, it is necessary to define the control objects. This is exactly the same as it is for the <code>StartLine(...)</code> special above. :* '''B''': This is the PolyObject's anchor point (type EEPolyObjAnchor with DoomEd #9300). It defines the point relative to which all the lines in the PolyObject will be translated to the spawn point. This object's angle must be set to the same value as the <code>ExplicitLines'</code> first argument (the '''PolyObject ID'''). There must be one and only one of these objects for each '''PolyObject ID'''. :* '''C''': This is the PolyObject's spawn point (one of EEPolyObjSpawnSpot [9301] or EEPolyObjSpawnSpotCrush [9302]). It defines the point where the PolyObject will initially spawn on the map. The anchor point will be translated to this exact location, and all lines in the PolyObject will maintain their relative positions to it. This object must also have its angle field set to the same value as both the ExplicitLines' first argument and the anchor point's angle field. There must be one and only one of these objects for each '''PolyObject ID'''. Use 9302 to cause the PolyObject to do crushing damage to things that block it while it is in motion. :The complete arguments to <code>Polyobj_ExplicitLine('''linedef_tag''', '''linedef_tag''', '''mirror_id''')</code> are as follows: :* ''polyobj_id'' : the unique ID number (greater than zero) of the PolyObject :* ''linedef_tag'' : specifies the order in which the line will be added to the PolyObject. This number should be unique amongst all lines to be added to the same object, and must be a value greater than zero. :* ''mirror_id'' : the ID number of a PolyObject that you want to mirror every action that affects this PolyObject. This number cannot be the same as the PolyObject's own ID. :In order to use this line special in a DOOM-format map, it is necessary to use ExtraData. In that case, you can either give the lines you want to have the Polyobj_ExplicitLine special the ExtraData linedef control special (#270) instead, and then specify Polyobj_ExplicitLine and its arguments in all the corresponding ExtraData linedef records; or simply use the line special normally, and specify the ExtraData record number in the linedef's tag, specifying only the arguments inside the ExtraData record.
Summary:
Please note that all contributions to Eternity Wiki are considered to be released under the GNU Free Documentation License 1.2 (see
Eternity Wiki:Copyrights
for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation menu
Page actions
Page
Discussion
Read
Edit
History
Page actions
Page
Discussion
More
Tools
Personal tools
Not logged in
Talk
Contributions
Log in
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Search
Tools
What links here
Related changes
Special pages
Page information