Anno FC Converter und Editieren der CDATA in .fc

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Anno FC Converter und Editieren der CDATA in .fc

      So wieder etwas einfacher gemacht, erstmal danke an Judekw dass er mir das ganze erklärt hat wie die .fc funktioniert.

      Da es mir aber zu umständlich war jedes Mal die .fc im Hexeditor zu bearbeiten habe ich ein kleines Tool geschrieben was das Bearbeiten der Dateien etwas vereinfachen soll.
      github.com/taubenangriff/AnnoFCConverter

      Dort unter releases die exe herunterladen und dorthin kopieren wo sich die .fc befindet.
      Dann mit shift und rechtsklick ein Powershell Fenster öffnen und dort AnnoFCConverter.exe mit den gewünschten Argumenten starten:

      -r <InputFilename> für 1800 und -rz <InputFilename> für 2070 um <InputFilename> in eine .html zu konvertieren
      -w <InputFilename> für 1800 und -wz <InputFilename> für 2070 um <InputFilename> zurück in .fc zu konvertieren
      -o <OutputFilename> um einen anderen Dateinamen für die Outputdatei festzulegen.
      -y um die Outputdatei zu überschreiben.

      Also um bspw die hypothetische Anno 1800-Datei getreidefarm.fc lesbar zu machen und als output.html auszugeben sowie die vorhandene output.html zu überschreiben: AnnoFCConverter.exe -r getreidefarm.fc -o output.html -y

      Nun alles was man dann machen muss ist die generierte html mit einem Texteditor zu öffnen. Was sich gegenüber der .fc geändert hat ist alles was mit CDATA zu tun hat:

      <GuidVariationList>CDATA[8 1000143 0]</GuidVariationList> steht bspw für eine Liste an GUIDs (die sind in der asset verlinkt).
      Innerhalb CDATA steht die erste Zahl für die Größe der CDATA in Bytes (die erste Zahl nicht mitgezählt), in diesem Fall sind es 8 Bytes weil beide Zahlen dahinter 32 bit Integer sind. Die letzte Zahl habe ich keine Ahnung was das ist die ist immer -1 oder 0, wahrscheinlich also an/aus, müsste man mal rumprobieren mit. Die Zahl in der Mitte ist die GUID die für die Figur geladen wird, dabei kann man auch mehrere GUIDs angeben aus denen eine ausgewählt wird. Beachten muss man aber, dass dann auch die Größe von CDATA geändert werden muss.

      Für Anno 2070 ist noch wichtig dass die Werte in der Orientation keine ints sondern floats sind und die Positionen mit 0.001 multipliziert werden müssen.

      Wenn man die .fc so umgeschrieben hat wie man möchte nimmt man sich jetzt wieder den Converter und lässt den aus der bearbeiteten .html die .fc generieren. Sollte es irgendwelche Probleme geben erstellt bitte ein issue auf github.

      Liebe Grüße
      Taubenangriff

      P.S. Danke an meow dass er über meinen Code drübergeschaut hat :)