FILELIST:
The zip file should contain the following files:
bsp.bat		example batch file that builds a BSP from a MAP file
entities.txt	list of valid entities and their properties (available for expansion)
quma.exe 	QuMa application
quma12.txt	QuMa description file (for BBSes and FTP sites)
readme.doc	this file (in MS Word format)
readme.txt	this file in plain text format
test.bat		example batch file that runs Quake with the BSP file
updates.doc	version fixes/feature info


QuMa:

	QuMa is a utility for creating maps for use with the game Quake.  It is my humble contribution to the world of head to head deathmatch gaming. 

OFFICIAL HOME PAGE:  Check here for info and updates http://www.teleport.com/~benw/quma

LEGAL STUFF:

This program and its documentation are copyright (c)1996 Negative Eddy Software and Ben Williams.  All rights reserved.  QuMa is offered with no warranty or guarantee so use it at your own risk.  By downloading and using this software you, the user, agree to take full responsibility for anything that happens.  The maker of this software is in no way responsible for anything that may happen. You may redistribute QuMa freely as long as all the files listed above are included and have not been modified and no charge or fee is collected (normal BBS/online service fees excluded) for the service.  Anyone wishing to include this program in any type of anthology or cd-rom must get permission from the author of QuMa first.
Since QuMa is a spare time project for me it may still have some small bugs but I think that I sorted most of them out.  I welcome useful suggestions and any feedback in the form of email (benw@teleport.com).  If you try QuMa and like it please drop me a line saying something like "Hey, I think QuMa is cool!" Thanks for trying it out and now on with the show.

Requirements:
Windows95 with DirectX 2.0 installed

XY-View (bottom left):  
Displays the world from a top down perspective.  Current entity is drawn in BLUE, others in BLACK; selected brushes in current entity draw in RED.  Entity names are drawn immediately below the entities bounding box (can be turned off in the menu - entity names are on by default)

click-drag:
	If the entity is modifiable (i.e. it is a door, platform, or the main level and not a thing like a light, weapon, or person) and  no brush is selected it creates a new brush in the current entity which is a cube of height MinZ to MaxZ (as shown in the Z-View).  If a brush is already selected it will drag the brush if it was clicked inside the brush or drag the nearest edge to resize the brush if clicked outside the brush. If multiple brushes are selected then you can only move them.  To resize multiple brushes use the toolbar's stretching buttons.
	
Double-click:
	Sets the Z-View point (marked by a small purple circle)

Shift-click: selects/deselects the brush, if selected brush not in the current entity the current entity is changed to be that of the new brush

Ctrl-click: points the camera view in the direction of the place clicked

Ctrl-Double-click places the camera at the click spot

Keys:
arrow keys: move brush selection incrementally
-: subtracts the brush selection form the rest of the current entity (handy for making doors and tunneling out other brushes)
delete: removes the selected brush 
escape:  unselects all brushes
tab: changes current entity to next one in list
return: (if in clipper mode) carves selected brushes with the clipper plane in the direction of the normal of the clipper plane.  The normal direction can be determined using the right hand rule.
/:  (if in clipper mode) flips the normal on the clipper plane

Z-View:
Displays the elevation of brushes under the Z-View point.  This is not a side view of the map;  it shows how tall the brushes are that are under the Z-View point.  Current entity is drawn in BLUE, others in BLACK; selected brushes in current entity draw in RED

click-drag (left button):
	If a brush is selected it will drag the nearest edge to resize the brush if clicked above/below the brush otherwise it will drag the brush up or down

click-drag (right button):
	drags the view up/down (this is like using the arrow keys but is much easier and faster)

Shift-click: selects deselects the brush

Ctrl-click: places the camera at the height of the clicked spot

Context menu: allow you to change the current MinZ and MaxZ (shown by two red lines) for brush creation

Keys:
Up/Down arrow scroll the view up/down.
Page Up/Down: scroll view up/down a page
-: subtracts the brush selection form the rest of the current entity (handy for making doors and tunneling out other brushes)
delete: removes the selected brush 
escape:  deselects all brushes
tab: changes current entity to next one in list
return: (if in clipper mode) carves selected brushes with the clipper plane in the direction of the normal of the clipper plane.  The normal direction can be determined using the right hand rule.
/:  (if in clipper mode) flips the normal on the clipper plane

Camera View (upper left)- Works like 3d first person games

NOTE: by default the camera is off - it must be turned on by selecting a type of display in the menu 
View->Camera->DisplayOption

Flat drawing mode draws objects in different colors depending on the orientation of the surface in order to help show edges when no lighting is involved

Shift-Click:  Selects/Deselects the brush clicked on just as in other views.

arrow keys: move forward/back, turn left/right
z: move left
x: move right
pgup: move up
pgdown: move down

Q-View:
	The Q-View is the fourth window  (upper right).  It displays the current texture and the current entity along with info on the XY/Z views.  The "Apply Texture" button will change the texture of all selected brushes to the currently displayed texture.

Clipper:
The clipper is a special mode which allows you to shape the brushes beyond just cubes.  Enter clipper mode by selecting it from the menu or from the context menu in XY-View.  Then by single clicking in the XY-View the clipper places 3 points which define the clipping plane. If an exact point is clicked on again it will be move from MinZ to MaxZ resulting in a sloped plane.  The side of the plane which is clipped out of existence depends on the clockwise/counterclockwiseness of the points.  Use the right hand rule to determine which side is clipped away. When the enter key is pressed the selected brushes will be carved so that all parts of the selected brushes on the clipper side of the plane are deleted,  leaving only the portion of the selected brushes on the other side of the clipper plane.

Key Points:
When selecting a brush in the XY-View, QuMa chooses the brush at the highest elevation.  To choose a brush beneath this one move the Z-View point inside the brush and select it in the Z-View, or Shitf click on the brush in the camera view.

To change the current entity you can TAB in the XY-View or select a brush in that entity.  To change an entities attributes just make it the current entity and go Entity->Properties or double click its properties in the dialog view.
To make an new entity drag a brush into the main map then select 'Make into entity' from the edit menu.  This brings up the entity dialog box which will make an new entity out of the selected brushes (fixed size entities will have their brushes resized to the proper size for that entity and will not be able to change size).  Add Light entities so that you can see things in the camera view in Flat shaded mode (light value >= 500 is good and bright)

Set the default texture (Edit menu) before creating a brush. The default brush name is *NONE* which will not be mapped to a texture when built with QBsp.  At this point all faces of a brush have the same texture. Using this feature requires a Wad file with the quake textures in it (I got them from  http://www.wf.net/~stephenc/ along with the map->bsp utilities or you can find a copy of pak2wad to extract them yourself). QuMa saves the name of your current wad file so you only have to set it the first time you run it. 

If you want to change the texture of a brush select the brush(es) then select the texture and click on the Apply Texture button.

Stairs:  to create stairs just select a single brush whose height goes from the bottom of the first step to the top of the last.  Select Brush->Make into Stairs from the menu (or use the toolbar or context menu) and tell QuMa how high to make each step and which end of the stairs is the elevated end.  Height is the distance from one step to the next.  Thickness is the distance from the top of a step to the bottom of the same step.  (i.e. if thickness is less than height then you will have stairs that can be seen through)  Click OK and Presto! Instant stairs automatically calculated.  If the step thickness is 0 then the steps will go all the way to the ground making a solid staircase.

Ramps: Exactly the same as stairs except there is no height/thickness selection.

Rooms: Exactly the same as stairs except you select how thick to make the walls.  QuMa automatically makes a new brush out of each face of the brush.

To connect to entities (i.e. make one a target of another like a button and a door) select the entity that you want to be the trigger then right click on the entity you want to be the target and select Connect Entities. This automatically generates a target name and target for the two entities.  Also if one of the entities already has that attribute it will be used for the other  instead of overwriting it.  Of course you can also set up the targets manually with the entity properties dialog.

Scaling factor is set to a default of 2 (twice or half the size).  This can be adjusted under the brush menu

Key Concepts:
Brushes are just bricks or building blocks.

Entities are things - the map, weapons, triggers, teleport destinations  (some have brushes like doors and platforms; some dont't like lights and monsters)  If an entity doesn't use brushes then it will have one unmodifiable brush to show you how big the entity is in the Quake world.  To make an entity create a brush where you want it to be then select Make into Entity from the XY context menu or the Entity menu.

Check out http://www.infi.net/~nichd/qmapspec.html for examples of how to create doors and stuff using triggers and targetnames

Please let me know of a list of features/ changes you would like to see (and importance of them). And for any bug reports please be specific and explain how to duplicate the issue (which window was active what you did last etc.) Send all correspondence to benw@teleport.com.

Helpful Places and Documents:
The list of helpful places for quake editing is avaliable at the QuMa web site:
http://www.teleport.com/~benw/quma

Special thanks to:
 Id Software for creating something so cool and making it as unbelievably customizable as it is
The guys who wrote The Unofficial Quake Specs and the Quake Map Specs which made this possible
My beta testers for asking for the impossible and just generally helping out
My wife for putting up with all this nonsense about Quake

