<?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=Zyzy</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=Zyzy"/>
	<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/wiki/Special:Contributions/Zyzy"/>
	<updated>2026-11-08T22:09:09Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Map_development&amp;diff=13271</id>
		<title>Map development</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Map_development&amp;diff=13271"/>
		<updated>2008-08-18T19:53:59Z</updated>

		<summary type="html">&lt;p&gt;Zyzy: /* Tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Map making SM3=&lt;br /&gt;
&lt;br /&gt;
SM3 (Spring Mapformat 3) is getting allong nicely and maps using this format can be made. The following is documented so far.&lt;br /&gt;
&lt;br /&gt;
*[[SM3_Map_Format|jcnossen&#039;s brief description on how this mapformat works.]]&lt;br /&gt;
*[[SM3_FAQ|The first FAQ for the new mapformat.]]&lt;br /&gt;
&lt;br /&gt;
[[Image:sm3-minimap-thumb.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Map making, SMF=&lt;br /&gt;
Maps, are a complex mixture of heightmaps and textures.&lt;br /&gt;
Fortunately, there are several people who share their knowledge with us.&lt;br /&gt;
There few tutorials will make your life as mapper a lot better.&lt;br /&gt;
&lt;br /&gt;
=Skyboxes=&lt;br /&gt;
*[[Skyboxcreation|Notes about skyboxes]] notes on a prerendered sky box or cube map.&lt;br /&gt;
&lt;br /&gt;
== Full Guides For Map Making ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[Create_maps|aGorm&#039;s map creating Guide]]&lt;br /&gt;
*[[Map_Making_Guide|aGorms Ultimate Map Making Guide(unfinished)]]&lt;br /&gt;
*[[IceXuick_Map_Design_Help|IceXuicks Map creating Guide]]&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=3941 Forboding Angel&#039;s map creating Tutorial]&lt;br /&gt;
*[[Maps:Tutorial|Another tutorial from a designing point of view]]&lt;br /&gt;
*[[A_Complete_Map_Making_Tutorial|A Complete Map Making Tutorial (under construction)]]&lt;br /&gt;
*[[Runecrafter|Runecrafter&#039;s Map Tutorial]]&lt;br /&gt;
*[[Zorbawic%27s_Map_Design_Help_in_Polish_language_%28Jak_zrobi%C4%87_mape_do_Springa_-_po_Polsku%29| Zorbawic&#039;s Map Design Help in Polish language (Jak zrobiÃ„â€¡ mape do Springa - po Polsku)]]&lt;br /&gt;
*[http://modinfo.adune.nl/map_making_guide.php Simple map making guide]&lt;br /&gt;
&lt;br /&gt;
== Specific Guides ==&lt;br /&gt;
&lt;br /&gt;
*[[Quanto_OTAMAP_Guide|Quanto&#039;s Guide to OTA Porting and Small Maps]]&lt;br /&gt;
*[[Maps:SMD|Everything about .SMD]]&lt;br /&gt;
*[[Maps:Compiling|Everything about Compiling your map]]&lt;br /&gt;
*[[MapsBalance|Some things about map balance]]&lt;br /&gt;
*[[MapSizes|Map sizes in pixels]] and memory information about map sizes&lt;br /&gt;
*[[Height Map Tutorial|RogerN&#039;s height map tutorial]]&lt;br /&gt;
*[[Create_map_texture_with_povray|Basic howto: create map texture with Povray]]&lt;br /&gt;
&lt;br /&gt;
Features. Stones, rocks, trees, for your map can be found in [http://taspring.clan-sy.com/phpbb/viewtopic.php?t=4047 This thread]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2420 Maelstrom&#039;s SMD Generator]&lt;br /&gt;
*[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=1507 Mother&#039;s Mapconv]&lt;br /&gt;
*[http://user.supradigital.org/jcnossen/FeaturePlacer.zip Jnossen&#039;s SM3 feature placer]&lt;br /&gt;
*[[Maps:Map Designer]] Hugh&#039;s 3D map designer.  Splatting, heightmap editing, splat painting, SM3&lt;br /&gt;
*[http://modinfo.unknown-files.net/coord/mapcoords.php Online starting position creator(dead link)]&lt;br /&gt;
: You can always find out which x/y coordinates are good while starting spring and having a look at the mouse cursor coordinates.&lt;br /&gt;
&lt;br /&gt;
== Mappers Clan ==&lt;br /&gt;
[[Map Making Guild]]: That weird fish aGorm set up a clan for poor mappers that can&#039;t get into a clan on there gaming merit... (Mainly for himself therefor...)&lt;br /&gt;
&lt;br /&gt;
== Reference and FAQs ==&lt;br /&gt;
&lt;br /&gt;
* [[Maps:Noob Mistakes]]&lt;br /&gt;
* [[Water Height: Mapconv vs. Heightmap]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
TIPS:&lt;br /&gt;
&lt;br /&gt;
A useful tip, on almost every map in a 1v1 you will start opposite your opponent unless you choose your position. this is because random order simply randomly distributes players at the default start points which in almost every map are opposite each other. One exception that I know of is flooded desert where you both start on the left hand island.&lt;br /&gt;
----&lt;br /&gt;
Make sure that your map&#039;s ideas and game-play is sound before you release it for good. Do a lot of beta testing and learn about good level design! You can learn about what makes a good map by playing on good maps, so play often and map well. -url00&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; [[Main_Page|&amp;lt;- Back to Main page]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Map development]]&lt;/div&gt;</summary>
		<author><name>Zyzy</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Development:Main&amp;diff=5622</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=5622"/>
		<updated>2007-12-07T16:50:39Z</updated>

		<summary type="html">&lt;p&gt;Zyzy: /* Modifying and Compiling 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;
== Keep track what others do ==&lt;br /&gt;
If you develop with others, you need to know what they do. Fisheye is a very handy svn helper, we currently use:&lt;br /&gt;
 http://spring.clan-sy.com/fisheye&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] need to be change, osrts is out&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]&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;
&amp;lt;code&amp;gt;svn.exe checkout https://taspring.clan-sy.com/svn/spring/trunk&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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), even if working will likely 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;
See [[Development_IDEs]].&lt;br /&gt;
You have either to use the SCons build system that is multi platform, or use Microsoft Visual Studio for building spring.&lt;br /&gt;
&lt;br /&gt;
A list of required libraries as well as pre-built packages of these follows:&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://taspring.clan-sy.com/phpbb/viewtopic.php?p=49257#49257 Pre-Built packages of most of the dependencies].&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?p=56846#56846 Pre-Built boost for VS8].  *note - probably not needed&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;
I got away with unchecking the parts of the PlatformSDK that were obviously not related (IIS, web stuff). Makes for a smaller download.&lt;br /&gt;
Make &#039;&#039;&#039;sure&#039;&#039;&#039; the Platform SDK and DirectX SDK are in the VS search/include directories.&lt;br /&gt;
After installing them, open Visual C++.&lt;br /&gt;
Click Tools &amp;gt;&amp;gt; Options &amp;gt;&amp;gt; Projects and Solutions &amp;gt;&amp;gt; VC++ Directories.&lt;br /&gt;
&lt;br /&gt;
Add these entries to the corresponding sections (paths just a reference, yours may be different):&lt;br /&gt;
*Include files:&lt;br /&gt;
**$(ProgramFiles)\Microsoft DirectX SDK (August 2007)\Include&lt;br /&gt;
**$(ProgramFiles)\Microsoft Platform SDK\include&lt;br /&gt;
*Library files:&lt;br /&gt;
**$(ProgramFiles)\Microsoft DirectX SDK (August 2007)\Lib\x86&lt;br /&gt;
***Might need \x64 on a 64-bit platform, I don&#039;t know.&lt;br /&gt;
**$(ProgramFiles)\Microsoft Platform SDK\lib&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The following are for building with SCONS/MinGW&#039;&#039;&#039;&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. *note - dev-cpp seems to have been abandoned&lt;br /&gt;
*[http://www.python.org/ftp/python/2.4.2/python-2.4.2.msi Python 2.4 installer]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/pywin32/pywin32-208.win32-py2.4.exe?download Python win32 extensions installer] &lt;br /&gt;
*[http://prdownloads.sourceforge.net/scons/scons-0.96.1.win32.exe Scons installer]&lt;br /&gt;
&lt;br /&gt;
====Development System Setup====&lt;br /&gt;
&lt;br /&gt;
See [http://spring.clan-sy.com/phpbb/viewtopic.php?p=49257 Compiling spring (mingw and visual studio 7/8)] and [[Installing Visual C plus plus]] for instructions.&lt;br /&gt;
&lt;br /&gt;
*Make sure C:\Python24 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).&lt;br /&gt;
*Checkout the TA Spring SVN repository into your working area.&lt;br /&gt;
*You will also need the [http://spring.clan-sy.com/dl/spring-mingwlibs.exe MinGW/DevCPP libs] extracted to your source directory obtained from SVN. ie your-working-path/source/trunk/mingwlibs. Therefore mingwlibs is at the same directory level as AI, lua and the omni directories.&lt;br /&gt;
&lt;br /&gt;
====Running SCONS Configure====&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 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;
*if you get an error message stating &amp;quot;ImportError: No module named win32file:&amp;quot;, you have probably not installed the python-win32-extensions.&lt;br /&gt;
&lt;br /&gt;
If all proceeds as intended you will see a message similar to: &lt;br /&gt;
&amp;quot;Everything seems OK.  Run `scons&#039; now to build.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
====Compiling Spring====&lt;br /&gt;
&lt;br /&gt;
* Open a console (Start -&amp;gt; Run -&amp;gt; cmd.exe -&amp;gt; Run)&lt;br /&gt;
* cd /path-to-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 &#039;&#039;&#039;scons configure&#039;&#039;&#039;&amp;lt;enter&amp;gt;, followed by &#039;&#039;&#039;scons&#039;&#039;&#039;&amp;lt;enter&amp;gt;&lt;br /&gt;
** Refer to &#039;&#039;&#039;scons --help&#039;&#039;&#039; for options that can be passed to scons configure&lt;br /&gt;
* Wait, this will take a while&lt;br /&gt;
* Copy over data files and stuff from official spring to the game dir (where spring.exe is created)&lt;br /&gt;
* Copy missing DLLs from mingwlibs/dll&lt;br /&gt;
* 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.  Many patches are submitted to [http://spring.clan-sy.com/mantis Mantis].&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;
==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;
==Development links==&lt;br /&gt;
* [http://buildbot.no-ip.org/~buildbot/spring/executable/ Automatic builds (crosscompiled, mingw)]&lt;br /&gt;
* [http://buildbot.no-ip.org/~buildbot/spring/installer/ Automatic installer builds (crosscompiled, mingw)]&lt;br /&gt;
* [http://developer.berlios.de/projects/taspring-linux BerliOS project page (OLD)]&lt;br /&gt;
* [http://spring.clan-sy.com/mantis Bug Tracking System]&lt;br /&gt;
* [http://buildbot.no-ip.org:8010/ Buildbot]&lt;br /&gt;
* [https://lists.berlios.de/mailman/listinfo/taspring-linux-commit Commit mailing list]&lt;br /&gt;
* [http://spring.clan-sy.com/dl/spring-vc8libs.exe Development libraries for Visual Studio 2005]&lt;br /&gt;
* [http://www.unknown-files.net/spring/3801/mingwlibsv9/ Development libraries for MinGW]&lt;br /&gt;
* [http://lolut.utbm.info/cgi-bin/mailman/listinfo/taspring-linux Developers mailing list (practically dead, use this forum instead) (DOWN)]&lt;br /&gt;
* [http://buildbot.no-ip.org/~buildbot/spring/doxygen Doxygen pages of the latest source (regenerated nightly)]&lt;br /&gt;
* [http://spring.clan-sy.com/fisheye Fisheye interface to SVN]&lt;br /&gt;
* [http://sourceforge.net/projects/springrts SourceForge project page (OLD)]&lt;br /&gt;
* [http://buildbot.no-ip.org/~buildbot/spring/stacktraceTranslator.php StackTrace Translator]&lt;br /&gt;
* [https://spring.clan-sy.com/svn/spring/trunk/ Subversion repository]&lt;br /&gt;
* [http://spring.clan-sy.com/websvn/listing.php?repname=spring&amp;amp;path=%2F&amp;amp;sc=0 WebSVN]&lt;br /&gt;
* [http://spring.clan-sy.com/websvn/log.php?repname=spring&amp;amp;path=%2F&amp;amp;rev=0&amp;amp;sc=0&amp;amp;isdir=1 WebSVN link to &amp;quot;development log&amp;quot;]&lt;br /&gt;
* [http://spring.clan-sy.com/websvn/filedetails.php?repname=spring&amp;amp;path=%2Ftrunk%2FDocumentation%2Fchangelog.txt&amp;amp;rev=0&amp;amp;sc=0 WebSVN link to the most recent changelog.txt]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]] [[Category:Source development]]&lt;/div&gt;</summary>
		<author><name>Zyzy</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Development:Main&amp;diff=5620</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=5620"/>
		<updated>2007-10-28T16:58:54Z</updated>

		<summary type="html">&lt;p&gt;Zyzy: /* Source Code Documentation */&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;
