The Floor Hatch - A somewhat original creation of Aaron Bentley

The QuakeLab - http://www.in2nett.com/stevefu/QuakeLab

        TEXTURES:
	You may use any you wish, but the included MAP uses
        MMETAL1_1 - The hatch sections
        MMETAL1_6 - The floor (upper room)
	MMETAL1_2 - The the ceiling (lower room).
	+1BASEBTN - The button (optional)
	METAL1_1  - The button holder (optional)

        ENTITIES:

        func_door
	func_button (optional)

        WHAT TO DO:

        Begin by making a room that is a cube, 256x256x256.  Now create a
	brush 64 units wide, 64 units long, and 16 units high.  Give it a
	texture of MMETAL 1_1.  Make three other copies.  Time to create
	the hatch.  First find the centre of the room.  Now move the brushes
	so that each has a corner touching the centrepoint.  For the first
	brush, it should be the south-east corner.  For the second, the
	south-west corner.  For the third, the north-east corner.  For the
	fourth, the north-west corner.  Make sure all the brushes are at the
	same height in the room  (16 units below the middle is optimal).
	
	You should end up with a square (as seen from above) with sides of
	128 and a thickness of 16.  Now designate each section of the square
	as a func_door entity.  Change the direction of each section so that
	they all go different ways.  I like to make the north-west door go
	north, the north-east door go east, the south-east door go south and
	the south-west door go west.  You can also make the door north-west
	door move north-west etc., but I don't think this looks as neat.
	I think sound 2 works best.  
	
	So far, we have a hatch, but no floor.  I use ramps for the floor;
	if you prefer (or don't have a choice), you can use regular brushes.
	Make a ramp that is 256 units long, 96 units wide, and 32 units 
	thick.  It should slope down to the east.  Place this on against the
	west wall of the room, so that its bottom surface touches the top
	surface of the hatch.  Texture it with "mmetal1_6".  Now copy it,
	rotate it 90 degrees clockwise and place it against the north wall.
	Do the same for the other two walls.  The ramps should overlap near
	the corners of the hatch.  This is the floor.
	Now do the same, only using standard brushes, for the ceiling of the
	lower room.  Texture the brushes with MMETAL1_2 and make their top
	surfaces touch the bottom surface of the hatch.  Your basic hatch-
	room is done.
	
	NOTE: 
	Be careful when lighting your rooms.  Light travels through the
	hatches because they are entities.  I have lit the upper room from
	above to show this effect.  Either maintain the same approximate
	light-level in both rooms, or do your lighting from the sides of the
	room, preferably at the floor of the upper room and the	ceiling of 
	the lower room.
	
	Another alternative is to make the hatches stay open once opened.
	That way, the light from above belongs there.

	OPTIONS:

	If you want it to be button-activated, give any of the hatch sections
	a targetname of "hatch", then make a brush with height 32, length 16
	and width 32.  Apply texture METAL1_1 and then apply the +1BASEBTN 
	texture to the 32x32 face only.  Designate as a func_button entity
	with target "hatch".  Place against a wall, or make a buttonholder by
	making a brush with height 64, width 48, length 16.  Texture with 
	METAL1_1 and place against a wall, so it goes just slightly below the
	ramp.  Place button against holder with the top 8 units below the top
	 of the holder, with 8 units of the holder showing on the left and 
	right.  Set delay and direction as appropriate.

	You can also make the rooms above and below the hatch different	sizes
	by adding more brushes as false walls.  If you choose to abandon the
	256x256x256 room, seal the floor/ceiling sections at the outside
	edges.  Otherwise, you might get leaks.
        



