Open ghost opened 5 years ago
Meine zeitlichen Kapazitäten sind zur Zeit leider sehr begrenzt.
Hier ist eine Liste der Sachen, die ich prinzipiell für am wichtigsten halte:
boost::spirit
. Für COD kann der Decoder-Filterstream aus mdcii-codcat
wiederverwendet werden.boost::graph
Und irgendwann zwischendurch eine GUI auf Basis der GAD-Dateien. Das ist natürlich alles zusammen noch eine ganze Menge Arbeit.
Ich hatte also recht... Du hast scheinbar viel Wissen was die Dateien und deren Verwendung angehen. Kannst du irgendwo noch beschreiben welche files wozu benutzt werden, was drin steckt, und wie sie (zumindest in der Theorie) dekoriert werden können?
Ggf. Kann man über github issues die Sachen steuern und den jeweiligen input liefern. Die Implementierung und Doku der Infos, kann dann ja im jeweiligen pull Request geschehen.
Der workflow wäre dann also ungefähr so: Du schreibst ein issue mit der Beschreibung was getan werden soll und lieferst ggf. Antworten bei Rückfragen. Jemand implementiert das und stellt nen PR. Der PR wird von z. B. Die Reviewed und gemerged.
Kannst du irgendwo noch beschreiben welche files wozu benutzt werden, was drin steckt, und wie sie (zumindest in der Theorie) dekoriert werden können?
Also die GAD-Dateien beschreiben die ganzen Menüs, einschließlich anklickbarer Grafiken und Button-IDs. Sie sind für den menschlichen Leser weitgehend selbsterklärend, aber dafür für die Maschine schwieriger zu parsen.
Die COD-Dateien haben etwa das gleiche Format, sind aber per Zweierkomplement (d.h. Vorzeichenwechsel) „verschlüsselt“. Der Einzeiler ./mdcii-codcat Haeuser.cod > Haeuser.txt
hilft hier weiter. Da ist quasi alles drin beschrieben, was mit den Häusern zu tun hat.
Ansonsten steht zu den Spielständen alles in strukturen.hpp
, ergänzt durch bitflags.md
und warencodes.md
.
Die Inseldaten sind in der Datei kein zweidimensionales Array, sondern eine Liste von Inselfeldern bzw. Gebäuden mit X- und Y-Koordinate.
Mein zweidimensionales Array missbraucht dann diese Koordinaten-Variablen für die Position im aktuellen Feld bzw. Gebäude. Bei 1x1-Feldern ist das immer (0|0).
Nachtrag: inselfeld_t
ist in insel.hpp
, nicht in strukturen.hpp
.
Ich schreibe zufälligerweise gerade mein Wissen zu den ganzen Anno files zusammen. Und werde das dann die Tage öffentlich schalten. Habe aber zurzeit viel um die Ohren, also bitte etwas gedulden... Da es aktuell eine private GitHub Repo ist, könnt ich aber schon Zugriff verteilen, bis es einen füll und leserlichkeits Zustand hat, den ich für Öffentlich vertretbar halte.
So. Ich hab das Projekt jetzt einfach mal öffentlich gemacht. Es fehlt noch viel, und Rechtschreibung ist auch noch ein Probelm. Wenn ihr Fehler findet bitte melden :smile: .
Ich wollte nur mal generell fragen, wie es hier so weiter geht. Du warst ja lange Zeit relativ aktiv mit einer jetzt längeren Schaffunkgspause.
Meine bisherigen Änderungen sind maßgeblich beeinflusst von der Bedienbarkeit des Ganzen (Dateien auffinden und laden, etwas mehr Fehlerbehandlung). Ich glaube du hast nen Haufen Wissen über die Dateiformate und deren Inhalte. Gibt's einen Plan, wo es in der nächsten Zeit hingehen soll? Hast du Kapazitäten aktiv weiter zu machen?