== Keep track what others do ==&lt;br /&gt;
If you develop with others, you need to know what they do. Fisheye is a very handy svn helper, we currently use:&lt;br /&gt;
 http://spring.clan-sy.com/fisheye&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] need to be change, osrts is out&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]&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;
&amp;lt;code&amp;gt;svn.exe checkout https://taspring.clan-sy.com/svn/spring/trunk&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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), even if working will likely 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 changed a few releases ago to 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://taspring.clan-sy.com/phpbb/viewtopic.php?p=49257#49257 Pre-Built packages of most of the dependencies].&lt;br /&gt;
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?p=56846#56846 Pre-Built boost for VS8].  *note - probably not needed&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;
I got away with unchecking the parts of the PlatformSDK that were obviously not related (IIS, web stuff). Makes for a smaller download.&lt;br /&gt;
Make &#039;&#039;&#039;sure&#039;&#039;&#039; the Platform SDK and DirectX SDK are in the VS search/include directories.&lt;br /&gt;
After installing them, open Visual C++.&lt;br /&gt;
Click Tools &amp;gt;&amp;gt; Options &amp;gt;&amp;gt; Projects and Solutions &amp;gt;&amp;gt; VC++ Directories.&lt;br /&gt;
&lt;br /&gt;
Add these entries to the corresponding sections (paths just a reference, yours may be different):&lt;br /&gt;
*Include files:&lt;br /&gt;
**$(ProgramFiles)\Microsoft DirectX SDK (August 2007)\Include&lt;br /&gt;
**$(ProgramFiles)\Microsoft Platform SDK\include&lt;br /&gt;
*Library files:&lt;br /&gt;
**$(ProgramFiles)\Microsoft DirectX SDK (August 2007)\Lib\x86&lt;br /&gt;
***Might need \x64 on a 64-bit platform, I don&#039;t know.&lt;br /&gt;
**$(ProgramFiles)\Microsoft Platform SDK\lib&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The following are for building with SCONS/MinGW&#039;&#039;&#039;&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. *note - dev-cpp seems to have been abandoned&lt;br /&gt;
*[http://www.python.org/ftp/python/2.4.2/python-2.4.2.msi Python 2.4 installer]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/pywin32/pywin32-208.win32-py2.4.exe?download Python win32 extensions installer] &lt;br /&gt;
*[http://prdownloads.sourceforge.net/scons/scons-0.96.1.win32.exe Scons installer]&lt;br /&gt;
&lt;br /&gt;
====Development System Setup====&lt;br /&gt;
&lt;br /&gt;
See [http://spring.clan-sy.com/phpbb/viewtopic.php?p=49257 Compiling spring (mingw and visual studio 7/8)] and [[Installing Visual C plus plus]] for instructions.&lt;br /&gt;
&lt;br /&gt;
*Make sure C:\Python24 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).&lt;br /&gt;
*Checkout the TA Spring SVN repository into your working area.&lt;br /&gt;
*You will also need the [http://spring.clan-sy.com/dl/spring-mingwlibs.exe MinGW/DevCPP libs] extracted to your source directory obtained from SVN. ie your-working-path/source/trunk/mingwlibs. Therefore mingwlibs is at the same directory level as AI, lua and the omni directories.&lt;br /&gt;
&lt;br /&gt;
====Running SCONS Configure====&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 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;
*if you get an error message stating &amp;quot;ImportError: No module named win32file:&amp;quot;, you have probably not installed the python-win32-extensions.&lt;br /&gt;
&lt;br /&gt;
If all proceeds as intended you will see a message similar to: &lt;br /&gt;
&amp;quot;Everything seems OK.  Run `scons&#039; now to build.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
====Compiling Spring====&lt;br /&gt;
&lt;br /&gt;
* Open a console (Start -&amp;gt; Run -&amp;gt; cmd.exe -&amp;gt; Run)&lt;br /&gt;
* cd /path-to-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 &#039;&#039;&#039;scons configure&#039;&#039;&#039;&amp;lt;enter&amp;gt;, followed by &#039;&#039;&#039;scons&#039;&#039;&#039;&amp;lt;enter&amp;gt;&lt;br /&gt;
** Refer to &#039;&#039;&#039;scons --help&#039;&#039;&#039; for options that can be passed to scons configure&lt;br /&gt;
* Wait, this will take a while&lt;br /&gt;
* Copy over data files and stuff from official spring to the game dir (where spring.exe is created)&lt;br /&gt;
* Copy missing DLLs from mingwlibs/dll&lt;br /&gt;
* 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.  Many patches are submitted to [http://spring.clan-sy.com/mantis Mantis].&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;
==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>Zyzy</name></author>
	</entry>
</feed>