AGRIP AudioQuake Manual

Matthew T. Atkinson

0.3.0

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".

Please note that AudioQuake itself is distributed under the GNU General Public License. This is included as an appendix to this document as with the FDL.

TBD

Abstract

This is the user manual and reference guide for AudioQuake. We hope you'll find it helpful and informative. Please help us improve the manual by reporting any bugs and/or submitting update requests to .

The AGRIP web site, which provides a number of resources for those using and developing AudioQuake, can be found at: http://www.agrip.org.uk/

The latest version of this manual can be found at: http://docs.agrip.org.uk/

The revision number of the manual follows the same format as the AudioQuake version number. If the first two digits of the version numbers match, the manual and AudioQuake will correspond.


Table of Contents

I. Introduction
1. Important Note
2. What is AudioQuake?
2.1. More than just an “Accessible Game
2.2. Quake
2.3. Customisable
2.4. Free (as in Freedom)
2.5. Only the Beginning
3. Installing AudioQuake
3.1. Why Quake is Required and How to Try Before You Buy
3.2. mindgrid:audio
3.3. Installing AudioQuake on Linux
3.4. Installing AudioQuake on Windows
3.5. Installing from Source
II. Playing AudioQuake
4. Starting AudioQuake
4.1. Running the Game
4.2. Initial Data File Set–up
4.3. How Best to Listen
5. The User Interface
5.1. The Game Launcher
5.2. The Console
5.3. Quake Menu
6. Navigation
6.1. Moving Around
6.2. Navigation Helper
6.3. Independent Navigation Aids
7. Creature and Hazard Detection – The EtherScan RADAR
7.1. Monster Detection
7.2. Hazard Detection
7.3. Is it a Monster, Enemy or Friend?
8. Item Detection, Weapons, Health and Ammo
8.1. The Detector 5000
8.2. Using the Weapons
8.3. Health, Ammo and Armour Indicators
9. Completing a Map and Miscellaneous Keys
9.1. Completing a Map
9.2. Other Keys and Exiting the Game
III. Singleplayer Game Modes
10. The AudioQuake Tutorial
11. Single-Player
11.1. Difficulty Level
11.2. Game Saving and Loading
IV. Multiplayer Game Modes
12. Gametypes
12.1. Deathmatch
12.2. Team Deathmatch
12.3. Co-Operative (“co-op”)
13. Offline Practice with Bots
13.1. Deathmatch
13.2. Team Deathmatch
13.3. Co-Op
14. Playing Matches with other People
14.1. Multiplayer Basics
14.2. Setting Your Player Information
14.3. Joining a Game
14.4. Chatting
14.5. Playing the Game
14.6. Leaving a Game
15. AudioQuake Stats and Servers Website
15.1. What is it?
15.2. Quick Tour
15.3. Getting Your Stats Included
16. Setting up and Running your own Server
16.1. Clients and Dedicated vs. Listen Servers
16.2. Public vs. Private and Stats Logging
16.3. Interacting with the Server Directly
16.4. Configuring Your Server
16.5. Admin Tasks
V. Maps
17. Deathmatch/Team Deathmatch Maps
17.1. agdm01: The Melee
17.2. agdm01t: The Melee – 1on1 Edition
17.3. agdm02: Halls of Retribution
17.4. agdm02l: Halls of Retribution – Warring Factions Remix
VI. Customising AudioQuake
18. Menu–Based Customisation with the Launcher
19. autoexec.cfg
19.1. Object Toggle Settings
19.2. Detection Settings
19.3. Sound Volume Settings
19.4. Key Bindings
19.5. Aliases
20. The Launcher – Alternative Speech/Braille Settings
20.1. Changing the Default SAPI Voice
20.2. Editing Launcher Options
20.3. Using a Different Software Synthesiser
20.4. Using a Hardware Speech Synthesiser or Braille Display
20.5. Other Options
VII. Reference Information
A. Key to the AudioQuake Sounds
A.1. Toggle Sounds
A.2. Navigation Sounds
A.3. Independent Navigation Aid Sounds
A.4. Detector 5000 Sounds
A.5. Weapon Sounds
A.6. EtherScan RADAR Sounds
A.7. End of Level
B. Finding out More – The Web is Your Friend!
C. Installing AudioQuake from Source
C.1. Installing from Source on Linux
C.2. Installing from Source on Windows
D. Manual Revision History
E. GNU General Public License
E.1. Preamble
E.2. TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
E.3. How to Apply These Terms to Your New Programs
F. GNU Free Documentation License
F.1. PREAMBLE
F.2. APPLICABILITY AND DEFINITIONS
F.3. VERBATIM COPYING
F.4. COPYING IN QUANTITY
F.5. MODIFICATIONS
F.6. COMBINING DOCUMENTS
F.7. COLLECTIONS OF DOCUMENTS
F.8. AGGREGATION WITH INDEPENDENT WORKS
F.9. TRANSLATION
F.10. TERMINATION
F.11. FUTURE REVISIONS OF THIS LICENSE
F.12. ADDENDUM: How to use this License for your documents

List of Tables

A.1. Structures
A.2. Vertical Movement
A.3. Hazard (Drop/Ledge) Warnings
A.4. Waypoint Marker Sounds
A.5. Monster Indication Sounds
A.6. Enemy (Player or Bot) Indication Sounds
A.7. Friend (Player or Bot) Indication Sounds

Introduction

This part of the manual aims to introduce AudioQuake and gives you details on how to get it set up on your computer.

Chapter 1. Important Note

AudioQuake builds on the foundation laid by AccessibleQuake. This is a tried-and-tested stable release, which allows you to take advantage of the new features that have been implemented over and above our previous game. Currently these are full support of Internet play, various related enhancements to the user interface and manual, a new setup routine and a large number of minor improvements to the gameplay. The other planned improvements will be introduced as we reach version 1.0.0.

By all means, join in the development and make AudioQuake what you want it to be. Feel free to give feedback on the mailing lists, join the web community and voice your opinions. This project has always been and will always be what you make of it.

Chapter 2. What is AudioQuake?

AudioQuake is essentially a series of modifications to the game Quake by id Software that enable blind and vision-impaired people to play it. Actually, it is (or will be) quite a lot more than just that. This chapter explains the main things you need to know about AudioQuake to understand what it does and why it's here.

So, AudioQuake is...

2.1. More than just an “Accessible Game

AudioQuake is based on earlier software from AGRIP called “AccessibleQuake”. The previous game's ethos was to prove that accessibility barriers can be lowered and it allowed blind gamers to play singleplayer Quake (or offline multiplayer with computer-generated opponents). AudioQuake's philosophy is to take this idea to its logical extreme and allow blind and vision-impaired players not only access to Quake, but equal access to both the game and the community of Internet play and level design and creation of new modified games that surrounds it. AudioQuake provides this via the following three main features:

  • Support for Internet multiplayer games in a variety of game modes such as co-operative, deathmatch, team deathmatch and capture the flag (provided via our use of the ZQuake “QuakeWorld” game engine). The traditional singleplayer gametypes are, of course, supported.

  • Implicit Accessibility” – The use of modern 3D audio and special effects technology to make the game inherently more accessible. This, in turn, means that the difference between the software that the sighted and blind use is dramatically minimised. For all intents and purposes, you'll be playing the same game.

  • Accessible level-editing tools. These will allow you to create your own levels (“maps”) for the game; something that sighted gamers have been able to do for some time. Coupling this with the fact that you can create your own code modifications easily, AudioQuake could be used as a platform for making your own games!

Note

Please remember that at the current stage of development only the first of these three features have been fully implemented. We await community feedback on how we're doing so far and will continue to develop AudioQuake over time to bring you these benefits.

2.2. Quake

At first it may seem obvious that AudioQuake is, well, Quake. This idea, however, has had a profound impact on how the game is designed. At all times, we have tried to maintain the spirit of Quake. You will not find a lot of voice-over information because Quake didn't have it – our accessibility features are designed to use intuitive techniques and sounds so that you are not distracted from playing the game. We have only added the accessibility features necessary to play the game effectively. To keep things fair, we've not allowed AudioQuake players to do anything Quake players can't (within reason).

This design philosophy comes across in the way the accessibility features present themselves in the game. The idea is that an AudioQuake player is no different than a Quake player, but they have in their possession certain “objects” that provide accessibility features such as enemy detection (the EtherScan RADAR), item detection (the Detector 5000) and navigation (the Navigation Helper). Many features can be toggled on or off according to your individual taste and level of sight.

We have tried our best to make it possible for AudioQuake players to use the original Quake maps. Currently there are a number of maps from the game that cam be played by blind players. A series of tutorial maps is provided to help you get used to the game and we hope to provide a range of custom-built accessible maps in the future.

In the end, the main point of AudioQuake is not to prove that video game accessibility is possible, as this has already been established. The main point is that community accessibility is possible – that blind and vision-impaired players can use the exact same software, join Internet games and contribute new maps and modifications, just as the sighted are able to.

2.2.1. Not for Under-15s

Quake has a “15” certificate. For obvious reasons, this also applies to AudioQuake. We do not recommend or condone the use of this software by anyone below 15 years of age.

2.3. Customisable

The game has been built to be customisable. You can change a great many of the game-play aspects described below quite easily so that they suit your taste and style of play. We are here to cater for a large range of people from the blind to the vision-impaired. Everyone is different and we're confident that you'll get a lot more out of AudioQuake if you customise it.

The process of customisation is described later on. It's not difficult and there is help provided along the way. It is probably a good idea to read the next part and learn how to play the game before you delve in to tweaking it, however!

2.4. Free (as in Freedom)

Everything we have created for the project (code, sounds, tools) is available for you to use, modify and redistribute. The licence we have used for the project, the GNU General Public Licence, permits anyone to do these things as long as they keep the source code to their work available for others, just as we have for you.

Our reasons for making AudioQuake Free are that it should make it easier for people to get hold of and play the game. The most important reason, however, is described in the following section...

