<?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=Ansuz</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=Ansuz"/>
	<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/wiki/Special:Contributions/Ansuz"/>
	<updated>2026-11-08T21:55:07Z</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=5617</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=5617"/>
		<updated>2007-10-20T05:41:58Z</updated>

		<summary type="html">&lt;p&gt;Ansuz: /* Running SCONS Configure */&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]&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;
&lt;br /&gt;
The following are for building with SCONS/MinGW&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>Ansuz</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Simple_Game_Tutorial&amp;diff=16852</id>
		<title>Simple Game Tutorial</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Simple_Game_Tutorial&amp;diff=16852"/>
		<updated>2007-04-11T16:12:06Z</updated>

		<summary type="html">&lt;p&gt;Ansuz: /* UnitName.fbi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Until I Finish [[Mod Development]] is the place to go.&lt;br /&gt;
&lt;br /&gt;
This Tutorial Aims to get a person from knowing nothing about Spring to the point where they can create and edit mods.&lt;br /&gt;
&lt;br /&gt;
Right now I am working from memory so you may want to correct me when I&#039;m wrong, I will try to cross link from my summaries to the appropriate articles available in other places.&lt;br /&gt;
&lt;br /&gt;
I will not go too deep into making 3do&#039;s because they are old and dumb... but I&#039;ll try to make note of the differences here.&lt;br /&gt;
&lt;br /&gt;
I don&#039;t know anything about scripting right now, so that section is likely to be sparse when I write it, I hope that someone will expand on it.&lt;br /&gt;
&lt;br /&gt;
=Book 1: The First Unit=&lt;br /&gt;
&lt;br /&gt;
==Step 1:Planning==&lt;br /&gt;
Who cares about planning, you know what you&#039;re doing... just come up with an idea for a mod... I made a chess set... if you don&#039;t have a real idea and just want to make a model show up in the game... then yeah... this is the place to start... I&#039;d do that if I were you.&lt;br /&gt;
&lt;br /&gt;
Another good thing to do at this point is to creat a &amp;quot;working directory&amp;quot;, and inside it create a directory with the name that your mod will have... after many headaches I decided it&#039;s best to put this in the root directory of your system so it&#039;s really easy to find when you are switching around back and forth between folders and keep having to find your files over and over again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Step 2:Getting Da Tools==&lt;br /&gt;
You will need a bunch of stuff... here&#039;s the list (I assume you are using windows)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Want:&#039;&#039;&lt;br /&gt;
*[http://taspring.clan-sy.com/download.php Spring] - The main program, you will likely need this to test if you&#039;ve screwed up&lt;br /&gt;
*A Tiny Map (2x2) - to test your mod fast (suggest [http://www.fileuniverse.com/?p=showitem&amp;amp;ID=2534 Simple Chess Map])&lt;br /&gt;
*[http://www.darkstars.co.uk/index.php?name=Forums&amp;amp;file=viewtopic&amp;amp;p=17 SpringSP] - To load up your mod and your map in spring without confusing lobby folks&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Need:&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Program listings can be found here:&#039;&#039;&#039; &#039;&#039;&#039;[http://taspring.clan-sy.com/wiki/Map%2C_Mod%2C_And_Unit_Development_Programs Map, Mod, And Unit Development Programs]&#039;&#039;&#039;&lt;br /&gt;
*3D Modeling Program - &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Notepad - to edit all the miriad of text files&lt;br /&gt;
*A Graphical Editing Program - needs to handle RGBA TGAs (aka tga&#039;s with alpha channels), I suggest Photoshop if you have it, or The GIMP... needed for all of the texture making for UVmapping stuff... &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Upspring 1.3 - To convert your models to the approprite s3o format (if you want to fight with 3do builder, then go ahead... a good trick is to get your model into upspring first and adjust all the hierachy, then save it as an 3do... but why bother?). &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Scriptor - to make and compile your units &amp;quot;animation script&amp;quot;... or steal someone else&#039;s and make it work for your unit. &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Compression Utility - (I suggest [http://www.7-zip.org/ 7zip] - even if you are using zip compression and not 7zip, it&#039;s still good to have)&lt;br /&gt;
&lt;br /&gt;
==Step 3:Making a 3D Model==&lt;br /&gt;
&lt;br /&gt;
Go into your 3D modelling program and make a 3D model, [http://taspring.clan-sy.com/w/images/b/b4/WingsCombine.PNG combine] all the objects and UV map the model, then separate it out into any parts that need to move independently of each other.  Then Export the UV map as an Image File and Export the whole thing as a 3ds file.  Put the original wings file, the UVMap image and the 3ds file into your working directory so you can find them later.&lt;br /&gt;
&lt;br /&gt;
Wings 3D UV Mapping tutorial has been started here - [[Units:CreateModel]]&lt;br /&gt;
&lt;br /&gt;
==Step 4:Fixing Your Images==&lt;br /&gt;
&lt;br /&gt;
[[Basic s3o unit making guide|This Article includes a UVMapping Guide]]&lt;br /&gt;
&lt;br /&gt;
Open up your UVMap in Photoshop (or whatever) go to the layer/chooser thingy and go to the Channels Tab, add a new layer (it should default to alpha) and fill it with 99% black so you can see your texture in upspring.  If you want to can paint the UVmap and put white (1% black) on the alpha channel where you want your team colours to show up (you can use something between 1% and 99% to get a blend of your team colour along with the texture... for example 50% will give you your texture with 50% of the team colour mixed in...)&lt;br /&gt;
&lt;br /&gt;
I don&#039;t know how to do glow maps... XXreminder for someone to create a Glowmapping tutorial... you don&#039;t acctually need one for the model to show up.&lt;br /&gt;
&lt;br /&gt;
Save these images both in the working directory.&lt;br /&gt;
&lt;br /&gt;
Save a copy of these images in tga format into &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/unittextures&lt;br /&gt;
&lt;br /&gt;
==Step 5:Upspring==&lt;br /&gt;
&lt;br /&gt;
===Importing Your 3ds===&lt;br /&gt;
Open Upspring 1.3, go to file&amp;gt;load model and navigate to and open your 3DS model you exported, you should see the model in upspring as a 3d mesh.  Go to the model tab and set the radius and height values to something other then zero... this defines where the health bar will show up, and more importantly, how big the collision sphere will be.&lt;br /&gt;
&lt;br /&gt;
You will also need to use all of the other tools on those tabs to resize and rotate and move your model to the right place... wings makes models that are 90 degrees off and about 30 times smaller than most spring models... make sure you click the &amp;quot;apply transform&amp;quot; button after any changes that you actually want to show up in the game.&lt;br /&gt;
&lt;br /&gt;
Also, you will want to make the hierachy work using the cut, paste, and add empty buttons.  You will need an object called &amp;quot;base&amp;quot; that all the other objects are connected to... the &amp;quot;origin object&amp;quot;... sometimes you get lucky and wings exports it properly... usually not.&lt;br /&gt;
&lt;br /&gt;
===Importing Your UV and Glowmaps===&lt;br /&gt;
&lt;br /&gt;
Go to the textures tab and make your UV/texture/team-colour map as &amp;quot;texture1&amp;quot; and your UV/glow/reflectivity map as &amp;quot;texture2&amp;quot;... it should show up correctly in the preview pane.&lt;br /&gt;
&lt;br /&gt;
===Exporting Your s3o===&lt;br /&gt;
Choose File&amp;gt;Save Model As then in the drop down select &amp;quot;s3o&amp;quot; and type an appropriate name. This model should be saved to your working directory, and a copy of it made to &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/3dobjects/&lt;br /&gt;
&lt;br /&gt;
==Step 6:A couple Text Files==&lt;br /&gt;
&lt;br /&gt;
===UnitName.fbi===&lt;br /&gt;
For Reference visit [[Units:FBI]], but again, the easiest way to do this is to extract an existing mod and find the fbi for a unit that behaves similarly to the one you are trying to make and rename and modify it.&lt;br /&gt;
&lt;br /&gt;
Some More Specific Information Not Clear in the &amp;quot;Units:FBI&amp;quot; article:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name+&amp;quot; &amp;quot;+Description=Spring Display Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So if you have the following settings:&lt;br /&gt;
&lt;br /&gt;
 Name=Tiger;&lt;br /&gt;
 Description=Fast Attack C.A.T.;&lt;br /&gt;
&lt;br /&gt;
The Tooltip will show &amp;quot;Tiger Fast Attack C.A.T.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;BuildPic Defaults to UnitName.bmp&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So if you leave out &amp;quot;BuildPic=filename.bmp;&amp;quot; Spring will look in /unitpics/ for a file called &amp;quot;UnitName.bmp&amp;quot; to use as your buildpic.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ObjectName&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you want to use an s3o object, you will need to specify with &amp;quot;ObjectName=UnitName&#039;&#039;&#039;.S3O;&#039;&#039;&#039;&amp;quot; otherwise it will look for &amp;quot;UnitName.3do&amp;quot;.  Also, you don&#039;t have to use &amp;quot;UnitName&amp;quot; as the filename and, in fact, multiple Unit&#039;s fbi files can reference the same 3D models. It is easier, however, for people to figure out what you are doing in your mod if you follow the standards.&lt;br /&gt;
&lt;br /&gt;
Save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/units/&lt;br /&gt;
&lt;br /&gt;
===modinfo.tdf===&lt;br /&gt;
&lt;br /&gt;
modinfo.tdf is a text file that defines a number of things that are used when loading a mod, most of the information is self explanitory but basically what you are doing is defining what is going to show up in whatever mod-selection interface you use as well as what other files need to be loaded into memory in order for your mod to work.&lt;br /&gt;
&lt;br /&gt;
====Making a New Mod with your unit/units====&lt;br /&gt;
The following is an example of what will be in your modinfo.tdf file if you are starting from scratch and making your own mod. This is also good when you are just testing one unit to see if it works.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [MOD] {&lt;br /&gt;
 &lt;br /&gt;
  // The name is shown in the selection interface&lt;br /&gt;
  Name=My Mod; &lt;br /&gt;
 &lt;br /&gt;
  // These can be shown by the selection interface &lt;br /&gt;
  Description=My Mod That I Made; &lt;br /&gt;
  URL=http://www.theplacepeoplecangetthelatestversionofyourmod.com; &lt;br /&gt;
 &lt;br /&gt;
  // What kind of mod this is &lt;br /&gt;
  //  0 - Hidden (support mod that can&#039;t be selected, such as OTA_textures) &lt;br /&gt;
  //  1 - Normal, only one can be selected at a time &lt;br /&gt;
  //  2 - Addon, any number of these can be selected. Could be used &lt;br /&gt;
  //      for single units for example. &lt;br /&gt;
  //  others - perhaps mutators and addon races that can be &lt;br /&gt;
  //           enabled in addition to xta for example? &lt;br /&gt;
  ModType=1; &lt;br /&gt;
&lt;br /&gt;
  // Number of other archives this one depends on    &lt;br /&gt;
  NumDependencies=4; &lt;br /&gt;
 	Depend0=taenheter.sdz;&lt;br /&gt;
 	Depend1=springcontent.sdz;&lt;br /&gt;
 	Depend2=otacontent.sdz;&lt;br /&gt;
 	Depend3=tatextures.sdz;&lt;br /&gt;
         &lt;br /&gt;
 &lt;br /&gt;
  // Number of other archives this one replaces&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
====Adding Your Unit to an Existing Mod====&lt;br /&gt;
The following is an example of what will be in your modinfo.tdf file if you are adding new units to an existing mod (in this case xta_se_v066.sdz), this is good for adding units to the build tree of an existing mod or adding a whole new team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 // Description of the mod control file recognized by spring:&lt;br /&gt;
 &lt;br /&gt;
 [MOD] {&lt;br /&gt;
 &lt;br /&gt;
 // The name is shown in the selection interface&lt;br /&gt;
 Name=XTASEv0.66 with+My Units; &lt;br /&gt;
 &lt;br /&gt;
 // These can be shown by the selection interface&lt;br /&gt;
 //&lt;br /&gt;
 Description=xta_se_v066 with the cool tank I made; &lt;br /&gt;
 URL=http://www.fileuniverse.com/exactlocationblahblahblah; &lt;br /&gt;
 &lt;br /&gt;
 // What kind of mod this is &lt;br /&gt;
 //  0 - Hidden (support mod that can&#039;t be selected, such as OTA_textures) &lt;br /&gt;
 //  1 - Normal, only one can be selected at a time &lt;br /&gt;
 //  2 - Addon, any number of these can be selected. Could be used &lt;br /&gt;
 //      for single units for example. &lt;br /&gt;
 //  others - perhaps mutators and addon races that can be &lt;br /&gt;
 //           enabled in addition to xta for example? &lt;br /&gt;
 ModType=1; &lt;br /&gt;
 &lt;br /&gt;
 // Number of other archives this one depends on    &lt;br /&gt;
 NumDependencies=5; &lt;br /&gt;
 	Depend0=taenheter.sdz;&lt;br /&gt;
 	Depend1=springcontent.sdz;&lt;br /&gt;
 	Depend2=otacontent.sdz;&lt;br /&gt;
 	Depend3=tatextures.sdz;&lt;br /&gt;
 	Depend4=xta_se_v066.sdz;&lt;br /&gt;
         &lt;br /&gt;
 &lt;br /&gt;
 // Number of other archives this one replaces&lt;br /&gt;
 } &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are some extra bits in these examples, but I work on the &amp;quot;better safe than sorry&amp;quot; principle... which is to wait for someone who knows what they are doing to fix my articles.&lt;br /&gt;
&lt;br /&gt;
You will want to save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/&lt;br /&gt;
&lt;br /&gt;
===Armor.txt===&lt;br /&gt;
&lt;br /&gt;
I&#039;m not exactly sure how this works, but the file needs to exist, so either steal one from another mod and modify it... or just make a file that looks like this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 // [UNITNAME]- Good Against Lazer/Bad Against Nukes&lt;br /&gt;
 [UNITNAME]&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You will want to save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/&lt;br /&gt;
&lt;br /&gt;
===SIDEDATA.TDF===&lt;br /&gt;
&lt;br /&gt;
Start by stealing the sidedata.tdf file from your dependency mod if you have one, then edit it to include your units/side.&lt;br /&gt;
&lt;br /&gt;
Basically this file is in the form:&lt;br /&gt;
&lt;br /&gt;
 [SIDE0]&lt;br /&gt;
 	{&lt;br /&gt;
 	name=Good Guys;&lt;br /&gt;
 	nameprefix=GG;&lt;br /&gt;
 	commander=UnitName1;&lt;br /&gt;
 	}&lt;br /&gt;
 [CANBUILD]&lt;br /&gt;
 	{&lt;br /&gt;
 	[UnitName1]&lt;br /&gt;
 		{&lt;br /&gt;
 		canbuild1=UnitName2;&lt;br /&gt;
 		canbuild2=UnitName3;&lt;br /&gt;
 		canbuild3=UnitName4;&lt;br /&gt;
 		canbuild4=UnitName5;&lt;br /&gt;
 		canbuild5=UnitName6;&lt;br /&gt;
 		}&lt;br /&gt;
 	}    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
...with additional &amp;quot;[SIDEX]&amp;quot; entries for each side/team/commander-choice available in the mod-selector you choose, additional &amp;quot;[UnitName]&amp;quot; sections for each factory of construction unit, and additional &amp;quot;canbuildx=UnitName&amp;quot; entries to all factory/con-units that can build each unit.&lt;br /&gt;
&lt;br /&gt;
You will save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/gamedata/&lt;br /&gt;
&lt;br /&gt;
==Step 7:Adding a Build Pic==&lt;br /&gt;
&lt;br /&gt;
Add a 96x96 BMP to your &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/unitpics/ folder named either &amp;quot;UnitName.bmp&amp;quot; or whatever you specified in the &amp;quot;BuildPic=&amp;quot; line of your fbi.&lt;br /&gt;
&lt;br /&gt;
==Step 8:Adding a Side Pic==&lt;br /&gt;
&lt;br /&gt;
Add a 16x16 BMP to your &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/sidepics/ folder named &amp;quot;teamname.bmp&amp;quot; or whatever you specified in the &amp;quot;name=&amp;quot; line of your SIDEDATA.TDF for each side/team you have added.&lt;br /&gt;
&lt;br /&gt;
==Step 9:Scriptor==&lt;br /&gt;
&lt;br /&gt;
===Stealing a Script===&lt;br /&gt;
Open someone else&#039;s script in scriptor that works the way you want your script to work, look at the top where it&#039;s talking about &amp;quot;piece names&amp;quot;... then change those piece names to be the piece names of your unit and do a find/replace to make all the places where those pieces show up to be your pieces too.  Compile it so its name is the same as the &amp;quot;UnitName=&amp;quot; value in your &amp;quot;UnitName.fbi&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
XXreminder to someone to link to a proper scripting tutorial&lt;br /&gt;
&lt;br /&gt;
Put the bos and cob files for your unit script in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
==Step 10:Compiling Your Mod==&lt;br /&gt;
&lt;br /&gt;
You may want to check your mod directory and make sure it follows the structure defined [[Mod_Development:Archives|here]].&lt;br /&gt;
&lt;br /&gt;
navigate to your &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt; and select everything and choose &amp;quot;add to archive &amp;lt;mod name&amp;gt;.7z&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
make a copy of this file called &amp;lt;mod name&amp;gt;v0.7z in your working directory so you don&#039;t screw anything up later, then make a copy of it called &amp;lt;mod name&amp;gt;.sd7 in the mods directory of spring.&lt;br /&gt;
&lt;br /&gt;
==Step 11:Testing Your Mod==&lt;br /&gt;
Open Up SpringSP, pick your mod from the drop-down at the top (if it doesn&#039;t show up you screwed up your modinfo.txt), choose your tiny map from the map list and press start.  If it doesn&#039;t break and your unit shows up, you have created all the neccessary files... yay!&lt;br /&gt;
&lt;br /&gt;
Gotchas:&lt;br /&gt;
*If it doesn&#039;t work, check you didn&#039;t zip the folder itself, but the contents, ie if you open mymod.sd7 with 7zip, you should see folders such as &amp;quot;unittextures&amp;quot; rather than a folder &amp;quot;mymod&amp;quot; containing unittextures.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mod development]]&lt;/div&gt;</summary>
		<author><name>Ansuz</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=3DModels:Wings3DTutorial&amp;diff=327</id>
		<title>3DModels:Wings3DTutorial</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=3DModels:Wings3DTutorial&amp;diff=327"/>
		<updated>2007-04-11T16:08:59Z</updated>

		<summary type="html">&lt;p&gt;Ansuz: /* Prerequisites */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
Firstly you&#039;re going to need a modelling programme, for this tutorial I&#039;ll be using [http://www.wings3d.com Wings3D]. It&#039;s free and small so go download it now!&lt;br /&gt;
Also you&#039;re going to need UpSpring, so get that as well.&lt;br /&gt;
This tutorial will use Photoshop but the same principles will apply to GIMP or any image editor of your choice.&lt;br /&gt;
&lt;br /&gt;
=== Making the Model and UVmap ===&lt;br /&gt;
&lt;br /&gt;
I&#039;ll assume you know how to model in wings and have your model ready, so I am going to be using a three piece tank, chassis, turret and barrel...&lt;br /&gt;
&lt;br /&gt;
[[Image:Creating1.JPG]]&lt;br /&gt;
&lt;br /&gt;
So, the next step is to UV map it, this isn&#039;t as hard as it has been made out to be.&lt;br /&gt;
Firstly, you&#039;ll want to combine it, then UVmap-&amp;gt;ForceSegment. This will bring up your unit in the UV mapping window, from there you&#039;ll want to use theSegment-&amp;gt;Projection function, which will leave your model looking something like this...&lt;br /&gt;
&lt;br /&gt;
[[Image:Creating2.JPG]]&lt;br /&gt;
&lt;br /&gt;
The different colours show the different pieces your model will be broken up into when its placed on the texture.&lt;br /&gt;
Now to get it there, you&#039;ll want to go Continue-&amp;gt;Unfolding, which will make the UVmap and leave you with something that looks like this...&lt;br /&gt;
&lt;br /&gt;
http://img240.imageshack.us/img240/1449/creating37uy.jpg&lt;br /&gt;
&lt;br /&gt;
A nice pattern, but not very useful for when we want to texture it, so rightclick-&amp;gt;CreateTexture, and use these parameters for now...&lt;br /&gt;
&lt;br /&gt;
http://img111.imageshack.us/img111/8757/creating45wi.jpg&lt;br /&gt;
&lt;br /&gt;
And that will give us this...&lt;br /&gt;
&lt;br /&gt;
[[Image:Creating5.JPG]]&lt;br /&gt;
&lt;br /&gt;
That&#039;s what you&#039;ll draw your texture onto later, but for now, close that window and head back to the main view. Now we want to convert the model to a format that UpSpring can use, OBJ suits our purposes.&lt;br /&gt;
&lt;br /&gt;
However to animate it, we will need to have it in seperate pieces, so seperate it to undo the combine we used to help us UVmap. Now select a piece, then go File-&amp;gt;ExportSelected-&amp;gt;Wavefront (obj)... and repeat for all the other pieces. Make sure you Export SELECTED rather than just exporting.&lt;br /&gt;
&lt;br /&gt;
So now you have 3 obj files called something like chassis.obj, turret.obj and barrel.obj. Now you can close Wings3D and crack open upspring.&lt;br /&gt;
&lt;br /&gt;
Load your base object by going File-&amp;gt;LoadModel and choosing your chassis, it should now appear in the views of UpSpring. First thing you want to do with it is give it a name. Chassis would be an appropriate one, so go to the Objects tab on your right and you&#039;ll see an empty list of pieces, and select where it should be,and give it a name so you can see it...&lt;br /&gt;
&lt;br /&gt;
[[Image:Creating6.png]]&lt;br /&gt;
&lt;br /&gt;
Now with that object still selected, you&#039;ll want to import the piece that will be attached to it, the turret, to do this we don&#039;t want to load a new model because that will delete the one we already have, so instead we go Object-&amp;gt;Insert Object from file and select turret.obj.&lt;br /&gt;
&lt;br /&gt;
Now you&#039;ll want to give the turret piece a name, I suggest turret, then repeat the same action but with the turret only selected and import the barrel.&lt;br /&gt;
&lt;br /&gt;
The final piece you&#039;ll want to add is a fire point, click add empty and name it flare.&lt;br /&gt;
&lt;br /&gt;
Now unless your model was enormous in the modeller you&#039;ll want to scale it up to make it look alright in spring and be easier to handling in UpSpring, so go to the objects tab if you&#039;re not still there, and with the chassis selected, set all the scale values to about 10 to start of with, then click apply transform.&lt;br /&gt;
&lt;br /&gt;
Next to make sure the pieces turn around the right spots when you animate it we have to set the orrigins, these are represented by red dots in the upspring view windows.&lt;br /&gt;
To do this for the turret we select it and switch to move mode, represented by a four pointed arrow on the left side of your screen. Now move it so that the point you want it to rotate around is at (0,0,0) in the 2d views, then press apply transform and move it back to where it should actually be on the model.&lt;br /&gt;
&lt;br /&gt;
For the next piece you need to move where you want the barrel to rotate around to the orrigin of the turret, hit apply transform, and move back.&lt;br /&gt;
For the firepoint you can just move it into place since all it is effectively is  a orrigin.&lt;br /&gt;
&lt;br /&gt;
Now you&#039;ll probably want to switch back to view mode so you don&#039;t accidentally move your pieces around, do this by clicking on the crosshair at the top left under File.&lt;br /&gt;
&lt;br /&gt;
Remember that texture we got when we exported the model? Nows when we get that to display properly in spring. Open it in Photoshop and the first thing you&#039;ll want to do is go flip it vertically, spring requires you do this, although I have no idea why, but it can be achieved by going Image-&amp;gt;Rotate Canvas-&amp;gt;Flip Canvas Vertically.&lt;br /&gt;
&lt;br /&gt;
The second thing we want to do to the texture is add an alpha layer and stick it at about 99% darkness, this makes sure spring displays it correctly, you can also draw lighter patches that will appear as team colour.&lt;br /&gt;
&amp;lt;b&amp;gt;To Be Continued...&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Unit development]]&lt;/div&gt;</summary>
		<author><name>Ansuz</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Development:Main&amp;diff=5604</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=5604"/>
		<updated>2007-04-08T01:14:29Z</updated>

		<summary type="html">&lt;p&gt;Ansuz: /* Compiling Spring */&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]&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 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 built 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;
*[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;
*[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;
*[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;
Grab and install the above programs.&lt;br /&gt;
&lt;br /&gt;
====Development System Setup====&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 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;
*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.&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>Ansuz</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Development:Main&amp;diff=5603</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=5603"/>
		<updated>2007-04-08T01:11:51Z</updated>

		<summary type="html">&lt;p&gt;Ansuz: /* Running SCONS Configure */&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]&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 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 built 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;
*[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;
*[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;
*[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;
Grab and install the above programs.&lt;br /&gt;
&lt;br /&gt;
====Development System Setup====&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 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;
*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), 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>Ansuz</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Development:Main&amp;diff=5602</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=5602"/>
		<updated>2007-04-08T01:08:51Z</updated>

		<summary type="html">&lt;p&gt;Ansuz: /* Running SCONS Configure */&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]&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 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 built 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;
*[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;
*[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;
*[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;
Grab and install the above programs.&lt;br /&gt;
&lt;br /&gt;
====Development System Setup====&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 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;
*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;
====Compiling Spring====&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>Ansuz</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Development:Main&amp;diff=5601</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=5601"/>
		<updated>2007-04-08T01:03:40Z</updated>

		<summary type="html">&lt;p&gt;Ansuz: /* Development System Setup */&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]&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 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 built 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;
*[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;
*[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;
*[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;
Grab and install the above programs.&lt;br /&gt;
&lt;br /&gt;
====Development System Setup====&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 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;
====Compiling Spring====&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>Ansuz</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Development:Main&amp;diff=5600</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=5600"/>
		<updated>2007-04-08T01:02:36Z</updated>

		<summary type="html">&lt;p&gt;Ansuz: /* Development System Setup */&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]&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 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 built 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;
*[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;
*[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;
*[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;
Grab and install the above programs.&lt;br /&gt;
&lt;br /&gt;
====Development System Setup====&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 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;
====Compiling Spring====&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>Ansuz</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Development:Main&amp;diff=5599</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=5599"/>
		<updated>2007-04-08T00:53:49Z</updated>

		<summary type="html">&lt;p&gt;Ansuz: /* 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;
===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]&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 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 built 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;
*[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;
*[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;
*[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;
Grab and install the above programs.&lt;br /&gt;
&lt;br /&gt;
====Development System Setup====&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;
====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 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;
====Compiling Spring====&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>Ansuz</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Development:Main&amp;diff=5598</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=5598"/>
		<updated>2007-04-08T00:52:40Z</updated>

		<summary type="html">&lt;p&gt;Ansuz: /* 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;
===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]&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 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 built 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;
*[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;
*[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;
====Development System Setup====&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;
====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 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;
====Compiling Spring====&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>Ansuz</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Development:Main&amp;diff=5597</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=5597"/>
		<updated>2007-04-08T00:40:39Z</updated>

		<summary type="html">&lt;p&gt;Ansuz: /* Learning C++ */&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]&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 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 built 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>Ansuz</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Development:Main&amp;diff=5596</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=5596"/>
		<updated>2007-03-27T02:59:42Z</updated>

		<summary type="html">&lt;p&gt;Ansuz: /* 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;
===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]&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), 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 built 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>Ansuz</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Tutorial:CreateMaps(Fnordia_et_al)&amp;diff=18588</id>
		<title>Tutorial:CreateMaps(Fnordia et al)</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Tutorial:CreateMaps(Fnordia_et_al)&amp;diff=18588"/>
		<updated>2007-03-27T02:51:20Z</updated>

		<summary type="html">&lt;p&gt;Ansuz: /* Making your map work */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Original by aGorm, with help from LathanStanley&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==The Idea==&lt;br /&gt;
First of all you need an idea. There is no point (OK, there is some point for test purposes) in making a map just like another one that already exists. You need to think of certain things before you make your map.&lt;br /&gt;
# Is this map idea different, not just a copy of someone else&#039;s?&lt;br /&gt;
# Does my map idea give each player a fair share of the cover and high ground?&lt;br /&gt;
# Is my map idea possible to make?&lt;br /&gt;
# Is it possible with the amount of time I&#039;m willing to spend?&lt;br /&gt;
&lt;br /&gt;
If you answered yes to the above, then you are 25% of the way towards making your map!&lt;br /&gt;
&lt;br /&gt;
You should probably doodle it on a piece of paper to act as a guide later.&lt;br /&gt;
&lt;br /&gt;
==The Tools==&lt;br /&gt;
With your idea hopefully sketched out, it&#039;s time to get the tools to make the map! (You can skip this if you already have them.)&lt;br /&gt;
&lt;br /&gt;
For all your map compiling needs you should first download the [http://fileuniverse.com/?p=showitem&amp;amp;ID=1234 newest MapConv program].&lt;br /&gt;
&lt;br /&gt;
You will also need some image editing software. Favorites are Photoshop, the [http://www.gimp.org/ GIMP], And Paintshop Pro.&lt;br /&gt;
The GIMP, however, is the only one that&#039;s free!&lt;br /&gt;
(I&#039;m going to have to assume you know how to use the program you choose. If you can&#039;t there are loads of tutorials on the net.)&lt;br /&gt;
&lt;br /&gt;
You may also want to check out [http://www.planetside.co.uk/terragen/ Terragen] for generating terrain. But as you have to pay to render anything of a good size, I won&#039;t mention it other than here.&lt;br /&gt;
&lt;br /&gt;
Another tool you might find useful is the freeware tool [http://www.delphigl.de/projects/terrtexgen/eng_index.html TerrTexGen].  It&#039;s useful for previewing your heightmap before compiling, but unless your texturemap is 4096 on both sides, you might find that the texturemaps that it creates are too small.&lt;br /&gt;
&lt;br /&gt;
Finally, there is tool called [http://www.bundysoft.com/L3DT/ L3DT] which you might also find useful.  It seems to be a program that is specificly designed for creating large height/texture maps.  The free version is capable of rendering a heightmap as big as 4096x4096, and can generate a texturemap that is proportional to the heightmap.  Of the mentioned packages, this seems the most useful and complete.&lt;br /&gt;
&lt;br /&gt;
==Preparing your map==&lt;br /&gt;
This is the fun part! And also, often, the longest part.&lt;br /&gt;
&lt;br /&gt;
For a map you will need several different things:&lt;br /&gt;
# a texture map&lt;br /&gt;
# a height map&lt;br /&gt;
# a metal map&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
They all have certain needs! Read this bit carfully!&lt;br /&gt;
&lt;br /&gt;
===Texture Map===&lt;br /&gt;
All maps are based on a texture image. This image&#039;s width and height must be an exact multiple of 1024 pixels. So, for instance, you can have a &amp;quot;4096 by 8192&amp;quot; image, but not a &amp;quot;4096 by 4608&amp;quot; image, as 4608 does not divide by 1024. It, like  all three maps, must be saved as a 24 bit BMP. A 1024x1024 Texture will produce a map shown as &#039;2x2&#039; in the launcher.&lt;br /&gt;
&lt;br /&gt;
It may look like whatever you want! Find a texture (preferably, one that you can tile seamlessly) and fill your texture map with it. You could, for instance, fill the whole image with a sand texture. This would make your whole world look like sand. You could then decide to add a few patches of grass to it by finding a suitable grass texture and adding it on patches. So you&#039;d have a map that was mostly sand with a few patches of green.&lt;br /&gt;
&lt;br /&gt;
Because of the way the map compiler works, it will &#039;&#039;&#039;greatly&#039;&#039;&#039; reduce your map filesize if you use 32x32 tiles on your texture map. So, whenever you have to fill a large area with a repeating pattern, make sure the small square you&#039;re repeating is 32x32 (or a multiple of it).&lt;br /&gt;
&lt;br /&gt;
===Height Map===&lt;br /&gt;
Next is the height map. This must be exactly one eighth (1/8) of the size of the texture map &#039;&#039;&#039;+ 1 pixel!&#039;&#039;&#039; For instance, if the dimensions of your texture map are &amp;quot;4096 by 8192&amp;quot;, divide 4096 and 8192 each by 8 and add one to the result of each. The result for this example would be &amp;quot;513 by 1025&amp;quot;. The height map is a black and white BMP. Only use black and white, no colour! (well its better to work it as a greyscale image, and when saving to process, convert to rgb and save as bmp, that way you get a 24 bit bmp)&lt;br /&gt;
&lt;br /&gt;
White areas are the tops of mountains; black areas are the sea floor or the bottom of valleys. The shades of grey between are the different heights between! When you draw your heightmap, make sure the white blends into the black with greys. I suggest you use the blur tool. If you have a white splodge in a patch of black you will have a very tall pillar that won&#039;t look natural at all!&lt;br /&gt;
&lt;br /&gt;
===Metal Map===&lt;br /&gt;
Finally, you need a metal map. This is the same size as the height map, one eighth (1/8) of the size of the texture map &#039;&#039;&#039;+ 1 pixel.&#039;&#039;&#039; On this one you paint down red (in verying degrees) to represent metal. So a red spot that is RGB(50,0,0) will provide about a 5th of the metal patch of red RGB(255,0,0) will give.&lt;br /&gt;
&lt;br /&gt;
On this map you can also place green pixels. Each green pixel will create 1 geothermal vent. If you put down a green splodge you will get a cluster of geo vents! Only place 1 pixel.&lt;br /&gt;
&lt;br /&gt;
Ensure you have all three saved as 24 bit BMPs and you&#039;re ready to convert it all to a map!&lt;br /&gt;
&lt;br /&gt;
== MapConv.exe ==&lt;br /&gt;
&lt;br /&gt;
Instructions pulled from [http://fileuniverse.com/?p=showitem&amp;amp;ID=1234 the newest MapConv program]. If all goes well, the &amp;lt;code&amp;gt;MapConv.exe&amp;lt;/code&amp;gt; should create four new files: &amp;lt;code&amp;gt;mini.bmp&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;mini.dds&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;yourmapname.smf&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;yourmapname.smt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 USAGE:  &lt;br /&gt;
   &lt;br /&gt;
 mapconv [-l] [-i] [-c &amp;lt;compression&amp;gt;] -x &amp;lt;max height&amp;gt; -n &amp;lt;min height&amp;gt; [-o  &lt;br /&gt;
 &amp;lt;Output file&amp;gt;] [-e &amp;lt;tile file&amp;gt;] [-y &amp;lt;Typemap file&amp;gt;] -m &amp;lt;Metalmap file&amp;gt; -a  &lt;br /&gt;
 &amp;lt;Heightmap file&amp;gt; -t &amp;lt;Texture file&amp;gt; [--] [-v] [-h] &lt;br /&gt;
   &lt;br /&gt;
   &lt;br /&gt;
 Where:  &lt;br /&gt;
   &lt;br /&gt;
 -l, --lowpass &lt;br /&gt;
 Lowpass filters the heightmap &lt;br /&gt;
   &lt;br /&gt;
 -i, --invert &lt;br /&gt;
 Inverts the height map vertically (not the height values but the height map  &lt;br /&gt;
 (uhm someone rewrite this)) &lt;br /&gt;
   &lt;br /&gt;
 -c &amp;lt;compression&amp;gt;, --compress &amp;lt;compression&amp;gt; &lt;br /&gt;
 (value required) How much we should try to compress the texture file.  &lt;br /&gt;
 Default value 0.8 . (lower=higher quality, larger file) &lt;br /&gt;
   &lt;br /&gt;
 -x &amp;lt;max height&amp;gt;, --maxheight &amp;lt;max height&amp;gt; &lt;br /&gt;
 (required) (value required) What altitude in spring the max(0xffff) level  &lt;br /&gt;
 of the height map should represent &lt;br /&gt;
   &lt;br /&gt;
 -n &amp;lt;min height&amp;gt;, --minheight &amp;lt;min height&amp;gt; &lt;br /&gt;
 (required) (value required) What altitude in spring the min(0) level of  &lt;br /&gt;
 the height map should represent &lt;br /&gt;
   &lt;br /&gt;
 -o &amp;lt;Output file&amp;gt;, --outfile &amp;lt;Output file&amp;gt; &lt;br /&gt;
 (value required) The name of the created map &lt;br /&gt;
   &lt;br /&gt;
 -e &amp;lt;tile file&amp;gt;, --externaltilefile &amp;lt;tile file&amp;gt; &lt;br /&gt;
 (value required) External tile file that will be used for finding tiles,  &lt;br /&gt;
 tiles not found in this will be added in a new tile file &lt;br /&gt;
   &lt;br /&gt;
 -y &amp;lt;Typemap file&amp;gt;, --typemap &amp;lt;Typemap file&amp;gt; &lt;br /&gt;
 (value required) Type map to use, uses the red channel to decide type,  &lt;br /&gt;
 types are defined in the .smd, if this argument is skipped the map will be  &lt;br /&gt;
 all type 0 &lt;br /&gt;
   &lt;br /&gt;
 -m &amp;lt;Metalmap file&amp;gt;, --metalmap &amp;lt;Metalmap file&amp;gt; &lt;br /&gt;
 (required) (value required) Metal map to use, red channel is amount of  &lt;br /&gt;
 metal, green=255 is where to place geos (one pixel=one geo). Is resized to  &lt;br /&gt;
 fit the mapsize &lt;br /&gt;
   &lt;br /&gt;
 -a &amp;lt;Heightmap file&amp;gt;, --heightmap &amp;lt;Heightmap file&amp;gt; &lt;br /&gt;
 (required) (value required) Input heightmap to use for the map, this  &lt;br /&gt;
 should be in 16 bit raw format (.raw extension) or an image file. Must be  &lt;br /&gt;
 xsize*128+1 x ysize*128+1 in size. &lt;br /&gt;
   &lt;br /&gt;
 -t &amp;lt;Texture file&amp;gt;, --intex &amp;lt;Texture file&amp;gt; &lt;br /&gt;
 (required) (value required) Input bitmap to use for the map. Must be  &lt;br /&gt;
 xsize*1024 x ysize*1024 in size. (xsize,ysize integers determined from this  &lt;br /&gt;
 file) &lt;br /&gt;
   &lt;br /&gt;
 --, --ignore_rest &lt;br /&gt;
 Ignores the rest of the labeled arguments following this flag. &lt;br /&gt;
   &lt;br /&gt;
 -v, --version &lt;br /&gt;
 Displays version information and exits. &lt;br /&gt;
   &lt;br /&gt;
 -h, --help &lt;br /&gt;
 Displays usage information and exits. &lt;br /&gt;
   &lt;br /&gt;
   &lt;br /&gt;
Converts a series of .bmp/.raw files to a Spring map. This just creates the .smf file, you will also have to create a .smd file using a text editor or Maelstrom&#039;s SMD creator.&lt;br /&gt;
&lt;br /&gt;
==Mothers MapConv==&lt;br /&gt;
The usage is the same as above, with the following exceptions:&lt;br /&gt;
All features (including GeoVent/Tree/Grass) are now on their own FeatureMap.  This is a 24bit bmp specified with the -f &amp;lt;featuremapname.bmp&amp;gt; flag.&lt;br /&gt;
&#039;&#039;It should be 1/8th the resolution of your map.&#039;&#039; (i.e. 1 pixel smaller in each direction then your heightmap)&lt;br /&gt;
&lt;br /&gt;
Tree&#039;s and GeoVents are placed on the green layer.&lt;br /&gt;
*255 Places a GeoVent&lt;br /&gt;
*200-215 Places tree types 1-16&lt;br /&gt;
&lt;br /&gt;
MapConv will try to place these features in the exact spot you place them, it will then go into crackhead mode if it cannot.&lt;br /&gt;
&lt;br /&gt;
Grass is the blue layer.  The blue value  maps to a &#039;pseudo-density&#039; of the grass.  The &#039;grass&#039; map in the engine is very very low resolution,  so be aware that you will not get nice linear results.  255=full grass, 0=no grass.&lt;br /&gt;
&lt;br /&gt;
The red layer places &#039;Arbitrary Features,&#039; aka wreckages.  One pixel of red equals one feature.  Red &#039;255&#039; gives you a feature of the first arbitrary type, 254 the second, 253 the third, and so on.&lt;br /&gt;
&lt;br /&gt;
===But what are these &#039;Arbitrary Features,&#039; Im so confused!===&lt;br /&gt;
They are &#039;features&#039; found in the /features/All Worlds or /features/corpses filesystems.  Which feature is &#039;type 1&#039; is defined on a map-by-map basis via a new file called &#039;fs.txt&#039;.  This file should contain &amp;lt;cr&amp;gt; delimited feature names. The first line is the feature placed when a red=255 dot is found, etc.&lt;br /&gt;
&lt;br /&gt;
=== Ok, Now what do I do? ===&lt;br /&gt;
If you are using any custom features, and/or you want to mod-proof your map, you should include them in the sd7 that you package the map in.  The tree structure should look something like:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;mapname.sd7&amp;gt;&lt;br /&gt;
 -maps/&lt;br /&gt;
 -mapname.smf&lt;br /&gt;
 -mapname.smt&lt;br /&gt;
 -mapname.smd&lt;br /&gt;
 -Objects3d/&lt;br /&gt;
 -&amp;lt;featurename[s]&amp;gt;.3do(specified in the tdf)&lt;br /&gt;
 -features/&lt;br /&gt;
 -All Worlds/&lt;br /&gt;
 (and/or)&lt;br /&gt;
 -Corpses/&lt;br /&gt;
 -&amp;lt;featurename[s]&amp;gt;.tdf&lt;br /&gt;
 -textures/&lt;br /&gt;
 -tatex/&lt;br /&gt;
 -&amp;lt;texname[s]&amp;gt;00.bmp or .tga&lt;br /&gt;
&lt;br /&gt;
Without getting into modding/unit making I will say that the &amp;lt;code&amp;gt;.tdf&amp;lt;/code&amp;gt; tells you the name of the &amp;lt;code&amp;gt;.3do&amp;lt;/code&amp;gt; (&amp;quot;&amp;lt;code&amp;gt;Object=&amp;lt;/code&amp;gt;&amp;quot;), and the name of the &#039;feature&#039; is in the top brackets.  The &amp;lt;code&amp;gt;.3do&amp;lt;/code&amp;gt; specifies the texture names.  The engine looks for those texture names + 00 in either bmp or tga format in tatex. &lt;br /&gt;
&lt;br /&gt;
Examples of a built-in XTA wreckage name would be &amp;lt;code&amp;gt;armckfus_dead&amp;lt;/code&amp;gt; which would be looking for a tdf (likely &amp;lt;code&amp;gt;armckfus_dead.tdf&amp;lt;/code&amp;gt;) that has a &amp;lt;code&amp;gt;[armckfus_dead]&amp;lt;/code&amp;gt; section which then specified something like:&lt;br /&gt;
&amp;lt;code&amp;gt;Object=armckfus_dead&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;armckfus_dead.3do&amp;lt;/code&amp;gt; would then specify some texture like &amp;lt;code&amp;gt;wreck01b&amp;lt;/code&amp;gt; which would go looking for either a &amp;lt;code&amp;gt;wreck01b00.bmp&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;wreck01b00.tga&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
[http://fileuniverse.com/?p=showitem&amp;amp;ID=1421 Start with this version of MapConv]&lt;br /&gt;
or&lt;br /&gt;
[http://www.fileuniverse.com/?p=showitem&amp;amp;ID=1507 This one]&lt;br /&gt;
[I will clean this up and add more later --Mother]&lt;br /&gt;
&lt;br /&gt;
==Making your map work==&lt;br /&gt;
This is the final push. Once Sharp map has finshed it will spit out a .sm2 file. This needs to be copied to the MAPS folder in Spring. But you still need one more thing: an .smd file. Basically, this file tells the game things like the maximum metal, the light colours, the clouds, etc. (All the bits you were thinking that you hadn&#039;t done yet!)&lt;br /&gt;
&lt;br /&gt;
I would suggest you copy the .smd of another map and fiddle with the settings until you get what you want. smd&#039;s can be opened in notepad or similar. Look at all the .smd&#039;s so you can get a jist of what each option does. Make sure both the .sm2 and .smd have the same file name then start up Spring (not the client!) in [http://taspring.clan-sy.com/wiki/FAQ#People_talk_about_.27Single_Player.27._How_do_I_start_a_single_player_game.3F single-player mode] and run the commanders script. Choose your map and away you go!&lt;br /&gt;
&lt;br /&gt;
==SMD Rundown==&lt;br /&gt;
What follows is all that we (aGorm and LathanStanley) have figured out in the SMD&#039;s. Its by no means the be all and end all, but it&#039;s the next best thing.&lt;br /&gt;
&lt;br /&gt;
* Goto [[Maps:SMD]] for a more detailed listing&lt;br /&gt;
 &lt;br /&gt;
===General Map Information===&lt;br /&gt;
* Description is just a short description of your map. Keep it simple.&lt;br /&gt;
* TidalStrength determines how much energy tidal generators will produce. A normal figure is around 20.&lt;br /&gt;
* Gravity, as you would expect, affects ballisitcs and how far units fly after an explosion.&lt;br /&gt;
* MaxMetal is the maximum amount of metal you will gain from one game square in 1 second from an area of metal that had a red value of 255 in your metal map. If making an old style metal deposit map, then this will be quite high: maybe 2 or 3. If you are making a new style metal-all-over-the-place-map, then it will be low: perhaps 0.2. Also for old style maps, you&#039;ll have to fiddle with the...&lt;br /&gt;
* ExtractorRadius, which is the area that is harvested by 1 metal extractor. For old style maps make this very small, so as they only take from one deposit.&lt;br /&gt;
&lt;br /&gt;
=== Atmosphere, Water Colours ===&lt;br /&gt;
Each value (it would appear this bit is by no means gospel) is a representation of the [[RGB]] values for that parameter. It would appear to be relative, i.e. you can put in what ever numbers you like and the game will work out what you want. &lt;br /&gt;
&lt;br /&gt;
The best way to go about it is to look at it as percentages.&lt;br /&gt;
The numbers 1, 0.5, 0.2 refer to 100% red, 50% green and 20% blue. But 2, 1, 0.4, will get the same result. Using numbers below one for all the numbers will result in the colour being less bright.&lt;br /&gt;
&lt;br /&gt;
This is all a bit confusing so an example will be given:&lt;br /&gt;
&lt;br /&gt;
 SkyColor=0.2 0.1 0.5;&lt;br /&gt;
&lt;br /&gt;
In this example the sky is coloured with 20% red, 10% green, and 50% blue, approximatly RGB(51,25,127), resulting in a very deep night-time blue. Other colours are added to the initial sky colour. If you set your sun as being a pale yellow and it came out rather green, this is why. &lt;br /&gt;
&lt;br /&gt;
One helpful tip is &#039;&#039;negative&#039;&#039; colour. That&#039;s right: you can type in a negative number for a colour and it will remove it from the base sky colour. Just be careful not to go below the original values or you may get a surprise.&lt;br /&gt;
&lt;br /&gt;
===The Sun System/Shadow System===&lt;br /&gt;
The Sun System/Shadow System is quite a useful tool as well in making your maps look &#039;&#039;well done&#039;&#039;.  &lt;br /&gt;
Within the &amp;lt;code&amp;gt;.smd&amp;lt;/code&amp;gt; file there is a line: &lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;SunDir=-1 1 -.5;	//direction of sun&amp;lt;/code&amp;gt; &amp;lt;small&amp;gt;(The part after the &amp;quot;//&amp;quot; is a comment)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The numbers &amp;quot;-1&amp;quot;, &amp;quot;1&amp;quot;, &amp;quot;.5&amp;quot; determine the angle and elevation of the sunlight system. &lt;br /&gt;
&lt;br /&gt;
The first number is the X angle (East/West) (from -1 to 1) where any negative number means the sun is on the West (and therefore shadows will be cast east), and any positive number means the sun is on the East (and therefore shadows will be cast west), and if the number is 0 there are no east or west shadows, the sun is directly above you. &lt;br /&gt;
&lt;br /&gt;
The second is its elevation, (0 to 1), this number is how far from the horizion the sun is, ignoring it&#039;s angle. Thus, 1 puts the sun directly overhead (while still casting angular shadows) and 0 putting it directly on the horizion. &lt;br /&gt;
&lt;br /&gt;
The final number is the Z angle (North/South). (I know, I know, they wrote the engine with Y as elevation and Z as vertical. Don&#039;t blame me.) It is just like the East West positioning, where negative numbers put them on the North, and positive numbers put them on the South. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example Usage:&#039;&#039;&#039; If you want the shadows &#039;&#039;in&#039;&#039; one of the boxes (your shadow casting surface is in the middle), use the numbers provided, or start from them and tweak the angle and sun height as seen fit.&lt;br /&gt;
&lt;br /&gt;
[[Image:ShadowDirection.gif]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; on the current build, it &#039;&#039;will&#039;&#039; cast the shadows in the proper direction, etc. Negative direction numbers tend to make some maps unstable and cause crashes. The best solution would be to rotate or flip your map to where the shadows point up or right (North or West). I do believe these bugs are being worked on and will be fixed soon.&lt;br /&gt;
&lt;br /&gt;
We can only hope this has been helpful! Any questions, or things you think we have missed, please ask us in the maps section.&lt;br /&gt;
&lt;br /&gt;
[[Category:Map making]]&lt;/div&gt;</summary>
		<author><name>Ansuz</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Tutorial:CreateMaps(Fnordia_et_al)&amp;diff=18587</id>
		<title>Tutorial:CreateMaps(Fnordia et al)</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Tutorial:CreateMaps(Fnordia_et_al)&amp;diff=18587"/>
		<updated>2007-03-27T02:41:58Z</updated>

		<summary type="html">&lt;p&gt;Ansuz: /* Texture Map */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Original by aGorm, with help from LathanStanley&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==The Idea==&lt;br /&gt;
First of all you need an idea. There is no point (OK, there is some point for test purposes) in making a map just like another one that already exists. You need to think of certain things before you make your map.&lt;br /&gt;
# Is this map idea different, not just a copy of someone else&#039;s?&lt;br /&gt;
# Does my map idea give each player a fair share of the cover and high ground?&lt;br /&gt;
# Is my map idea possible to make?&lt;br /&gt;
# Is it possible with the amount of time I&#039;m willing to spend?&lt;br /&gt;
&lt;br /&gt;
If you answered yes to the above, then you are 25% of the way towards making your map!&lt;br /&gt;
&lt;br /&gt;
You should probably doodle it on a piece of paper to act as a guide later.&lt;br /&gt;
&lt;br /&gt;
==The Tools==&lt;br /&gt;
With your idea hopefully sketched out, it&#039;s time to get the tools to make the map! (You can skip this if you already have them.)&lt;br /&gt;
&lt;br /&gt;
For all your map compiling needs you should first download the [http://fileuniverse.com/?p=showitem&amp;amp;ID=1234 newest MapConv program].&lt;br /&gt;
&lt;br /&gt;
You will also need some image editing software. Favorites are Photoshop, the [http://www.gimp.org/ GIMP], And Paintshop Pro.&lt;br /&gt;
The GIMP, however, is the only one that&#039;s free!&lt;br /&gt;
(I&#039;m going to have to assume you know how to use the program you choose. If you can&#039;t there are loads of tutorials on the net.)&lt;br /&gt;
&lt;br /&gt;
You may also want to check out [http://www.planetside.co.uk/terragen/ Terragen] for generating terrain. But as you have to pay to render anything of a good size, I won&#039;t mention it other than here.&lt;br /&gt;
&lt;br /&gt;
Another tool you might find useful is the freeware tool [http://www.delphigl.de/projects/terrtexgen/eng_index.html TerrTexGen].  It&#039;s useful for previewing your heightmap before compiling, but unless your texturemap is 4096 on both sides, you might find that the texturemaps that it creates are too small.&lt;br /&gt;
&lt;br /&gt;
Finally, there is tool called [http://www.bundysoft.com/L3DT/ L3DT] which you might also find useful.  It seems to be a program that is specificly designed for creating large height/texture maps.  The free version is capable of rendering a heightmap as big as 4096x4096, and can generate a texturemap that is proportional to the heightmap.  Of the mentioned packages, this seems the most useful and complete.&lt;br /&gt;
&lt;br /&gt;
==Preparing your map==&lt;br /&gt;
This is the fun part! And also, often, the longest part.&lt;br /&gt;
&lt;br /&gt;
For a map you will need several different things:&lt;br /&gt;
# a texture map&lt;br /&gt;
# a height map&lt;br /&gt;
# a metal map&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
They all have certain needs! Read this bit carfully!&lt;br /&gt;
&lt;br /&gt;
===Texture Map===&lt;br /&gt;
All maps are based on a texture image. This image&#039;s width and height must be an exact multiple of 1024 pixels. So, for instance, you can have a &amp;quot;4096 by 8192&amp;quot; image, but not a &amp;quot;4096 by 4608&amp;quot; image, as 4608 does not divide by 1024. It, like  all three maps, must be saved as a 24 bit BMP. A 1024x1024 Texture will produce a map shown as &#039;2x2&#039; in the launcher.&lt;br /&gt;
&lt;br /&gt;
It may look like whatever you want! Find a texture (preferably, one that you can tile seamlessly) and fill your texture map with it. You could, for instance, fill the whole image with a sand texture. This would make your whole world look like sand. You could then decide to add a few patches of grass to it by finding a suitable grass texture and adding it on patches. So you&#039;d have a map that was mostly sand with a few patches of green.&lt;br /&gt;
&lt;br /&gt;
Because of the way the map compiler works, it will &#039;&#039;&#039;greatly&#039;&#039;&#039; reduce your map filesize if you use 32x32 tiles on your texture map. So, whenever you have to fill a large area with a repeating pattern, make sure the small square you&#039;re repeating is 32x32 (or a multiple of it).&lt;br /&gt;
&lt;br /&gt;
===Height Map===&lt;br /&gt;
Next is the height map. This must be exactly one eighth (1/8) of the size of the texture map &#039;&#039;&#039;+ 1 pixel!&#039;&#039;&#039; For instance, if the dimensions of your texture map are &amp;quot;4096 by 8192&amp;quot;, divide 4096 and 8192 each by 8 and add one to the result of each. The result for this example would be &amp;quot;513 by 1025&amp;quot;. The height map is a black and white BMP. Only use black and white, no colour! (well its better to work it as a greyscale image, and when saving to process, convert to rgb and save as bmp, that way you get a 24 bit bmp)&lt;br /&gt;
&lt;br /&gt;
White areas are the tops of mountains; black areas are the sea floor or the bottom of valleys. The shades of grey between are the different heights between! When you draw your heightmap, make sure the white blends into the black with greys. I suggest you use the blur tool. If you have a white splodge in a patch of black you will have a very tall pillar that won&#039;t look natural at all!&lt;br /&gt;
&lt;br /&gt;
===Metal Map===&lt;br /&gt;
Finally, you need a metal map. This is the same size as the height map, one eighth (1/8) of the size of the texture map &#039;&#039;&#039;+ 1 pixel.&#039;&#039;&#039; On this one you paint down red (in verying degrees) to represent metal. So a red spot that is RGB(50,0,0) will provide about a 5th of the metal patch of red RGB(255,0,0) will give.&lt;br /&gt;
&lt;br /&gt;
On this map you can also place green pixels. Each green pixel will create 1 geothermal vent. If you put down a green splodge you will get a cluster of geo vents! Only place 1 pixel.&lt;br /&gt;
&lt;br /&gt;
Ensure you have all three saved as 24 bit BMPs and you&#039;re ready to convert it all to a map!&lt;br /&gt;
&lt;br /&gt;
== MapConv.exe ==&lt;br /&gt;
&lt;br /&gt;
Instructions pulled from [http://fileuniverse.com/?p=showitem&amp;amp;ID=1234 the newest MapConv program]. If all goes well, the &amp;lt;code&amp;gt;MapConv.exe&amp;lt;/code&amp;gt; should create four new files: &amp;lt;code&amp;gt;mini.bmp&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;mini.dds&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;yourmapname.smf&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;yourmapname.smt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 USAGE:  &lt;br /&gt;
   &lt;br /&gt;
 mapconv [-l] [-i] [-c &amp;lt;compression&amp;gt;] -x &amp;lt;max height&amp;gt; -n &amp;lt;min height&amp;gt; [-o  &lt;br /&gt;
 &amp;lt;Output file&amp;gt;] [-e &amp;lt;tile file&amp;gt;] [-y &amp;lt;Typemap file&amp;gt;] -m &amp;lt;Metalmap file&amp;gt; -a  &lt;br /&gt;
 &amp;lt;Heightmap file&amp;gt; -t &amp;lt;Texture file&amp;gt; [--] [-v] [-h] &lt;br /&gt;
   &lt;br /&gt;
   &lt;br /&gt;
 Where:  &lt;br /&gt;
   &lt;br /&gt;
 -l, --lowpass &lt;br /&gt;
 Lowpass filters the heightmap &lt;br /&gt;
   &lt;br /&gt;
 -i, --invert &lt;br /&gt;
 Inverts the height map vertically (not the height values but the height map  &lt;br /&gt;
 (uhm someone rewrite this)) &lt;br /&gt;
   &lt;br /&gt;
 -c &amp;lt;compression&amp;gt;, --compress &amp;lt;compression&amp;gt; &lt;br /&gt;
 (value required) How much we should try to compress the texture file.  &lt;br /&gt;
 Default value 0.8 . (lower=higher quality, larger file) &lt;br /&gt;
   &lt;br /&gt;
 -x &amp;lt;max height&amp;gt;, --maxheight &amp;lt;max height&amp;gt; &lt;br /&gt;
 (required) (value required) What altitude in spring the max(0xffff) level  &lt;br /&gt;
 of the height map should represent &lt;br /&gt;
   &lt;br /&gt;
 -n &amp;lt;min height&amp;gt;, --minheight &amp;lt;min height&amp;gt; &lt;br /&gt;
 (required) (value required) What altitude in spring the min(0) level of  &lt;br /&gt;
 the height map should represent &lt;br /&gt;
   &lt;br /&gt;
 -o &amp;lt;Output file&amp;gt;, --outfile &amp;lt;Output file&amp;gt; &lt;br /&gt;
 (value required) The name of the created map &lt;br /&gt;
   &lt;br /&gt;
 -e &amp;lt;tile file&amp;gt;, --externaltilefile &amp;lt;tile file&amp;gt; &lt;br /&gt;
 (value required) External tile file that will be used for finding tiles,  &lt;br /&gt;
 tiles not found in this will be added in a new tile file &lt;br /&gt;
   &lt;br /&gt;
 -y &amp;lt;Typemap file&amp;gt;, --typemap &amp;lt;Typemap file&amp;gt; &lt;br /&gt;
 (value required) Type map to use, uses the red channel to decide type,  &lt;br /&gt;
 types are defined in the .smd, if this argument is skipped the map will be  &lt;br /&gt;
 all type 0 &lt;br /&gt;
   &lt;br /&gt;
 -m &amp;lt;Metalmap file&amp;gt;, --metalmap &amp;lt;Metalmap file&amp;gt; &lt;br /&gt;
 (required) (value required) Metal map to use, red channel is amount of  &lt;br /&gt;
 metal, green=255 is where to place geos (one pixel=one geo). Is resized to  &lt;br /&gt;
 fit the mapsize &lt;br /&gt;
   &lt;br /&gt;
 -a &amp;lt;Heightmap file&amp;gt;, --heightmap &amp;lt;Heightmap file&amp;gt; &lt;br /&gt;
 (required) (value required) Input heightmap to use for the map, this  &lt;br /&gt;
 should be in 16 bit raw format (.raw extension) or an image file. Must be  &lt;br /&gt;
 xsize*128+1 x ysize*128+1 in size. &lt;br /&gt;
   &lt;br /&gt;
 -t &amp;lt;Texture file&amp;gt;, --intex &amp;lt;Texture file&amp;gt; &lt;br /&gt;
 (required) (value required) Input bitmap to use for the map. Must be  &lt;br /&gt;
 xsize*1024 x ysize*1024 in size. (xsize,ysize integers determined from this  &lt;br /&gt;
 file) &lt;br /&gt;
   &lt;br /&gt;
 --, --ignore_rest &lt;br /&gt;
 Ignores the rest of the labeled arguments following this flag. &lt;br /&gt;
   &lt;br /&gt;
 -v, --version &lt;br /&gt;
 Displays version information and exits. &lt;br /&gt;
   &lt;br /&gt;
 -h, --help &lt;br /&gt;
 Displays usage information and exits. &lt;br /&gt;
   &lt;br /&gt;
   &lt;br /&gt;
Converts a series of .bmp/.raw files to a Spring map. This just creates the .smf file, you will also have to create a .smd file using a text editor or Maelstrom&#039;s SMD creator.&lt;br /&gt;
&lt;br /&gt;
==Mothers MapConv==&lt;br /&gt;
The usage is the same as above, with the following exceptions:&lt;br /&gt;
All features (including GeoVent/Tree/Grass) are now on their own FeatureMap.  This is a 24bit bmp specified with the -f &amp;lt;featuremapname.bmp&amp;gt; flag.&lt;br /&gt;
&#039;&#039;It should be 1/8th the resolution of your map.&#039;&#039; (i.e. 1 pixel smaller in each direction then your heightmap)&lt;br /&gt;
&lt;br /&gt;
Tree&#039;s and GeoVents are placed on the green layer.&lt;br /&gt;
*255 Places a GeoVent&lt;br /&gt;
*200-215 Places tree types 1-16&lt;br /&gt;
&lt;br /&gt;
MapConv will try to place these features in the exact spot you place them, it will then go into crackhead mode if it cannot.&lt;br /&gt;
&lt;br /&gt;
Grass is the blue layer.  The blue value  maps to a &#039;pseudo-density&#039; of the grass.  The &#039;grass&#039; map in the engine is very very low resolution,  so be aware that you will not get nice linear results.  255=full grass, 0=no grass.&lt;br /&gt;
&lt;br /&gt;
The red layer places &#039;Arbitrary Features,&#039; aka wreckages.  One pixel of red equals one feature.  Red &#039;255&#039; gives you a feature of the first arbitrary type, 254 the second, 253 the third, and so on.&lt;br /&gt;
&lt;br /&gt;
===But what are these &#039;Arbitrary Features,&#039; Im so confused!===&lt;br /&gt;
They are &#039;features&#039; found in the /features/All Worlds or /features/corpses filesystems.  Which feature is &#039;type 1&#039; is defined on a map-by-map basis via a new file called &#039;fs.txt&#039;.  This file should contain &amp;lt;cr&amp;gt; delimited feature names. The first line is the feature placed when a red=255 dot is found, etc.&lt;br /&gt;
&lt;br /&gt;
=== Ok, Now what do I do? ===&lt;br /&gt;
If you are using any custom features, and/or you want to mod-proof your map, you should include them in the sd7 that you package the map in.  The tree structure should look something like:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;mapname.sd7&amp;gt;&lt;br /&gt;
 -maps/&lt;br /&gt;
 -mapname.smf&lt;br /&gt;
 -mapname.smt&lt;br /&gt;
 -mapname.smd&lt;br /&gt;
 -Objects3d/&lt;br /&gt;
 -&amp;lt;featurename[s]&amp;gt;.3do(specified in the tdf)&lt;br /&gt;
 -features/&lt;br /&gt;
 -All Worlds/&lt;br /&gt;
 (and/or)&lt;br /&gt;
 -Corpses/&lt;br /&gt;
 -&amp;lt;featurename[s]&amp;gt;.tdf&lt;br /&gt;
 -textures/&lt;br /&gt;
 -tatex/&lt;br /&gt;
 -&amp;lt;texname[s]&amp;gt;00.bmp or .tga&lt;br /&gt;
&lt;br /&gt;
Without getting into modding/unit making I will say that the &amp;lt;code&amp;gt;.tdf&amp;lt;/code&amp;gt; tells you the name of the &amp;lt;code&amp;gt;.3do&amp;lt;/code&amp;gt; (&amp;quot;&amp;lt;code&amp;gt;Object=&amp;lt;/code&amp;gt;&amp;quot;), and the name of the &#039;feature&#039; is in the top brackets.  The &amp;lt;code&amp;gt;.3do&amp;lt;/code&amp;gt; specifies the texture names.  The engine looks for those texture names + 00 in either bmp or tga format in tatex. &lt;br /&gt;
&lt;br /&gt;
Examples of a built-in XTA wreckage name would be &amp;lt;code&amp;gt;armckfus_dead&amp;lt;/code&amp;gt; which would be looking for a tdf (likely &amp;lt;code&amp;gt;armckfus_dead.tdf&amp;lt;/code&amp;gt;) that has a &amp;lt;code&amp;gt;[armckfus_dead]&amp;lt;/code&amp;gt; section which then specified something like:&lt;br /&gt;
&amp;lt;code&amp;gt;Object=armckfus_dead&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;armckfus_dead.3do&amp;lt;/code&amp;gt; would then specify some texture like &amp;lt;code&amp;gt;wreck01b&amp;lt;/code&amp;gt; which would go looking for either a &amp;lt;code&amp;gt;wreck01b00.bmp&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;wreck01b00.tga&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
[http://fileuniverse.com/?p=showitem&amp;amp;ID=1421 Start with this version of MapConv]&lt;br /&gt;
or&lt;br /&gt;
[http://www.fileuniverse.com/?p=showitem&amp;amp;ID=1507 This one]&lt;br /&gt;
[I will clean this up and add more later --Mother]&lt;br /&gt;
&lt;br /&gt;
==Making your map work==&lt;br /&gt;
This is the final push. Once Sharp map has finshed it will spit out a .sm2 file. This needs to be copyed to the MAPS folder in Spring. But you still need one more thing: an .smd file. Basically, this file tells the game things like the maximum metal, the light colours, the clouds, etc. (All the bits you were thinking that you hadn&#039;t done yet!)&lt;br /&gt;
&lt;br /&gt;
I would suggest you copy the .smd of another map and fiddle with the settings until you get what you want. smd&#039;s can be opened in notepade or similar. Look at all the .smd&#039;s so you can get a jist of what each option does. Make sure both the .sm2 and .smd have the same file name then start up Spring (not the client!) in [http://taspring.clan-sy.com/wiki/FAQ#People_talk_about_.27Single_Player.27._How_do_I_start_a_single_player_game.3F single-player mode] and run the commanders script. Choose your map and away you go!&lt;br /&gt;
&lt;br /&gt;
==SMD Rundown==&lt;br /&gt;
What follows is all that we (aGorm and LathanStanley) have figured out in the SMD&#039;s. Its by no means the be all and end all, but it&#039;s the next best thing.&lt;br /&gt;
&lt;br /&gt;
* Goto [[Maps:SMD]] for a more detailed listing&lt;br /&gt;
 &lt;br /&gt;
===General Map Information===&lt;br /&gt;
* Description is just a short description of your map. Keep it simple.&lt;br /&gt;
* TidalStrength determines how much energy tidal generators will produce. A normal figure is around 20.&lt;br /&gt;
* Gravity, as you would expect, affects ballisitcs and how far units fly after an explosion.&lt;br /&gt;
* MaxMetal is the maximum amount of metal you will gain from one game square in 1 second from an area of metal that had a red value of 255 in your metal map. If making an old style metal deposit map, then this will be quite high: maybe 2 or 3. If you are making a new style metal-all-over-the-place-map, then it will be low: perhaps 0.2. Also for old style maps, you&#039;ll have to fiddle with the...&lt;br /&gt;
* ExtractorRadius, which is the area that is harvested by 1 metal extractor. For old style maps make this very small, so as they only take from one deposit.&lt;br /&gt;
&lt;br /&gt;
=== Atmosphere, Water Colours ===&lt;br /&gt;
Each value (it would appear this bit is by no means gospel) is a representation of the [[RGB]] values for that parameter. It would appear to be relative, i.e. you can put in what ever numbers you like and the game will work out what you want. &lt;br /&gt;
&lt;br /&gt;
The best way to go about it is to look at it as percentages.&lt;br /&gt;
The numbers 1, 0.5, 0.2 refer to 100% red, 50% green and 20% blue. But 2, 1, 0.4, will get the same result. Using numbers below one for all the numbers will result in the colour being less bright.&lt;br /&gt;
&lt;br /&gt;
This is all a bit confusing so an example will be given:&lt;br /&gt;
&lt;br /&gt;
 SkyColor=0.2 0.1 0.5;&lt;br /&gt;
&lt;br /&gt;
In this example the sky is coloured with 20% red, 10% green, and 50% blue, approximatly RGB(51,25,127), resulting in a very deep night-time blue. Other colours are added to the initial sky colour. If you set your sun as being a pale yellow and it came out rather green, this is why. &lt;br /&gt;
&lt;br /&gt;
One helpful tip is &#039;&#039;negative&#039;&#039; colour. That&#039;s right: you can type in a negative number for a colour and it will remove it from the base sky colour. Just be careful not to go below the original values or you may get a surprise.&lt;br /&gt;
&lt;br /&gt;
===The Sun System/Shadow System===&lt;br /&gt;
The Sun System/Shadow System is quite a useful tool as well in making your maps look &#039;&#039;well done&#039;&#039;.  &lt;br /&gt;
Within the &amp;lt;code&amp;gt;.smd&amp;lt;/code&amp;gt; file there is a line: &lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;SunDir=-1 1 -.5;	//direction of sun&amp;lt;/code&amp;gt; &amp;lt;small&amp;gt;(The part after the &amp;quot;//&amp;quot; is a comment)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The numbers &amp;quot;-1&amp;quot;, &amp;quot;1&amp;quot;, &amp;quot;.5&amp;quot; determine the angle and elevation of the sunlight system. &lt;br /&gt;
&lt;br /&gt;
The first number is the X angle (East/West) (from -1 to 1) where any negative number means the sun is on the West (and therefore shadows will be cast east), and any positive number means the sun is on the East (and therefore shadows will be cast west), and if the number is 0 there are no east or west shadows, the sun is directly above you. &lt;br /&gt;
&lt;br /&gt;
The second is its elevation, (0 to 1), this number is how far from the horizion the sun is, ignoring it&#039;s angle. Thus, 1 puts the sun directly overhead (while still casting angular shadows) and 0 putting it directly on the horizion. &lt;br /&gt;
&lt;br /&gt;
The final number is the Z angle (North/South). (I know, I know, they wrote the engine with Y as elevation and Z as vertical. Don&#039;t blame me.) It is just like the East West positioning, where negative numbers put them on the North, and positive numbers put them on the South. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example Usage:&#039;&#039;&#039; If you want the shadows &#039;&#039;in&#039;&#039; one of the boxes (your shadow casting surface is in the middle), use the numbers provided, or start from them and tweak the angle and sun height as seen fit.&lt;br /&gt;
&lt;br /&gt;
[[Image:ShadowDirection.gif]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; on the current build, it &#039;&#039;will&#039;&#039; cast the shadows in the proper direction, etc. Negative direction numbers tend to make some maps unstable and cause crashes. The best solution would be to rotate or flip your map to where the shadows point up or right (North or West). I do believe these bugs are being worked on and will be fixed soon.&lt;br /&gt;
&lt;br /&gt;
We can only hope this has been helpful! Any questions, or things you think we have missed, please ask us in the maps section.&lt;br /&gt;
&lt;br /&gt;
[[Category:Map making]]&lt;/div&gt;</summary>
		<author><name>Ansuz</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Simple_Game_Tutorial&amp;diff=16851</id>
		<title>Simple Game Tutorial</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Simple_Game_Tutorial&amp;diff=16851"/>
		<updated>2007-02-28T00:09:09Z</updated>

		<summary type="html">&lt;p&gt;Ansuz: /* Step 2:Getting Da Tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Until I Finish [[Mod Development]] is the place to go.&lt;br /&gt;
&lt;br /&gt;
This Tutorial Aims to get a person from knowing nothing about Spring to the point where they can create and edit mods.&lt;br /&gt;
&lt;br /&gt;
Right now I am working from memory so you may want to correct me when I&#039;m wrong, I will try to cross link from my summaries to the appropriate articles available in other places.&lt;br /&gt;
&lt;br /&gt;
I will not go too deep into making 3do&#039;s because they are old and dumb... but I&#039;ll try to make note of the differences here.&lt;br /&gt;
&lt;br /&gt;
I don&#039;t know anything about scripting right now, so that section is likely to be sparse when I write it, I hope that someone will expand on it.&lt;br /&gt;
&lt;br /&gt;
=Book 1: The First Unit=&lt;br /&gt;
&lt;br /&gt;
==Step 1:Planning==&lt;br /&gt;
Who cares about planning, you know what you&#039;re doing... just come up with an idea for a mod... I made a chess set... if you don&#039;t have a real idea and just want to make a model show up in the game... then yeah... this is the place to start... I&#039;d do that if I were you.&lt;br /&gt;
&lt;br /&gt;
Another good thing to do at this point is to creat a &amp;quot;working directory&amp;quot;, and inside it create a directory with the name that your mod will have... after many headaches I decided it&#039;s best to put this in the root directory of your system so it&#039;s really easy to find when you are switching around back and forth between folders and keep having to find your files over and over again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Step 2:Getting Da Tools==&lt;br /&gt;
You will need a bunch of stuff... here&#039;s the list (I assume you are using windows)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Want:&#039;&#039;&lt;br /&gt;
*[http://taspring.clan-sy.com/download.php Spring] - The main program, you will likely need this to test if you&#039;ve screwed up&lt;br /&gt;
*A Tiny Map (2x2) - to test your mod fast (suggest [http://www.fileuniverse.com/?p=showitem&amp;amp;ID=2534 Simple Chess Map])&lt;br /&gt;
*[http://www.darkstars.co.uk/index.php?name=Forums&amp;amp;file=viewtopic&amp;amp;p=17 SpringSP] - To load up your mod and your map in spring without confusing lobby folks&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Need:&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Program listings can be found here:&#039;&#039;&#039; &#039;&#039;&#039;[http://taspring.clan-sy.com/wiki/Map%2C_Mod%2C_And_Unit_Development_Programs Map, Mod, And Unit Development Programs]&#039;&#039;&#039;&lt;br /&gt;
*3D Modeling Program - &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Notepad - to edit all the miriad of text files&lt;br /&gt;
*A Graphical Editing Program - needs to handle RGBA TGAs (aka tga&#039;s with alpha channels), I suggest Photoshop if you have it, or The GIMP... needed for all of the texture making for UVmapping stuff... &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Upspring 1.3 - To convert your models to the approprite s3o format (if you want to fight with 3do builder, then go ahead... a good trick is to get your model into upspring first and adjust all the hierachy, then save it as an 3do... but why bother?). &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Scriptor - to make and compile your units &amp;quot;animation script&amp;quot;... or steal someone else&#039;s and make it work for your unit. &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Compression Utility - (I suggest [http://www.7-zip.org/ 7zip] - even if you are using zip compression and not 7zip, it&#039;s still good to have)&lt;br /&gt;
&lt;br /&gt;
==Step 3:Making a 3D Model==&lt;br /&gt;
&lt;br /&gt;
Go into your 3D modelling program and make a 3D model, [http://taspring.clan-sy.com/w/images/b/b4/WingsCombine.PNG combine] all the objects and UV map the model, then separate it out into any parts that need to move independently of each other.  Then Export the UV map as an Image File and Export the whole thing as a 3ds file.  Put the original wings file, the UVMap image and the 3ds file into your working directory so you can find them later.&lt;br /&gt;
&lt;br /&gt;
Wings 3D UV Mapping tutorial has been started here - [[Units:CreateModel]]&lt;br /&gt;
&lt;br /&gt;
==Step 4:Fixing Your Images==&lt;br /&gt;
&lt;br /&gt;
[[Basic s3o unit making guide|This Article includes a UVMapping Guide]]&lt;br /&gt;
&lt;br /&gt;
Open up your UVMap in Photoshop (or whatever) go to the layer/chooser thingy and go to the Channels Tab, add a new layer (it should default to alpha) and fill it with 99% black so you can see your texture in upspring.  If you want to can paint the UVmap and put white (1% black) on the alpha channel where you want your team colours to show up (you can use something between 1% and 99% to get a blend of your team colour along with the texture... for example 50% will give you your texture with 50% of the team colour mixed in...)&lt;br /&gt;
&lt;br /&gt;
I don&#039;t know how to do glow maps... XXreminder for someone to create a Glowmapping tutorial... you don&#039;t acctually need one for the model to show up.&lt;br /&gt;
&lt;br /&gt;
Save these images both in the working directory.&lt;br /&gt;
&lt;br /&gt;
Save a copy of these images in tga format into &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/unittextures&lt;br /&gt;
&lt;br /&gt;
==Step 5:Upspring==&lt;br /&gt;
&lt;br /&gt;
===Importing Your 3ds===&lt;br /&gt;
Open Upspring 1.3, go to file&amp;gt;load model and navigate to and open your 3DS model you exported, you should see the model in upspring as a 3d mesh.  Go to the model tab and set the radius and height values to something other then zero... this defines where the health bar will show up, and more importantly, how big the collision sphere will be.&lt;br /&gt;
&lt;br /&gt;
You will also need to use all of the other tools on those tabs to resize and rotate and move your model to the right place... wings makes models that are 90 degrees off and about 30 times smaller than most spring models... make sure you click the &amp;quot;apply transform&amp;quot; button after any changes that you actually want to show up in the game.&lt;br /&gt;
&lt;br /&gt;
Also, you will want to make the hierachy work using the cut, paste, and add empty buttons.  You will need an object called &amp;quot;base&amp;quot; that all the other objects are connected to... the &amp;quot;origin object&amp;quot;... sometimes you get lucky and wings exports it properly... usually not.&lt;br /&gt;
&lt;br /&gt;
===Importing Your UV and Glowmaps===&lt;br /&gt;
&lt;br /&gt;
Go to the textures tab and make your UV/texture/team-colour map as &amp;quot;texture1&amp;quot; and your UV/glow/reflectivity map as &amp;quot;texture2&amp;quot;... it should show up correctly in the preview pane.&lt;br /&gt;
&lt;br /&gt;
===Exporting Your s3o===&lt;br /&gt;
Choose File&amp;gt;Save Model As then in the drop down select &amp;quot;s3o&amp;quot; and type an appropriate name. This model should be saved to your working directory, and a copy of it made to &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/3dobjects/&lt;br /&gt;
&lt;br /&gt;
==Step 6:A couple Text Files==&lt;br /&gt;
&lt;br /&gt;
===UnitName.fbi===&lt;br /&gt;
For Reference visit [[Units:FBI]], but again, the easiest way to do this is to extract an existing mod and find the fbi for a unit that behaves similarly to the one you are trying to make and rename and modify it.&lt;br /&gt;
&lt;br /&gt;
Some More Specific Information Not Clear in the &amp;quot;Units:FBI&amp;quot; article:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name+&amp;quot; &amp;quot;+Description=Spring Display Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So is you have the following settings:&lt;br /&gt;
&lt;br /&gt;
 Name=Tiger;&lt;br /&gt;
 Description=Fast Attack C.A.T.;&lt;br /&gt;
&lt;br /&gt;
The Tooltip will show &amp;quot;Tiger Fast Attack C.A.T.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;BuildPic Defaults to UnitName.bmp&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So if you leave out &amp;quot;BuildPic=filename.bmp;&amp;quot; Spring will look in /unitpics/ for a file called &amp;quot;UnitName.bmp&amp;quot; to use as your buildpic.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ObjectName&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you want to use an s3o object, you will need to specify with &amp;quot;ObjectName=UnitName&#039;&#039;&#039;.S3O;&#039;&#039;&#039;&amp;quot; otherwise it will look for &amp;quot;UnitName.3do&amp;quot;.  Also, you don&#039;t have to use &amp;quot;UnitName&amp;quot; as the filename and, in fact, multiple Unit&#039;s fbi files can reference the same 3D models. It is easier, however, for people to figure out what you are doing in your mod if you follow the standards.&lt;br /&gt;
&lt;br /&gt;
Save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/units/&lt;br /&gt;
&lt;br /&gt;
===modinfo.tdf===&lt;br /&gt;
&lt;br /&gt;
modinfo.tdf is a text file that defines a number of things that are used when loading a mod, most of the information is self explanitory but basically what you are doing is defining what is going to show up in whatever mod-selection interface you use as well as what other files need to be loaded into memory in order for your mod to work.&lt;br /&gt;
&lt;br /&gt;
====Making a New Mod with your unit/units====&lt;br /&gt;
The following is an example of what will be in your modinfo.tdf file if you are starting from scratch and making your own mod. This is also good when you are just testing one unit to see if it works.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [MOD] {&lt;br /&gt;
 &lt;br /&gt;
  // The name is shown in the selection interface&lt;br /&gt;
  Name=My Mod; &lt;br /&gt;
 &lt;br /&gt;
  // These can be shown by the selection interface &lt;br /&gt;
  Description=My Mod That I Made; &lt;br /&gt;
  URL=http://www.theplacepeoplecangetthelatestversionofyourmod.com; &lt;br /&gt;
 &lt;br /&gt;
  // What kind of mod this is &lt;br /&gt;
  //  0 - Hidden (support mod that can&#039;t be selected, such as OTA_textures) &lt;br /&gt;
  //  1 - Normal, only one can be selected at a time &lt;br /&gt;
  //  2 - Addon, any number of these can be selected. Could be used &lt;br /&gt;
  //      for single units for example. &lt;br /&gt;
  //  others - perhaps mutators and addon races that can be &lt;br /&gt;
  //           enabled in addition to xta for example? &lt;br /&gt;
  ModType=1; &lt;br /&gt;
&lt;br /&gt;
  // Number of other archives this one depends on    &lt;br /&gt;
  NumDependencies=4; &lt;br /&gt;
 	Depend0=taenheter.sdz;&lt;br /&gt;
 	Depend1=springcontent.sdz;&lt;br /&gt;
 	Depend2=otacontent.sdz;&lt;br /&gt;
 	Depend3=tatextures.sdz;&lt;br /&gt;
         &lt;br /&gt;
 &lt;br /&gt;
  // Number of other archives this one replaces&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
====Adding Your Unit to an Existing Mod====&lt;br /&gt;
The following is an example of what will be in your modinfo.tdf file if you are adding new units to an existing mod (in this case xta_se_v066.sdz), this is good for adding units to the build tree of an existing mod or adding a whole new team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 // Description of the mod control file recognized by spring:&lt;br /&gt;
 &lt;br /&gt;
 [MOD] {&lt;br /&gt;
 &lt;br /&gt;
 // The name is shown in the selection interface&lt;br /&gt;
 Name=XTASEv0.66 with+My Units; &lt;br /&gt;
 &lt;br /&gt;
 // These can be shown by the selection interface&lt;br /&gt;
 //&lt;br /&gt;
 Description=xta_se_v066 with the cool tank I made; &lt;br /&gt;
 URL=http://www.fileuniverse.com/exactlocationblahblahblah; &lt;br /&gt;
 &lt;br /&gt;
 // What kind of mod this is &lt;br /&gt;
 //  0 - Hidden (support mod that can&#039;t be selected, such as OTA_textures) &lt;br /&gt;
 //  1 - Normal, only one can be selected at a time &lt;br /&gt;
 //  2 - Addon, any number of these can be selected. Could be used &lt;br /&gt;
 //      for single units for example. &lt;br /&gt;
 //  others - perhaps mutators and addon races that can be &lt;br /&gt;
 //           enabled in addition to xta for example? &lt;br /&gt;
 ModType=1; &lt;br /&gt;
 &lt;br /&gt;
 // Number of other archives this one depends on    &lt;br /&gt;
 NumDependencies=5; &lt;br /&gt;
 	Depend0=taenheter.sdz;&lt;br /&gt;
 	Depend1=springcontent.sdz;&lt;br /&gt;
 	Depend2=otacontent.sdz;&lt;br /&gt;
 	Depend3=tatextures.sdz;&lt;br /&gt;
 	Depend4=xta_se_v066.sdz;&lt;br /&gt;
         &lt;br /&gt;
 &lt;br /&gt;
 // Number of other archives this one replaces&lt;br /&gt;
 } &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are some extra bits in these examples, but I work on the &amp;quot;better safe than sorry&amp;quot; principle... which is to wait for someone who knows what they are doing to fix my articles.&lt;br /&gt;
&lt;br /&gt;
You will want to save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/&lt;br /&gt;
&lt;br /&gt;
===Armor.txt===&lt;br /&gt;
&lt;br /&gt;
I&#039;m not exactly sure how this works, but the file needs to exist, so either steal one from another mod and modify it... or just make a file that looks like this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 // [UNITNAME]- Good Against Lazer/Bad Against Nukes&lt;br /&gt;
 [UNITNAME]&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You will want to save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/&lt;br /&gt;
&lt;br /&gt;
===SIDEDATA.TDF===&lt;br /&gt;
&lt;br /&gt;
Start by stealing the sidedata.tdf file from your dependency mod if you have one, then edit it to include your units/side.&lt;br /&gt;
&lt;br /&gt;
Basically this file is in the form:&lt;br /&gt;
&lt;br /&gt;
 [SIDE0]&lt;br /&gt;
 	{&lt;br /&gt;
 	name=Good Guys;&lt;br /&gt;
 	nameprefix=GG;&lt;br /&gt;
 	commander=UnitName1;&lt;br /&gt;
 	}&lt;br /&gt;
 [CANBUILD]&lt;br /&gt;
 	{&lt;br /&gt;
 	[UnitName1]&lt;br /&gt;
 		{&lt;br /&gt;
 		canbuild1=UnitName2;&lt;br /&gt;
 		canbuild2=UnitName3;&lt;br /&gt;
 		canbuild3=UnitName4;&lt;br /&gt;
 		canbuild4=UnitName5;&lt;br /&gt;
 		canbuild5=UnitName6;&lt;br /&gt;
 		}&lt;br /&gt;
 	}    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
...with additional &amp;quot;[SIDEX]&amp;quot; entries for each side/team/commander-choice available in the mod-selector you choose, additional &amp;quot;[UnitName]&amp;quot; sections for each factory of construction unit, and additional &amp;quot;canbuildx=UnitName&amp;quot; entries to all factory/con-units that can build each unit.&lt;br /&gt;
&lt;br /&gt;
You will save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/gamedata/&lt;br /&gt;
&lt;br /&gt;
==Step 7:Adding a Build Pic==&lt;br /&gt;
&lt;br /&gt;
Add a 96x96 BMP to your &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/unitpics/ folder named either &amp;quot;UnitName.bmp&amp;quot; or whatever you specified in the &amp;quot;BuildPic=&amp;quot; line of your fbi.&lt;br /&gt;
&lt;br /&gt;
==Step 8:Adding a Side Pic==&lt;br /&gt;
&lt;br /&gt;
Add a 16x16 BMP to your &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/sidepics/ folder named &amp;quot;teamname.bmp&amp;quot; or whatever you specified in the &amp;quot;name=&amp;quot; line of your SIDEDATA.TDF for each side/team you have added.&lt;br /&gt;
&lt;br /&gt;
==Step 9:Scriptor==&lt;br /&gt;
&lt;br /&gt;
===Stealing a Script===&lt;br /&gt;
Open someone else&#039;s script in scriptor that works the way you want your script to work, look at the top where it&#039;s talking about &amp;quot;piece names&amp;quot;... then change those piece names to be the piece names of your unit and do a find/replace to make all the places where those pieces show up to be your pieces too.  Compile it so its name is the same as the &amp;quot;UnitName=&amp;quot; value in your &amp;quot;UnitName.fbi&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
XXreminder to someone to link to a proper scripting tutorial&lt;br /&gt;
&lt;br /&gt;
Put the bos and cob files for your unit script in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
==Step 10:Compiling Your Mod==&lt;br /&gt;
&lt;br /&gt;
You may want to check your mod directory and make sure it follows the structure defined [[Mod_Development:Archives|here]].&lt;br /&gt;
&lt;br /&gt;
navigate to your &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt; and select everything and choose &amp;quot;add to archive &amp;lt;mod name&amp;gt;.7z&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
make a copy of this file called &amp;lt;mod name&amp;gt;v0.7z in your working directory so you don&#039;t screw anything up later, then make a copy of it called &amp;lt;mod name&amp;gt;.sd7 in the mods directory of spring.&lt;br /&gt;
&lt;br /&gt;
==Step 11:Testing Your Mod==&lt;br /&gt;
Open Up SpringSP, pick your mod from the drop-down at the top (if it doesn&#039;t show up you screwed up your modinfo.txt), choose your tiny map from the map list and press start.  If it doesn&#039;t break and your unit shows up, you have created all the neccessary files... yay!&lt;br /&gt;
&lt;br /&gt;
Gotchas:&lt;br /&gt;
*If it doesn&#039;t work, check you didn&#039;t zip the folder itself, but the contents, ie if you open mymod.sd7 with 7zip, you should see folders such as &amp;quot;unittextures&amp;quot; rather than a folder &amp;quot;mymod&amp;quot; containing unittextures.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mod development]]&lt;/div&gt;</summary>
		<author><name>Ansuz</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Simple_Game_Tutorial&amp;diff=16850</id>
		<title>Simple Game Tutorial</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Simple_Game_Tutorial&amp;diff=16850"/>
		<updated>2007-02-28T00:06:17Z</updated>

		<summary type="html">&lt;p&gt;Ansuz: /* Step 11:Testing Your Mod */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Until I Finish [[Mod Development]] is the place to go.&lt;br /&gt;
&lt;br /&gt;
This Tutorial Aims to get a person from knowing nothing about Spring to the point where they can create and edit mods.&lt;br /&gt;
&lt;br /&gt;
Right now I am working from memory so you may want to correct me when I&#039;m wrong, I will try to cross link from my summaries to the appropriate articles available in other places.&lt;br /&gt;
&lt;br /&gt;
I will not go too deep into making 3do&#039;s because they are old and dumb... but I&#039;ll try to make note of the differences here.&lt;br /&gt;
&lt;br /&gt;
I don&#039;t know anything about scripting right now, so that section is likely to be sparse when I write it, I hope that someone will expand on it.&lt;br /&gt;
&lt;br /&gt;
=Book 1: The First Unit=&lt;br /&gt;
&lt;br /&gt;
==Step 1:Planning==&lt;br /&gt;
Who cares about planning, you know what you&#039;re doing... just come up with an idea for a mod... I made a chess set... if you don&#039;t have a real idea and just want to make a model show up in the game... then yeah... this is the place to start... I&#039;d do that if I were you.&lt;br /&gt;
&lt;br /&gt;
Another good thing to do at this point is to creat a &amp;quot;working directory&amp;quot;, and inside it create a directory with the name that your mod will have... after many headaches I decided it&#039;s best to put this in the root directory of your system so it&#039;s really easy to find when you are switching around back and forth between folders and keep having to find your files over and over again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Step 2:Getting Da Tools==&lt;br /&gt;
You will need a bunch of stuff... here&#039;s the list (I assume you are using windows)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Want:&#039;&#039;&lt;br /&gt;
*[http://taspring.clan-sy.com/download.php Spring] - The main program, you will likely need this to test if you&#039;ve screwed up&lt;br /&gt;
*A Tiny Map (2x2) - to test your mod fast (suggest [http://www.fileuniverse.com/?p=showitem&amp;amp;ID=2534 Simple Chess Map])&lt;br /&gt;
*[http://www.darkstars.co.uk/index.php?name=Forums&amp;amp;file=viewtopic&amp;amp;p=17 SpringSP] - To load up your mod and your map in spring without confising lobby folks&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Need:&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Program listings can be found here:&#039;&#039;&#039; &#039;&#039;&#039;[http://taspring.clan-sy.com/wiki/Map%2C_Mod%2C_And_Unit_Development_Programs Map, Mod, And Unit Development Programs]&#039;&#039;&#039;&lt;br /&gt;
*3D Modeling Program - &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Notepad - to edit all the miriad of text files&lt;br /&gt;
*A Graphical Editing Program - needs to handle RGBA TGAs (aka tga&#039;s with alpha channels), I suggest Photoshop if you have it, or The GIMP... needed for all of the texture making for UVmapping stuff... &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Upspring 1.3 - To convert your models to the approprite s3o format (if you want to fight with 3do builder, then go ahead... a good trick is to get your model into upspring first and adjust all the hierachy, then save it as an 3do... but why bother?). &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Scriptor - to make and compile your units &amp;quot;animation script&amp;quot;... or steal someone else&#039;s and make it work for your unit. &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Compression Utility - (I suggest [http://www.7-zip.org/ 7zip] - even if you are using zip compression and not 7zip, it&#039;s still good to have)&lt;br /&gt;
&lt;br /&gt;
==Step 3:Making a 3D Model==&lt;br /&gt;
&lt;br /&gt;
Go into your 3D modelling program and make a 3D model, [http://taspring.clan-sy.com/w/images/b/b4/WingsCombine.PNG combine] all the objects and UV map the model, then separate it out into any parts that need to move independently of each other.  Then Export the UV map as an Image File and Export the whole thing as a 3ds file.  Put the original wings file, the UVMap image and the 3ds file into your working directory so you can find them later.&lt;br /&gt;
&lt;br /&gt;
Wings 3D UV Mapping tutorial has been started here - [[Units:CreateModel]]&lt;br /&gt;
&lt;br /&gt;
==Step 4:Fixing Your Images==&lt;br /&gt;
&lt;br /&gt;
[[Basic s3o unit making guide|This Article includes a UVMapping Guide]]&lt;br /&gt;
&lt;br /&gt;
Open up your UVMap in Photoshop (or whatever) go to the layer/chooser thingy and go to the Channels Tab, add a new layer (it should default to alpha) and fill it with 99% black so you can see your texture in upspring.  If you want to can paint the UVmap and put white (1% black) on the alpha channel where you want your team colours to show up (you can use something between 1% and 99% to get a blend of your team colour along with the texture... for example 50% will give you your texture with 50% of the team colour mixed in...)&lt;br /&gt;
&lt;br /&gt;
I don&#039;t know how to do glow maps... XXreminder for someone to create a Glowmapping tutorial... you don&#039;t acctually need one for the model to show up.&lt;br /&gt;
&lt;br /&gt;
Save these images both in the working directory.&lt;br /&gt;
&lt;br /&gt;
Save a copy of these images in tga format into &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/unittextures&lt;br /&gt;
&lt;br /&gt;
==Step 5:Upspring==&lt;br /&gt;
&lt;br /&gt;
===Importing Your 3ds===&lt;br /&gt;
Open Upspring 1.3, go to file&amp;gt;load model and navigate to and open your 3DS model you exported, you should see the model in upspring as a 3d mesh.  Go to the model tab and set the radius and height values to something other then zero... this defines where the health bar will show up, and more importantly, how big the collision sphere will be.&lt;br /&gt;
&lt;br /&gt;
You will also need to use all of the other tools on those tabs to resize and rotate and move your model to the right place... wings makes models that are 90 degrees off and about 30 times smaller than most spring models... make sure you click the &amp;quot;apply transform&amp;quot; button after any changes that you actually want to show up in the game.&lt;br /&gt;
&lt;br /&gt;
Also, you will want to make the hierachy work using the cut, paste, and add empty buttons.  You will need an object called &amp;quot;base&amp;quot; that all the other objects are connected to... the &amp;quot;origin object&amp;quot;... sometimes you get lucky and wings exports it properly... usually not.&lt;br /&gt;
&lt;br /&gt;
===Importing Your UV and Glowmaps===&lt;br /&gt;
&lt;br /&gt;
Go to the textures tab and make your UV/texture/team-colour map as &amp;quot;texture1&amp;quot; and your UV/glow/reflectivity map as &amp;quot;texture2&amp;quot;... it should show up correctly in the preview pane.&lt;br /&gt;
&lt;br /&gt;
===Exporting Your s3o===&lt;br /&gt;
Choose File&amp;gt;Save Model As then in the drop down select &amp;quot;s3o&amp;quot; and type an appropriate name. This model should be saved to your working directory, and a copy of it made to &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/3dobjects/&lt;br /&gt;
&lt;br /&gt;
==Step 6:A couple Text Files==&lt;br /&gt;
&lt;br /&gt;
===UnitName.fbi===&lt;br /&gt;
For Reference visit [[Units:FBI]], but again, the easiest way to do this is to extract an existing mod and find the fbi for a unit that behaves similarly to the one you are trying to make and rename and modify it.&lt;br /&gt;
&lt;br /&gt;
Some More Specific Information Not Clear in the &amp;quot;Units:FBI&amp;quot; article:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name+&amp;quot; &amp;quot;+Description=Spring Display Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So is you have the following settings:&lt;br /&gt;
&lt;br /&gt;
 Name=Tiger;&lt;br /&gt;
 Description=Fast Attack C.A.T.;&lt;br /&gt;
&lt;br /&gt;
The Tooltip will show &amp;quot;Tiger Fast Attack C.A.T.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;BuildPic Defaults to UnitName.bmp&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So if you leave out &amp;quot;BuildPic=filename.bmp;&amp;quot; Spring will look in /unitpics/ for a file called &amp;quot;UnitName.bmp&amp;quot; to use as your buildpic.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ObjectName&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you want to use an s3o object, you will need to specify with &amp;quot;ObjectName=UnitName&#039;&#039;&#039;.S3O;&#039;&#039;&#039;&amp;quot; otherwise it will look for &amp;quot;UnitName.3do&amp;quot;.  Also, you don&#039;t have to use &amp;quot;UnitName&amp;quot; as the filename and, in fact, multiple Unit&#039;s fbi files can reference the same 3D models. It is easier, however, for people to figure out what you are doing in your mod if you follow the standards.&lt;br /&gt;
&lt;br /&gt;
Save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/units/&lt;br /&gt;
&lt;br /&gt;
===modinfo.tdf===&lt;br /&gt;
&lt;br /&gt;
modinfo.tdf is a text file that defines a number of things that are used when loading a mod, most of the information is self explanitory but basically what you are doing is defining what is going to show up in whatever mod-selection interface you use as well as what other files need to be loaded into memory in order for your mod to work.&lt;br /&gt;
&lt;br /&gt;
====Making a New Mod with your unit/units====&lt;br /&gt;
The following is an example of what will be in your modinfo.tdf file if you are starting from scratch and making your own mod. This is also good when you are just testing one unit to see if it works.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [MOD] {&lt;br /&gt;
 &lt;br /&gt;
  // The name is shown in the selection interface&lt;br /&gt;
  Name=My Mod; &lt;br /&gt;
 &lt;br /&gt;
  // These can be shown by the selection interface &lt;br /&gt;
  Description=My Mod That I Made; &lt;br /&gt;
  URL=http://www.theplacepeoplecangetthelatestversionofyourmod.com; &lt;br /&gt;
 &lt;br /&gt;
  // What kind of mod this is &lt;br /&gt;
  //  0 - Hidden (support mod that can&#039;t be selected, such as OTA_textures) &lt;br /&gt;
  //  1 - Normal, only one can be selected at a time &lt;br /&gt;
  //  2 - Addon, any number of these can be selected. Could be used &lt;br /&gt;
  //      for single units for example. &lt;br /&gt;
  //  others - perhaps mutators and addon races that can be &lt;br /&gt;
  //           enabled in addition to xta for example? &lt;br /&gt;
  ModType=1; &lt;br /&gt;
&lt;br /&gt;
  // Number of other archives this one depends on    &lt;br /&gt;
  NumDependencies=4; &lt;br /&gt;
 	Depend0=taenheter.sdz;&lt;br /&gt;
 	Depend1=springcontent.sdz;&lt;br /&gt;
 	Depend2=otacontent.sdz;&lt;br /&gt;
 	Depend3=tatextures.sdz;&lt;br /&gt;
         &lt;br /&gt;
 &lt;br /&gt;
  // Number of other archives this one replaces&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
====Adding Your Unit to an Existing Mod====&lt;br /&gt;
The following is an example of what will be in your modinfo.tdf file if you are adding new units to an existing mod (in this case xta_se_v066.sdz), this is good for adding units to the build tree of an existing mod or adding a whole new team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 // Description of the mod control file recognized by spring:&lt;br /&gt;
 &lt;br /&gt;
 [MOD] {&lt;br /&gt;
 &lt;br /&gt;
 // The name is shown in the selection interface&lt;br /&gt;
 Name=XTASEv0.66 with+My Units; &lt;br /&gt;
 &lt;br /&gt;
 // These can be shown by the selection interface&lt;br /&gt;
 //&lt;br /&gt;
 Description=xta_se_v066 with the cool tank I made; &lt;br /&gt;
 URL=http://www.fileuniverse.com/exactlocationblahblahblah; &lt;br /&gt;
 &lt;br /&gt;
 // What kind of mod this is &lt;br /&gt;
 //  0 - Hidden (support mod that can&#039;t be selected, such as OTA_textures) &lt;br /&gt;
 //  1 - Normal, only one can be selected at a time &lt;br /&gt;
 //  2 - Addon, any number of these can be selected. Could be used &lt;br /&gt;
 //      for single units for example. &lt;br /&gt;
 //  others - perhaps mutators and addon races that can be &lt;br /&gt;
 //           enabled in addition to xta for example? &lt;br /&gt;
 ModType=1; &lt;br /&gt;
 &lt;br /&gt;
 // Number of other archives this one depends on    &lt;br /&gt;
 NumDependencies=5; &lt;br /&gt;
 	Depend0=taenheter.sdz;&lt;br /&gt;
 	Depend1=springcontent.sdz;&lt;br /&gt;
 	Depend2=otacontent.sdz;&lt;br /&gt;
 	Depend3=tatextures.sdz;&lt;br /&gt;
 	Depend4=xta_se_v066.sdz;&lt;br /&gt;
         &lt;br /&gt;
 &lt;br /&gt;
 // Number of other archives this one replaces&lt;br /&gt;
 } &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are some extra bits in these examples, but I work on the &amp;quot;better safe than sorry&amp;quot; principle... which is to wait for someone who knows what they are doing to fix my articles.&lt;br /&gt;
&lt;br /&gt;
You will want to save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/&lt;br /&gt;
&lt;br /&gt;
===Armor.txt===&lt;br /&gt;
&lt;br /&gt;
I&#039;m not exactly sure how this works, but the file needs to exist, so either steal one from another mod and modify it... or just make a file that looks like this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 // [UNITNAME]- Good Against Lazer/Bad Against Nukes&lt;br /&gt;
 [UNITNAME]&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You will want to save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/&lt;br /&gt;
&lt;br /&gt;
===SIDEDATA.TDF===&lt;br /&gt;
&lt;br /&gt;
Start by stealing the sidedata.tdf file from your dependency mod if you have one, then edit it to include your units/side.&lt;br /&gt;
&lt;br /&gt;
Basically this file is in the form:&lt;br /&gt;
&lt;br /&gt;
 [SIDE0]&lt;br /&gt;
 	{&lt;br /&gt;
 	name=Good Guys;&lt;br /&gt;
 	nameprefix=GG;&lt;br /&gt;
 	commander=UnitName1;&lt;br /&gt;
 	}&lt;br /&gt;
 [CANBUILD]&lt;br /&gt;
 	{&lt;br /&gt;
 	[UnitName1]&lt;br /&gt;
 		{&lt;br /&gt;
 		canbuild1=UnitName2;&lt;br /&gt;
 		canbuild2=UnitName3;&lt;br /&gt;
 		canbuild3=UnitName4;&lt;br /&gt;
 		canbuild4=UnitName5;&lt;br /&gt;
 		canbuild5=UnitName6;&lt;br /&gt;
 		}&lt;br /&gt;
 	}    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
...with additional &amp;quot;[SIDEX]&amp;quot; entries for each side/team/commander-choice available in the mod-selector you choose, additional &amp;quot;[UnitName]&amp;quot; sections for each factory of construction unit, and additional &amp;quot;canbuildx=UnitName&amp;quot; entries to all factory/con-units that can build each unit.&lt;br /&gt;
&lt;br /&gt;
You will save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/gamedata/&lt;br /&gt;
&lt;br /&gt;
==Step 7:Adding a Build Pic==&lt;br /&gt;
&lt;br /&gt;
Add a 96x96 BMP to your &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/unitpics/ folder named either &amp;quot;UnitName.bmp&amp;quot; or whatever you specified in the &amp;quot;BuildPic=&amp;quot; line of your fbi.&lt;br /&gt;
&lt;br /&gt;
==Step 8:Adding a Side Pic==&lt;br /&gt;
&lt;br /&gt;
Add a 16x16 BMP to your &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/sidepics/ folder named &amp;quot;teamname.bmp&amp;quot; or whatever you specified in the &amp;quot;name=&amp;quot; line of your SIDEDATA.TDF for each side/team you have added.&lt;br /&gt;
&lt;br /&gt;
==Step 9:Scriptor==&lt;br /&gt;
&lt;br /&gt;
===Stealing a Script===&lt;br /&gt;
Open someone else&#039;s script in scriptor that works the way you want your script to work, look at the top where it&#039;s talking about &amp;quot;piece names&amp;quot;... then change those piece names to be the piece names of your unit and do a find/replace to make all the places where those pieces show up to be your pieces too.  Compile it so its name is the same as the &amp;quot;UnitName=&amp;quot; value in your &amp;quot;UnitName.fbi&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
XXreminder to someone to link to a proper scripting tutorial&lt;br /&gt;
&lt;br /&gt;
Put the bos and cob files for your unit script in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
==Step 10:Compiling Your Mod==&lt;br /&gt;
&lt;br /&gt;
You may want to check your mod directory and make sure it follows the structure defined [[Mod_Development:Archives|here]].&lt;br /&gt;
&lt;br /&gt;
navigate to your &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt; and select everything and choose &amp;quot;add to archive &amp;lt;mod name&amp;gt;.7z&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
make a copy of this file called &amp;lt;mod name&amp;gt;v0.7z in your working directory so you don&#039;t screw anything up later, then make a copy of it called &amp;lt;mod name&amp;gt;.sd7 in the mods directory of spring.&lt;br /&gt;
&lt;br /&gt;
==Step 11:Testing Your Mod==&lt;br /&gt;
Open Up SpringSP, pick your mod from the drop-down at the top (if it doesn&#039;t show up you screwed up your modinfo.txt), choose your tiny map from the map list and press start.  If it doesn&#039;t break and your unit shows up, you have created all the neccessary files... yay!&lt;br /&gt;
&lt;br /&gt;
Gotchas:&lt;br /&gt;
*If it doesn&#039;t work, check you didn&#039;t zip the folder itself, but the contents, ie if you open mymod.sd7 with 7zip, you should see folders such as &amp;quot;unittextures&amp;quot; rather than a folder &amp;quot;mymod&amp;quot; containing unittextures.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mod development]]&lt;/div&gt;</summary>
		<author><name>Ansuz</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Basic_s3o_unit_making_guide&amp;diff=2890</id>
		<title>Basic s3o unit making guide</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Basic_s3o_unit_making_guide&amp;diff=2890"/>
		<updated>2007-02-28T00:04:49Z</updated>

		<summary type="html">&lt;p&gt;Ansuz: /* Common Troubles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==What you need:==&lt;br /&gt;
&lt;br /&gt;
*The Model&lt;br /&gt;
*The UV map&lt;br /&gt;
*The Textures&lt;br /&gt;
*The Script&lt;br /&gt;
*[http://www.fileuniverse.com/?p=showitem&amp;amp;ID=2317 UpSpring]&lt;br /&gt;
&lt;br /&gt;
== The Model ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can make it in any of the 3d modelling programs mentioned [http://taspring.clan-sy.com/wiki/Map%2C_Mod%2C_And_Unit_Development_Programs#3d_Modeling here.]&lt;br /&gt;
&lt;br /&gt;
Upspring will import .OBJ, and .3DS, (.3DO is supported as well but we are supposed to be working from scratch here and not converting old units).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Importing 3DS files will have some sort of hierarchy, but with all pieces at the same level you will have to re-arrange them into the correct order using cut-paste commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If I&#039;m not mistaken, .OBJ files don&#039;t have hierarchy, so there is no distinction between parts of the unit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So for using this format you must save each part of the unit in separate files and import them individually from UpSpring. You must have at least one existing object to import to, so create an &amp;quot;empty&amp;quot; object if needed, then import the pieces following the hierarchy, or you can manually arrange them later.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For moving object origins, move part using the move tool, and then use &amp;quot;Apply transformation&amp;quot; button in object tab.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Put the saved .S3O file in the &amp;quot;Objects3D&amp;quot; folder in your mod structure files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;All part names in s3o must be in lower case in UpSpring.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will avoid issues with the script.&lt;br /&gt;
&lt;br /&gt;
== The UV map ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Only one UV map image is allowed, so you must make all parts use the same UV map.&lt;br /&gt;
&lt;br /&gt;
It&#039;s reported that the biggest texture size of the UV map is 2048x2048.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A guide on Skinning (UV mapping) can be found [http://taspring.clan-sy.com/phpbb/viewtopic.php?t=3511 here].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;**Added by TA 3D:&#039;&#039;&#039; When you want to bring in UV coordinates, go to the Texture Mapping menu again and click on Import UV coordinates from model. Since the texture is flipped vertically you have to flip the UV coordinates. Only use 3ds files for this as obj files don&#039;t have UV coordinates. I hope this helps.&#039;&#039;&#039;**&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;**Added by Mehere101:&#039;&#039;&#039; This may be out of date, using Blender 2.42 RC3 I can get UV coordinates exported into the OBJ file.  Make sure that you are exporting to Wavefront OBJ, and that whatever exporter you have has the UV Mapping Box checked (In blender its off by default for some reason)&#039;&#039;&#039;**&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can import .3DS models already UV mapped into UpSpring.&lt;br /&gt;
&lt;br /&gt;
(But in my tests the UV map results incorrectly displayed, please fix this part if you know how to do it right)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Another way of making the UV map is importing the model first to UpSpring, either by using one .3DS file or the separate .OBJ files method.&lt;br /&gt;
&lt;br /&gt;
Once you have the model imported and in the right place, use &amp;quot;Export Model for UV mapping&amp;quot; in UpSpring.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then UV map that .OBJ file with whatever UV mapping tool of your liking, save, and then import back the UV using the &amp;quot;load UV map from file&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== The Textures ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Quote&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;There are two textures for each model, texture1 is the standard skin texture but the alpha is used for teamcolor. Texture2 uses the green channel for reflectivity and the red channel for self illumination, blue is unused so far.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(In The GIMP, what is texture will show completely black, and what is teamcolor will show transparent, showing the texture under the alpha. Which is a bit awkward if you ask me.. as you wont be able to see what is supposed to be texture, but what wont. buh!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The value of the alpha will blend with the texture, so you can make cool teamcolor/texture transitions ;) .&lt;br /&gt;
&lt;br /&gt;
(I&#039;ve tested DDS format several times in The GIMP, using the export plugin, and have not been able to make these files work so far. Hopefully someone can add more information on this.). &#039;&#039;&#039;**Edit: I will do some digging to find out what the exact formats are that DDS is supposed to be saved as. TA 3D**&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
UpSpring 1.3 has a built it texture builder that works great. Use bmps.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;**Added by TA 3D:&#039;&#039;&#039; Spring will use TGA  and PNG files, but if you want the textures to work better and run more efficiently, use DDS files which is a native image format for videocards made by Nvidia. It works on any videocard, not just Nvidia&#039;s cards.&lt;br /&gt;
NOTE: UpSpring makes the files flipped vertically so you will have to flip the UV coordinates in UpSpring. &#039;&#039;&#039;Do not use any other format for making DDS files with UpSpring than bmp otherwise you will have problems. If you use anything else the alpha channel will screw it up. Note: The following images are png to conserve bandwith.&#039;&#039;&#039;&lt;br /&gt;
Here&#039;s an example of a DDS file I made for a model recently.&lt;br /&gt;
Texture 1 Texture and Team color:&lt;br /&gt;
Texture RGB-channels of the first dds texture file:&lt;br /&gt;
&lt;br /&gt;
http://www.maj.com/gallery/3dbricks/TASPRING/fc1.png&lt;br /&gt;
&lt;br /&gt;
Team color-the alpha channel of the first dds texture file:&lt;br /&gt;
&lt;br /&gt;
http://www.maj.com/gallery/3dbricks/TASPRING/fc2.png&lt;br /&gt;
&lt;br /&gt;
Texture 2 Reflectivity and Illumination:&lt;br /&gt;
Reflection green-channel of the second dds texture file:&lt;br /&gt;
&lt;br /&gt;
http://www.maj.com/gallery/3dbricks/TASPRING/fc3.png&lt;br /&gt;
&lt;br /&gt;
Illumination red-channel of the second dds texture file:&lt;br /&gt;
&lt;br /&gt;
http://www.maj.com/gallery/3dbricks/TASPRING/fc4.png&lt;br /&gt;
&lt;br /&gt;
Upspring can make dds files using the S3O Texture Builder option under the Texture menu.&lt;br /&gt;
&lt;br /&gt;
http://www.maj.com/gallery/3dbricks/TASPRING/menu.png&lt;br /&gt;
&lt;br /&gt;
Making the first dds file.&lt;br /&gt;
&lt;br /&gt;
http://www.maj.com/gallery/3dbricks/TASPRING/texture_builder.png&lt;br /&gt;
&lt;br /&gt;
And making the second.&lt;br /&gt;
&lt;br /&gt;
http://www.maj.com/gallery/3dbricks/TASPRING/texture_builder2.png&lt;br /&gt;
&lt;br /&gt;
When you want to bring in UV coordinates, go to the Texture Mapping menu again and click on Import UV coordinates from model. Since the texture is flipped vertically you have to flip the UV coordinates. If the Team color doesn&#039;t work try inverting the the Team color image using the invert box. I hope this helps. As soon as I have a working model, then I will post a pic of the above textures applied to it.&#039;&#039;&#039;**&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Put the finished files in &amp;quot;unittextures&amp;quot; folder inside your mod structure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
some other words on the textures:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;alpha is a greyscale... black = no team color, white = all team colour... because Photoshop is dumb stick to 1% balck or 99% black... anything in between is &amp;quot;blended&amp;quot;... like transparency in the team colour mapped over the main texture...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== The Script ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A common script, see other wiki resources for information on what is new/changed in spring.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The unit FBI file ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In this file goes the usual information, plus one change:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
the usual&lt;br /&gt;
	Objectname=UNITNAME;&lt;br /&gt;
&lt;br /&gt;
must be &lt;br /&gt;
	Objectname=UNITNAME&#039;&#039;&#039;.s3o&#039;&#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
== Common Troubles ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*The unit doesn&#039;t show up in game, although the &amp;quot;.give unitname&amp;quot; will work and you can see the selected base.&lt;br /&gt;
&lt;br /&gt;
This is caused because the unit is underground. In the Model tab you must give your unit a center, collision sphere radius and heigth in UpSpring, you can use &amp;quot;estimate&amp;quot; which shall be fine.&lt;br /&gt;
&lt;br /&gt;
*The unit texture is all black in game!&lt;br /&gt;
&lt;br /&gt;
Read the texture section here. 3DOs cant be UV textured. Use .TGA format. Don&#039;t forget alpha.&lt;br /&gt;
&lt;br /&gt;
*The UV seems wrong in game..&lt;br /&gt;
&lt;br /&gt;
Flip the UV. In UpSpring go to, Texture Mapping&amp;gt;Show UV Maps, then, edit&amp;gt;Flip UVs.&lt;br /&gt;
&lt;br /&gt;
*I get a &amp;quot;missing part&amp;quot; error, and the unit doesn&#039;t aim turrets or animate as indicated in the script.&lt;br /&gt;
&lt;br /&gt;
See last lines in The Model part.&lt;br /&gt;
&lt;br /&gt;
== Related Threads ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=4519]&lt;br /&gt;
[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2660]&lt;br /&gt;
[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=3766]&lt;br /&gt;
[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=3641]&lt;br /&gt;
&lt;br /&gt;
[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=4536 Complementary information]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Credits&lt;br /&gt;
&lt;br /&gt;
Its all stolen from the above threads.&lt;br /&gt;
&lt;br /&gt;
[[Category:Unit development]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Ansuz</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Basic_s3o_unit_making_guide&amp;diff=2889</id>
		<title>Basic s3o unit making guide</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Basic_s3o_unit_making_guide&amp;diff=2889"/>
		<updated>2007-02-28T00:00:12Z</updated>

		<summary type="html">&lt;p&gt;Ansuz: /* The Textures */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==What you need:==&lt;br /&gt;
&lt;br /&gt;
*The Model&lt;br /&gt;
*The UV map&lt;br /&gt;
*The Textures&lt;br /&gt;
*The Script&lt;br /&gt;
*[http://www.fileuniverse.com/?p=showitem&amp;amp;ID=2317 UpSpring]&lt;br /&gt;
&lt;br /&gt;
== The Model ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can make it in any of the 3d modelling programs mentioned [http://taspring.clan-sy.com/wiki/Map%2C_Mod%2C_And_Unit_Development_Programs#3d_Modeling here.]&lt;br /&gt;
&lt;br /&gt;
Upspring will import .OBJ, and .3DS, (.3DO is supported as well but we are supposed to be working from scratch here and not converting old units).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Importing 3DS files will have some sort of hierarchy, but with all pieces at the same level you will have to re-arrange them into the correct order using cut-paste commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If I&#039;m not mistaken, .OBJ files don&#039;t have hierarchy, so there is no distinction between parts of the unit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So for using this format you must save each part of the unit in separate files and import them individually from UpSpring. You must have at least one existing object to import to, so create an &amp;quot;empty&amp;quot; object if needed, then import the pieces following the hierarchy, or you can manually arrange them later.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For moving object origins, move part using the move tool, and then use &amp;quot;Apply transformation&amp;quot; button in object tab.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Put the saved .S3O file in the &amp;quot;Objects3D&amp;quot; folder in your mod structure files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;All part names in s3o must be in lower case in UpSpring.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will avoid issues with the script.&lt;br /&gt;
&lt;br /&gt;
== The UV map ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Only one UV map image is allowed, so you must make all parts use the same UV map.&lt;br /&gt;
&lt;br /&gt;
It&#039;s reported that the biggest texture size of the UV map is 2048x2048.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A guide on Skinning (UV mapping) can be found [http://taspring.clan-sy.com/phpbb/viewtopic.php?t=3511 here].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;**Added by TA 3D:&#039;&#039;&#039; When you want to bring in UV coordinates, go to the Texture Mapping menu again and click on Import UV coordinates from model. Since the texture is flipped vertically you have to flip the UV coordinates. Only use 3ds files for this as obj files don&#039;t have UV coordinates. I hope this helps.&#039;&#039;&#039;**&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;**Added by Mehere101:&#039;&#039;&#039; This may be out of date, using Blender 2.42 RC3 I can get UV coordinates exported into the OBJ file.  Make sure that you are exporting to Wavefront OBJ, and that whatever exporter you have has the UV Mapping Box checked (In blender its off by default for some reason)&#039;&#039;&#039;**&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can import .3DS models already UV mapped into UpSpring.&lt;br /&gt;
&lt;br /&gt;
(But in my tests the UV map results incorrectly displayed, please fix this part if you know how to do it right)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Another way of making the UV map is importing the model first to UpSpring, either by using one .3DS file or the separate .OBJ files method.&lt;br /&gt;
&lt;br /&gt;
Once you have the model imported and in the right place, use &amp;quot;Export Model for UV mapping&amp;quot; in UpSpring.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then UV map that .OBJ file with whatever UV mapping tool of your liking, save, and then import back the UV using the &amp;quot;load UV map from file&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== The Textures ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Quote&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;There are two textures for each model, texture1 is the standard skin texture but the alpha is used for teamcolor. Texture2 uses the green channel for reflectivity and the red channel for self illumination, blue is unused so far.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(In The GIMP, what is texture will show completely black, and what is teamcolor will show transparent, showing the texture under the alpha. Which is a bit awkward if you ask me.. as you wont be able to see what is supposed to be texture, but what wont. buh!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The value of the alpha will blend with the texture, so you can make cool teamcolor/texture transitions ;) .&lt;br /&gt;
&lt;br /&gt;
(I&#039;ve tested DDS format several times in The GIMP, using the export plugin, and have not been able to make these files work so far. Hopefully someone can add more information on this.). &#039;&#039;&#039;**Edit: I will do some digging to find out what the exact formats are that DDS is supposed to be saved as. TA 3D**&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
UpSpring 1.3 has a built it texture builder that works great. Use bmps.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;**Added by TA 3D:&#039;&#039;&#039; Spring will use TGA  and PNG files, but if you want the textures to work better and run more efficiently, use DDS files which is a native image format for videocards made by Nvidia. It works on any videocard, not just Nvidia&#039;s cards.&lt;br /&gt;
NOTE: UpSpring makes the files flipped vertically so you will have to flip the UV coordinates in UpSpring. &#039;&#039;&#039;Do not use any other format for making DDS files with UpSpring than bmp otherwise you will have problems. If you use anything else the alpha channel will screw it up. Note: The following images are png to conserve bandwith.&#039;&#039;&#039;&lt;br /&gt;
Here&#039;s an example of a DDS file I made for a model recently.&lt;br /&gt;
Texture 1 Texture and Team color:&lt;br /&gt;
Texture RGB-channels of the first dds texture file:&lt;br /&gt;
&lt;br /&gt;
http://www.maj.com/gallery/3dbricks/TASPRING/fc1.png&lt;br /&gt;
&lt;br /&gt;
Team color-the alpha channel of the first dds texture file:&lt;br /&gt;
&lt;br /&gt;
http://www.maj.com/gallery/3dbricks/TASPRING/fc2.png&lt;br /&gt;
&lt;br /&gt;
Texture 2 Reflectivity and Illumination:&lt;br /&gt;
Reflection green-channel of the second dds texture file:&lt;br /&gt;
&lt;br /&gt;
http://www.maj.com/gallery/3dbricks/TASPRING/fc3.png&lt;br /&gt;
&lt;br /&gt;
Illumination red-channel of the second dds texture file:&lt;br /&gt;
&lt;br /&gt;
http://www.maj.com/gallery/3dbricks/TASPRING/fc4.png&lt;br /&gt;
&lt;br /&gt;
Upspring can make dds files using the S3O Texture Builder option under the Texture menu.&lt;br /&gt;
&lt;br /&gt;
http://www.maj.com/gallery/3dbricks/TASPRING/menu.png&lt;br /&gt;
&lt;br /&gt;
Making the first dds file.&lt;br /&gt;
&lt;br /&gt;
http://www.maj.com/gallery/3dbricks/TASPRING/texture_builder.png&lt;br /&gt;
&lt;br /&gt;
And making the second.&lt;br /&gt;
&lt;br /&gt;
http://www.maj.com/gallery/3dbricks/TASPRING/texture_builder2.png&lt;br /&gt;
&lt;br /&gt;
When you want to bring in UV coordinates, go to the Texture Mapping menu again and click on Import UV coordinates from model. Since the texture is flipped vertically you have to flip the UV coordinates. If the Team color doesn&#039;t work try inverting the the Team color image using the invert box. I hope this helps. As soon as I have a working model, then I will post a pic of the above textures applied to it.&#039;&#039;&#039;**&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Put the finished files in &amp;quot;unittextures&amp;quot; folder inside your mod structure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
some other words on the textures:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;alpha is a greyscale... black = no team color, white = all team colour... because Photoshop is dumb stick to 1% balck or 99% black... anything in between is &amp;quot;blended&amp;quot;... like transparency in the team colour mapped over the main texture...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== The Script ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A common script, see other wiki resources for information on what is new/changed in spring.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The unit FBI file ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In this file goes the usual information, plus one change:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
the usual&lt;br /&gt;
	Objectname=UNITNAME;&lt;br /&gt;
&lt;br /&gt;
must be &lt;br /&gt;
	Objectname=UNITNAME&#039;&#039;&#039;.s3o&#039;&#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
== Common Troubles ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*The unit wont show up in game, although the &amp;quot;.give unitname&amp;quot; will work and you can see the selected base.&lt;br /&gt;
&lt;br /&gt;
This is caused bc the unit is underground. In the Model tab you must give your unit a center, collision sphere radius and heigth in Upspring, you can use &amp;quot;estimate&amp;quot; and will be fine.&lt;br /&gt;
&lt;br /&gt;
*The unit texture is all black in game!&lt;br /&gt;
&lt;br /&gt;
Read the texture section here. 3DOs cant be UV textured. Use .TGA format. Dont forget alpha.&lt;br /&gt;
&lt;br /&gt;
*The UV seems wrong in game..&lt;br /&gt;
&lt;br /&gt;
Flip the UV. In UpSpring go to, Texture Mapping&amp;gt;Show UV Maps, then, edit&amp;gt;Flip UVs.&lt;br /&gt;
&lt;br /&gt;
*I get a &amp;quot;missing part&amp;quot; error, and the unit wont aim turrets or animate as indicated in the script.&lt;br /&gt;
&lt;br /&gt;
See last lines in The Model part.&lt;br /&gt;
&lt;br /&gt;
== Related Threads ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=4519]&lt;br /&gt;
[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2660]&lt;br /&gt;
[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=3766]&lt;br /&gt;
[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=3641]&lt;br /&gt;
&lt;br /&gt;
[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=4536 Complementary information]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Credits&lt;br /&gt;
&lt;br /&gt;
Its all stolen from the above threads.&lt;br /&gt;
&lt;br /&gt;
[[Category:Unit development]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Ansuz</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Basic_s3o_unit_making_guide&amp;diff=2888</id>
		<title>Basic s3o unit making guide</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Basic_s3o_unit_making_guide&amp;diff=2888"/>
		<updated>2007-02-27T23:54:45Z</updated>

		<summary type="html">&lt;p&gt;Ansuz: /* The UV map */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==What you need:==&lt;br /&gt;
&lt;br /&gt;
*The Model&lt;br /&gt;
*The UV map&lt;br /&gt;
*The Textures&lt;br /&gt;
*The Script&lt;br /&gt;
*[http://www.fileuniverse.com/?p=showitem&amp;amp;ID=2317 UpSpring]&lt;br /&gt;
&lt;br /&gt;
== The Model ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can make it in any of the 3d modelling programs mentioned [http://taspring.clan-sy.com/wiki/Map%2C_Mod%2C_And_Unit_Development_Programs#3d_Modeling here.]&lt;br /&gt;
&lt;br /&gt;
Upspring will import .OBJ, and .3DS, (.3DO is supported as well but we are supposed to be working from scratch here and not converting old units).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Importing 3DS files will have some sort of hierarchy, but with all pieces at the same level you will have to re-arrange them into the correct order using cut-paste commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If I&#039;m not mistaken, .OBJ files don&#039;t have hierarchy, so there is no distinction between parts of the unit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So for using this format you must save each part of the unit in separate files and import them individually from UpSpring. You must have at least one existing object to import to, so create an &amp;quot;empty&amp;quot; object if needed, then import the pieces following the hierarchy, or you can manually arrange them later.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For moving object origins, move part using the move tool, and then use &amp;quot;Apply transformation&amp;quot; button in object tab.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Put the saved .S3O file in the &amp;quot;Objects3D&amp;quot; folder in your mod structure files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;All part names in s3o must be in lower case in UpSpring.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will avoid issues with the script.&lt;br /&gt;
&lt;br /&gt;
== The UV map ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Only one UV map image is allowed, so you must make all parts use the same UV map.&lt;br /&gt;
&lt;br /&gt;
It&#039;s reported that the biggest texture size of the UV map is 2048x2048.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A guide on Skinning (UV mapping) can be found [http://taspring.clan-sy.com/phpbb/viewtopic.php?t=3511 here].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;**Added by TA 3D:&#039;&#039;&#039; When you want to bring in UV coordinates, go to the Texture Mapping menu again and click on Import UV coordinates from model. Since the texture is flipped vertically you have to flip the UV coordinates. Only use 3ds files for this as obj files don&#039;t have UV coordinates. I hope this helps.&#039;&#039;&#039;**&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;**Added by Mehere101:&#039;&#039;&#039; This may be out of date, using Blender 2.42 RC3 I can get UV coordinates exported into the OBJ file.  Make sure that you are exporting to Wavefront OBJ, and that whatever exporter you have has the UV Mapping Box checked (In blender its off by default for some reason)&#039;&#039;&#039;**&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can import .3DS models already UV mapped into UpSpring.&lt;br /&gt;
&lt;br /&gt;
(But in my tests the UV map results incorrectly displayed, please fix this part if you know how to do it right)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Another way of making the UV map is importing the model first to UpSpring, either by using one .3DS file or the separate .OBJ files method.&lt;br /&gt;
&lt;br /&gt;
Once you have the model imported and in the right place, use &amp;quot;Export Model for UV mapping&amp;quot; in UpSpring.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then UV map that .OBJ file with whatever UV mapping tool of your liking, save, and then import back the UV using the &amp;quot;load UV map from file&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== The Textures ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Quote&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;There are two textures for each model, texture1 is the standar skin texture but the alpha is used for teamcolor. Texture2 uses the green channel for reflectivity and the red channel for self illumination, blue is unused so far.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(In The GIMP, what is texture will show completely black, and what is teamcolor will show transparent, showing the texture under the alpha. Which is a bit awkward if you ask me.. as you wont be able to see what is supposed to be texture, but what wont. buh!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The value of the alpha will blend with the texture, so you can make cool teamcolor/texture transitions ;) .&lt;br /&gt;
&lt;br /&gt;
(I&#039;ve tested DDS format several times in The Gimp, using the export plugin, and have not been able to make this files work so far. Hopefully someone can add more information on this.). &#039;&#039;&#039;**Edit: I will do some digging to find out what the exact formats are that dds is supposed to be saved as. TA 3D**&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
UpSpring 1.3 has a built it texture builder that works great. Use bmps.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;**Added by TA 3D:&#039;&#039;&#039; Spring will use TGA  and PNG files, but if you want the textures to work better and run more effencetly, use DDS files which is a native image format for videocards made by Nvidia. It works on any videocard, not just Nvidia&#039;s cards.&lt;br /&gt;
NOTE: Upspring makes the files fliped verticaly so you will have to flip the UV coordinates in Upspring. &#039;&#039;&#039;Do not use any other format for making dds files with Upspring then bmp otherwise you will have problems. If you use anything else the alpha channel will screw it up. Note: The following images are png to conserve bandwith.&#039;&#039;&#039;&lt;br /&gt;
Heres an example of a dds file I made for a model recently.&lt;br /&gt;
Texture 1 Texture and Team color:&lt;br /&gt;
Texture RGB-channels of the first dds texture file:&lt;br /&gt;
&lt;br /&gt;
http://www.maj.com/gallery/3dbricks/TASPRING/fc1.png&lt;br /&gt;
&lt;br /&gt;
Team color-the alpha channel of the first dds texture file:&lt;br /&gt;
&lt;br /&gt;
http://www.maj.com/gallery/3dbricks/TASPRING/fc2.png&lt;br /&gt;
&lt;br /&gt;
Texture 2 Reflectivity and Illumination:&lt;br /&gt;
Reflection green-channel of the second dds texture file:&lt;br /&gt;
&lt;br /&gt;
http://www.maj.com/gallery/3dbricks/TASPRING/fc3.png&lt;br /&gt;
&lt;br /&gt;
Illumination red-channel of the second dds texture file:&lt;br /&gt;
&lt;br /&gt;
http://www.maj.com/gallery/3dbricks/TASPRING/fc4.png&lt;br /&gt;
&lt;br /&gt;
Upspring can make dds files using the S3O Texture Builder option under the Texture menu.&lt;br /&gt;
&lt;br /&gt;
http://www.maj.com/gallery/3dbricks/TASPRING/menu.png&lt;br /&gt;
&lt;br /&gt;
Making the first dds file.&lt;br /&gt;
&lt;br /&gt;
http://www.maj.com/gallery/3dbricks/TASPRING/texture_builder.png&lt;br /&gt;
&lt;br /&gt;
And making the second.&lt;br /&gt;
&lt;br /&gt;
http://www.maj.com/gallery/3dbricks/TASPRING/texture_builder2.png&lt;br /&gt;
&lt;br /&gt;
When you want to bring in UV coordinates, go to the Texture Mapping menu again and click on Import UV coordinates from model. Since the texture is fliped vertically you have to flip the UV coordinates. If the Team color doesn&#039;t work try inverting the the Team color image using the invert box. I hope this helps. As soon as I have a working model, then I will post a pic of the above textures applyed to it.&#039;&#039;&#039;**&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Put the finished files in &amp;quot;unittextures&amp;quot; folder inside your mod structure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
some other words on the textures:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;alpha is a greyscale... black = no team color, white = all team colour... because Photoshop is dumb stick to 1% balck or 99% black... anything in between is &amp;quot;blended&amp;quot;... like transparency in the team colour mapped over the main texture...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== The Script ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A common script, see other wiki resources for information on what is new/changed in spring.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The unit FBI file ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In this file goes the usual information, plus one change:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
the usual&lt;br /&gt;
	Objectname=UNITNAME;&lt;br /&gt;
&lt;br /&gt;
must be &lt;br /&gt;
	Objectname=UNITNAME&#039;&#039;&#039;.s3o&#039;&#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
== Common Troubles ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*The unit wont show up in game, although the &amp;quot;.give unitname&amp;quot; will work and you can see the selected base.&lt;br /&gt;
&lt;br /&gt;
This is caused bc the unit is underground. In the Model tab you must give your unit a center, collision sphere radius and heigth in Upspring, you can use &amp;quot;estimate&amp;quot; and will be fine.&lt;br /&gt;
&lt;br /&gt;
*The unit texture is all black in game!&lt;br /&gt;
&lt;br /&gt;
Read the texture section here. 3DOs cant be UV textured. Use .TGA format. Dont forget alpha.&lt;br /&gt;
&lt;br /&gt;
*The UV seems wrong in game..&lt;br /&gt;
&lt;br /&gt;
Flip the UV. In UpSpring go to, Texture Mapping&amp;gt;Show UV Maps, then, edit&amp;gt;Flip UVs.&lt;br /&gt;
&lt;br /&gt;
*I get a &amp;quot;missing part&amp;quot; error, and the unit wont aim turrets or animate as indicated in the script.&lt;br /&gt;
&lt;br /&gt;
See last lines in The Model part.&lt;br /&gt;
&lt;br /&gt;
== Related Threads ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=4519]&lt;br /&gt;
[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2660]&lt;br /&gt;
[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=3766]&lt;br /&gt;
[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=3641]&lt;br /&gt;
&lt;br /&gt;
[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=4536 Complementary information]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Credits&lt;br /&gt;
&lt;br /&gt;
Its all stolen from the above threads.&lt;br /&gt;
&lt;br /&gt;
[[Category:Unit development]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Ansuz</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Basic_s3o_unit_making_guide&amp;diff=2887</id>
		<title>Basic s3o unit making guide</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Basic_s3o_unit_making_guide&amp;diff=2887"/>
		<updated>2007-02-27T23:52:18Z</updated>

		<summary type="html">&lt;p&gt;Ansuz: /* The Model */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==What you need:==&lt;br /&gt;
&lt;br /&gt;
*The Model&lt;br /&gt;
*The UV map&lt;br /&gt;
*The Textures&lt;br /&gt;
*The Script&lt;br /&gt;
*[http://www.fileuniverse.com/?p=showitem&amp;amp;ID=2317 UpSpring]&lt;br /&gt;
&lt;br /&gt;
== The Model ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can make it in any of the 3d modelling programs mentioned [http://taspring.clan-sy.com/wiki/Map%2C_Mod%2C_And_Unit_Development_Programs#3d_Modeling here.]&lt;br /&gt;
&lt;br /&gt;
Upspring will import .OBJ, and .3DS, (.3DO is supported as well but we are supposed to be working from scratch here and not converting old units).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Importing 3DS files will have some sort of hierarchy, but with all pieces at the same level you will have to re-arrange them into the correct order using cut-paste commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If I&#039;m not mistaken, .OBJ files don&#039;t have hierarchy, so there is no distinction between parts of the unit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So for using this format you must save each part of the unit in separate files and import them individually from UpSpring. You must have at least one existing object to import to, so create an &amp;quot;empty&amp;quot; object if needed, then import the pieces following the hierarchy, or you can manually arrange them later.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For moving object origins, move part using the move tool, and then use &amp;quot;Apply transformation&amp;quot; button in object tab.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Put the saved .S3O file in the &amp;quot;Objects3D&amp;quot; folder in your mod structure files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;All part names in s3o must be in lower case in UpSpring.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will avoid issues with the script.&lt;br /&gt;
&lt;br /&gt;
== The UV map ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Only one UV map image is allowed, so you must make all part use the same UV map.&lt;br /&gt;
&lt;br /&gt;
Its reported that the biggest texture size of the UV map is 2048x2048.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A guide on Skinning (UV mapping) can be found [http://taspring.clan-sy.com/phpbb/viewtopic.php?t=3511 here].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;**Added by TA 3D:&#039;&#039;&#039; When you want to bring in UV coordinates, go to the Texture Mapping menu again and click on Import UV coordinates from model. Since the texture is flipped vertically you have to flip the UV coordinates. Only use 3ds files for this as obj doesn&#039;t have UV coordinates. I hope this helps.&#039;&#039;&#039;**&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;**Added by Mehere101:&#039;&#039;&#039; This may be out of date, using Blender 2.42 RC3 I can get UV coordinates exported into the OBJ file.  Make sure that you are exporting to Wavefront OBJ, and that whatever exporter you have has the UV Mapping Box checked (In blender its off by default for some reason)&#039;&#039;&#039;**&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can import .3DS models already UV mapped into UpSpring.&lt;br /&gt;
&lt;br /&gt;
(But in my tests the UV map results incorrectly displayed, please fix this part if you know how to do it right)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Another way of making the UV map is importing the model first to Upspring, either by using one .3DS file or the separate .OBJ files method.&lt;br /&gt;
&lt;br /&gt;
Once you have the model imported and in the right place, use &amp;quot;Export Model for UV mapping&amp;quot; in Upspring.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then uvmap that .OBJ file in whatever UV mapping tool of your liking, save, and then import back the UV using the &amp;quot;load UV map from file&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== The Textures ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Quote&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;There are two textures for each model, texture1 is the standar skin texture but the alpha is used for teamcolor. Texture2 uses the green channel for reflectivity and the red channel for self illumination, blue is unused so far.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(In The GIMP, what is texture will show completely black, and what is teamcolor will show transparent, showing the texture under the alpha. Which is a bit awkward if you ask me.. as you wont be able to see what is supposed to be texture, but what wont. buh!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The value of the alpha will blend with the texture, so you can make cool teamcolor/texture transitions ;) .&lt;br /&gt;
&lt;br /&gt;
(I&#039;ve tested DDS format several times in The Gimp, using the export plugin, and have not been able to make this files work so far. Hopefully someone can add more information on this.). &#039;&#039;&#039;**Edit: I will do some digging to find out what the exact formats are that dds is supposed to be saved as. TA 3D**&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
UpSpring 1.3 has a built it texture builder that works great. Use bmps.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;**Added by TA 3D:&#039;&#039;&#039; Spring will use TGA  and PNG files, but if you want the textures to work better and run more effencetly, use DDS files which is a native image format for videocards made by Nvidia. It works on any videocard, not just Nvidia&#039;s cards.&lt;br /&gt;
NOTE: Upspring makes the files fliped verticaly so you will have to flip the UV coordinates in Upspring. &#039;&#039;&#039;Do not use any other format for making dds files with Upspring then bmp otherwise you will have problems. If you use anything else the alpha channel will screw it up. Note: The following images are png to conserve bandwith.&#039;&#039;&#039;&lt;br /&gt;
Heres an example of a dds file I made for a model recently.&lt;br /&gt;
Texture 1 Texture and Team color:&lt;br /&gt;
Texture RGB-channels of the first dds texture file:&lt;br /&gt;
&lt;br /&gt;
http://www.maj.com/gallery/3dbricks/TASPRING/fc1.png&lt;br /&gt;
&lt;br /&gt;
Team color-the alpha channel of the first dds texture file:&lt;br /&gt;
&lt;br /&gt;
http://www.maj.com/gallery/3dbricks/TASPRING/fc2.png&lt;br /&gt;
&lt;br /&gt;
Texture 2 Reflectivity and Illumination:&lt;br /&gt;
Reflection green-channel of the second dds texture file:&lt;br /&gt;
&lt;br /&gt;
http://www.maj.com/gallery/3dbricks/TASPRING/fc3.png&lt;br /&gt;
&lt;br /&gt;
Illumination red-channel of the second dds texture file:&lt;br /&gt;
&lt;br /&gt;
http://www.maj.com/gallery/3dbricks/TASPRING/fc4.png&lt;br /&gt;
&lt;br /&gt;
Upspring can make dds files using the S3O Texture Builder option under the Texture menu.&lt;br /&gt;
&lt;br /&gt;
http://www.maj.com/gallery/3dbricks/TASPRING/menu.png&lt;br /&gt;
&lt;br /&gt;
Making the first dds file.&lt;br /&gt;
&lt;br /&gt;
http://www.maj.com/gallery/3dbricks/TASPRING/texture_builder.png&lt;br /&gt;
&lt;br /&gt;
And making the second.&lt;br /&gt;
&lt;br /&gt;
http://www.maj.com/gallery/3dbricks/TASPRING/texture_builder2.png&lt;br /&gt;
&lt;br /&gt;
When you want to bring in UV coordinates, go to the Texture Mapping menu again and click on Import UV coordinates from model. Since the texture is fliped vertically you have to flip the UV coordinates. If the Team color doesn&#039;t work try inverting the the Team color image using the invert box. I hope this helps. As soon as I have a working model, then I will post a pic of the above textures applyed to it.&#039;&#039;&#039;**&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Put the finished files in &amp;quot;unittextures&amp;quot; folder inside your mod structure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
some other words on the textures:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;alpha is a greyscale... black = no team color, white = all team colour... because Photoshop is dumb stick to 1% balck or 99% black... anything in between is &amp;quot;blended&amp;quot;... like transparency in the team colour mapped over the main texture...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== The Script ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A common script, see other wiki resources for information on what is new/changed in spring.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The unit FBI file ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In this file goes the usual information, plus one change:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
the usual&lt;br /&gt;
	Objectname=UNITNAME;&lt;br /&gt;
&lt;br /&gt;
must be &lt;br /&gt;
	Objectname=UNITNAME&#039;&#039;&#039;.s3o&#039;&#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
== Common Troubles ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*The unit wont show up in game, although the &amp;quot;.give unitname&amp;quot; will work and you can see the selected base.&lt;br /&gt;
&lt;br /&gt;
This is caused bc the unit is underground. In the Model tab you must give your unit a center, collision sphere radius and heigth in Upspring, you can use &amp;quot;estimate&amp;quot; and will be fine.&lt;br /&gt;
&lt;br /&gt;
*The unit texture is all black in game!&lt;br /&gt;
&lt;br /&gt;
Read the texture section here. 3DOs cant be UV textured. Use .TGA format. Dont forget alpha.&lt;br /&gt;
&lt;br /&gt;
*The UV seems wrong in game..&lt;br /&gt;
&lt;br /&gt;
Flip the UV. In UpSpring go to, Texture Mapping&amp;gt;Show UV Maps, then, edit&amp;gt;Flip UVs.&lt;br /&gt;
&lt;br /&gt;
*I get a &amp;quot;missing part&amp;quot; error, and the unit wont aim turrets or animate as indicated in the script.&lt;br /&gt;
&lt;br /&gt;
See last lines in The Model part.&lt;br /&gt;
&lt;br /&gt;
== Related Threads ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=4519]&lt;br /&gt;
[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2660]&lt;br /&gt;
[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=3766]&lt;br /&gt;
[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=3641]&lt;br /&gt;
&lt;br /&gt;
[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=4536 Complementary information]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Credits&lt;br /&gt;
&lt;br /&gt;
Its all stolen from the above threads.&lt;br /&gt;
&lt;br /&gt;
[[Category:Unit development]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Ansuz</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Simple_Game_Tutorial&amp;diff=16849</id>
		<title>Simple Game Tutorial</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Simple_Game_Tutorial&amp;diff=16849"/>
		<updated>2007-02-27T23:48:18Z</updated>

		<summary type="html">&lt;p&gt;Ansuz: /* Step 2:Getting Da Tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Until I Finish [[Mod Development]] is the place to go.&lt;br /&gt;
&lt;br /&gt;
This Tutorial Aims to get a person from knowing nothing about Spring to the point where they can create and edit mods.&lt;br /&gt;
&lt;br /&gt;
Right now I am working from memory so you may want to correct me when I&#039;m wrong, I will try to cross link from my summaries to the appropriate articles available in other places.&lt;br /&gt;
&lt;br /&gt;
I will not go too deep into making 3do&#039;s because they are old and dumb... but I&#039;ll try to make note of the differences here.&lt;br /&gt;
&lt;br /&gt;
I don&#039;t know anything about scripting right now, so that section is likely to be sparse when I write it, I hope that someone will expand on it.&lt;br /&gt;
&lt;br /&gt;
=Book 1: The First Unit=&lt;br /&gt;
&lt;br /&gt;
==Step 1:Planning==&lt;br /&gt;
Who cares about planning, you know what you&#039;re doing... just come up with an idea for a mod... I made a chess set... if you don&#039;t have a real idea and just want to make a model show up in the game... then yeah... this is the place to start... I&#039;d do that if I were you.&lt;br /&gt;
&lt;br /&gt;
Another good thing to do at this point is to creat a &amp;quot;working directory&amp;quot;, and inside it create a directory with the name that your mod will have... after many headaches I decided it&#039;s best to put this in the root directory of your system so it&#039;s really easy to find when you are switching around back and forth between folders and keep having to find your files over and over again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Step 2:Getting Da Tools==&lt;br /&gt;
You will need a bunch of stuff... here&#039;s the list (I assume you are using windows)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Want:&#039;&#039;&lt;br /&gt;
*[http://taspring.clan-sy.com/download.php Spring] - The main program, you will likely need this to test if you&#039;ve screwed up&lt;br /&gt;
*A Tiny Map (2x2) - to test your mod fast (suggest [http://www.fileuniverse.com/?p=showitem&amp;amp;ID=2534 Simple Chess Map])&lt;br /&gt;
*[http://www.darkstars.co.uk/index.php?name=Forums&amp;amp;file=viewtopic&amp;amp;p=17 SpringSP] - To load up your mod and your map in spring without confising lobby folks&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Need:&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Program listings can be found here:&#039;&#039;&#039; &#039;&#039;&#039;[http://taspring.clan-sy.com/wiki/Map%2C_Mod%2C_And_Unit_Development_Programs Map, Mod, And Unit Development Programs]&#039;&#039;&#039;&lt;br /&gt;
*3D Modeling Program - &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Notepad - to edit all the miriad of text files&lt;br /&gt;
*A Graphical Editing Program - needs to handle RGBA TGAs (aka tga&#039;s with alpha channels), I suggest Photoshop if you have it, or The GIMP... needed for all of the texture making for UVmapping stuff... &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Upspring 1.3 - To convert your models to the approprite s3o format (if you want to fight with 3do builder, then go ahead... a good trick is to get your model into upspring first and adjust all the hierachy, then save it as an 3do... but why bother?). &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Scriptor - to make and compile your units &amp;quot;animation script&amp;quot;... or steal someone else&#039;s and make it work for your unit. &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Compression Utility - (I suggest [http://www.7-zip.org/ 7zip] - even if you are using zip compression and not 7zip, it&#039;s still good to have)&lt;br /&gt;
&lt;br /&gt;
==Step 3:Making a 3D Model==&lt;br /&gt;
&lt;br /&gt;
Go into your 3D modelling program and make a 3D model, [http://taspring.clan-sy.com/w/images/b/b4/WingsCombine.PNG combine] all the objects and UV map the model, then separate it out into any parts that need to move independently of each other.  Then Export the UV map as an Image File and Export the whole thing as a 3ds file.  Put the original wings file, the UVMap image and the 3ds file into your working directory so you can find them later.&lt;br /&gt;
&lt;br /&gt;
Wings 3D UV Mapping tutorial has been started here - [[Units:CreateModel]]&lt;br /&gt;
&lt;br /&gt;
==Step 4:Fixing Your Images==&lt;br /&gt;
&lt;br /&gt;
[[Basic s3o unit making guide|This Article includes a UVMapping Guide]]&lt;br /&gt;
&lt;br /&gt;
Open up your UVMap in Photoshop (or whatever) go to the layer/chooser thingy and go to the Channels Tab, add a new layer (it should default to alpha) and fill it with 99% black so you can see your texture in upspring.  If you want to can paint the UVmap and put white (1% black) on the alpha channel where you want your team colours to show up (you can use something between 1% and 99% to get a blend of your team colour along with the texture... for example 50% will give you your texture with 50% of the team colour mixed in...)&lt;br /&gt;
&lt;br /&gt;
I don&#039;t know how to do glow maps... XXreminder for someone to create a Glowmapping tutorial... you don&#039;t acctually need one for the model to show up.&lt;br /&gt;
&lt;br /&gt;
Save these images both in the working directory.&lt;br /&gt;
&lt;br /&gt;
Save a copy of these images in tga format into &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/unittextures&lt;br /&gt;
&lt;br /&gt;
==Step 5:Upspring==&lt;br /&gt;
&lt;br /&gt;
===Importing Your 3ds===&lt;br /&gt;
Open Upspring 1.3, go to file&amp;gt;load model and navigate to and open your 3DS model you exported, you should see the model in upspring as a 3d mesh.  Go to the model tab and set the radius and height values to something other then zero... this defines where the health bar will show up, and more importantly, how big the collision sphere will be.&lt;br /&gt;
&lt;br /&gt;
You will also need to use all of the other tools on those tabs to resize and rotate and move your model to the right place... wings makes models that are 90 degrees off and about 30 times smaller than most spring models... make sure you click the &amp;quot;apply transform&amp;quot; button after any changes that you actually want to show up in the game.&lt;br /&gt;
&lt;br /&gt;
Also, you will want to make the hierachy work using the cut, paste, and add empty buttons.  You will need an object called &amp;quot;base&amp;quot; that all the other objects are connected to... the &amp;quot;origin object&amp;quot;... sometimes you get lucky and wings exports it properly... usually not.&lt;br /&gt;
&lt;br /&gt;
===Importing Your UV and Glowmaps===&lt;br /&gt;
&lt;br /&gt;
Go to the textures tab and make your UV/texture/team-colour map as &amp;quot;texture1&amp;quot; and your UV/glow/reflectivity map as &amp;quot;texture2&amp;quot;... it should show up correctly in the preview pane.&lt;br /&gt;
&lt;br /&gt;
===Exporting Your s3o===&lt;br /&gt;
Choose File&amp;gt;Save Model As then in the drop down select &amp;quot;s3o&amp;quot; and type an appropriate name. This model should be saved to your working directory, and a copy of it made to &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/3dobjects/&lt;br /&gt;
&lt;br /&gt;
==Step 6:A couple Text Files==&lt;br /&gt;
&lt;br /&gt;
===UnitName.fbi===&lt;br /&gt;
For Reference visit [[Units:FBI]], but again, the easiest way to do this is to extract an existing mod and find the fbi for a unit that behaves similarly to the one you are trying to make and rename and modify it.&lt;br /&gt;
&lt;br /&gt;
Some More Specific Information Not Clear in the &amp;quot;Units:FBI&amp;quot; article:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name+&amp;quot; &amp;quot;+Description=Spring Display Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So is you have the following settings:&lt;br /&gt;
&lt;br /&gt;
 Name=Tiger;&lt;br /&gt;
 Description=Fast Attack C.A.T.;&lt;br /&gt;
&lt;br /&gt;
The Tooltip will show &amp;quot;Tiger Fast Attack C.A.T.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;BuildPic Defaults to UnitName.bmp&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So if you leave out &amp;quot;BuildPic=filename.bmp;&amp;quot; Spring will look in /unitpics/ for a file called &amp;quot;UnitName.bmp&amp;quot; to use as your buildpic.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ObjectName&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you want to use an s3o object, you will need to specify with &amp;quot;ObjectName=UnitName&#039;&#039;&#039;.S3O;&#039;&#039;&#039;&amp;quot; otherwise it will look for &amp;quot;UnitName.3do&amp;quot;.  Also, you don&#039;t have to use &amp;quot;UnitName&amp;quot; as the filename and, in fact, multiple Unit&#039;s fbi files can reference the same 3D models. It is easier, however, for people to figure out what you are doing in your mod if you follow the standards.&lt;br /&gt;
&lt;br /&gt;
Save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/units/&lt;br /&gt;
&lt;br /&gt;
===modinfo.tdf===&lt;br /&gt;
&lt;br /&gt;
modinfo.tdf is a text file that defines a number of things that are used when loading a mod, most of the information is self explanitory but basically what you are doing is defining what is going to show up in whatever mod-selection interface you use as well as what other files need to be loaded into memory in order for your mod to work.&lt;br /&gt;
&lt;br /&gt;
====Making a New Mod with your unit/units====&lt;br /&gt;
The following is an example of what will be in your modinfo.tdf file if you are starting from scratch and making your own mod. This is also good when you are just testing one unit to see if it works.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [MOD] {&lt;br /&gt;
 &lt;br /&gt;
  // The name is shown in the selection interface&lt;br /&gt;
  Name=My Mod; &lt;br /&gt;
 &lt;br /&gt;
  // These can be shown by the selection interface &lt;br /&gt;
  Description=My Mod That I Made; &lt;br /&gt;
  URL=http://www.theplacepeoplecangetthelatestversionofyourmod.com; &lt;br /&gt;
 &lt;br /&gt;
  // What kind of mod this is &lt;br /&gt;
  //  0 - Hidden (support mod that can&#039;t be selected, such as OTA_textures) &lt;br /&gt;
  //  1 - Normal, only one can be selected at a time &lt;br /&gt;
  //  2 - Addon, any number of these can be selected. Could be used &lt;br /&gt;
  //      for single units for example. &lt;br /&gt;
  //  others - perhaps mutators and addon races that can be &lt;br /&gt;
  //           enabled in addition to xta for example? &lt;br /&gt;
  ModType=1; &lt;br /&gt;
&lt;br /&gt;
  // Number of other archives this one depends on    &lt;br /&gt;
  NumDependencies=4; &lt;br /&gt;
 	Depend0=taenheter.sdz;&lt;br /&gt;
 	Depend1=springcontent.sdz;&lt;br /&gt;
 	Depend2=otacontent.sdz;&lt;br /&gt;
 	Depend3=tatextures.sdz;&lt;br /&gt;
         &lt;br /&gt;
 &lt;br /&gt;
  // Number of other archives this one replaces&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
====Adding Your Unit to an Existing Mod====&lt;br /&gt;
The following is an example of what will be in your modinfo.tdf file if you are adding new units to an existing mod (in this case xta_se_v066.sdz), this is good for adding units to the build tree of an existing mod or adding a whole new team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 // Description of the mod control file recognized by spring:&lt;br /&gt;
 &lt;br /&gt;
 [MOD] {&lt;br /&gt;
 &lt;br /&gt;
 // The name is shown in the selection interface&lt;br /&gt;
 Name=XTASEv0.66 with+My Units; &lt;br /&gt;
 &lt;br /&gt;
 // These can be shown by the selection interface&lt;br /&gt;
 //&lt;br /&gt;
 Description=xta_se_v066 with the cool tank I made; &lt;br /&gt;
 URL=http://www.fileuniverse.com/exactlocationblahblahblah; &lt;br /&gt;
 &lt;br /&gt;
 // What kind of mod this is &lt;br /&gt;
 //  0 - Hidden (support mod that can&#039;t be selected, such as OTA_textures) &lt;br /&gt;
 //  1 - Normal, only one can be selected at a time &lt;br /&gt;
 //  2 - Addon, any number of these can be selected. Could be used &lt;br /&gt;
 //      for single units for example. &lt;br /&gt;
 //  others - perhaps mutators and addon races that can be &lt;br /&gt;
 //           enabled in addition to xta for example? &lt;br /&gt;
 ModType=1; &lt;br /&gt;
 &lt;br /&gt;
 // Number of other archives this one depends on    &lt;br /&gt;
 NumDependencies=5; &lt;br /&gt;
 	Depend0=taenheter.sdz;&lt;br /&gt;
 	Depend1=springcontent.sdz;&lt;br /&gt;
 	Depend2=otacontent.sdz;&lt;br /&gt;
 	Depend3=tatextures.sdz;&lt;br /&gt;
 	Depend4=xta_se_v066.sdz;&lt;br /&gt;
         &lt;br /&gt;
 &lt;br /&gt;
 // Number of other archives this one replaces&lt;br /&gt;
 } &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are some extra bits in these examples, but I work on the &amp;quot;better safe than sorry&amp;quot; principle... which is to wait for someone who knows what they are doing to fix my articles.&lt;br /&gt;
&lt;br /&gt;
You will want to save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/&lt;br /&gt;
&lt;br /&gt;
===Armor.txt===&lt;br /&gt;
&lt;br /&gt;
I&#039;m not exactly sure how this works, but the file needs to exist, so either steal one from another mod and modify it... or just make a file that looks like this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 // [UNITNAME]- Good Against Lazer/Bad Against Nukes&lt;br /&gt;
 [UNITNAME]&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You will want to save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/&lt;br /&gt;
&lt;br /&gt;
===SIDEDATA.TDF===&lt;br /&gt;
&lt;br /&gt;
Start by stealing the sidedata.tdf file from your dependency mod if you have one, then edit it to include your units/side.&lt;br /&gt;
&lt;br /&gt;
Basically this file is in the form:&lt;br /&gt;
&lt;br /&gt;
 [SIDE0]&lt;br /&gt;
 	{&lt;br /&gt;
 	name=Good Guys;&lt;br /&gt;
 	nameprefix=GG;&lt;br /&gt;
 	commander=UnitName1;&lt;br /&gt;
 	}&lt;br /&gt;
 [CANBUILD]&lt;br /&gt;
 	{&lt;br /&gt;
 	[UnitName1]&lt;br /&gt;
 		{&lt;br /&gt;
 		canbuild1=UnitName2;&lt;br /&gt;
 		canbuild2=UnitName3;&lt;br /&gt;
 		canbuild3=UnitName4;&lt;br /&gt;
 		canbuild4=UnitName5;&lt;br /&gt;
 		canbuild5=UnitName6;&lt;br /&gt;
 		}&lt;br /&gt;
 	}    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
...with additional &amp;quot;[SIDEX]&amp;quot; entries for each side/team/commander-choice available in the mod-selector you choose, additional &amp;quot;[UnitName]&amp;quot; sections for each factory of construction unit, and additional &amp;quot;canbuildx=UnitName&amp;quot; entries to all factory/con-units that can build each unit.&lt;br /&gt;
&lt;br /&gt;
You will save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/gamedata/&lt;br /&gt;
&lt;br /&gt;
==Step 7:Adding a Build Pic==&lt;br /&gt;
&lt;br /&gt;
Add a 96x96 BMP to your &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/unitpics/ folder named either &amp;quot;UnitName.bmp&amp;quot; or whatever you specified in the &amp;quot;BuildPic=&amp;quot; line of your fbi.&lt;br /&gt;
&lt;br /&gt;
==Step 8:Adding a Side Pic==&lt;br /&gt;
&lt;br /&gt;
Add a 16x16 BMP to your &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/sidepics/ folder named &amp;quot;teamname.bmp&amp;quot; or whatever you specified in the &amp;quot;name=&amp;quot; line of your SIDEDATA.TDF for each side/team you have added.&lt;br /&gt;
&lt;br /&gt;
==Step 9:Scriptor==&lt;br /&gt;
&lt;br /&gt;
===Stealing a Script===&lt;br /&gt;
Open someone else&#039;s script in scriptor that works the way you want your script to work, look at the top where it&#039;s talking about &amp;quot;piece names&amp;quot;... then change those piece names to be the piece names of your unit and do a find/replace to make all the places where those pieces show up to be your pieces too.  Compile it so its name is the same as the &amp;quot;UnitName=&amp;quot; value in your &amp;quot;UnitName.fbi&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
XXreminder to someone to link to a proper scripting tutorial&lt;br /&gt;
&lt;br /&gt;
Put the bos and cob files for your unit script in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
==Step 10:Compiling Your Mod==&lt;br /&gt;
&lt;br /&gt;
You may want to check your mod directory and make sure it follows the structure defined [[Mod_Development:Archives|here]].&lt;br /&gt;
&lt;br /&gt;
navigate to your &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt; and select everything and choose &amp;quot;add to archive &amp;lt;mod name&amp;gt;.7z&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
make a copy of this file called &amp;lt;mod name&amp;gt;v0.7z in your working directory so you don&#039;t screw anything up later, then make a copy of it called &amp;lt;mod name&amp;gt;.sd7 in the mods directory of spring.&lt;br /&gt;
&lt;br /&gt;
==Step 11:Testing Your Mod==&lt;br /&gt;
Open Up SpringSP, pick your mod from the drop-down at the top (if it doesn&#039;t show up you screwed up your modinfo.txt), choose your tiny map from the map list and press start.  If it doesn&#039;t break and your unit shows up, you have created all the neccessary files... yay!&lt;br /&gt;
&lt;br /&gt;
Gotchas:&lt;br /&gt;
*If it doesnt work, check you didn&#039;t zip the folder itself, but the contents, ie if you open mymod.sd7 with 7zip, you should see folders such as &amp;quot;unittextures&amp;quot; rather than a folder &amp;quot;mymod&amp;quot; containing unittextures.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mod development]]&lt;/div&gt;</summary>
		<author><name>Ansuz</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Simple_Game_Tutorial&amp;diff=16848</id>
		<title>Simple Game Tutorial</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Simple_Game_Tutorial&amp;diff=16848"/>
		<updated>2007-02-27T23:46:36Z</updated>

		<summary type="html">&lt;p&gt;Ansuz: /* Stealing a Script */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Until I Finish [[Mod Development]] is the place to go.&lt;br /&gt;
&lt;br /&gt;
This Tutorial Aims to get a person from knowing nothing about Spring to the point where they can create and edit mods.&lt;br /&gt;
&lt;br /&gt;
Right now I am working from memory so you may want to correct me when I&#039;m wrong, I will try to cross link from my summaries to the appropriate articles available in other places.&lt;br /&gt;
&lt;br /&gt;
I will not go too deep into making 3do&#039;s because they are old and dumb... but I&#039;ll try to make note of the differences here.&lt;br /&gt;
&lt;br /&gt;
I don&#039;t know anything about scripting right now, so that section is likely to be sparse when I write it, I hope that someone will expand on it.&lt;br /&gt;
&lt;br /&gt;
=Book 1: The First Unit=&lt;br /&gt;
&lt;br /&gt;
==Step 1:Planning==&lt;br /&gt;
Who cares about planning, you know what you&#039;re doing... just come up with an idea for a mod... I made a chess set... if you don&#039;t have a real idea and just want to make a model show up in the game... then yeah... this is the place to start... I&#039;d do that if I were you.&lt;br /&gt;
&lt;br /&gt;
Another good thing to do at this point is to creat a &amp;quot;working directory&amp;quot;, and inside it create a directory with the name that your mod will have... after many headaches I decided it&#039;s best to put this in the root directory of your system so it&#039;s really easy to find when you are switching around back and forth between folders and keep having to find your files over and over again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Step 2:Getting Da Tools==&lt;br /&gt;
You will need a bunch of stuff... here&#039;s the list (I assume you are using windows)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Want:&#039;&#039;&lt;br /&gt;
*[http://taspring.clan-sy.com/download.php Spring] - The main program, you will likely need this to test if you&#039;ve screwed up&lt;br /&gt;
*A Tiny Map (2x2) - to test your mod fast (suggest [http://www.fileuniverse.com/?p=showitem&amp;amp;ID=2534 Simple Chess Map])&lt;br /&gt;
*[http://www.darkstars.co.uk/index.php?name=Forums&amp;amp;file=viewtopic&amp;amp;p=17 SpringSP] - To load up your mod and your map in spring without confising lobby folks&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Need:&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Program listings can be found here:&#039;&#039;&#039; &#039;&#039;&#039;[http://taspring.clan-sy.com/wiki/Map%2C_Mod%2C_And_Unit_Development_Programs Map, Mod, And Unit Development Programs]&#039;&#039;&#039;&lt;br /&gt;
*3D Modeling Program - &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Notepad - to edit all the miriad of text files&lt;br /&gt;
*A Graphical Editing Program - needs to handle RGBA TGAs (aka tga&#039;s with alpha channels), I suggest Photoshop if you have it, or the Gimp... needed for all of the texture making for UVmapping stuff... &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Upspring 1.3 - To convert your models to the approprite s3o format (if you want to fight with 3do builder, then go ahead... a good trick is to get your model into upspring first and adjust all the hierachy, then save it as an 3do... but why bother?). &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Scriptor - to make and compile your units &amp;quot;animation script&amp;quot;... or steal someone elses and make it work for your unit. &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Compression Utility - (I suggest [http://www.7-zip.org/ 7zip] - even if you are using zip compression and not 7zip, it&#039;s still good to have)&lt;br /&gt;
&lt;br /&gt;
==Step 3:Making a 3D Model==&lt;br /&gt;
&lt;br /&gt;
Go into your 3D modelling program and make a 3D model, [http://taspring.clan-sy.com/w/images/b/b4/WingsCombine.PNG combine] all the objects and UV map the model, then separate it out into any parts that need to move independently of each other.  Then Export the UV map as an Image File and Export the whole thing as a 3ds file.  Put the original wings file, the UVMap image and the 3ds file into your working directory so you can find them later.&lt;br /&gt;
&lt;br /&gt;
Wings 3D UV Mapping tutorial has been started here - [[Units:CreateModel]]&lt;br /&gt;
&lt;br /&gt;
==Step 4:Fixing Your Images==&lt;br /&gt;
&lt;br /&gt;
[[Basic s3o unit making guide|This Article includes a UVMapping Guide]]&lt;br /&gt;
&lt;br /&gt;
Open up your UVMap in Photoshop (or whatever) go to the layer/chooser thingy and go to the Channels Tab, add a new layer (it should default to alpha) and fill it with 99% black so you can see your texture in upspring.  If you want to can paint the UVmap and put white (1% black) on the alpha channel where you want your team colours to show up (you can use something between 1% and 99% to get a blend of your team colour along with the texture... for example 50% will give you your texture with 50% of the team colour mixed in...)&lt;br /&gt;
&lt;br /&gt;
I don&#039;t know how to do glow maps... XXreminder for someone to create a Glowmapping tutorial... you don&#039;t acctually need one for the model to show up.&lt;br /&gt;
&lt;br /&gt;
Save these images both in the working directory.&lt;br /&gt;
&lt;br /&gt;
Save a copy of these images in tga format into &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/unittextures&lt;br /&gt;
&lt;br /&gt;
==Step 5:Upspring==&lt;br /&gt;
&lt;br /&gt;
===Importing Your 3ds===&lt;br /&gt;
Open Upspring 1.3, go to file&amp;gt;load model and navigate to and open your 3DS model you exported, you should see the model in upspring as a 3d mesh.  Go to the model tab and set the radius and height values to something other then zero... this defines where the health bar will show up, and more importantly, how big the collision sphere will be.&lt;br /&gt;
&lt;br /&gt;
You will also need to use all of the other tools on those tabs to resize and rotate and move your model to the right place... wings makes models that are 90 degrees off and about 30 times smaller than most spring models... make sure you click the &amp;quot;apply transform&amp;quot; button after any changes that you actually want to show up in the game.&lt;br /&gt;
&lt;br /&gt;
Also, you will want to make the hierachy work using the cut, paste, and add empty buttons.  You will need an object called &amp;quot;base&amp;quot; that all the other objects are connected to... the &amp;quot;origin object&amp;quot;... sometimes you get lucky and wings exports it properly... usually not.&lt;br /&gt;
&lt;br /&gt;
===Importing Your UV and Glowmaps===&lt;br /&gt;
&lt;br /&gt;
Go to the textures tab and make your UV/texture/team-colour map as &amp;quot;texture1&amp;quot; and your UV/glow/reflectivity map as &amp;quot;texture2&amp;quot;... it should show up correctly in the preview pane.&lt;br /&gt;
&lt;br /&gt;
===Exporting Your s3o===&lt;br /&gt;
Choose File&amp;gt;Save Model As then in the drop down select &amp;quot;s3o&amp;quot; and type an appropriate name. This model should be saved to your working directory, and a copy of it made to &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/3dobjects/&lt;br /&gt;
&lt;br /&gt;
==Step 6:A couple Text Files==&lt;br /&gt;
&lt;br /&gt;
===UnitName.fbi===&lt;br /&gt;
For Reference visit [[Units:FBI]], but again, the easiest way to do this is to extract an existing mod and find the fbi for a unit that behaves similarly to the one you are trying to make and rename and modify it.&lt;br /&gt;
&lt;br /&gt;
Some More Specific Information Not Clear in the &amp;quot;Units:FBI&amp;quot; article:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name+&amp;quot; &amp;quot;+Description=Spring Display Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So is you have the following settings:&lt;br /&gt;
&lt;br /&gt;
 Name=Tiger;&lt;br /&gt;
 Description=Fast Attack C.A.T.;&lt;br /&gt;
&lt;br /&gt;
The Tooltip will show &amp;quot;Tiger Fast Attack C.A.T.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;BuildPic Defaults to UnitName.bmp&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So if you leave out &amp;quot;BuildPic=filename.bmp;&amp;quot; Spring will look in /unitpics/ for a file called &amp;quot;UnitName.bmp&amp;quot; to use as your buildpic.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ObjectName&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you want to use an s3o object, you will need to specify with &amp;quot;ObjectName=UnitName&#039;&#039;&#039;.S3O;&#039;&#039;&#039;&amp;quot; otherwise it will look for &amp;quot;UnitName.3do&amp;quot;.  Also, you don&#039;t have to use &amp;quot;UnitName&amp;quot; as the filename and, in fact, multiple Unit&#039;s fbi files can reference the same 3D models. It is easier, however, for people to figure out what you are doing in your mod if you follow the standards.&lt;br /&gt;
&lt;br /&gt;
Save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/units/&lt;br /&gt;
&lt;br /&gt;
===modinfo.tdf===&lt;br /&gt;
&lt;br /&gt;
modinfo.tdf is a text file that defines a number of things that are used when loading a mod, most of the information is self explanitory but basically what you are doing is defining what is going to show up in whatever mod-selection interface you use as well as what other files need to be loaded into memory in order for your mod to work.&lt;br /&gt;
&lt;br /&gt;
====Making a New Mod with your unit/units====&lt;br /&gt;
The following is an example of what will be in your modinfo.tdf file if you are starting from scratch and making your own mod. This is also good when you are just testing one unit to see if it works.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [MOD] {&lt;br /&gt;
 &lt;br /&gt;
  // The name is shown in the selection interface&lt;br /&gt;
  Name=My Mod; &lt;br /&gt;
 &lt;br /&gt;
  // These can be shown by the selection interface &lt;br /&gt;
  Description=My Mod That I Made; &lt;br /&gt;
  URL=http://www.theplacepeoplecangetthelatestversionofyourmod.com; &lt;br /&gt;
 &lt;br /&gt;
  // What kind of mod this is &lt;br /&gt;
  //  0 - Hidden (support mod that can&#039;t be selected, such as OTA_textures) &lt;br /&gt;
  //  1 - Normal, only one can be selected at a time &lt;br /&gt;
  //  2 - Addon, any number of these can be selected. Could be used &lt;br /&gt;
  //      for single units for example. &lt;br /&gt;
  //  others - perhaps mutators and addon races that can be &lt;br /&gt;
  //           enabled in addition to xta for example? &lt;br /&gt;
  ModType=1; &lt;br /&gt;
&lt;br /&gt;
  // Number of other archives this one depends on    &lt;br /&gt;
  NumDependencies=4; &lt;br /&gt;
 	Depend0=taenheter.sdz;&lt;br /&gt;
 	Depend1=springcontent.sdz;&lt;br /&gt;
 	Depend2=otacontent.sdz;&lt;br /&gt;
 	Depend3=tatextures.sdz;&lt;br /&gt;
         &lt;br /&gt;
 &lt;br /&gt;
  // Number of other archives this one replaces&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
====Adding Your Unit to an Existing Mod====&lt;br /&gt;
The following is an example of what will be in your modinfo.tdf file if you are adding new units to an existing mod (in this case xta_se_v066.sdz), this is good for adding units to the build tree of an existing mod or adding a whole new team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 // Description of the mod control file recognized by spring:&lt;br /&gt;
 &lt;br /&gt;
 [MOD] {&lt;br /&gt;
 &lt;br /&gt;
 // The name is shown in the selection interface&lt;br /&gt;
 Name=XTASEv0.66 with+My Units; &lt;br /&gt;
 &lt;br /&gt;
 // These can be shown by the selection interface&lt;br /&gt;
 //&lt;br /&gt;
 Description=xta_se_v066 with the cool tank I made; &lt;br /&gt;
 URL=http://www.fileuniverse.com/exactlocationblahblahblah; &lt;br /&gt;
 &lt;br /&gt;
 // What kind of mod this is &lt;br /&gt;
 //  0 - Hidden (support mod that can&#039;t be selected, such as OTA_textures) &lt;br /&gt;
 //  1 - Normal, only one can be selected at a time &lt;br /&gt;
 //  2 - Addon, any number of these can be selected. Could be used &lt;br /&gt;
 //      for single units for example. &lt;br /&gt;
 //  others - perhaps mutators and addon races that can be &lt;br /&gt;
 //           enabled in addition to xta for example? &lt;br /&gt;
 ModType=1; &lt;br /&gt;
 &lt;br /&gt;
 // Number of other archives this one depends on    &lt;br /&gt;
 NumDependencies=5; &lt;br /&gt;
 	Depend0=taenheter.sdz;&lt;br /&gt;
 	Depend1=springcontent.sdz;&lt;br /&gt;
 	Depend2=otacontent.sdz;&lt;br /&gt;
 	Depend3=tatextures.sdz;&lt;br /&gt;
 	Depend4=xta_se_v066.sdz;&lt;br /&gt;
         &lt;br /&gt;
 &lt;br /&gt;
 // Number of other archives this one replaces&lt;br /&gt;
 } &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are some extra bits in these examples, but I work on the &amp;quot;better safe than sorry&amp;quot; principle... which is to wait for someone who knows what they are doing to fix my articles.&lt;br /&gt;
&lt;br /&gt;
You will want to save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/&lt;br /&gt;
&lt;br /&gt;
===Armor.txt===&lt;br /&gt;
&lt;br /&gt;
I&#039;m not exactly sure how this works, but the file needs to exist, so either steal one from another mod and modify it... or just make a file that looks like this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 // [UNITNAME]- Good Against Lazer/Bad Against Nukes&lt;br /&gt;
 [UNITNAME]&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You will want to save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/&lt;br /&gt;
&lt;br /&gt;
===SIDEDATA.TDF===&lt;br /&gt;
&lt;br /&gt;
Start by stealing the sidedata.tdf file from your dependency mod if you have one, then edit it to include your units/side.&lt;br /&gt;
&lt;br /&gt;
Basically this file is in the form:&lt;br /&gt;
&lt;br /&gt;
 [SIDE0]&lt;br /&gt;
 	{&lt;br /&gt;
 	name=Good Guys;&lt;br /&gt;
 	nameprefix=GG;&lt;br /&gt;
 	commander=UnitName1;&lt;br /&gt;
 	}&lt;br /&gt;
 [CANBUILD]&lt;br /&gt;
 	{&lt;br /&gt;
 	[UnitName1]&lt;br /&gt;
 		{&lt;br /&gt;
 		canbuild1=UnitName2;&lt;br /&gt;
 		canbuild2=UnitName3;&lt;br /&gt;
 		canbuild3=UnitName4;&lt;br /&gt;
 		canbuild4=UnitName5;&lt;br /&gt;
 		canbuild5=UnitName6;&lt;br /&gt;
 		}&lt;br /&gt;
 	}    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
...with additional &amp;quot;[SIDEX]&amp;quot; entries for each side/team/commander-choice available in the mod-selector you choose, additional &amp;quot;[UnitName]&amp;quot; sections for each factory of construction unit, and additional &amp;quot;canbuildx=UnitName&amp;quot; entries to all factory/con-units that can build each unit.&lt;br /&gt;
&lt;br /&gt;
You will save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/gamedata/&lt;br /&gt;
&lt;br /&gt;
==Step 7:Adding a Build Pic==&lt;br /&gt;
&lt;br /&gt;
Add a 96x96 BMP to your &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/unitpics/ folder named either &amp;quot;UnitName.bmp&amp;quot; or whatever you specified in the &amp;quot;BuildPic=&amp;quot; line of your fbi.&lt;br /&gt;
&lt;br /&gt;
==Step 8:Adding a Side Pic==&lt;br /&gt;
&lt;br /&gt;
Add a 16x16 BMP to your &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/sidepics/ folder named &amp;quot;teamname.bmp&amp;quot; or whatever you specified in the &amp;quot;name=&amp;quot; line of your SIDEDATA.TDF for each side/team you have added.&lt;br /&gt;
&lt;br /&gt;
==Step 9:Scriptor==&lt;br /&gt;
&lt;br /&gt;
===Stealing a Script===&lt;br /&gt;
Open someone else&#039;s script in scriptor that works the way you want your script to work, look at the top where it&#039;s talking about &amp;quot;piece names&amp;quot;... then change those piece names to be the piece names of your unit and do a find/replace to make all the places where those pieces show up to be your pieces too.  Compile it so its name is the same as the &amp;quot;UnitName=&amp;quot; value in your &amp;quot;UnitName.fbi&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
XXreminder to someone to link to a proper scripting tutorial&lt;br /&gt;
&lt;br /&gt;
Put the bos and cob files for your unit script in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
==Step 10:Compiling Your Mod==&lt;br /&gt;
&lt;br /&gt;
You may want to check your mod directory and make sure it follows the structure defined [[Mod_Development:Archives|here]].&lt;br /&gt;
&lt;br /&gt;
navigate to your &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt; and select everything and choose &amp;quot;add to archive &amp;lt;mod name&amp;gt;.7z&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
make a copy of this file called &amp;lt;mod name&amp;gt;v0.7z in your working directory so you don&#039;t screw anything up later, then make a copy of it called &amp;lt;mod name&amp;gt;.sd7 in the mods directory of spring.&lt;br /&gt;
&lt;br /&gt;
==Step 11:Testing Your Mod==&lt;br /&gt;
Open Up SpringSP, pick your mod from the drop-down at the top (if it doesn&#039;t show up you screwed up your modinfo.txt), choose your tiny map from the map list and press start.  If it doesn&#039;t break and your unit shows up, you have created all the neccessary files... yay!&lt;br /&gt;
&lt;br /&gt;
Gotchas:&lt;br /&gt;
*If it doesnt work, check you didn&#039;t zip the folder itself, but the contents, ie if you open mymod.sd7 with 7zip, you should see folders such as &amp;quot;unittextures&amp;quot; rather than a folder &amp;quot;mymod&amp;quot; containing unittextures.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mod development]]&lt;/div&gt;</summary>
		<author><name>Ansuz</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Simple_Game_Tutorial&amp;diff=16847</id>
		<title>Simple Game Tutorial</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Simple_Game_Tutorial&amp;diff=16847"/>
		<updated>2007-02-27T23:45:30Z</updated>

		<summary type="html">&lt;p&gt;Ansuz: /* Importing Your 3ds */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Until I Finish [[Mod Development]] is the place to go.&lt;br /&gt;
&lt;br /&gt;
This Tutorial Aims to get a person from knowing nothing about Spring to the point where they can create and edit mods.&lt;br /&gt;
&lt;br /&gt;
Right now I am working from memory so you may want to correct me when I&#039;m wrong, I will try to cross link from my summaries to the appropriate articles available in other places.&lt;br /&gt;
&lt;br /&gt;
I will not go too deep into making 3do&#039;s because they are old and dumb... but I&#039;ll try to make note of the differences here.&lt;br /&gt;
&lt;br /&gt;
I don&#039;t know anything about scripting right now, so that section is likely to be sparse when I write it, I hope that someone will expand on it.&lt;br /&gt;
&lt;br /&gt;
=Book 1: The First Unit=&lt;br /&gt;
&lt;br /&gt;
==Step 1:Planning==&lt;br /&gt;
Who cares about planning, you know what you&#039;re doing... just come up with an idea for a mod... I made a chess set... if you don&#039;t have a real idea and just want to make a model show up in the game... then yeah... this is the place to start... I&#039;d do that if I were you.&lt;br /&gt;
&lt;br /&gt;
Another good thing to do at this point is to creat a &amp;quot;working directory&amp;quot;, and inside it create a directory with the name that your mod will have... after many headaches I decided it&#039;s best to put this in the root directory of your system so it&#039;s really easy to find when you are switching around back and forth between folders and keep having to find your files over and over again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Step 2:Getting Da Tools==&lt;br /&gt;
You will need a bunch of stuff... here&#039;s the list (I assume you are using windows)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Want:&#039;&#039;&lt;br /&gt;
*[http://taspring.clan-sy.com/download.php Spring] - The main program, you will likely need this to test if you&#039;ve screwed up&lt;br /&gt;
*A Tiny Map (2x2) - to test your mod fast (suggest [http://www.fileuniverse.com/?p=showitem&amp;amp;ID=2534 Simple Chess Map])&lt;br /&gt;
*[http://www.darkstars.co.uk/index.php?name=Forums&amp;amp;file=viewtopic&amp;amp;p=17 SpringSP] - To load up your mod and your map in spring without confising lobby folks&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Need:&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Program listings can be found here:&#039;&#039;&#039; &#039;&#039;&#039;[http://taspring.clan-sy.com/wiki/Map%2C_Mod%2C_And_Unit_Development_Programs Map, Mod, And Unit Development Programs]&#039;&#039;&#039;&lt;br /&gt;
*3D Modeling Program - &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Notepad - to edit all the miriad of text files&lt;br /&gt;
*A Graphical Editing Program - needs to handle RGBA TGAs (aka tga&#039;s with alpha channels), I suggest Photoshop if you have it, or the Gimp... needed for all of the texture making for UVmapping stuff... &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Upspring 1.3 - To convert your models to the approprite s3o format (if you want to fight with 3do builder, then go ahead... a good trick is to get your model into upspring first and adjust all the hierachy, then save it as an 3do... but why bother?). &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Scriptor - to make and compile your units &amp;quot;animation script&amp;quot;... or steal someone elses and make it work for your unit. &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Compression Utility - (I suggest [http://www.7-zip.org/ 7zip] - even if you are using zip compression and not 7zip, it&#039;s still good to have)&lt;br /&gt;
&lt;br /&gt;
==Step 3:Making a 3D Model==&lt;br /&gt;
&lt;br /&gt;
Go into your 3D modelling program and make a 3D model, [http://taspring.clan-sy.com/w/images/b/b4/WingsCombine.PNG combine] all the objects and UV map the model, then separate it out into any parts that need to move independently of each other.  Then Export the UV map as an Image File and Export the whole thing as a 3ds file.  Put the original wings file, the UVMap image and the 3ds file into your working directory so you can find them later.&lt;br /&gt;
&lt;br /&gt;
Wings 3D UV Mapping tutorial has been started here - [[Units:CreateModel]]&lt;br /&gt;
&lt;br /&gt;
==Step 4:Fixing Your Images==&lt;br /&gt;
&lt;br /&gt;
[[Basic s3o unit making guide|This Article includes a UVMapping Guide]]&lt;br /&gt;
&lt;br /&gt;
Open up your UVMap in Photoshop (or whatever) go to the layer/chooser thingy and go to the Channels Tab, add a new layer (it should default to alpha) and fill it with 99% black so you can see your texture in upspring.  If you want to can paint the UVmap and put white (1% black) on the alpha channel where you want your team colours to show up (you can use something between 1% and 99% to get a blend of your team colour along with the texture... for example 50% will give you your texture with 50% of the team colour mixed in...)&lt;br /&gt;
&lt;br /&gt;
I don&#039;t know how to do glow maps... XXreminder for someone to create a Glowmapping tutorial... you don&#039;t acctually need one for the model to show up.&lt;br /&gt;
&lt;br /&gt;
Save these images both in the working directory.&lt;br /&gt;
&lt;br /&gt;
Save a copy of these images in tga format into &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/unittextures&lt;br /&gt;
&lt;br /&gt;
==Step 5:Upspring==&lt;br /&gt;
&lt;br /&gt;
===Importing Your 3ds===&lt;br /&gt;
Open Upspring 1.3, go to file&amp;gt;load model and navigate to and open your 3DS model you exported, you should see the model in upspring as a 3d mesh.  Go to the model tab and set the radius and height values to something other then zero... this defines where the health bar will show up, and more importantly, how big the collision sphere will be.&lt;br /&gt;
&lt;br /&gt;
You will also need to use all of the other tools on those tabs to resize and rotate and move your model to the right place... wings makes models that are 90 degrees off and about 30 times smaller than most spring models... make sure you click the &amp;quot;apply transform&amp;quot; button after any changes that you actually want to show up in the game.&lt;br /&gt;
&lt;br /&gt;
Also, you will want to make the hierachy work using the cut, paste, and add empty buttons.  You will need an object called &amp;quot;base&amp;quot; that all the other objects are connected to... the &amp;quot;origin object&amp;quot;... sometimes you get lucky and wings exports it properly... usually not.&lt;br /&gt;
&lt;br /&gt;
===Importing Your UV and Glowmaps===&lt;br /&gt;
&lt;br /&gt;
Go to the textures tab and make your UV/texture/team-colour map as &amp;quot;texture1&amp;quot; and your UV/glow/reflectivity map as &amp;quot;texture2&amp;quot;... it should show up correctly in the preview pane.&lt;br /&gt;
&lt;br /&gt;
===Exporting Your s3o===&lt;br /&gt;
Choose File&amp;gt;Save Model As then in the drop down select &amp;quot;s3o&amp;quot; and type an appropriate name. This model should be saved to your working directory, and a copy of it made to &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/3dobjects/&lt;br /&gt;
&lt;br /&gt;
==Step 6:A couple Text Files==&lt;br /&gt;
&lt;br /&gt;
===UnitName.fbi===&lt;br /&gt;
For Reference visit [[Units:FBI]], but again, the easiest way to do this is to extract an existing mod and find the fbi for a unit that behaves similarly to the one you are trying to make and rename and modify it.&lt;br /&gt;
&lt;br /&gt;
Some More Specific Information Not Clear in the &amp;quot;Units:FBI&amp;quot; article:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name+&amp;quot; &amp;quot;+Description=Spring Display Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So is you have the following settings:&lt;br /&gt;
&lt;br /&gt;
 Name=Tiger;&lt;br /&gt;
 Description=Fast Attack C.A.T.;&lt;br /&gt;
&lt;br /&gt;
The Tooltip will show &amp;quot;Tiger Fast Attack C.A.T.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;BuildPic Defaults to UnitName.bmp&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So if you leave out &amp;quot;BuildPic=filename.bmp;&amp;quot; Spring will look in /unitpics/ for a file called &amp;quot;UnitName.bmp&amp;quot; to use as your buildpic.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ObjectName&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you want to use an s3o object, you will need to specify with &amp;quot;ObjectName=UnitName&#039;&#039;&#039;.S3O;&#039;&#039;&#039;&amp;quot; otherwise it will look for &amp;quot;UnitName.3do&amp;quot;.  Also, you don&#039;t have to use &amp;quot;UnitName&amp;quot; as the filename and, in fact, multiple Unit&#039;s fbi files can reference the same 3D models. It is easier, however, for people to figure out what you are doing in your mod if you follow the standards.&lt;br /&gt;
&lt;br /&gt;
Save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/units/&lt;br /&gt;
&lt;br /&gt;
===modinfo.tdf===&lt;br /&gt;
&lt;br /&gt;
modinfo.tdf is a text file that defines a number of things that are used when loading a mod, most of the information is self explanitory but basically what you are doing is defining what is going to show up in whatever mod-selection interface you use as well as what other files need to be loaded into memory in order for your mod to work.&lt;br /&gt;
&lt;br /&gt;
====Making a New Mod with your unit/units====&lt;br /&gt;
The following is an example of what will be in your modinfo.tdf file if you are starting from scratch and making your own mod. This is also good when you are just testing one unit to see if it works.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [MOD] {&lt;br /&gt;
 &lt;br /&gt;
  // The name is shown in the selection interface&lt;br /&gt;
  Name=My Mod; &lt;br /&gt;
 &lt;br /&gt;
  // These can be shown by the selection interface &lt;br /&gt;
  Description=My Mod That I Made; &lt;br /&gt;
  URL=http://www.theplacepeoplecangetthelatestversionofyourmod.com; &lt;br /&gt;
 &lt;br /&gt;
  // What kind of mod this is &lt;br /&gt;
  //  0 - Hidden (support mod that can&#039;t be selected, such as OTA_textures) &lt;br /&gt;
  //  1 - Normal, only one can be selected at a time &lt;br /&gt;
  //  2 - Addon, any number of these can be selected. Could be used &lt;br /&gt;
  //      for single units for example. &lt;br /&gt;
  //  others - perhaps mutators and addon races that can be &lt;br /&gt;
  //           enabled in addition to xta for example? &lt;br /&gt;
  ModType=1; &lt;br /&gt;
&lt;br /&gt;
  // Number of other archives this one depends on    &lt;br /&gt;
  NumDependencies=4; &lt;br /&gt;
 	Depend0=taenheter.sdz;&lt;br /&gt;
 	Depend1=springcontent.sdz;&lt;br /&gt;
 	Depend2=otacontent.sdz;&lt;br /&gt;
 	Depend3=tatextures.sdz;&lt;br /&gt;
         &lt;br /&gt;
 &lt;br /&gt;
  // Number of other archives this one replaces&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
====Adding Your Unit to an Existing Mod====&lt;br /&gt;
The following is an example of what will be in your modinfo.tdf file if you are adding new units to an existing mod (in this case xta_se_v066.sdz), this is good for adding units to the build tree of an existing mod or adding a whole new team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 // Description of the mod control file recognized by spring:&lt;br /&gt;
 &lt;br /&gt;
 [MOD] {&lt;br /&gt;
 &lt;br /&gt;
 // The name is shown in the selection interface&lt;br /&gt;
 Name=XTASEv0.66 with+My Units; &lt;br /&gt;
 &lt;br /&gt;
 // These can be shown by the selection interface&lt;br /&gt;
 //&lt;br /&gt;
 Description=xta_se_v066 with the cool tank I made; &lt;br /&gt;
 URL=http://www.fileuniverse.com/exactlocationblahblahblah; &lt;br /&gt;
 &lt;br /&gt;
 // What kind of mod this is &lt;br /&gt;
 //  0 - Hidden (support mod that can&#039;t be selected, such as OTA_textures) &lt;br /&gt;
 //  1 - Normal, only one can be selected at a time &lt;br /&gt;
 //  2 - Addon, any number of these can be selected. Could be used &lt;br /&gt;
 //      for single units for example. &lt;br /&gt;
 //  others - perhaps mutators and addon races that can be &lt;br /&gt;
 //           enabled in addition to xta for example? &lt;br /&gt;
 ModType=1; &lt;br /&gt;
 &lt;br /&gt;
 // Number of other archives this one depends on    &lt;br /&gt;
 NumDependencies=5; &lt;br /&gt;
 	Depend0=taenheter.sdz;&lt;br /&gt;
 	Depend1=springcontent.sdz;&lt;br /&gt;
 	Depend2=otacontent.sdz;&lt;br /&gt;
 	Depend3=tatextures.sdz;&lt;br /&gt;
 	Depend4=xta_se_v066.sdz;&lt;br /&gt;
         &lt;br /&gt;
 &lt;br /&gt;
 // Number of other archives this one replaces&lt;br /&gt;
 } &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are some extra bits in these examples, but I work on the &amp;quot;better safe than sorry&amp;quot; principle... which is to wait for someone who knows what they are doing to fix my articles.&lt;br /&gt;
&lt;br /&gt;
You will want to save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/&lt;br /&gt;
&lt;br /&gt;
===Armor.txt===&lt;br /&gt;
&lt;br /&gt;
I&#039;m not exactly sure how this works, but the file needs to exist, so either steal one from another mod and modify it... or just make a file that looks like this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 // [UNITNAME]- Good Against Lazer/Bad Against Nukes&lt;br /&gt;
 [UNITNAME]&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You will want to save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/&lt;br /&gt;
&lt;br /&gt;
===SIDEDATA.TDF===&lt;br /&gt;
&lt;br /&gt;
Start by stealing the sidedata.tdf file from your dependency mod if you have one, then edit it to include your units/side.&lt;br /&gt;
&lt;br /&gt;
Basically this file is in the form:&lt;br /&gt;
&lt;br /&gt;
 [SIDE0]&lt;br /&gt;
 	{&lt;br /&gt;
 	name=Good Guys;&lt;br /&gt;
 	nameprefix=GG;&lt;br /&gt;
 	commander=UnitName1;&lt;br /&gt;
 	}&lt;br /&gt;
 [CANBUILD]&lt;br /&gt;
 	{&lt;br /&gt;
 	[UnitName1]&lt;br /&gt;
 		{&lt;br /&gt;
 		canbuild1=UnitName2;&lt;br /&gt;
 		canbuild2=UnitName3;&lt;br /&gt;
 		canbuild3=UnitName4;&lt;br /&gt;
 		canbuild4=UnitName5;&lt;br /&gt;
 		canbuild5=UnitName6;&lt;br /&gt;
 		}&lt;br /&gt;
 	}    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
...with additional &amp;quot;[SIDEX]&amp;quot; entries for each side/team/commander-choice available in the mod-selector you choose, additional &amp;quot;[UnitName]&amp;quot; sections for each factory of construction unit, and additional &amp;quot;canbuildx=UnitName&amp;quot; entries to all factory/con-units that can build each unit.&lt;br /&gt;
&lt;br /&gt;
You will save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/gamedata/&lt;br /&gt;
&lt;br /&gt;
==Step 7:Adding a Build Pic==&lt;br /&gt;
&lt;br /&gt;
Add a 96x96 BMP to your &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/unitpics/ folder named either &amp;quot;UnitName.bmp&amp;quot; or whatever you specified in the &amp;quot;BuildPic=&amp;quot; line of your fbi.&lt;br /&gt;
&lt;br /&gt;
==Step 8:Adding a Side Pic==&lt;br /&gt;
&lt;br /&gt;
Add a 16x16 BMP to your &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/sidepics/ folder named &amp;quot;teamname.bmp&amp;quot; or whatever you specified in the &amp;quot;name=&amp;quot; line of your SIDEDATA.TDF for each side/team you have added.&lt;br /&gt;
&lt;br /&gt;
==Step 9:Scriptor==&lt;br /&gt;
&lt;br /&gt;
===Stealing a Script===&lt;br /&gt;
Open someone else&#039;s script in scriptor that works the way you want your script to work, look at the top where it&#039;s talking about &amp;quot;piece names&amp;quot;... then change those piece names to be the piece names of your unit and do a find/replace to make all the places where those pieces show up to be your pieces too.  Compile it so its name is the same as the &amp;quot;UnitName=&amp;quot; value in your &amp;quot;UnitName.fbi&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
XXreminder to someone to link to a proper scripting tutorial&lt;br /&gt;
&lt;br /&gt;
put the bos and cob files for your unit script in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
==Step 10:Compiling Your Mod==&lt;br /&gt;
&lt;br /&gt;
You may want to check your mod directory and make sure it follows the structure defined [[Mod_Development:Archives|here]].&lt;br /&gt;
&lt;br /&gt;
navigate to your &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt; and select everything and choose &amp;quot;add to archive &amp;lt;mod name&amp;gt;.7z&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
make a copy of this file called &amp;lt;mod name&amp;gt;v0.7z in your working directory so you don&#039;t screw anything up later, then make a copy of it called &amp;lt;mod name&amp;gt;.sd7 in the mods directory of spring.&lt;br /&gt;
&lt;br /&gt;
==Step 11:Testing Your Mod==&lt;br /&gt;
Open Up SpringSP, pick your mod from the drop-down at the top (if it doesn&#039;t show up you screwed up your modinfo.txt), choose your tiny map from the map list and press start.  If it doesn&#039;t break and your unit shows up, you have created all the neccessary files... yay!&lt;br /&gt;
&lt;br /&gt;
Gotchas:&lt;br /&gt;
*If it doesnt work, check you didn&#039;t zip the folder itself, but the contents, ie if you open mymod.sd7 with 7zip, you should see folders such as &amp;quot;unittextures&amp;quot; rather than a folder &amp;quot;mymod&amp;quot; containing unittextures.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mod development]]&lt;/div&gt;</summary>
		<author><name>Ansuz</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Simple_Game_Tutorial&amp;diff=16846</id>
		<title>Simple Game Tutorial</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Simple_Game_Tutorial&amp;diff=16846"/>
		<updated>2007-02-27T23:43:58Z</updated>

		<summary type="html">&lt;p&gt;Ansuz: /* Step 3:Making a 3D Model */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Until I Finish [[Mod Development]] is the place to go.&lt;br /&gt;
&lt;br /&gt;
This Tutorial Aims to get a person from knowing nothing about Spring to the point where they can create and edit mods.&lt;br /&gt;
&lt;br /&gt;
Right now I am working from memory so you may want to correct me when I&#039;m wrong, I will try to cross link from my summaries to the appropriate articles available in other places.&lt;br /&gt;
&lt;br /&gt;
I will not go too deep into making 3do&#039;s because they are old and dumb... but I&#039;ll try to make note of the differences here.&lt;br /&gt;
&lt;br /&gt;
I don&#039;t know anything about scripting right now, so that section is likely to be sparse when I write it, I hope that someone will expand on it.&lt;br /&gt;
&lt;br /&gt;
=Book 1: The First Unit=&lt;br /&gt;
&lt;br /&gt;
==Step 1:Planning==&lt;br /&gt;
Who cares about planning, you know what you&#039;re doing... just come up with an idea for a mod... I made a chess set... if you don&#039;t have a real idea and just want to make a model show up in the game... then yeah... this is the place to start... I&#039;d do that if I were you.&lt;br /&gt;
&lt;br /&gt;
Another good thing to do at this point is to creat a &amp;quot;working directory&amp;quot;, and inside it create a directory with the name that your mod will have... after many headaches I decided it&#039;s best to put this in the root directory of your system so it&#039;s really easy to find when you are switching around back and forth between folders and keep having to find your files over and over again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Step 2:Getting Da Tools==&lt;br /&gt;
You will need a bunch of stuff... here&#039;s the list (I assume you are using windows)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Want:&#039;&#039;&lt;br /&gt;
*[http://taspring.clan-sy.com/download.php Spring] - The main program, you will likely need this to test if you&#039;ve screwed up&lt;br /&gt;
*A Tiny Map (2x2) - to test your mod fast (suggest [http://www.fileuniverse.com/?p=showitem&amp;amp;ID=2534 Simple Chess Map])&lt;br /&gt;
*[http://www.darkstars.co.uk/index.php?name=Forums&amp;amp;file=viewtopic&amp;amp;p=17 SpringSP] - To load up your mod and your map in spring without confising lobby folks&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Need:&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Program listings can be found here:&#039;&#039;&#039; &#039;&#039;&#039;[http://taspring.clan-sy.com/wiki/Map%2C_Mod%2C_And_Unit_Development_Programs Map, Mod, And Unit Development Programs]&#039;&#039;&#039;&lt;br /&gt;
*3D Modeling Program - &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Notepad - to edit all the miriad of text files&lt;br /&gt;
*A Graphical Editing Program - needs to handle RGBA TGAs (aka tga&#039;s with alpha channels), I suggest Photoshop if you have it, or the Gimp... needed for all of the texture making for UVmapping stuff... &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Upspring 1.3 - To convert your models to the approprite s3o format (if you want to fight with 3do builder, then go ahead... a good trick is to get your model into upspring first and adjust all the hierachy, then save it as an 3do... but why bother?). &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Scriptor - to make and compile your units &amp;quot;animation script&amp;quot;... or steal someone elses and make it work for your unit. &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Compression Utility - (I suggest [http://www.7-zip.org/ 7zip] - even if you are using zip compression and not 7zip, it&#039;s still good to have)&lt;br /&gt;
&lt;br /&gt;
==Step 3:Making a 3D Model==&lt;br /&gt;
&lt;br /&gt;
Go into your 3D modelling program and make a 3D model, [http://taspring.clan-sy.com/w/images/b/b4/WingsCombine.PNG combine] all the objects and UV map the model, then separate it out into any parts that need to move independently of each other.  Then Export the UV map as an Image File and Export the whole thing as a 3ds file.  Put the original wings file, the UVMap image and the 3ds file into your working directory so you can find them later.&lt;br /&gt;
&lt;br /&gt;
Wings 3D UV Mapping tutorial has been started here - [[Units:CreateModel]]&lt;br /&gt;
&lt;br /&gt;
==Step 4:Fixing Your Images==&lt;br /&gt;
&lt;br /&gt;
[[Basic s3o unit making guide|This Article includes a UVMapping Guide]]&lt;br /&gt;
&lt;br /&gt;
Open up your UVMap in Photoshop (or whatever) go to the layer/chooser thingy and go to the Channels Tab, add a new layer (it should default to alpha) and fill it with 99% black so you can see your texture in upspring.  If you want to can paint the UVmap and put white (1% black) on the alpha channel where you want your team colours to show up (you can use something between 1% and 99% to get a blend of your team colour along with the texture... for example 50% will give you your texture with 50% of the team colour mixed in...)&lt;br /&gt;
&lt;br /&gt;
I don&#039;t know how to do glow maps... XXreminder for someone to create a Glowmapping tutorial... you don&#039;t acctually need one for the model to show up.&lt;br /&gt;
&lt;br /&gt;
Save these images both in the working directory.&lt;br /&gt;
&lt;br /&gt;
Save a copy of these images in tga format into &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/unittextures&lt;br /&gt;
&lt;br /&gt;
==Step 5:Upspring==&lt;br /&gt;
&lt;br /&gt;
===Importing Your 3ds===&lt;br /&gt;
Open Upspring 1.3, go to file&amp;gt;load model and navigate to and open your 3DS model you exported, you should see the model in upspring as a 3d mesh.  Go to the model tab and set the radius and height values to something other then zero... this defines where the health bar will show up, and more importantly, how big the collision sphere will be.&lt;br /&gt;
&lt;br /&gt;
You will also need to use all of the other tools on those tabs to resize and rotate and move your model to the right place... wings makes models that are 90 degrees off and about 30 times to small of the size of most spring models... make sure you click the &amp;quot;apply transform&amp;quot; button after any changes you actually want to show up in game.&lt;br /&gt;
&lt;br /&gt;
Also, you will want to make the hierachy work using the cut, paste, and add empty buttons.  You will need an object called &amp;quot;base&amp;quot; that all the other objects are connected to... the &amp;quot;origin object&amp;quot;... sometimes you get lucky and wings exports it properly... usually not.&lt;br /&gt;
&lt;br /&gt;
===Importing Your UV and Glowmaps===&lt;br /&gt;
&lt;br /&gt;
Go to the textures tab and make your UV/texture/team-colour map as &amp;quot;texture1&amp;quot; and your UV/glow/reflectivity map as &amp;quot;texture2&amp;quot;... it should show up correctly in the preview pane.&lt;br /&gt;
&lt;br /&gt;
===Exporting Your s3o===&lt;br /&gt;
Choose File&amp;gt;Save Model As then in the drop down select &amp;quot;s3o&amp;quot; and type an appropriate name. This model should be saved to your working directory, and a copy of it made to &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/3dobjects/&lt;br /&gt;
&lt;br /&gt;
==Step 6:A couple Text Files==&lt;br /&gt;
&lt;br /&gt;
===UnitName.fbi===&lt;br /&gt;
For Reference visit [[Units:FBI]], but again, the easiest way to do this is to extract an existing mod and find the fbi for a unit that behaves similarly to the one you are trying to make and rename and modify it.&lt;br /&gt;
&lt;br /&gt;
Some More Specific Information Not Clear in the &amp;quot;Units:FBI&amp;quot; article:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name+&amp;quot; &amp;quot;+Description=Spring Display Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So is you have the following settings:&lt;br /&gt;
&lt;br /&gt;
 Name=Tiger;&lt;br /&gt;
 Description=Fast Attack C.A.T.;&lt;br /&gt;
&lt;br /&gt;
The Tooltip will show &amp;quot;Tiger Fast Attack C.A.T.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;BuildPic Defaults to UnitName.bmp&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So if you leave out &amp;quot;BuildPic=filename.bmp;&amp;quot; Spring will look in /unitpics/ for a file called &amp;quot;UnitName.bmp&amp;quot; to use as your buildpic.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ObjectName&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you want to use an s3o object, you will need to specify with &amp;quot;ObjectName=UnitName&#039;&#039;&#039;.S3O;&#039;&#039;&#039;&amp;quot; otherwise it will look for &amp;quot;UnitName.3do&amp;quot;.  Also, you don&#039;t have to use &amp;quot;UnitName&amp;quot; as the filename and, in fact, multiple Unit&#039;s fbi files can reference the same 3D models. It is easier, however, for people to figure out what you are doing in your mod if you follow the standards.&lt;br /&gt;
&lt;br /&gt;
Save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/units/&lt;br /&gt;
&lt;br /&gt;
===modinfo.tdf===&lt;br /&gt;
&lt;br /&gt;
modinfo.tdf is a text file that defines a number of things that are used when loading a mod, most of the information is self explanitory but basically what you are doing is defining what is going to show up in whatever mod-selection interface you use as well as what other files need to be loaded into memory in order for your mod to work.&lt;br /&gt;
&lt;br /&gt;
====Making a New Mod with your unit/units====&lt;br /&gt;
The following is an example of what will be in your modinfo.tdf file if you are starting from scratch and making your own mod. This is also good when you are just testing one unit to see if it works.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [MOD] {&lt;br /&gt;
 &lt;br /&gt;
  // The name is shown in the selection interface&lt;br /&gt;
  Name=My Mod; &lt;br /&gt;
 &lt;br /&gt;
  // These can be shown by the selection interface &lt;br /&gt;
  Description=My Mod That I Made; &lt;br /&gt;
  URL=http://www.theplacepeoplecangetthelatestversionofyourmod.com; &lt;br /&gt;
 &lt;br /&gt;
  // What kind of mod this is &lt;br /&gt;
  //  0 - Hidden (support mod that can&#039;t be selected, such as OTA_textures) &lt;br /&gt;
  //  1 - Normal, only one can be selected at a time &lt;br /&gt;
  //  2 - Addon, any number of these can be selected. Could be used &lt;br /&gt;
  //      for single units for example. &lt;br /&gt;
  //  others - perhaps mutators and addon races that can be &lt;br /&gt;
  //           enabled in addition to xta for example? &lt;br /&gt;
  ModType=1; &lt;br /&gt;
&lt;br /&gt;
  // Number of other archives this one depends on    &lt;br /&gt;
  NumDependencies=4; &lt;br /&gt;
 	Depend0=taenheter.sdz;&lt;br /&gt;
 	Depend1=springcontent.sdz;&lt;br /&gt;
 	Depend2=otacontent.sdz;&lt;br /&gt;
 	Depend3=tatextures.sdz;&lt;br /&gt;
         &lt;br /&gt;
 &lt;br /&gt;
  // Number of other archives this one replaces&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
====Adding Your Unit to an Existing Mod====&lt;br /&gt;
The following is an example of what will be in your modinfo.tdf file if you are adding new units to an existing mod (in this case xta_se_v066.sdz), this is good for adding units to the build tree of an existing mod or adding a whole new team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 // Description of the mod control file recognized by spring:&lt;br /&gt;
 &lt;br /&gt;
 [MOD] {&lt;br /&gt;
 &lt;br /&gt;
 // The name is shown in the selection interface&lt;br /&gt;
 Name=XTASEv0.66 with+My Units; &lt;br /&gt;
 &lt;br /&gt;
 // These can be shown by the selection interface&lt;br /&gt;
 //&lt;br /&gt;
 Description=xta_se_v066 with the cool tank I made; &lt;br /&gt;
 URL=http://www.fileuniverse.com/exactlocationblahblahblah; &lt;br /&gt;
 &lt;br /&gt;
 // What kind of mod this is &lt;br /&gt;
 //  0 - Hidden (support mod that can&#039;t be selected, such as OTA_textures) &lt;br /&gt;
 //  1 - Normal, only one can be selected at a time &lt;br /&gt;
 //  2 - Addon, any number of these can be selected. Could be used &lt;br /&gt;
 //      for single units for example. &lt;br /&gt;
 //  others - perhaps mutators and addon races that can be &lt;br /&gt;
 //           enabled in addition to xta for example? &lt;br /&gt;
 ModType=1; &lt;br /&gt;
 &lt;br /&gt;
 // Number of other archives this one depends on    &lt;br /&gt;
 NumDependencies=5; &lt;br /&gt;
 	Depend0=taenheter.sdz;&lt;br /&gt;
 	Depend1=springcontent.sdz;&lt;br /&gt;
 	Depend2=otacontent.sdz;&lt;br /&gt;
 	Depend3=tatextures.sdz;&lt;br /&gt;
 	Depend4=xta_se_v066.sdz;&lt;br /&gt;
         &lt;br /&gt;
 &lt;br /&gt;
 // Number of other archives this one replaces&lt;br /&gt;
 } &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are some extra bits in these examples, but I work on the &amp;quot;better safe than sorry&amp;quot; principle... which is to wait for someone who knows what they are doing to fix my articles.&lt;br /&gt;
&lt;br /&gt;
You will want to save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/&lt;br /&gt;
&lt;br /&gt;
===Armor.txt===&lt;br /&gt;
&lt;br /&gt;
I&#039;m not exactly sure how this works, but the file needs to exist, so either steal one from another mod and modify it... or just make a file that looks like this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 // [UNITNAME]- Good Against Lazer/Bad Against Nukes&lt;br /&gt;
 [UNITNAME]&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You will want to save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/&lt;br /&gt;
&lt;br /&gt;
===SIDEDATA.TDF===&lt;br /&gt;
&lt;br /&gt;
Start by stealing the sidedata.tdf file from your dependency mod if you have one, then edit it to include your units/side.&lt;br /&gt;
&lt;br /&gt;
Basically this file is in the form:&lt;br /&gt;
&lt;br /&gt;
 [SIDE0]&lt;br /&gt;
 	{&lt;br /&gt;
 	name=Good Guys;&lt;br /&gt;
 	nameprefix=GG;&lt;br /&gt;
 	commander=UnitName1;&lt;br /&gt;
 	}&lt;br /&gt;
 [CANBUILD]&lt;br /&gt;
 	{&lt;br /&gt;
 	[UnitName1]&lt;br /&gt;
 		{&lt;br /&gt;
 		canbuild1=UnitName2;&lt;br /&gt;
 		canbuild2=UnitName3;&lt;br /&gt;
 		canbuild3=UnitName4;&lt;br /&gt;
 		canbuild4=UnitName5;&lt;br /&gt;
 		canbuild5=UnitName6;&lt;br /&gt;
 		}&lt;br /&gt;
 	}    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
...with additional &amp;quot;[SIDEX]&amp;quot; entries for each side/team/commander-choice available in the mod-selector you choose, additional &amp;quot;[UnitName]&amp;quot; sections for each factory of construction unit, and additional &amp;quot;canbuildx=UnitName&amp;quot; entries to all factory/con-units that can build each unit.&lt;br /&gt;
&lt;br /&gt;
You will save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/gamedata/&lt;br /&gt;
&lt;br /&gt;
==Step 7:Adding a Build Pic==&lt;br /&gt;
&lt;br /&gt;
Add a 96x96 BMP to your &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/unitpics/ folder named either &amp;quot;UnitName.bmp&amp;quot; or whatever you specified in the &amp;quot;BuildPic=&amp;quot; line of your fbi.&lt;br /&gt;
&lt;br /&gt;
==Step 8:Adding a Side Pic==&lt;br /&gt;
&lt;br /&gt;
Add a 16x16 BMP to your &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/sidepics/ folder named &amp;quot;teamname.bmp&amp;quot; or whatever you specified in the &amp;quot;name=&amp;quot; line of your SIDEDATA.TDF for each side/team you have added.&lt;br /&gt;
&lt;br /&gt;
==Step 9:Scriptor==&lt;br /&gt;
&lt;br /&gt;
===Stealing a Script===&lt;br /&gt;
Open someone else&#039;s script in scriptor that works the way you want your script to work, look at the top where it&#039;s talking about &amp;quot;piece names&amp;quot;... then change those piece names to be the piece names of your unit and do a find/replace to make all the places where those pieces show up to be your pieces too.  Compile it so its name is the same as the &amp;quot;UnitName=&amp;quot; value in your &amp;quot;UnitName.fbi&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
XXreminder to someone to link to a proper scripting tutorial&lt;br /&gt;
&lt;br /&gt;
put the bos and cob files for your unit script in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
==Step 10:Compiling Your Mod==&lt;br /&gt;
&lt;br /&gt;
You may want to check your mod directory and make sure it follows the structure defined [[Mod_Development:Archives|here]].&lt;br /&gt;
&lt;br /&gt;
navigate to your &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt; and select everything and choose &amp;quot;add to archive &amp;lt;mod name&amp;gt;.7z&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
make a copy of this file called &amp;lt;mod name&amp;gt;v0.7z in your working directory so you don&#039;t screw anything up later, then make a copy of it called &amp;lt;mod name&amp;gt;.sd7 in the mods directory of spring.&lt;br /&gt;
&lt;br /&gt;
==Step 11:Testing Your Mod==&lt;br /&gt;
Open Up SpringSP, pick your mod from the drop-down at the top (if it doesn&#039;t show up you screwed up your modinfo.txt), choose your tiny map from the map list and press start.  If it doesn&#039;t break and your unit shows up, you have created all the neccessary files... yay!&lt;br /&gt;
&lt;br /&gt;
Gotchas:&lt;br /&gt;
*If it doesnt work, check you didn&#039;t zip the folder itself, but the contents, ie if you open mymod.sd7 with 7zip, you should see folders such as &amp;quot;unittextures&amp;quot; rather than a folder &amp;quot;mymod&amp;quot; containing unittextures.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mod development]]&lt;/div&gt;</summary>
		<author><name>Ansuz</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Map,_Game,_And_Unit_Development_Programs&amp;diff=12881</id>
		<title>Map, Game, And Unit Development Programs</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Map,_Game,_And_Unit_Development_Programs&amp;diff=12881"/>
		<updated>2007-02-27T23:36:35Z</updated>

		<summary type="html">&lt;p&gt;Ansuz: /* Documentation and Tutorials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A Comprehensive list of tools to make Spring content.&lt;br /&gt;
&lt;br /&gt;
*Those that are Open Source are marked with a &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&lt;br /&gt;
*Those that are Free are marked with a &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&lt;br /&gt;
*Those that Cost are marked with a &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Image Editing ===&lt;br /&gt;
# &#039;&#039;&#039;[http://www.gimp.org/ Gimp]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Pre compiled Binary files (or installer files) can be found here: &#039;&#039;&#039;[http://www.gimp.org/downloads/]&amp;lt;br&amp;gt;-&amp;gt; The DDS plugin for Gimp can be found at [http://nifelheim.dyndns.org/~cocidius/dds/ http://nifelheim.dyndns.org/~cocidius/dds/]&lt;br /&gt;
# &#039;&#039;&#039;[http://www.corel.com/servlet/Satellite?pagename=Corel3/Products/Display&amp;amp;pfid=1047024307383&amp;amp;pid=1047025487586 Corel Paint Shop Pro]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Jasc was recently bought out by Corel.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.corel.com/servlet/Satellite?pagename=Corel3/Products/Display&amp;amp;pfid=1047024307335&amp;amp;pid=1047022690654 Corel Draw]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; This is Corel&#039;s original graphics program. Very easy to work with. I have used an older version of it, and love the photoshop it has.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.adobe.com/products/photoshop/main.html Adobe Photoshop]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The most widely used image editing program ever.&lt;br /&gt;
&lt;br /&gt;
=== 3d Modeling ===&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;[http://www.wings3d.com/ Wings 3D]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Probably the most popular modeller for Spring.&amp;lt;br&amp;gt;-&amp;gt; Easy to learn modelling and UV mapping environments.&amp;lt;br&amp;gt;-&amp;gt; Excellent introduction to using it can be found [http://www.wings3d.com/doghouse.php here]. &amp;lt;br&amp;gt;-&amp;gt; For help on how to UV map with it just ask around.&lt;br /&gt;
# &#039;&#039;&#039;[http://blender.org/cms/Home.2.0.html Blender]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The most used opensource modeler that has its own way of doing things.&amp;lt;br&amp;gt;-&amp;gt; Most popular whitin unit makers using this excellent tool.&amp;lt;br&amp;gt;-&amp;gt; Get basic usage, advanced, and video tutorials [http://www.blender3d.org/cms/Using_Blender.80.0.html here]&lt;br /&gt;
# &#039;&#039;&#039;[http://www.anim8or.com/main/index.html Anim8or]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;[http://usa.autodesk.com/adsk/servlet/index?id=5659302&amp;amp;siteID=123112 3DS MAX]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The most widely used and acclaimed modeling program ever. Used in creation of many games and movies (The Matrix). One of the three major modeling programs used by professionals.&amp;lt;br&amp;gt;-&amp;gt; The s3o plugin for 3DS MAX can be found here. NOTE: This is not backwards compatible with versions prior to 7. Also this only exports: &#039;&#039;&#039;[http://taspring.clan-sy.com/temp/s3oexport.dle]&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;[http://www.newtek.com/ Lightwave]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; A popular modeling program that&#039;s been around a long time. One of the three major modeling programs used by professionals.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.rhino3d.com/ Rhinoceros]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; A farely new comer to the world of modeling, uses a lot of nurbs surfaces. &lt;br /&gt;
# &#039;&#039;&#039;[http://www.turbosquid.com/gmax GMAX]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Great for learning as it is 3DS MAX v4 without rendering and has game packs for a fair amount of games. It is locked in exporting however there are a few workarounds.&lt;br /&gt;
# &#039;&#039;&#039;[http://usa.autodesk.com/adsk/servlet/index?id=6871843&amp;amp;siteID=123112 MAYA]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The other most widely used and acclaimed modeling program. Used in creation of many games and movies. One of the three major model programs used by professionals.&lt;br /&gt;
&lt;br /&gt;
===3d Model converters/Assemblers===&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=305 3DO Builder]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The most widely used program for converting models to the 3do file format of TA. Follow the tips on the main page in the above link and it will run just fine.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=2317 UpSpring]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Help information, manual, and tips can be found here: &#039;&#039;&#039;[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2839&amp;amp;start=0]&amp;lt;br&amp;gt;-&amp;gt; This is the only other way to get files into the s3o file format for Spring other then the s3o plugin for 3DS MAX.&lt;br /&gt;
&lt;br /&gt;
=== Scripting And Unit Stats files ===&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=70 Scripter]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The by far best compiler for your handmade .bos scripts into endless lines of letters and numbers that the TA engine reads. The program is large, easy to operate and with broad error tracing (well, better than the other two alternatives). While other versions of this program sometimes refuse to compile on-off functions, this download is guaranteed to work in every condition.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=65 Cobbler]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; This is a very simple script compiler that converts your newly written .bos files understood by humans into a hexadecimal .cob gibberish used by the TA engine. Beware, however, that this program is lightweight, which means that it doesn&#039;t provide especially good error tracing, not to mention that it is in French.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=193 Servo]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Rhad&#039;s awesome but somewhat buggy animation scripting program. It features keyframed animation script generation from a 3D positioner.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=62 Brain]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The Brain is a scripting utility that converts your newly written code rows into incomprehensible hex codes used by the game. This program is in english and can sometimes give you the most wondorous error messages, so it&#039;s only recommended as a backup scripting program.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=194 UnCobbler]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The first (I think) uncobbling utility. Bad english and brute force approach make this one outdated, but here it is for completeness sake.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=1680 Excel FBI editor]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Lets you quickly edit all your FBI files in an Excel spread sheet. Made by Maelstorm.&amp;lt;br&amp;gt;&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Microsoft Excel is NOT FREE.&amp;lt;br&amp;gt;-&amp;gt; Help information, manual, and tips can be found here: &#039;&#039;&#039;[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2596]&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=68 Lazy Scripter]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt; This is a simple yet very useful utility that makes a &amp;quot;blind&amp;quot; script to fit your model. It provides you with just the minimal requirements for a playable unit script, so don&#039;t trust it to do all your work for you.&lt;br /&gt;
&lt;br /&gt;
=== Map Compiling ===&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=showitem&amp;amp;ID=1421 mothers MapConv]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The map compiler used by most people. Supports feature placment.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=showitem&amp;amp;ID=1507 mothers MapConv special]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The normal MapConv does not work for some people. If you are one of them, try this one.&lt;br /&gt;
# &#039;&#039;&#039;[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2420 SMD Creator]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Maelstroms SMD creator. Has a few bugs, but a new release should be out in a few days.&lt;br /&gt;
&lt;br /&gt;
=== Documentation and Tutorials ===&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2660&amp;amp;start=0 S3O file format for Spring]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The above link is to the form were this is currently being disscused and feed back is being provided. Also includes tips and helpful information.&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 making]]&lt;br /&gt;
[[Category:Unit development]]&lt;br /&gt;
[[Category:Mod development]]&lt;/div&gt;</summary>
		<author><name>Ansuz</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Map,_Game,_And_Unit_Development_Programs&amp;diff=12880</id>
		<title>Map, Game, And Unit Development Programs</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Map,_Game,_And_Unit_Development_Programs&amp;diff=12880"/>
		<updated>2007-02-27T23:35:36Z</updated>

		<summary type="html">&lt;p&gt;Ansuz: /* Scripting And Unit Stats files */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A Comprehensive list of tools to make Spring content.&lt;br /&gt;
&lt;br /&gt;
*Those that are Open Source are marked with a &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&lt;br /&gt;
*Those that are Free are marked with a &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&lt;br /&gt;
*Those that Cost are marked with a &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Image Editing ===&lt;br /&gt;
# &#039;&#039;&#039;[http://www.gimp.org/ Gimp]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Pre compiled Binary files (or installer files) can be found here: &#039;&#039;&#039;[http://www.gimp.org/downloads/]&amp;lt;br&amp;gt;-&amp;gt; The DDS plugin for Gimp can be found at [http://nifelheim.dyndns.org/~cocidius/dds/ http://nifelheim.dyndns.org/~cocidius/dds/]&lt;br /&gt;
# &#039;&#039;&#039;[http://www.corel.com/servlet/Satellite?pagename=Corel3/Products/Display&amp;amp;pfid=1047024307383&amp;amp;pid=1047025487586 Corel Paint Shop Pro]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Jasc was recently bought out by Corel.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.corel.com/servlet/Satellite?pagename=Corel3/Products/Display&amp;amp;pfid=1047024307335&amp;amp;pid=1047022690654 Corel Draw]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; This is Corel&#039;s original graphics program. Very easy to work with. I have used an older version of it, and love the photoshop it has.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.adobe.com/products/photoshop/main.html Adobe Photoshop]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The most widely used image editing program ever.&lt;br /&gt;
&lt;br /&gt;
=== 3d Modeling ===&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;[http://www.wings3d.com/ Wings 3D]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Probably the most popular modeller for Spring.&amp;lt;br&amp;gt;-&amp;gt; Easy to learn modelling and UV mapping environments.&amp;lt;br&amp;gt;-&amp;gt; Excellent introduction to using it can be found [http://www.wings3d.com/doghouse.php here]. &amp;lt;br&amp;gt;-&amp;gt; For help on how to UV map with it just ask around.&lt;br /&gt;
# &#039;&#039;&#039;[http://blender.org/cms/Home.2.0.html Blender]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The most used opensource modeler that has its own way of doing things.&amp;lt;br&amp;gt;-&amp;gt; Most popular whitin unit makers using this excellent tool.&amp;lt;br&amp;gt;-&amp;gt; Get basic usage, advanced, and video tutorials [http://www.blender3d.org/cms/Using_Blender.80.0.html here]&lt;br /&gt;
# &#039;&#039;&#039;[http://www.anim8or.com/main/index.html Anim8or]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;[http://usa.autodesk.com/adsk/servlet/index?id=5659302&amp;amp;siteID=123112 3DS MAX]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The most widely used and acclaimed modeling program ever. Used in creation of many games and movies (The Matrix). One of the three major modeling programs used by professionals.&amp;lt;br&amp;gt;-&amp;gt; The s3o plugin for 3DS MAX can be found here. NOTE: This is not backwards compatible with versions prior to 7. Also this only exports: &#039;&#039;&#039;[http://taspring.clan-sy.com/temp/s3oexport.dle]&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;[http://www.newtek.com/ Lightwave]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; A popular modeling program that&#039;s been around a long time. One of the three major modeling programs used by professionals.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.rhino3d.com/ Rhinoceros]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; A farely new comer to the world of modeling, uses a lot of nurbs surfaces. &lt;br /&gt;
# &#039;&#039;&#039;[http://www.turbosquid.com/gmax GMAX]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Great for learning as it is 3DS MAX v4 without rendering and has game packs for a fair amount of games. It is locked in exporting however there are a few workarounds.&lt;br /&gt;
# &#039;&#039;&#039;[http://usa.autodesk.com/adsk/servlet/index?id=6871843&amp;amp;siteID=123112 MAYA]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The other most widely used and acclaimed modeling program. Used in creation of many games and movies. One of the three major model programs used by professionals.&lt;br /&gt;
&lt;br /&gt;
===3d Model converters/Assemblers===&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=305 3DO Builder]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The most widely used program for converting models to the 3do file format of TA. Follow the tips on the main page in the above link and it will run just fine.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=2317 UpSpring]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Help information, manual, and tips can be found here: &#039;&#039;&#039;[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2839&amp;amp;start=0]&amp;lt;br&amp;gt;-&amp;gt; This is the only other way to get files into the s3o file format for Spring other then the s3o plugin for 3DS MAX.&lt;br /&gt;
&lt;br /&gt;
=== Scripting And Unit Stats files ===&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=70 Scripter]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The by far best compiler for your handmade .bos scripts into endless lines of letters and numbers that the TA engine reads. The program is large, easy to operate and with broad error tracing (well, better than the other two alternatives). While other versions of this program sometimes refuse to compile on-off functions, this download is guaranteed to work in every condition.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=65 Cobbler]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; This is a very simple script compiler that converts your newly written .bos files understood by humans into a hexadecimal .cob gibberish used by the TA engine. Beware, however, that this program is lightweight, which means that it doesn&#039;t provide especially good error tracing, not to mention that it is in French.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=193 Servo]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Rhad&#039;s awesome but somewhat buggy animation scripting program. It features keyframed animation script generation from a 3D positioner.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=62 Brain]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The Brain is a scripting utility that converts your newly written code rows into incomprehensible hex codes used by the game. This program is in english and can sometimes give you the most wondorous error messages, so it&#039;s only recommended as a backup scripting program.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=194 UnCobbler]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The first (I think) uncobbling utility. Bad english and brute force approach make this one outdated, but here it is for completeness sake.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=1680 Excel FBI editor]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Lets you quickly edit all your FBI files in an Excel spread sheet. Made by Maelstorm.&amp;lt;br&amp;gt;&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Microsoft Excel is NOT FREE.&amp;lt;br&amp;gt;-&amp;gt; Help information, manual, and tips can be found here: &#039;&#039;&#039;[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2596]&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=68 Lazy Scripter]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt; This is a simple yet very useful utility that makes a &amp;quot;blind&amp;quot; script to fit your model. It provides you with just the minimal requirements for a playable unit script, so don&#039;t trust it to do all your work for you.&lt;br /&gt;
&lt;br /&gt;
=== Map Compiling ===&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=showitem&amp;amp;ID=1421 mothers MapConv]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The map compiler used by most people. Supports feature placment.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=showitem&amp;amp;ID=1507 mothers MapConv special]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The normal MapConv does not work for some people. If you are one of them, try this one.&lt;br /&gt;
# &#039;&#039;&#039;[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2420 SMD Creator]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Maelstroms SMD creator. Has a few bugs, but a new release should be out in a few days.&lt;br /&gt;
&lt;br /&gt;
=== Documentation and Tutorials ===&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2660&amp;amp;start=0 S3O file format for Spring]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The above link is to the form were this currently being disscused, and feed back is being provided. Also includes tips and helpful information.&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 making]]&lt;br /&gt;
[[Category:Unit development]]&lt;br /&gt;
[[Category:Mod development]]&lt;/div&gt;</summary>
		<author><name>Ansuz</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Map,_Game,_And_Unit_Development_Programs&amp;diff=12879</id>
		<title>Map, Game, And Unit Development Programs</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Map,_Game,_And_Unit_Development_Programs&amp;diff=12879"/>
		<updated>2007-02-27T23:32:06Z</updated>

		<summary type="html">&lt;p&gt;Ansuz: /* 3d Modeling */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A Comprehensive list of tools to make Spring content.&lt;br /&gt;
&lt;br /&gt;
*Those that are Open Source are marked with a &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&lt;br /&gt;
*Those that are Free are marked with a &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&lt;br /&gt;
*Those that Cost are marked with a &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Image Editing ===&lt;br /&gt;
# &#039;&#039;&#039;[http://www.gimp.org/ Gimp]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Pre compiled Binary files (or installer files) can be found here: &#039;&#039;&#039;[http://www.gimp.org/downloads/]&amp;lt;br&amp;gt;-&amp;gt; The DDS plugin for Gimp can be found at [http://nifelheim.dyndns.org/~cocidius/dds/ http://nifelheim.dyndns.org/~cocidius/dds/]&lt;br /&gt;
# &#039;&#039;&#039;[http://www.corel.com/servlet/Satellite?pagename=Corel3/Products/Display&amp;amp;pfid=1047024307383&amp;amp;pid=1047025487586 Corel Paint Shop Pro]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Jasc was recently bought out by Corel.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.corel.com/servlet/Satellite?pagename=Corel3/Products/Display&amp;amp;pfid=1047024307335&amp;amp;pid=1047022690654 Corel Draw]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; This is Corel&#039;s original graphics program. Very easy to work with. I have used an older version of it, and love the photoshop it has.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.adobe.com/products/photoshop/main.html Adobe Photoshop]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The most widely used image editing program ever.&lt;br /&gt;
&lt;br /&gt;
=== 3d Modeling ===&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;[http://www.wings3d.com/ Wings 3D]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Probably the most popular modeller for Spring.&amp;lt;br&amp;gt;-&amp;gt; Easy to learn modelling and UV mapping environments.&amp;lt;br&amp;gt;-&amp;gt; Excellent introduction to using it can be found [http://www.wings3d.com/doghouse.php here]. &amp;lt;br&amp;gt;-&amp;gt; For help on how to UV map with it just ask around.&lt;br /&gt;
# &#039;&#039;&#039;[http://blender.org/cms/Home.2.0.html Blender]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The most used opensource modeler that has its own way of doing things.&amp;lt;br&amp;gt;-&amp;gt; Most popular whitin unit makers using this excellent tool.&amp;lt;br&amp;gt;-&amp;gt; Get basic usage, advanced, and video tutorials [http://www.blender3d.org/cms/Using_Blender.80.0.html here]&lt;br /&gt;
# &#039;&#039;&#039;[http://www.anim8or.com/main/index.html Anim8or]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;[http://usa.autodesk.com/adsk/servlet/index?id=5659302&amp;amp;siteID=123112 3DS MAX]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The most widely used and acclaimed modeling program ever. Used in creation of many games and movies (The Matrix). One of the three major modeling programs used by professionals.&amp;lt;br&amp;gt;-&amp;gt; The s3o plugin for 3DS MAX can be found here. NOTE: This is not backwards compatible with versions prior to 7. Also this only exports: &#039;&#039;&#039;[http://taspring.clan-sy.com/temp/s3oexport.dle]&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;[http://www.newtek.com/ Lightwave]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; A popular modeling program that&#039;s been around a long time. One of the three major modeling programs used by professionals.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.rhino3d.com/ Rhinoceros]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; A farely new comer to the world of modeling, uses a lot of nurbs surfaces. &lt;br /&gt;
# &#039;&#039;&#039;[http://www.turbosquid.com/gmax GMAX]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Great for learning as it is 3DS MAX v4 without rendering and has game packs for a fair amount of games. It is locked in exporting however there are a few workarounds.&lt;br /&gt;
# &#039;&#039;&#039;[http://usa.autodesk.com/adsk/servlet/index?id=6871843&amp;amp;siteID=123112 MAYA]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The other most widely used and acclaimed modeling program. Used in creation of many games and movies. One of the three major model programs used by professionals.&lt;br /&gt;
&lt;br /&gt;
===3d Model converters/Assemblers===&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=305 3DO Builder]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The most widely used program for converting models to the 3do file format of TA. Follow the tips on the main page in the above link and it will run just fine.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=2317 UpSpring]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Help information, manual, and tips can be found here: &#039;&#039;&#039;[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2839&amp;amp;start=0]&amp;lt;br&amp;gt;-&amp;gt; This is the only other way to get files into the s3o file format for Spring other then the s3o plugin for 3DS MAX.&lt;br /&gt;
&lt;br /&gt;
=== Scripting And Unit Stats files ===&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=70 Scripter]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The by far best compiler for your handmade .bos scripts into endless lines of letters and numbers that the TA engine reads. The program is large, easy to operate and with a broad error tracing (well, better than the other two alternatives). While other versions of this program sometimes refuse to compile on-off functions, this download is guaranteed to work in every condition.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=65 Cobbler]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; This is a very simple script compiler that converts your newly written .bos files understood by humans into a hexadecimal .cob gibberish used by the TA engine. Beware, however, that this program is a lightweight, which means that it doesn&#039;t provide especially much error tracing, not to mention that it is in French.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=193 Servo]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Rhad&#039;s awesome but somewhat buggy animation scripting program. It features keyframed animation script generation from a 3D positioner.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=62 Brain]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The Brain is a scripting utility that converts your newly written code rows into incomprehensible hex codes used by the game. This program is in english and can sometimes give you the most wondorous error messages, so it&#039;s only reccomended as a backup scripting program.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=194 UnCobbler]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The first (I think) uncobbling utility. Bad english and brute force approach make this one outdated, but here it is for completeness sake.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=1680 Excel FBI editor]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Lets you quickly edit all your FBI files in an Excel spread sheet. Made by Maelstorm.&amp;lt;br&amp;gt;&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Microsoft Excel is NOT FREE.&amp;lt;br&amp;gt;-&amp;gt; Help information, manual, and tips can be found here: &#039;&#039;&#039;[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2596]&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=68 Lazy Scripter]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt; This is a simple, but yet very useful utility that makes a &amp;quot;blind&amp;quot; script to fit your model. It provides you with just the minimal requirements for a playable unit script, so don&#039;t trust it to make all your work for you.&lt;br /&gt;
&lt;br /&gt;
=== Map Compiling ===&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=showitem&amp;amp;ID=1421 mothers MapConv]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The map compiler used by most people. Supports feature placment.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=showitem&amp;amp;ID=1507 mothers MapConv special]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The normal MapConv does not work for some people. If you are one of them, try this one.&lt;br /&gt;
# &#039;&#039;&#039;[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2420 SMD Creator]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Maelstroms SMD creator. Has a few bugs, but a new release should be out in a few days.&lt;br /&gt;
&lt;br /&gt;
=== Documentation and Tutorials ===&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2660&amp;amp;start=0 S3O file format for Spring]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The above link is to the form were this currently being disscused, and feed back is being provided. Also includes tips and helpful information.&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 making]]&lt;br /&gt;
[[Category:Unit development]]&lt;br /&gt;
[[Category:Mod development]]&lt;/div&gt;</summary>
		<author><name>Ansuz</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Map,_Game,_And_Unit_Development_Programs&amp;diff=12878</id>
		<title>Map, Game, And Unit Development Programs</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Map,_Game,_And_Unit_Development_Programs&amp;diff=12878"/>
		<updated>2007-02-27T23:31:08Z</updated>

		<summary type="html">&lt;p&gt;Ansuz: /* 3D Modeling */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A Comprehensive list of tools to make Spring content.&lt;br /&gt;
&lt;br /&gt;
*Those that are Open Source are marked with a &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&lt;br /&gt;
*Those that are Free are marked with a &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&lt;br /&gt;
*Those that Cost are marked with a &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Image Editing ===&lt;br /&gt;
# &#039;&#039;&#039;[http://www.gimp.org/ Gimp]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Pre compiled Binary files (or installer files) can be found here: &#039;&#039;&#039;[http://www.gimp.org/downloads/]&amp;lt;br&amp;gt;-&amp;gt; The DDS plugin for Gimp can be found at [http://nifelheim.dyndns.org/~cocidius/dds/ http://nifelheim.dyndns.org/~cocidius/dds/]&lt;br /&gt;
# &#039;&#039;&#039;[http://www.corel.com/servlet/Satellite?pagename=Corel3/Products/Display&amp;amp;pfid=1047024307383&amp;amp;pid=1047025487586 Corel Paint Shop Pro]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Jasc was recently bought out by Corel.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.corel.com/servlet/Satellite?pagename=Corel3/Products/Display&amp;amp;pfid=1047024307335&amp;amp;pid=1047022690654 Corel Draw]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; This is Corel&#039;s original graphics program. Very easy to work with. I have used an older version of it, and love the photoshop it has.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.adobe.com/products/photoshop/main.html Adobe Photoshop]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The most widely used image editing program ever.&lt;br /&gt;
&lt;br /&gt;
=== 3d Modeling ===&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;[http://www.wings3d.com/ Wings 3D]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Probably the most popular modeller for Spring.&amp;lt;br&amp;gt;-&amp;gt; Easy to learn modelling and UV mapping environments.&amp;lt;br&amp;gt;-&amp;gt; Excellent introduction to using it can be found [http://www.wings3d.com/doghouse.php here]. &amp;lt;br&amp;gt;-&amp;gt; For help on how to UV map with it just ask around.&lt;br /&gt;
# &#039;&#039;&#039;[http://blender.org/cms/Home.2.0.html Blender]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt;  The most used opensource modeler that has its own way of doing things.&amp;lt;br&amp;gt;-&amp;gt;Most popular whitin unit makers using this excellent tool.&amp;lt;br&amp;gt;-&amp;gt;Get basic usage, advanced, and video tutorials [http://www.blender3d.org/cms/Using_Blender.80.0.html here]&lt;br /&gt;
# &#039;&#039;&#039;[http://www.anim8or.com/main/index.html Anim8or]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;[http://usa.autodesk.com/adsk/servlet/index?id=5659302&amp;amp;siteID=123112 3DS MAX]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The most widely used and acclaimed modeling program ever. Used in creation of many games and movies (The Matrix). One of the three major modeling programs used by professionals.&amp;lt;br&amp;gt;-&amp;gt; The s3o plugin for 3DS MAX can be found here. NOTE: This is not backwards compatible with versions prior to 7. Also this only exports: &#039;&#039;&#039;[http://taspring.clan-sy.com/temp/s3oexport.dle]&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;[http://www.newtek.com/ Lightwave]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; A popular modeling program that&#039;s been around a long time. One of the three major modeling programs used by professionals.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.rhino3d.com/ Rhinoceros]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; A farely new comer to the world of modeling, uses a lot of nurbs surfaces. &lt;br /&gt;
# &#039;&#039;&#039;[http://www.turbosquid.com/gmax GMAX]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Great for learning as it is 3DS MAX v4 without rendering and has game packs for a fair amount of games. It is locked in exporting however there are a few workarounds.&lt;br /&gt;
# &#039;&#039;&#039;[http://usa.autodesk.com/adsk/servlet/index?id=6871843&amp;amp;siteID=123112 MAYA]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The other most widely used and acclaimed modeling program. Used in creation of many games and movies. One of the three major model programs used by professionals.&lt;br /&gt;
&lt;br /&gt;
===3d Model converters/Assemblers===&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=305 3DO Builder]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The most widely used program for converting models to the 3do file format of TA. Follow the tips on the main page in the above link and it will run just fine.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=2317 UpSpring]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Help information, manual, and tips can be found here: &#039;&#039;&#039;[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2839&amp;amp;start=0]&amp;lt;br&amp;gt;-&amp;gt; This is the only other way to get files into the s3o file format for Spring other then the s3o plugin for 3DS MAX.&lt;br /&gt;
&lt;br /&gt;
=== Scripting And Unit Stats files ===&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=70 Scripter]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The by far best compiler for your handmade .bos scripts into endless lines of letters and numbers that the TA engine reads. The program is large, easy to operate and with a broad error tracing (well, better than the other two alternatives). While other versions of this program sometimes refuse to compile on-off functions, this download is guaranteed to work in every condition.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=65 Cobbler]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; This is a very simple script compiler that converts your newly written .bos files understood by humans into a hexadecimal .cob gibberish used by the TA engine. Beware, however, that this program is a lightweight, which means that it doesn&#039;t provide especially much error tracing, not to mention that it is in French.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=193 Servo]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Rhad&#039;s awesome but somewhat buggy animation scripting program. It features keyframed animation script generation from a 3D positioner.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=62 Brain]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The Brain is a scripting utility that converts your newly written code rows into incomprehensible hex codes used by the game. This program is in english and can sometimes give you the most wondorous error messages, so it&#039;s only reccomended as a backup scripting program.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=194 UnCobbler]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The first (I think) uncobbling utility. Bad english and brute force approach make this one outdated, but here it is for completeness sake.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=1680 Excel FBI editor]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Lets you quickly edit all your FBI files in an Excel spread sheet. Made by Maelstorm.&amp;lt;br&amp;gt;&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Microsoft Excel is NOT FREE.&amp;lt;br&amp;gt;-&amp;gt; Help information, manual, and tips can be found here: &#039;&#039;&#039;[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2596]&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=68 Lazy Scripter]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt; This is a simple, but yet very useful utility that makes a &amp;quot;blind&amp;quot; script to fit your model. It provides you with just the minimal requirements for a playable unit script, so don&#039;t trust it to make all your work for you.&lt;br /&gt;
&lt;br /&gt;
=== Map Compiling ===&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=showitem&amp;amp;ID=1421 mothers MapConv]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The map compiler used by most people. Supports feature placment.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=showitem&amp;amp;ID=1507 mothers MapConv special]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The normal MapConv does not work for some people. If you are one of them, try this one.&lt;br /&gt;
# &#039;&#039;&#039;[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2420 SMD Creator]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Maelstroms SMD creator. Has a few bugs, but a new release should be out in a few days.&lt;br /&gt;
&lt;br /&gt;
=== Documentation and Tutorials ===&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2660&amp;amp;start=0 S3O file format for Spring]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The above link is to the form were this currently being disscused, and feed back is being provided. Also includes tips and helpful information.&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 making]]&lt;br /&gt;
[[Category:Unit development]]&lt;br /&gt;
[[Category:Mod development]]&lt;/div&gt;</summary>
		<author><name>Ansuz</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Map,_Game,_And_Unit_Development_Programs&amp;diff=12877</id>
		<title>Map, Game, And Unit Development Programs</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Map,_Game,_And_Unit_Development_Programs&amp;diff=12877"/>
		<updated>2007-02-27T23:23:04Z</updated>

		<summary type="html">&lt;p&gt;Ansuz: /* Image Editing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A Comprehensive list of tools to make Spring content.&lt;br /&gt;
&lt;br /&gt;
*Those that are Open Source are marked with a &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&lt;br /&gt;
*Those that are Free are marked with a &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&lt;br /&gt;
*Those that Cost are marked with a &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Image Editing ===&lt;br /&gt;
# &#039;&#039;&#039;[http://www.gimp.org/ Gimp]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Pre compiled Binary files (or installer files) can be found here: &#039;&#039;&#039;[http://www.gimp.org/downloads/]&amp;lt;br&amp;gt;-&amp;gt; The DDS plugin for Gimp can be found at [http://nifelheim.dyndns.org/~cocidius/dds/ http://nifelheim.dyndns.org/~cocidius/dds/]&lt;br /&gt;
# &#039;&#039;&#039;[http://www.corel.com/servlet/Satellite?pagename=Corel3/Products/Display&amp;amp;pfid=1047024307383&amp;amp;pid=1047025487586 Corel Paint Shop Pro]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Jasc was recently bought out by Corel.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.corel.com/servlet/Satellite?pagename=Corel3/Products/Display&amp;amp;pfid=1047024307335&amp;amp;pid=1047022690654 Corel Draw]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; This is Corel&#039;s original graphics program. Very easy to work with. I have used an older version of it, and love the photoshop it has.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.adobe.com/products/photoshop/main.html Adobe Photoshop]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The most widely used image editing program ever.&lt;br /&gt;
&lt;br /&gt;
=== 3d Modeling ===&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;[http://www.wings3d.com/ Wings 3D]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Probably the most popular modeller for Spring.&amp;lt;br&amp;gt;-&amp;gt; Easy to learn modelling and UV mapping environments.&amp;lt;br&amp;gt;-&amp;gt; Excellent introduction to using it can be found [http://www.wings3d.com/doghouse.php here]. &amp;lt;br&amp;gt;-&amp;gt; For help on how to UV map with it just ask around.&lt;br /&gt;
# &#039;&#039;&#039;[http://blender.org/cms/Home.2.0.html Blender]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt;  The most used opensource modeler that has it&#039;s own way of doing things.&amp;lt;br&amp;gt;-&amp;gt;Most popular whitin unit makers using this excellent tool.&amp;lt;br&amp;gt;-&amp;gt;Get basic usage, advanced, and video tutorials [http://www.blender3d.org/cms/Using_Blender.80.0.html here]&lt;br /&gt;
# &#039;&#039;&#039;[http://www.anim8or.com/main/index.html Anim8or]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;[http://usa.autodesk.com/adsk/servlet/index?id=5659302&amp;amp;siteID=123112 3DS MAX]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The most widely used and aclaimed modeling programs ever. Used in creation of many games and movies(The Matrix). One of the 3 major model programs used by professionals.&amp;lt;br&amp;gt;-&amp;gt; The s3o plugin for 3DS MAX can be found here. NOTE: This is not backwards compatible with versions older then 7. Also this only exports: &#039;&#039;&#039;[http://taspring.clan-sy.com/temp/s3oexport.dle]&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;[http://www.newtek.com/ Lightwave]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; A popular modeling program thats been around a long time. One of the 3 major model programs used by professionals.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.rhino3d.com/ Rhinoceros]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; A farely new comer to the world of modeling, uses a lot of nurbs surfaces. &lt;br /&gt;
# &#039;&#039;&#039;[http://www.turbosquid.com/gmax GMAX]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Great for learning as it is 3DS MAX v4 without rendering, and has game packs for a fair amount of games, is locked in exporting, though there are a few workarounds.&lt;br /&gt;
# &#039;&#039;&#039;[http://usa.autodesk.com/adsk/servlet/index?id=6871843&amp;amp;siteID=123112 MAYA]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The other most widely used and aclaimed modeling program. Used in creation of many games and movies. One of the 3 major model programs used by professionals.&lt;br /&gt;
&lt;br /&gt;
===3d Model converters/Assemblers===&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=305 3DO Builder]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The most widely used program for converting models to the 3do file format of TA. Follow the tips on the main page in the above link and it will run just fine.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=2317 UpSpring]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Help information, manual, and tips can be found here: &#039;&#039;&#039;[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2839&amp;amp;start=0]&amp;lt;br&amp;gt;-&amp;gt; This is the only other way to get files into the s3o file format for Spring other then the s3o plugin for 3DS MAX.&lt;br /&gt;
&lt;br /&gt;
=== Scripting And Unit Stats files ===&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=70 Scripter]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The by far best compiler for your handmade .bos scripts into endless lines of letters and numbers that the TA engine reads. The program is large, easy to operate and with a broad error tracing (well, better than the other two alternatives). While other versions of this program sometimes refuse to compile on-off functions, this download is guaranteed to work in every condition.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=65 Cobbler]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; This is a very simple script compiler that converts your newly written .bos files understood by humans into a hexadecimal .cob gibberish used by the TA engine. Beware, however, that this program is a lightweight, which means that it doesn&#039;t provide especially much error tracing, not to mention that it is in French.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=193 Servo]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Rhad&#039;s awesome but somewhat buggy animation scripting program. It features keyframed animation script generation from a 3D positioner.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=62 Brain]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The Brain is a scripting utility that converts your newly written code rows into incomprehensible hex codes used by the game. This program is in english and can sometimes give you the most wondorous error messages, so it&#039;s only reccomended as a backup scripting program.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=194 UnCobbler]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The first (I think) uncobbling utility. Bad english and brute force approach make this one outdated, but here it is for completeness sake.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=1680 Excel FBI editor]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Lets you quickly edit all your FBI files in an Excel spread sheet. Made by Maelstorm.&amp;lt;br&amp;gt;&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Microsoft Excel is NOT FREE.&amp;lt;br&amp;gt;-&amp;gt; Help information, manual, and tips can be found here: &#039;&#039;&#039;[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2596]&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=68 Lazy Scripter]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt; This is a simple, but yet very useful utility that makes a &amp;quot;blind&amp;quot; script to fit your model. It provides you with just the minimal requirements for a playable unit script, so don&#039;t trust it to make all your work for you.&lt;br /&gt;
&lt;br /&gt;
=== Map Compiling ===&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=showitem&amp;amp;ID=1421 mothers MapConv]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The map compiler used by most people. Supports feature placment.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=showitem&amp;amp;ID=1507 mothers MapConv special]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The normal MapConv does not work for some people. If you are one of them, try this one.&lt;br /&gt;
# &#039;&#039;&#039;[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2420 SMD Creator]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Maelstroms SMD creator. Has a few bugs, but a new release should be out in a few days.&lt;br /&gt;
&lt;br /&gt;
=== Documentation and Tutorials ===&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2660&amp;amp;start=0 S3O file format for Spring]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The above link is to the form were this currently being disscused, and feed back is being provided. Also includes tips and helpful information.&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 making]]&lt;br /&gt;
[[Category:Unit development]]&lt;br /&gt;
[[Category:Mod development]]&lt;/div&gt;</summary>
		<author><name>Ansuz</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Map,_Game,_And_Unit_Development_Programs&amp;diff=12876</id>
		<title>Map, Game, And Unit Development Programs</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Map,_Game,_And_Unit_Development_Programs&amp;diff=12876"/>
		<updated>2007-02-27T23:21:51Z</updated>

		<summary type="html">&lt;p&gt;Ansuz: /* Image Editing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A Comprehensive list of tools to make Spring content.&lt;br /&gt;
&lt;br /&gt;
*Those that are Open Source are marked with a &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&lt;br /&gt;
*Those that are Free are marked with a &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&lt;br /&gt;
*Those that Cost are marked with a &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Image Editing ===&lt;br /&gt;
# &#039;&#039;&#039;[http://www.gimp.org/ Gimp]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Pre compiled Binary files (or installer files) can be found here: &#039;&#039;&#039;[http://www.gimp.org/downloads/]&amp;lt;br&amp;gt;-&amp;gt; The DDS plugin for Gimp can be found at [http://nifelheim.dyndns.org/~cocidius/dds/ http://nifelheim.dyndns.org/~cocidius/dds/]&lt;br /&gt;
# &#039;&#039;&#039;[http://www.corel.com/servlet/Satellite?pagename=Corel3/Products/Display&amp;amp;pfid=1047024307383&amp;amp;pid=1047025487586 Corel Paint Shop Pro]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Jasc was recently bought out by Corel.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.corel.com/servlet/Satellite?pagename=Corel3/Products/Display&amp;amp;pfid=1047024307335&amp;amp;pid=1047022690654 Corel Draw]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; This is Corel&#039;s orignal graphics program. Very easy to work with. I have used an older version of it, and love the photoshop it has.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.adobe.com/products/photoshop/main.html Adobe Photoshop]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The most widely used image editing program ever.&lt;br /&gt;
&lt;br /&gt;
=== 3d Modeling ===&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;[http://www.wings3d.com/ Wings 3D]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Probably the most popular modeller for Spring.&amp;lt;br&amp;gt;-&amp;gt; Easy to learn modelling and UV mapping environments.&amp;lt;br&amp;gt;-&amp;gt; Excellent introduction to using it can be found [http://www.wings3d.com/doghouse.php here]. &amp;lt;br&amp;gt;-&amp;gt; For help on how to UV map with it just ask around.&lt;br /&gt;
# &#039;&#039;&#039;[http://blender.org/cms/Home.2.0.html Blender]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt;  The most used opensource modeler that has it&#039;s own way of doing things.&amp;lt;br&amp;gt;-&amp;gt;Most popular whitin unit makers using this excellent tool.&amp;lt;br&amp;gt;-&amp;gt;Get basic usage, advanced, and video tutorials [http://www.blender3d.org/cms/Using_Blender.80.0.html here]&lt;br /&gt;
# &#039;&#039;&#039;[http://www.anim8or.com/main/index.html Anim8or]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;[http://usa.autodesk.com/adsk/servlet/index?id=5659302&amp;amp;siteID=123112 3DS MAX]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The most widely used and aclaimed modeling programs ever. Used in creation of many games and movies(The Matrix). One of the 3 major model programs used by professionals.&amp;lt;br&amp;gt;-&amp;gt; The s3o plugin for 3DS MAX can be found here. NOTE: This is not backwards compatible with versions older then 7. Also this only exports: &#039;&#039;&#039;[http://taspring.clan-sy.com/temp/s3oexport.dle]&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;[http://www.newtek.com/ Lightwave]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; A popular modeling program thats been around a long time. One of the 3 major model programs used by professionals.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.rhino3d.com/ Rhinoceros]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; A farely new comer to the world of modeling, uses a lot of nurbs surfaces. &lt;br /&gt;
# &#039;&#039;&#039;[http://www.turbosquid.com/gmax GMAX]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Great for learning as it is 3DS MAX v4 without rendering, and has game packs for a fair amount of games, is locked in exporting, though there are a few workarounds.&lt;br /&gt;
# &#039;&#039;&#039;[http://usa.autodesk.com/adsk/servlet/index?id=6871843&amp;amp;siteID=123112 MAYA]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The other most widely used and aclaimed modeling program. Used in creation of many games and movies. One of the 3 major model programs used by professionals.&lt;br /&gt;
&lt;br /&gt;
===3d Model converters/Assemblers===&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=305 3DO Builder]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The most widely used program for converting models to the 3do file format of TA. Follow the tips on the main page in the above link and it will run just fine.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=2317 UpSpring]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Help information, manual, and tips can be found here: &#039;&#039;&#039;[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2839&amp;amp;start=0]&amp;lt;br&amp;gt;-&amp;gt; This is the only other way to get files into the s3o file format for Spring other then the s3o plugin for 3DS MAX.&lt;br /&gt;
&lt;br /&gt;
=== Scripting And Unit Stats files ===&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=70 Scripter]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The by far best compiler for your handmade .bos scripts into endless lines of letters and numbers that the TA engine reads. The program is large, easy to operate and with a broad error tracing (well, better than the other two alternatives). While other versions of this program sometimes refuse to compile on-off functions, this download is guaranteed to work in every condition.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=65 Cobbler]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; This is a very simple script compiler that converts your newly written .bos files understood by humans into a hexadecimal .cob gibberish used by the TA engine. Beware, however, that this program is a lightweight, which means that it doesn&#039;t provide especially much error tracing, not to mention that it is in French.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=193 Servo]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Rhad&#039;s awesome but somewhat buggy animation scripting program. It features keyframed animation script generation from a 3D positioner.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=62 Brain]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The Brain is a scripting utility that converts your newly written code rows into incomprehensible hex codes used by the game. This program is in english and can sometimes give you the most wondorous error messages, so it&#039;s only reccomended as a backup scripting program.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=194 UnCobbler]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The first (I think) uncobbling utility. Bad english and brute force approach make this one outdated, but here it is for completeness sake.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=1680 Excel FBI editor]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Lets you quickly edit all your FBI files in an Excel spread sheet. Made by Maelstorm.&amp;lt;br&amp;gt;&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Microsoft Excel is NOT FREE.&amp;lt;br&amp;gt;-&amp;gt; Help information, manual, and tips can be found here: &#039;&#039;&#039;[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2596]&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=show&amp;amp;a=it&amp;amp;id=68 Lazy Scripter]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt; This is a simple, but yet very useful utility that makes a &amp;quot;blind&amp;quot; script to fit your model. It provides you with just the minimal requirements for a playable unit script, so don&#039;t trust it to make all your work for you.&lt;br /&gt;
&lt;br /&gt;
=== Map Compiling ===&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=showitem&amp;amp;ID=1421 mothers MapConv]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The map compiler used by most people. Supports feature placment.&lt;br /&gt;
# &#039;&#039;&#039;[http://www.fileuniverse.com/?p=showitem&amp;amp;ID=1507 mothers MapConv special]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The normal MapConv does not work for some people. If you are one of them, try this one.&lt;br /&gt;
# &#039;&#039;&#039;[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2420 SMD Creator]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; Maelstroms SMD creator. Has a few bugs, but a new release should be out in a few days.&lt;br /&gt;
&lt;br /&gt;
=== Documentation and Tutorials ===&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2660&amp;amp;start=0 S3O file format for Spring]&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;-&amp;gt; The above link is to the form were this currently being disscused, and feed back is being provided. Also includes tips and helpful information.&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 making]]&lt;br /&gt;
[[Category:Unit development]]&lt;br /&gt;
[[Category:Mod development]]&lt;/div&gt;</summary>
		<author><name>Ansuz</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Simple_Game_Tutorial&amp;diff=16845</id>
		<title>Simple Game Tutorial</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Simple_Game_Tutorial&amp;diff=16845"/>
		<updated>2007-02-27T23:15:39Z</updated>

		<summary type="html">&lt;p&gt;Ansuz: /* Step 11:Testing Your Mod */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Until I Finish [[Mod Development]] is the place to go.&lt;br /&gt;
&lt;br /&gt;
This Tutorial Aims to get a person from knowing nothing about Spring to the point where they can create and edit mods.&lt;br /&gt;
&lt;br /&gt;
Right now I am working from memory so you may want to correct me when I&#039;m wrong, I will try to cross link from my summaries to the appropriate articles available in other places.&lt;br /&gt;
&lt;br /&gt;
I will not go too deep into making 3do&#039;s because they are old and dumb... but I&#039;ll try to make note of the differences here.&lt;br /&gt;
&lt;br /&gt;
I don&#039;t know anything about scripting right now, so that section is likely to be sparse when I write it, I hope that someone will expand on it.&lt;br /&gt;
&lt;br /&gt;
=Book 1: The First Unit=&lt;br /&gt;
&lt;br /&gt;
==Step 1:Planning==&lt;br /&gt;
Who cares about planning, you know what you&#039;re doing... just come up with an idea for a mod... I made a chess set... if you don&#039;t have a real idea and just want to make a model show up in the game... then yeah... this is the place to start... I&#039;d do that if I were you.&lt;br /&gt;
&lt;br /&gt;
Another good thing to do at this point is to creat a &amp;quot;working directory&amp;quot;, and inside it create a directory with the name that your mod will have... after many headaches I decided it&#039;s best to put this in the root directory of your system so it&#039;s really easy to find when you are switching around back and forth between folders and keep having to find your files over and over again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Step 2:Getting Da Tools==&lt;br /&gt;
You will need a bunch of stuff... here&#039;s the list (I assume you are using windows)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Want:&#039;&#039;&lt;br /&gt;
*[http://taspring.clan-sy.com/download.php Spring] - The main program, you will likely need this to test if you&#039;ve screwed up&lt;br /&gt;
*A Tiny Map (2x2) - to test your mod fast (suggest [http://www.fileuniverse.com/?p=showitem&amp;amp;ID=2534 Simple Chess Map])&lt;br /&gt;
*[http://www.darkstars.co.uk/index.php?name=Forums&amp;amp;file=viewtopic&amp;amp;p=17 SpringSP] - To load up your mod and your map in spring without confising lobby folks&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Need:&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Program listings can be found here:&#039;&#039;&#039; &#039;&#039;&#039;[http://taspring.clan-sy.com/wiki/Map%2C_Mod%2C_And_Unit_Development_Programs Map, Mod, And Unit Development Programs]&#039;&#039;&#039;&lt;br /&gt;
*3D Modeling Program - &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Notepad - to edit all the miriad of text files&lt;br /&gt;
*A Graphical Editing Program - needs to handle RGBA TGAs (aka tga&#039;s with alpha channels), I suggest Photoshop if you have it, or the Gimp... needed for all of the texture making for UVmapping stuff... &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Upspring 1.3 - To convert your models to the approprite s3o format (if you want to fight with 3do builder, then go ahead... a good trick is to get your model into upspring first and adjust all the hierachy, then save it as an 3do... but why bother?). &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Scriptor - to make and compile your units &amp;quot;animation script&amp;quot;... or steal someone elses and make it work for your unit. &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Compression Utility - (I suggest [http://www.7-zip.org/ 7zip] - even if you are using zip compression and not 7zip, it&#039;s still good to have)&lt;br /&gt;
&lt;br /&gt;
==Step 3:Making a 3D Model==&lt;br /&gt;
&lt;br /&gt;
Go into your 3D modelling program and make a 3D model, [http://taspring.clan-sy.com/w/images/b/b4/WingsCombine.PNG combine] all the objects and UV map the model, then separate it out into any parts that need to move independently of eachother.  Then Export the UV map as an Image File and Export the whole thing as a 3DS file.  Put the original wings file, the UVMap image and the 3ds file into your working directory so you can find them later.&lt;br /&gt;
&lt;br /&gt;
Wings 3D UV Mapping tutorial has been started here - [[Units:CreateModel]]&lt;br /&gt;
&lt;br /&gt;
==Step 4:Fixing Your Images==&lt;br /&gt;
&lt;br /&gt;
[[Basic s3o unit making guide|This Article includes a UVMapping Guide]]&lt;br /&gt;
&lt;br /&gt;
Open up your UVMap in Photoshop (or whatever) go to the layer/chooser thingy and go to the Channels Tab, add a new layer (it should default to alpha) and fill it with 99% black so you can see your texture in upspring.  If you want to can paint the UVmap and put white (1% black) on the alpha channel where you want your team colours to show up (you can use something between 1% and 99% to get a blend of your team colour along with the texture... for example 50% will give you your texture with 50% of the team colour mixed in...)&lt;br /&gt;
&lt;br /&gt;
I don&#039;t know how to do glow maps... XXreminder for someone to create a Glowmapping tutorial... you don&#039;t acctually need one for the model to show up.&lt;br /&gt;
&lt;br /&gt;
Save these images both in the working directory.&lt;br /&gt;
&lt;br /&gt;
Save a copy of these images in tga format into &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/unittextures&lt;br /&gt;
&lt;br /&gt;
==Step 5:Upspring==&lt;br /&gt;
&lt;br /&gt;
===Importing Your 3ds===&lt;br /&gt;
Open Upspring 1.3, go to file&amp;gt;load model and navigate to and open your 3DS model you exported, you should see the model in upspring as a 3d mesh.  Go to the model tab and set the radius and height values to something other then zero... this defines where the health bar will show up, and more importantly, how big the collision sphere will be.&lt;br /&gt;
&lt;br /&gt;
You will also need to use all of the other tools on those tabs to resize and rotate and move your model to the right place... wings makes models that are 90 degrees off and about 30 times to small of the size of most spring models... make sure you click the &amp;quot;apply transform&amp;quot; button after any changes you actually want to show up in game.&lt;br /&gt;
&lt;br /&gt;
Also, you will want to make the hierachy work using the cut, paste, and add empty buttons.  You will need an object called &amp;quot;base&amp;quot; that all the other objects are connected to... the &amp;quot;origin object&amp;quot;... sometimes you get lucky and wings exports it properly... usually not.&lt;br /&gt;
&lt;br /&gt;
===Importing Your UV and Glowmaps===&lt;br /&gt;
&lt;br /&gt;
Go to the textures tab and make your UV/texture/team-colour map as &amp;quot;texture1&amp;quot; and your UV/glow/reflectivity map as &amp;quot;texture2&amp;quot;... it should show up correctly in the preview pane.&lt;br /&gt;
&lt;br /&gt;
===Exporting Your s3o===&lt;br /&gt;
Choose File&amp;gt;Save Model As then in the drop down select &amp;quot;s3o&amp;quot; and type an appropriate name. This model should be saved to your working directory, and a copy of it made to &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/3dobjects/&lt;br /&gt;
&lt;br /&gt;
==Step 6:A couple Text Files==&lt;br /&gt;
&lt;br /&gt;
===UnitName.fbi===&lt;br /&gt;
For Reference visit [[Units:FBI]], but again, the easiest way to do this is to extract an existing mod and find the fbi for a unit that behaves similarly to the one you are trying to make and rename and modify it.&lt;br /&gt;
&lt;br /&gt;
Some More Specific Information Not Clear in the &amp;quot;Units:FBI&amp;quot; article:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name+&amp;quot; &amp;quot;+Description=Spring Display Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So is you have the following settings:&lt;br /&gt;
&lt;br /&gt;
 Name=Tiger;&lt;br /&gt;
 Description=Fast Attack C.A.T.;&lt;br /&gt;
&lt;br /&gt;
The Tooltip will show &amp;quot;Tiger Fast Attack C.A.T.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;BuildPic Defaults to UnitName.bmp&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So if you leave out &amp;quot;BuildPic=filename.bmp;&amp;quot; Spring will look in /unitpics/ for a file called &amp;quot;UnitName.bmp&amp;quot; to use as your buildpic.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ObjectName&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you want to use an s3o object, you will need to specify with &amp;quot;ObjectName=UnitName&#039;&#039;&#039;.S3O;&#039;&#039;&#039;&amp;quot; otherwise it will look for &amp;quot;UnitName.3do&amp;quot;.  Also, you don&#039;t have to use &amp;quot;UnitName&amp;quot; as the filename and, in fact, multiple Unit&#039;s fbi files can reference the same 3D models. It is easier, however, for people to figure out what you are doing in your mod if you follow the standards.&lt;br /&gt;
&lt;br /&gt;
Save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/units/&lt;br /&gt;
&lt;br /&gt;
===modinfo.tdf===&lt;br /&gt;
&lt;br /&gt;
modinfo.tdf is a text file that defines a number of things that are used when loading a mod, most of the information is self explanitory but basically what you are doing is defining what is going to show up in whatever mod-selection interface you use as well as what other files need to be loaded into memory in order for your mod to work.&lt;br /&gt;
&lt;br /&gt;
====Making a New Mod with your unit/units====&lt;br /&gt;
The following is an example of what will be in your modinfo.tdf file if you are starting from scratch and making your own mod. This is also good when you are just testing one unit to see if it works.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [MOD] {&lt;br /&gt;
 &lt;br /&gt;
  // The name is shown in the selection interface&lt;br /&gt;
  Name=My Mod; &lt;br /&gt;
 &lt;br /&gt;
  // These can be shown by the selection interface &lt;br /&gt;
  Description=My Mod That I Made; &lt;br /&gt;
  URL=http://www.theplacepeoplecangetthelatestversionofyourmod.com; &lt;br /&gt;
 &lt;br /&gt;
  // What kind of mod this is &lt;br /&gt;
  //  0 - Hidden (support mod that can&#039;t be selected, such as OTA_textures) &lt;br /&gt;
  //  1 - Normal, only one can be selected at a time &lt;br /&gt;
  //  2 - Addon, any number of these can be selected. Could be used &lt;br /&gt;
  //      for single units for example. &lt;br /&gt;
  //  others - perhaps mutators and addon races that can be &lt;br /&gt;
  //           enabled in addition to xta for example? &lt;br /&gt;
  ModType=1; &lt;br /&gt;
&lt;br /&gt;
  // Number of other archives this one depends on    &lt;br /&gt;
  NumDependencies=4; &lt;br /&gt;
 	Depend0=taenheter.sdz;&lt;br /&gt;
 	Depend1=springcontent.sdz;&lt;br /&gt;
 	Depend2=otacontent.sdz;&lt;br /&gt;
 	Depend3=tatextures.sdz;&lt;br /&gt;
         &lt;br /&gt;
 &lt;br /&gt;
  // Number of other archives this one replaces&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
====Adding Your Unit to an Existing Mod====&lt;br /&gt;
The following is an example of what will be in your modinfo.tdf file if you are adding new units to an existing mod (in this case xta_se_v066.sdz), this is good for adding units to the build tree of an existing mod or adding a whole new team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 // Description of the mod control file recognized by spring:&lt;br /&gt;
 &lt;br /&gt;
 [MOD] {&lt;br /&gt;
 &lt;br /&gt;
 // The name is shown in the selection interface&lt;br /&gt;
 Name=XTASEv0.66 with+My Units; &lt;br /&gt;
 &lt;br /&gt;
 // These can be shown by the selection interface&lt;br /&gt;
 //&lt;br /&gt;
 Description=xta_se_v066 with the cool tank I made; &lt;br /&gt;
 URL=http://www.fileuniverse.com/exactlocationblahblahblah; &lt;br /&gt;
 &lt;br /&gt;
 // What kind of mod this is &lt;br /&gt;
 //  0 - Hidden (support mod that can&#039;t be selected, such as OTA_textures) &lt;br /&gt;
 //  1 - Normal, only one can be selected at a time &lt;br /&gt;
 //  2 - Addon, any number of these can be selected. Could be used &lt;br /&gt;
 //      for single units for example. &lt;br /&gt;
 //  others - perhaps mutators and addon races that can be &lt;br /&gt;
 //           enabled in addition to xta for example? &lt;br /&gt;
 ModType=1; &lt;br /&gt;
 &lt;br /&gt;
 // Number of other archives this one depends on    &lt;br /&gt;
 NumDependencies=5; &lt;br /&gt;
 	Depend0=taenheter.sdz;&lt;br /&gt;
 	Depend1=springcontent.sdz;&lt;br /&gt;
 	Depend2=otacontent.sdz;&lt;br /&gt;
 	Depend3=tatextures.sdz;&lt;br /&gt;
 	Depend4=xta_se_v066.sdz;&lt;br /&gt;
         &lt;br /&gt;
 &lt;br /&gt;
 // Number of other archives this one replaces&lt;br /&gt;
 } &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are some extra bits in these examples, but I work on the &amp;quot;better safe than sorry&amp;quot; principle... which is to wait for someone who knows what they are doing to fix my articles.&lt;br /&gt;
&lt;br /&gt;
You will want to save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/&lt;br /&gt;
&lt;br /&gt;
===Armor.txt===&lt;br /&gt;
&lt;br /&gt;
I&#039;m not exactly sure how this works, but the file needs to exist, so either steal one from another mod and modify it... or just make a file that looks like this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 // [UNITNAME]- Good Against Lazer/Bad Against Nukes&lt;br /&gt;
 [UNITNAME]&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You will want to save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/&lt;br /&gt;
&lt;br /&gt;
===SIDEDATA.TDF===&lt;br /&gt;
&lt;br /&gt;
Start by stealing the sidedata.tdf file from your dependency mod if you have one, then edit it to include your units/side.&lt;br /&gt;
&lt;br /&gt;
Basically this file is in the form:&lt;br /&gt;
&lt;br /&gt;
 [SIDE0]&lt;br /&gt;
 	{&lt;br /&gt;
 	name=Good Guys;&lt;br /&gt;
 	nameprefix=GG;&lt;br /&gt;
 	commander=UnitName1;&lt;br /&gt;
 	}&lt;br /&gt;
 [CANBUILD]&lt;br /&gt;
 	{&lt;br /&gt;
 	[UnitName1]&lt;br /&gt;
 		{&lt;br /&gt;
 		canbuild1=UnitName2;&lt;br /&gt;
 		canbuild2=UnitName3;&lt;br /&gt;
 		canbuild3=UnitName4;&lt;br /&gt;
 		canbuild4=UnitName5;&lt;br /&gt;
 		canbuild5=UnitName6;&lt;br /&gt;
 		}&lt;br /&gt;
 	}    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
...with additional &amp;quot;[SIDEX]&amp;quot; entries for each side/team/commander-choice available in the mod-selector you choose, additional &amp;quot;[UnitName]&amp;quot; sections for each factory of construction unit, and additional &amp;quot;canbuildx=UnitName&amp;quot; entries to all factory/con-units that can build each unit.&lt;br /&gt;
&lt;br /&gt;
You will save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/gamedata/&lt;br /&gt;
&lt;br /&gt;
==Step 7:Adding a Build Pic==&lt;br /&gt;
&lt;br /&gt;
Add a 96x96 BMP to your &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/unitpics/ folder named either &amp;quot;UnitName.bmp&amp;quot; or whatever you specified in the &amp;quot;BuildPic=&amp;quot; line of your fbi.&lt;br /&gt;
&lt;br /&gt;
==Step 8:Adding a Side Pic==&lt;br /&gt;
&lt;br /&gt;
Add a 16x16 BMP to your &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/sidepics/ folder named &amp;quot;teamname.bmp&amp;quot; or whatever you specified in the &amp;quot;name=&amp;quot; line of your SIDEDATA.TDF for each side/team you have added.&lt;br /&gt;
&lt;br /&gt;
==Step 9:Scriptor==&lt;br /&gt;
&lt;br /&gt;
===Stealing a Script===&lt;br /&gt;
Open someone else&#039;s script in scriptor that works the way you want your script to work, look at the top where it&#039;s talking about &amp;quot;piece names&amp;quot;... then change those piece names to be the piece names of your unit and do a find/replace to make all the places where those pieces show up to be your pieces too.  Compile it so its name is the same as the &amp;quot;UnitName=&amp;quot; value in your &amp;quot;UnitName.fbi&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
XXreminder to someone to link to a proper scripting tutorial&lt;br /&gt;
&lt;br /&gt;
put the bos and cob files for your unit script in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
==Step 10:Compiling Your Mod==&lt;br /&gt;
&lt;br /&gt;
You may want to check your mod directory and make sure it follows the structure defined [[Mod_Development:Archives|here]].&lt;br /&gt;
&lt;br /&gt;
navigate to your &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt; and select everything and choose &amp;quot;add to archive &amp;lt;mod name&amp;gt;.7z&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
make a copy of this file called &amp;lt;mod name&amp;gt;v0.7z in your working directory so you don&#039;t screw anything up later, then make a copy of it called &amp;lt;mod name&amp;gt;.sd7 in the mods directory of spring.&lt;br /&gt;
&lt;br /&gt;
==Step 11:Testing Your Mod==&lt;br /&gt;
Open Up SpringSP, pick your mod from the drop-down at the top (if it doesn&#039;t show up you screwed up your modinfo.txt), choose your tiny map from the map list and press start.  If it doesn&#039;t break and your unit shows up, you have created all the neccessary files... yay!&lt;br /&gt;
&lt;br /&gt;
Gotchas:&lt;br /&gt;
*If it doesnt work, check you didn&#039;t zip the folder itself, but the contents, ie if you open mymod.sd7 with 7zip, you should see folders such as &amp;quot;unittextures&amp;quot; rather than a folder &amp;quot;mymod&amp;quot; containing unittextures.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mod development]]&lt;/div&gt;</summary>
		<author><name>Ansuz</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Simple_Game_Tutorial&amp;diff=16844</id>
		<title>Simple Game Tutorial</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Simple_Game_Tutorial&amp;diff=16844"/>
		<updated>2007-02-27T23:14:36Z</updated>

		<summary type="html">&lt;p&gt;Ansuz: /* Stealing a Script */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Until I Finish [[Mod Development]] is the place to go.&lt;br /&gt;
&lt;br /&gt;
This Tutorial Aims to get a person from knowing nothing about Spring to the point where they can create and edit mods.&lt;br /&gt;
&lt;br /&gt;
Right now I am working from memory so you may want to correct me when I&#039;m wrong, I will try to cross link from my summaries to the appropriate articles available in other places.&lt;br /&gt;
&lt;br /&gt;
I will not go too deep into making 3do&#039;s because they are old and dumb... but I&#039;ll try to make note of the differences here.&lt;br /&gt;
&lt;br /&gt;
I don&#039;t know anything about scripting right now, so that section is likely to be sparse when I write it, I hope that someone will expand on it.&lt;br /&gt;
&lt;br /&gt;
=Book 1: The First Unit=&lt;br /&gt;
&lt;br /&gt;
==Step 1:Planning==&lt;br /&gt;
Who cares about planning, you know what you&#039;re doing... just come up with an idea for a mod... I made a chess set... if you don&#039;t have a real idea and just want to make a model show up in the game... then yeah... this is the place to start... I&#039;d do that if I were you.&lt;br /&gt;
&lt;br /&gt;
Another good thing to do at this point is to creat a &amp;quot;working directory&amp;quot;, and inside it create a directory with the name that your mod will have... after many headaches I decided it&#039;s best to put this in the root directory of your system so it&#039;s really easy to find when you are switching around back and forth between folders and keep having to find your files over and over again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Step 2:Getting Da Tools==&lt;br /&gt;
You will need a bunch of stuff... here&#039;s the list (I assume you are using windows)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Want:&#039;&#039;&lt;br /&gt;
*[http://taspring.clan-sy.com/download.php Spring] - The main program, you will likely need this to test if you&#039;ve screwed up&lt;br /&gt;
*A Tiny Map (2x2) - to test your mod fast (suggest [http://www.fileuniverse.com/?p=showitem&amp;amp;ID=2534 Simple Chess Map])&lt;br /&gt;
*[http://www.darkstars.co.uk/index.php?name=Forums&amp;amp;file=viewtopic&amp;amp;p=17 SpringSP] - To load up your mod and your map in spring without confising lobby folks&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Need:&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Program listings can be found here:&#039;&#039;&#039; &#039;&#039;&#039;[http://taspring.clan-sy.com/wiki/Map%2C_Mod%2C_And_Unit_Development_Programs Map, Mod, And Unit Development Programs]&#039;&#039;&#039;&lt;br /&gt;
*3D Modeling Program - &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Notepad - to edit all the miriad of text files&lt;br /&gt;
*A Graphical Editing Program - needs to handle RGBA TGAs (aka tga&#039;s with alpha channels), I suggest Photoshop if you have it, or the Gimp... needed for all of the texture making for UVmapping stuff... &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Upspring 1.3 - To convert your models to the approprite s3o format (if you want to fight with 3do builder, then go ahead... a good trick is to get your model into upspring first and adjust all the hierachy, then save it as an 3do... but why bother?). &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Scriptor - to make and compile your units &amp;quot;animation script&amp;quot;... or steal someone elses and make it work for your unit. &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Compression Utility - (I suggest [http://www.7-zip.org/ 7zip] - even if you are using zip compression and not 7zip, it&#039;s still good to have)&lt;br /&gt;
&lt;br /&gt;
==Step 3:Making a 3D Model==&lt;br /&gt;
&lt;br /&gt;
Go into your 3D modelling program and make a 3D model, [http://taspring.clan-sy.com/w/images/b/b4/WingsCombine.PNG combine] all the objects and UV map the model, then separate it out into any parts that need to move independently of eachother.  Then Export the UV map as an Image File and Export the whole thing as a 3DS file.  Put the original wings file, the UVMap image and the 3ds file into your working directory so you can find them later.&lt;br /&gt;
&lt;br /&gt;
Wings 3D UV Mapping tutorial has been started here - [[Units:CreateModel]]&lt;br /&gt;
&lt;br /&gt;
==Step 4:Fixing Your Images==&lt;br /&gt;
&lt;br /&gt;
[[Basic s3o unit making guide|This Article includes a UVMapping Guide]]&lt;br /&gt;
&lt;br /&gt;
Open up your UVMap in Photoshop (or whatever) go to the layer/chooser thingy and go to the Channels Tab, add a new layer (it should default to alpha) and fill it with 99% black so you can see your texture in upspring.  If you want to can paint the UVmap and put white (1% black) on the alpha channel where you want your team colours to show up (you can use something between 1% and 99% to get a blend of your team colour along with the texture... for example 50% will give you your texture with 50% of the team colour mixed in...)&lt;br /&gt;
&lt;br /&gt;
I don&#039;t know how to do glow maps... XXreminder for someone to create a Glowmapping tutorial... you don&#039;t acctually need one for the model to show up.&lt;br /&gt;
&lt;br /&gt;
Save these images both in the working directory.&lt;br /&gt;
&lt;br /&gt;
Save a copy of these images in tga format into &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/unittextures&lt;br /&gt;
&lt;br /&gt;
==Step 5:Upspring==&lt;br /&gt;
&lt;br /&gt;
===Importing Your 3ds===&lt;br /&gt;
Open Upspring 1.3, go to file&amp;gt;load model and navigate to and open your 3DS model you exported, you should see the model in upspring as a 3d mesh.  Go to the model tab and set the radius and height values to something other then zero... this defines where the health bar will show up, and more importantly, how big the collision sphere will be.&lt;br /&gt;
&lt;br /&gt;
You will also need to use all of the other tools on those tabs to resize and rotate and move your model to the right place... wings makes models that are 90 degrees off and about 30 times to small of the size of most spring models... make sure you click the &amp;quot;apply transform&amp;quot; button after any changes you actually want to show up in game.&lt;br /&gt;
&lt;br /&gt;
Also, you will want to make the hierachy work using the cut, paste, and add empty buttons.  You will need an object called &amp;quot;base&amp;quot; that all the other objects are connected to... the &amp;quot;origin object&amp;quot;... sometimes you get lucky and wings exports it properly... usually not.&lt;br /&gt;
&lt;br /&gt;
===Importing Your UV and Glowmaps===&lt;br /&gt;
&lt;br /&gt;
Go to the textures tab and make your UV/texture/team-colour map as &amp;quot;texture1&amp;quot; and your UV/glow/reflectivity map as &amp;quot;texture2&amp;quot;... it should show up correctly in the preview pane.&lt;br /&gt;
&lt;br /&gt;
===Exporting Your s3o===&lt;br /&gt;
Choose File&amp;gt;Save Model As then in the drop down select &amp;quot;s3o&amp;quot; and type an appropriate name. This model should be saved to your working directory, and a copy of it made to &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/3dobjects/&lt;br /&gt;
&lt;br /&gt;
==Step 6:A couple Text Files==&lt;br /&gt;
&lt;br /&gt;
===UnitName.fbi===&lt;br /&gt;
For Reference visit [[Units:FBI]], but again, the easiest way to do this is to extract an existing mod and find the fbi for a unit that behaves similarly to the one you are trying to make and rename and modify it.&lt;br /&gt;
&lt;br /&gt;
Some More Specific Information Not Clear in the &amp;quot;Units:FBI&amp;quot; article:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name+&amp;quot; &amp;quot;+Description=Spring Display Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So is you have the following settings:&lt;br /&gt;
&lt;br /&gt;
 Name=Tiger;&lt;br /&gt;
 Description=Fast Attack C.A.T.;&lt;br /&gt;
&lt;br /&gt;
The Tooltip will show &amp;quot;Tiger Fast Attack C.A.T.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;BuildPic Defaults to UnitName.bmp&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So if you leave out &amp;quot;BuildPic=filename.bmp;&amp;quot; Spring will look in /unitpics/ for a file called &amp;quot;UnitName.bmp&amp;quot; to use as your buildpic.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ObjectName&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you want to use an s3o object, you will need to specify with &amp;quot;ObjectName=UnitName&#039;&#039;&#039;.S3O;&#039;&#039;&#039;&amp;quot; otherwise it will look for &amp;quot;UnitName.3do&amp;quot;.  Also, you don&#039;t have to use &amp;quot;UnitName&amp;quot; as the filename and, in fact, multiple Unit&#039;s fbi files can reference the same 3D models. It is easier, however, for people to figure out what you are doing in your mod if you follow the standards.&lt;br /&gt;
&lt;br /&gt;
Save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/units/&lt;br /&gt;
&lt;br /&gt;
===modinfo.tdf===&lt;br /&gt;
&lt;br /&gt;
modinfo.tdf is a text file that defines a number of things that are used when loading a mod, most of the information is self explanitory but basically what you are doing is defining what is going to show up in whatever mod-selection interface you use as well as what other files need to be loaded into memory in order for your mod to work.&lt;br /&gt;
&lt;br /&gt;
====Making a New Mod with your unit/units====&lt;br /&gt;
The following is an example of what will be in your modinfo.tdf file if you are starting from scratch and making your own mod. This is also good when you are just testing one unit to see if it works.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [MOD] {&lt;br /&gt;
 &lt;br /&gt;
  // The name is shown in the selection interface&lt;br /&gt;
  Name=My Mod; &lt;br /&gt;
 &lt;br /&gt;
  // These can be shown by the selection interface &lt;br /&gt;
  Description=My Mod That I Made; &lt;br /&gt;
  URL=http://www.theplacepeoplecangetthelatestversionofyourmod.com; &lt;br /&gt;
 &lt;br /&gt;
  // What kind of mod this is &lt;br /&gt;
  //  0 - Hidden (support mod that can&#039;t be selected, such as OTA_textures) &lt;br /&gt;
  //  1 - Normal, only one can be selected at a time &lt;br /&gt;
  //  2 - Addon, any number of these can be selected. Could be used &lt;br /&gt;
  //      for single units for example. &lt;br /&gt;
  //  others - perhaps mutators and addon races that can be &lt;br /&gt;
  //           enabled in addition to xta for example? &lt;br /&gt;
  ModType=1; &lt;br /&gt;
&lt;br /&gt;
  // Number of other archives this one depends on    &lt;br /&gt;
  NumDependencies=4; &lt;br /&gt;
 	Depend0=taenheter.sdz;&lt;br /&gt;
 	Depend1=springcontent.sdz;&lt;br /&gt;
 	Depend2=otacontent.sdz;&lt;br /&gt;
 	Depend3=tatextures.sdz;&lt;br /&gt;
         &lt;br /&gt;
 &lt;br /&gt;
  // Number of other archives this one replaces&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
====Adding Your Unit to an Existing Mod====&lt;br /&gt;
The following is an example of what will be in your modinfo.tdf file if you are adding new units to an existing mod (in this case xta_se_v066.sdz), this is good for adding units to the build tree of an existing mod or adding a whole new team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 // Description of the mod control file recognized by spring:&lt;br /&gt;
 &lt;br /&gt;
 [MOD] {&lt;br /&gt;
 &lt;br /&gt;
 // The name is shown in the selection interface&lt;br /&gt;
 Name=XTASEv0.66 with+My Units; &lt;br /&gt;
 &lt;br /&gt;
 // These can be shown by the selection interface&lt;br /&gt;
 //&lt;br /&gt;
 Description=xta_se_v066 with the cool tank I made; &lt;br /&gt;
 URL=http://www.fileuniverse.com/exactlocationblahblahblah; &lt;br /&gt;
 &lt;br /&gt;
 // What kind of mod this is &lt;br /&gt;
 //  0 - Hidden (support mod that can&#039;t be selected, such as OTA_textures) &lt;br /&gt;
 //  1 - Normal, only one can be selected at a time &lt;br /&gt;
 //  2 - Addon, any number of these can be selected. Could be used &lt;br /&gt;
 //      for single units for example. &lt;br /&gt;
 //  others - perhaps mutators and addon races that can be &lt;br /&gt;
 //           enabled in addition to xta for example? &lt;br /&gt;
 ModType=1; &lt;br /&gt;
 &lt;br /&gt;
 // Number of other archives this one depends on    &lt;br /&gt;
 NumDependencies=5; &lt;br /&gt;
 	Depend0=taenheter.sdz;&lt;br /&gt;
 	Depend1=springcontent.sdz;&lt;br /&gt;
 	Depend2=otacontent.sdz;&lt;br /&gt;
 	Depend3=tatextures.sdz;&lt;br /&gt;
 	Depend4=xta_se_v066.sdz;&lt;br /&gt;
         &lt;br /&gt;
 &lt;br /&gt;
 // Number of other archives this one replaces&lt;br /&gt;
 } &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are some extra bits in these examples, but I work on the &amp;quot;better safe than sorry&amp;quot; principle... which is to wait for someone who knows what they are doing to fix my articles.&lt;br /&gt;
&lt;br /&gt;
You will want to save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/&lt;br /&gt;
&lt;br /&gt;
===Armor.txt===&lt;br /&gt;
&lt;br /&gt;
I&#039;m not exactly sure how this works, but the file needs to exist, so either steal one from another mod and modify it... or just make a file that looks like this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 // [UNITNAME]- Good Against Lazer/Bad Against Nukes&lt;br /&gt;
 [UNITNAME]&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You will want to save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/&lt;br /&gt;
&lt;br /&gt;
===SIDEDATA.TDF===&lt;br /&gt;
&lt;br /&gt;
Start by stealing the sidedata.tdf file from your dependency mod if you have one, then edit it to include your units/side.&lt;br /&gt;
&lt;br /&gt;
Basically this file is in the form:&lt;br /&gt;
&lt;br /&gt;
 [SIDE0]&lt;br /&gt;
 	{&lt;br /&gt;
 	name=Good Guys;&lt;br /&gt;
 	nameprefix=GG;&lt;br /&gt;
 	commander=UnitName1;&lt;br /&gt;
 	}&lt;br /&gt;
 [CANBUILD]&lt;br /&gt;
 	{&lt;br /&gt;
 	[UnitName1]&lt;br /&gt;
 		{&lt;br /&gt;
 		canbuild1=UnitName2;&lt;br /&gt;
 		canbuild2=UnitName3;&lt;br /&gt;
 		canbuild3=UnitName4;&lt;br /&gt;
 		canbuild4=UnitName5;&lt;br /&gt;
 		canbuild5=UnitName6;&lt;br /&gt;
 		}&lt;br /&gt;
 	}    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
...with additional &amp;quot;[SIDEX]&amp;quot; entries for each side/team/commander-choice available in the mod-selector you choose, additional &amp;quot;[UnitName]&amp;quot; sections for each factory of construction unit, and additional &amp;quot;canbuildx=UnitName&amp;quot; entries to all factory/con-units that can build each unit.&lt;br /&gt;
&lt;br /&gt;
You will save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/gamedata/&lt;br /&gt;
&lt;br /&gt;
==Step 7:Adding a Build Pic==&lt;br /&gt;
&lt;br /&gt;
Add a 96x96 BMP to your &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/unitpics/ folder named either &amp;quot;UnitName.bmp&amp;quot; or whatever you specified in the &amp;quot;BuildPic=&amp;quot; line of your fbi.&lt;br /&gt;
&lt;br /&gt;
==Step 8:Adding a Side Pic==&lt;br /&gt;
&lt;br /&gt;
Add a 16x16 BMP to your &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/sidepics/ folder named &amp;quot;teamname.bmp&amp;quot; or whatever you specified in the &amp;quot;name=&amp;quot; line of your SIDEDATA.TDF for each side/team you have added.&lt;br /&gt;
&lt;br /&gt;
==Step 9:Scriptor==&lt;br /&gt;
&lt;br /&gt;
===Stealing a Script===&lt;br /&gt;
Open someone else&#039;s script in scriptor that works the way you want your script to work, look at the top where it&#039;s talking about &amp;quot;piece names&amp;quot;... then change those piece names to be the piece names of your unit and do a find/replace to make all the places where those pieces show up to be your pieces too.  Compile it so its name is the same as the &amp;quot;UnitName=&amp;quot; value in your &amp;quot;UnitName.fbi&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
XXreminder to someone to link to a proper scripting tutorial&lt;br /&gt;
&lt;br /&gt;
put the bos and cob files for your unit script in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
==Step 10:Compiling Your Mod==&lt;br /&gt;
&lt;br /&gt;
You may want to check your mod directory and make sure it follows the structure defined [[Mod_Development:Archives|here]].&lt;br /&gt;
&lt;br /&gt;
navigate to your &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt; and select everything and choose &amp;quot;add to archive &amp;lt;mod name&amp;gt;.7z&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
make a copy of this file called &amp;lt;mod name&amp;gt;v0.7z in your working directory so you don&#039;t screw anything up later, then make a copy of it called &amp;lt;mod name&amp;gt;.sd7 in the mods directory of spring.&lt;br /&gt;
&lt;br /&gt;
==Step 11:Testing Your Mod==&lt;br /&gt;
Open Up SpringSP, pick your mod from the drop-down at the top (if it doesn&#039;t show up you screwed up your modinfo.txt), choose your tiny map from the map list and press start.  If it doesn&#039;t break and your unit shows up, you have created all the neccessary files... yay!&lt;br /&gt;
&lt;br /&gt;
Gotchas:&lt;br /&gt;
*If it doesnt work, check you didnt zip the folder itself, but the contents, ie if you open mymod.sd7 with 7zip, you should see folders such as &amp;quot;unittextures&amp;quot; rather than a folder &amp;quot;mymod&amp;quot; containing unittextures.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mod development]]&lt;/div&gt;</summary>
		<author><name>Ansuz</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Simple_Game_Tutorial&amp;diff=16843</id>
		<title>Simple Game Tutorial</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Simple_Game_Tutorial&amp;diff=16843"/>
		<updated>2007-02-27T23:10:20Z</updated>

		<summary type="html">&lt;p&gt;Ansuz: /* Exporting Your s3o */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Until I Finish [[Mod Development]] is the place to go.&lt;br /&gt;
&lt;br /&gt;
This Tutorial Aims to get a person from knowing nothing about Spring to the point where they can create and edit mods.&lt;br /&gt;
&lt;br /&gt;
Right now I am working from memory so you may want to correct me when I&#039;m wrong, I will try to cross link from my summaries to the appropriate articles available in other places.&lt;br /&gt;
&lt;br /&gt;
I will not go too deep into making 3do&#039;s because they are old and dumb... but I&#039;ll try to make note of the differences here.&lt;br /&gt;
&lt;br /&gt;
I don&#039;t know anything about scripting right now, so that section is likely to be sparse when I write it, I hope that someone will expand on it.&lt;br /&gt;
&lt;br /&gt;
=Book 1: The First Unit=&lt;br /&gt;
&lt;br /&gt;
==Step 1:Planning==&lt;br /&gt;
Who cares about planning, you know what you&#039;re doing... just come up with an idea for a mod... I made a chess set... if you don&#039;t have a real idea and just want to make a model show up in the game... then yeah... this is the place to start... I&#039;d do that if I were you.&lt;br /&gt;
&lt;br /&gt;
Another good thing to do at this point is to creat a &amp;quot;working directory&amp;quot;, and inside it create a directory with the name that your mod will have... after many headaches I decided it&#039;s best to put this in the root directory of your system so it&#039;s really easy to find when you are switching around back and forth between folders and keep having to find your files over and over again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Step 2:Getting Da Tools==&lt;br /&gt;
You will need a bunch of stuff... here&#039;s the list (I assume you are using windows)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Want:&#039;&#039;&lt;br /&gt;
*[http://taspring.clan-sy.com/download.php Spring] - The main program, you will likely need this to test if you&#039;ve screwed up&lt;br /&gt;
*A Tiny Map (2x2) - to test your mod fast (suggest [http://www.fileuniverse.com/?p=showitem&amp;amp;ID=2534 Simple Chess Map])&lt;br /&gt;
*[http://www.darkstars.co.uk/index.php?name=Forums&amp;amp;file=viewtopic&amp;amp;p=17 SpringSP] - To load up your mod and your map in spring without confising lobby folks&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Need:&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Program listings can be found here:&#039;&#039;&#039; &#039;&#039;&#039;[http://taspring.clan-sy.com/wiki/Map%2C_Mod%2C_And_Unit_Development_Programs Map, Mod, And Unit Development Programs]&#039;&#039;&#039;&lt;br /&gt;
*3D Modeling Program - &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Notepad - to edit all the miriad of text files&lt;br /&gt;
*A Graphical Editing Program - needs to handle RGBA TGAs (aka tga&#039;s with alpha channels), I suggest Photoshop if you have it, or the Gimp... needed for all of the texture making for UVmapping stuff... &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Upspring 1.3 - To convert your models to the approprite s3o format (if you want to fight with 3do builder, then go ahead... a good trick is to get your model into upspring first and adjust all the hierachy, then save it as an 3do... but why bother?). &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Scriptor - to make and compile your units &amp;quot;animation script&amp;quot;... or steal someone elses and make it work for your unit. &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Compression Utility - (I suggest [http://www.7-zip.org/ 7zip] - even if you are using zip compression and not 7zip, it&#039;s still good to have)&lt;br /&gt;
&lt;br /&gt;
==Step 3:Making a 3D Model==&lt;br /&gt;
&lt;br /&gt;
Go into your 3D modelling program and make a 3D model, [http://taspring.clan-sy.com/w/images/b/b4/WingsCombine.PNG combine] all the objects and UV map the model, then separate it out into any parts that need to move independently of eachother.  Then Export the UV map as an Image File and Export the whole thing as a 3DS file.  Put the original wings file, the UVMap image and the 3ds file into your working directory so you can find them later.&lt;br /&gt;
&lt;br /&gt;
Wings 3D UV Mapping tutorial has been started here - [[Units:CreateModel]]&lt;br /&gt;
&lt;br /&gt;
==Step 4:Fixing Your Images==&lt;br /&gt;
&lt;br /&gt;
[[Basic s3o unit making guide|This Article includes a UVMapping Guide]]&lt;br /&gt;
&lt;br /&gt;
Open up your UVMap in Photoshop (or whatever) go to the layer/chooser thingy and go to the Channels Tab, add a new layer (it should default to alpha) and fill it with 99% black so you can see your texture in upspring.  If you want to can paint the UVmap and put white (1% black) on the alpha channel where you want your team colours to show up (you can use something between 1% and 99% to get a blend of your team colour along with the texture... for example 50% will give you your texture with 50% of the team colour mixed in...)&lt;br /&gt;
&lt;br /&gt;
I don&#039;t know how to do glow maps... XXreminder for someone to create a Glowmapping tutorial... you don&#039;t acctually need one for the model to show up.&lt;br /&gt;
&lt;br /&gt;
Save these images both in the working directory.&lt;br /&gt;
&lt;br /&gt;
Save a copy of these images in tga format into &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/unittextures&lt;br /&gt;
&lt;br /&gt;
==Step 5:Upspring==&lt;br /&gt;
&lt;br /&gt;
===Importing Your 3ds===&lt;br /&gt;
Open Upspring 1.3, go to file&amp;gt;load model and navigate to and open your 3DS model you exported, you should see the model in upspring as a 3d mesh.  Go to the model tab and set the radius and height values to something other then zero... this defines where the health bar will show up, and more importantly, how big the collision sphere will be.&lt;br /&gt;
&lt;br /&gt;
You will also need to use all of the other tools on those tabs to resize and rotate and move your model to the right place... wings makes models that are 90 degrees off and about 30 times to small of the size of most spring models... make sure you click the &amp;quot;apply transform&amp;quot; button after any changes you actually want to show up in game.&lt;br /&gt;
&lt;br /&gt;
Also, you will want to make the hierachy work using the cut, paste, and add empty buttons.  You will need an object called &amp;quot;base&amp;quot; that all the other objects are connected to... the &amp;quot;origin object&amp;quot;... sometimes you get lucky and wings exports it properly... usually not.&lt;br /&gt;
&lt;br /&gt;
===Importing Your UV and Glowmaps===&lt;br /&gt;
&lt;br /&gt;
Go to the textures tab and make your UV/texture/team-colour map as &amp;quot;texture1&amp;quot; and your UV/glow/reflectivity map as &amp;quot;texture2&amp;quot;... it should show up correctly in the preview pane.&lt;br /&gt;
&lt;br /&gt;
===Exporting Your s3o===&lt;br /&gt;
Choose File&amp;gt;Save Model As then in the drop down select &amp;quot;s3o&amp;quot; and type an appropriate name. This model should be saved to your working directory, and a copy of it made to &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/3dobjects/&lt;br /&gt;
&lt;br /&gt;
==Step 6:A couple Text Files==&lt;br /&gt;
&lt;br /&gt;
===UnitName.fbi===&lt;br /&gt;
For Reference visit [[Units:FBI]], but again, the easiest way to do this is to extract an existing mod and find the fbi for a unit that behaves similarly to the one you are trying to make and rename and modify it.&lt;br /&gt;
&lt;br /&gt;
Some More Specific Information Not Clear in the &amp;quot;Units:FBI&amp;quot; article:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name+&amp;quot; &amp;quot;+Description=Spring Display Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So is you have the following settings:&lt;br /&gt;
&lt;br /&gt;
 Name=Tiger;&lt;br /&gt;
 Description=Fast Attack C.A.T.;&lt;br /&gt;
&lt;br /&gt;
The Tooltip will show &amp;quot;Tiger Fast Attack C.A.T.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;BuildPic Defaults to UnitName.bmp&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So if you leave out &amp;quot;BuildPic=filename.bmp;&amp;quot; Spring will look in /unitpics/ for a file called &amp;quot;UnitName.bmp&amp;quot; to use as your buildpic.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ObjectName&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you want to use an s3o object, you will need to specify with &amp;quot;ObjectName=UnitName&#039;&#039;&#039;.S3O;&#039;&#039;&#039;&amp;quot; otherwise it will look for &amp;quot;UnitName.3do&amp;quot;.  Also, you don&#039;t have to use &amp;quot;UnitName&amp;quot; as the filename and, in fact, multiple Unit&#039;s fbi files can reference the same 3D models. It is easier, however, for people to figure out what you are doing in your mod if you follow the standards.&lt;br /&gt;
&lt;br /&gt;
Save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/units/&lt;br /&gt;
&lt;br /&gt;
===modinfo.tdf===&lt;br /&gt;
&lt;br /&gt;
modinfo.tdf is a text file that defines a number of things that are used when loading a mod, most of the information is self explanitory but basically what you are doing is defining what is going to show up in whatever mod-selection interface you use as well as what other files need to be loaded into memory in order for your mod to work.&lt;br /&gt;
&lt;br /&gt;
====Making a New Mod with your unit/units====&lt;br /&gt;
The following is an example of what will be in your modinfo.tdf file if you are starting from scratch and making your own mod. This is also good when you are just testing one unit to see if it works.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [MOD] {&lt;br /&gt;
 &lt;br /&gt;
  // The name is shown in the selection interface&lt;br /&gt;
  Name=My Mod; &lt;br /&gt;
 &lt;br /&gt;
  // These can be shown by the selection interface &lt;br /&gt;
  Description=My Mod That I Made; &lt;br /&gt;
  URL=http://www.theplacepeoplecangetthelatestversionofyourmod.com; &lt;br /&gt;
 &lt;br /&gt;
  // What kind of mod this is &lt;br /&gt;
  //  0 - Hidden (support mod that can&#039;t be selected, such as OTA_textures) &lt;br /&gt;
  //  1 - Normal, only one can be selected at a time &lt;br /&gt;
  //  2 - Addon, any number of these can be selected. Could be used &lt;br /&gt;
  //      for single units for example. &lt;br /&gt;
  //  others - perhaps mutators and addon races that can be &lt;br /&gt;
  //           enabled in addition to xta for example? &lt;br /&gt;
  ModType=1; &lt;br /&gt;
&lt;br /&gt;
  // Number of other archives this one depends on    &lt;br /&gt;
  NumDependencies=4; &lt;br /&gt;
 	Depend0=taenheter.sdz;&lt;br /&gt;
 	Depend1=springcontent.sdz;&lt;br /&gt;
 	Depend2=otacontent.sdz;&lt;br /&gt;
 	Depend3=tatextures.sdz;&lt;br /&gt;
         &lt;br /&gt;
 &lt;br /&gt;
  // Number of other archives this one replaces&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
====Adding Your Unit to an Existing Mod====&lt;br /&gt;
The following is an example of what will be in your modinfo.tdf file if you are adding new units to an existing mod (in this case xta_se_v066.sdz), this is good for adding units to the build tree of an existing mod or adding a whole new team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 // Description of the mod control file recognized by spring:&lt;br /&gt;
 &lt;br /&gt;
 [MOD] {&lt;br /&gt;
 &lt;br /&gt;
 // The name is shown in the selection interface&lt;br /&gt;
 Name=XTASEv0.66 with+My Units; &lt;br /&gt;
 &lt;br /&gt;
 // These can be shown by the selection interface&lt;br /&gt;
 //&lt;br /&gt;
 Description=xta_se_v066 with the cool tank I made; &lt;br /&gt;
 URL=http://www.fileuniverse.com/exactlocationblahblahblah; &lt;br /&gt;
 &lt;br /&gt;
 // What kind of mod this is &lt;br /&gt;
 //  0 - Hidden (support mod that can&#039;t be selected, such as OTA_textures) &lt;br /&gt;
 //  1 - Normal, only one can be selected at a time &lt;br /&gt;
 //  2 - Addon, any number of these can be selected. Could be used &lt;br /&gt;
 //      for single units for example. &lt;br /&gt;
 //  others - perhaps mutators and addon races that can be &lt;br /&gt;
 //           enabled in addition to xta for example? &lt;br /&gt;
 ModType=1; &lt;br /&gt;
 &lt;br /&gt;
 // Number of other archives this one depends on    &lt;br /&gt;
 NumDependencies=5; &lt;br /&gt;
 	Depend0=taenheter.sdz;&lt;br /&gt;
 	Depend1=springcontent.sdz;&lt;br /&gt;
 	Depend2=otacontent.sdz;&lt;br /&gt;
 	Depend3=tatextures.sdz;&lt;br /&gt;
 	Depend4=xta_se_v066.sdz;&lt;br /&gt;
         &lt;br /&gt;
 &lt;br /&gt;
 // Number of other archives this one replaces&lt;br /&gt;
 } &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are some extra bits in these examples, but I work on the &amp;quot;better safe than sorry&amp;quot; principle... which is to wait for someone who knows what they are doing to fix my articles.&lt;br /&gt;
&lt;br /&gt;
You will want to save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/&lt;br /&gt;
&lt;br /&gt;
===Armor.txt===&lt;br /&gt;
&lt;br /&gt;
I&#039;m not exactly sure how this works, but the file needs to exist, so either steal one from another mod and modify it... or just make a file that looks like this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 // [UNITNAME]- Good Against Lazer/Bad Against Nukes&lt;br /&gt;
 [UNITNAME]&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You will want to save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/&lt;br /&gt;
&lt;br /&gt;
===SIDEDATA.TDF===&lt;br /&gt;
&lt;br /&gt;
Start by stealing the sidedata.tdf file from your dependency mod if you have one, then edit it to include your units/side.&lt;br /&gt;
&lt;br /&gt;
Basically this file is in the form:&lt;br /&gt;
&lt;br /&gt;
 [SIDE0]&lt;br /&gt;
 	{&lt;br /&gt;
 	name=Good Guys;&lt;br /&gt;
 	nameprefix=GG;&lt;br /&gt;
 	commander=UnitName1;&lt;br /&gt;
 	}&lt;br /&gt;
 [CANBUILD]&lt;br /&gt;
 	{&lt;br /&gt;
 	[UnitName1]&lt;br /&gt;
 		{&lt;br /&gt;
 		canbuild1=UnitName2;&lt;br /&gt;
 		canbuild2=UnitName3;&lt;br /&gt;
 		canbuild3=UnitName4;&lt;br /&gt;
 		canbuild4=UnitName5;&lt;br /&gt;
 		canbuild5=UnitName6;&lt;br /&gt;
 		}&lt;br /&gt;
 	}    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
...with additional &amp;quot;[SIDEX]&amp;quot; entries for each side/team/commander-choice available in the mod-selector you choose, additional &amp;quot;[UnitName]&amp;quot; sections for each factory of construction unit, and additional &amp;quot;canbuildx=UnitName&amp;quot; entries to all factory/con-units that can build each unit.&lt;br /&gt;
&lt;br /&gt;
You will save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/gamedata/&lt;br /&gt;
&lt;br /&gt;
==Step 7:Adding a Build Pic==&lt;br /&gt;
&lt;br /&gt;
Add a 96x96 BMP to your &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/unitpics/ folder named either &amp;quot;UnitName.bmp&amp;quot; or whatever you specified in the &amp;quot;BuildPic=&amp;quot; line of your fbi.&lt;br /&gt;
&lt;br /&gt;
==Step 8:Adding a Side Pic==&lt;br /&gt;
&lt;br /&gt;
Add a 16x16 BMP to your &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/sidepics/ folder named &amp;quot;teamname.bmp&amp;quot; or whatever you specified in the &amp;quot;name=&amp;quot; line of your SIDEDATA.TDF for each side/team you have added.&lt;br /&gt;
&lt;br /&gt;
==Step 9:Scriptor==&lt;br /&gt;
&lt;br /&gt;
===Stealing a Script===&lt;br /&gt;
Open someone elses script in scriptor that works the way you want your script to work, look at the top where it&#039;s talking about &amp;quot;piece names&amp;quot;... then change those piece names to be the piece names of your unit and do a find/replace to make all the places where those pieces show up to be your pieces too.  Compile it so it&#039;s name is the same as the &amp;quot;UnitName=&amp;quot; value in your &amp;quot;UnitName.fbi&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
XXreminder to someone to link to a proper scripting tutorial&lt;br /&gt;
&lt;br /&gt;
put the bos and cob files for your unit script in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
==Step 10:Compiling Your Mod==&lt;br /&gt;
&lt;br /&gt;
You may want to check your mod directory and make sure it follows the structure defined [[Mod_Development:Archives|here]].&lt;br /&gt;
&lt;br /&gt;
navigate to your &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt; and select everything and choose &amp;quot;add to archive &amp;lt;mod name&amp;gt;.7z&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
make a copy of this file called &amp;lt;mod name&amp;gt;v0.7z in your working directory so you don&#039;t screw anything up later, then make a copy of it called &amp;lt;mod name&amp;gt;.sd7 in the mods directory of spring.&lt;br /&gt;
&lt;br /&gt;
==Step 11:Testing Your Mod==&lt;br /&gt;
Open Up SpringSP, pick your mod from the drop-down at the top (if it doesn&#039;t show up you screwed up your modinfo.txt), choose your tiny map from the map list and press start.  If it doesn&#039;t break and your unit shows up, you have created all the neccessary files... yay!&lt;br /&gt;
&lt;br /&gt;
Gotchas:&lt;br /&gt;
*If it doesnt work, check you didnt zip the folder itself, but the contents, ie if you open mymod.sd7 with 7zip, you should see folders such as &amp;quot;unittextures&amp;quot; rather than a folder &amp;quot;mymod&amp;quot; containing unittextures.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mod development]]&lt;/div&gt;</summary>
		<author><name>Ansuz</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Simple_Game_Tutorial&amp;diff=16842</id>
		<title>Simple Game Tutorial</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Simple_Game_Tutorial&amp;diff=16842"/>
		<updated>2007-02-27T23:07:50Z</updated>

		<summary type="html">&lt;p&gt;Ansuz: /* modinfo.tdf */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Until I Finish [[Mod Development]] is the place to go.&lt;br /&gt;
&lt;br /&gt;
This Tutorial Aims to get a person from knowing nothing about Spring to the point where they can create and edit mods.&lt;br /&gt;
&lt;br /&gt;
Right now I am working from memory so you may want to correct me when I&#039;m wrong, I will try to cross link from my summaries to the appropriate articles available in other places.&lt;br /&gt;
&lt;br /&gt;
I will not go too deep into making 3do&#039;s because they are old and dumb... but I&#039;ll try to make note of the differences here.&lt;br /&gt;
&lt;br /&gt;
I don&#039;t know anything about scripting right now, so that section is likely to be sparse when I write it, I hope that someone will expand on it.&lt;br /&gt;
&lt;br /&gt;
=Book 1: The First Unit=&lt;br /&gt;
&lt;br /&gt;
==Step 1:Planning==&lt;br /&gt;
Who cares about planning, you know what you&#039;re doing... just come up with an idea for a mod... I made a chess set... if you don&#039;t have a real idea and just want to make a model show up in the game... then yeah... this is the place to start... I&#039;d do that if I were you.&lt;br /&gt;
&lt;br /&gt;
Another good thing to do at this point is to creat a &amp;quot;working directory&amp;quot;, and inside it create a directory with the name that your mod will have... after many headaches I decided it&#039;s best to put this in the root directory of your system so it&#039;s really easy to find when you are switching around back and forth between folders and keep having to find your files over and over again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Step 2:Getting Da Tools==&lt;br /&gt;
You will need a bunch of stuff... here&#039;s the list (I assume you are using windows)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Want:&#039;&#039;&lt;br /&gt;
*[http://taspring.clan-sy.com/download.php Spring] - The main program, you will likely need this to test if you&#039;ve screwed up&lt;br /&gt;
*A Tiny Map (2x2) - to test your mod fast (suggest [http://www.fileuniverse.com/?p=showitem&amp;amp;ID=2534 Simple Chess Map])&lt;br /&gt;
*[http://www.darkstars.co.uk/index.php?name=Forums&amp;amp;file=viewtopic&amp;amp;p=17 SpringSP] - To load up your mod and your map in spring without confising lobby folks&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Need:&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Program listings can be found here:&#039;&#039;&#039; &#039;&#039;&#039;[http://taspring.clan-sy.com/wiki/Map%2C_Mod%2C_And_Unit_Development_Programs Map, Mod, And Unit Development Programs]&#039;&#039;&#039;&lt;br /&gt;
*3D Modeling Program - &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Notepad - to edit all the miriad of text files&lt;br /&gt;
*A Graphical Editing Program - needs to handle RGBA TGAs (aka tga&#039;s with alpha channels), I suggest Photoshop if you have it, or the Gimp... needed for all of the texture making for UVmapping stuff... &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Upspring 1.3 - To convert your models to the approprite s3o format (if you want to fight with 3do builder, then go ahead... a good trick is to get your model into upspring first and adjust all the hierachy, then save it as an 3do... but why bother?). &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Scriptor - to make and compile your units &amp;quot;animation script&amp;quot;... or steal someone elses and make it work for your unit. &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Compression Utility - (I suggest [http://www.7-zip.org/ 7zip] - even if you are using zip compression and not 7zip, it&#039;s still good to have)&lt;br /&gt;
&lt;br /&gt;
==Step 3:Making a 3D Model==&lt;br /&gt;
&lt;br /&gt;
Go into your 3D modelling program and make a 3D model, [http://taspring.clan-sy.com/w/images/b/b4/WingsCombine.PNG combine] all the objects and UV map the model, then separate it out into any parts that need to move independently of eachother.  Then Export the UV map as an Image File and Export the whole thing as a 3DS file.  Put the original wings file, the UVMap image and the 3ds file into your working directory so you can find them later.&lt;br /&gt;
&lt;br /&gt;
Wings 3D UV Mapping tutorial has been started here - [[Units:CreateModel]]&lt;br /&gt;
&lt;br /&gt;
==Step 4:Fixing Your Images==&lt;br /&gt;
&lt;br /&gt;
[[Basic s3o unit making guide|This Article includes a UVMapping Guide]]&lt;br /&gt;
&lt;br /&gt;
Open up your UVMap in Photoshop (or whatever) go to the layer/chooser thingy and go to the Channels Tab, add a new layer (it should default to alpha) and fill it with 99% black so you can see your texture in upspring.  If you want to can paint the UVmap and put white (1% black) on the alpha channel where you want your team colours to show up (you can use something between 1% and 99% to get a blend of your team colour along with the texture... for example 50% will give you your texture with 50% of the team colour mixed in...)&lt;br /&gt;
&lt;br /&gt;
I don&#039;t know how to do glow maps... XXreminder for someone to create a Glowmapping tutorial... you don&#039;t acctually need one for the model to show up.&lt;br /&gt;
&lt;br /&gt;
Save these images both in the working directory.&lt;br /&gt;
&lt;br /&gt;
Save a copy of these images in tga format into &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/unittextures&lt;br /&gt;
&lt;br /&gt;
==Step 5:Upspring==&lt;br /&gt;
&lt;br /&gt;
===Importing Your 3ds===&lt;br /&gt;
Open Upspring 1.3, go to file&amp;gt;load model and navigate to and open your 3DS model you exported, you should see the model in upspring as a 3d mesh.  Go to the model tab and set the radius and height values to something other then zero... this defines where the health bar will show up, and more importantly, how big the collision sphere will be.&lt;br /&gt;
&lt;br /&gt;
You will also need to use all of the other tools on those tabs to resize and rotate and move your model to the right place... wings makes models that are 90 degrees off and about 30 times to small of the size of most spring models... make sure you click the &amp;quot;apply transform&amp;quot; button after any changes you actually want to show up in game.&lt;br /&gt;
&lt;br /&gt;
Also, you will want to make the hierachy work using the cut, paste, and add empty buttons.  You will need an object called &amp;quot;base&amp;quot; that all the other objects are connected to... the &amp;quot;origin object&amp;quot;... sometimes you get lucky and wings exports it properly... usually not.&lt;br /&gt;
&lt;br /&gt;
===Importing Your UV and Glowmaps===&lt;br /&gt;
&lt;br /&gt;
Go to the textures tab and make your UV/texture/team-colour map as &amp;quot;texture1&amp;quot; and your UV/glow/reflectivity map as &amp;quot;texture2&amp;quot;... it should show up correctly in the preview pane.&lt;br /&gt;
&lt;br /&gt;
===Exporting Your s3o===&lt;br /&gt;
Choose File&amp;gt;Save Model As then in the drop down select &amp;quot;s3o&amp;quot; and type an appropriate name. this model should be saved to your working directory, and a copy of it made to &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/3dobjects/&lt;br /&gt;
&lt;br /&gt;
==Step 6:A couple Text Files==&lt;br /&gt;
&lt;br /&gt;
===UnitName.fbi===&lt;br /&gt;
For Reference visit [[Units:FBI]], but again, the easiest way to do this is to extract an existing mod and find the fbi for a unit that behaves similarly to the one you are trying to make and rename and modify it.&lt;br /&gt;
&lt;br /&gt;
Some More Specific Information Not Clear in the &amp;quot;Units:FBI&amp;quot; article:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name+&amp;quot; &amp;quot;+Description=Spring Display Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So is you have the following settings:&lt;br /&gt;
&lt;br /&gt;
 Name=Tiger;&lt;br /&gt;
 Description=Fast Attack C.A.T.;&lt;br /&gt;
&lt;br /&gt;
The Tooltip will show &amp;quot;Tiger Fast Attack C.A.T.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;BuildPic Defaults to UnitName.bmp&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So if you leave out &amp;quot;BuildPic=filename.bmp;&amp;quot; Spring will look in /unitpics/ for a file called &amp;quot;UnitName.bmp&amp;quot; to use as your buildpic.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ObjectName&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you want to use an s3o object, you will need to specify with &amp;quot;ObjectName=UnitName&#039;&#039;&#039;.S3O;&#039;&#039;&#039;&amp;quot; otherwise it will look for &amp;quot;UnitName.3do&amp;quot;.  Also, you don&#039;t have to use &amp;quot;UnitName&amp;quot; as the filename and, in fact, multiple Unit&#039;s fbi files can reference the same 3D models. It is easier, however, for people to figure out what you are doing in your mod if you follow the standards.&lt;br /&gt;
&lt;br /&gt;
Save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/units/&lt;br /&gt;
&lt;br /&gt;
===modinfo.tdf===&lt;br /&gt;
&lt;br /&gt;
modinfo.tdf is a text file that defines a number of things that are used when loading a mod, most of the information is self explanitory but basically what you are doing is defining what is going to show up in whatever mod-selection interface you use as well as what other files need to be loaded into memory in order for your mod to work.&lt;br /&gt;
&lt;br /&gt;
====Making a New Mod with your unit/units====&lt;br /&gt;
The following is an example of what will be in your modinfo.tdf file if you are starting from scratch and making your own mod. This is also good when you are just testing one unit to see if it works.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [MOD] {&lt;br /&gt;
 &lt;br /&gt;
  // The name is shown in the selection interface&lt;br /&gt;
  Name=My Mod; &lt;br /&gt;
 &lt;br /&gt;
  // These can be shown by the selection interface &lt;br /&gt;
  Description=My Mod That I Made; &lt;br /&gt;
  URL=http://www.theplacepeoplecangetthelatestversionofyourmod.com; &lt;br /&gt;
 &lt;br /&gt;
  // What kind of mod this is &lt;br /&gt;
  //  0 - Hidden (support mod that can&#039;t be selected, such as OTA_textures) &lt;br /&gt;
  //  1 - Normal, only one can be selected at a time &lt;br /&gt;
  //  2 - Addon, any number of these can be selected. Could be used &lt;br /&gt;
  //      for single units for example. &lt;br /&gt;
  //  others - perhaps mutators and addon races that can be &lt;br /&gt;
  //           enabled in addition to xta for example? &lt;br /&gt;
  ModType=1; &lt;br /&gt;
&lt;br /&gt;
  // Number of other archives this one depends on    &lt;br /&gt;
  NumDependencies=4; &lt;br /&gt;
 	Depend0=taenheter.sdz;&lt;br /&gt;
 	Depend1=springcontent.sdz;&lt;br /&gt;
 	Depend2=otacontent.sdz;&lt;br /&gt;
 	Depend3=tatextures.sdz;&lt;br /&gt;
         &lt;br /&gt;
 &lt;br /&gt;
  // Number of other archives this one replaces&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
====Adding Your Unit to an Existing Mod====&lt;br /&gt;
The following is an example of what will be in your modinfo.tdf file if you are adding new units to an existing mod (in this case xta_se_v066.sdz), this is good for adding units to the build tree of an existing mod or adding a whole new team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 // Description of the mod control file recognized by spring:&lt;br /&gt;
 &lt;br /&gt;
 [MOD] {&lt;br /&gt;
 &lt;br /&gt;
 // The name is shown in the selection interface&lt;br /&gt;
 Name=XTASEv0.66 with+My Units; &lt;br /&gt;
 &lt;br /&gt;
 // These can be shown by the selection interface&lt;br /&gt;
 //&lt;br /&gt;
 Description=xta_se_v066 with the cool tank I made; &lt;br /&gt;
 URL=http://www.fileuniverse.com/exactlocationblahblahblah; &lt;br /&gt;
 &lt;br /&gt;
 // What kind of mod this is &lt;br /&gt;
 //  0 - Hidden (support mod that can&#039;t be selected, such as OTA_textures) &lt;br /&gt;
 //  1 - Normal, only one can be selected at a time &lt;br /&gt;
 //  2 - Addon, any number of these can be selected. Could be used &lt;br /&gt;
 //      for single units for example. &lt;br /&gt;
 //  others - perhaps mutators and addon races that can be &lt;br /&gt;
 //           enabled in addition to xta for example? &lt;br /&gt;
 ModType=1; &lt;br /&gt;
 &lt;br /&gt;
 // Number of other archives this one depends on    &lt;br /&gt;
 NumDependencies=5; &lt;br /&gt;
 	Depend0=taenheter.sdz;&lt;br /&gt;
 	Depend1=springcontent.sdz;&lt;br /&gt;
 	Depend2=otacontent.sdz;&lt;br /&gt;
 	Depend3=tatextures.sdz;&lt;br /&gt;
 	Depend4=xta_se_v066.sdz;&lt;br /&gt;
         &lt;br /&gt;
 &lt;br /&gt;
 // Number of other archives this one replaces&lt;br /&gt;
 } &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are some extra bits in these examples, but I work on the &amp;quot;better safe than sorry&amp;quot; principle... which is to wait for someone who knows what they are doing to fix my articles.&lt;br /&gt;
&lt;br /&gt;
You will want to save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/&lt;br /&gt;
&lt;br /&gt;
===Armor.txt===&lt;br /&gt;
&lt;br /&gt;
I&#039;m not exactly sure how this works, but the file needs to exist, so either steal one from another mod and modify it... or just make a file that looks like this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 // [UNITNAME]- Good Against Lazer/Bad Against Nukes&lt;br /&gt;
 [UNITNAME]&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You will want to save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/&lt;br /&gt;
&lt;br /&gt;
===SIDEDATA.TDF===&lt;br /&gt;
&lt;br /&gt;
Start by stealing the sidedata.tdf file from your dependency mod if you have one, then edit it to include your units/side.&lt;br /&gt;
&lt;br /&gt;
Basically this file is in the form:&lt;br /&gt;
&lt;br /&gt;
 [SIDE0]&lt;br /&gt;
 	{&lt;br /&gt;
 	name=Good Guys;&lt;br /&gt;
 	nameprefix=GG;&lt;br /&gt;
 	commander=UnitName1;&lt;br /&gt;
 	}&lt;br /&gt;
 [CANBUILD]&lt;br /&gt;
 	{&lt;br /&gt;
 	[UnitName1]&lt;br /&gt;
 		{&lt;br /&gt;
 		canbuild1=UnitName2;&lt;br /&gt;
 		canbuild2=UnitName3;&lt;br /&gt;
 		canbuild3=UnitName4;&lt;br /&gt;
 		canbuild4=UnitName5;&lt;br /&gt;
 		canbuild5=UnitName6;&lt;br /&gt;
 		}&lt;br /&gt;
 	}    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
...with additional &amp;quot;[SIDEX]&amp;quot; entries for each side/team/commander-choice available in the mod-selector you choose, additional &amp;quot;[UnitName]&amp;quot; sections for each factory of construction unit, and additional &amp;quot;canbuildx=UnitName&amp;quot; entries to all factory/con-units that can build each unit.&lt;br /&gt;
&lt;br /&gt;
You will save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/gamedata/&lt;br /&gt;
&lt;br /&gt;
==Step 7:Adding a Build Pic==&lt;br /&gt;
&lt;br /&gt;
Add a 96x96 BMP to your &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/unitpics/ folder named either &amp;quot;UnitName.bmp&amp;quot; or whatever you specified in the &amp;quot;BuildPic=&amp;quot; line of your fbi.&lt;br /&gt;
&lt;br /&gt;
==Step 8:Adding a Side Pic==&lt;br /&gt;
&lt;br /&gt;
Add a 16x16 BMP to your &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/sidepics/ folder named &amp;quot;teamname.bmp&amp;quot; or whatever you specified in the &amp;quot;name=&amp;quot; line of your SIDEDATA.TDF for each side/team you have added.&lt;br /&gt;
&lt;br /&gt;
==Step 9:Scriptor==&lt;br /&gt;
&lt;br /&gt;
===Stealing a Script===&lt;br /&gt;
Open someone elses script in scriptor that works the way you want your script to work, look at the top where it&#039;s talking about &amp;quot;piece names&amp;quot;... then change those piece names to be the piece names of your unit and do a find/replace to make all the places where those pieces show up to be your pieces too.  Compile it so it&#039;s name is the same as the &amp;quot;UnitName=&amp;quot; value in your &amp;quot;UnitName.fbi&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
XXreminder to someone to link to a proper scripting tutorial&lt;br /&gt;
&lt;br /&gt;
put the bos and cob files for your unit script in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
==Step 10:Compiling Your Mod==&lt;br /&gt;
&lt;br /&gt;
You may want to check your mod directory and make sure it follows the structure defined [[Mod_Development:Archives|here]].&lt;br /&gt;
&lt;br /&gt;
navigate to your &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt; and select everything and choose &amp;quot;add to archive &amp;lt;mod name&amp;gt;.7z&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
make a copy of this file called &amp;lt;mod name&amp;gt;v0.7z in your working directory so you don&#039;t screw anything up later, then make a copy of it called &amp;lt;mod name&amp;gt;.sd7 in the mods directory of spring.&lt;br /&gt;
&lt;br /&gt;
==Step 11:Testing Your Mod==&lt;br /&gt;
Open Up SpringSP, pick your mod from the drop-down at the top (if it doesn&#039;t show up you screwed up your modinfo.txt), choose your tiny map from the map list and press start.  If it doesn&#039;t break and your unit shows up, you have created all the neccessary files... yay!&lt;br /&gt;
&lt;br /&gt;
Gotchas:&lt;br /&gt;
*If it doesnt work, check you didnt zip the folder itself, but the contents, ie if you open mymod.sd7 with 7zip, you should see folders such as &amp;quot;unittextures&amp;quot; rather than a folder &amp;quot;mymod&amp;quot; containing unittextures.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mod development]]&lt;/div&gt;</summary>
		<author><name>Ansuz</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Simple_Game_Tutorial&amp;diff=16841</id>
		<title>Simple Game Tutorial</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Simple_Game_Tutorial&amp;diff=16841"/>
		<updated>2007-02-27T23:01:40Z</updated>

		<summary type="html">&lt;p&gt;Ansuz: /* Importing Your 3ds */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Until I Finish [[Mod Development]] is the place to go.&lt;br /&gt;
&lt;br /&gt;
This Tutorial Aims to get a person from knowing nothing about Spring to the point where they can create and edit mods.&lt;br /&gt;
&lt;br /&gt;
Right now I am working from memory so you may want to correct me when I&#039;m wrong, I will try to cross link from my summaries to the appropriate articles available in other places.&lt;br /&gt;
&lt;br /&gt;
I will not go too deep into making 3do&#039;s because they are old and dumb... but I&#039;ll try to make note of the differences here.&lt;br /&gt;
&lt;br /&gt;
I don&#039;t know anything about scripting right now, so that section is likely to be sparse when I write it, I hope that someone will expand on it.&lt;br /&gt;
&lt;br /&gt;
=Book 1: The First Unit=&lt;br /&gt;
&lt;br /&gt;
==Step 1:Planning==&lt;br /&gt;
Who cares about planning, you know what you&#039;re doing... just come up with an idea for a mod... I made a chess set... if you don&#039;t have a real idea and just want to make a model show up in the game... then yeah... this is the place to start... I&#039;d do that if I were you.&lt;br /&gt;
&lt;br /&gt;
Another good thing to do at this point is to creat a &amp;quot;working directory&amp;quot;, and inside it create a directory with the name that your mod will have... after many headaches I decided it&#039;s best to put this in the root directory of your system so it&#039;s really easy to find when you are switching around back and forth between folders and keep having to find your files over and over again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Step 2:Getting Da Tools==&lt;br /&gt;
You will need a bunch of stuff... here&#039;s the list (I assume you are using windows)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Want:&#039;&#039;&lt;br /&gt;
*[http://taspring.clan-sy.com/download.php Spring] - The main program, you will likely need this to test if you&#039;ve screwed up&lt;br /&gt;
*A Tiny Map (2x2) - to test your mod fast (suggest [http://www.fileuniverse.com/?p=showitem&amp;amp;ID=2534 Simple Chess Map])&lt;br /&gt;
*[http://www.darkstars.co.uk/index.php?name=Forums&amp;amp;file=viewtopic&amp;amp;p=17 SpringSP] - To load up your mod and your map in spring without confising lobby folks&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Need:&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Program listings can be found here:&#039;&#039;&#039; &#039;&#039;&#039;[http://taspring.clan-sy.com/wiki/Map%2C_Mod%2C_And_Unit_Development_Programs Map, Mod, And Unit Development Programs]&#039;&#039;&#039;&lt;br /&gt;
*3D Modeling Program - &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Notepad - to edit all the miriad of text files&lt;br /&gt;
*A Graphical Editing Program - needs to handle RGBA TGAs (aka tga&#039;s with alpha channels), I suggest Photoshop if you have it, or the Gimp... needed for all of the texture making for UVmapping stuff... &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Upspring 1.3 - To convert your models to the approprite s3o format (if you want to fight with 3do builder, then go ahead... a good trick is to get your model into upspring first and adjust all the hierachy, then save it as an 3do... but why bother?). &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Scriptor - to make and compile your units &amp;quot;animation script&amp;quot;... or steal someone elses and make it work for your unit. &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Compression Utility - (I suggest [http://www.7-zip.org/ 7zip] - even if you are using zip compression and not 7zip, it&#039;s still good to have)&lt;br /&gt;
&lt;br /&gt;
==Step 3:Making a 3D Model==&lt;br /&gt;
&lt;br /&gt;
Go into your 3D modelling program and make a 3D model, [http://taspring.clan-sy.com/w/images/b/b4/WingsCombine.PNG combine] all the objects and UV map the model, then separate it out into any parts that need to move independently of eachother.  Then Export the UV map as an Image File and Export the whole thing as a 3DS file.  Put the original wings file, the UVMap image and the 3ds file into your working directory so you can find them later.&lt;br /&gt;
&lt;br /&gt;
Wings 3D UV Mapping tutorial has been started here - [[Units:CreateModel]]&lt;br /&gt;
&lt;br /&gt;
==Step 4:Fixing Your Images==&lt;br /&gt;
&lt;br /&gt;
[[Basic s3o unit making guide|This Article includes a UVMapping Guide]]&lt;br /&gt;
&lt;br /&gt;
Open up your UVMap in Photoshop (or whatever) go to the layer/chooser thingy and go to the Channels Tab, add a new layer (it should default to alpha) and fill it with 99% black so you can see your texture in upspring.  If you want to can paint the UVmap and put white (1% black) on the alpha channel where you want your team colours to show up (you can use something between 1% and 99% to get a blend of your team colour along with the texture... for example 50% will give you your texture with 50% of the team colour mixed in...)&lt;br /&gt;
&lt;br /&gt;
I don&#039;t know how to do glow maps... XXreminder for someone to create a Glowmapping tutorial... you don&#039;t acctually need one for the model to show up.&lt;br /&gt;
&lt;br /&gt;
Save these images both in the working directory.&lt;br /&gt;
&lt;br /&gt;
Save a copy of these images in tga format into &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/unittextures&lt;br /&gt;
&lt;br /&gt;
==Step 5:Upspring==&lt;br /&gt;
&lt;br /&gt;
===Importing Your 3ds===&lt;br /&gt;
Open Upspring 1.3, go to file&amp;gt;load model and navigate to and open your 3DS model you exported, you should see the model in upspring as a 3d mesh.  Go to the model tab and set the radius and height values to something other then zero... this defines where the health bar will show up, and more importantly, how big the collision sphere will be.&lt;br /&gt;
&lt;br /&gt;
You will also need to use all of the other tools on those tabs to resize and rotate and move your model to the right place... wings makes models that are 90 degrees off and about 30 times to small of the size of most spring models... make sure you click the &amp;quot;apply transform&amp;quot; button after any changes you actually want to show up in game.&lt;br /&gt;
&lt;br /&gt;
Also, you will want to make the hierachy work using the cut, paste, and add empty buttons.  You will need an object called &amp;quot;base&amp;quot; that all the other objects are connected to... the &amp;quot;origin object&amp;quot;... sometimes you get lucky and wings exports it properly... usually not.&lt;br /&gt;
&lt;br /&gt;
===Importing Your UV and Glowmaps===&lt;br /&gt;
&lt;br /&gt;
Go to the textures tab and make your UV/texture/team-colour map as &amp;quot;texture1&amp;quot; and your UV/glow/reflectivity map as &amp;quot;texture2&amp;quot;... it should show up correctly in the preview pane.&lt;br /&gt;
&lt;br /&gt;
===Exporting Your s3o===&lt;br /&gt;
Choose File&amp;gt;Save Model As then in the drop down select &amp;quot;s3o&amp;quot; and type an appropriate name. this model should be saved to your working directory, and a copy of it made to &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/3dobjects/&lt;br /&gt;
&lt;br /&gt;
==Step 6:A couple Text Files==&lt;br /&gt;
&lt;br /&gt;
===UnitName.fbi===&lt;br /&gt;
For Reference visit [[Units:FBI]], but again, the easiest way to do this is to extract an existing mod and find the fbi for a unit that behaves similarly to the one you are trying to make and rename and modify it.&lt;br /&gt;
&lt;br /&gt;
Some More Specific Information Not Clear in the &amp;quot;Units:FBI&amp;quot; article:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name+&amp;quot; &amp;quot;+Description=Spring Display Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So is you have the following settings:&lt;br /&gt;
&lt;br /&gt;
 Name=Tiger;&lt;br /&gt;
 Description=Fast Attack C.A.T.;&lt;br /&gt;
&lt;br /&gt;
The Tooltip will show &amp;quot;Tiger Fast Attack C.A.T.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;BuildPic Defaults to UnitName.bmp&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So if you leave out &amp;quot;BuildPic=filename.bmp;&amp;quot; Spring will look in /unitpics/ for a file called &amp;quot;UnitName.bmp&amp;quot; to use as your buildpic.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ObjectName&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you want to use an s3o object, you will need to specify with &amp;quot;ObjectName=UnitName&#039;&#039;&#039;.S3O;&#039;&#039;&#039;&amp;quot; otherwise it will look for &amp;quot;UnitName.3do&amp;quot;.  Also, you don&#039;t have to use &amp;quot;UnitName&amp;quot; as the filename and, in fact, multiple Unit&#039;s fbi files can reference the same 3D models. It is easier, however, for people to figure out what you are doing in your mod if you follow the standards.&lt;br /&gt;
&lt;br /&gt;
Save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/units/&lt;br /&gt;
&lt;br /&gt;
===modinfo.tdf===&lt;br /&gt;
&lt;br /&gt;
modinfo.tdf is a text file that defines a number of things that are used when loading a mod, most of the information is self explanitory but basically what you are doing is defining what is going to show up in whatever mod-selection interface you use aswell as what other files need to be loaded into memory in order for your mod to work.&lt;br /&gt;
&lt;br /&gt;
====Making a New Mod with your unit/units====&lt;br /&gt;
The following is an example of what will be in your modinfo.tdf file if you are starting from scratch and making your own mod, this is also good when you are just testing one unit to see if it works.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [MOD] {&lt;br /&gt;
 &lt;br /&gt;
  // The name is shown in the selection interface&lt;br /&gt;
  Name=My Mod; &lt;br /&gt;
 &lt;br /&gt;
  // These can be shown by the selection interface &lt;br /&gt;
  Description=My Mod That I Made; &lt;br /&gt;
  URL=http://www.theplacepeoplecangetthelatestversionofyourmod.com; &lt;br /&gt;
 &lt;br /&gt;
  // What kind of mod this is &lt;br /&gt;
  //  0 - Hidden (support mod that can&#039;t be selected, such as OTA_textures) &lt;br /&gt;
  //  1 - Normal, only one can be selected at a time &lt;br /&gt;
  //  2 - Addon, any number of these can be selected. Could be used &lt;br /&gt;
  //      for single units for example. &lt;br /&gt;
  //  others - perhaps mutators and addon races that can be &lt;br /&gt;
  //           enabled in addition to xta for example? &lt;br /&gt;
  ModType=1; &lt;br /&gt;
&lt;br /&gt;
  // Number of other archives this one depends on    &lt;br /&gt;
  NumDependencies=4; &lt;br /&gt;
 	Depend0=taenheter.sdz;&lt;br /&gt;
 	Depend1=springcontent.sdz;&lt;br /&gt;
 	Depend2=otacontent.sdz;&lt;br /&gt;
 	Depend3=tatextures.sdz;&lt;br /&gt;
         &lt;br /&gt;
 &lt;br /&gt;
  // Number of other archives this one replaces&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
====Adding Your Unit to an Existing Mod====&lt;br /&gt;
The following is an example of what will be in your modinfo.tdf file if you are adding new units to an existing mod (in this case xta_se_v066.sdz), this is good for adding units to the build tree of an existing mod or adding a whole new team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 // Description of the mod control file recognized by spring:&lt;br /&gt;
 &lt;br /&gt;
 [MOD] {&lt;br /&gt;
 &lt;br /&gt;
 // The name is shown in the selection interface&lt;br /&gt;
 Name=XTASEv0.66 with+My Units; &lt;br /&gt;
 &lt;br /&gt;
 // These can be shown by the selection interface&lt;br /&gt;
 //&lt;br /&gt;
 Description=xta_se_v066 with the cool tank I made; &lt;br /&gt;
 URL=http://www.fileuniverse.com/exactlocationblahblahblah; &lt;br /&gt;
 &lt;br /&gt;
 // What kind of mod this is &lt;br /&gt;
 //  0 - Hidden (support mod that can&#039;t be selected, such as OTA_textures) &lt;br /&gt;
 //  1 - Normal, only one can be selected at a time &lt;br /&gt;
 //  2 - Addon, any number of these can be selected. Could be used &lt;br /&gt;
 //      for single units for example. &lt;br /&gt;
 //  others - perhaps mutators and addon races that can be &lt;br /&gt;
 //           enabled in addition to xta for example? &lt;br /&gt;
 ModType=1; &lt;br /&gt;
 &lt;br /&gt;
 // Number of other archives this one depends on    &lt;br /&gt;
 NumDependencies=5; &lt;br /&gt;
 	Depend0=taenheter.sdz;&lt;br /&gt;
 	Depend1=springcontent.sdz;&lt;br /&gt;
 	Depend2=otacontent.sdz;&lt;br /&gt;
 	Depend3=tatextures.sdz;&lt;br /&gt;
 	Depend4=xta_se_v066.sdz;&lt;br /&gt;
         &lt;br /&gt;
 &lt;br /&gt;
 // Number of other archives this one replaces&lt;br /&gt;
 } &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are some extra bits in these examples, but I work on the &amp;quot;better safe then sorry&amp;quot; principle... which is to wait for someone who knows what they are doing to fix my articles.&lt;br /&gt;
&lt;br /&gt;
You will want to save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/&lt;br /&gt;
&lt;br /&gt;
===Armor.txt===&lt;br /&gt;
&lt;br /&gt;
I&#039;m not exactly sure how this works, but the file needs to exist, so either steal one from another mod and modify it... or just make a file that looks like this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 // [UNITNAME]- Good Against Lazer/Bad Against Nukes&lt;br /&gt;
 [UNITNAME]&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You will want to save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/&lt;br /&gt;
&lt;br /&gt;
===SIDEDATA.TDF===&lt;br /&gt;
&lt;br /&gt;
Start by stealing the sidedata.tdf file from your dependency mod if you have one, then edit it to include your units/side.&lt;br /&gt;
&lt;br /&gt;
Basically this file is in the form:&lt;br /&gt;
&lt;br /&gt;
 [SIDE0]&lt;br /&gt;
 	{&lt;br /&gt;
 	name=Good Guys;&lt;br /&gt;
 	nameprefix=GG;&lt;br /&gt;
 	commander=UnitName1;&lt;br /&gt;
 	}&lt;br /&gt;
 [CANBUILD]&lt;br /&gt;
 	{&lt;br /&gt;
 	[UnitName1]&lt;br /&gt;
 		{&lt;br /&gt;
 		canbuild1=UnitName2;&lt;br /&gt;
 		canbuild2=UnitName3;&lt;br /&gt;
 		canbuild3=UnitName4;&lt;br /&gt;
 		canbuild4=UnitName5;&lt;br /&gt;
 		canbuild5=UnitName6;&lt;br /&gt;
 		}&lt;br /&gt;
 	}    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
...with additional &amp;quot;[SIDEX]&amp;quot; entries for each side/team/commander-choice available in the mod-selector you choose, additional &amp;quot;[UnitName]&amp;quot; sections for each factory of construction unit, and additional &amp;quot;canbuildx=UnitName&amp;quot; entries to all factory/con-units that can build each unit.&lt;br /&gt;
&lt;br /&gt;
You will save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/gamedata/&lt;br /&gt;
&lt;br /&gt;
==Step 7:Adding a Build Pic==&lt;br /&gt;
&lt;br /&gt;
Add a 96x96 BMP to your &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/unitpics/ folder named either &amp;quot;UnitName.bmp&amp;quot; or whatever you specified in the &amp;quot;BuildPic=&amp;quot; line of your fbi.&lt;br /&gt;
&lt;br /&gt;
==Step 8:Adding a Side Pic==&lt;br /&gt;
&lt;br /&gt;
Add a 16x16 BMP to your &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/sidepics/ folder named &amp;quot;teamname.bmp&amp;quot; or whatever you specified in the &amp;quot;name=&amp;quot; line of your SIDEDATA.TDF for each side/team you have added.&lt;br /&gt;
&lt;br /&gt;
==Step 9:Scriptor==&lt;br /&gt;
&lt;br /&gt;
===Stealing a Script===&lt;br /&gt;
Open someone elses script in scriptor that works the way you want your script to work, look at the top where it&#039;s talking about &amp;quot;piece names&amp;quot;... then change those piece names to be the piece names of your unit and do a find/replace to make all the places where those pieces show up to be your pieces too.  Compile it so it&#039;s name is the same as the &amp;quot;UnitName=&amp;quot; value in your &amp;quot;UnitName.fbi&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
XXreminder to someone to link to a proper scripting tutorial&lt;br /&gt;
&lt;br /&gt;
put the bos and cob files for your unit script in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
==Step 10:Compiling Your Mod==&lt;br /&gt;
&lt;br /&gt;
You may want to check your mod directory and make sure it follows the structure defined [[Mod_Development:Archives|here]].&lt;br /&gt;
&lt;br /&gt;
navigate to your &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt; and select everything and choose &amp;quot;add to archive &amp;lt;mod name&amp;gt;.7z&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
make a copy of this file called &amp;lt;mod name&amp;gt;v0.7z in your working directory so you don&#039;t screw anything up later, then make a copy of it called &amp;lt;mod name&amp;gt;.sd7 in the mods directory of spring.&lt;br /&gt;
&lt;br /&gt;
==Step 11:Testing Your Mod==&lt;br /&gt;
Open Up SpringSP, pick your mod from the drop-down at the top (if it doesn&#039;t show up you screwed up your modinfo.txt), choose your tiny map from the map list and press start.  If it doesn&#039;t break and your unit shows up, you have created all the neccessary files... yay!&lt;br /&gt;
&lt;br /&gt;
Gotchas:&lt;br /&gt;
*If it doesnt work, check you didnt zip the folder itself, but the contents, ie if you open mymod.sd7 with 7zip, you should see folders such as &amp;quot;unittextures&amp;quot; rather than a folder &amp;quot;mymod&amp;quot; containing unittextures.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mod development]]&lt;/div&gt;</summary>
		<author><name>Ansuz</name></author>
	</entry>
</feed>