See Through Sliding Doors
Authored by Jaap Menist For The Map Editing FAQ
Version 1.0

This File Is Copyright (c) 1997 by Jaap Menist and Jonah Bishop.
All Rights Reserved.
See license.txt, which comes with the Map Editing FAQ package, for more
information.


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

The following symbols are used:
* Vertex
- Red line
! Red line
= White line
| White line

1. Start by making the following sectors. All are valid player spaces.
*=============*      
|             | 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     |    
*=============* 

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     |    
*=============* 

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     |    
*=============* 

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. 

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     |    
*=============* 

6. Place sector effectors, gpspeed and music sprites and give sector lo-tag.
Give sectors 'c1' and 'c2' both a lo-tag 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 lo-tag of 15.  Give them the 
same unique hi-tag.  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 lo-tag.  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 lo-tag is the door sound when it opens or 
closes. 

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     |    
   *=============* 

8. Move 'v4' and 'v5' down.    
   *=============*      
   |             |     
   |       a     |    
   *-------------*    
   |       b     |    
   |             |    
   |      * v6   |    
   |     /!\     |    
   |    / ! \    |    
   |   /  !  \   |    
   |  /   !   \  |            
   | /  c1! c2 \ |       
   |/     !     \|    
v4 *---*  !  *---* v5    
   | f  \ ! / g  |       
   *------*------*       
   |      v1-3   |       
   |       d     |       
   *-------------*    
   |             |    
   |       e     |    
   *=============* 

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     |    
   *=============* 

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     |      
     *=============* 

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.      
     |             |          Make sure sectors 'f' and 'g' aren't too wide or it       
     |       e     |          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 lowerthe ceilings and
                              still mask the wall (With any texture you like :)