From Spring


The colour of the terrain, then modified with the lighting values in mapinfo.lua

Mapdev-diffuse.jpg Mapdev-diffuse-example.png
Example Diffuse Map Ingame Result



The relevant sections of the mapinfo.lua file that effect the colour of the ground are in the Lighting subtable

local mapinfo = {
   lighting = {
      --// ground lighting
      groundAmbientColor  = {0.5, 0.5, 0.5},
      groundDiffuseColor  = {0.5, 0.5, 0.5},
      groundSpecularColor = {0.1, 0.1, 0.1},
      groundShadowDensity = 0.8,

Image File

File Location The diffuse texture is chopped into 32x32 pixel tiles compressed using DXT1 and compiled into the smt using MapConv or MapConvNG.
File Format Any that Mapconv programs support
Colour Depth 8bpp
Channels RGBA
Spring Map Size* pixels = Spring Map Size * 512
2 1024
4 2048
6 3072
... ...
32 16 384
* must be multiples of 2


The DXT1 compression is lossy, but in a consistent manner. all 32x32 tiles will have exactly the same size. To reduce the number of tiles saved in tile file(SMT) you can align graphical elements to a 32x32 pixel grid. MapConv can detect that a tile is repeated and reference it only once. This means that any repetition of the diffuse image, so long as it is aligned to a 32x32 pixel grid will result in a reduction in size.

  • Use tiled textures that are multiples of 32x32 in dimensions.
  • Place features like geovents and metal spots on a 32x32 grid.
  • Repeat as much as possible on a 32x32 pixel grid.