OpenArena User’s Manual v0.1.0
Table
of Contents
1. Introduction
a. What This Is
2. Legal Stuff
4. Us
a. Contact Information / Who Did What
5. Files
a. Mistakes I Plan To Do Something
About
b. Mistakes I Plan To Do Nothing
About
a. Versions
1. Introduction
1.a. What This Is
OpenArena
is a 3D rendering engine. It is suitable
for any type of game, but can be used for anything that requires 3D Rendering.
1.b. What This Is Not
OpenArena
is not a game in itself. I PLAN
to distribute some sample games as well.
OpenArena is not opensource
software. It is available under the QTPL
a copy of which is attached.
1.c. Version History
0.0.1-alpha
First Version
Loads a map from a file
and then renders from the origin.
0.0.2-alpha
Beginning
of movement code.
0.0.3-alpha
Added
prelim texture support.
0.0.4-alpha
Better movement code.
0.0.4.1-alpha
More movement code
(mouse look) still haven't gotten strafing done yet.
0.0.5-alpha
Added support for
control config files for controls implemented so far.
0.0.6-alpha
If only I could
remember.
0.0.7-alpha
Added the ability for
map files to specify textures to load and which textures go with which
triangle.
0.0.8-alpha
Added
the ability to load lighting information for an infinite amount of lights from
a .lit file.
0.0.9-alpha
Fixed
control loading.
Modified default
tom4.map file to add 2 more sectors(rooms) to test
multiple sectors. Until now we had never
tested a map with more than one sector.
0.0.10-alpha
Completely
overhauled control loading. (technically a
little faster now)
Added
strafing.
Added mouselook, movespeed, turnspeed, and mousespeed (sensativity) to the config file
Changed
textures in the sample maps.
0.0.11-alpha
Added support for
setting the screen resolution in the config file.
Added togglemouselook and quickmouselook
keys.
0.0.12-alpha
Moved
all code from the CONTROLS class into the LEVEL class.
Moved
the LoadBMP function into the LEVEL class.
Moved
the texutre array into the LEVEL class.
Added left right and
middle mouse buttons as viable config keys (mouse1
left, mouse2 right, mouse3 middle)
0.0.13-alpha
Added maxfps param to config files.
Added colordepth param to config files.
Added fullscreen param to config files.
Added map param to config files.
Added nextLevel to LEVEL class. This should allow to have a series of maps be
determined from some other config file later on ie. a maplist
file.
0.0.14-alpha
Changed textures to targa files for now only 24 and 32 bit uncompressed images
are supported but more variety will come as will the return of bitmaps.
0.0.14.1-alpha
Added support for
compressed targa files.
0.0.15-alpha
Added first command line
switch "+set" with it's first parameter
game. This changes the directory oa loads data from (will make it also look in the oa folder later and add xgame
that only looks in this folder).
0.0.16-alpha
Added support for .bmp
textures.
0.0.17-alpha
Minor internal tweaking
can’t remember exactly what though.
0.0.18-alpha
Major tweaking to
movement and rendering although there isn’t apparently any discernable changes
while running but greatly improved code readability.
0.1.0-alpha
Complete rewrite of ingame controls.
Complete rewrite of level
loading code.
Complete rewrite of config loading code.
New map file format.
New cfg
file format.
Added support for saving a
map file.
Added support for saving a cfg file.
Removed lit file.
Removed ent file.
Temporarily removed support
for lights (they will be back soon).
(coming soon)
Added support for .md3
models.
Compression some type of
package system probably zip or rar.
Camera/World
Collision.
A test
weapon.
A test
target ie. Bot with
no AI just change color or something when hit.
3D sound and other
sounds
More/real background
music
2. Legal Stuff
2.a. Legal Notices
This software is provided without any warranty of any kind not even
that of merchantability or fitness for a particular purpose. I take no responsibility for any damages to
anyone or anything resulting from the use or possession of this software.
This program can be distributed
under the GNU GPL with the following exception. I want to make this multiplayer
compatible later on. So any
modifications that have anything to do with encryption or netcode
don't have to be opensource as long as a copy of the
source is sent to me to peruse and possibly add to the program (with applicable
credit given). Other than that OA will
be open source hence the name.
Alternatively you can redistribute OA under the QTPL.
If you would like to modify the
source code all I want you to do is make the new source available including
giving me a copy either by e-mail headhunter45@hotmail.com but I have the inbox
protector on so make sure the subject line has OpenArena
in it preferably even just OpenArena as a subject
this is only necessary the first time or two you e-mail me so I can add you to
my address book.
The following textures are used with
permission from Texture Station at http://www.nepthys.com/textures moon2.bmp, ground.bmp, nightSky.bmp. The names have been changed.
Some of the audio loops used to
create the background music came, royalty free, from http://www.beatmode.com and Creative Power.
2.c. Suggested Uses
Make the next greatest first person
shooter.
Make a really cool RPG.
3. How To Use
The SDK
I. Take
my code.
II. Modify
it if necessary.
III. Create
your own media ie textures, music, maps.
IV. Distribute.
V. Repeat.
4. Us
4.a. Contact Information / Who Did What
G2k, headhunter45@hotmail.com
put OpenArena in the subject or I'll never see your
message.
4.b. Why I Started This Project
I got bored one weekend and couldn't
find my quake3™ cd.
5. Files
“//” denotes a C++ style comment in this
description, but there are no comments in the .map file at all.
Blank lines and organization are for readability
purposes only.
1 //Gravity
not implemented yet
4 //Number
of triangles in the map
//First triangle
1 //Texture
for the first triangle
//Verticies of this triangle u and v are
texture coordinates
// x
y z u
v
-10.0 -1.0
-10.0 0.0 0.0
-10.0 -1.0
10.0 2 0.0
-10.0 10.0
10.0
2 1.1
//The normal for this triangle in x, y, z format
will take out later
1.0 0.0 0.0
//Second triangle
1
-10.0 -1.0
-10.0 0.0 0.0
-10.0 10.0
-10.0 0.0 1.1
-10.0 10.0
10.0
2 1.1
1.0 0.0 0.0
//Third triangle
1
10.0 -1.0 -10.0
0.0 0.0
10.0 -1.0 10.0
2 0.0
10.0 10.0 10.0 2 1.1
-1.0 0.0 0.0
//Fourth Triangle
1
10.0 -1.0 -10.0
0.0 0.0
10.0 10.0 -10.0
0.0 1.1
10.0 10.0 10.0 2 1.1
-1.0 0.0 0.0
3 //Number
of textures
groundc.tga //Texture filenames all in the gamedir/textures folder. Bmp and tga
textures are allowed.
moonc.tga
nightSkyc.tga
bgm2.mp3 //Background
music file cda1 specifies the first cd-audio track in
the first cd-rom drive cda2 the second and so on.
5.b. Format of the .cfg file
<command> <param 1> <param 2> … <param n>
One command per line separated by any amount of whitespace. WARNING!
The parser treats newlines as whitespace but does not require a newline
to separate a command. This may change
so stick with this format. The parser
does not like syntax errors.
6. Notes On
The Source Code
6.a. Mistakes I Plan To Do Something About
Almost nothing is properly
commented. (I’m working on this … slowly … kinda)
Really really bad organization and nonuniform
nameing conventions. (This is getting better though.)
6.b. Mistakes I Plan To Do Nothing About
None so far.
7.a. Versions
v0.0.1
Origional
Version
v0.0.2
Reorganized a few things
v0.0.3
Updated contact
information and added an update for OpenArena
v0.0.18-alpha
v0.1.0
Made version numbers of
this file match OpenArena release versions.
Updated file description
sections.
Made
section headings bold.
Removed sections 5.b and
5.c and renamed 5.d to 5.b because those files are no longer used.