Die Anpassung funktioniert im LS17 im Grundsatz gleich wie im LS15. Der Unterschied ist, dass man für einige Einstellungen allerdings selbst eine Lua Datei hinzufügen muss, da nun standardmässig eine Mod-Map keine Scripte mehr hat. Zudem, muss man dort noch einige neue dazugekommenen Variablen verändern, da das Terrain Detail noch mehr Informationen speichert.
- Map i3d anpassen, damit die Density Map genügend Channel hat um die Daten zu speichern:
<DetailLayer name="terrainDetail" numDensityMapChannels="11" ...
ändern zu
<DetailLayer name="terrainDetail" numDensityMapChannels="12" ... - Map i3d anpassen, damit der Shader die Daten des neuen Channels erhält. In der gleichen Zeile wie im vorhergehenden Schritt, das Attribut
combinedValuesChannels="0 3 0;5 2 0;3 2 1"
ändern zu
combinedValuesChannels="0 3 0;5 3 0;3 2 1" - groundShader.xml anpassen:
Die Zeile 207
angle = ceil(angle*3-0.0001)/4*3.14159;
anpassen zu
angle = ceil(angle*7-0.0001)/8*3.14159; - Map Lua (ModMap.lua) Script erstellen umd die Script Variablen anzupassen:
Code: Select all
ModMap = {} local ModMap_mt = Class(ModMap, Mission00) function ModMap:new(baseDirectory, customMt) local mt = customMt if mt == nil then mt = ModMap_mt end local self = ModMap:superClass():new(baseDirectory, mt) -- Number of additional channels that are used compared to the original setting (2) local numAdditionalAngleChannels = 1; self.terrainDetailAngleNumChannels = self.terrainDetailAngleNumChannels + numAdditionalAngleChannels; self.terrainDetailAngleMaxValue = (2^self.terrainDetailAngleNumChannels) - 1; self.sprayLevelFirstChannel = self.sprayLevelFirstChannel + numAdditionalAngleChannels; self.ploughCounterFirstChannel = self.ploughCounterFirstChannel + numAdditionalAngleChannels; return self end
- Die ModMap.lua in der modDesc.xml eintragen:
Die entsprechende Zeile der Map in der modDesc.xml anpassen. Z.b. folgende Zeile
<map id="SampleModMap" className="Mission00" filename="$dataS/scripts/missions/mission00.lua" configFilename="maps/map01.xml" defaultVehiclesXMLFilename="defaultVehicles.xml">
anpassen zu
<map id="SampleModMap" className="ModMap" filename="ModMap.lua" configFilename="maps/map01.xml" defaultVehiclesXMLFilename="defaultVehicles.xml"> - Die cultivator_density.gdm der Map muss entsprechend auf 12 Channels erweitert werden. Dazu konvertiert man am einfachsten die .gdm in eine png und löscht die gdm. Damit kann der Editor die Density Map automatisch auf 12 Channels erweitern beim nächsten Laden. Die Informationen sind dann allerdings ggf. etwas falsch. Z.B. werden Felder die 90° gedreht waren danach 45° gedreht sein, da die Daten danach anders interpretiert werden.
-Dazu von gdn.giants-software.com den GRLE Converter v7.0.1 herunterladen und entpacken.
-Die cultivator_density.gdm der Map auf die Datei "convert.cmd" drag&droppen.
-Sicherstellen, dass eine cultivator_density.png Datei erstellt wurde am gleichen Ort wie die cultivator_density.gdm
-Die cultivator_density.gdm löschen
-Die map mit dem Editor öffnen und sicherstellen, dass nun alles richtig angezeigt wird.
-Die map speichern.
-Sicherstellen, dass nun eine neue cultivator_density.gdm erstellt wurde
-Und zum Schluss die cultivator_density.png wieder löschen.
Die verwendeten Zahlen ermöglichen 8 verschiedene Richtungen, statt den standardmässigen 4. Wenn mehr benötigt werden, müssen die Werte bei numDensityMapChannels, combinedValuesChannels, dem Shader und numAdditionalAngleChannels im Script entsprechend angepasst werden.