Sliding Doors

From EDukeWiki
Jump to navigation Jump to search
Build/Mapster32 Map Editing

NOTE: Much of information on this page is from around 1999. Some may be outdated, and some may be incorrect -- this page exists to get you started with the Level Editing and may not currently cover some of the additional features available in Mapster32.

Sliding Doors

Map Name: ADVANCED.MAP (ROOM 1-C)

Again, due to the extremely difficult task of explaining this how-to, I have provided a step by step example in the tutorial map, showing how to make this door. Just take a look at the example and it should make sense (it goes step by step in the building process).

Alternate Sliding Doors

Map Name: Altslidoor.map (Room 1)

The concept was originally posted by Ursurper in the Dukeworld forum, a very long time ago. It works for Mapster32, is efficient to make and very simple.

  • Step 1: Make a sector that will be your entire door sector. It needs to be long enough to hold the sliding door itself and when the door is in the open position. Split (mark) this sector in two if two sliding doors are to operate.
  • Step 2: Create one child sector in the sector of step one, this will be the door itself.
  • Step 3: Give each door sector a lotag of 25, and an SE sprite with a lowtag of 15 and a unique hitag. Point the tail of the SE to the same direction as the door will move when it closes.
  • Step 4: Add a GPSPEED to this sector and set the the lotag to the distance the door is to travel.
  • Step 5: Add a Music&SFX Sprite and if required, Activators and switches to control the door.

Note 1: If you want to use a switch that opens two sliding doors (as in a elevator), place two Activator sprites in one door sector, and one in the other. Give all three Activators the same unique lotag as the switch.

See Through Sliding Doors

Here's a step by step explanation on how to make sliding glass doors.

The following symbols are used:

*         vertex
- ¦       red lines
= | / \   white lines
STEP 1: Start by making the following sectors. All are valid player space.
*=============*      
|             | Sectors 'a' and 'e' are the corridor in which    
|       a     | the door will be made.    
*-------------*    
|             |    
|       b     |    
*-------------*    
|             |    
|             |  Sector 'c' will be the actual door.    
|             |    
|       c     |    
*-------------*    
|             |    
|       d     |    
*-------------*    
|             |    
|       e     |    
*=============* 
STEP 2: Split sector 'c' in half.
*=============*      
|             |     
|       a     |     
*-------------*    
|             |    
|       b     |    
*------*------*    
|      ¦      |    
|      ¦      |  Sector 'c1' and 'c2' are the two parts    
|      ¦      |  of the door which will slide apart.    
|   c1 ¦ c2   |   
*------*------*    
|             |    
|       d     |    
*-------------*    
|             |    
|       e     |    
*=============* 
STEP 3: Make sectors 'f' and 'g'.
*=============*      
|             |     
|       a     |     
*-------------*    
|             |    
|       b     |    
*------*------*    
|\     ¦     /|    
| \    ¦    / |   Make sure sectors 'f' and 'g' are valid player spaces.    
|f *   ¦   * g|   (Alt-S in 2D mode).    
| / c1 ¦ c2 \ |    
|/     ¦     \|    
*------*------*    
|             |    
|       d     |    
*-------------*    
|             |    
|       e     |    
*=============* 
STEP 4: Raise floor of sectors 'f' and 'g' and mask walls. Then lower floor again.
*=============*      
|             |     
|       a     |     
*-------------*    
|             |    
|       b     |    
*------*------*    
|\     ¦     /|    
| \    ¦    / |   Raise the floors of sectors 'f' and 'g' and for each sector    
|f *v1 ¦ v2* g|   mask one of the diagonal lines. In this example we'll mask    
| /    ¦    \ |   <- these two diagonal lines. Mask them for example with 'glass2'.
|/  c1 ¦ c2  \|   If you use 'glass1' you'll be able to break the glass and walk    
*------*------*   through the door without ever having to open it.    
|      v3     |   Make the walls a bit translucent so you can see through them.    
|       d     |   Also make them blockable and hittable ('b' and 'Ctrl-H in 2D mode).
*-------------*   Lower the floors again to the same height as the floors of sectors
|             |   'c1' and 'c2'.    
|       e     |    
*=============*   'v1' 'v2' and 'v3' have been named for the next picture. 
STEP 5: Move vertices.
*=============*     
|             |     
|       a     |     
*-------------*    
|             |    
|       b     |    
*------*------*   
|\     ¦     /|    
| \ c1 ¦ c2 / |   'v1' and 'v2' have been moved down onto 'v3' The three    
|f \   ¦   / g|   vertices are all in the same place. They do NOT connect.    
|   \  ¦  /   |       
|    \ ¦ /    |       
*------*------*       
|      v1-3   |       
|       d     |       
*-------------*    
|             |    
|       e     |    
*=============* 
STEP 6: Place sector effectors, gpspeed and music sprites and give sector lotag. Give sectors 'c1' and 'c2' both a lotag of 25. Put sector effectors in sector c1 and c2. Make them point towards each other (',' and '.' key in 2D mode, angle 0 and 1024) and give them a lotag of 15. Give them the same unique hitag. Also put gpspeed sprites in sectors 'c1' and 'c2'. They determine how far the door will open. The largest grid in build is 512. Give the gpspeed sprites the correct value for the lotag. Finally you can put a music sprite in one of the door sectors ('c1' _or_ 'c2'). Don't put music sprites in both sectors. The lotag is the door sound when it opens or closes.
STEP 7: Add vertices.
   *=============*      
   |             |     
   |       a     |     
   *-------------*    
   |             |    
   |       b     | 
v4 *------*------* v5    
   |\     ¦     /|    
   | \ c1 ¦ c2 / |   Insert two new vertices on the diagonal lines.    
   |f \   ¦   / g|   'v4' and 'v5' have been named for the next picture.    
   |   *  ¦  *   |       
   |    \ ¦ /    |       
   *------*------*       
   |      v1-3   |       
   |       d     |       
   *-------------*    
   |             |    
   |       e     |    
   *=============* 
STEP 8: Move 'v4' and 'v5' down.
   *=============*      
   |             |     
   |       a     |    
   *-------------*    
   |       b     |    
   |             |    
   |      * v6   |    
   |     /!\     |    
   |    / ¦ \    |    
   |   /  ¦  \   |    
   |  /   ¦   \  |            
   | /  c1! c2 \ |       
   |/     ¦     \|    
v4 *---*  ¦  *---* v5    
   | f  \ ¦ / g  |       
   *------*------*       
   |      v1-3   |       
   |       d     |       
   *-------------*    
   |             |    
   |       e     |    
   *=============* 
STEP 9: Move 'v6' down.
   *=============*      
   |             |     
   |       a     |     
   *-------------*    
   |       b     |    
   |      v6     |        The little triangles in the middle are sectors 
v4 *---*--*--*---* v5     'c1' and 'c2'.    
   | f  \ ¦ / g  |    
v7 *------*------* v8    
   |      v1-3   |       
   |       d     |       
   *-------------*    
   |             |    
   |       e     |    
   *=============* 
STEP 10: Move 'v4' 'v5' 'v7' and 'v8'.
     *=============*        
     |             |       
     |       a     |    
  v9 *-------------* v10      
     |       b     |     
    /       v6      \         
v4 *-----*--*--*-----* v5     Move the vertices to the outside a bit.    
   |  f   \ ¦ / g    |    
v7 *--------*--------* v8     
    \       v1-3    /         
     |       d     |     
 v11 *-------------* v12      
     |             |      
     |       e     |      
     *=============* 
STEP 11: Move 'v9' and 'v10' down, move 'v11' and 'v12' up.
     *=============*        
     |       a     |       
     |v9    v6     |v10  
v4 *-*---*--*--*---*-* v5     'v9' and 'v10' have been moved down. Sector 'b' has    
   |  f   \ ¦ / g    |        a width of 0. Same goes for vertices 'v11' and 'v12', 
v7 *-*------*------*-* v8     they have been moved up. Sector 'd' also has a width
     |v11       v12|          of 0.      
     |             |
     |       e     |
     *=============*
STEP 12: Make sure sectors 'f' and 'g' aren't too wide or it will look ugly. If you want a vertical bar in the door (i.e. doorpost) just draw a non-valid player space in sector 'f' and/or 'g'. These non-valid player spaces will slide aside with the door so they are best put in the middle. You can of course also partially raise the floors of sectors 'f' and 'g' and lower the ceilings and still mask the wall (With any texture you like! :) )

Alternate See-Through Sliding Doors

Map Name: Altslidoor.map (Room 2)

The concept was originally posted by Ursurper in the Dukeworld forum, a very long time ago. It works for Mapster32, is efficient to make and very simple.

  • Step 1: Make a sector that will be your entire door sector. It needs to be long enough to hold the sliding door itself and when the door is in the open position. Split (or mark) this sector in two if two sliding doors are to operate.
  • Step 2: Create one child sector in the sector of step one, this will be the door itself.
  • Step 3: To make a see-through door, choose a red wall of the door sector and press [m] to make a masked wall and [t] to define the transparency.
  • Step 4: (Optional) Create as many sub sectors in the door sector as needed for a realistic looking door.
  • Step 5: Give each sub-sector (except white islands) of the door sector a lotag of 25, and an SE sprite with a lowtag of 15 and a unique hitag. Point the tail of the SE to the same direction as the door will move when it closes.
  • Step 6: Add a GPSPEED to this (those) sector(s) and set the the lotag to the distance the door is to travel.
  • Step 7: Add a Music&SFX Sprite and if required, Activators and switches to control the door.

Note 1: If you want to use a switch that opens two sliding doors (as in an elevator), place two Activator sprites in one door sector, and one in the other. Give all three Activators the same unique lotag as the switch.
Note 2: Any white wall sector for a door sector can only be an island sector.
Note 3: Every Sub-Sector of the Door Sector operated by a switch has to have one Activator. If the total amount of Activators are even, add one more Activator in one of the Door Sectors.