2.5. Only the Beginning

We're building not just a game, but a framework with which you can create your own games. This framework currently allows you to alter all aspects of the way the game works and sounds, with level editing planned for the future, as we get closer to the 1.0.0 version number.

With a number of commercial game engines now made Open Source, the possibility of making other titles accessible is a reality. Some even use the Quake engine – Half-Life would make a most amazing and immersive accessible game due to its amazing sounds, AI, story line and massively popular online game modes.

It is possible that later engines such as Quake3 and Unreal could be made accessible even without access to the engine code. We wanted to produce a Free game, which is why we didn't choose these titles. We also thought that Quake would be a good starting point as it marked the dawn of modern game engine design.

We would love to see a community spring up around AudioQuake and make other games based on it. You can use any of our code and sounds. The techniques we've used should be applicable to newer engines, too.

Chapter 3. Installing AudioQuake

This chapter explains how to get the game set up on your computer and how to start it. For details on playing the game, please read the next part of the book. The download page on our web site provides all of the information you'll need to get hold of the software. This section explains what to do after you've got hold of it.

3.1. Why Quake is Required and How to Try Before You Buy

As explained above, AudioQuake is a series of modifications to the game Quake. For AudioQuake to function correctly, you must have Quake. Our website details how you can get hold of the game.

If you're uncertain as to whether you should go to the trouble of getting hold of a copy of Quake, you can try running AudioQuake with the “shareware” version of the game. This is a demonstration version that only includes one of the four “episodes” of the full game. It contains no deathmatch arenas so two game modes (deathmatch and team deathmatch) will not be fully available. It should, however, give you a good idea of if AudioQuake is for you.

The setup program for AudioQuake will give you the option of having the shareware version of Quake automatically downloaded and installed. If you've got the full version of the game on CD, this isn't necessary.

3.2. mindgrid:audio

An excellent expansion pack has been created that upgrades many of the sounds in the game to much more high-resolution and visceral levels. You can elect to have this pack installed when you install the game – and it is highly recommended.

The pack was not made by AGRP; more information on mindgrid:audio can be found on its web page.

3.3. Installing AudioQuake on Linux

Currently, binary packages are available for PowerPC and x86 machines. To install the game from one of these packages, simply download it, ensure it is executable and run it. For example:

$ ./AudioQuake-0.3.0_linux-ppc.run
                

Then simply follow the on-screen instructions.

3.4. Installing AudioQuake on Windows

A setup program is provided to ease the task of getting AudioQuake up and running. Because some people may already have some of the speech software AudioQuake requires, we've created three different sizes of setup program. This means that you can download the smallest one you need. The following list should help you decide which size is appropriate for you:

  • The smallest download contains just AudioQuake. This is suitable for people who've either used AudioQuake before or already have Microsoft SAPI 5.0 or greater and the extra SAPI voices.

  • If you use Windows XP, you already have a suitable version of SAPI (5.0), but you may wish to install some extra voices (Mary and Mike) if you don't already have these, as they're much clearer than the voice Windows XP comes with by default (Sam). If this applies to you, choose the medium-sized AudioQuake download.

  • If you have an older version of SAPI than 5.0 (most likely if you're running an earlier version of Windows than XP) you'll need to download the largest AudioQuake setup program. This includes SAPI 5.1 and the additional voices mentioned above.

You only need to download one of the setup programs mentioned above. Once you've decided which you need (choose the largest one if you're unsure), you can follow the installation procedure as described below:

  1. Download your chosen setup package from the download page on the AGRIP web site.

  2. Run the program you downloaded. The installer uses a familiar “wizard”-type interface and will guide you through the setup process.

    The setup program will automatically download and install the Shareware version of Quake for you, if you ask it to (likewise for mindgrid:audio). It will also offer you the choice of installing SAPI and/or the extra voices for Windows XP, if you downloaded one of the setup programs with speech components included.

    Note

    If you have the CD version of Quake, you don't need to install the shareware version – make sure that you ask the installer not to download it for you. Then, when you first run AudioQuake, you'll be given the option of installing the game data from your CD.

You should now be ready to play the game – read on for information on how to do this...

3.5. Installing from Source

If you're a developer, or a curious user, you may be interested in looking at the source code for AudioQuake. Source packages are provided for both Linux and Windows. Instructions for installing AudioQuake from source are provided in an appendix.

Playing AudioQuake

This part of the manual is a guide to playing AudioQuake. It is aimed at people who have played accessible games such as Shades of Doom and Monkey Business before. If you'd like more help and/or information than is provided here, please contact us and we'll do what we can to help you out.

AudioQuake has a number of game modes. This part explains only what is common between all game modes. Please read the next part of the manual to find out more about each individual mode.

Tip

The following sections tell you which keys you can use to toggle various gameplay elements on and off. Please be aware that you're welcome to change these – only the defaults are listed here. To learn how to redefine keys, please read the Customising AudioQuake section.

Chapter 4. Starting AudioQuake

This section describes how to get the game running. Later sections in this part provide information on how to actually play it.

4.1. Running the Game

The “game launcher” (described in more detail shortly) is your entry point to AudioQuake. To start the game launcher in Linux, simply run start.pl from the directory where AudioQuake was installed. In Windows you can run the launcher via the Start Menu – Choose Start, Programs, AudioQuake, Start AudioQuake.

Warning

Please unload any access software such as a screen reader or magnifier before running AudioQuake. The game is self-voicing so additional access software is not required. You may also find that running access software alongside AudioQuake makes the game run slowly.

The game should now begin talking to you. Please send an e-mail to our tech support address (found on the ContactUs page of our site) if you are having problems and we'll do our best to help you out.

4.2. Initial Data File Set–up

