Before starting on a bug or task, please ask on the mailing list or in the IRC channel whether anybody else is already working on it.
The source to the Stratagus engine. The source is licenced under the GNU General Public License. This contains the sources needed for development.
The website is stored in subversion for easy updating and version management by mulitple people. This module is not needed unless you plan to update the stratagus website
For example:
svn co https://svn.sourceforge.net/svnroot/stratagus/stratagus/trunk stratagus
This is done only once. To update your working copy, go into the directory and type 'svn up'.
You need either DoxyGen or DOC++ to generate source code documentation. You may then use the following commands to produce the documentation:
Multi line source code documentation:
/** ... */
Single line source code documentation:
/// ...
Start grouping:
//@{ or /*@{*/
End grouping:
//@} or /*@}*/
Please read the doxygen/doc++ documentation.
// _________ __ __ // / _____// |_____________ _/ |______ ____ __ __ ______ // \_____ \\ __\_ __ \__ \\ __\__ \ / ___\| | \/ ___/ // / \| | | | \// __ \| | / __ \_/ /_/ > | /\___ \ // /_______ /|__| |__| (____ /__| (____ /\___ /|____//____ > // \/ \/ \//_____/ \/ // ______________________ ______________________ // T H E W A R B E G I N S // Stratagus - A free fantasy real time strategy game engine // /**@name {filename}.c - {One line description of this file} */ // // (c) Copyright 2006 by {insert your name here} // // 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; only version 2 of the License. // // 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 St, Fifth Floor, // Boston, MA 02110-1301 USA // // $Id: development.html 7899 2007-03-01 05:29:54Z jsalmon3 $ //@{ #include <stdio.h> #include "stratagus.h" // More game includes. // Global and local variables of this module. // Local and global functions of this module. //@}
We suggest the Linux kernel coding style (also found online here).
// Example for statement with i incremented for (i = 0; i < sample->Length >> 1; ++i) { ... } // if statement with brackets and functions. if ((i = CLread(f, &chunk, sizeof(chunk))) != sizeof(chunk)) { ... } // function with variables defined. int function(int a, int b) { int x; int y; x = a; y = b; return 0; } // Example of a function static int CclLoadPud(lua_State* l) { const char* name; if (SaveGameLoading) { return 0; } if (lua_gettop(l) != 1) { LuaError(l, "incorrect argument"); } name = LuaToString(l, 1); LoadPud(name, &TheMap); // FIXME: LoadPud should return an error return 0; }NOTE: If you make big changes please always extend the copyright with your name, and always update the copyright year if required.
Follow these steps: