AGRIP AudioQuake Development Manual

Matthew Tylee Atkinson

Sabahattin Gucukoglu

0.3.0 BETA

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.

10th April 2007

Abstract

This is the developer manual and reference guide for developing with AudioQuake (from engine and gamecode technology to Stats and Servers infrastructure). We hope you'll find it helpful and informative. Please help us improve these resources 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. In the context of development, this means that any modifications you make will be compatible with that release series. If you are making a total conversion, this will not be so much of a concern.


Table of Contents

I. Getting Started
1. Background Information
1.1. Target Audience
1.2. Development Ethos
1.3. What we Provide
1.4. Licencing
2. Components
2.1. Engine, Gamecode and Data
2.2. AudioQuake's Components
3. Fundamental Concepts
3.1. The Virtual File System (VFS)
3.1.1. Try it Yourself!
3.2. Procedure for Modding AudioQuake
II. Getting and Compiling the Source
4. From Source to Package – the Overall Process
5. Locating the Source
5.1. Repository Structure
5.2. Available Modules
6. Getting the Code – Step by Step
7. Compiling the Code – Step by Step
7.1. From Source to Package for Release (UNIX-like Systems Only)
7.2. Compiling the ZQuake Engine on Windows
8. Documentation, Build Scripts and AGSay
III. Creating/Modding Gamecode
9. QuakeC
9.1. Basic Overview of the Technology
9.2. The Language
9.3. Building Code – The Basics
9.4. ZQuake Modular Gamecode
10. AGRIP Gamecode System
10.1. Philosophy
10.2. Layout and Design
10.3. Comprehensive Documentation on the AGRIP Gamecode Library
IV. QMODs
11. An Introduction to QMODs
11.1. What?
11.2. Why?
11.2.1. Why Not?
12. How? (for Developers)
13. How? (for Users)
V. Engine Workings
14. Required Reading
15. Overview of a Quake Engine
16. Changes for Accessibility
17. Scope for Change
VI. Documentation: Build and Development
VII. Stats and Servers System
18. Backstory and Goals
19. Stats and Severs
19.1. Stats Gathering
19.2. Processing (Qlog)
19.3. Active Servers List (QStat)
19.4. Site Scripts
20. MAUTH – Master AUTHentication protocol
A. Reference Material
A.1. Version Control Systems
A.2. QuakeC
A.3. Quake Engines and Standards
A.4. DocBook XML
A.5. Perl
A.6. Community and Historical Links
B. QMOD INI File Settings
B.1. General
B.1.1. Example
B.2. Longdesc

List of Tables

B.1. Configuration Items for the General Section of QMOD INI files