When run AudioQuake for the first time, the game will asess which version of the data files you have available. It will search for the registered Quake data on your hard disk (which is useful if you've purchased the electronic download of the game or have installed it from CD before). If when you installed AudioQuake, you indicated that you have a retail CD (by not having the Shareware episode downloaded for you), this is when you'll be asked to insert the CD so that the data can be installed.

4.3. How Best to Listen

AudioQuake runs in stereo sound and gives far superior performance on headphones than with traditional desktop computer speakers. We strongly recommend the use of headphones as they will let you get the most out of the game.

Many people are now looking into, or own, surround-sound systems. Surround sound is something that we are going to be adding before AudioQuake reaches 1.0.0 (it is the core of the “Implicit Accessibility” feature).

Chapter 5. The User Interface

AudioQuake gives you the ability to interact with Quake the same way that sighted gamers do. This chapter describes the main user interface for the game (the console) as well as the game launcher, which we provided to make setting some options more convenient.

5.1. The Game Launcher

As mentioned above, this program acts as a front-end to AudioQuake. It exists to allow you to adjust many accessibility-related options and review your keybindings before starting the game. The launcher has a spoken menu-based interface. To enter a menu choice simply type the letter that corresponds to your choice and press ENTER.

5.2. The Console

When you start Quake itself, you'll be presented with the console. Here you can type in commands to start new games, play the tutorial maps or join in a multiplayer match. Instructions on how to do this can be found throughout the rest of the manual. All of the in-game events are self-voicing, including text editing within the console. After you exit the game by typing the “quit” command into the console, the launcher's main menu will re-appear. To fully exit AudioQuake, choose the exit (X) option from the main menu.

Tip

If you get the syntax of a command wrong when you type it into the console, you'll be presented with a message that explains the correct syntax for that command.

5.3. Quake Menu

In the original Quake, there was a traditional hierarchical menu. This is not present in AudioQuake as the console allows you to do more, is faster to use and is also the way most players choose to interact with the game nowadays, anyway.

Chapter 6. Navigation

6.1. Moving Around

To move around, use the arrow keys. Turning is implemented in a familiar way to users of accessible games – pressing the arrow keys snaps the player round a certain number of degrees. By default, the player has a 16-point turn (that is to say each tap of the arrow keys will turn you 22.5 degrees in that direction).

Tip

You can adjust the turning value, as well as many other aspects of the game – read Customising AudioQuake to find out how.

A very important move in Quake is “strafing”. To strafe, hold down ALT and press-and-hold the left or right arrow key. This moves you from side-to-side and helps you avoid incoming enemy fire.

To jump, press SPACE. To jump over a gap in front of you, move up to the gap using the up arrow and press SPACE as you reach the edge. If you need to do a running jump, hold down the SHIFT key as well as the up arrow. Holding down SHIFT makes you run instead of walk.

6.2. Navigation Helper

AudioQuake provides a number of features to help you get around maps. These can all be toggled on/off. Some, but not all of them, are on by default (again, please read the customisation section for more information).

To toggle the whole of the navigation subsystem on/off, use the N key.

6.2.1. Obstacle (Wall, Door and Slope) Indications

If turned on, you'll hear a sound to your left, in front of you and to your right to indicate if a wall, slope (which could be some steps or a ramp) or a door is present near you in any of these directions. The sounds get louder the closer you are to the obstacle in question.

The sound that walls make falls off more quickly than the sound steps/ramps and doors make. Also, side wall warnings are off by default – though you'll always be told about doors and slopes to your left and right. The fact that walls are given lower priority than slopes and doors should allow you to locate the key features of the map more efficiently. You can toggle the announcement of walls to your left and right with the E key. All obstacle sounds can be turned off with the W key.

6.2.1.1. Wall Hit and Touch Warnings

If you bump in to a wall, you'll hear an “oomph” sound to indicate this has happened. Depending on how you've set up AudioQuake, you may also hear a continuous “wall-touch” sound played as long as you are still touching the wall.

To toggle the sound that indicates you're still right next to a wall, use the T key.

6.2.2. Hazard Detection

The Navigation Helper also tells you when you are coming up to a ledge, drop or pit of some kind. If you are, it will produce a beep every half-second in the direction the drop can be found. Toggle hazard warnings with H and toggle the announcement of drops to your sides on/off with I.

Press J to be told if you can make a jump or a running jump over the drop. If you're not facing a ledge, you'll hear an access denied sound.

Tip

The EtherScan RADAR (which you'll learn about shortly) has a mode that helps you to make jumps over pits.

You can find out how big a drop is by the pitch of the beep. There are 4 classifications:

  • Negligible drop – not announced.

  • Small drop – requires jumping to get over.

  • Big drop – a drop that is too tall for you to jump back out of and get back to where you were before you fell down it.

  • Huge drop – a drop this big will hurt you if you fall all the way to the ground (note that water will cushion you).

To find out what's at the bottom, use the K key. You will get the access denied sound if you are too far away or not facing a ledge. If you are successful, you'll be told that the drop is either onto the ground or into water, slime or the dreaded lava.

Tip

Pick up a BioSuit Power-Up to survive slime.

6.2.3. Open Space Detection

This gives you a bit more of a feel for how big the area around you actually is. It will play a gentle wind sound at various points in front of you if there are no walls or other obstacles in that direction. The sounds are generated in a sweep from left to right around you, in response to a pres of the L key. It works as if you were using a mobility cane to scan the area – though it has significantly greater range.

The distance over which obstacles are scanned for is the navigation detection range and is customisable (please read Customising AudioQuake for more details).

6.2.4. Corner Detection

Corner detection searches for corners that could lead to corridors, alcoves, etc. Left and Right turnings are detected in the direction the player is facing. When a turning is detected, you'll be alerted by a sound right in front of you. This sound is quickly followed by the same tone played from the position just 'round the corner.

If corners are detected in both the left and right directions, the left corner is announced first.

Toggle corner detection on/off with the X key.

6.3. Independent Navigation Aids

The navigation helper described in the previous section has a number of sub-features. They are all disengaged when you toggle the navigation helper off (as they are all linked).

This chapter describes some helpful features that are not tied to, or part of, the main navigation helper.

6.3.1. Footsteps

Footsteps can tell you a lot – whether you're moving and, if so, how fast. They can be toggled with the letter F key. As with all other keys, this can be customised.

When you are totally stuck on an object, you will not be able to move. Consequently your footsteps will stop. If you're scraping along a wall (i.e. caught on it but still moving) you'll hear a scraping sound as you walk along – you'll also hear the footsteps' speed drop to indicate you're not walking freely.

If you're stuck on an object, you'll continue to hear the “oomph” sound described above when you try to move in the direction it lies.

6.3.2. The Compass

To find out what direction you're pointing in, use the compass (C by default). As a convention, you're always pointing “North” when you start a map.

Note

The compass works best when the player turn angle (the number of degrees you've specified that the player should turn for each press of an arrow key, agv_mov_turnvalue in autoexec.cfg) is 30, 22.5 or 45. This is because the compass only knows the names of so many directions you could be pointing in. It'll announce the nearest one it can if you're not pointing at a known direction exactly.

6.3.3. Waypoint Markers

This is a helpful feature that will tell you if you've been somewhere before. You can leave a marker at any point in a map. It will make a sound continuously to let you know it is there. When you walk through it, you'll be informed which marker number it is (the number is incremented each time you drop a marker).

To drop a marker, press INSERT. To delete the last one you dropped, press DELETE.

Chapter 7. Creature and Hazard Detection – The EtherScan RADAR

The EtherScan RADAR (“ESR” as it is known for short) is a device that alerts you to proximity of things. It has two modes, described below.

7.1. Monster Detection

To toggle monster detection on/off, press R. This acts as a kind of RADAR that lets you know where enemies are. The faster the beeps, the nearer the monster. The sound is actually two close-together beeps; the pitch difference between which tells you where (vertically) the monster is with respect to you. For example, if the monster is lower or higher than you. If the monster is roughly on the same level as you, the beeps will both have the same pitch.

Note

Just as in regular Quake, you're not given the ability to detect enemies through walls with the ESR. In AccessibleQuake, this was the case and it proved to be both unnecessary and potentially confusing. This way is much more fun :-).

7.2. Hazard Detection

If there is a hazard in front of you – some kind of ledge/drop – you'll be told about it by the navigation helper. If you want to try and jump over the pit, you can use this alternative ESR mode to help you do so. Pressing the R key again when you have a drop in front of you will make the ESR lock onto it instead of enemies. It automatically falls back to detecting enemies when you lose the lock on the pit (by jumping over it successfully, falling in or just turning and facing another way).

If it can't find a pit, it will just turn the ESR off.

Tip

It is a good idea to check that you can make the jump (with the K key) first. Also, if you are not terribly confident of bing able to make it, you should check, with the D key, that the pit doesn't contain something harmful.

7.3. Is it a Monster, Enemy or Friend?

The ESR is capable of detecting the nearest monster, enemy (player or bot not on your team) and friend (player or bot team member) to the player. It uses a different sound to indicate which is which, so that you know not to fire at team mates (vertical level information, as described for monsters above, is provided for all three types of detection).

By default, the T key toggles if monsters are detected, Y toggles enemy detection and U enables/disables the announcement of friends. All three features are enabled by default.

Chapter 8. Item Detection, Weapons, Health and Ammo

8.1. The Detector 5000

You have at your disposal a device called the Detector 5000 (or the “D5k” for short). It will help you find a number of things that'll enhance your chances of survival. The items it looks for include health, ammo, armour, weapons and keys.

If the D5k finds more than one item in your vicinity, it will space out the announcement of the items so that you can get a better fix on where they are.

Item detection can pick up ammo, weapons, armour and health. You can toggle it with the D key.

8.2. Using the Weapons

To fire, press CTRL.

To switch weapons, use the keys 1-8 on they keyboard. You won't start off with more than an Axe (1) and a Shotgun (2). By default, you'll be using the gun at the start of any game.

From 1 to 8, the weapons available in Quake are: Axe, Shotgun, Double-Barrelled Shotgun, Nailgun, Super Nailgun, Grenade Launcher (grenades are often affectionately known as pineapples), Rocket Launcher (the “boomstick”) and the Lightning Gun. There are four different types of ammo you can pick up: Shells, Nails, Rockets and Cells (the grenade launcher uses Rocket ammo).

Some weapons are more effective against certain types of enemy than others – you'll begin to get an idea of how your implements of destruction are working as you play the game. There are also a number of special moves you can do with some of the weapons. Again, you'll begin to learn techniques as you play but to help you on your way, here are the names of some of the most interesting ones are the “rocket jump” and the “pineapple jump”. Beware of mixing liquids and electricity, too...

If you run out of ammo, you'll automatically switch to the next best weapon for which you do have enough for at least 1 shot. For more information on weapons, please consult Quake's MANUAL.txt file.

8.3. Health, Ammo and Armour Indicators

You're going to need to know when it's time to find some health or when your favourite weapon is running low on ammo.

To be given a verbal report on your health and armour levels, press 9. Your current level of health will be announced, along with how many armour points you have. There are three types of armour in the game, each saves a certain fraction of the damage that would otherwise take health points off you. This fraction is also read out.

Unless you have a special power-up, your health will never get above 100 points. Even if you do find a MegaHealth power-up, your health can't go over 200 points and it'll gradually decay back down to 100 over time.

To get a rundown of your ammo counts, press 0. The quantity of each ammo type that you posses will be announced.

Chapter 9. Completing a Map and Miscellaneous Keys

9.1. Completing a Map

When you've come to the end of a map, the game will pause for a few moments. To move on, press SPACE (you'll only be able to do this after a few seconds).

A number of things may cause a map to end. This largely depends on what game mode you're playing in and could include such events as: You've reached a slipgate or exit, one of your team has reached a slipgate or exit, the timelimit has been reached or the fraglimit has been reached. The meaning of these events will become clear after you've read the next part of the manual.

9.2. Other Keys and Exiting the Game

One of Quake's strengths is that it allows total control over which keys do what. AudioQuake does not take any of this control away from you (please read the Customising AudioQuake section for details) but it does, by default, limit the number of defined keys. Originally, there were many ways to perform some game actions (like jumping or shooting). We have disabled a lot of the keys so that the likelihood of pressing a key you don't mean to and getting yourself into an unknown situation because of it is reduced.

Some extra keys you may be interested in are:

  • Home – To have the last message that was announced repeated, press this key.

  • End – Pressing this key mutes all currently queued speech.

  • F10 – Press F10 to exit Quake and return to the AudioQuake launcher's main menu.

  • Pause – Erm, pauses the game. Press again (or ESC, or FIRE) to un-pause.

FIXME chat and msg hist

Singleplayer Game Modes

This part describes the singleplayer game moves on offer and how you can start playing them.

Chapter 10. The AudioQuake Tutorial

A series of tutorial maps has been created for you to practice with before entering the world of Quake. These maps start very simple and the learning curve is quite shallow. Topics covered include:

  • Navigation (including stairs, corners, open spaces, drops and jumps).

  • How to detect where enemies are and switch weapons.

  • Using switches and doors.

Note

Please ContactUs if you have any suggestions for more tutorial maps – they're very welcome!

The idea of the tutorial maps is to let you get used to the features of AudioQuake and Quake slowly before jumping in to a real game. To start the tutorial, either choose the appropriate option from the game launcher or, if you're already in the game, bring down the console and enter:

deathmatch 0
maxclients 1
map agtut01
            

This takes the game out of multiplayer mode and loads the first tutorial map. You can then play through the entire set of tutorials. Each tutorial map is linked to the next. If you wish to jump into a certain tutorial map, don't! You can use the save and load features of the game to pause and resume your journey through the tutorial – for example...

save tutorial
            

Would save your current game under the name “tutorial”. To later resume this game, use the load command, specifying the same game name.

As you move around the tutorial maps, you'll receive short messages that include important information and/or tips on how to play. You can repeat these messages by using the repeat last message key if you miss any of them.

Remember that when you've come to the end of a map, the game will pause for a few moments. To move on, press SPACE (you'll only be able to do this after a few seconds).

Chapter 11. Single-Player

The traditional game mode. This is the classic “story” mode in which you fight your way through four episodes of monsters in various evil hideouts. You're encouraged to read id Software's MANUAL.txt file if you want to know the full “plot” of the game.

The basic idea is that scientists have created devices called “slipgates” that allow people to travel to other dimensions. Sadly those that go through seem to come back in some form of rage (if at all). It is down to you to dive in, get to whatever is in charge of all this destruction and kill it.

There are four episodes in Quake. Each one starts on Earth, in one of the four slipgate facilities. When you've fought your way through these facilities, you leave to the dimension that the slipgate points to. At the end of each episode, you collect a “Rune”. When you have all four of these, the door to Quake's domain is opened!

At the start of the game, there is a special map that allows you to chose your skill level and episode. To open it, bring down the console and type:

deathmatch 0
maxclients 1
map start
            

This disables deathmatch mode and loads the map. You'll be facing three corridors. The one to the left sets the skill to EASY. The one in the middle to NORMAL and if you are able to survive the right-hand corridor, it will set the skill to HARD as you walk down the corridors, you'll be told this. When you get to the end, step through the teleporter to be taken to the next chamber.

Choosing which episode to play is done by entering one of the four doors in the room you'll now find yourself in. As with the skill corridors you just walked through, the game tells you which episode you're attempting to enter. Episode 1 is forward a little and on the left as you arrive here and is a good place to start. (It's up some stairs; walk forward a little, turn to your left and go forward to find it.)

Warning

AudioQuake provides fairly decent accessibility on some of the game's maps. We are hoping to create a number of custom maps at some point so that you can experience a fully accessible singleplayer episode. Users who've played accessible games before, however, may find that they get on OK with some of the real Quake maps.

Please tell us which maps you like and we may be able to combine them into an accessible Quake episode! The maps are named “eXmY” where X is a number from 1 to 4 and Y is a number between 1 and 8. Episodes 2 and 3 only have 7 maps so that second (map) number is lower for them. The last map is always the secret one for that episode (i.e. it is found via a secret area on one of the other maps).

To load a map in single-player mode, type

deathmatch 0
maxclients 1
map e1m1
                

(for example) into the console. The command shown would take you to the first map of episode 1. Of course, this is not how you are meant to play the game, but we thought it best to let you in on this information so that you could at least find maps you like to play.

11.1. Difficulty Level

The skill setting has been touched on above. By default, if you start AudioQuake from the launcher and tell it to jump straight in to a certain episode, the medium (“normal”) difficulty level will be used. If you are new to the game, it can be quite hard. To switch to the “easy” skill level, bring down the console and type:

skill 0
                

This will set the game to a slightly less unfair skill level. Some monsters will disappear and other monsters' attacks will not harm you as much.

Note

You must re-open the map you want to play on after changing the skill level. The new skill level will then take effect until you change it again (set it to 1 for medium, 2 for hard and 3 for nightmare difficulty).

11.2. Game Saving and Loading

As you progress through the game and collect bigger, badder weapons and the almighty runes, you'll want to preserve your progress. To save and load games, use the console. Here are the commands you'll need to know about:

save

This command requires that you type in a name for your game. You can save as many games as you like. They'll end up in the agrip/ directory under your AudioQuake installation.

load

This command is used to restore games saved with the save. Remember to supply the game's name when you use it.

Tip

The commands only work if you've previously used “maxclients 1” as described above. That forces the Quake into single-player mode (allows only you to enter the game) and makes saving of games possible.

Multiplayer Game Modes

Quake is not just a singleplayer fragfest! In fact, many would say that it is far more fun to play over the Internet both with and against other humans. This part explains the variety of game modes on offer and how you can join in the fun.

AudioQuake gives you the ability to play true Internet multiplayer games in a variety of modes. You can also play offline practice games against computer-generated “bots”. This will allow you to hone your skills before joining real multiplayer games and allows you to play any time you like (not just when your friends are online).

Because the gametypes available are common to both practice matches and multiplayer games, the gametypes will be described in the next chapter. The following chapters detail how you can actually play practice matches and multiplayer games.

Finally, details are given on how you can run your own Quake server. This is allows you total control over the gametypes and maps you play, as well as broadening the availability of accessible Quake matches for others on the Internet (more on this later).

Chapter 12. Gametypes

This chapter details the three main multiplayer gametypes currently available in AudioQuake. At this time, three popular gametypes are on offer. More gametypes will be made available as AudioQuake develops.

12.1. Deathmatch

The classic multiplayer game mode. No monsters to get in the way. No exit. An arena designed solely for combat between players.

In a deathmatch game, you have to move around the deathmatch arena (a special map designed to make this type of play more enjoyable through being easy to navigate) and find other players. You must frag (blow to bits) any players you do find along the way.

Tip

In deathmatch games, the ESR can detect your nearest enemy instead of the nearest monster (this behaviour is enabled by default).

12.1.1. Deathmatch Variations

There are a few different variations on how items behave in deathmatch games. These variants on the basic deathmatch rules are described below:

Deathmatch 1

Weapons disappear after being picked up but will respawn (come back) after a short delay. Items (powerups and ammo) will respawn. This is one of the most popular types of deathmatch and allows for more tactical gameplay because areas of the map that contain important weapons and/or items can be guarded.

Deathmatch 2

Weapons will not disappear after being picked up. Items (powerups and ammo) will disappear. This variation is hardly ever played; it's a throwback to the old days of multiplayer Doom games.

Deathmatch 3

Weapons don't disappear after being picked up. Items (powerups and ammo) will respawn. This is also one of the most popular types of deathmatch, especially with new players.

12.1.2. Frag and Time Limits

All multiplayer games go on for as long as it takes for one of the preset game limits to be reached. There are two main limits; the fraglimit and the timelimit.

The fraglimit is the target score for the match. The first player to get this many frags is the winner.

The above may take some time, so a timelimit is usually set. This ends the match after a specific number of minutes has gone past. The winner is the player with the highest number of frags at the end of this time.

12.2. Team Deathmatch

This mode is similar to the last one but has one main difference: You are not on your own – you can have an epic battle in which all the players on your team are against all the players/bots on the enemy team!

Team Deathmatch games are started in the same way as regular deathmatches and can have frag and time limits, except that the fraglimit is the number of frags that a team must score to win.

Tip

In team games, the ESR detects enemy players or bots, as it does in deathmatch. It can also detect your team mates. To help you distinguish between the two, it makes a different sound to represent team mates than it makes when it detects enemies.

To actively participate in team deathmatches, you must set your “teamname” the same as a group of other players on the map. You can do this using the following console command:

team red
                

The above example would put you on the “red” team.

12.2.1. Additional Team Deathmatch Variations

Team deathmatch games are based on deathmatch games. Consequently, they can use any of the deathmatch variations discussed in the section on that gametype above. There are also a number of teamplay-specific variations which can be coupled with the deathmatch ones. They're described below.

Teamplay 1

You can't hurt yourself and you can't hurt your teammates.

Teamplay 2

You can hurt yourself and your teammates. You'll lose one frag for killing a teammate. This is pretty much the most popular teamplay mode.

Teamplay 3

You can hurt yourself but not your teammates. This mode is quite popular with new players.

12.3. Co-Operative (“co-op”)

This is probably the most interesting game mode and has been the focus of many a LAN party. In this mode, you play the singleplayer campaign with the help of other players or bots. You can all work together against the monsters. Coupled with eh chat facilities on offer, this gametype can be very enjoyable.

Tip

As with deathmatch and team games, the ESR can help you out in co-op mode too. It will identify the nearest monster, enemy and team mate and will use a different type of sound for each.

Chapter 13. Offline Practice with Bots

This chapter explains how to play the gametypes listed above with bots, so that you can practice in preparation for real Internet games.

13.1. Deathmatch

To start a deathmatch game, bring down the console and type:

deathmatch mode
                

where mode is a number that corresponds to the variation on the weapon/item rules as described in the last chapter. For example, if you wanted to play the most popular type of deathmatch, you'd specify number one.

Tip

If you specify a zero in the above command, deathmatch mode is disabled. This (coupled with “maxclients 1”) switches you into singleplayer mode.

The above command simply tells the game that when you next start a map, you'll want to play it in deathmatch. You now need to chose a map to play on. In the full version of Quake (not shareware), there are 6 deathmatch maps. They are named “dm1” to “dm6”. AudioQuake provides a number of extra maps. Use the “map” console command to load one of them (just as with single-player).

map agdm01
                

When you're in the map, you will notice that there is not much going on. To create (“spawn”) a bot, press the comma or dot key on your keyboard. An enemy will be provided for you to play with. When either of you is fragged, you'll “respawn” at a random teleporter in the map, ready to resume the game – but with a slightly decreased frag count (your score).

Please note that the bots act like players; they use all the weapons and navigate the map on their own. In other words, they're tough!

Note

You can play deathmatch and other multiplayer gametypes on the singleplayer maps but it is not as fun due to them only having one spawnpoint and not looping back on themselves. A deathmatch game is only as good as the “flow” from room to room in the map.

13.1.1. Setting Frag and Time Limits

It is possible to set limits as described in the previous chapter. This section explains how to do this.

Warning

You must type in the commands described here before you open the deathmatch map you want to play on, or they won't take effect.

To set the fraglimit, simply enter the following command in the console:

fraglimit frags
                    

where frags is the number of frags a player must get to win the match. Set this depending on how many bots you expect to add. A good general value is 20. The time limit can be set similarly. To set a 10-minute time limit, for example, you'd enter the following into the console:

timelimit 10
                        

13.2. Team Deathmatch

Team Deathmatch games are started in the same way as regular deathmatches and can have frag and time limits. The previous section explains how to set these up. The important thing to note about starting team deathmatches is that the teamplay mode must be set before you open the map and start spawning bots. This can be achieved easily via the console. For example:

teamplay 1
                

You can of course replace the number one above with the number corresponding to the teamplay rules you prefer (described in the previous chapter) or specify a zero to disable teamplay (useful when returning to a singleplayer game afterwards).

Once you're in the game, you can spawn friendly bots with the comma key and enemy bots with the dot key. You can also call bots to your aid with the forward slash key. When they hear your call, they'll let you know and try to get to you. If they make it, they'll let you know when they arrive, too. When they get to your side, they'll start looking for enemies again.

Tip

In team games, the ESR detects enemy players or bots, as it does in deathmatch. It can also detect your team mates. To help you distinguish between the two, it makes a different sound to represent team mates than it makes when it detects enemies.

13.3. Co-Op

To start a “co-op” game, you need to type the following commands into the console:

deathmatch 0
teamplay mode
coop 1
                

Deathmatch mode needs to be forcibly disabled to allow access to the co-op gametype. The coop command toggles the game into co-operative mode and mode in the teamplay command signifies that you can, as with team deathmatch, choose which teamplay rules you'd like to use. After the above commands have been entered, you can start the map you wish to play. For example:

map e1m1
                

As with team deathmatch practice games, you can spawn friendly bots with the comma key and enemy bots with the dot key. You can still call bots to your aid with the forward slash key. When they hear your call, they'll let you know and try to get to you. If they make it, they'll let you know when they arrive, too. When they get to your side, they'll start looking for enemies again.

Tip

As with deathmatch and team deathmatch games, the ESR can help you out in co-op mode too. It will identify the nearest monster, enemy and team mate and will use a different type of sound for each.

Chapter 14. Playing Matches with other People

Now you know how to play the various game modes and have had some practice with bots, you are ready to pit your skills against the world! This chapter explains how you can play games against other humans over the Internet.

14.1. Multiplayer Basics

When you play any of the gametypes (singleplayer or practice matches) mentioned above, it is your computer that controls all aspects of the game – from the generation of game sounds to the behaviour of the monsters or bots you're playing the game with. When you play a game over the Internet, this isn't the case. What happens is that your computer connects to another computer which acts as a server. The server manages connections from all of the players and controls most game-related things (such as keeping track of players' scores and movements round a map). Your computer still takes care of dealing with your input and playing back sounds, but it doesn't control the match being played in any way.

So, to join an Internet game, you need to connect to a server that other people may also connect to. There are many QuakeWorld servers out there but most don't provide the accessibility features that AudioQuake does. You'll need to connect to a specific AudioQuake server in order to play the game.

Note

We're hoping that AudioQuake will become popular enough that many people start running servers and many people start playing on these servers. This will mean that, as with sighted games, you'll always be able to find some humans to game with. It will, however, take time for such networks to spring up. In the meantime, we've set up a couple of servers you can use, but please feel free (and encouraged) to set up your own servers for you and your friends!

14.2. Setting Your Player Information

When you install AudioQuake, your player name will be set to “AGRIPUser”. Before you join a multiplayer game, it is a very good idea to change this to something else, so that your friends can recognise you (and so that everyone has a different name).

To change your name, you can use the following console command:

name yourname
                

Most characters are acceptable in player names. If you include any carets in your name, they won't be displayed as they are a signal to Quake that you want the next character in your name to be displayed with a highlight.

If you're going to be playing a team deathmatch game, you'll probably want to give yourself a team (maybe the collective name that you and your friends play under, or perhaps a colour). You can do this with the team, as described in the first chapter of this part.

There are two other personalisations you can make regarding your appearance to others in multiplayer games. These are the colour of your character's uniform within the game. The console commands topcolor and bottomcolor can be used to change these. We mention them here for completeness.

Now you've made yourself a little more unique in the virtual world, it is time to join a game...

14.3. Joining a Game

We have set up a few game servers under the AGRIP banner (details can be found in an appendix), but you're certainly not restricted to playing AudioQuake on one of these – in fact, we encourage you to seek out other servers on the Internet to play on and/or to set up a server of your own. This can be especially rewarding if you know a few people that you'd like to play the game with. Anyone who sets up a server (covered later in the manual) can have it automatically advertised to every other AudioQuake player, via the AGRIP master server. This keeps a list of all active AudioQuake game servers on the Internet. By using a program that searches this list (known as a server browser), you can find a game to join. As server admins are free to chose any gametype and selection of maps that their server runs, you should be able to find a match that suits your tastes.

To search for games over the whole Internet, you can use either the AudioQuake Stats and Servers site, or a command-line program called QStat. This is a very powerful, popular and accessible tool, which allows you fine control over your searches. For more information on using QStat, visit it's web site at http://www.qstat.org/. Information on the AudioQuake Stats and Servers web site can be found in the next chapter.

When you've found a server to join, you can connect to it from within AudioQuake by issuing the connect command, specifying the IP address or host name of the server. For example, the following two commands both connect to the primary AGRIP server:

connect agrip.org.uk
connect 195.137.71.106
                

Remember to seek out and join servers other than the official AGRIP ones, especially if they are geographically closer to you, as they'll offer better performance. This will also encourage others to run third-party servers, thus spreading the AudioQuake work network.

14.4. Chatting

When you're in the game, you may notice some additional messages being announced, other than the usual item/powerup-related ones. These are chat messages that are being sent from one player to the other players on the server. You can send a chat message too; in the console, issue:

say message
                

This will broadcast a message to all other players. Your message can contain spaces and there is no requirement to surround it in quotes. If you only want to send a message to your teammates (perhaps because it reveals where you are or some other tactical information), you can use the following command:

say_team message
                

Warning

Be nice to the other people on the server – if you're not, the server admin has the power to kick you from the game and ban you from reconnecting!

FIXME chat history

14.5. Playing the Game

There is not much to say specifically about this stage, other than have fun! Try to be considerate of your teammates, if you're playing a team gametype. If not, then friendly competition is always good!

14.5.1. Scores and Scoreboards

To view the current scoreboard press the TAB key. Players are listed from the leader down. Scoring is relatively simple; you get one frag for each enemy you kill. If you kill a team-mate or yourself, you lose a frag.

The scorebaord will display different information based on what game mode you're playing in. Team information, for example, is displayed in team deathmatch games.

14.5.2. Online Statistics

As you play games on any of the public servers, your progress is tracked and can be viewed relative to that of other players on the web. Please read the section on the AudioQuake Stats and Servers Site for more information.

14.6. Leaving a Game

There are three main ways to leave a game:

  • Say bye to everyone and leave with the disconnect command. This will remove you from the game in progress, returning you to the console.

  • Network problems may forcibly disconnect you from the server. If this happens, you could try reconnecting with the reconnect command.

  • You may have been kicked from the server because of unacceptable behaviour. Leaving a game in this way is not recommended.

When you've left a game, you'll be back at the console. From here you can quit AudioQuake, or start a new single or multiplayer game.

Chapter 15. AudioQuake Stats and Servers Website

This chapter describes the web-based extension to AudioQuake; what it is, why it's here and how you can use it.

15.1. What is it?

The Stats and Servers website is part of the online community surrounding AudioQuake. As well as the community resources on the AGRIP Wiki, the Stats and Servers site exists to help you get more out of the game. By visiting the site, you can:

  • Track your progress as an AudioQuake player. Examine the statistics gleaned from your recorded frags when playing the game. These include your efficiency, kill ratio and overall rank.

  • Compare how you're doing to other players via the global ranking tables. these list the top AudioQuake players in a number of orders and over varying timeframes.

  • Find Internet games using a web-based server browser (as opposed to using the command-line tool QStat).

15.2. Quick Tour

When you visit the stats and servers site, you're presented with a number of choices on where to go. The main page lists the sections you can visit, providing a brief description of each one. The most important areas of the site fall under a few categories:

  • Pages containing global ranking tables, based on a number of criteria. They may be frags, efficiency, overall ranking or time-based (e.g. frags for the current day or month).

  • Detailed stats for each known AudioQuake player (accessed via global players list).

  • The active servers list.

  • Help and support in the form of a FAQ section.

You can skip to any section at any time by using the global navigation bar, which is present on most pages in the site.

15.3. Getting Your Stats Included

To get your stats included, all you need to do is play on any of the public servers that advertise themselves as logging stats. Most servers do this; some may not (because they're aimed at providing practice for new players, for example).

Chapter 16. Setting up and Running your own Server

Running your own AudioQuake server allows total control over which maps, gametypes and rules you play. It can also be a fun and rewarding thing to do. If you would like to try setting up your own server, we recommend that you have a go – it will provide you with your ideal game setup and other AudioQuake players with an extra place to play (if you run a public server).

16.1. Clients and Dedicated vs. Listen Servers

Quake is a “client-server” game. This means that at any time, to play the game you need a client and a server. The client is the program that the user interacts with, that outputs audio/video and captures input (to be used when moving the player or typing in the console). The server runs the game itself. It controls the environment (lifts, buttons) and items in it (powerups, monsters) and keeps track of scoring in multiplayer games. If you're playing a singleplayer game or practice match on your own computer, the client and the server are both running on your computer. If you're playing an Internet multiplayer game, the server could be hundreds of miles away.

When setting up a server, the most fundamental decision is what type of server to set up. Dedicated servers are programs that only perform the task of running the game. They do not output any audio/video and don't allow you to play a game on them directly. Listen servers, however, act as the singleplayer and offline game modes do – except that they allow connections from other players on the Internet. From your point-of-view, this makes listen servers “feel” very similar to the on or offline games you've been accustomed to playing up until now.

16.1.1. Why Use Dedicated Servers?

Though they may seem much more convenient and useful, it is generally seen as bad practice to run a listen server. The main idea is that there is a delay involved for all players on a server (measured by their “ping” time). This delay is introduced due to the fact that the player's input and output data has to be transmitted over the Internet to and from the server. A player who is directly connected to a listen server has no delay and therefore the lowest ping time on that server. This gives them a great advantage when playing the game.

Most servers on the Internet are dedicated ones. They try to be as fair as possible with respect to ping times by being remote from all players. For this reason, we strongly recommend that you run a dedicated server if you can. Even if you only have one computer or the server is on your local network (and therefore quick to access) we still recommend you run a dedicated server because it's the standard. The instructions in this chapter will assume you're using a dedicated server but they will work similarly in listen mode.

Another advantage to dedicated servers (which is most likely welcomed by anyone setting one up) is that they don't require terribly fancy computers to run on. This is partly because they don't need to perform any rendering of audio/video data, which can take quite a lot of computing power.

16.2. Public vs. Private and Stats Logging

This topic and many others is dealt with on the Stats and Servers site (in the FAQ section) – be sure to check it out for the latest information.

16.3. Interacting with the Server Directly

You can do all sorts of things with the server by interacting with its console when you start it. Tasks such as setting the gametype and map, getting status and kicking players (as well as chatting to the players from outside) can be done via the server's console directly. However, this is not always practical (you may be in the game yourself when you want to change the map, for example). In this case, you can use the “remote console” admin feature. It is beyond the scope of this manual to explain, but you can find out a lot about it and many other features by using the approach detailed in Appendix B, Finding out More – The Web is Your Friend!.

It is recommended that you run a dedicated server on Linux, using the screen program. This allows you to safely detatch from the machine without stopping the server. Furthermore, it is recommended that you copy the standard output of the server to a log file (this will help us fix bugs, should they arise).

16.4. Configuring Your Server

It is very important that you configure your server properly before running it. To do this you will need to edit the server.cfg file, which lives in the agrip/ subdirectory of your AudioQuake installation. Please use a plain text editor on the file. There are many comments in the file that explain how to set things up, so they will not be reiterated here.

This section does, however, explain some of the more complex parts of the configuration.

16.4.1. Map Cycles

You can specify a list of maps in your config file so that the server is not always playing on the same level. The server will move to the next map after each game is over. By making this list circular (i.e. after the last map, we tell the server to start again) we can keep the rotation going.

Here is an example of how you'd set up such a map cycle (or “rotation”) in server.cfg. Say you have four maps; A, B, C and D. You wish for them all to be used one after the other ad infinitum. Here is what you'd put into the config file:

localinfo A B
localinfo B C
localinfo C D
localinfo D A
                    

Note

You can only specify two maps with each use of localinfo – you're effectively telling the game which map is next given the current one.

16.5. Admin Tasks

You'll find yourself needing to carry out a number of tasks as an admin. To get the best information on how to do these jobs, please consult Appendix B, Finding out More – The Web is Your Friend!. Also, please join the mailing list for server admins. We use it to provide a lot of useful information and arrange regular matches.

Maps

There are quite a few maps supplied with AudioQuake that are extra to those that the shareware and registered versions of Quake provide. This part describes them. The description of the tutorial maps has been left a surprise.

Chapter 17. Deathmatch/Team Deathmatch Maps

The AGRIP deathmatch maps all begin with “agdm”, then have a number. Some of them end with a letter – “t” indicates the map is a 1on1 arena and “l” indicates a large map.

17.1. agdm01: The Melee

FIXME

17.2. agdm01t: The Melee – 1on1 Edition

FIXME

17.3. agdm02: Halls of Retribution

FIXME

17.4. agdm02l: Halls of Retribution – Warring Factions Remix

FIXME

Customising AudioQuake

As has been touched on before, you are strongly encouraged to tailor the way AudioQuake works to suit your own taste and level of sight. Here are examples of the types of thing you can customise in the game:

  • Navigation aid and EtherScan RADAR detection ranges.

  • Detector 5000 detection interval.

  • How far the player turns (angle-wise) per press of the left and right arrow keys.

  • The keys you press to use any of the navigation aids/devices.

  • How the spoken interface works – changing voices or using hardware synthesisers or Braille displays.

In this part, you'll learn how to change settings such as these and more.

Chapter 18. Menu–Based Customisation with the Launcher

The game launcher provides a few important features for customising the accessibility-related features of the game. Using the menu items of the launcher, you can:

  • Examine and edit your keybindings. These are the settings that determine which keys activate which game features or player actions (e.g. toggling the D5k or firing your weapon).

  • Adjust options such as which devices are activated when you enter the game, which sub-features of the devices are enabled by default, sound volume levels and detection distances.

Instructions are provided by the launcher on how to make use of these features and change/review your settings.

Tip

If you're an advanced user, you might like to edit the configuration files directly. They are all commented to explain how things work. Read the next section for details.

Chapter 19. autoexec.cfg

If you're an advanced user, or are thinking of setting up a server, you'll not be a stranger to editing text files and may find doing so to be more productive than using the menu as described in the previous chapter.

As part of the start-up procedure, the game looks for user settings in a number of files. autoexec.cfg is one of these files. By convention, it is the place where all AudioQuake-specific settings are kept. As the game starts, it reads this file and acts on the commands found in it.

Tip

There is another file, called config.cfg that is also read. This contains general Quake settings. The curious may want to read this file too, but it is beyond the scope of this book.

You can customise the way AudioQuake behaves by editing the file autoexec.cfg. This file can be found in your ~/.zquake/AudioQuake/ directory on Linux, or the AudioQuake folder where you installed AudioQuake if you're using Windows (if you used the default, that would make it C:\Program Files\AudioQuake\autoexec.cfg).

The file has a number of sections and has many comments in it to explain what each individual setting actually does. This part of the book will not repeat what is written in the file, but gives a general overview of what each section of the file is for.

Tip

To edit the file, you need to use a plain-text editor. Vim, Emacs, Nano or Notepad will do the job.

19.1. Object Toggle Settings

This section controls which objects and which features of these objects, are to be activated when the game starts.

If you use the toggle keys to turn things on/off and then complete a map, the settings you had at the end of the last one will be carried on to the new map.

19.2. Detection Settings

This part of the file allows you to configure things like the detection distance, ESR and D5k field of view and if they are to make sounds when an item or enemy is outside of your field of view. You can specify the default player turning angle here, too (this is the angle the player turns when you press the left or right arrow key).

19.3. Sound Volume Settings

Here you can control how loud various sounds AudioQuake makes actually are. They act as “throttles” that AudioQuake will apply before it makes sounds. You can control the volume of all of the AudioQuake objects.

19.4. Key Bindings

Key bindings just tell the game what you want to happen when you press a certain key on the keyboard. This section allows you to redefine which keys cause which things to happen in the game (such as toggling devices on/off or using the compass).

Bindings work by specifying a key and then the command that key is meant to activate. In Quake, these commands can be quite cryptic so we have added “aliases” for them. These aliases are much more readable names for the in-game commands and should make configuring AudioQuake much easier for you.

19.5. Aliases

As mentioned above, aliases exist to provide human-readable equivalents to the commands Quake actually uses. You don't need to edit this section – it is maintained by us for each release. It only exists to make configuration easier.

Chapter 20. The Launcher – Alternative Speech/Braille Settings

Customising the launcher itself is not hard to do and allows you to make big changes to how the interface of AudioQuake works. Read on for more information.

20.1. Changing the Default SAPI Voice

This is not strictly customising the launcher, but does have a great effect on how AudioQuake sounds if you're using the SAPI interface. Your default voice is set in the “Speech” Control Panel applet and it is this voice that the SAPI interface uses to talk to you. Here are the steps you would need to follow to change the default voice:

  1. Get to the Control Panel (Start, Settings, Control Panel).

  2. Open the “Speech” icon to start the Speech Control Panel applet.

  3. When the applet opens, you'll be on the first of three tabs (“Speech Recognition”). The option for the default voice is on the second tab, “Text To Speech”. Move to the second tab and then down through the controls. Quite soon, you'll get to a section labelled “Voice Selection”. There is a drop-down list here that allows you to chose the default voice. We recommend either Mary or Mike.

  4. To save your changes, move to the OK button and activate it.

  5. You can now close the Control Panel. Your new choice of default voice will be used when you next start the AudioQuake launcher.

20.2. Editing Launcher Options

The next sections in this chapter cover options you set inside the launcher itself. This section explains the general procedure for editing launcher settings.

The launcher is actually a plain text file and can be easily edited with your favourite text editor (such as vim or notepad). In this file, there are a number of lines you can edit to change the way speech output works. They've been grouped together into a configuration section. At the time of writing, this section starts on line 46 of the start.pl file (there are comments in the file that explain where it starts and ends).

20.2.1. What to Configure

There are a number of settings (“variables”) you can configure. For example, if you want to change from using the SAPI interface to using a hardware synthesiser and you're running Windows, you'd change the line:

my $win32_talker = '|ag_say.exe';
                    

To something more like this:

my $win32_talker = '>COM1:';
                    

Note

When you're changing a variable, only edit what lies between the two single or double quotes on that line of the script.

Please read on for more specific information about changing to a hardware speech synthesiser; this was just an example.

Tip

There are a lot of comments in the file (lines beginning with a hash) that explain the meaning of these variables and give suggestions of how you might like to alter them.

20.2.2. Linux and Windows Differences

The start.pl program is the same on Linux and Windows. Some configuration variables only take effect on either of the two systems.

If you're running Linux, you can ignore all variables that have “win32” in their names – you need to edit variables with “nix” in their names.

Likewise, if you're running Windows, you need to edit only the variables with “win32” in their names and can safely ignore variables with “nix” in their names.

20.3. Using a Different Software Synthesiser

If you're using Linux, you might want to customise which software synthesiser AudioQuake should use. Do this by editing the “$nix_talker” variable. Examples of possible TTS engines are given in the script.

It is not expected that Windows users would need to use a different TTS program but it is as simple as altering the “$win32_talker” variable.

Note

Remember that if you're using a software synthesiser, you'll want to put the pipe (“|”) character before the first letter of the path to the program. This instructs the AudioQuake launcher to send data to the program in the correct way.

20.4. Using a Hardware Speech Synthesiser or Braille Display

If you have a hardware speech synthesiser or Braille display attached to your computer's serial port, you can set up the launcher to work with it instead of the SAPI interface.

To set up a serial speech synthesiser or Braille display, you will need to change the following variables:

  • If you're on Linux, change the “$nix_talker” variable to “>/dev/ttyS0” (or ttyS1 if the device is attached to your second serial port).

    If you're running Windows, change the “$win32_talker” variable to “>COM1” (or COM2 if the device is attached to your second serial port).

  • Modify the “$nix_init_command” or “$win32_init_command” variable accordingly. These variables are used to set up the serial port so that it sends data to the device in the right format.

    Examples of commands you could put into these variables are given in the file and in most cases a simple copy and paste should be all that's required to get things going. If it's not working, consult the device's manual.

  • Modify the “$init_string” variable if necessary. Some synthesisers require a message to be sent to them before they can start talking (to set up the voice, for example). This variable contains that message. Not all devices require this, so you might not need to alter it.

  • You'll probably want to change the “$high_priority_prefix” variable too. This is the data that is sent to the device just before a message of high importance. The reason for having this feature is so that we can force the device to stop speaking what it was saying and say an important message straight away.

    Again, details on what you'll probably want to change this variable to can be found in the start.pl script.

20.5. Other Options

Currently there is only one other launcher option. This controls if the launcher prints out anything on the console/screen it was started from. It's on by default.

The variable is called “$print_to_stdout_flag” and there are comments below it that explain why you may or may not want to alter it.

Reference Information

This part of the manual provides detailed technical and summary information that can be used by players to refer back to various important points, without having to read through the main text again.

Appendix A. Key to the AudioQuake Sounds

This appendix is a list of the sounds AudioQuake uses to tell you what's going on. It contains links to the sounds and descriptions of them. Additionally, it gives you an example or two of when you'll hear the sounds.

Depending on how your browser is set up, you should be able to listen to these sounds quite easily whilst reading the book (tell your browser to open them with a program that can play WAVE files and also tell it to do this automatically for all WAVE files).

Note

Many in-game events are spoken to you so you won't find them included in this list. Also, some of the sounds we use are in the Quake data files and as such cannot be included here because we don't own the copyright on the Quake data.

A.1. Toggle Sounds

This section explains the meaning of the various toggle sounds used in the game.

SoundDescriptionPlayed when...
OnThe generic “item is activated” sound.Played when any device (for example the ESR, D5k or side hazard detection) is turned on.
OffThe generic “item has been de-activated” sound.Played when any device (for example the ESR, D5k or side hazard detection) is turned off.
Mode switchUsed to indicate when a multi-mode device switches to another mode.Played when the ESR switches from mode 1 to mode 2 or back from mode 2 to mode 1.

A.2. Navigation Sounds

This section explains the meaning of the sounds that the navigation helper makes.

Table A.1. Structures

SoundDescriptionPlayed when...
WallSound indicating a wall has been detected.Played when there is a wall near you (at a volume proportional to your distance from it). Walls are “sounded” at half the volume of stairs and doors (to stop them getting in the way).
SlopeSound indicating a up or downwards slope (or set of stairs) has been detected.Played when there is a slope near you (at a volume proportional to your distance from it).
DoorSound indicating a door has been detected.Played when there is a door near you (at a volume proportional to your distance from it).
Touching a Wall (in Quake's sounds)This indicates you're stood right next to (touching) a wall.Played when you're touching a wall and have wall touch warnings enabled.
Scraping a WallThis indicates you're walking but a wall is in your way and you're scraping along it.Played when a wall is in your way but you are able to walk, sliding along it.
WindThis indicates that a lot of empty space can be found in a certain direction.Played when there is a large amount of empty space in a given direction from you (when a sweep has been initiated with the L key).

Table A.2. Vertical Movement

SoundDescriptionPlayed when...
UpThis sound indicates you're going up in the world.Played when you go up stairs, slopes or on lifts.
DownThis sound indicates you're going down in the world.Played when you go down stairs, slopes or on lifts.

Table A.3. Hazard (Drop/Ledge) Warnings

SoundDescriptionPlayed when...
Small dropIndicates a small drop.Played when a small drop is detected near you (and hazard warnings and/or side hazard warnings are turned on).
Big dropIndicates a big drop.Played when a big drop is detected near you (and hazard warnings and/or side hazard warnings are turned on).
Huge dropIndicates a huge drop.Played when a huge drop is detected near you (and hazard warnings and/or side hazard warnings are turned on).

A.2.1. Jump Descriptions

When you ask if you can make a jump, you'll either be told (via speech or Braille, depending on how you've set AudioQuake up) that you can make it with a normal jump or you'll need to do a running jump.

If this information is not available (i.e. if there is no jump in front of you, or you're too far away from one), you'll hear this generic access denied-type sound.

You'll also hear the above sound if you ask for a description of what lies in the drop (ground, water, slime or lava) and there is no drop in front of you or you are too far away from one.

A.3. Independent Navigation Aid Sounds

This section explains the meaning of sounds made by the independent navigation aids.

Table A.4. Waypoint Marker Sounds

SoundDescriptionPlayed when...
Marker homing signalEmanates from the marker's location.This lets you know where a marker is. When you touch a marker, you'll be told which waypoint number it is (the number increases with every marker you add).
DeniedIndicates that an action is not possible.This sound is used in a number of places to let you know that you can't do something. In this case, it is played when you press the “delete last marker” key and there is no marker to delete.

A.3.1. Compass Sounds

When you activate the compass, you will be told the name of the direction you're pointing in (or your bearing in degrees if the direction doesn't have a full name).

A.4. Detector 5000 Sounds

This section explains the meaning of the sounds the D5k makes.

SoundDescriptionPlayed when...
(standard Quake sounds)The Quake “item activation” sounds (such as health, ammo, armour, weapon or power-up pickup sounds) are played to indicate what type of object has been detected.The sounds are played when you're near an object (at a volume proportional to your distance from it).
BackpackA dropped backpack. (Quake didn't have a sound for these.)Played when a dropped backpack is near you. Monsters drop them when they die (if they've not been exploded).
Item is outside FOVIndicates that a D5k-detected item lies beyond your field of view.Played when the D5k detects an item outside of your FOV (at a volume proportional to your distance from it).

A.5. Weapon Sounds

When you pick up a new weapon, or switch weapons, the name of the weapon you're using is announced.

If you run out of ammo, you'll hear the ammo-out sound. You'll also hear this sound if you try to switch to a weapon that you possess but don't have any ammo for.

If you try to use a weapon you don't yet possess, you'll hear this access denied sound.

A.6. EtherScan RADAR Sounds

This section explains the meaning of the sounds that the ESR makes.

Table A.5. Monster Indication Sounds

SoundDescriptionPlayed when...
Monster on lower levelSound indicating that a monster is at a lower level (elevation) to the player.Played when a monster is detected and is on the lower level as the player.
Monster on same levelSound indicating that a monster is at a similar level (elevation) to the player.Played when a monster is detected and is on the same level as the player.
Monster on higher levelSound indicating that a monster is at a higher level (elevation) to the player.Played when a monster is detected and is on the higher level as the player.

Table A.6. Enemy (Player or Bot) Indication Sounds

SoundDescriptionPlayed when...
Enemy on lower levelSound indicating that a enemy is at a lower level (elevation) to the player.Played when a enemy is detected and is on the lower level as the player.
Enemy on same levelSound indicating that a enemy is at a similar level (elevation) to the player.Played when a enemy is detected and is on the same level as the player.
Enemy on higher levelSound indicating that a enemy is at a higher level (elevation) to the player.Played when a enemy is detected and is on the higher level as the player.

Table A.7. Friend (Player or Bot) Indication Sounds

SoundDescriptionPlayed when...
Friend on lower levelSound indicating that a friend is at a lower level (elevation) to the player.Played when a friend is detected and is on the lower level as the player.
Friend on same levelSound indicating that a friend is at a similar level (elevation) to the player.Played when a friend is detected and is on the same level as the player.
Friend on higher levelSound indicating that a friend is at a higher level (elevation) to the player.Played when a friend is detected and is on the higher level as the player.

A.6.1. Hazard Detection Mode

When the ESR is in mode 2 (hazard detection), it makes a hazard detected” sound if there is a near-by hazard.

A.7. End of Level

When you complete a map, you'll hear this delightful little tune.

Appendix B. Finding out More – The Web is Your Friend!

If you wish to learn anything about Quake/QuakeWorld (the online version), the best place to look is the web. The game is still very popular and you'll find all sorts out about console commands, server admininstration and fancy moves when playing. A great set of starting points is:

Please visit our web site and/or contact us if you need any further information on, or help with, any aspect of AudioQuake. You can find our contact details on the web site:

http://www.agrip.org.uk/

Remember that that latest version of the manual can always be found at:

http://docs.agrip.org.uk/

If you have any suggestions or queries relating to any aspect of the game, the documentation or the web site, please contact us via the addresses listed on the following page:

http://www.agrip.org.uk/ContactUs

Appendix C. Installing AudioQuake from Source

This appendix is primarily aimed at developers who wish to learn how AudioQuake works, contribute to the project or use it in their own works (remember that if you do this, you're bound by the GNU General Public Licence and must keep your code open).

The game can be installed from source on both Linux and Windows. The following sections describe how this can be done.

C.1. Installing from Source on Linux

To install from a source package on Linux, follow the procedure below:

  1. Extract the package you downloaded. For example:

    $ tar zxf AudioQuake-0.3.0_linux-ppc.tar.gz
                            
  2. Change into this directory and run the “setup” program. This will guide you through most of the installation process.

    $ cd AudioQuake-0.3.0_linux-ppc
    $ ./setup
                            

    The setup program will detect that you're using a source package and will inform you that you need to compile ZQuake and the QuakeC code in order to play the game. This can be achieved by following the remaining steps in this procedure.

  3. You'll need to compile “ZQCC” – ZQuake's QuakeC compiler. It can be found in the zquake-cvs/zqcc/ directory in your extracted source package. The program is written in C and compiling it is as simple as issuing the make command.

    Be sure to put the resultant zqcc binary somewhere on your path to make the next step more convenient.

  4. Once you've compiled zqcc, you can use it to compile the gamecode portion of AudioQuake. This is a customised version of the original Quake gamecode, which adds a number of accessibility features (such as the EtherScan RADAR and Detector 5000).

    1. Move into the zquake-cvs/qc/agrip/ directory in your source package, then issue the following command:

      $ zqcc -progs progs.src
                                      

      This will produce the qwprogs.dat file, which is the gamecode for the multiplayer game modes.

    2. You'll then need to issue the same command as above but specifying spprogs.dat instead of progs.src, which will generate the singleplayer gamecode.

    3. Finally, move the two “.dat” files to the agrip/ directory under your ZQuake installation directory (usually ~/.zquake/).

  5. Finally, you can compile the ZQuake engine itself. To do this, move into the zquake-cvs/zquake/ directory within your extracted source package and issue the make command. You'll be given help on what each of the make rules does. This should help you decide which one to use to compile the engine. For AudioQuake releases, we provide both the full game engine and a dedicated server binary.

    When compilation has finished, you can move the binary from the release-architecture/ directory into your ZQuake installation directory (usually ~/.zquake/).

C.2. Installing from Source on Windows

We recommend the use of MinGW, LCC-Win32, Open Watcom or Visual C++ for compilation of ZQuake/AudioQuake on Windows. To install from a source package on Windows, follow the procedure below. We'll assume you're using Visual C++ at some stages, but this shouldn't have too much of an impact on you if you're using some of the other systems.

  1. Extract the package you downloaded. You can do this with any decent archiving utility (such as 7-Zip). This extracted setup package will become your AudioQuake installation, so you might want to rename and move it so that it is convenient to get to.

    Tip

    If you'd rather make your own binary setup packages from the source package, you can use Inno Setup on the setup.iss file in this directory (after you've followed the rest of these steps. Then you can use your own customised setup program to install AudioQuake (which will mean that you get the Start Menu shortcuts, too).

  2. You'll need to compile “ZQCC” – ZQuake's QuakeC compiler. It can be found in the zquake-cvs/zqcc/ directory in your extracted source package. The program is written in C and can be compiled with your favourite C development system.

    Be sure to put the resultant zqcc binary somewhere on your path to make the next step more convenient.

  3. Once you've compiled zqcc, you can use it to compile the gamecode portion of AudioQuake. This is a customised version of the original Quake gamecode, which adds a number of accessibility features (such as the EtherScan RADAR and Detector 5000).

    1. Move into the zquake-cvs/qc/agrip/ directory in your source package, then issue the following command:

      > zqcc -progs progs.src
                                      

      This will produce the qwprogs.dat file, which is the gamecode for the multiplayer game modes.

    2. You'll then need to issue the same command as above but specifying spprogs.dat instead of progs.src, which will generate the singleplayer gamecode.

    3. Finally, move the two “.dat” files to the agrip/ directory under your extracted source package.

  4. Finally, you can compile the ZQuake engine itself. To do this, move into the zquake-cvs/zquake/source/ directory within your extracted source package. There are a few steps involved in compiling ZQuake. They're described below, with the assumption that you're using Visual C++.

    1. Before you begin, you'll need to download the compile support tools from ZQuake's website. They're needed for compiling the software (non-OpenGL) version of the engine. They come in a ZIP file and need to be placed in the zquake-cvs/zquake/source/ directory in your extracted source package directory.

      The tools can be downloaded from ZQuake download page. They're in the mgl_redist.zip file.

    2. Open zquake.dsw with Visual C++. In the Project Settings dialog, make sure (on the “C/C++” tab) that you define a symbol called “AGRIP”. This enables the AGRIP extensions to the engine during compilation.

    3. In AudioQuake releases, we provide a full game engine and a dedicated server binary. To compile the full game engine, make sure that “zquake - Win32 Release” is selected as the active project. You can then choose to “Build zquake.exe

    4. You can then set “zqds - Win32 Release” as the active project and choose “Build zqds.exe” from the menu.

  5. When compilation has finished, you can move the binary from the release/ directory created by your compiler into the extracted source package directory. If you're using this extracted directory as your AudioQuake installation, you can now safely (re)move the zquake-cvs/ directory from it.

Appendix D. Manual Revision History

Revision History
Revision 0.3.0Day Nth December 2004 
A huge number of major updates and minor tweaks to reflect the move to ZQuake and new features introduced in the first milestone of AudioQuake.
Revision 0.2.1Thursday 29th July 2004 
Updated for the name change and new features in 0.2.1. Updated jumping and game save/loading instructions. Removed Perl from the installation instructions (as it is now included in the setup package).
Revision 0.2.0Monday 5th July 2004 
Added information on the new installer, speech integration and the tutorial maps, plus how to move on after exiting a level. Removed redundant information, moved the info on how to extract registered data to the reference section. A great deal of minor updates for 0.2.0.
Revision 0.1.0Thursday 10th June 2004 
Added section on how to obtain and set up shareware Quake. Added age limit information. Also created the sounds reference section for beta.
Revision 0.0.2Saturday 22nd May 2004 
Updated for the 0.0.4 release (now includes bots).
Revision 0.0.1Tuesday 18th May 2004 
Initial version, written for AGRIP 0.0.4.

GNU General Public License

Version 2, June 1991

Free Software Foundation, Inc. 
  51 Franklin Street, Fifth Floor
  Boston
  MA 
  02110-1301
  USA

Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

Version 2, June 1991

E.1. Preamble

The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software - to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too.

When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.

To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.

For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.

We protect your rights with two steps:

  1. copyright the software, and

  2. offer you this license which gives you legal permission to copy, distribute and/or modify the software.

Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.

Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.

The precise terms and conditions for copying, distribution and modification follow.

E.2. TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

E.2.1. Section 0

This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a “work based on the Program ” means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term “modification ”.) Each licensee is addressed as “you”.

Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.

E.2.2. Section 1

You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.

You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.

E.2.3. Section 2

You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:

  1. You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.

  2. You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.

  3. If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License.

    Exception:

    If the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)

These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.

Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.

In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.

E.2.4. Section 3

You may copy and distribute the Program (or a work based on it, under Section 2 in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:

  1. Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

  2. Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

  3. Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)

The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.

If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.

E.2.5. Section 4

You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.

E.2.6. Section 5

You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.

E.2.7. Section 6

Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.

E.2.8. Section 7

If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.

If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.

It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.

This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.

E.2.9. Section 8

If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.

E.2.10. Section 9

The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.

Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.

E.2.11. Section 10

If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.

E.2.12. NO WARRANTY Section 11

BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

E.2.13. Section 12

IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

END OF TERMS AND CONDITIONS

E.3. How to Apply These Terms to Your New Programs

If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.

To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.

<one line to give the program's name and a brief idea of what it does.> Copyright (C) <year> <name of author>

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

Also add information on how to contact you by electronic and paper mail.

If the program is interactive, make it output a short notice like this when it starts in an interactive mode:

Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.

The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program.

You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:

Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker.

<signature of Ty Coon>, 1 April 1989 Ty Coon, President of Vice

This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License.

GNU Free Documentation License

Version 1.2, November 2002

Free Software Foundation, Inc.
 51 Franklin St, Fifth Floor,
 Boston,
 MA
 02110-1301
 USA
 

Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

Version 1.2, November 2002

F.1. PREAMBLE

The purpose of this License is to make a manual, textbook, or other functional and useful document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.

This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.

We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.

F.2. APPLICABILITY AND DEFINITIONS

This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you". You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law.

A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.

A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.

The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none.

The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words.

A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not "Transparent" is called "Opaque".

Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only.

The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.

A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as "Acknowledgements", "Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when you modify the Document means that it remains a section "Entitled XYZ" according to this definition.

The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License.

F.3. VERBATIM COPYING

You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.

You may also lend copies, under the same conditions stated above, and you may publicly display copies.

F.4. COPYING IN QUANTITY

If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.

If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.

If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.

It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.

F.5. MODIFICATIONS

You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:

GNU FDL Modification Conditions

  1. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
  2. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement.
  3. State on the Title page the name of the publisher of the Modified Version, as the publisher.
  4. Preserve all the copyright notices of the Document.
  5. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
  6. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
  7. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice.
  8. Include an unaltered copy of this License.
  9. Preserve the section Entitled "History", Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
  10. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
  11. For any section Entitled "Acknowledgements" or "Dedications", Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.
  12. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
  13. Delete any section Entitled "Endorsements". Such a section may not be included in the Modified Version.
  14. Do not retitle any existing section to be Entitled "Endorsements" or to conflict in title with any Invariant Section.
  15. Preserve any Warranty Disclaimers.

If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles.

You may add a section Entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.

You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.

The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.

F.6. COMBINING DOCUMENTS

You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers.

The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.

In the combination, you must combine any sections Entitled "History" in the various original documents, forming one section Entitled "History"; likewise combine any sections Entitled "Acknowledgements", and any sections Entitled "Dedications". You must delete all sections Entitled "Endorsements".

F.7. COLLECTIONS OF DOCUMENTS

You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.

You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.

F.8. AGGREGATION WITH INDEPENDENT WORKS

A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an "aggregate" if the copyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document.

If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate.

F.9. TRANSLATION

Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail.

If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title.

F.10. TERMINATION

You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.

F.11. FUTURE REVISIONS OF THIS LICENSE

The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.

Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation.

F.12. ADDENDUM: How to use this License for your documents

To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:

Sample Invariant Sections list

Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".

If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the "with...Texts." line with this:

Sample Invariant Sections list

with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.

If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation.

If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.