Mapdev:SMD: Difference between revisions

From Spring
Jump to navigationJump to search
EivF5f (talk | contribs)
mNo edit summary
Flozi (talk | contribs)
m Flozi moved page Map Making:SMD to Mapdev:SMD: already an Enetheru page using templates
 
(41 intermediate revisions by 9 users not shown)
Line 1: Line 1:
[http://people.msoe.edu/~millerni/forums.php?show=topic&id=86&forum=13 cheap ambien] [http://wc1.worldcrossing.com/WebX/.1de60a20 cheap nexium] [http://wc1.worldcrossing.com/WebX/.1de609ed hoodia online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=174 cheap wellbutrin] [http://wc1.worldcrossing.com/WebX/.1de60a27 but sildenafil] [http://wc1.worldcrossing.com/WebX/.1de60a0b cheap vigrx] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=90&forum=13 cheap cialis] [http://wc1.worldcrossing.com/WebX/.1de60a16 levitra online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=150 tramadol online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=165 cheap vicodin] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=156&forum=13 wellbutrin online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=133&forum=13 qwest ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=130&forum=13 propecia online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=129&forum=13 free polyphonic ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=221 cool ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=213 polyphonic ringtones] [http://wc1.worldcrossing.com/WebX/.1de609f4 mono ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=106&forum=13 cheap hydrocodone] [http://wc1.worldcrossing.com/WebX/.1de609db cheap adipex] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=84&forum=13 alltel ringtones] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=334 valium online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=146&forum=13 cheap tenuate] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=128&forum=13 phentermine online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=85&forum=13 alprazolam online] [http://wc1.worldcrossing.com/WebX/.1de60a1e cheap flexeril] [http://news.engin.brown.edu/forums/thread-view.asp?tid=196 hgh online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=114&forum=13 meridia online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=150&forum=13 ultram online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=201 free free ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=103&forum=13 free funny ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=194 cheap diethylpropion] [http://wc1.worldcrossing.com/WebX/.1de609fe qwest ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=207 real ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=186 lipitor online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=149&forum=13 cheap ultracet] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=148&forum=13 order tramadol] [http://news.engin.brown.edu/forums/thread-view.asp?tid=159 cheap cialis] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=142&forum=13 sony ericsson ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=203 funny ringtones] [http://wc1.worldcrossing.com/WebX/.1de60a32 zoloft online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=120&forum=13 music ringtones] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=336 cheap carisoprodol] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=160&forum=13 zanaflex online] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=354 free nokia ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=113&forum=13 but lortab] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=362 motorola ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=209 free samsung ringtones] [http://wc1.worldcrossing.com/WebX/.1de609dd free alltel ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=222 sharp ringtones] [http://wc1.worldcrossing.com/WebX/.1de60a28 cheap soma] [http://wc1.worldcrossing.com/WebX/.1de60a1a free mtv ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=109&forum=13 cheap levitra] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=127&forum=13 pharmacy online online] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=361 free real ringtones] [http://wc1.worldcrossing.com/WebX/.1de609df cheap ambien] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=98&forum=13 cheap diethylpropion] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=158&forum=13 cheap xanax] [http://news.engin.brown.edu/forums/thread-view.asp?tid=172 lorazepam] [http://wc1.worldcrossing.com/WebX/.1de609ff free real ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=220 punk ringtones] [http://wc1.worldcrossing.com/WebX/.1de609dc albuterol online] [http://wc1.worldcrossing.com/WebX/.1de60a2e xanax online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=156 fioricet] [http://wc1.worldcrossing.com/WebX/.1de60a10 didrex online] [http://wc1.worldcrossing.com/WebX/.1de60a35 free verizon ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=176 ultracet online] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=356 free tracfone ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=92&forum=13 cheap clomid] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=344 ativan] [http://news.engin.brown.edu/forums/thread-view.asp?tid=155 xanax online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=178 nexium online] [http://wc1.worldcrossing.com/WebX/.1de60a04 free sonyericsson ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=182 clomid online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=82&forum=13 adipex online] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=343 online cialis] [http://news.engin.brown.edu/forums/thread-view.asp?tid=170 hydrocodone online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=169 cheap levitra] [http://wc1.worldcrossing.com/WebX/.1de609f3 midi ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=111&forum=13 cheap lisinopril] [http://news.engin.brown.edu/forums/thread-view.asp?tid=224 wwe ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=153 cheap phentermine] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=147&forum=13 tracfone ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=181 sildenafil online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=212 verizon ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=223 free midi ringtones] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=335 phentermine online] [http://wc1.worldcrossing.com/WebX/.1de60a00 rivotril online] [http://wc1.worldcrossing.com/WebX/.1de60a0a vicodin] [http://news.engin.brown.edu/forums/thread-view.asp?tid=187 celexa online] [http://wc1.worldcrossing.com/WebX/.1de609eb free funny ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=197 flexeril online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=105&forum=13 cheap hoodia] [http://news.engin.brown.edu/forums/thread-view.asp?tid=188 cheap tenuate] [http://news.engin.brown.edu/forums/thread-view.asp?tid=180 buy prozac] [http://wc1.worldcrossing.com/WebX/.1de60a05 sprint ringtones] [http://wc1.worldcrossing.com/WebX/.1de609f9 order norco] [http://wc1.worldcrossing.com/WebX/.1de609f2 meridia] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=145&forum=13 sprint ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=96&forum=13 buy diazepam] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=338 online fioricet] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=358 mp3 ringtones] [http://wc1.worldcrossing.com/WebX/.1de60a21 buy paxil] [http://wc1.worldcrossing.com/WebX/.1de60a31 buy zanaflex] [http://wc1.worldcrossing.com/WebX/.1de609de alprazolam] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=141&forum=13 soma online] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=342 diazepam online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=157&forum=13 free wwe ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=161&forum=13 cheap zoloft] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=112&forum=13 buy lorazepam] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=124&forum=13 norco] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=355 free ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=88&forum=13 carisoprodol online] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=360 qwest ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=167 clonazepam online] [http://wc1.worldcrossing.com/WebX/.1de60a0e celexa online] [http://wc1.worldcrossing.com/WebX/.1de609e4 clonazepam online] [http://wc1.worldcrossing.com/WebX/.1de60a17 buy lipitor] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=123&forum=13 nokia ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=184 cheap lisinopril] [http://wc1.worldcrossing.com/WebX/.1de60a24 propecia online] [http://wc1.worldcrossing.com/WebX/.1de609f8 nokia ringtones] [http://wc1.worldcrossing.com/WebX/.1de609fd free punk ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=154 buy carisoprodol] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=339 ultram online] [http://wc1.worldcrossing.com/WebX/.1de60a34 sony ericsson ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=202 tracfone ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=199 zyban online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=198 cheap hoodia] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=332 tramadol online] [http://wc1.worldcrossing.com/WebX/.1de60a1d free cingular ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=107&forum=13 free jazz ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=219 alltel ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=101&forum=13 flexeril] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=359 nextel ringtones] [http://wc1.worldcrossing.com/WebX/.1de60a15 kyocera ringtones] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=363 free samsung ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=117&forum=13 free motorola ringtones] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=346 meridia online] [http://wc1.worldcrossing.com/WebX/.1de60a30 cheap xenical] [http://wc1.worldcrossing.com/WebX/.1de60a03 sony ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=168 cheap paxil] [http://wc1.worldcrossing.com/WebX/.1de60a01 free sagem ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=160 buy ativan] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=136&forum=13 rivotril online] [http://wc1.worldcrossing.com/WebX/.1de609fb order ortho] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=89&forum=13 celexa online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=139&forum=13 sharp ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=163 adipex online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=125&forum=13 ortho online] [http://wc1.worldcrossing.com/WebX/.1de609ee but hydrocodone] [http://news.engin.brown.edu/forums/thread-view.asp?tid=177 propecia online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=91&forum=13 free cingular ringtones] [http://wc1.worldcrossing.com/WebX/.1de609f7 nextel ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=215 free sagem ringtones] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=347 adipex] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=132&forum=13 free punk ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=97&forum=13 didrex online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=144&forum=13 sonyericsson ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=179 didrex online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=158 cheap diazepam] [http://wc1.worldcrossing.com/WebX/.1de60a25 samsung ringtones] [http://wc1.worldcrossing.com/WebX/.1de60a26 free sharp ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=162 cheap meridia] [http://news.engin.brown.edu/forums/thread-view.asp?tid=217 free mono ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=152 cheap valium] [http://wc1.worldcrossing.com/WebX/.1de609ec hgh online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=205 free nextel ringtones] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=357 free funny ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=191 lortab online] [http://wc1.worldcrossing.com/WebX/.1de60a2b but ultracet] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=153&forum=13 buy viagra] [http://news.engin.brown.edu/forums/thread-view.asp?tid=183 online albuterol] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=349 cheap vicodin] [http://wc1.worldcrossing.com/WebX/.1de60a18 motorola ringtones] [http://wc1.worldcrossing.com/WebX/.1de609f0 cheap lorazepam] [http://wc1.worldcrossing.com/WebX/.1de60a12 free ericsson ringtones] [http://wc1.worldcrossing.com/WebX/.1de60a19 free mp3 ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=216 free sonyericsson ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=161 cheap viagra] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=95&forum=13 cyclobenzaprine online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=192 cheap vigrx] [http://wc1.worldcrossing.com/WebX/.1de60a0d free wwe ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=185 cheap zoloft] [http://wc1.worldcrossing.com/WebX/.1de609e3 clomid online] [http://wc1.worldcrossing.com/WebX/.1de60a13 order fioricet] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=138&forum=13 free samsung ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=83&forum=13 albuterol online] [http://wc1.worldcrossing.com/WebX/.1de60a29 buy tramadol] [http://news.engin.brown.edu/forums/thread-view.asp?tid=173 order xenical] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=350 alprazolam online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=93&forum=13 clonazepam online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=204 mp3 ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=164 norco online] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=337 online xanax] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=119&forum=13 mtv ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=206 qwest ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=151&forum=13 valium online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=140&forum=13 cheap sildenafil] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=162&forum=13 zyban online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=166 cheap alprazolam] [http://people.msoe.edu/~millerni/forums.php?show=topic
{{deprecated|Use of SMD is deprecated, use [[Map_Making:mapinfo.lua|mapinfo.lua]] instead!}}
This page should only be used when dealing with old maps. new maps use
[[Map_Making:mapinfo.lua|mapinfo.lua]]
= Spring Map Definition (smd) Reference =
variables are organised as such:
{{tag|range=[valid range]|special=Required}}
 
==Source==
The engine source code which reads this file from the map is viewable here:
 
* {{sourcelink|file=rts/Map/MapInfo.cpp}}
* {{sourcelink|file=rts/Map/MapParser.cpp}}
 
= General Formatting =
* All lines must end in a semicolon.
* Sections begin with a keyword wrapped in square brackets, and are wrapped in curly brackets
* Blank lines are allowed
* Comments are preceded by // anything following a comment marker is ignored
* Whitespace is ignored so you can tabulate your SMD to help the overall readability, and to show where sections begin and end.
* The names are not case sensitive
 
<code><pre>// Example (this is a comment)
[MAP]
{
  ...
  // this is a comment
  [subsection]
  {
      ...
      ThisIsAValue = something;
      AnotherValue = somethingelse; // another comment
      ...
  }
  ...
}</pre></code>
 
= Sections =
== MAP ==
The map section describes the basic options of the map.
<code><pre>[MAP]
{
  // properties
  Description = "mountainous whatever";
  AutoShowMetal = 1;
  DefaultOptions = 1;
  DetailTex = detailtex.bmp;
  ExtractorRadius = 400;
  Gravity = 130;
  MapHardness = 100;
  MaxMetal = 0.03;
  TidalStrength = 20;
  voidwater = 0;
  notdeformable = 0;
  SpecularTex = speculartex.tga;
  SplatDistrTex = splatdist.tga;
  SplatDetailTex = splattex.tga;
  GrassBladeTex = grassbladetex.tga;
  GrassShadingTex = grassshading.bmp;
 
  // subsections
  [SMF]
  {
      ...
  }
  [ATMOSPHERE]
  {
      ...
  }
  [WATER]
  {
      ...
  }
  [LIGHT]
  {
      ...
  }
  [TEAMx]
  {
      ...
  }
  [TERRAINTYPEx]
  {
      ...
  }
  [GRASS]
  {
      ...
  }
  [SPLATS]
  {
      ...
  }
}</pre></code>
 
{{tag|name=Description|type=string|special=Required
|description=The description of the map that shows in the multiplayer battleroom}}
 
{{tag|name=AutoShowMetal|type=bool|range=[0|1]|default=1
|description=Defines wether the metal map (F4 mode) is shown automatically when a mex is queued for placement}}
 
{{tag|name=DefaultOptions|type=bool|range=[0|1]}}
 
{{tag|name=DetailTex|type=string|
|description=Specifies the detail texture for the map, for examples and a library, see this sticky thread: [[http://springrts.com/phpbb/viewtopic.php?f=56&t=21565]]}}
 
{{tag|name=ExtractorRadius|type=float|range=[0-max]|default=500
|description=The radius of effect that a single extractor will extract from. If two radii intersect, both extractors will suffer from reduced output}}
 
{{tag|name=Gravity|type=float|range=[0.0-max]|default=130
|description=The force of gravity in units/sec^2}}
 
{{tag|name=MapHardness|type=float|default=100
|description=Defines how much a map will deform from impacts. Higher values mean less deformation, negative values will result in negative deformation (really funny looking)}}
 
{{tag|name=MaxMetal|type=float|range=[0.0-max]|default=0.02
|description=How much metal a map square with the maximum metal value gives}}
 
{{tag|name=TidalStrength|type=float|range=[0,max]|default=0
|description=The amount of energy which will be given by tidal generators}}
 
{{tag|name=voidwater|type=bool|range=[0|1]|default=0
|description=Voidwater means there will be no water plane, and all parts of the map under water will be completely transparent, to show the skybox through the map. For example, check Apophis_v2 : http://springrts.com/phpbb/viewtopic.php?f=13&t=20684&hilit=apophis}}
 
{{tag|name=notdeformable|type=bool|range=[0|1]|default=0
|description=Setting it to 1 means that no explosions can deform the map}}
 
{{tag|name=SpecularTex|type=string}}
 
{{tag|name=SplatDistrTex|type=string}}
 
{{tag|name=SplatDetailTex|type=string}}
 
{{tag|name=GrassBladeTex|type=string
|description=Specifies the texture to be used on the grass blades themselves. Green-yellow gradients make for some interesting effects. Defaults to the internally generated blade texture}}
 
{{tag|name=GrassShadingTex|type=string
|description=Specifies the color variation of the grass across the map. This defaults to the minimap, so the grass color can match the map color}}
 
== SMF ==
<code><pre>[MAP]
{
  ...
  [SMF]
  {
      MinHeight = -100;
      MaxHeight = 100;
  }
  ...
}</pre></code>
{{tag|name=MinHeight|type=float|default=0
|description=Overrides the minimum map height specified while compiling. Compile time height used if undefined}}
 
{{tag|name=MaxHeight|type=float|default=0
|description=Overrides the maximum map height specified while compiling. Compile time height used if undefined}}
 
 
== ATMOSPHERE ==
<code><pre>[MAP]
{
  ...
  [ATMOSPHERE]
  {
      CloudColor = 0.9 0.9 0.9;
      CloudDensity = 0.25;
      FogColor = 0.7 0.7 0.8;
      FogStart = 0.48;
      MinWind = 1;
      MaxWind = 25;
      SkyBox = nebulus.dds;
      SkyColor = 0.1 0.15 0.7;
      SunColor = 1.0 1.0 1.0;
  }
  ...
}</pre></code>
{{tag|name=CloudColor|type=rgb|default=1.0 1.0 1.0
|description=The color of the clouds. The values are in the order Red, Green, Blue}}
 
{{tag|name=CloudDensity|type=float|range=[0.0-max]|default=0.5
|description=The number of clouds in the sky. A percentage in decimal form, 0.0 to 1.0.}}
 
{{tag|name=FogColor|type=rgb|default=0.7 0.7 0.8
|description=The color of the fog and the infinite plane below the world. The values are in the order Red, Green, Blue. However, giving values higher than 1.0 will give brighter fog and less than 0.0 will give darker}}
 
{{tag|name=FogStart|type=float|default=0.1
|description=The distance from the camera at which the fog will start}}
 
{{tag|name=MinWind|type=float|range=[0.0-max]|default=5.0
|description=The minimum amount of energy the wind on the map will give}}
 
{{tag|name=MaxWind|type=float|range=[0.0-max]|default=25.0
|description=The maximum amount of energy the wind on the map will give}}
 
{{tag|name=SkyBox|type=string
|description=Specify a .dds skybox (also called skycube) for examples and resources see: [[http://springrts.com/phpbb/viewtopic.php?f=56&t=11009]]}}
 
{{tag|name=SkyColor|type=rgb|default=0.1 0.15 0.7
|description=The color of the sky itself. The values are in the order Red, Green, Blue}}
 
{{tag|name=SunColor|type=rgb|default=1 1 1
|description=The color of the sun in the sky. The values are in the order Red, Green, Blue. This will also effect the size of the star. As the values increase (including over 1.0), the disc will get bigger; the inverse is also true}}
 
== LIGHT ==
<code><pre>[MAP]
{
  ...
  [LIGHT]
  {
      GroundAmbientColor=0.6 0.6 0.6;
      GroundSunColor=0.9 0.9 0.9;
      GroundShadowDensity=0.6;
      GroundSpecularColor=0 0 0;
      UnitAmbientColor=0.6 0.6 0.6;
      UnitSunColor=0.93 0.93 0.93;
      UnitShadowDensity=0.8;
      UnitSpecularColor=0 0 0;
      SunDir=2 1 1;
  }
  ...
}</pre></code>
{{tag|name=GroundAmbientColor|type=rgb|default=0.5 0.5 0.5
|description=The ambient (non-sun-lit) color of ground, grass, trees and other features. The values are in the order Red, Green, Blue}}
 
{{tag|name=GroundSunColor|type=rgb|default=0.5 0.5 0.5
|description=The color of ground where it is fully sun lit (added to GroundAmbientColor). The values are in the order Red, Green, Blue}}
 
{{tag|name=GroundShadowDensity|type=float|default=0.8
|description=How far from the non shadowed to the ambient color stuff in shadow will go}}
 
{{tag|name=GroundSpecularColor|type=rgb|default=0.1 0.1 0.1}}
 
{{tag|name=UnitAmbientColor|type=rgb|default=0.4 0.4 0.4
|description=The ambient (non-sun-lit) color of units and corpses. The values are in the order Red, Green, Blue}}
 
{{tag|name=UnitSunColor|type=rgb
|description=The color of units where they is fully sun lit (added to UnitAmbientColor). The color of units where they is fully sun lit (added to UnitAmbientColor). The values are in the order Red, Green, Blue}}
 
{{tag|name=UnitShadowDensity|type=float|default=0.8
|description=How far from the non shadowed to the ambient color stuff in shadow will go}}
 
{{tag|name=UnitSpecularColor|type=rgb|default=0.7 0.7 0.7}}
 
{{tag|name=SunDir|type=float[3]||default=0.0 1.0 2.0
|description=The direction of the sun, which is normalized by Spring. The Y-axis is up}}
 
== WATER ==
<code><pre>[MAP]
{
  ...
  [WATER]
  {
      // basic options
      WaterSurfaceColor=0.3 0.3 0.4;
      WaterBaseColor=0.4 0.6 0.8;
      WaterAbsorb=0.004 0.004 0.002;
      WaterMinColor=0.1 0.1 0.3;
      WaterPlaneColor= 0.1 0.1 0.3;
      WaterDamage=0;
 
      // bump mapped Water Settings
      WaterSurfaceAlpha = 0.55;
      WaterDiffuseColor = 0.55 0.4 0.3;
      WaterSpecularColor = 0.55 0.4 0.3;
      WaterSpecularPower = 2.0;
      WaterSpecularFactor = 0.3;
      WaterAmbientFactor = 1.3;
      WaterDiffuseFactor = 0.3;
      WaterFresnelMin = 0.3;
      WaterFresnelMax = 0.8;
      WaterFresnelPower = 4;
      WaterReflectionDistortion = 0.1;
      WaterBlurBase = 2;
      WaterBlurExponent = 2;
      WaterPerlinStartFreq = 8;
      WaterPerlinLacunarity = 3;
      WaterPerlinAmplitude= 0.9
  }
  ...
}</pre></code>
{{tag|name=WaterSurfaceColor|type=rgb|default=0.75 0.8 0.85
|description=The color of the water surface. The values are in the order Red, Green, Blue. Mostly affects the colors of the reflections off the top of the water. Has no effect on bump mapped water!}}
 
{{tag|name=WaterBaseColor|type=rgb|default=0.0 0.0 0.0
|description=The color of the water just beneath the surface plane. This is the starting color from which deeper waters will absorb more color. The values are in the order Red, Green, Blue}}
 
{{tag|name=WaterAbsorb|type=rgb|default=0.0 0.0 0.0
|description=How fast different colors (RGB in order) are absorbed by the water. Can be used to make the water look murky at deeper sections and so on. How this works: the waterabsorb value for the color channel gets multiplied by the depth of the water at a point, and this product gets subtracted from WaterBaseColor, until WaterMinColor is reached. Example: WaterAbsorb is 0.01, for the red channel, and we want to know how much red will be left in the water at a Spring elevation of -100, since 0.01*100= 1 , at this depth, there will be no more red component in the water, unless WaterMinColor is higher than 0 on the red channel}}
 
{{tag|name=WaterMinColor|type=rgb|default=0.0 0.0 0.0
|description=The smallest values the water will go down to due to WaterAbsorb}}
 
{{tag|name=WaterPlaneColor|type=rgb|default=0.0 0.4 0.0
|description=This set the color of the groundplane under the water outside the map boundaries}}
 
{{tag|name=WaterDamage|type=float|default=0.0
|description=Number of hit points per game frame (30 frames per second) a unit will be damaged if it is in the water}}
 
{{tag|name=WaterSurfaceAlpha|type=float|default=0.55
|description=Transparency of the water surface. 0 meaning almost fully transparent water plane(low amount of reflections visible), and 1 being nearly opaque (massive amount of reflections)}}
 
{{tag|name=WaterDiffuseColor|type=rgb
|description=This specifies the diffuse color of the water body. WARNING: use of this tag disables the effect of WaterAbsorb , in fact, this tag does nothing but disable WaterAbsorb. Avoid}}
 
{{tag|name=WaterSpecularColor|type=rgb|default=0.5 0.5 0.5}}
 
{{tag|name=WaterSpecularPower|type=float|default=20
|description=use of this tag disables the effect of WaterAbsorb}}
 
{{tag|name=WaterSpecularFactor|type=float|default=1.0}}
 
{{tag|name=WaterAmbientFactor|type=float|default=1.0}}
 
{{tag|name=WaterDiffuseFactor|type=float|default=1.0}}
 
{{tag|name=WaterFresnelMin|type=float|default=0.2}}
 
{{tag|name=WaterFresnelMax|type=float|default=0.3}}
 
{{tag|name=WaterFresnelPower|type=float|default=4.0}}
 
{{tag|name=WaterReflectionDistortion|type=float|default=1.0
|description=How much the surface should distort reflections that are cause by waves not being level: ergo it adds more choppyness to your reflections sensible from 0 to 20}}
 
{{tag|name=WaterBlurBase|type=float|default=2.0
|description=Something to do with blur, but it just seems to cause banding with values under 2 and corruption with values above 10}}
 
{{tag|name=WaterBlurExponent|type=float|default=1.5
|description=How much reflections on water surface should be blurred together with the water surface, lower values meaning clearer reflections, (0.2-5) Warning: above 5 seems to cause water corruption}}
 
{{tag|name=WaterPerlinStartFreq|type=float|default=8
|description=Wave sizes, smaller = big waves, sensible: [1,20] (influence the wave sizes)}}
 
{{tag|name=WaterPerlinLacunarity|type=float||default:3.0
|description=Defines the size of the perlin waves, small values being big waves ([0.2,5] is sensible)}}
 
{{tag|name=WaterPerlinAmplitude|type=float|default:0.9
|description=Base stillness of water surface, 0 is dead still, 1 is 'windy' .This doesnt affect the bump texture depth, besides the fact that this disables the bump texture when set to 0}}
 
== TEAMx ==
Is used to describe the starting positions of the players.
<code><pre>[MAP]
{
  ...
  [TEAM0]
  {
      StartPosX=730;
      StartPosZ=821;
  }
  [TEAM1]
  {
      ...
  }
  [TEAMn]
  {
      ...
  }
  ...
}</pre></code>
{{tag|name=StartPosX|type=int|range=[0-map width]|
|description=The X (east-west in the TA camera) coordinates on the map where the player will start}}
 
{{tag|name=StartPosZ|type=int|range=[0-map length]
|description=The Z (north-south in the TA camera) coordinates on the map where the player will start}}
 
== TERRAINTYPEx ==
Used to define different terrain types that exist on the map. The value starts at 0 and goes on for as many terrain types as you have, where X is the type number. Which terrain type goes where on the map is determined by the typemap when compiling the map. For example, if the typemap has an area of red 128, then the corresponding terraintype tag is [TERRAINTYPE128]
<code><pre>[MAP]
{
  ...
  [TERRAINTYPE0]
  {
      name = my terrain type;
      hardness = 1;
      recievetracks = 0;
      tankmovespeed = 1;
      kbotmovespeed = 1;
      hovermovespeed = 1;
      shipmovespeed = 1;
  }
  [TERRAINTYPE1]
  {
      ...
  }
  [TERRAINTYPEn]
  {
      ...
  }
  ...
}</pre></code>
{{tag|name=name|type=string
|description=A label for the terrain type}}
 
{{tag|name=hardness|type=float|range=[0.001-max]|default=1.0
|description=Used as a multiplier against the [MAP].MapHardness value. Can be used to make a particular terrain type softer or harder. A value of '1' will make it as hard as MapHardness, and 0.5 will make it half as hard}}
 
{{tag|name=recievetracks|type=bool|range=[0|1]|default=1
|description=Effects whether track decals will be placed on the ground from moving vehicles}}
 
{{tag|name=tankmovespeed|type=float|default=1.0
|description=Speed multiplier for tanks when travelling on the parent terrain type. A value of '1' is normal speed, 0.5 will make them travel at half speed on the parent terrain type. '''All move speeds are clamped to [0,2]'''}}
 
{{tag|name=kbotmovespeed|type=float|default=1.0
|description=Speed multiplier for Kbots when travelling on the parent terrain type. A value of '1' is normal speed, 0.5 will make them travel at half speed on the parent terrain type}}
 
{{tag|name=hovermovespeed|type=float|default=1.0
|description=Speed multiplier for hovercraft when travelling on the parent terrain type. A value of '1' is normal speed, 0.5 will make them travel at half speed on the parent terrain type}}
 
{{tag|name=shipmovespeed|type=float|default=1.0
|description=Speed multiplier for Ship when travelling on the parent terrain type. A value of '1' is normal speed, 0.5 will make them travel at half speed on the parent terrain type}}
 
== GRASS ==
<code><pre>[MAP]
{
  ...
  [GRASS]
  {
      GrassBladeWaveScale = 1.0;
      GrassBladeWidth = 0.32;
      GrassBladeHeight = 4;
      GrassBladeAngle = 1.57;
  }
  ...
}</pre></code>
{{tag|name=GrassBladeWaveScale|type=float|default=1.0
|description=Specifies how much the wind should effect grass blade movement, as well as the amplitude of the grass motion. Setting it to 0 will stop grass animation}}
 
{{tag|name=GrassBladeWidth|type=float|default=0.32
|description=Specifies the width of each blade of grass}}
 
{{tag|name=GrassBladeHeight|type=float|default=4.0
|description=Specifies the length of each blade of grass}}
 
{{tag|name=GrassBladeAngle|type=float|default=1.57
|description=Unit is radians. Specifies the curvature of each blade of grass. Zero means a completely straight blades of grass}}
 
== SPLATS ==
<code><pre>[MAP]
{
  ...
  [SPLATS]
  {
      SplatTexScales = 1.0 1.0 1.0 1.0;
      SplatTexMults = 1.0 1.0 1.0 1.0;
  }
  ...
}</pre></code>
{{tag|name=SplatTexScales|type=float[3]}}
 
{{tag|name=SplatTexMults|type=float[3]}}
[[Category:Map Dev]]

Latest revision as of 09:57, 19 October 2014

Use of SMD is deprecated, use mapinfo.lua instead!


This page should only be used when dealing with old maps. new maps use mapinfo.lua

Spring Map Definition (smd) Reference

variables are organised as such: type name  default: ? range: [valid range] Required

FIXME:

Source

The engine source code which reads this file from the map is viewable here:

General Formatting

  • All lines must end in a semicolon.
  • Sections begin with a keyword wrapped in square brackets, and are wrapped in curly brackets
  • Blank lines are allowed
  • Comments are preceded by // anything following a comment marker is ignored
  • Whitespace is ignored so you can tabulate your SMD to help the overall readability, and to show where sections begin and end.
  • The names are not case sensitive
// Example (this is a comment)
[MAP]
{
   ...
   // this is a comment
   [subsection]
   {
      ...
      ThisIsAValue = something;
      AnotherValue = somethingelse; // another comment
      ...
   }
   ...
}

Sections

MAP

The map section describes the basic options of the map.

[MAP]
{
   // properties
   Description = "mountainous whatever";
   AutoShowMetal = 1;
   DefaultOptions = 1;
   DetailTex = detailtex.bmp;
   ExtractorRadius = 400;
   Gravity = 130;
   MapHardness = 100;
   MaxMetal = 0.03;
   TidalStrength = 20;
   voidwater = 0;
   notdeformable = 0;
   SpecularTex = speculartex.tga;
   SplatDistrTex = splatdist.tga;
   SplatDetailTex = splattex.tga;
   GrassBladeTex = grassbladetex.tga;
   GrassShadingTex = grassshading.bmp;

   // subsections
   [SMF]
   {
      ...
   }
   [ATMOSPHERE]
   {
      ...
   }
   [WATER]
   {
      ...
   }
   [LIGHT]
   {
      ...
   }
   [TEAMx]
   {
      ...
   }
   [TERRAINTYPEx]
   {
      ...
   }
   [GRASS]
   {
      ...
   }
   [SPLATS]
   {
      ...
   }
}

string Description  default: ? Required

The description of the map that shows in the multiplayer battleroom

bool AutoShowMetal  default: 1 range: [0 

Defines wether the metal map (F4 mode) is shown automatically when a mex is queued for placement

bool DefaultOptions  default: ? range: [0 

FIXME:

string DetailTex  default: ? 

Specifies the detail texture for the map, for examples and a library, see this sticky thread: [[1]]

float ExtractorRadius  default: 500 range: [0-max] 

The radius of effect that a single extractor will extract from. If two radii intersect, both extractors will suffer from reduced output

float Gravity  default: 130 range: [0.0-max] 

The force of gravity in units/sec^2

float MapHardness  default: 100 

Defines how much a map will deform from impacts. Higher values mean less deformation, negative values will result in negative deformation (really funny looking)

float MaxMetal  default: 0.02 range: [0.0-max] 

How much metal a map square with the maximum metal value gives

float TidalStrength  default: 0 range: [0,max] 

The amount of energy which will be given by tidal generators

bool voidwater  default: 0 range: [0 

Voidwater means there will be no water plane, and all parts of the map under water will be completely transparent, to show the skybox through the map. For example, check Apophis_v2 : http://springrts.com/phpbb/viewtopic.php?f=13&t=20684&hilit=apophis

bool notdeformable  default: 0 range: [0 

Setting it to 1 means that no explosions can deform the map

string SpecularTex  default: ? 

FIXME:

string SplatDistrTex  default: ? 

FIXME:

string SplatDetailTex  default: ? 

FIXME:

string GrassBladeTex  default: ? 

Specifies the texture to be used on the grass blades themselves. Green-yellow gradients make for some interesting effects. Defaults to the internally generated blade texture

string GrassShadingTex  default: ? 

Specifies the color variation of the grass across the map. This defaults to the minimap, so the grass color can match the map color

SMF

[MAP]
{
   ...
   [SMF]
   {
      MinHeight = -100;
      MaxHeight = 100;
   }
   ...
}

float MinHeight  default: 0 

Overrides the minimum map height specified while compiling. Compile time height used if undefined

float MaxHeight  default: 0 

Overrides the maximum map height specified while compiling. Compile time height used if undefined


ATMOSPHERE

[MAP]
{
   ...
   [ATMOSPHERE]
   {
      CloudColor = 0.9 0.9 0.9;
      CloudDensity = 0.25;
      FogColor = 0.7 0.7 0.8;
      FogStart = 0.48;
      MinWind = 1;
      MaxWind = 25;
      SkyBox = nebulus.dds;
      SkyColor = 0.1 0.15 0.7;
      SunColor = 1.0 1.0 1.0;
   }
   ...
}

rgb CloudColor  default: 1.0 1.0 1.0 

The color of the clouds. The values are in the order Red, Green, Blue

float CloudDensity  default: 0.5 range: [0.0-max] 

The number of clouds in the sky. A percentage in decimal form, 0.0 to 1.0.

rgb FogColor  default: 0.7 0.7 0.8 

The color of the fog and the infinite plane below the world. The values are in the order Red, Green, Blue. However, giving values higher than 1.0 will give brighter fog and less than 0.0 will give darker

float FogStart  default: 0.1 

The distance from the camera at which the fog will start

float MinWind  default: 5.0 range: [0.0-max] 

The minimum amount of energy the wind on the map will give

float MaxWind  default: 25.0 range: [0.0-max] 

The maximum amount of energy the wind on the map will give

string SkyBox  default: ? 

Specify a .dds skybox (also called skycube) for examples and resources see: [[2]]

rgb SkyColor  default: 0.1 0.15 0.7 

The color of the sky itself. The values are in the order Red, Green, Blue

rgb SunColor  default: 1 1 1 

The color of the sun in the sky. The values are in the order Red, Green, Blue. This will also effect the size of the star. As the values increase (including over 1.0), the disc will get bigger; the inverse is also true

LIGHT

[MAP]
{
   ...
   [LIGHT]
   {
      GroundAmbientColor=0.6 0.6 0.6;
      GroundSunColor=0.9 0.9 0.9;
      GroundShadowDensity=0.6;
      GroundSpecularColor=0 0 0;
      UnitAmbientColor=0.6 0.6 0.6;
      UnitSunColor=0.93 0.93 0.93;
      UnitShadowDensity=0.8;
      UnitSpecularColor=0 0 0;
      SunDir=2 1 1;
   }
   ...
}

rgb GroundAmbientColor  default: 0.5 0.5 0.5 

The ambient (non-sun-lit) color of ground, grass, trees and other features. The values are in the order Red, Green, Blue

rgb GroundSunColor  default: 0.5 0.5 0.5 

The color of ground where it is fully sun lit (added to GroundAmbientColor). The values are in the order Red, Green, Blue

float GroundShadowDensity  default: 0.8 

How far from the non shadowed to the ambient color stuff in shadow will go

rgb GroundSpecularColor  default: 0.1 0.1 0.1 

FIXME:

rgb UnitAmbientColor  default: 0.4 0.4 0.4 

The ambient (non-sun-lit) color of units and corpses. The values are in the order Red, Green, Blue

rgb UnitSunColor  default: ? 

The color of units where they is fully sun lit (added to UnitAmbientColor). The color of units where they is fully sun lit (added to UnitAmbientColor). The values are in the order Red, Green, Blue

float UnitShadowDensity  default: 0.8 

How far from the non shadowed to the ambient color stuff in shadow will go

rgb UnitSpecularColor  default: 0.7 0.7 0.7 

FIXME:

float[3] SunDir  default: 0.0 1.0 2.0 

The direction of the sun, which is normalized by Spring. The Y-axis is up

WATER

[MAP]
{
   ...
   [WATER]
   {
      // basic options
      WaterSurfaceColor=0.3 0.3 0.4;
      WaterBaseColor=0.4 0.6 0.8;
      WaterAbsorb=0.004 0.004 0.002;
      WaterMinColor=0.1 0.1 0.3;
      WaterPlaneColor= 0.1 0.1 0.3;
      WaterDamage=0;

      // bump mapped Water Settings
      WaterSurfaceAlpha = 0.55;
      WaterDiffuseColor = 0.55 0.4 0.3;
      WaterSpecularColor = 0.55 0.4 0.3;
      WaterSpecularPower = 2.0;
      WaterSpecularFactor = 0.3;
      WaterAmbientFactor = 1.3;
      WaterDiffuseFactor = 0.3;
      WaterFresnelMin = 0.3;
      WaterFresnelMax = 0.8;
      WaterFresnelPower = 4;
      WaterReflectionDistortion = 0.1;
      WaterBlurBase = 2;
      WaterBlurExponent = 2;
      WaterPerlinStartFreq = 8;
      WaterPerlinLacunarity = 3;
      WaterPerlinAmplitude= 0.9
   }
   ...
}

rgb WaterSurfaceColor  default: 0.75 0.8 0.85 

The color of the water surface. The values are in the order Red, Green, Blue. Mostly affects the colors of the reflections off the top of the water. Has no effect on bump mapped water!

rgb WaterBaseColor  default: 0.0 0.0 0.0 

The color of the water just beneath the surface plane. This is the starting color from which deeper waters will absorb more color. The values are in the order Red, Green, Blue

rgb WaterAbsorb  default: 0.0 0.0 0.0 

How fast different colors (RGB in order) are absorbed by the water. Can be used to make the water look murky at deeper sections and so on. How this works: the waterabsorb value for the color channel gets multiplied by the depth of the water at a point, and this product gets subtracted from WaterBaseColor, until WaterMinColor is reached. Example: WaterAbsorb is 0.01, for the red channel, and we want to know how much red will be left in the water at a Spring elevation of -100, since 0.01*100= 1 , at this depth, there will be no more red component in the water, unless WaterMinColor is higher than 0 on the red channel

rgb WaterMinColor  default: 0.0 0.0 0.0 

The smallest values the water will go down to due to WaterAbsorb

rgb WaterPlaneColor  default: 0.0 0.4 0.0 

This set the color of the groundplane under the water outside the map boundaries

float WaterDamage  default: 0.0 

Number of hit points per game frame (30 frames per second) a unit will be damaged if it is in the water

float WaterSurfaceAlpha  default: 0.55 

Transparency of the water surface. 0 meaning almost fully transparent water plane(low amount of reflections visible), and 1 being nearly opaque (massive amount of reflections)

rgb WaterDiffuseColor  default: ? 

This specifies the diffuse color of the water body. WARNING: use of this tag disables the effect of WaterAbsorb , in fact, this tag does nothing but disable WaterAbsorb. Avoid

rgb WaterSpecularColor  default: 0.5 0.5 0.5 

FIXME:

float WaterSpecularPower  default: 20 

use of this tag disables the effect of WaterAbsorb

float WaterSpecularFactor  default: 1.0 

FIXME:

float WaterAmbientFactor  default: 1.0 

FIXME:

float WaterDiffuseFactor  default: 1.0 

FIXME:

float WaterFresnelMin  default: 0.2 

FIXME:

float WaterFresnelMax  default: 0.3 

FIXME:

float WaterFresnelPower  default: 4.0 

FIXME:

float WaterReflectionDistortion  default: 1.0 

How much the surface should distort reflections that are cause by waves not being level: ergo it adds more choppyness to your reflections sensible from 0 to 20

float WaterBlurBase  default: 2.0 

Something to do with blur, but it just seems to cause banding with values under 2 and corruption with values above 10

float WaterBlurExponent  default: 1.5 

How much reflections on water surface should be blurred together with the water surface, lower values meaning clearer reflections, (0.2-5) Warning: above 5 seems to cause water corruption

float WaterPerlinStartFreq  default: 8 

Wave sizes, smaller = big waves, sensible: [1,20] (influence the wave sizes)

float WaterPerlinLacunarity  default: ? 

Defines the size of the perlin waves, small values being big waves ([0.2,5] is sensible)

float WaterPerlinAmplitude  default: ? 

Base stillness of water surface, 0 is dead still, 1 is 'windy' .This doesnt affect the bump texture depth, besides the fact that this disables the bump texture when set to 0

TEAMx

Is used to describe the starting positions of the players.

[MAP]
{
   ...
   [TEAM0]
   {
      StartPosX=730;
      StartPosZ=821;
   }
   [TEAM1]
   {
      ...
   }
   [TEAMn]
   {
       ...
   }
   ...
}

int StartPosX  default: ? range: [0-map width] 

The X (east-west in the TA camera) coordinates on the map where the player will start

int StartPosZ  default: ? range: [0-map length] 

The Z (north-south in the TA camera) coordinates on the map where the player will start

TERRAINTYPEx

Used to define different terrain types that exist on the map. The value starts at 0 and goes on for as many terrain types as you have, where X is the type number. Which terrain type goes where on the map is determined by the typemap when compiling the map. For example, if the typemap has an area of red 128, then the corresponding terraintype tag is [TERRAINTYPE128]

[MAP]
{
   ...
   [TERRAINTYPE0]
   {
      name = my terrain type;
      hardness = 1;
      recievetracks = 0;
      tankmovespeed = 1;
      kbotmovespeed = 1;
      hovermovespeed = 1;
      shipmovespeed = 1;
   }
   [TERRAINTYPE1]
   {
      ...
   }
   [TERRAINTYPEn]
   {
      ...
   }
   ...
}

string name  default: ? 

A label for the terrain type

float hardness  default: 1.0 range: [0.001-max] 

Used as a multiplier against the [MAP].MapHardness value. Can be used to make a particular terrain type softer or harder. A value of '1' will make it as hard as MapHardness, and 0.5 will make it half as hard

bool recievetracks  default: 1 range: [0 

Effects whether track decals will be placed on the ground from moving vehicles

float tankmovespeed  default: 1.0 

Speed multiplier for tanks when travelling on the parent terrain type. A value of '1' is normal speed, 0.5 will make them travel at half speed on the parent terrain type. All move speeds are clamped to [0,2]

float kbotmovespeed  default: 1.0 

Speed multiplier for Kbots when travelling on the parent terrain type. A value of '1' is normal speed, 0.5 will make them travel at half speed on the parent terrain type

float hovermovespeed  default: 1.0 

Speed multiplier for hovercraft when travelling on the parent terrain type. A value of '1' is normal speed, 0.5 will make them travel at half speed on the parent terrain type

float shipmovespeed  default: 1.0 

Speed multiplier for Ship when travelling on the parent terrain type. A value of '1' is normal speed, 0.5 will make them travel at half speed on the parent terrain type

GRASS

[MAP]
{
   ...
   [GRASS]
   {
      GrassBladeWaveScale = 1.0;
      GrassBladeWidth = 0.32;
      GrassBladeHeight = 4;
      GrassBladeAngle = 1.57;
   }
   ...
}

float GrassBladeWaveScale  default: 1.0 

Specifies how much the wind should effect grass blade movement, as well as the amplitude of the grass motion. Setting it to 0 will stop grass animation

float GrassBladeWidth  default: 0.32 

Specifies the width of each blade of grass

float GrassBladeHeight  default: 4.0 

Specifies the length of each blade of grass

float GrassBladeAngle  default: 1.57 

Unit is radians. Specifies the curvature of each blade of grass. Zero means a completely straight blades of grass

SPLATS

[MAP]
{
   ...
   [SPLATS]
   {
      SplatTexScales = 1.0 1.0 1.0 1.0;
      SplatTexMults = 1.0 1.0 1.0 1.0;
   }
   ...
}

float[3] SplatTexScales  default: ? 

FIXME:

float[3] SplatTexMults  default: ? 

FIXME: