Logbucheintrag Früchteeinbau, aber richtig....
Work in Progress

578033

Früchteeinbau, aber richtig....

So habe, viel recherchiert und in Foren gestöbert und gegoogelt und sehr viel probiert und getestet. Getestet und Probiert....Zig verschiedenste Ansätzen nachgegangen. Und so weiter und so weiter...

Bisher konnte ich folgende Schlüsse ziehen:

1. Bei Verwendung mehrerer FruitDensity.GRLE Dateien funktioniert nur eine (die erste) wirklich.

-------------------------------------------------------------------------

2. Wird ein Frucht gegrubbert oder gepflügt die in einer anderen GRLE gespeichert wird, so verschwindet diese zwar am Feld aber eben nicht aus der GRLE und wächst nach. Es ist auch möglich mehr als eine Frucht zu sähen, sofern die Früchte in verschiedenen GRLE Dateien gespeichert werden. Es wachsen dann auch beide, bzw. die vorher gegrupperte Frucht wächst wieder! Viel bisher nicht auf, da diese ja auch im Pausemenü nicht sichtbar waren.

--------------------------------------------------------------------------

3. Es ist mir bisher nicht gelungen die anderen GRLE im Spiel (also beim Grubbern, Säen, Pflügen...) zu modifizieren.

---------------------------------------------------------------------------

4. Endlich weiss ich wie man bis zu 64 Früchte in eine GRLE bekommt und somit eigentlich die Früchte wie vorgesehen erweitert! Damit hat sich auch die Frage geklärt warum es eine Einschränkung von 64 Früchten gibt, warum diese auch für Filltypes gilt ist mit aber immer noch schleierhaft. (Kann man aber aushebeln!)

-------------------------------------------------------------------------------

5. Früher wurden nur 12Bits (drei 4er Gruppen von Bits) für die Fruchtart, Wachstum, Nebenprodukt verwendet. Jetzt sind ja 16 möglich. Eventuell sind auch mehr möglich, dies bin ich gerade am Testen. Aber mit dem Giants-Editor gibts eben ein paar Einschränkungen, weil dieser nur 16 Bit (Von 0 - 15) zur Auswahl angibt (Sehr statisch das Teil, trotz der neuen Version)

Um eine Map um Früchte zu erweitern ist folgendes von nöten:

<FoliageMultiLayer densityMapId="28" numChannels="16" numTypeIndexChannels="8">

Die densityMapId ist die Id für die fruitdensity.grle. In diesem Fall 28.

numChannels gibt die Anzahl der Bits an -> also 16. (Ob eine weitere Erhöhung funktioniert, teste ich gerade)

numTypIndexChannels gibt die Anzahl der Bits an, die für die Identifizierung der Frucht nötig sind. Normalerweise sind es 4. 2^4=16 Früchte. Daher erhöhen wir auf 8 -> 2^8 ist 256!

Warum erhöhen wir um 4 Bits? Nun man kann sagen, dass 4 Bits eben noch frei sind von den 16, daher nehmen wir noch 4 Bits für die Früchte.

 

Weiters müssen wir bei den einzelnen Früchten ebenfalls die Offsets um 4 Bits erhöhen!

<FoliageSubLayer name="wheat"             densityMapTypeIndex="01" densityMapChannelOffset="8" numDensityMapChannels="4" materialId="54"     cellSize="8" viewDistance="80" terrainOffset="0.1" objectMask="65520" distanceMapIds="29;30;31;32;33;33;33;34;35" distanceMapUnitSizes="128;128;128;128;128;128;128;128;128" atlasSize="1" numBlocksPerUnit="1.2" width="1.5" height=";0.25;0.5;0.9;1;1;1;0.9;0.13" texCoords=";0 0 0.25 0.25;0 0.5 0.25 0.5;0.25 0 0.25 1;0.5 0 0.25 1;0.5 0 0.25 1;0.5 0 0.25 1;0.75 0 0.25 0.75;0.5 0 0.25 0.144" widthVariance="0" heightVariance="0.2" horizontalPositionVariance="0.5" numStates="9" growthNumStates="7" growthStateTime="2.4e+007"/>

densityMapTypeIndex gibt den Index der Frucht an. Also den Wert den die ersten 4 bzw jetzt 8 Bits einnehmen. ZB: 12 ist binär 0011 -> Im Giants Editor ist das Häckchen bei den Foliage Channels bei 2 und 3, Während 1 binär 0001 ist -> Im Giants Editor ist das Häckchen bei den Foliage Channels bei 0....

densityMapChannelOffset gibt die Stelle des Bits an, ab welcher die Wachstumsstufe angegeben werden. Normalerweise 4, hier muss er aber um 4 Bits erhöht werden, also 8. Bei Windrow und Haulm ebenfalls um 4 erhöhen also statt 8 verwenden wir nun 12.

numDensityMapChannels gibt die Anzahl der Bits für die Wachstumsstadien an. Üblicherweise 4. Diesen brauchen wir nicht zu verändern. Man könnte hiermit sicherlich die Anzahl der Wachstumsstadien für die Frucht beeinflussen (weniger oder mehr).

numStates gibt scheinbar die Anzahl der gesamten Wachstumsstadien der Frucht an. Üblich ist 9 bzw. 10 bei Früchten die präpariert werden müssen (zB Kartoffeln oder Zuckerrüben). 4xWachstum, 3xErntereif, 1xVerfault, 1xAbgeerntet macht 9.

----------------------------------------------------------------------

6. Selbst, wenn der richtige Einbau von Früchten funktioniert und eventuell sogar uneingeschränkt, so muss ich immer noch einen Weg finden, um das GRLE dilemmer wenigstens zu umgehen. Derzeit habe ich zwei Lösungsansätzen herausgefiltert:

a. Vor dem Laden der Map die I3d parsen und gegebenenfalls modifizieren. Hier liegt die Schwierigkeit darin, heraus zu finden, welche FoliageMultiLayer bzw. welche densityMapId's die für Früchte sind! Hierzu würde ich Anregungen sehr schätzen.

b. Weitere GRLE-Dateien werden beschrieben, wenn gesät wird -> Also muss es auch einen Weg geben in die andere Richtung! Hier liegt die Schwierigkeit darin, dass ich bereits hunderte von Versuchen gemacht habe dies mit den zur verfügung stehenden und bekannten onboard mitteln der Engine zu lösen. Bisher Sackgasse!

Tja, für jede weitere Erleuchtung oder Anregung wäre ich dankbar.

von BlueTiger
Modhoster Userbewertung
5.0 / 2 Stimmen

0 Kommentare

Um Kommentare schreiben zu können musst du dich einloggen.
Du kannst dich auch kostenlos registrieren, falls du noch keinen Account hast - dauert nur eine Minute.

Noch keine Kommentare vorhanden.

Schreibe den ersten Kommantar...

      }