Editing Attached surface linedef types

From Eternity Wiki
Jump to navigationJump 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.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
Attached surfaces cause multiple sectors to move together. This allows for the creation of complex lifts, doors, or elevators comprised of multiple sectors which will remain synchronized even if any sector's movement is blocked by a player or other object.  
Attached surfaces cause multiple sectors to move together. This allows for the creation of complex lifts, doors, or elevators comprised of multiple sectors which will remain synchronized even if any sector's movement is blocked by a player or other object.  
One sector is the "control", which the attached surfaces will move in sync with. The control can either be inside the map or a dummy sector outside of it.
By use of the mirror attachments you can, for example, attach a ceiling to the mirrored movement of a floor, to create a split door which opens from the middle.
{{Backto|Linedef types}}
{{Backto|Linedef types}}
== UDMF format ==
UDMF format doesn't use linedef types, but the '''floorid''', '''ceilingid''', '''attachfloor''' and '''attachceiling'''. They use IDs separate from the sector or linedef tags, equivalent to the linedef tags used in the classic format for this purpose.
For mirrored movement, use negative values of IDs in '''attachfloor''' and '''attachceiling'''. So if a master sector's ceiling moves up and a slave sector's floor will move down, set the '''ceilingid''' of master to 1 and the '''attachfloor''' value of slave to -1.
== Classic format ==


Attached surface linedefs are as follows:
Attached surface linedefs are as follows:
Line 29: Line 16:
* 384 -- Attach_MirrorCeilingToControl
* 384 -- Attach_MirrorCeilingToControl
:The sector on the front side of this line will have its ceiling movement controlled inversely by the surface whose control line shares this line's tag.
:The sector on the front side of this line will have its ceiling movement controlled inversely by the surface whose control line shares this line's tag.
For example, put an Attach_SetFloorControl special on a line with its front side facing the control sector and give it a tag. Then put Attach_FloorToControl specials on lines facing all the sectors to be attached to it.


==Using attached surfaces with linked portals==
==Using attached surfaces with linked portals==
Attached surfaces can be used to create effects like doors or lifts between different sector groups connected by linked portals.
Attached surfaces can be used to create effects like doors or lifts between different sector groups connected by linked portals.


In the classic format, 385 (Apply_PortalToFrontsector) isn't directly related to attached surfaces, but is useful for them because it makes it possible to have lifts and such tagged in sectors that are also tagged for portals. The portal is tagged by putting a line with special 385 facing the affected sector(s), and the line's tag set to the portal tag number you want to apply to those sectors.
One sector is the "control", which the attached surfaces will move in sync with. The control can either be inside the map or a dummy sector outside of it.


In UDMF, you simply apply '''portalfloor''' or '''portalceiling''' to apply the intended linked portal, at exactly the height it needs to be.
Put an Attach_SetFloorControl special on a line with its front side facing the control sector and give it a tag. Then put Attach_FloorToControl specials on lines facing all the sectors to be attached to it.


Build the same lift or elevator on both sides of your portal (this will require floors that are higher than the ceiling on one side of it), attach one of them to the other, and set up the portal between them. Under the classic format you will most likely want to use special 385 because otherwise linked portals start defined on the same level as surfaces, but for through-portal elevators you will need to have a floor far beneath the portal or above the ceiling portal.
By use of the mirror attachments you can, for example, attach a ceiling to the mirrored movement of a floor, to create a split door which opens from the middle.


==Attached portals==
385 (Apply_PortalToFrontsector) isn't directly related to attached surfaces, but is useful for them because it makes it possible to have lifts and such tagged in sectors that are also tagged for portals. The portal is tagged by putting a line with special 385 facing the affected sector(s), and the line's tag set to the portal tag number you want to apply to those sectors.
By default the linked portal plane does not move -- it stays fixed -- so it can allow solid lifts to move through it. But sometimes you'll want the portal to move. For that, you apply the UDMF '''portal_floor_attached'''/'''portal_ceiling_attached''' attribute or (in the classic format) the [[ExtraData]] '''ATTACHEDPORTAL''' flag to the '''portalflags.floor'''/'''portalflags.ceiling''' '''sector''' flag.


Beware that the non-interactive portals (such as visual anchored ones) ''always'' move with the sector plane, so this flag isn't needed there.
Build the same lift or elevator on both sides of your portal (this will require floors that are higher than the ceiling on one side of it), attach one of them to the other, and set up the portal between them.


[[category:Editing reference]]
[[category:Editing reference]]
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)

Template used on this page: