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!
==PolyObject Doors== There are two distinct types of actions provided to allow PolyObjects to function as doors: swinging and sliding. There are no override versions of door actions, and applying other overrides to currently moving PolyObject doors will most likely cause the doors to malfunction and move erratically. All PolyObject doors accept a delay parameter, and this specifies the amount of time the door will wait before closing. A door which is closing will reopen if blocked by an object. ===Swinging PolyObject Door=== {| class="wikitable" |- | [[Image:Poly_swingdoor_schema.png|200px]] || [[Image:Poly_swigning_door.gif]] |- | PolyObject swinging door schema || PolyObject swinging door |} <code>Polyobj_DoorSwing ('''polyobj_id''', '''aspeed''', '''adist''', '''delay''')</code> This action creates a swinging door from a PolyObject and takes the following arguments: :* ''polyobj_id'' : The ID number of PolyObject to affect. Mirroring works for doors as well and is the most common use for PolyObject mirroring. :* ''aspeed'' : Angular speed in byte angles per tic. :* ''adist'' : Angular distance to rotate when opening, and again but in the opposite direction when closing. :* ''delay'' : Amount of time before the door attempts to close after fully opening in tics. If the door is forced to reopen due to being blocked, it will also wait this amount of time before once again closing. Swinging doors currently only rotate left. A right-rotating swinging door special will be added in the near future. ===Sliding PolyObject Door=== {| class="wikitable" |- | [[Image:Poly_slidedoor_schema.png|200px]] || [[Image:Poly_sliding_door.gif|180px]] |- | PolyObject sliding door schema || PolyObject sliding door |} <code>Polyobj_DoorSlide ('''polyobj_id''', '''speed''', '''angle''', '''dist''', '''delay''')</code> :This action creates a sliding door from a PolyObject and takes the following arguments: :* ''polyobj_id'' : The ID number of PolyObject to affect. Mirroring works for doors as well and is the most common use for PolyObject mirroring. :* ''speed'' : Speed of the door's opening and closing in eighths of a unit per tic. :* ''angle'' : Byte angle of door's initial motion. This angle is reversed when the door closes. :* ''dist'' : Distance the door moves when opening, and again when closing, in units. :* ''delay'' : Amount of time before the door attempts to close after fully opening in tics. If the door is forced to reopen due to being blocked, it will also wait this amount of time before once again closing. ===PolyObject Door Examples=== ====[https://s3-eu-west-1.amazonaws.com/eternity/polyobj_doors.wad PolyObject Doors Demo]==== A demonstration of both swinging and sliding doors, mirrored and single. Plays on '''Doom 2''' / '''Map01'''. The map is linked to an [[ExtraData]] lump (via [[EMAPINFO]]). It is recommended that you open the Demo WAD in a WAD manager program like '''SLADE3''' or '''XWE''' to read the '''ExtraData''' scripts together with provided comments. For example the first script explains how LineDefs are configured for a single swinging door: <pre> //============================= //= BASIC SINGLE SWINGING DOOR //=========================== linedef { recordnum = 1 // corresponds to a LineDef with action: 270, tag: 1 special = PolyObj_StartLine // this defines the current LineDef as a // starting point for the PolyObject args = { 1 } // since this is a very basic PolyObj, it requires only one // argument (it's not to be confused with LineDef / Sector tag) } linedef { recordnum = 2 // corresponds to a LineDef with action: 270, tag: 2 extflags = "use player repeat" // describes how the LineDef is activated special = PolyObj_DoorSwing args = { 1,20,64,160 } // swing the door with PolyId: 1, AngularSpeed: 20 // AngularDeistance 64 units (90 deg), // Delay: 160 tics } (...) </pre>
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