
		 ------------------------------------
			     Qoole v1.50
		  Quake Object Oriented Level Editor
		 ------------------------------------

Qoole is (C)1997 by Matt Ayres and Paul Hsu.  All rights reserved.
Quake is a registered trademark of Id Software, Inc.

-----
Notes
-----

The latest version of Qoole can be found at http://www.qoole.com
Join channel #qoole on EFNet IRC to chat with other users of Qoole.

Please email your comments, opinions, and ideas to qoole@qoole.com
If you happen to find a bug or annoyance, please email bugs@qoole.com
Emails: Matt Ayres (matt@lithium.com) and Paul Hsu (hsup@lithium.com).

If you're new to Quake map editing or Qoole, you might find the Qoole
Tutorial (by Simon Terry) helpful, at http://www.qoole.com/tutorial

Sorry this version has somewhat lacking documentation.  There are many
features of Qoole not listed here.  We are working on having better
documentation made and it'll be included in the next release.  I've
moved the helpful keyboard and mouse shortcuts to the top of this file
for now.


------------------------
Keyboard/Mouse shortcuts
------------------------

Object Modes
--------------------------------------------------------
ctrl  + left-click  + drag  - Copy object and move
shift + left-click  + drag  - Scale object
alt   + left-click  + drag  - Rotate object
ctrl  + right-click + drag  - Move view
shift + right-click + drag  - Zoom view
alt   + right-click + drag  - Rotate view (3d only)

Eye Move Mode
--------------------------------------------------------
left-click + drag   - Move view left, right, up, down
right-click + drag  - Move view left, right, in, out

Eye Rotate Mode
--------------------------------------------------------
left-click + drag   - Revolve/spin view around edit pos
right-click + drag  - Rotate view, moves edit pos


------------------
Keyboard shortcuts
------------------

File commands
------------------------------------------
Ctrl+N     - New
Ctrl+L     - Load
Ctrl+S     - Save
Ctrl+A     - Save as
Ctrl+E     - Export map
Ctrl+B     - Export BSP
Alt+X      - Exit

Edit commands
------------------------------------------
Ctrl+X     - Object cut
Ctrl+C     - Object copy
Ctrl+V     - Object paste

Mode commands
------------------------------------------
M          - Object move mode
R          - Object rotate mode
S          - Object scale mode
Ctrl+M     - Eye move mode
Ctrl+R     - Eye rotate mode
Ctrl+Z     - Eye zoom mode

Object commands
------------------------------------------
Ins        - Object add
Del        - Object delete
Ctrl+D     - Object duplicate
Alt+S      - Object subtract
G          - Object group add
Ctrl+G     - Object finish group
Alt+G      - Object ungroup
Alt+H      - Object hollow
Alt+F      - Objett file add
Alt+E      - Entity property window
Alt+T      - Texture property window

Texture commands
------------------------------------------
T          - Texture apply
PgUp       - Texture previous
PgDn       - Texture next
Alt+B      - Texture bookmark window
1          - Goto texture bookmark 1
2          - Goto texture bookmark 2
3          - Goto texture bookmark 3
4          - Goto texture bookmark 4
5          - Goto texture bookmark 5
6          - Goto texture bookmark 6
7          - Goto texture bookmark 7
8          - Goto texture bookmark 8
Alt+1      - Set texture bookmark 1
Alt+2      - Set texture bookmark 2
Alt+3      - Set texture bookmark 3
Alt+4      - Set texture bookmark 4
Alt+5      - Set texture bookmark 5
Alt+6      - Set texture bookmark 6
Alt+7      - Set texture bookmark 7
Alt+8      - Set texture bookmark 8

View commands
------------------------------------------
Alt+Q      - Quad window view
Alt+N      - Add camera window
Alt+W      - Close window

Option commands
------------------------------------------
Alt+C      - Config window
Alt+M      - Mod player
\          - Redraw screen
F11        - Video reset
F12        - Screenshot
A          - Zoom out
Z          - Zoom in
[          - Range dec
]          - Range Inc
arrows     - Scroll view window


-----
Intro
-----

Qoole is a 3D level map editor for the popular computer game Quake by
id Software.  Qoole is an acronym for 'Quake Object Oriented Level Editor'
and is pronounced like the word 'cool'.  It is capable of creating new
and modifying existing quake levels saved in id's ".map" or Qoole's ".qle"
file formats.  It features Construtive Solid Geometry and Object Oriented
3D editing methodologies, as well as a powerful and intuitive user interface.


---------------------------
Basic Map Editing Knowledge
---------------------------

In a Quake map, the world is made from solid blocks.  To create
a simple cubic room, one needs to create 6 blocks (1 for the floor,
1 for the ceiling and 4 for the walls) to enclose off an empty space.
A solid block is called a brush.  A Quake world can have monsters and
items placed in enclosed areas.  It can also have moving solid blocks
with special properties.  The items and the special brushes are called
entities.

