Contributing Programmers
From TremFusion
Contributing programmers are anyone whose code is used in the final release of TremFusion. As such, you can become a contributing programmer just by contributing code. This page is a repository of knowledge on how that is done, and what needs to be done, as well as discussion from well-known contributors ('official' devs).
Before contributing any code, you should read our programming practices section, and familiarize yourself with what constitutes good code and bad code for this project. Though other devs might be willing to help you clean up your bad code, don't count on it.
Branches
Because we use Mercurial, branching is something we do easily and often to create solid, working code, one feature at a time. Our major branches are documented here:
- default : Default branch. All branches approved are merged here.
- script : Branch for scripting developpement
- console : New admin console
- ui : UI improvements
- dnc : DnC features
- bots : Bots developement
- admin : Remove the old admin system, and develop the new
- gui_changes : Add in new GUI elements such as attacking feedback, HUD elements etc.
- python (inactive) : Branch for python scripting. Merged to script
- lua (inactive) : Branch for python scripting. Merged to script
- removestuff (inactive) : Remove useless things in tremulous code. Merged to default
- addon_patches (inactive) : Branch used to apply some patches coming from everywhere
- merge_ioq3 (inactive) : Branch used to merge TremFusion with ioquale3, the engine it is built on.
- xreal_renderer : Branch used for experimental XReal rendering stuff
You may find it useful to check out the building from source page when getting different branches.
Feature Tracking
Feature Tracking is extremely important. It does us no good for a feature to be added if no one knows that it's there or how to use it. Discussion on features can be found at
- First release : What we need for the first release
- Future releases : Anything you want added that won't go into the first release
- Draft of Merged features list : Every features (in First and Future Releases)
Also, when a feature is complete and added to the main repository, the [wiki:Manual Manual] should be updated to reflect what has been added.
You also may want to contribute ideas to [wiki:research the research page]