<?xml version="1.0" encoding="UTF-8"?>

<!--
    $Id: gssimplex-terraincfg.xml 2841 2009-12-09 00:50:05Z blaine $

    Sample TerrainMap config for a textured GrayScale + Simplex terrain.
-->

<java version="1.6.0_0" class="java.beans.XMLDecoder">
  <void class="java.lang.Float"> <float id="Float.MAX_VALUE">
     340282346638528859811916859963842511979.66460912964485513216
  </float> </void>
  <array>
    <object id="terrainMap" class="com.admc.agf.terrain.TerrainMap">
      <float id="tm.blockLen">30</float>  <!-- blockLen -->
      <float>.3</float>  <!-- lenPerVert -->
      <void method="addProcedure">
        <object class="com.admc.agf.terrain.GlobalGrayscaleHeightMap">
          <object class="com.admc.agf.terrain.GlobalGrayscaleHeightMap"
                  method="getResource">
            <string>/terra_proc.png</string>
          </object>
          <float>10</float>
          <float>-100</float>
          <float idref="tm.blockLen"/>
        </object>
      </void>
      <void method="addProcedure">
        <object class="com.admc.agf.terrain.SimplexProcedure">
          <long>700</long>
          <void method="addFunction">
            <float>.2</float>  <!-- Simplex func. freq -->
            <float>.2</float>  <!-- Simplex func. ampl -->
          </void>
          <void method="addFunction">
            <float>.05</float>  <!-- Simplex func. freq -->
            <float>1.5</float>  <!-- Simplex func. ampl -->
          </void>
          <void method="init"/>
        </object>
      </void>
    </object>
    <object class="com.admc.agf.terrain.TerrainTexturizer">
      <float>.469</float>  <!-- lenPerAlphaPixel -->
      <float idref="tm.blockLen"/>
      <void method="setDefaultTexture">
        <string>/textures/dirt-256x256.jpg</string>
        <float>1.28</float>
      </void>
      <void method="addAlphaMappedTexture">
        <string>/textures/grass-128x128.jpg</string>
        <float>1</float>
      </void>
      <void method="addAlphaMappedTexture">
        <string>/textures/snow-512x512.jpg</string>
        <float>10</float>
      </void>
      <void method="setRepresentationalColors">
        <object class="java.awt.Color">
          <int>160</int> <int>82</int> <int>45</int>
        </object>
        <array class="java.awt.Color">
          <object class="java.awt.Color">
            <int>0</int> <int>255</int> <int>0</int>
          </object>
          <object class="java.awt.Color">
            <int>255</int> <int>255</int> <int>255</int>
          </object>
        </array>
      </void>
      <void method="add">
        <object class="com.admc.agf.terrain.HeightDerivedTextureProcedure">
          <object idref="terrainMap"/>
          <void method="addElevationMapping">
            <float>381.7</float> <int>0</int>
          </void>
          <void method="addElevationMapping">
            <float idref="Float.MAX_VALUE"/> <int>1</int>
          </void>
          <void property="areaLimits">
            <object class="com.admc.agf.terrain.QuadrilateralLimiter">
              <!-- Vector2fs here define the corners of the quadrilateral -->
              <object class="com.jme.math.Vector2f">
                <float>0</float> <float>0</float>
              </object>
              <object class="com.jme.math.Vector2f">
                <float>-5</float> <float>5</float>
              </object>
              <object class="com.jme.math.Vector2f">
                <float>0</float> <float>10</float>
              </object>
              <object class="com.jme.math.Vector2f">
                <float>5</float> <float>5</float>
              </object>
              <void property="reverse"><boolean>true</boolean></void>
            </object>
          </void>
          <void method="init"/>
        </object>
      </void>
    </object>
  </array>
</java>

