Navigate InfoSuite
Hosted At
Link to Duke4
Advanced FX - Doors - C : Swinging Doors

Swinging Doors

This type of door is somewhat confusing at first. Swinging Doors rotate 90 degrees to open. I have gathered all of the types of swinging doors onto one page because they are all basically the same, but with a few minor adjustments they can behave differently.



Dual Swinging Doors


Begin by making two sectors. The red line in between them is where the doors will be placed.

MISSING IMAGE!


Make two door sectors. It's necessary to make your door sectors within valid player space. Use Alt + S to change them into valid player space.

MISSING IMAGE!


Turn grid locking off with L (the mouse cursor will be white when grid locking is off). The goal is to move the doors as close as possible to the doorway without actually touching. Absolutely none of the vertices should be overlapped. The closer the vertices, the better your finished doors will look. If you examine the image closely, you'll see that the doors are not touching the doorway, or each other. They are all slightly separated.

MISSING IMAGE!


Raise each door sector's floor so it meets the ceiling (or lower the ceiling to the floor, whichever you prefer). Texture the doors however you like. You can see that the doors are not actually touching because of the extremely thin gap between them. Don't forget to texture all sides of the door (including the sides within that thin gap).

MISSING IMAGE!


Place the following sprites in each door sector: M[CloseSound,OpenSound], S[Channel,11] (Speed[0,Speed], S[Delay,10]). I recommend M[165,165]. If you want your doors to operate separately, give the S sprites separate unique Channel values. If you want your doors to operate together, give the S sprites the same unique Channel value.

MISSING IMAGE!


The S is going to act as the door's hinge. Turn grid locking off with L, and drag the S into the corner where you want the hinge to be (it must stay within the door sector). Move it as close as possible to the corner vertex without actually touching it (as shown in the image). The angle of the S determines the direction that the door will swing. If the angle is down, the door will swing 90 degrees clockwise. If the angle is up, the door will swing 90 degrees anticlockwise. Tag both door sectors [0,23], and the doors are complete!

MISSING IMAGE!


Note: Single Swinging Doors are constructed in the same manner, except you start with a smaller doorway, build only one door, and give the S a unique Channel value.




Swinging Window Doors

Swinging Window Doors aren't any more complex than your average Swinging Door, and they look cooler. You can make Single or Dual Swinging Window Doors. They are made just like regular Swinging Doors, the only difference is in the door sector construction.


Add two columns to the door sector as shown in the image. Make sure they are invalid player space (white lines).

MISSING IMAGE!


Raise the floor a couple of units, and lower the ceiling a couple of units. Texture the door however you like. Press R on the floor and ceiling so they will move with the door when it swings.

MISSING IMAGE!


Make a new inner sector by connecting the top and bottom vertices of the columns as shown in the image. The new sector should automatically be tagged [0,23] (make sure both sectors have the tag).

MISSING IMAGE!


Mask the frontmost wall of the inner sector, and give it a glass texture. (#503) is breakable, and (#504) is unbreakable. Use T to make the glass transparent. Use B and H to block the glass and make it hittable. Now you can continue making the door as if it were a regular Swinging Door.

MISSING IMAGE!




Troubleshooting Swinging Doors


  • "My door opens wider than 90 degrees and malfunctions!"
  • Some Speed values cause this glitch. It is unclear exactly which values cause this to happen. However, it seems that values which are powers of 2 are always safe to use, such as: 8 (minimum), 16, 32, 64, 128, etc.

  • "My door disappears when it opens!"
  • This means that a corner of your door is swinging into either invalid player space or another sector, thus the door disappears. There are a few solutions to this problem.

    1. Move the S closer to the corner vertex of your door.
    2. Angle the corner which is swinging into invalid player space.
    3. Make sure your door isn't swinging into another sector.

  • "My door swings in the wrong direction!"
  • The angle of the S determines the direction the door will swing. Angle it down for clockwise, and up for anticlockwise.

  • "The walls move with my door when I open it!"
  • When you create the door sector, it has to be a free-standing sector. You can't draw the door directly over the doorway it will cover, or else the vertices will connect with the doorway. You have to create the door sector first, then move it overtop of the doorway, so the vertices will overlap rather than connect. Personally, I prefer to avoid overlapping the lines at all. Instead, I turn grid locking off (with L) and move the door sector as close as possible to the doorway it will cover.

  • "My door kills me when I try to open it!"
  • Make sure you place the S inside the door sector, and not on the edge of its lines. This can also happen if you're shoving against the door while it's opening.

  • "When I open one door, a door in a completely different area opens up!"
  • This means that the S sprites in each door sector are sharing the same Channel value. Assign the two S sprites unique Channel values.

  • "My door's ceiling/floor texture doesn't move with my door!"
  • Press R on the ceiling/floor to toggle its relative alignment. This will fix the problem.

  • "The door opens when I climb overtop of it or crawl under it!"
  • There are two ways to fix this: 1) Raise the floor or lower the ceiling of the door sector so that the player cannot travel over or under the door, or 2) Separate the floor and ceiling of the door sector so that they are greater than or equal to 12 PGUP/PGDN units apart.


Return to top