Difference between revisions of "Development Docs"

From Armagetron
 
(75 intermediate revisions by 32 users not shown)
Line 3: Line 3:
 
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.
 
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.
  
== Set Up Your System ==
+
== 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.
 +
 
 +
# Install the development environment
 +
# Satisfy dependencies
 +
# Unpackage source/source checkout from version control
 +
# 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]]
 +
* [[macOS]]
 +
 
 +
== Other useful hacker documentation ==
  
 
* [[Windows Development System]]
 
* [[Windows Development System]]
 +
* [[Cross-compiler]]
 +
* [[Used Libraries]]
 +
* [http://wrtlprnft.ath.cx/doxy/html/ Doxy]
 +
* [https://blueprints.launchpad.net/armagetronad Blueprints on launchpad]
 +
* [http://forums3.armagetronad.net/viewtopic.php?p=263866#p263866 Video tutorials on building sty+ct on Windows]
 +
 +
== Source Control ==
 +
 
* [[Working with SVN]]
 
* [[Working with SVN]]
* [[Cross-compiler]]
+
* [[Bazaar]] and how we use it
 +
* [[Working with SVK]]
  
 
== Stuff That's Current ==
 
== Stuff That's Current ==
  
 
* [[Config Item Purposes]]
 
* [[Config Item Purposes]]
* [[Project Dependency Structure]]
 
 
* [[Debug Recording]]
 
* [[Debug Recording]]
 
* [[Error Handling]]
 
* [[Error Handling]]
 +
* [[List of nDescriptors]]
 +
* [[Project Dependency Structure]]
 +
* [[Adding a buildslave]]
  
== Stuff in SVN HEAD ==
+
== Stuff in SVN/BZR HEAD ==
  
 +
* [[Authentication]] -> [[Hash Based Authentication]]
 +
** [[Web Authentication]]
 
* [[Embedded Web Server]]
 
* [[Embedded Web Server]]
 
* [[Map/Config Rotation]]
 
* [[Map/Config Rotation]]
Line 23: Line 56:
 
* [[Joda's Team Code]]
 
* [[Joda's Team Code]]
 
* [[New Sound Engine]]
 
* [[New Sound Engine]]
* [[Spawm points]]
+
* [[Spawn points]]
 +
* [[Zones v2]]
 +
* [[Cockpit Tutorial]] | [[Cockpits list]]
 +
* [[vValue]]
 +
 
 +
== Stuff that's in branches ==
  
* [[Cockpit Tutorial]] | [[Cockpits list]]
+
* [[Scripted GUI Notes]] -> [[eEvent]]
 +
** [[eEvent Resource]]
 +
* [[Modules]] (personal branch)
 +
* [[CMake]]
  
 
== Data File Handling ==
 
== Data File Handling ==
Line 36: Line 77:
  
 
* [[Experimental Map Features]]
 
* [[Experimental Map Features]]
 +
* [[Send DTD on the resource repository through ssh]]—only of interest for people on the development team
 +
* [[XML Network Message]]/protobuf
  
 
== Wishlist, or Stuff that's planned ==
 
== Wishlist, or Stuff that's planned ==
Line 41: Line 84:
 
(Might not be planned, but this is it)
 
(Might not be planned, but this is it)
  
* [[Scripted GUI Notes]]
+
* [[Goals]]
* [[Authentication]]
+
* [[Chroot build environment]]
 +
* [http://forums.armagetronad.net/viewtopic.php?t=986 Reshaping the Arena]
 +
* [http://forums.armagetronad.net/viewtopic.php?t=1742 Map format]
  
 
== History ==
 
== History ==
Line 51: Line 96:
  
 
{{Sections}} <!-- Template:Sections should be at the top of each section -->
 
{{Sections}} <!-- Template:Sections should be at the top of each section -->
 +
 +
{{Category:Development}}

Latest revision as of 22:31, 22 August 2021


Sections: Installing the Game | Playing the Game | Competition Hub | Server Administration | Extending Armagetron Advanced | 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

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!):

Other useful hacker documentation

Source Control

Stuff That's Current

Stuff in SVN/BZR HEAD

Stuff that's in branches

Data File Handling

Stuff That's Real but doesn't fit above

Wishlist, or Stuff that's planned

(Might not be planned, but this is it)

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.


Sections: Installing the Game | Playing the Game | Competition Hub | Server Administration | Extending Armagetron Advanced | Development Docs


Information about the current Armagetron Advanced Development. How to compile the game or current working in progress.