<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://springrts-wiki.p2004a.com/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Monohouse</id>
	<title>Spring - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://springrts-wiki.p2004a.com/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Monohouse"/>
	<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/wiki/Special:Contributions/Monohouse"/>
	<updated>2026-11-08T22:48:37Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Development:Main&amp;diff=5594</id>
		<title>Development:Main</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Development:Main&amp;diff=5594"/>
		<updated>2007-01-08T20:26:24Z</updated>

		<summary type="html">&lt;p&gt;Monohouse: /* Obtaining the Source */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Outlined below is information on assisting with the development of the Spring source itself.&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;small&amp;gt;NOTE: For information about developing a mod (units, maps, etc.) see the [[Mod Development]] page.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below you can find information on how to work with the Spring source in the current mainline (Windows platform) if you like to work on another platform (Linux &amp;amp; Mac) please look at the bottem of this page under &amp;quot;Multiplatform development&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Starting Development==&lt;br /&gt;
To start development, you will need&lt;br /&gt;
#The latest version of the source &lt;br /&gt;
#A good code manipulation program&lt;br /&gt;
#Compiling your modified source&lt;br /&gt;
&lt;br /&gt;
===Source Code Documentation===&lt;br /&gt;
A good place to start is the source code documentation, which can be found here: [http://taspring.clan-sy.com/doxygen/ doxygen]&lt;br /&gt;
&lt;br /&gt;
An explanation on how the code is executed in game can be found in the [[Spring Engine Code]]&lt;br /&gt;
page.&lt;br /&gt;
&lt;br /&gt;
===Obtaining the Source===&lt;br /&gt;
&lt;br /&gt;
Update: the latest SVN is at: [https://taspring.clan-sy.com/svn/spring https://taspring.clan-sy.com/svn/spring] See [http://taspring.clan-sy.com/phpbb/viewtopic.php?t=6299 http://taspring.clan-sy.com/phpbb/viewtopic.php?t=6299]&lt;br /&gt;
&lt;br /&gt;
Another option is to manually download it along with the latest released version of the game. However, for serious developers, a better way would be to download the source straight from the subversion (SVN) repository. This will also allow you to make a patch out of the changes you make to the code, and send it to one of the developers with SVN access.&lt;br /&gt;
&lt;br /&gt;
windows SVN clients : [http://subversion.tigris.org Subversion] (Win32-Console), &lt;br /&gt;
[http://www.syntevo.com/smartsvn/index.jsp SmartSVN] (Java) and [http://tortoisesvn.tigris.org TortoiseSVN] (MSI).&lt;br /&gt;
&lt;br /&gt;
assuming that you are using the Subversion svn client you can download the latest SVN source with&lt;br /&gt;
&lt;br /&gt;
svn.exe checkout https://taspring.clan-sy.com/svn/spring/trunk&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
svn.exe checkout svn://svn.berlios.de/taspring-linux/trunk&lt;br /&gt;
&lt;br /&gt;
depending on which repository is newer. it will create a trunk subdirectory in the directory from where you ran it, which will contain the source code root directory which will be later referred to as /taspring&lt;br /&gt;
&lt;br /&gt;
===Learning C++===&lt;br /&gt;
You will need to know C++ to modify or understand Spring&#039;s source code. If you are interested in learning C++, see [[Learning_CPP]]&lt;br /&gt;
&lt;br /&gt;
However please note that badly designed code (code created by a C++ novice for example), will even if working not be included in the spring code. Spring is a large project, and therefore it is necessary to stay away from hack jobs and create general solutions to problems.&lt;br /&gt;
&lt;br /&gt;
===Modifying and Compiling the Source===&lt;br /&gt;
&lt;br /&gt;
The build environment on Windows will change for the next release:&lt;br /&gt;
*0.73b1 release was built using msvc 2003&lt;br /&gt;
*The next release (and hence the SVN version) is build using SCONS/mingw&lt;br /&gt;
&lt;br /&gt;
If you will be developing on Windows you are recommended to use SCONS/mingw, using the SVN version.&lt;br /&gt;
&lt;br /&gt;
See [[Development_IDEs]]. You have either to use the SCons build system that is multi platform, or use the vcproj for building spring in Visual Studio 2003 or Visual Studio 2005.&lt;br /&gt;
A list of required libraries as well as pre-built packages of these follows.&lt;br /&gt;
&lt;br /&gt;
*[http://www.boost.org Boost C++ library]&lt;br /&gt;
*[http://www.openal.org OpenAL Audio library]&lt;br /&gt;
*[http://glew.sf.net GLEW (OpenGL extension loading)]&lt;br /&gt;
*[http://www.winimage.com/zLibDll/ zlib + minizip]&lt;br /&gt;
*[http://www.libsdl.org SDL]&lt;br /&gt;
*[http://openil.sf.net DevIL (Image loading)]&lt;br /&gt;
*[http://www.freetype.org Freetype font rendering]&lt;br /&gt;
&lt;br /&gt;
*[http://msdn.microsoft.com/directx/sdk/ DirectX SDK] (Windows, Visual Studio C++ only)&lt;br /&gt;
*PlatformSDK (Windows, Visual Studio C++ Only)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?p=49257#49257 Pre-Built package of most of dependencies].&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?p=56846#56846 Pre-Built boost for VS8].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[http://prdownloads.sourceforge.net/dev-cpp/devcpp-4.9.9.2_setup.exe Dev-Cpp installer] / [MinGW] Though I would not advise mingw because you have to set it up your self, and this is harder than it sounds.  Note that Code:Blocks mingw setup is not sufficient.&lt;br /&gt;
&lt;br /&gt;
*[http://www.python.org/ftp/python/2.4.2/python-2.4.2.msi Python 2.4 installer]&lt;br /&gt;
&lt;br /&gt;
*[http://prdownloads.sourceforge.net/pywin32/pywin32-208.win32-py2.4.exe?download Python win32 extensions installer] &lt;br /&gt;
&lt;br /&gt;
*[http://prdownloads.sourceforge.net/scons/scons-0.96.1.win32.exe Scons installer]&lt;br /&gt;
&lt;br /&gt;
Grab and install the above programs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Setup&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Make sure C:\Python2.4 and C:\Dev-Cpp\bin are in your PATH environment variable&lt;br /&gt;
*Make sure a MINGDIR environment variable with value C:\Dev-Cpp exists. (Change paths where appropriate.)&lt;br /&gt;
*Set environment variables by: Start -&amp;gt; Settings -&amp;gt; Control Panel -&amp;gt; System -&amp;gt; Advanced -&amp;gt; Environment variables (for Windows XP).  Checkout the TA Spring SVN repository.&lt;br /&gt;
*You will also need the [http://spring.clan-sy.com/dl/spring-mingwlibs.exe Mingw / DevCPP libs] extract to /taspring.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Running scons configure&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Open a console (Start -&amp;gt; Run -&amp;gt; cmd.exe -&amp;gt; Run)&lt;br /&gt;
*cd /where you checked it out in the previous step, if you use checked it out on a different drive make sure to change drives with DriveLetter:&amp;lt;enter&amp;gt; first&lt;br /&gt;
*type &amp;quot;scons configure&amp;quot;&amp;lt;enter&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Gotchas:&lt;br /&gt;
*if you get an error message starting with &amp;quot;EOFError: : env = Environement...&amp;quot;, try deleting the file build/scons_signatures.dblite&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compiling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Open a console (Start -&amp;gt; Run -&amp;gt; cmd.exe -&amp;gt; Run), cd /where you checked it out in the previous step, if you use checked it out on a different drive make sure to change drives with DriveLetter:&amp;lt;enter&amp;gt; first then type scons configure&amp;lt;enter&amp;gt;, followed by scons&amp;lt;enter&amp;gt;. Refer to scons --help for options that can be passed to scons configure. Wait, this will take a while. Copy over data files and stuff from official spring to the game dir (where spring.exe is created). Copy missing DLLs from mingwlibs/dll, Start developing.&lt;br /&gt;
&lt;br /&gt;
If you are using Linux, refer to the [[SetupGuide]] to build Spring and get it running.&lt;br /&gt;
&lt;br /&gt;
==Development Suggestions==&lt;br /&gt;
&lt;br /&gt;
Before starting to make modifications to the source, take a look at the [[development guidelines]] which outlines some important things to think about. To find something interesting to work on, look at the list of [[example projects]]. You can also check the list of [[whois doing what]] to see what others are doing. If you do edit the code, please add [[Doxygen style comments]] to the code, which will then enhance the source code documentation.&lt;br /&gt;
&lt;br /&gt;
===How to get your code included===&lt;br /&gt;
If you create something that you think should be included in the official source tree, you can send an email to the development mailing list shown at [[Linux]] page. Sending your code in the form of a patch (also known as a .diff file), will make the chances of including it in the main code.&lt;br /&gt;
It&#039;s also considered standard practice to post one&#039;s modifications in the [http://taspring.clan-sy.com/phpbb/viewforum.php?f=12 development forum] and get feedback.&lt;br /&gt;
&lt;br /&gt;
==Multiplatform development==&lt;br /&gt;
Current development is done on the portable code only, located at [http://developer.berlios.de/projects/taspring-linux Berlios]&lt;br /&gt;
All current and future releases will be based on this code.&lt;br /&gt;
The current spring code is being developed on Windows and linux. A mac port is being worked on, as well as other unixes. &lt;br /&gt;
Use the mailing list listed on the [[Linux]] page to reach all developers (windows and linux). However if you have a feature request or bug report, the mantis bugtracker is probably a better way.&lt;br /&gt;
Development information about the portable code can be found here: [[MultiplatformSpring]]&lt;br /&gt;
&lt;br /&gt;
==Spring Engine TODO list==&lt;br /&gt;
There is a TODO list for developers who want to contribute to the engine itself:&lt;br /&gt;
[[SpringEngineTODO]]&lt;br /&gt;
&lt;br /&gt;
See [[Glossary]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]] [[Category:Source development]]&lt;/div&gt;</summary>
		<author><name>Monohouse</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Development:Main&amp;diff=5593</id>
		<title>Development:Main</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Development:Main&amp;diff=5593"/>
		<updated>2007-01-08T18:09:09Z</updated>

		<summary type="html">&lt;p&gt;Monohouse: /* Obtaining the Source */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Outlined below is information on assisting with the development of the Spring source itself.&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;small&amp;gt;NOTE: For information about developing a mod (units, maps, etc.) see the [[Mod Development]] page.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below you can find information on how to work with the Spring source in the current mainline (Windows platform) if you like to work on another platform (Linux &amp;amp; Mac) please look at the bottem of this page under &amp;quot;Multiplatform development&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Starting Development==&lt;br /&gt;
To start development, you will need&lt;br /&gt;
#The latest version of the source &lt;br /&gt;
#A good code manipulation program&lt;br /&gt;
#Compiling your modified source&lt;br /&gt;
&lt;br /&gt;
===Source Code Documentation===&lt;br /&gt;
A good place to start is the source code documentation, which can be found here: [http://taspring.clan-sy.com/doxygen/ doxygen]&lt;br /&gt;
&lt;br /&gt;
An explanation on how the code is executed in game can be found in the [[Spring Engine Code]]&lt;br /&gt;
page.&lt;br /&gt;
&lt;br /&gt;
===Obtaining the Source===&lt;br /&gt;
&lt;br /&gt;
Update: the latest SVN is at: [https://taspring.clan-sy.com/svn/spring https://taspring.clan-sy.com/svn/spring] See [http://taspring.clan-sy.com/phpbb/viewtopic.php?t=6299 http://taspring.clan-sy.com/phpbb/viewtopic.php?t=6299]&lt;br /&gt;
&lt;br /&gt;
Another option is to manually download it along with the latest released version of the game. However, for serious developers, a better way would be to download the source straight from the subversion (SVN) repository. This will also allow you to make a patch out of the changes you make to the code, and send it to one of the developers with SVN access.&lt;br /&gt;
&lt;br /&gt;
windows SVN clients : [http://subversion.tigris.org Subversion] (Win32-Console), &lt;br /&gt;
[http://www.syntevo.com/smartsvn/index.jsp SmartSVN] (Java) and [http://tortoisesvn.tigris.org TortoiseSVN] (MSI).&lt;br /&gt;
&lt;br /&gt;
assuming that you are using the Subversion svn client you can download the latest SVN source with&lt;br /&gt;
&lt;br /&gt;
svn.exe checkout https://taspring.clan-sy.com/svn/spring&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
svn.exe checkout svn://svn.berlios.de/taspring-linux/trunk&lt;br /&gt;
&lt;br /&gt;
depending on which repository is newer. it will create a trunk subdirectory in the directory from where you ran it, which will contain the source code root directory which will be later referred to as /taspring&lt;br /&gt;
&lt;br /&gt;
===Learning C++===&lt;br /&gt;
You will need to know C++ to modify or understand Spring&#039;s source code. If you are interested in learning C++, see [[Learning_CPP]]&lt;br /&gt;
&lt;br /&gt;
However please note that badly designed code (code created by a C++ novice for example), will even if working not be included in the spring code. Spring is a large project, and therefore it is necessary to stay away from hack jobs and create general solutions to problems.&lt;br /&gt;
&lt;br /&gt;
===Modifying and Compiling the Source===&lt;br /&gt;
&lt;br /&gt;
The build environment on Windows will change for the next release:&lt;br /&gt;
*0.73b1 release was built using msvc 2003&lt;br /&gt;
*The next release (and hence the SVN version) is build using SCONS/mingw&lt;br /&gt;
&lt;br /&gt;
If you will be developing on Windows you are recommended to use SCONS/mingw, using the SVN version.&lt;br /&gt;
&lt;br /&gt;
See [[Development_IDEs]]. You have either to use the SCons build system that is multi platform, or use the vcproj for building spring in Visual Studio 2003 or Visual Studio 2005.&lt;br /&gt;
A list of required libraries as well as pre-built packages of these follows.&lt;br /&gt;
&lt;br /&gt;
*[http://www.boost.org Boost C++ library]&lt;br /&gt;
*[http://www.openal.org OpenAL Audio library]&lt;br /&gt;
*[http://glew.sf.net GLEW (OpenGL extension loading)]&lt;br /&gt;
*[http://www.winimage.com/zLibDll/ zlib + minizip]&lt;br /&gt;
*[http://www.libsdl.org SDL]&lt;br /&gt;
*[http://openil.sf.net DevIL (Image loading)]&lt;br /&gt;
*[http://www.freetype.org Freetype font rendering]&lt;br /&gt;
&lt;br /&gt;
*[http://msdn.microsoft.com/directx/sdk/ DirectX SDK] (Windows, Visual Studio C++ only)&lt;br /&gt;
*PlatformSDK (Windows, Visual Studio C++ Only)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?p=49257#49257 Pre-Built package of most of dependencies].&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?p=56846#56846 Pre-Built boost for VS8].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[http://prdownloads.sourceforge.net/dev-cpp/devcpp-4.9.9.2_setup.exe Dev-Cpp installer] / [MinGW] Though I would not advise mingw because you have to set it up your self, and this is harder than it sounds.  Note that Code:Blocks mingw setup is not sufficient.&lt;br /&gt;
&lt;br /&gt;
*[http://www.python.org/ftp/python/2.4.2/python-2.4.2.msi Python 2.4 installer]&lt;br /&gt;
&lt;br /&gt;
*[http://prdownloads.sourceforge.net/pywin32/pywin32-208.win32-py2.4.exe?download Python win32 extensions installer] &lt;br /&gt;
&lt;br /&gt;
*[http://prdownloads.sourceforge.net/scons/scons-0.96.1.win32.exe Scons installer]&lt;br /&gt;
&lt;br /&gt;
Grab and install the above programs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Setup&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Make sure C:\Python2.4 and C:\Dev-Cpp\bin are in your PATH environment variable&lt;br /&gt;
*Make sure a MINGDIR environment variable with value C:\Dev-Cpp exists. (Change paths where appropriate.)&lt;br /&gt;
*Set environment variables by: Start -&amp;gt; Settings -&amp;gt; Control Panel -&amp;gt; System -&amp;gt; Advanced -&amp;gt; Environment variables (for Windows XP).  Checkout the TA Spring SVN repository.&lt;br /&gt;
*You will also need the [http://spring.clan-sy.com/dl/spring-mingwlibs.exe Mingw / DevCPP libs] extract to /taspring.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Running scons configure&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Open a console (Start -&amp;gt; Run -&amp;gt; cmd.exe -&amp;gt; Run)&lt;br /&gt;
*cd /where you checked it out in the previous step, if you use checked it out on a different drive make sure to change drives with DriveLetter:&amp;lt;enter&amp;gt; first&lt;br /&gt;
*type &amp;quot;scons configure&amp;quot;&amp;lt;enter&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Gotchas:&lt;br /&gt;
*if you get an error message starting with &amp;quot;EOFError: : env = Environement...&amp;quot;, try deleting the file build/scons_signatures.dblite&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compiling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Open a console (Start -&amp;gt; Run -&amp;gt; cmd.exe -&amp;gt; Run), cd /where you checked it out in the previous step, if you use checked it out on a different drive make sure to change drives with DriveLetter:&amp;lt;enter&amp;gt; first then type scons configure&amp;lt;enter&amp;gt;, followed by scons&amp;lt;enter&amp;gt;. Refer to scons --help for options that can be passed to scons configure. Wait, this will take a while. Copy over data files and stuff from official spring to the game dir (where spring.exe is created). Copy missing DLLs from mingwlibs/dll, Start developing.&lt;br /&gt;
&lt;br /&gt;
If you are using Linux, refer to the [[SetupGuide]] to build Spring and get it running.&lt;br /&gt;
&lt;br /&gt;
==Development Suggestions==&lt;br /&gt;
&lt;br /&gt;
Before starting to make modifications to the source, take a look at the [[development guidelines]] which outlines some important things to think about. To find something interesting to work on, look at the list of [[example projects]]. You can also check the list of [[whois doing what]] to see what others are doing. If you do edit the code, please add [[Doxygen style comments]] to the code, which will then enhance the source code documentation.&lt;br /&gt;
&lt;br /&gt;
===How to get your code included===&lt;br /&gt;
If you create something that you think should be included in the official source tree, you can send an email to the development mailing list shown at [[Linux]] page. Sending your code in the form of a patch (also known as a .diff file), will make the chances of including it in the main code.&lt;br /&gt;
It&#039;s also considered standard practice to post one&#039;s modifications in the [http://taspring.clan-sy.com/phpbb/viewforum.php?f=12 development forum] and get feedback.&lt;br /&gt;
&lt;br /&gt;
==Multiplatform development==&lt;br /&gt;
Current development is done on the portable code only, located at [http://developer.berlios.de/projects/taspring-linux Berlios]&lt;br /&gt;
All current and future releases will be based on this code.&lt;br /&gt;
The current spring code is being developed on Windows and linux. A mac port is being worked on, as well as other unixes. &lt;br /&gt;
Use the mailing list listed on the [[Linux]] page to reach all developers (windows and linux). However if you have a feature request or bug report, the mantis bugtracker is probably a better way.&lt;br /&gt;
Development information about the portable code can be found here: [[MultiplatformSpring]]&lt;br /&gt;
&lt;br /&gt;
==Spring Engine TODO list==&lt;br /&gt;
There is a TODO list for developers who want to contribute to the engine itself:&lt;br /&gt;
[[SpringEngineTODO]]&lt;br /&gt;
&lt;br /&gt;
See [[Glossary]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]] [[Category:Source development]]&lt;/div&gt;</summary>
		<author><name>Monohouse</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Development:Main&amp;diff=5592</id>
		<title>Development:Main</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Development:Main&amp;diff=5592"/>
		<updated>2007-01-08T18:07:28Z</updated>

		<summary type="html">&lt;p&gt;Monohouse: /* Obtaining the Source */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Outlined below is information on assisting with the development of the Spring source itself.&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;small&amp;gt;NOTE: For information about developing a mod (units, maps, etc.) see the [[Mod Development]] page.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below you can find information on how to work with the Spring source in the current mainline (Windows platform) if you like to work on another platform (Linux &amp;amp; Mac) please look at the bottem of this page under &amp;quot;Multiplatform development&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Starting Development==&lt;br /&gt;
To start development, you will need&lt;br /&gt;
#The latest version of the source &lt;br /&gt;
#A good code manipulation program&lt;br /&gt;
#Compiling your modified source&lt;br /&gt;
&lt;br /&gt;
===Source Code Documentation===&lt;br /&gt;
A good place to start is the source code documentation, which can be found here: [http://taspring.clan-sy.com/doxygen/ doxygen]&lt;br /&gt;
&lt;br /&gt;
An explanation on how the code is executed in game can be found in the [[Spring Engine Code]]&lt;br /&gt;
page.&lt;br /&gt;
&lt;br /&gt;
===Obtaining the Source===&lt;br /&gt;
&lt;br /&gt;
Update: the latest SVN is at: [https://taspring.clan-sy.com/svn/spring https://taspring.clan-sy.com/svn/spring] See [http://taspring.clan-sy.com/phpbb/viewtopic.php?t=6299 http://taspring.clan-sy.com/phpbb/viewtopic.php?t=6299]&lt;br /&gt;
&lt;br /&gt;
Another option is to manually download it along with the latest released version of the game. However, for serious developers, a better way would be to download the source straight from the subversion (SVN) repository. This will also allow you to make a patch out of the changes you make to the code, and send it to one of the developers with SVN access.&lt;br /&gt;
&lt;br /&gt;
windows SVN clients : [http://subversion.tigris.org Subversion] (Win32-Console), &lt;br /&gt;
[http://www.syntevo.com/smartsvn/index.jsp SmartSVN] (Java) and [http://tortoisesvn.tigris.org TortoiseSVN] (MSI).&lt;br /&gt;
&lt;br /&gt;
assuming that you are using the Subversion svn client you can download the latest SVN source with&lt;br /&gt;
&lt;br /&gt;
svn.exe checkout https://taspring.clan-sy.com/svn/spring&lt;br /&gt;
or&lt;br /&gt;
svn.exe checkout svn://svn.berlios.de/taspring-linux/trunk&lt;br /&gt;
&lt;br /&gt;
depending on which repository is newer. it will create a trunk subdirectory in the directory from where you ran it, which will contain the source code root directory which will be later referred to as /taspring&lt;br /&gt;
&lt;br /&gt;
===Learning C++===&lt;br /&gt;
You will need to know C++ to modify or understand Spring&#039;s source code. If you are interested in learning C++, see [[Learning_CPP]]&lt;br /&gt;
&lt;br /&gt;
However please note that badly designed code (code created by a C++ novice for example), will even if working not be included in the spring code. Spring is a large project, and therefore it is necessary to stay away from hack jobs and create general solutions to problems.&lt;br /&gt;
&lt;br /&gt;
===Modifying and Compiling the Source===&lt;br /&gt;
&lt;br /&gt;
The build environment on Windows will change for the next release:&lt;br /&gt;
*0.73b1 release was built using msvc 2003&lt;br /&gt;
*The next release (and hence the SVN version) is build using SCONS/mingw&lt;br /&gt;
&lt;br /&gt;
If you will be developing on Windows you are recommended to use SCONS/mingw, using the SVN version.&lt;br /&gt;
&lt;br /&gt;
See [[Development_IDEs]]. You have either to use the SCons build system that is multi platform, or use the vcproj for building spring in Visual Studio 2003 or Visual Studio 2005.&lt;br /&gt;
A list of required libraries as well as pre-built packages of these follows.&lt;br /&gt;
&lt;br /&gt;
*[http://www.boost.org Boost C++ library]&lt;br /&gt;
*[http://www.openal.org OpenAL Audio library]&lt;br /&gt;
*[http://glew.sf.net GLEW (OpenGL extension loading)]&lt;br /&gt;
*[http://www.winimage.com/zLibDll/ zlib + minizip]&lt;br /&gt;
*[http://www.libsdl.org SDL]&lt;br /&gt;
*[http://openil.sf.net DevIL (Image loading)]&lt;br /&gt;
*[http://www.freetype.org Freetype font rendering]&lt;br /&gt;
&lt;br /&gt;
*[http://msdn.microsoft.com/directx/sdk/ DirectX SDK] (Windows, Visual Studio C++ only)&lt;br /&gt;
*PlatformSDK (Windows, Visual Studio C++ Only)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?p=49257#49257 Pre-Built package of most of dependencies].&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?p=56846#56846 Pre-Built boost for VS8].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[http://prdownloads.sourceforge.net/dev-cpp/devcpp-4.9.9.2_setup.exe Dev-Cpp installer] / [MinGW] Though I would not advise mingw because you have to set it up your self, and this is harder than it sounds.  Note that Code:Blocks mingw setup is not sufficient.&lt;br /&gt;
&lt;br /&gt;
*[http://www.python.org/ftp/python/2.4.2/python-2.4.2.msi Python 2.4 installer]&lt;br /&gt;
&lt;br /&gt;
*[http://prdownloads.sourceforge.net/pywin32/pywin32-208.win32-py2.4.exe?download Python win32 extensions installer] &lt;br /&gt;
&lt;br /&gt;
*[http://prdownloads.sourceforge.net/scons/scons-0.96.1.win32.exe Scons installer]&lt;br /&gt;
&lt;br /&gt;
Grab and install the above programs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Setup&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Make sure C:\Python2.4 and C:\Dev-Cpp\bin are in your PATH environment variable&lt;br /&gt;
*Make sure a MINGDIR environment variable with value C:\Dev-Cpp exists. (Change paths where appropriate.)&lt;br /&gt;
*Set environment variables by: Start -&amp;gt; Settings -&amp;gt; Control Panel -&amp;gt; System -&amp;gt; Advanced -&amp;gt; Environment variables (for Windows XP).  Checkout the TA Spring SVN repository.&lt;br /&gt;
*You will also need the [http://spring.clan-sy.com/dl/spring-mingwlibs.exe Mingw / DevCPP libs] extract to /taspring.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Running scons configure&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Open a console (Start -&amp;gt; Run -&amp;gt; cmd.exe -&amp;gt; Run)&lt;br /&gt;
*cd /where you checked it out in the previous step, if you use checked it out on a different drive make sure to change drives with DriveLetter:&amp;lt;enter&amp;gt; first&lt;br /&gt;
*type &amp;quot;scons configure&amp;quot;&amp;lt;enter&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Gotchas:&lt;br /&gt;
*if you get an error message starting with &amp;quot;EOFError: : env = Environement...&amp;quot;, try deleting the file build/scons_signatures.dblite&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compiling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Open a console (Start -&amp;gt; Run -&amp;gt; cmd.exe -&amp;gt; Run), cd /where you checked it out in the previous step, if you use checked it out on a different drive make sure to change drives with DriveLetter:&amp;lt;enter&amp;gt; first then type scons configure&amp;lt;enter&amp;gt;, followed by scons&amp;lt;enter&amp;gt;. Refer to scons --help for options that can be passed to scons configure. Wait, this will take a while. Copy over data files and stuff from official spring to the game dir (where spring.exe is created). Copy missing DLLs from mingwlibs/dll, Start developing.&lt;br /&gt;
&lt;br /&gt;
If you are using Linux, refer to the [[SetupGuide]] to build Spring and get it running.&lt;br /&gt;
&lt;br /&gt;
==Development Suggestions==&lt;br /&gt;
&lt;br /&gt;
Before starting to make modifications to the source, take a look at the [[development guidelines]] which outlines some important things to think about. To find something interesting to work on, look at the list of [[example projects]]. You can also check the list of [[whois doing what]] to see what others are doing. If you do edit the code, please add [[Doxygen style comments]] to the code, which will then enhance the source code documentation.&lt;br /&gt;
&lt;br /&gt;
===How to get your code included===&lt;br /&gt;
If you create something that you think should be included in the official source tree, you can send an email to the development mailing list shown at [[Linux]] page. Sending your code in the form of a patch (also known as a .diff file), will make the chances of including it in the main code.&lt;br /&gt;
It&#039;s also considered standard practice to post one&#039;s modifications in the [http://taspring.clan-sy.com/phpbb/viewforum.php?f=12 development forum] and get feedback.&lt;br /&gt;
&lt;br /&gt;
==Multiplatform development==&lt;br /&gt;
Current development is done on the portable code only, located at [http://developer.berlios.de/projects/taspring-linux Berlios]&lt;br /&gt;
All current and future releases will be based on this code.&lt;br /&gt;
The current spring code is being developed on Windows and linux. A mac port is being worked on, as well as other unixes. &lt;br /&gt;
Use the mailing list listed on the [[Linux]] page to reach all developers (windows and linux). However if you have a feature request or bug report, the mantis bugtracker is probably a better way.&lt;br /&gt;
Development information about the portable code can be found here: [[MultiplatformSpring]]&lt;br /&gt;
&lt;br /&gt;
==Spring Engine TODO list==&lt;br /&gt;
There is a TODO list for developers who want to contribute to the engine itself:&lt;br /&gt;
[[SpringEngineTODO]]&lt;br /&gt;
&lt;br /&gt;
See [[Glossary]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]] [[Category:Source development]]&lt;/div&gt;</summary>
		<author><name>Monohouse</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Development:Main&amp;diff=5591</id>
		<title>Development:Main</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Development:Main&amp;diff=5591"/>
		<updated>2007-01-08T18:00:50Z</updated>

		<summary type="html">&lt;p&gt;Monohouse: /* Obtaining the Source */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Outlined below is information on assisting with the development of the Spring source itself.&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;small&amp;gt;NOTE: For information about developing a mod (units, maps, etc.) see the [[Mod Development]] page.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below you can find information on how to work with the Spring source in the current mainline (Windows platform) if you like to work on another platform (Linux &amp;amp; Mac) please look at the bottem of this page under &amp;quot;Multiplatform development&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Starting Development==&lt;br /&gt;
To start development, you will need&lt;br /&gt;
#The latest version of the source &lt;br /&gt;
#A good code manipulation program&lt;br /&gt;
#Compiling your modified source&lt;br /&gt;
&lt;br /&gt;
===Source Code Documentation===&lt;br /&gt;
A good place to start is the source code documentation, which can be found here: [http://taspring.clan-sy.com/doxygen/ doxygen]&lt;br /&gt;
&lt;br /&gt;
An explanation on how the code is executed in game can be found in the [[Spring Engine Code]]&lt;br /&gt;
page.&lt;br /&gt;
&lt;br /&gt;
===Obtaining the Source===&lt;br /&gt;
&lt;br /&gt;
Update: the latest SVN is at: [https://taspring.clan-sy.com/svn/spring https://taspring.clan-sy.com/svn/spring] See [http://taspring.clan-sy.com/phpbb/viewtopic.php?t=6299 http://taspring.clan-sy.com/phpbb/viewtopic.php?t=6299]&lt;br /&gt;
&lt;br /&gt;
Another option is to manually download it along with the latest released version of the game. However, for serious developers, a better way would be to download the source straight from the subversion (SVN) repository. This will also allow you to make a patch out of the changes you make to the code, and send it to one of the developers with SVN access.&lt;br /&gt;
&lt;br /&gt;
windows SVN clients : [http://subversion.tigris.org Subversion] (Win32-Console), &lt;br /&gt;
[http://www.syntevo.com/smartsvn/index.jsp SmartSVN] (Java) and [http://tortoisesvn.tigris.org TortoiseSVN] (MSI).&lt;br /&gt;
&lt;br /&gt;
assuming that you are using the Subversion svn client you can download the latest SVN source with&lt;br /&gt;
&lt;br /&gt;
svn.exe checkout svn://svn.berlios.de/taspring-linux/trunk&lt;br /&gt;
&lt;br /&gt;
which should create a trunk subdirectory in the directory from where you ran it, which will contain the source code root directory which will be later referred to as /taspring&lt;br /&gt;
&lt;br /&gt;
===Learning C++===&lt;br /&gt;
You will need to know C++ to modify or understand Spring&#039;s source code. If you are interested in learning C++, see [[Learning_CPP]]&lt;br /&gt;
&lt;br /&gt;
However please note that badly designed code (code created by a C++ novice for example), will even if working not be included in the spring code. Spring is a large project, and therefore it is necessary to stay away from hack jobs and create general solutions to problems.&lt;br /&gt;
&lt;br /&gt;
===Modifying and Compiling the Source===&lt;br /&gt;
&lt;br /&gt;
The build environment on Windows will change for the next release:&lt;br /&gt;
*0.73b1 release was built using msvc 2003&lt;br /&gt;
*The next release (and hence the SVN version) is build using SCONS/mingw&lt;br /&gt;
&lt;br /&gt;
If you will be developing on Windows you are recommended to use SCONS/mingw, using the SVN version.&lt;br /&gt;
&lt;br /&gt;
See [[Development_IDEs]]. You have either to use the SCons build system that is multi platform, or use the vcproj for building spring in Visual Studio 2003 or Visual Studio 2005.&lt;br /&gt;
A list of required libraries as well as pre-built packages of these follows.&lt;br /&gt;
&lt;br /&gt;
*[http://www.boost.org Boost C++ library]&lt;br /&gt;
*[http://www.openal.org OpenAL Audio library]&lt;br /&gt;
*[http://glew.sf.net GLEW (OpenGL extension loading)]&lt;br /&gt;
*[http://www.winimage.com/zLibDll/ zlib + minizip]&lt;br /&gt;
*[http://www.libsdl.org SDL]&lt;br /&gt;
*[http://openil.sf.net DevIL (Image loading)]&lt;br /&gt;
*[http://www.freetype.org Freetype font rendering]&lt;br /&gt;
&lt;br /&gt;
*[http://msdn.microsoft.com/directx/sdk/ DirectX SDK] (Windows, Visual Studio C++ only)&lt;br /&gt;
*PlatformSDK (Windows, Visual Studio C++ Only)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?p=49257#49257 Pre-Built package of most of dependencies].&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?p=56846#56846 Pre-Built boost for VS8].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[http://prdownloads.sourceforge.net/dev-cpp/devcpp-4.9.9.2_setup.exe Dev-Cpp installer] / [MinGW] Though I would not advise mingw because you have to set it up your self, and this is harder than it sounds.  Note that Code:Blocks mingw setup is not sufficient.&lt;br /&gt;
&lt;br /&gt;
*[http://www.python.org/ftp/python/2.4.2/python-2.4.2.msi Python 2.4 installer]&lt;br /&gt;
&lt;br /&gt;
*[http://prdownloads.sourceforge.net/pywin32/pywin32-208.win32-py2.4.exe?download Python win32 extensions installer] &lt;br /&gt;
&lt;br /&gt;
*[http://prdownloads.sourceforge.net/scons/scons-0.96.1.win32.exe Scons installer]&lt;br /&gt;
&lt;br /&gt;
Grab and install the above programs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Setup&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Make sure C:\Python2.4 and C:\Dev-Cpp\bin are in your PATH environment variable&lt;br /&gt;
*Make sure a MINGDIR environment variable with value C:\Dev-Cpp exists. (Change paths where appropriate.)&lt;br /&gt;
*Set environment variables by: Start -&amp;gt; Settings -&amp;gt; Control Panel -&amp;gt; System -&amp;gt; Advanced -&amp;gt; Environment variables (for Windows XP).  Checkout the TA Spring SVN repository.&lt;br /&gt;
*You will also need the [http://spring.clan-sy.com/dl/spring-mingwlibs.exe Mingw / DevCPP libs] extract to /taspring.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Running scons configure&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Open a console (Start -&amp;gt; Run -&amp;gt; cmd.exe -&amp;gt; Run)&lt;br /&gt;
*cd /where you checked it out in the previous step, if you use checked it out on a different drive make sure to change drives with DriveLetter:&amp;lt;enter&amp;gt; first&lt;br /&gt;
*type &amp;quot;scons configure&amp;quot;&amp;lt;enter&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Gotchas:&lt;br /&gt;
*if you get an error message starting with &amp;quot;EOFError: : env = Environement...&amp;quot;, try deleting the file build/scons_signatures.dblite&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compiling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Open a console (Start -&amp;gt; Run -&amp;gt; cmd.exe -&amp;gt; Run), cd /where you checked it out in the previous step, if you use checked it out on a different drive make sure to change drives with DriveLetter:&amp;lt;enter&amp;gt; first then type scons configure&amp;lt;enter&amp;gt;, followed by scons&amp;lt;enter&amp;gt;. Refer to scons --help for options that can be passed to scons configure. Wait, this will take a while. Copy over data files and stuff from official spring to the game dir (where spring.exe is created). Copy missing DLLs from mingwlibs/dll, Start developing.&lt;br /&gt;
&lt;br /&gt;
If you are using Linux, refer to the [[SetupGuide]] to build Spring and get it running.&lt;br /&gt;
&lt;br /&gt;
==Development Suggestions==&lt;br /&gt;
&lt;br /&gt;
Before starting to make modifications to the source, take a look at the [[development guidelines]] which outlines some important things to think about. To find something interesting to work on, look at the list of [[example projects]]. You can also check the list of [[whois doing what]] to see what others are doing. If you do edit the code, please add [[Doxygen style comments]] to the code, which will then enhance the source code documentation.&lt;br /&gt;
&lt;br /&gt;
===How to get your code included===&lt;br /&gt;
If you create something that you think should be included in the official source tree, you can send an email to the development mailing list shown at [[Linux]] page. Sending your code in the form of a patch (also known as a .diff file), will make the chances of including it in the main code.&lt;br /&gt;
It&#039;s also considered standard practice to post one&#039;s modifications in the [http://taspring.clan-sy.com/phpbb/viewforum.php?f=12 development forum] and get feedback.&lt;br /&gt;
&lt;br /&gt;
==Multiplatform development==&lt;br /&gt;
Current development is done on the portable code only, located at [http://developer.berlios.de/projects/taspring-linux Berlios]&lt;br /&gt;
All current and future releases will be based on this code.&lt;br /&gt;
The current spring code is being developed on Windows and linux. A mac port is being worked on, as well as other unixes. &lt;br /&gt;
Use the mailing list listed on the [[Linux]] page to reach all developers (windows and linux). However if you have a feature request or bug report, the mantis bugtracker is probably a better way.&lt;br /&gt;
Development information about the portable code can be found here: [[MultiplatformSpring]]&lt;br /&gt;
&lt;br /&gt;
==Spring Engine TODO list==&lt;br /&gt;
There is a TODO list for developers who want to contribute to the engine itself:&lt;br /&gt;
[[SpringEngineTODO]]&lt;br /&gt;
&lt;br /&gt;
See [[Glossary]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]] [[Category:Source development]]&lt;/div&gt;</summary>
		<author><name>Monohouse</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Development:Main&amp;diff=5590</id>
		<title>Development:Main</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Development:Main&amp;diff=5590"/>
		<updated>2007-01-08T18:00:06Z</updated>

		<summary type="html">&lt;p&gt;Monohouse: /* Obtaining the Source */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Outlined below is information on assisting with the development of the Spring source itself.&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;small&amp;gt;NOTE: For information about developing a mod (units, maps, etc.) see the [[Mod Development]] page.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below you can find information on how to work with the Spring source in the current mainline (Windows platform) if you like to work on another platform (Linux &amp;amp; Mac) please look at the bottem of this page under &amp;quot;Multiplatform development&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Starting Development==&lt;br /&gt;
To start development, you will need&lt;br /&gt;
#The latest version of the source &lt;br /&gt;
#A good code manipulation program&lt;br /&gt;
#Compiling your modified source&lt;br /&gt;
&lt;br /&gt;
===Source Code Documentation===&lt;br /&gt;
A good place to start is the source code documentation, which can be found here: [http://taspring.clan-sy.com/doxygen/ doxygen]&lt;br /&gt;
&lt;br /&gt;
An explanation on how the code is executed in game can be found in the [[Spring Engine Code]]&lt;br /&gt;
page.&lt;br /&gt;
&lt;br /&gt;
===Obtaining the Source===&lt;br /&gt;
&lt;br /&gt;
Update: the latest SVN is at: [https://taspring.clan-sy.com/svn/spring https://taspring.clan-sy.com/svn/spring] See [http://taspring.clan-sy.com/phpbb/viewtopic.php?t=6299 http://taspring.clan-sy.com/phpbb/viewtopic.php?t=6299]&lt;br /&gt;
&lt;br /&gt;
Another option is to manually download it along with the latest released version of the game. However, for serious developers, a better way would be to download the source straight from the subversion (SVN) repository. This will also allow you to make a patch out of the changes you make to the code, and send it to one of the developers with SVN access.&lt;br /&gt;
&lt;br /&gt;
windows SVN clients : [http://subversion.tigris.org Subversion] (Win32-Console), &lt;br /&gt;
[http://www.syntevo.com/smartsvn/index.jsp SmartSVN] (Java) and [http://tortoisesvn.tigris.org TortoiseSVN] (MSI).&lt;br /&gt;
&lt;br /&gt;
assuming that you are using the Subversion svn client you can download the latest SVN source with&lt;br /&gt;
&lt;br /&gt;
svn.exe checkout svn://svn.berlios.de/taspring-linux/trunk&lt;br /&gt;
&lt;br /&gt;
which should create a trunk subdirectory in the directory from where you ran it, which will contain the source code root directory which will be later referred to as \spring&lt;br /&gt;
&lt;br /&gt;
===Learning C++===&lt;br /&gt;
You will need to know C++ to modify or understand Spring&#039;s source code. If you are interested in learning C++, see [[Learning_CPP]]&lt;br /&gt;
&lt;br /&gt;
However please note that badly designed code (code created by a C++ novice for example), will even if working not be included in the spring code. Spring is a large project, and therefore it is necessary to stay away from hack jobs and create general solutions to problems.&lt;br /&gt;
&lt;br /&gt;
===Modifying and Compiling the Source===&lt;br /&gt;
&lt;br /&gt;
The build environment on Windows will change for the next release:&lt;br /&gt;
*0.73b1 release was built using msvc 2003&lt;br /&gt;
*The next release (and hence the SVN version) is build using SCONS/mingw&lt;br /&gt;
&lt;br /&gt;
If you will be developing on Windows you are recommended to use SCONS/mingw, using the SVN version.&lt;br /&gt;
&lt;br /&gt;
See [[Development_IDEs]]. You have either to use the SCons build system that is multi platform, or use the vcproj for building spring in Visual Studio 2003 or Visual Studio 2005.&lt;br /&gt;
A list of required libraries as well as pre-built packages of these follows.&lt;br /&gt;
&lt;br /&gt;
*[http://www.boost.org Boost C++ library]&lt;br /&gt;
*[http://www.openal.org OpenAL Audio library]&lt;br /&gt;
*[http://glew.sf.net GLEW (OpenGL extension loading)]&lt;br /&gt;
*[http://www.winimage.com/zLibDll/ zlib + minizip]&lt;br /&gt;
*[http://www.libsdl.org SDL]&lt;br /&gt;
*[http://openil.sf.net DevIL (Image loading)]&lt;br /&gt;
*[http://www.freetype.org Freetype font rendering]&lt;br /&gt;
&lt;br /&gt;
*[http://msdn.microsoft.com/directx/sdk/ DirectX SDK] (Windows, Visual Studio C++ only)&lt;br /&gt;
*PlatformSDK (Windows, Visual Studio C++ Only)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?p=49257#49257 Pre-Built package of most of dependencies].&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?p=56846#56846 Pre-Built boost for VS8].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[http://prdownloads.sourceforge.net/dev-cpp/devcpp-4.9.9.2_setup.exe Dev-Cpp installer] / [MinGW] Though I would not advise mingw because you have to set it up your self, and this is harder than it sounds.  Note that Code:Blocks mingw setup is not sufficient.&lt;br /&gt;
&lt;br /&gt;
*[http://www.python.org/ftp/python/2.4.2/python-2.4.2.msi Python 2.4 installer]&lt;br /&gt;
&lt;br /&gt;
*[http://prdownloads.sourceforge.net/pywin32/pywin32-208.win32-py2.4.exe?download Python win32 extensions installer] &lt;br /&gt;
&lt;br /&gt;
*[http://prdownloads.sourceforge.net/scons/scons-0.96.1.win32.exe Scons installer]&lt;br /&gt;
&lt;br /&gt;
Grab and install the above programs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Setup&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Make sure C:\Python2.4 and C:\Dev-Cpp\bin are in your PATH environment variable&lt;br /&gt;
*Make sure a MINGDIR environment variable with value C:\Dev-Cpp exists. (Change paths where appropriate.)&lt;br /&gt;
*Set environment variables by: Start -&amp;gt; Settings -&amp;gt; Control Panel -&amp;gt; System -&amp;gt; Advanced -&amp;gt; Environment variables (for Windows XP).  Checkout the TA Spring SVN repository.&lt;br /&gt;
*You will also need the [http://spring.clan-sy.com/dl/spring-mingwlibs.exe Mingw / DevCPP libs] extract to /taspring.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Running scons configure&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Open a console (Start -&amp;gt; Run -&amp;gt; cmd.exe -&amp;gt; Run)&lt;br /&gt;
*cd /where you checked it out in the previous step, if you use checked it out on a different drive make sure to change drives with DriveLetter:&amp;lt;enter&amp;gt; first&lt;br /&gt;
*type &amp;quot;scons configure&amp;quot;&amp;lt;enter&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Gotchas:&lt;br /&gt;
*if you get an error message starting with &amp;quot;EOFError: : env = Environement...&amp;quot;, try deleting the file build/scons_signatures.dblite&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compiling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Open a console (Start -&amp;gt; Run -&amp;gt; cmd.exe -&amp;gt; Run), cd /where you checked it out in the previous step, if you use checked it out on a different drive make sure to change drives with DriveLetter:&amp;lt;enter&amp;gt; first then type scons configure&amp;lt;enter&amp;gt;, followed by scons&amp;lt;enter&amp;gt;. Refer to scons --help for options that can be passed to scons configure. Wait, this will take a while. Copy over data files and stuff from official spring to the game dir (where spring.exe is created). Copy missing DLLs from mingwlibs/dll, Start developing.&lt;br /&gt;
&lt;br /&gt;
If you are using Linux, refer to the [[SetupGuide]] to build Spring and get it running.&lt;br /&gt;
&lt;br /&gt;
==Development Suggestions==&lt;br /&gt;
&lt;br /&gt;
Before starting to make modifications to the source, take a look at the [[development guidelines]] which outlines some important things to think about. To find something interesting to work on, look at the list of [[example projects]]. You can also check the list of [[whois doing what]] to see what others are doing. If you do edit the code, please add [[Doxygen style comments]] to the code, which will then enhance the source code documentation.&lt;br /&gt;
&lt;br /&gt;
===How to get your code included===&lt;br /&gt;
If you create something that you think should be included in the official source tree, you can send an email to the development mailing list shown at [[Linux]] page. Sending your code in the form of a patch (also known as a .diff file), will make the chances of including it in the main code.&lt;br /&gt;
It&#039;s also considered standard practice to post one&#039;s modifications in the [http://taspring.clan-sy.com/phpbb/viewforum.php?f=12 development forum] and get feedback.&lt;br /&gt;
&lt;br /&gt;
==Multiplatform development==&lt;br /&gt;
Current development is done on the portable code only, located at [http://developer.berlios.de/projects/taspring-linux Berlios]&lt;br /&gt;
All current and future releases will be based on this code.&lt;br /&gt;
The current spring code is being developed on Windows and linux. A mac port is being worked on, as well as other unixes. &lt;br /&gt;
Use the mailing list listed on the [[Linux]] page to reach all developers (windows and linux). However if you have a feature request or bug report, the mantis bugtracker is probably a better way.&lt;br /&gt;
Development information about the portable code can be found here: [[MultiplatformSpring]]&lt;br /&gt;
&lt;br /&gt;
==Spring Engine TODO list==&lt;br /&gt;
There is a TODO list for developers who want to contribute to the engine itself:&lt;br /&gt;
[[SpringEngineTODO]]&lt;br /&gt;
&lt;br /&gt;
See [[Glossary]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]] [[Category:Source development]]&lt;/div&gt;</summary>
		<author><name>Monohouse</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Development:Main&amp;diff=5589</id>
		<title>Development:Main</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Development:Main&amp;diff=5589"/>
		<updated>2007-01-08T17:58:39Z</updated>

		<summary type="html">&lt;p&gt;Monohouse: /* Obtaining the Source */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Outlined below is information on assisting with the development of the Spring source itself.&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;small&amp;gt;NOTE: For information about developing a mod (units, maps, etc.) see the [[Mod Development]] page.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below you can find information on how to work with the Spring source in the current mainline (Windows platform) if you like to work on another platform (Linux &amp;amp; Mac) please look at the bottem of this page under &amp;quot;Multiplatform development&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Starting Development==&lt;br /&gt;
To start development, you will need&lt;br /&gt;
#The latest version of the source &lt;br /&gt;
#A good code manipulation program&lt;br /&gt;
#Compiling your modified source&lt;br /&gt;
&lt;br /&gt;
===Source Code Documentation===&lt;br /&gt;
A good place to start is the source code documentation, which can be found here: [http://taspring.clan-sy.com/doxygen/ doxygen]&lt;br /&gt;
&lt;br /&gt;
An explanation on how the code is executed in game can be found in the [[Spring Engine Code]]&lt;br /&gt;
page.&lt;br /&gt;
&lt;br /&gt;
===Obtaining the Source===&lt;br /&gt;
&lt;br /&gt;
Update: the latest SVN is at: [https://taspring.clan-sy.com/svn/spring https://taspring.clan-sy.com/svn/spring] See [http://taspring.clan-sy.com/phpbb/viewtopic.php?t=6299 http://taspring.clan-sy.com/phpbb/viewtopic.php?t=6299]&lt;br /&gt;
&lt;br /&gt;
Another option is to manually download it along with the latest released version of the game. However, for serious developers, a better way would be to download the source straight from the subversion (SVN) repository. This will also allow you to make a patch out of the changes you make to the code, and send it to one of the developers with SVN access.&lt;br /&gt;
&lt;br /&gt;
windows SVN clients : [http://subversion.tigris.org Subversion] (Win32-Console), &lt;br /&gt;
[http://www.syntevo.com/smartsvn/index.jsp SmartSVN] (Java) and [http://tortoisesvn.tigris.org TortoiseSVN] (MSI).&lt;br /&gt;
&lt;br /&gt;
assuming that you are using the Subversion svn client you can download the latest SVN source with&lt;br /&gt;
&lt;br /&gt;
svn.exe checkout svn://svn.berlios.de/taspring-linux/trunk&lt;br /&gt;
&lt;br /&gt;
===Learning C++===&lt;br /&gt;
You will need to know C++ to modify or understand Spring&#039;s source code. If you are interested in learning C++, see [[Learning_CPP]]&lt;br /&gt;
&lt;br /&gt;
However please note that badly designed code (code created by a C++ novice for example), will even if working not be included in the spring code. Spring is a large project, and therefore it is necessary to stay away from hack jobs and create general solutions to problems.&lt;br /&gt;
&lt;br /&gt;
===Modifying and Compiling the Source===&lt;br /&gt;
&lt;br /&gt;
The build environment on Windows will change for the next release:&lt;br /&gt;
*0.73b1 release was built using msvc 2003&lt;br /&gt;
*The next release (and hence the SVN version) is build using SCONS/mingw&lt;br /&gt;
&lt;br /&gt;
If you will be developing on Windows you are recommended to use SCONS/mingw, using the SVN version.&lt;br /&gt;
&lt;br /&gt;
See [[Development_IDEs]]. You have either to use the SCons build system that is multi platform, or use the vcproj for building spring in Visual Studio 2003 or Visual Studio 2005.&lt;br /&gt;
A list of required libraries as well as pre-built packages of these follows.&lt;br /&gt;
&lt;br /&gt;
*[http://www.boost.org Boost C++ library]&lt;br /&gt;
*[http://www.openal.org OpenAL Audio library]&lt;br /&gt;
*[http://glew.sf.net GLEW (OpenGL extension loading)]&lt;br /&gt;
*[http://www.winimage.com/zLibDll/ zlib + minizip]&lt;br /&gt;
*[http://www.libsdl.org SDL]&lt;br /&gt;
*[http://openil.sf.net DevIL (Image loading)]&lt;br /&gt;
*[http://www.freetype.org Freetype font rendering]&lt;br /&gt;
&lt;br /&gt;
*[http://msdn.microsoft.com/directx/sdk/ DirectX SDK] (Windows, Visual Studio C++ only)&lt;br /&gt;
*PlatformSDK (Windows, Visual Studio C++ Only)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?p=49257#49257 Pre-Built package of most of dependencies].&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?p=56846#56846 Pre-Built boost for VS8].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[http://prdownloads.sourceforge.net/dev-cpp/devcpp-4.9.9.2_setup.exe Dev-Cpp installer] / [MinGW] Though I would not advise mingw because you have to set it up your self, and this is harder than it sounds.  Note that Code:Blocks mingw setup is not sufficient.&lt;br /&gt;
&lt;br /&gt;
*[http://www.python.org/ftp/python/2.4.2/python-2.4.2.msi Python 2.4 installer]&lt;br /&gt;
&lt;br /&gt;
*[http://prdownloads.sourceforge.net/pywin32/pywin32-208.win32-py2.4.exe?download Python win32 extensions installer] &lt;br /&gt;
&lt;br /&gt;
*[http://prdownloads.sourceforge.net/scons/scons-0.96.1.win32.exe Scons installer]&lt;br /&gt;
&lt;br /&gt;
Grab and install the above programs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Setup&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Make sure C:\Python2.4 and C:\Dev-Cpp\bin are in your PATH environment variable&lt;br /&gt;
*Make sure a MINGDIR environment variable with value C:\Dev-Cpp exists. (Change paths where appropriate.)&lt;br /&gt;
*Set environment variables by: Start -&amp;gt; Settings -&amp;gt; Control Panel -&amp;gt; System -&amp;gt; Advanced -&amp;gt; Environment variables (for Windows XP).  Checkout the TA Spring SVN repository.&lt;br /&gt;
*You will also need the [http://spring.clan-sy.com/dl/spring-mingwlibs.exe Mingw / DevCPP libs] extract to /taspring.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Running scons configure&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Open a console (Start -&amp;gt; Run -&amp;gt; cmd.exe -&amp;gt; Run)&lt;br /&gt;
*cd /where you checked it out in the previous step, if you use checked it out on a different drive make sure to change drives with DriveLetter:&amp;lt;enter&amp;gt; first&lt;br /&gt;
*type &amp;quot;scons configure&amp;quot;&amp;lt;enter&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Gotchas:&lt;br /&gt;
*if you get an error message starting with &amp;quot;EOFError: : env = Environement...&amp;quot;, try deleting the file build/scons_signatures.dblite&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compiling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Open a console (Start -&amp;gt; Run -&amp;gt; cmd.exe -&amp;gt; Run), cd /where you checked it out in the previous step, if you use checked it out on a different drive make sure to change drives with DriveLetter:&amp;lt;enter&amp;gt; first then type scons configure&amp;lt;enter&amp;gt;, followed by scons&amp;lt;enter&amp;gt;. Refer to scons --help for options that can be passed to scons configure. Wait, this will take a while. Copy over data files and stuff from official spring to the game dir (where spring.exe is created). Copy missing DLLs from mingwlibs/dll, Start developing.&lt;br /&gt;
&lt;br /&gt;
If you are using Linux, refer to the [[SetupGuide]] to build Spring and get it running.&lt;br /&gt;
&lt;br /&gt;
==Development Suggestions==&lt;br /&gt;
&lt;br /&gt;
Before starting to make modifications to the source, take a look at the [[development guidelines]] which outlines some important things to think about. To find something interesting to work on, look at the list of [[example projects]]. You can also check the list of [[whois doing what]] to see what others are doing. If you do edit the code, please add [[Doxygen style comments]] to the code, which will then enhance the source code documentation.&lt;br /&gt;
&lt;br /&gt;
===How to get your code included===&lt;br /&gt;
If you create something that you think should be included in the official source tree, you can send an email to the development mailing list shown at [[Linux]] page. Sending your code in the form of a patch (also known as a .diff file), will make the chances of including it in the main code.&lt;br /&gt;
It&#039;s also considered standard practice to post one&#039;s modifications in the [http://taspring.clan-sy.com/phpbb/viewforum.php?f=12 development forum] and get feedback.&lt;br /&gt;
&lt;br /&gt;
==Multiplatform development==&lt;br /&gt;
Current development is done on the portable code only, located at [http://developer.berlios.de/projects/taspring-linux Berlios]&lt;br /&gt;
All current and future releases will be based on this code.&lt;br /&gt;
The current spring code is being developed on Windows and linux. A mac port is being worked on, as well as other unixes. &lt;br /&gt;
Use the mailing list listed on the [[Linux]] page to reach all developers (windows and linux). However if you have a feature request or bug report, the mantis bugtracker is probably a better way.&lt;br /&gt;
Development information about the portable code can be found here: [[MultiplatformSpring]]&lt;br /&gt;
&lt;br /&gt;
==Spring Engine TODO list==&lt;br /&gt;
There is a TODO list for developers who want to contribute to the engine itself:&lt;br /&gt;
[[SpringEngineTODO]]&lt;br /&gt;
&lt;br /&gt;
See [[Glossary]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]] [[Category:Source development]]&lt;/div&gt;</summary>
		<author><name>Monohouse</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Development:Main&amp;diff=5588</id>
		<title>Development:Main</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Development:Main&amp;diff=5588"/>
		<updated>2007-01-08T17:58:17Z</updated>

		<summary type="html">&lt;p&gt;Monohouse: /* Obtaining the Source */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Outlined below is information on assisting with the development of the Spring source itself.&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;small&amp;gt;NOTE: For information about developing a mod (units, maps, etc.) see the [[Mod Development]] page.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below you can find information on how to work with the Spring source in the current mainline (Windows platform) if you like to work on another platform (Linux &amp;amp; Mac) please look at the bottem of this page under &amp;quot;Multiplatform development&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Starting Development==&lt;br /&gt;
To start development, you will need&lt;br /&gt;
#The latest version of the source &lt;br /&gt;
#A good code manipulation program&lt;br /&gt;
#Compiling your modified source&lt;br /&gt;
&lt;br /&gt;
===Source Code Documentation===&lt;br /&gt;
A good place to start is the source code documentation, which can be found here: [http://taspring.clan-sy.com/doxygen/ doxygen]&lt;br /&gt;
&lt;br /&gt;
An explanation on how the code is executed in game can be found in the [[Spring Engine Code]]&lt;br /&gt;
page.&lt;br /&gt;
&lt;br /&gt;
===Obtaining the Source===&lt;br /&gt;
&lt;br /&gt;
Update: the latest SVN is at: [https://taspring.clan-sy.com/svn/spring https://taspring.clan-sy.com/svn/spring] See [http://taspring.clan-sy.com/phpbb/viewtopic.php?t=6299 http://taspring.clan-sy.com/phpbb/viewtopic.php?t=6299]&lt;br /&gt;
&lt;br /&gt;
Another option is to manually download it along with the latest released version of the game. However, for serious developers, a better way would be to download the source straight from the subversion (SVN) repository. This will also allow you to make a patch out of the changes you make to the code, and send it to one of the developers with SVN access.&lt;br /&gt;
&lt;br /&gt;
windows SVN clients : [http://subversion.tigris.org Subversion] (Win32-Console), &lt;br /&gt;
[http://www.syntevo.com/smartsvn/index.jsp SmartSVN] (Java) and [http://tortoisesvn.tigris.org TortoiseSVN] (MSI).&lt;br /&gt;
&lt;br /&gt;
assuming that you are using the Subversion svn client can download the latest SVN source with&lt;br /&gt;
&lt;br /&gt;
svn.exe checkout svn://svn.berlios.de/taspring-linux/trunk&lt;br /&gt;
&lt;br /&gt;
===Learning C++===&lt;br /&gt;
You will need to know C++ to modify or understand Spring&#039;s source code. If you are interested in learning C++, see [[Learning_CPP]]&lt;br /&gt;
&lt;br /&gt;
However please note that badly designed code (code created by a C++ novice for example), will even if working not be included in the spring code. Spring is a large project, and therefore it is necessary to stay away from hack jobs and create general solutions to problems.&lt;br /&gt;
&lt;br /&gt;
===Modifying and Compiling the Source===&lt;br /&gt;
&lt;br /&gt;
The build environment on Windows will change for the next release:&lt;br /&gt;
*0.73b1 release was built using msvc 2003&lt;br /&gt;
*The next release (and hence the SVN version) is build using SCONS/mingw&lt;br /&gt;
&lt;br /&gt;
If you will be developing on Windows you are recommended to use SCONS/mingw, using the SVN version.&lt;br /&gt;
&lt;br /&gt;
See [[Development_IDEs]]. You have either to use the SCons build system that is multi platform, or use the vcproj for building spring in Visual Studio 2003 or Visual Studio 2005.&lt;br /&gt;
A list of required libraries as well as pre-built packages of these follows.&lt;br /&gt;
&lt;br /&gt;
*[http://www.boost.org Boost C++ library]&lt;br /&gt;
*[http://www.openal.org OpenAL Audio library]&lt;br /&gt;
*[http://glew.sf.net GLEW (OpenGL extension loading)]&lt;br /&gt;
*[http://www.winimage.com/zLibDll/ zlib + minizip]&lt;br /&gt;
*[http://www.libsdl.org SDL]&lt;br /&gt;
*[http://openil.sf.net DevIL (Image loading)]&lt;br /&gt;
*[http://www.freetype.org Freetype font rendering]&lt;br /&gt;
&lt;br /&gt;
*[http://msdn.microsoft.com/directx/sdk/ DirectX SDK] (Windows, Visual Studio C++ only)&lt;br /&gt;
*PlatformSDK (Windows, Visual Studio C++ Only)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?p=49257#49257 Pre-Built package of most of dependencies].&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?p=56846#56846 Pre-Built boost for VS8].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[http://prdownloads.sourceforge.net/dev-cpp/devcpp-4.9.9.2_setup.exe Dev-Cpp installer] / [MinGW] Though I would not advise mingw because you have to set it up your self, and this is harder than it sounds.  Note that Code:Blocks mingw setup is not sufficient.&lt;br /&gt;
&lt;br /&gt;
*[http://www.python.org/ftp/python/2.4.2/python-2.4.2.msi Python 2.4 installer]&lt;br /&gt;
&lt;br /&gt;
*[http://prdownloads.sourceforge.net/pywin32/pywin32-208.win32-py2.4.exe?download Python win32 extensions installer] &lt;br /&gt;
&lt;br /&gt;
*[http://prdownloads.sourceforge.net/scons/scons-0.96.1.win32.exe Scons installer]&lt;br /&gt;
&lt;br /&gt;
Grab and install the above programs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Setup&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Make sure C:\Python2.4 and C:\Dev-Cpp\bin are in your PATH environment variable&lt;br /&gt;
*Make sure a MINGDIR environment variable with value C:\Dev-Cpp exists. (Change paths where appropriate.)&lt;br /&gt;
*Set environment variables by: Start -&amp;gt; Settings -&amp;gt; Control Panel -&amp;gt; System -&amp;gt; Advanced -&amp;gt; Environment variables (for Windows XP).  Checkout the TA Spring SVN repository.&lt;br /&gt;
*You will also need the [http://spring.clan-sy.com/dl/spring-mingwlibs.exe Mingw / DevCPP libs] extract to /taspring.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Running scons configure&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Open a console (Start -&amp;gt; Run -&amp;gt; cmd.exe -&amp;gt; Run)&lt;br /&gt;
*cd /where you checked it out in the previous step, if you use checked it out on a different drive make sure to change drives with DriveLetter:&amp;lt;enter&amp;gt; first&lt;br /&gt;
*type &amp;quot;scons configure&amp;quot;&amp;lt;enter&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Gotchas:&lt;br /&gt;
*if you get an error message starting with &amp;quot;EOFError: : env = Environement...&amp;quot;, try deleting the file build/scons_signatures.dblite&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compiling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Open a console (Start -&amp;gt; Run -&amp;gt; cmd.exe -&amp;gt; Run), cd /where you checked it out in the previous step, if you use checked it out on a different drive make sure to change drives with DriveLetter:&amp;lt;enter&amp;gt; first then type scons configure&amp;lt;enter&amp;gt;, followed by scons&amp;lt;enter&amp;gt;. Refer to scons --help for options that can be passed to scons configure. Wait, this will take a while. Copy over data files and stuff from official spring to the game dir (where spring.exe is created). Copy missing DLLs from mingwlibs/dll, Start developing.&lt;br /&gt;
&lt;br /&gt;
If you are using Linux, refer to the [[SetupGuide]] to build Spring and get it running.&lt;br /&gt;
&lt;br /&gt;
==Development Suggestions==&lt;br /&gt;
&lt;br /&gt;
Before starting to make modifications to the source, take a look at the [[development guidelines]] which outlines some important things to think about. To find something interesting to work on, look at the list of [[example projects]]. You can also check the list of [[whois doing what]] to see what others are doing. If you do edit the code, please add [[Doxygen style comments]] to the code, which will then enhance the source code documentation.&lt;br /&gt;
&lt;br /&gt;
===How to get your code included===&lt;br /&gt;
If you create something that you think should be included in the official source tree, you can send an email to the development mailing list shown at [[Linux]] page. Sending your code in the form of a patch (also known as a .diff file), will make the chances of including it in the main code.&lt;br /&gt;
It&#039;s also considered standard practice to post one&#039;s modifications in the [http://taspring.clan-sy.com/phpbb/viewforum.php?f=12 development forum] and get feedback.&lt;br /&gt;
&lt;br /&gt;
==Multiplatform development==&lt;br /&gt;
Current development is done on the portable code only, located at [http://developer.berlios.de/projects/taspring-linux Berlios]&lt;br /&gt;
All current and future releases will be based on this code.&lt;br /&gt;
The current spring code is being developed on Windows and linux. A mac port is being worked on, as well as other unixes. &lt;br /&gt;
Use the mailing list listed on the [[Linux]] page to reach all developers (windows and linux). However if you have a feature request or bug report, the mantis bugtracker is probably a better way.&lt;br /&gt;
Development information about the portable code can be found here: [[MultiplatformSpring]]&lt;br /&gt;
&lt;br /&gt;
==Spring Engine TODO list==&lt;br /&gt;
There is a TODO list for developers who want to contribute to the engine itself:&lt;br /&gt;
[[SpringEngineTODO]]&lt;br /&gt;
&lt;br /&gt;
See [[Glossary]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]] [[Category:Source development]]&lt;/div&gt;</summary>
		<author><name>Monohouse</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Development:Main&amp;diff=5587</id>
		<title>Development:Main</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Development:Main&amp;diff=5587"/>
		<updated>2007-01-08T17:57:44Z</updated>

		<summary type="html">&lt;p&gt;Monohouse: /* Obtaining the Source */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Outlined below is information on assisting with the development of the Spring source itself.&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;small&amp;gt;NOTE: For information about developing a mod (units, maps, etc.) see the [[Mod Development]] page.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below you can find information on how to work with the Spring source in the current mainline (Windows platform) if you like to work on another platform (Linux &amp;amp; Mac) please look at the bottem of this page under &amp;quot;Multiplatform development&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Starting Development==&lt;br /&gt;
To start development, you will need&lt;br /&gt;
#The latest version of the source &lt;br /&gt;
#A good code manipulation program&lt;br /&gt;
#Compiling your modified source&lt;br /&gt;
&lt;br /&gt;
===Source Code Documentation===&lt;br /&gt;
A good place to start is the source code documentation, which can be found here: [http://taspring.clan-sy.com/doxygen/ doxygen]&lt;br /&gt;
&lt;br /&gt;
An explanation on how the code is executed in game can be found in the [[Spring Engine Code]]&lt;br /&gt;
page.&lt;br /&gt;
&lt;br /&gt;
===Obtaining the Source===&lt;br /&gt;
&lt;br /&gt;
Update: the latest SVN is at: [https://taspring.clan-sy.com/svn/spring https://taspring.clan-sy.com/svn/spring] See [http://taspring.clan-sy.com/phpbb/viewtopic.php?t=6299 http://taspring.clan-sy.com/phpbb/viewtopic.php?t=6299]&lt;br /&gt;
&lt;br /&gt;
Another option is to manually download it along with the latest released version of the game. However, for serious developers, a better way would be to download the source straight from the subversion (SVN) repository. This will also allow you to make a patch out of the changes you make to the code, and send it to one of the developers with SVN access.&lt;br /&gt;
&lt;br /&gt;
windows SVN clients : [http://subversion.tigris.org Subversion] (Console), &lt;br /&gt;
[http://www.syntevo.com/smartsvn/index.jsp SmartSVN] (Java) and [http://tortoisesvn.tigris.org TortoiseSVN] (MSI).&lt;br /&gt;
&lt;br /&gt;
assuming that you are using the Subversion svn client can download the latest SVN source with&lt;br /&gt;
&lt;br /&gt;
svn.exe checkout svn://svn.berlios.de/taspring-linux/trunk&lt;br /&gt;
&lt;br /&gt;
===Learning C++===&lt;br /&gt;
You will need to know C++ to modify or understand Spring&#039;s source code. If you are interested in learning C++, see [[Learning_CPP]]&lt;br /&gt;
&lt;br /&gt;
However please note that badly designed code (code created by a C++ novice for example), will even if working not be included in the spring code. Spring is a large project, and therefore it is necessary to stay away from hack jobs and create general solutions to problems.&lt;br /&gt;
&lt;br /&gt;
===Modifying and Compiling the Source===&lt;br /&gt;
&lt;br /&gt;
The build environment on Windows will change for the next release:&lt;br /&gt;
*0.73b1 release was built using msvc 2003&lt;br /&gt;
*The next release (and hence the SVN version) is build using SCONS/mingw&lt;br /&gt;
&lt;br /&gt;
If you will be developing on Windows you are recommended to use SCONS/mingw, using the SVN version.&lt;br /&gt;
&lt;br /&gt;
See [[Development_IDEs]]. You have either to use the SCons build system that is multi platform, or use the vcproj for building spring in Visual Studio 2003 or Visual Studio 2005.&lt;br /&gt;
A list of required libraries as well as pre-built packages of these follows.&lt;br /&gt;
&lt;br /&gt;
*[http://www.boost.org Boost C++ library]&lt;br /&gt;
*[http://www.openal.org OpenAL Audio library]&lt;br /&gt;
*[http://glew.sf.net GLEW (OpenGL extension loading)]&lt;br /&gt;
*[http://www.winimage.com/zLibDll/ zlib + minizip]&lt;br /&gt;
*[http://www.libsdl.org SDL]&lt;br /&gt;
*[http://openil.sf.net DevIL (Image loading)]&lt;br /&gt;
*[http://www.freetype.org Freetype font rendering]&lt;br /&gt;
&lt;br /&gt;
*[http://msdn.microsoft.com/directx/sdk/ DirectX SDK] (Windows, Visual Studio C++ only)&lt;br /&gt;
*PlatformSDK (Windows, Visual Studio C++ Only)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?p=49257#49257 Pre-Built package of most of dependencies].&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?p=56846#56846 Pre-Built boost for VS8].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[http://prdownloads.sourceforge.net/dev-cpp/devcpp-4.9.9.2_setup.exe Dev-Cpp installer] / [MinGW] Though I would not advise mingw because you have to set it up your self, and this is harder than it sounds.  Note that Code:Blocks mingw setup is not sufficient.&lt;br /&gt;
&lt;br /&gt;
*[http://www.python.org/ftp/python/2.4.2/python-2.4.2.msi Python 2.4 installer]&lt;br /&gt;
&lt;br /&gt;
*[http://prdownloads.sourceforge.net/pywin32/pywin32-208.win32-py2.4.exe?download Python win32 extensions installer] &lt;br /&gt;
&lt;br /&gt;
*[http://prdownloads.sourceforge.net/scons/scons-0.96.1.win32.exe Scons installer]&lt;br /&gt;
&lt;br /&gt;
Grab and install the above programs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Setup&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Make sure C:\Python2.4 and C:\Dev-Cpp\bin are in your PATH environment variable&lt;br /&gt;
*Make sure a MINGDIR environment variable with value C:\Dev-Cpp exists. (Change paths where appropriate.)&lt;br /&gt;
*Set environment variables by: Start -&amp;gt; Settings -&amp;gt; Control Panel -&amp;gt; System -&amp;gt; Advanced -&amp;gt; Environment variables (for Windows XP).  Checkout the TA Spring SVN repository.&lt;br /&gt;
*You will also need the [http://spring.clan-sy.com/dl/spring-mingwlibs.exe Mingw / DevCPP libs] extract to /taspring.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Running scons configure&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Open a console (Start -&amp;gt; Run -&amp;gt; cmd.exe -&amp;gt; Run)&lt;br /&gt;
*cd /where you checked it out in the previous step, if you use checked it out on a different drive make sure to change drives with DriveLetter:&amp;lt;enter&amp;gt; first&lt;br /&gt;
*type &amp;quot;scons configure&amp;quot;&amp;lt;enter&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Gotchas:&lt;br /&gt;
*if you get an error message starting with &amp;quot;EOFError: : env = Environement...&amp;quot;, try deleting the file build/scons_signatures.dblite&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compiling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Open a console (Start -&amp;gt; Run -&amp;gt; cmd.exe -&amp;gt; Run), cd /where you checked it out in the previous step, if you use checked it out on a different drive make sure to change drives with DriveLetter:&amp;lt;enter&amp;gt; first then type scons configure&amp;lt;enter&amp;gt;, followed by scons&amp;lt;enter&amp;gt;. Refer to scons --help for options that can be passed to scons configure. Wait, this will take a while. Copy over data files and stuff from official spring to the game dir (where spring.exe is created). Copy missing DLLs from mingwlibs/dll, Start developing.&lt;br /&gt;
&lt;br /&gt;
If you are using Linux, refer to the [[SetupGuide]] to build Spring and get it running.&lt;br /&gt;
&lt;br /&gt;
==Development Suggestions==&lt;br /&gt;
&lt;br /&gt;
Before starting to make modifications to the source, take a look at the [[development guidelines]] which outlines some important things to think about. To find something interesting to work on, look at the list of [[example projects]]. You can also check the list of [[whois doing what]] to see what others are doing. If you do edit the code, please add [[Doxygen style comments]] to the code, which will then enhance the source code documentation.&lt;br /&gt;
&lt;br /&gt;
===How to get your code included===&lt;br /&gt;
If you create something that you think should be included in the official source tree, you can send an email to the development mailing list shown at [[Linux]] page. Sending your code in the form of a patch (also known as a .diff file), will make the chances of including it in the main code.&lt;br /&gt;
It&#039;s also considered standard practice to post one&#039;s modifications in the [http://taspring.clan-sy.com/phpbb/viewforum.php?f=12 development forum] and get feedback.&lt;br /&gt;
&lt;br /&gt;
==Multiplatform development==&lt;br /&gt;
Current development is done on the portable code only, located at [http://developer.berlios.de/projects/taspring-linux Berlios]&lt;br /&gt;
All current and future releases will be based on this code.&lt;br /&gt;
The current spring code is being developed on Windows and linux. A mac port is being worked on, as well as other unixes. &lt;br /&gt;
Use the mailing list listed on the [[Linux]] page to reach all developers (windows and linux). However if you have a feature request or bug report, the mantis bugtracker is probably a better way.&lt;br /&gt;
Development information about the portable code can be found here: [[MultiplatformSpring]]&lt;br /&gt;
&lt;br /&gt;
==Spring Engine TODO list==&lt;br /&gt;
There is a TODO list for developers who want to contribute to the engine itself:&lt;br /&gt;
[[SpringEngineTODO]]&lt;br /&gt;
&lt;br /&gt;
See [[Glossary]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]] [[Category:Source development]]&lt;/div&gt;</summary>
		<author><name>Monohouse</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Development:Main&amp;diff=5586</id>
		<title>Development:Main</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Development:Main&amp;diff=5586"/>
		<updated>2007-01-08T17:51:26Z</updated>

		<summary type="html">&lt;p&gt;Monohouse: /* Obtaining the Source */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Outlined below is information on assisting with the development of the Spring source itself.&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;small&amp;gt;NOTE: For information about developing a mod (units, maps, etc.) see the [[Mod Development]] page.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below you can find information on how to work with the Spring source in the current mainline (Windows platform) if you like to work on another platform (Linux &amp;amp; Mac) please look at the bottem of this page under &amp;quot;Multiplatform development&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Starting Development==&lt;br /&gt;
To start development, you will need&lt;br /&gt;
#The latest version of the source &lt;br /&gt;
#A good code manipulation program&lt;br /&gt;
#Compiling your modified source&lt;br /&gt;
&lt;br /&gt;
===Source Code Documentation===&lt;br /&gt;
A good place to start is the source code documentation, which can be found here: [http://taspring.clan-sy.com/doxygen/ doxygen]&lt;br /&gt;
&lt;br /&gt;
An explanation on how the code is executed in game can be found in the [[Spring Engine Code]]&lt;br /&gt;
page.&lt;br /&gt;
&lt;br /&gt;
===Obtaining the Source===&lt;br /&gt;
&lt;br /&gt;
Update: the latest SVN is at: [https://taspring.clan-sy.com/svn/spring https://taspring.clan-sy.com/svn/spring] See [http://taspring.clan-sy.com/phpbb/viewtopic.php?t=6299 http://taspring.clan-sy.com/phpbb/viewtopic.php?t=6299]&lt;br /&gt;
&lt;br /&gt;
Another option is to manually download it along with the latest released version of the game. However, for serious developers, a better way would be to download the source straight from the subversion (SVN) repository. This will also allow you to make a patch out of the changes you make to the code, and send it to one of the developers with SVN access.&lt;br /&gt;
&lt;br /&gt;
windows SVN clients : [http://subversion.tigris.org Subversion] (Console), &lt;br /&gt;
[http://www.syntevo.com/smartsvn/index.jsp SmartSVN] (Java) and [http://tortoisesvn.tigris.org TortoiseSVN] (MSI).&lt;br /&gt;
&lt;br /&gt;
===Learning C++===&lt;br /&gt;
You will need to know C++ to modify or understand Spring&#039;s source code. If you are interested in learning C++, see [[Learning_CPP]]&lt;br /&gt;
&lt;br /&gt;
However please note that badly designed code (code created by a C++ novice for example), will even if working not be included in the spring code. Spring is a large project, and therefore it is necessary to stay away from hack jobs and create general solutions to problems.&lt;br /&gt;
&lt;br /&gt;
===Modifying and Compiling the Source===&lt;br /&gt;
&lt;br /&gt;
The build environment on Windows will change for the next release:&lt;br /&gt;
*0.73b1 release was built using msvc 2003&lt;br /&gt;
*The next release (and hence the SVN version) is build using SCONS/mingw&lt;br /&gt;
&lt;br /&gt;
If you will be developing on Windows you are recommended to use SCONS/mingw, using the SVN version.&lt;br /&gt;
&lt;br /&gt;
See [[Development_IDEs]]. You have either to use the SCons build system that is multi platform, or use the vcproj for building spring in Visual Studio 2003 or Visual Studio 2005.&lt;br /&gt;
A list of required libraries as well as pre-built packages of these follows.&lt;br /&gt;
&lt;br /&gt;
*[http://www.boost.org Boost C++ library]&lt;br /&gt;
*[http://www.openal.org OpenAL Audio library]&lt;br /&gt;
*[http://glew.sf.net GLEW (OpenGL extension loading)]&lt;br /&gt;
*[http://www.winimage.com/zLibDll/ zlib + minizip]&lt;br /&gt;
*[http://www.libsdl.org SDL]&lt;br /&gt;
*[http://openil.sf.net DevIL (Image loading)]&lt;br /&gt;
*[http://www.freetype.org Freetype font rendering]&lt;br /&gt;
&lt;br /&gt;
*[http://msdn.microsoft.com/directx/sdk/ DirectX SDK] (Windows, Visual Studio C++ only)&lt;br /&gt;
*PlatformSDK (Windows, Visual Studio C++ Only)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?p=49257#49257 Pre-Built package of most of dependencies].&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?p=56846#56846 Pre-Built boost for VS8].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[http://prdownloads.sourceforge.net/dev-cpp/devcpp-4.9.9.2_setup.exe Dev-Cpp installer] / [MinGW] Though I would not advise mingw because you have to set it up your self, and this is harder than it sounds.  Note that Code:Blocks mingw setup is not sufficient.&lt;br /&gt;
&lt;br /&gt;
*[http://www.python.org/ftp/python/2.4.2/python-2.4.2.msi Python 2.4 installer]&lt;br /&gt;
&lt;br /&gt;
*[http://prdownloads.sourceforge.net/pywin32/pywin32-208.win32-py2.4.exe?download Python win32 extensions installer] &lt;br /&gt;
&lt;br /&gt;
*[http://prdownloads.sourceforge.net/scons/scons-0.96.1.win32.exe Scons installer]&lt;br /&gt;
&lt;br /&gt;
Grab and install the above programs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Setup&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Make sure C:\Python2.4 and C:\Dev-Cpp\bin are in your PATH environment variable&lt;br /&gt;
*Make sure a MINGDIR environment variable with value C:\Dev-Cpp exists. (Change paths where appropriate.)&lt;br /&gt;
*Set environment variables by: Start -&amp;gt; Settings -&amp;gt; Control Panel -&amp;gt; System -&amp;gt; Advanced -&amp;gt; Environment variables (for Windows XP).  Checkout the TA Spring SVN repository.&lt;br /&gt;
*You will also need the [http://spring.clan-sy.com/dl/spring-mingwlibs.exe Mingw / DevCPP libs] extract to /taspring.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Running scons configure&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Open a console (Start -&amp;gt; Run -&amp;gt; cmd.exe -&amp;gt; Run)&lt;br /&gt;
*cd /where you checked it out in the previous step, if you use checked it out on a different drive make sure to change drives with DriveLetter:&amp;lt;enter&amp;gt; first&lt;br /&gt;
*type &amp;quot;scons configure&amp;quot;&amp;lt;enter&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Gotchas:&lt;br /&gt;
*if you get an error message starting with &amp;quot;EOFError: : env = Environement...&amp;quot;, try deleting the file build/scons_signatures.dblite&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compiling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Open a console (Start -&amp;gt; Run -&amp;gt; cmd.exe -&amp;gt; Run), cd /where you checked it out in the previous step, if you use checked it out on a different drive make sure to change drives with DriveLetter:&amp;lt;enter&amp;gt; first then type scons configure&amp;lt;enter&amp;gt;, followed by scons&amp;lt;enter&amp;gt;. Refer to scons --help for options that can be passed to scons configure. Wait, this will take a while. Copy over data files and stuff from official spring to the game dir (where spring.exe is created). Copy missing DLLs from mingwlibs/dll, Start developing.&lt;br /&gt;
&lt;br /&gt;
If you are using Linux, refer to the [[SetupGuide]] to build Spring and get it running.&lt;br /&gt;
&lt;br /&gt;
==Development Suggestions==&lt;br /&gt;
&lt;br /&gt;
Before starting to make modifications to the source, take a look at the [[development guidelines]] which outlines some important things to think about. To find something interesting to work on, look at the list of [[example projects]]. You can also check the list of [[whois doing what]] to see what others are doing. If you do edit the code, please add [[Doxygen style comments]] to the code, which will then enhance the source code documentation.&lt;br /&gt;
&lt;br /&gt;
===How to get your code included===&lt;br /&gt;
If you create something that you think should be included in the official source tree, you can send an email to the development mailing list shown at [[Linux]] page. Sending your code in the form of a patch (also known as a .diff file), will make the chances of including it in the main code.&lt;br /&gt;
It&#039;s also considered standard practice to post one&#039;s modifications in the [http://taspring.clan-sy.com/phpbb/viewforum.php?f=12 development forum] and get feedback.&lt;br /&gt;
&lt;br /&gt;
==Multiplatform development==&lt;br /&gt;
Current development is done on the portable code only, located at [http://developer.berlios.de/projects/taspring-linux Berlios]&lt;br /&gt;
All current and future releases will be based on this code.&lt;br /&gt;
The current spring code is being developed on Windows and linux. A mac port is being worked on, as well as other unixes. &lt;br /&gt;
Use the mailing list listed on the [[Linux]] page to reach all developers (windows and linux). However if you have a feature request or bug report, the mantis bugtracker is probably a better way.&lt;br /&gt;
Development information about the portable code can be found here: [[MultiplatformSpring]]&lt;br /&gt;
&lt;br /&gt;
==Spring Engine TODO list==&lt;br /&gt;
There is a TODO list for developers who want to contribute to the engine itself:&lt;br /&gt;
[[SpringEngineTODO]]&lt;br /&gt;
&lt;br /&gt;
See [[Glossary]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]] [[Category:Source development]]&lt;/div&gt;</summary>
		<author><name>Monohouse</name></author>
	</entry>
</feed>