Development Docs

This is documentation for developers or for people who just want to hack on the code. It is not intended to replace the automatic API documentation generated by doxygen (we do have a doxyfile, right?), but is intended to supplement those documents with additional information that may not necessarily appear in the API docs. It is also not intended as a substitute for good commenting tactics. And finally, it is a place to put planning documentation (like the stuff Philippe writes), proposals, RFC-type material, and so forth. But not the roadmap, we use Sourceforge's tracker for that.

Documentation

 * Wiki Structuring Project
 * Wiki Development Project

Building the Game
Building Armagetron Advanced boils down to 4 basic steps. The steps themselves are each highly platform-dependent, but the four steps are the same everywhere. Each step differs further in whether or not you're building from a branch or the trunk, and each branch may differ. Finally, each step differs depending on if you're building a source release or from version control. Here we'll concern ourselves with building the trunk only. Releases should include their own build instructions.


 * 1) Install the development environment
 * 2) Satisfy dependencies
 * 3) Unpackage source/source checkout from version control
 * 4) Build a distribution

Platform-specific instructions (they should all follow the four step structure given, that's why it's there!):


 * Windows Development
 * Linux Development
 * Mac OS X

Other useful hacker documentation

 * Windows Development System
 * Cross-compiler
 * Used Libraries
 * Doxy
 * Blueprints on launchpad
 * Video tutorials on building sty+ct on Windows

Source Control

 * Working with SVN
 * Bazaar and how we use it
 * Working with SVK

Stuff That's Current

 * Config Item Purposes
 * Debug Recording
 * Error Handling
 * List of nDescriptors
 * Project Dependency Structure
 * Adding a buildslave

Stuff in SVN/BZR HEAD

 * Authentication -> Hash Based Authentication
 * Web Authentication
 * Embedded Web Server
 * Map/Config Rotation
 * Particle System
 * Joda's Team Code
 * New Sound Engine
 * Spawn points
 * Zones v2
 * Cockpit Tutorial | Cockpits list
 * vValue

Stuff that's in branches

 * Scripted GUI Notes -> eEvent
 * eEvent Resource
 * Modules (personal branch)
 * CMake

Data File Handling

 * Config Files
 * Resource System
 * Statistical Collections Database (fancy way of saying "stat files")

Stuff That's Real but doesn't fit above

 * Experimental Map Features
 * Send DTD on the resource repository through ssh&mdash;only of interest for people on the development team
 * XML Network Message/protobuf

Wishlist, or Stuff that's planned
(Might not be planned, but this is it)


 * Goals
 * Chroot build environment
 * Reshaping the Arena
 * Map format

History
This is stuff that's of historical significance to the project. It's very difficult to remember where you're going if you don't remember where you came from, right? This is technical stuff. Community history should have its own section.


 * What Went Wrong in Armagetron