﻿-- Chopped Straw
-- Spec for chopped straw left on field

#######################
Anleitung Teil 1 von 7:

Es müssen mehrere Einträge in die MAP.i3d eingefügt werden:
  - 4 File-Einträge
  - 3 Material-Einträge
  - 1 FoliageMultiLayer mit drei FoliageSubLayern
Diese Einträge befinden sich IN DIESER Datei und müssen noch angepasst werden.

Vor allen folgenden Arbeiten: erstelle eine Sicherheitskopie deiner Map, um bei Problemen zu einer funktionierenden Version zurückkehren zu können.
Die Map muss vorher entpackt werden.

A.  Zuerst müssen einige Zahlen in der MAP.i3d gesucht und notiert werden (die Suchfunktion des Texteditors soll hier Wunder wirken):

    A-1. Suche die 'fileId' von 'shaders/windrowFoliageShader.xml'. Notiere den Wert hier->
    A-2. Suche die 'blockShapeId' in 'FoliageSubLayer name="wheat_windrow"'. Notiere den Wert hier->
    A-3. Suche die 'blockShapeId' in 'FoliageSubLayer name="potato_haulm"'. Notiere den Wert hier->
    A-4. Suche die LETZTE Zahl bei 'distanceMapIds' von 'FoliageSubLayer name="wheat"'. Notiere den Wert hier->
    A-5. Suche die LETZTE Zahl bei 'distanceMapIds' von 'FoliageSubLayer name="rape"'. Notiere den Wert hier->
    A-6. Suche die LETZTE Zahl bei 'distanceMapIds' von 'FoliageSubLayer name="maize"'. Notiere den Wert hier->

B.  Mit den gefundenen Zahlen ersetzt man nun einige Platzhalter in DIESER DATEI (in der du gerade liest)! Dazu verwendet man die Funktion "Suchen/Ersetzen" des Texteditors.
    Hinweis: Es werden !!Platzhalter!! (inklusive der jeweils zwei Ausrufezeichen) mit einer einfachen Zahl, wie z.B. 43 (ohne irgendetwas sonst) ersetzt.

    B-1. Suche nach     !!WINDROWSHADERFILEID!!     und ersetze mit der Zahl aus A-1.
    B-2. Suche nach     !!WINDROWBLOCKSHAPEID!!     und ersetze mit der Zahl aus A-2.
    B-3. Suche nach     !!HAULMBLOCKSHAPEID!!       und ersetze mit der Zahl aus A-3.
    B-4. Suche nach     !!WHEATDISTANCEMAPID!!      und ersetze mit der Zahl aus A-4.
    B-5. Suche nach     !!RAPEDISTANCEMAPID!!       und ersetze mit der Zahl aus A-5.
    B-6. Suche nach     !!MAIZEDISTANCEMAPID!!      und ersetze mit der Zahl aus A-6.


#######################
Anleitung Teil 2 von 7:

Füge die folgenden vier <File>-Einträge im <Files>-Bereich deiner MAP.i3d ein

    <!-- choppedStraw files -->
    <File fileId="99993" filename="choppedStraw/straw_haulm_density.png" relativePath="true"/>
    <File fileId="99994" filename="choppedStraw/foliage_maize_haulm_diffuse.png" relativePath="true"/>
    <File fileId="99995" filename="choppedStraw/foliage_rape_haulm_diffuse.png" relativePath="true"/>
    <File fileId="99996" filename="choppedStraw/foliage_straw_haulm_diffuse.png" relativePath="true"/>


#######################
Anleitung Teil 3 von 7:

Füge die folgenden drei <Material>-Einträge im <Materials>-Bereich deiner MAP.i3d ein

    <!-- choppedStraw materials -->
    <Material name="maizeHaulmMaterial" materialId="99001" ambientColor="1 1 1" customShaderId="!!WINDROWSHADERFILEID!!">
      <Texture fileId="99994"/>
      <CustomParameter name="alphaBlendStartEnd" value="70 75 0 0"/>
    </Material>
    <Material name="rapeHaulmMaterial" materialId="99002" ambientColor="1 1 1" customShaderId="!!WINDROWSHADERFILEID!!">
      <Texture fileId="99995"/>
      <CustomParameter name="alphaBlendStartEnd" value="70 75 0 0"/>
    </Material>
    <Material name="strawHaulmMaterial" materialId="99003" ambientColor="1 1 1" customShaderId="!!WINDROWSHADERFILEID!!">
      <Texture fileId="99996"/>
      <CustomParameter name="alphaBlendStartEnd" value="70 75 0 0"/>
    </Material>


#######################
Anleitung Teil 4 von 7:

Füge den folgenden <FoliageMultiLayer>-Eintrag im <Layers>-Bereich deiner MAP.i3d ein, NACH <InfoLayer name="infoLayer"...... />

    <!-- choppedStraw foliage layers -->
    <FoliageMultiLayer densityMapId="99993" numChannels="3" numTypeIndexChannels="0">
      <FoliageSubLayer name="choppedMaize_haulm" densityMapChannelOffset="2" numDensityMapChannels="1" materialId="99001" cellSize="8" viewDistance="80" terrainOffset="0.07" objectMask="65520" distanceMapIds="!!MAIZEDISTANCEMAPID!!" distanceMapUnitSizes="128" repeatLastDistanceMap="true" atlasSize="1" numBlocksPerUnit="1.4" width="1.5" height="1" widthVariance="0" heightVariance="0" horizontalPositionVariance="0.1" blockShapeId="!!HAULMBLOCKSHAPEID!!" useShapeNormals="false" alignWithTerrain="true"/>
      <FoliageSubLayer name="choppedRape_haulm" densityMapChannelOffset="1" numDensityMapChannels="1" materialId="99002" cellSize="8" viewDistance="80" terrainOffset="0.07" objectMask="65520" distanceMapIds="!!RAPEDISTANCEMAPID!!" distanceMapUnitSizes="128" repeatLastDistanceMap="true" atlasSize="1" numBlocksPerUnit="1.4" width="1.5" height="0.5" widthVariance="0" heightVariance="0" horizontalPositionVariance="0.1" blockShapeId="!!WINDROWBLOCKSHAPEID!!" useShapeNormals="false" alignWithTerrain="true"/>
      <FoliageSubLayer name="choppedStraw_haulm" densityMapChannelOffset="0" numDensityMapChannels="1" materialId="99003" cellSize="8" viewDistance="80" terrainOffset="0.07" objectMask="65520" distanceMapIds="!!WHEATDISTANCEMAPID!!" distanceMapUnitSizes="128" repeatLastDistanceMap="true" atlasSize="1" numBlocksPerUnit="1.4" width="1.5" height="0.5" widthVariance="0" heightVariance="0" horizontalPositionVariance="0.1" blockShapeId="!!WINDROWBLOCKSHAPEID!!" useShapeNormals="false" alignWithTerrain="true"/>
    </FoliageMultiLayer>


#######################
Anleitung Teil 5 von 7:

Füge die folgenden <text>-Einträge im <l10n>-Bereich deiner moddesc.xml ein

    <!-- chopped Straw l10n -->
    <text name="choppedStraw">
      <en>Chopped Straw</en>
      <de>Gehäckseltes Stroh</de>
    </text>
    <text name="choppedMaize">
      <en>Chopped maize</en>
      <de>Gehäckselter Mais</de>
    </text>
    <text name="choppedRape">
      <en>Chopped rape</en>
      <de>Gehäckselter Raps</de>
    </text>


#######################
Anleitung Teil 6 von 7:

Füge den folgenden <sourceFile>-Eintrag im <extraSourceFiles>-Bereich deiner moddesc.xml ein.

    <sourceFile filename="map/choppedStraw/fruits.lua" />

  Falls der Bereich <extraSourceFiles> noch nicht vorhanden ist, lautet der Eintrag so:

    <extraSourceFiles>
      <sourceFile filename="map/choppedStraw/fruits.lua" />
    </extraSourceFiles>


#######################
Anleitung Teil 7 von 7:

Kopiere den ORDNER 'choppedStraw' in das Verzeichnis [mapName/map].

Kopiere die ZIP-DATEI 'ZZZ_ChoppedStraw.zip' in deinen Mod-Ordner.


#######################
Abschließend sollte die Map einmal im Giants Editor geöffnet werden. Im Fenster "Scripting" werden eventuelle Fehler angezeigt. Solange diese vorhanden sind, die Map NICHT im Giants Editor abspeichern. Behebe erst alle Probleme im Texteditor.
Bei Fehlerfreiheit die Map einmal im Giants Editor abspeichern.

#######################
Fehlersuche:

Sollte im Spiel kein Stroh erscheinen, ist als erstes die log.txt zu prüfen. Bei korrekt installiertem choppedStraw findet man drei Einträge:

  *** ChoppedStraw fruittypes registered!
  *** ChoppedStraw v15.x.xx specialization loading ***

Fehlt der erste Eintrag, wird die fruits.lua nicht gefunden. Prüfe Anleitung Teil 6 & 7!
Fehlt der zweite Eintrag, stimmt etwas mit ZZZ_ChoppedStraw.zip nicht. Prüfe Anleitung Teil 7!
