<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.fightorder.net/wiki/index.php?action=history&amp;feed=atom&amp;title=EngineSource_for_GameDevs</id>
	<title>EngineSource for GameDevs - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.fightorder.net/wiki/index.php?action=history&amp;feed=atom&amp;title=EngineSource_for_GameDevs"/>
	<link rel="alternate" type="text/html" href="https://www.fightorder.net/wiki/index.php?title=EngineSource_for_GameDevs&amp;action=history"/>
	<updated>2026-04-21T07:32:01Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://www.fightorder.net/wiki/index.php?title=EngineSource_for_GameDevs&amp;diff=1242&amp;oldid=prev</id>
		<title>Qrow: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://www.fightorder.net/wiki/index.php?title=EngineSource_for_GameDevs&amp;diff=1242&amp;oldid=prev"/>
		<updated>2026-02-24T05:59:01Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 22:59, 23 February 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Qrow</name></author>
	</entry>
	<entry>
		<id>https://www.fightorder.net/wiki/index.php?title=EngineSource_for_GameDevs&amp;diff=1241&amp;oldid=prev</id>
		<title>intermisc/gamedev&gt;Knorke: /* Intro */ bit clearer</title>
		<link rel="alternate" type="text/html" href="https://www.fightorder.net/wiki/index.php?title=EngineSource_for_GameDevs&amp;diff=1241&amp;oldid=prev"/>
		<updated>2014-04-29T23:21:32Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Intro: &lt;/span&gt; bit clearer&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Intro==&lt;br /&gt;
During creation of a Spring game you will soon notice that not every detail is documented.&lt;br /&gt;
The most common things can be done without ever looking at the engine. But sometimes there are some specifique questions where one wants more details.&lt;br /&gt;
&lt;br /&gt;
Fortunately, the engine is open source and thus some things can be figured out by looking at it. Wait, isn&amp;#039;t that like, super cryptic? Yes, scroll past those parts. A few things are comprehensible.&lt;br /&gt;
&lt;br /&gt;
==Downloading source and opening the files==&lt;br /&gt;
Download this https://github.com/spring/spring/zipball/master and unpack the zip file.&lt;br /&gt;
&lt;br /&gt;
==Text==&lt;br /&gt;
For example the code to load UnitDefs can be found here:&lt;br /&gt;
https://github.com/spring/spring/blob/develop/rts/Sim/Units/UnitDef.cpp&lt;br /&gt;
&lt;br /&gt;
Scroll down to about line 270:&amp;lt;br&amp;gt;&lt;br /&gt;
Notice how there are lines like for example this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;metalStorage = udTable.GetFloat(&amp;quot;metalStorage&amp;quot;, 0.0f);&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The word in double quotes (&amp;quot;metalStorage&amp;quot;) is the UnitDef tag as it is read from the unit file.&lt;br /&gt;
&lt;br /&gt;
If a tag can not be found in this file in this form, it is very likely that it does nothing and you can remove it from the unit file.&lt;br /&gt;
&lt;br /&gt;
GetFloat means that this tag is a float number.&lt;br /&gt;
The number, in this case 0.0f, is the default value that is used, when the tag can not be found in the unit file.&lt;br /&gt;
&lt;br /&gt;
Since the engine expects a number (eg 100.0) it is understandable that metalStorage = &amp;quot;a lot&amp;quot;, or metalStorage=false will not work.&lt;br /&gt;
&lt;br /&gt;
Beside &amp;#039;&amp;#039;&amp;#039;GetFloat&amp;#039;&amp;#039;&amp;#039; there are:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GetBool&amp;#039;&amp;#039;&amp;#039; - true or false&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GetInt&amp;#039;&amp;#039;&amp;#039; - an integer number&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GetString&amp;#039;&amp;#039;&amp;#039; - a string, that means a word eg a unit name or a file name&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GetFloat3&amp;#039;&amp;#039;&amp;#039; - 3 floats, for example coordinates in case of &amp;quot;modelCenterOffset&amp;quot; or a vector in case of &amp;quot;flareDropVector&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Searching text in files==&lt;br /&gt;
It is usefull to have an text editor that can search for text in multiple files at once, for example this one: http://notepad-plus-plus.org/&lt;br /&gt;
&lt;br /&gt;
==Interesting files==&lt;br /&gt;
Most things outside &amp;quot;Sim&amp;quot; folder are uninteresting.&lt;br /&gt;
&lt;br /&gt;
The files where XY&amp;#039;&amp;#039;&amp;#039;defs&amp;#039;&amp;#039;&amp;#039; get loaded:&lt;br /&gt;
&lt;br /&gt;
https://github.com/spring/spring/blob/develop/rts/Sim/Units/UnitDef.cpp&lt;br /&gt;
&lt;br /&gt;
https://github.com/spring/spring/blob/develop/rts/Sim/Weapons/WeaponDefHandler.cpp&lt;br /&gt;
&lt;br /&gt;
https://github.com/spring/spring/blob/develop/rts/Sim/Features/FeatureHandler.cpp&lt;br /&gt;
&lt;br /&gt;
https://github.com/spring/spring/blob/develop/rts/Sim/MoveTypes/MoveInfo.cpp&lt;br /&gt;
&lt;br /&gt;
Unit actions (damage, kill, experience,...):&amp;lt;br&amp;gt;&lt;br /&gt;
https://github.com/spring/spring/blob/develop/rts/Sim/Units/Unit.cpp&lt;br /&gt;
&lt;br /&gt;
[[Category:Game Dev]]&lt;/div&gt;</summary>
		<author><name>intermisc/gamedev&gt;Knorke</name></author>
	</entry>
</feed>