Qoole saves Quake levels in the ".map" file format.  A ".map" file
needs to be converted into a ".bsp" file by using a program called
QBSP before it can loaded in Quake.  QBSP may be downloaded from our
Web site at http://www.qoole.com as well as a number of places on the
Internet.  There is also a Qoole tutorial Web page at
http://www.qoole.com/tutorial/ that explains the basic ideas of quake
map editing.  For more detailed information about Quake map files,
please refer to the Quake Map Specs from Quake Technical Resources on
the Internet.


---------------------------
The Object Oriented Concept
---------------------------

Everything in Qoole is considered as an object.  An object can be
either an item from Quake (an entity), a convex solid geometry
(brush), or a group of other objects.  This simple concept
essentially results in the powerful feature of multi-layered
grouping.  As grouping allows one to build structures such as a
staircase, an arch, a bridge or a chair out of simple brushes, it
also lets one to make complex rooms and level sections quickly out of
those structures.  Imagine a level made out of "rooms", which in turn
are made from simpler structures, which themselves can be made from
other smaller objects or brushes.

The object oriented editing methodology hides unnecessary information
from the user.  With it, one constructs a level on the basis of
logical objects instead of thousands of brushes and vertices.  The
methodology also introduces modularity and portability.  One can
build independent sections of a level without worrying about the rest
of the map, thus compiling libraries of re-usable, complex objects.
It eliminates the extra work needed to remake similar structures in
different maps.  It also opens the possibility of using 3-rd party
supplied structure and object libraries.

Simply put, the object oriented concept lets one to create and edit
maps in the way that one logically thinks quickly and effectively.


-------------
Editing Modes
-------------

A mode in Qoole specifies the default operation that the mouse does.
There are 7 different editing modes in Qoole, which include Object Select,
Object Move, Object Rotate, Object Scale, Eye Move, Eye Rotate
and Eye Zoom.  Qoole is placed under an operation mode at any one time.
the current mode is shown with a checkmark under the "Mode" menu with
the corresponding toolbar button drawn as depressed.  The different
operation modes are explained below.

Object Selection:

This mode selects an object to be manipulated by other operations.
Only one object can be selected at one time.  The selected object is
always drawn red in the edit windows.  To select an object in this
mode, place the mouse over the object and keep pressing the left mouse
button until the object is highlited in red.  The selection cycles
through from the nearest to the furtherest objects positioned underneath
the mouse cursor.

The Object Selection mode is also embedded in the Object Move,
Object Rotate and Object Scale modes.  To select an object in
these modes, left click on the object with out moving the mouse.

Object Move:

This mode changes the position of the selected object.  To move an
object, simply left click on the selected object in any edit windows,
drag it to a new position and release.  The moving of an object is
limited to the plane parallel to the edit window.

Object Rotate:

This mode changes the orientation of the selected object.  To rotate
an object, left click on the selected object in any edit windows,
drag the mouse left and right and release.  This rotates the object
in the counter-clockwise and closewise directions fixed in the plane
parallel to the window.  If an object contains an item entity, the
object's rotation will be restricted to the plane parallel to the
world.  On the other hand, if an object consists of only brushes, it
can rotate freely in any direction.

Object Scale:

This mode changes the size of an object.  Similar to Object Move and
Rotate, scaling is accomplished by left clicking on the select
object, dragging and releasing.  Scaling is limited to 2 dimensions
at a time.  These 2 dimensions are defined by the axes of the plane
parallel to the window.  When scaling an object, only brushes in that
object are changed.  An item-entity's size can not be modified.

Eye Move:

This mode changes the view position of the editing windows.  All the
editing windows focus on one position in space.  To move this focal
position, left click and drag the mouse in any window.  The movement
of the view position is fixed in the plane parallel to the window.
All the other windows are updated relatively to the focal point.

Eye Rotate:

This mode changes the orientation of the view angle in the 3D edit
window.  It is done by left clicking and dragging the mouse in the 3D
edit window.  This mode has no effects on the views of the 2d windows.
This mode uses the "crystal ball" interface, where one rotates the world
like spinning a crystal ball.

Eye Zoom:

This changes the zoom level of the views.  Left click in any window
and drag the mouse up and down.


------
Hollow
------

This only applies to objects containing only one brush.  As the name
suggests, it hollows a solid block, breaking it down to multiple
blocks enclosing off an empty area.  This is mostly used to create
rooms.


---------------
CSG Subtraction
---------------

CSG Subtraction is much like a using a cookie cutter.  It takes the
selected object and carves out any other objects intersecting it
in the 3D space.  This only applies to brushes and has no effects on
item entities.


------------------
Scope and Grouping
------------------

Qoole visualizes a Quake map into a tree structure consisting components
that make up the world.  At different levels of the tree, components
are simply objects consisting of other components.  The scope of an
object is defined by the group of sub-components that make up the object.

Editing in Qoole manipulates one object at a time.  Changing the
edit scope simply provides a way to traverse the tree and modify
components without changing unrelated parts of the world.  The Scope
Down and Scope Up commands move the views of the edit windows into
and out of an object's scope.

To group objects together, select the first object, and choose Add To
under the Group menu (or simply press G).  Repeat this process for each
object you'd like to be in the group.  To finish the group, select
Finish in the Group menu (or simply press Ctrl+G), or click on the
group itself.  This newly grouped object will stay grouped, and to edit
its pieces, you may Scope Down into it.  If you later don't want the
sub-component objects grouped, you may select Ungroup from the Group
menu (or simply press Alt+G).


--------------
Texture Window
--------------

When you create a new object, the currently selected texture will be
applied on to the object.  You may also apply the current texture to
the current object by clicking the Apply button.

To add to Qoole's texture database, click on the Merge button and
select a texture .wad from your hard drive.  Qoole does not include
any texture .wad files, you should be able to find some from the
place where you downloaded Qoole.


-----------------
Entity Properties
-----------------

There are basically two types of entities.  The first type are things
such as the player start, health packs, weapons, etc.  These are
items, and you simply add them to your map anywhere you please.  The
other type of entities, you apply to an existing brush.  These
include doors, platforms, wind tunnels, and many others.  You can
find the Add and Apply entity selections under the Object menu, or
when you right-click in a map viewport.

Once an entity is added or applied, there are various properties you
can set, dependent on the type of entity.  If you select Entity
Properties from the Object menu (or simply press Alt+E), a window
with these properties will appear.  You can alter them from there.


--------------
Using your map
--------------

Quake will not run .map files, you need a BSP builder to compile
your .map into a Quake usable .bsp file.  Please download the
bspbuild.zip file, which should be available the same place you
obtained Qoole.  Simple instructions are included.  You only
need to download this once, so it isn't included with Qoole
(we are constantly adding new features).


-----------------
Registering Qoole
-----------------

A lot of time and work went into Qoole, so we appreciate your consideration
of registering the product if you intend to use it.  Registration is only
$25 (U.S.), and we simply send you a registration key.  With this key you
can register this version of Qoole and ALL future versions.

We currently can only accept cash, checks, and money orders.  We are
in the process of setting up other methods for payment acceptance,
namely credit cards.  Sorry for the inconvience.

Please send $25 (U.S.) cash, check, or money order to:

	Matt Ayres
	849 E. Stanley Blvd., Suite 349
	Livermore, CA  94550

Make payable to "Matt Ayres".  Please include your full name.  Include
either your postal address or your internet email address.

As soon as we receive your check or money order, we will process your order
immediately.  You won't have to wait the extra time for the check to clear.
If you provide an email address, we can email you registration key to you.
If not, we'll send your registration key via postal mail.

Bounced and unaccepted checks will incure a fine and your key will be
disabled in future versions of Qoole until payment is received.

Thanks!


---------------------
About the programmers
---------------------

Matt is 21 years old, self taught programmer, began at age 9.
Paul is 23 years old, 4 year college CS degree, began at age 14.


-------
Credits
-------

Programming............ Matt Ayres (WhiteFang)
                        Paul Hsu (hsup)

Tutorial............... Simon Terry (eSsJayTee)

Web Design............. Justin Nedecky (Hellgrim)
                        Matt Ayres (WhiteFang)

Qoole Object Packs..... Todd Berman (PatryDMF)
                        Paul Hsu (hsup)

Qoole Entity Sets...... Matt Ayres (WhiteFang)
                        Matt Lee (Grendel)

Beta Testers........... J. Bryan Tharp (DPCRev)
                        Jeff Borenstein (Jebs)
                        Todd Berman (PatryDMF)
                        Simon Terry (eSsJayTee)
                        Rulon Anderson (scsi-BAM)
                        Justin Nedecky (Hellgrim)
                        Michael DiGiovanni (FakeSatan)
                        Jesse Glen (Sknny)
                        Chris Elly (over|ord)
                        Josh Robison
                        Bryan Vaccaro
                        Brian Peterson (RBW)
                        Kevin Melby (WhiteWolf)
                        Kirk Yokomizo (NoComment)
                        Jun Akiyama (akiy)
                        Calvin Borden (Dimen)
                        Andy Bannister (Venkman)
                        Matt Lee (Grendel)

Special Thanks......... Trey Harrison (troy_) for helpful tmappy info
                        Brian Ploeckleman (plucky) of QLEN
                        Blue for Blue's News
                        sCary for sCary's Quakeholio
                        aod_ash of AodQuake TC
                        Rocket Rider for the Lumber objects
                        EFnet IRC #qoole and #quakeed people
                        Everyone who has responded to Qoole
                        id software for Quake
                        Anyone else we missed (sorry!)
