Giter Club home page Giter Club logo

Comments (6)

siredmar avatar siredmar commented on July 3, 2024 1

Meinen cod Parser gibt's ja schon in C++. Du kannst ihn rausnehmen und in eine Lib packen, wenn du möchtest. Er arbeitet mit protobuf. Daraus lässt sich ein json dumpen oder besser idealerweise gleich protobuf benutzen und ne eigene Klasse damit befüllen (siehe unten).
Hier der cod Parser code:
cod_parser.cpp
codhelpers.cpp
cod_parser.hpp
codhelpers.hpp

Hier ein Beispiel für die haeuser. cod

Hier das proto file

Hier ein cod-Exporter, der nen json dump macht

from mdcii-engine.

siredmar avatar siredmar commented on July 3, 2024

@stwe mein Scope aktuell ist alles an Spieldaten zu verstehen, zu parsen und erstmal reinzuholen was geht. Das faengt bei den COD/GAD Dateien an und hoert bei den verschiedenen Chunks und Inseldaten auf. Ich hab nicht unbedingt vor einen Savegamekompatibles spiel zu erzeugen. Es gibt da noch sehr viel zu erforschen, was noch nicht eindeutig klar ist. Wichtig ist zu identizieren was man unbedingt von den Original Files braucht und was kann mann sich erschliessen. Da ich wirklich kurz angebunden bin, ist meine Roadmap aktuell mal den COD Parser zu portieren. Kleine Schritte.

C++ ist fuer mich ein erstmal ein abgeschlossenes Thema. Wenn ich das weiter verfolge, dann in der Sprache, die ich taeglich nutze.
Mit Go hat man:

  • eine Sprache, die wirklich einfach und schnell zu lesen und zu verstehen ist
  • keine Probleme mit Dependencies und Libraries
  • keine externen Package manager wie Conan
  • keine Freaky Build Systeme
  • simple Crossbuilds
  • statische Binaries wenn man das moechte
  • genug Game Engines, die man nutzen kann*

Go ist nicht schwer. Das lernt man tatsaechlich nebenbei :-)

from mdcii-engine.

stwe avatar stwe commented on July 3, 2024

@siredmar da ergänzen wir uns gut. Ich habe Urlaub und gerade ein neues Projekt gestartet, in der Hoffnung, dass mir keiner Ärger macht wegen dem Namen MDCII. Mir ist nichts besseres eingefallen. Aber egal. Mal eine Frage zu Deinem Go Code: Nehmen wir mal an, Du erstellst tatsächlich einen COD Reader in Go. Kann man das Dingen (Libt) irgendwie in C++ nutzen/aufrufen.? Ansonsten wäre ein Projekt sehr gut, welches die CODs in json oder xml zurückgibt.

from mdcii-engine.

siredmar avatar siredmar commented on July 3, 2024

Ansonsten: ja klar kannst du go in C++ nutzen.
go Code compiliert zu object files, gegen die du in C++ linken kannst, als käme sie aus C.
https://stackoverflow.com/questions/62977352/using-go-in-c

from mdcii-engine.

stwe avatar stwe commented on July 3, 2024

Ich habe den Parser mal mittels eines völligen Blindflugs in mein Projekt übernommen und die Boost Abhängigkeit entfernt. Ganz zufrieden bin ich nicht mit meinem Ergebnis (deprecated methods, Probleme mit den Umlauten unter Win), aber so auf den ersten Blick läuft das Ding; er produziert mir jedenfalls eine Json von der haeuser.cod. Ich hatte Deinen Parser schon früher dazu genommen, um mir eine Json zu erstellen, aus der ich dann die Objekte erstellt habe. Mir geht es vor allem darum, dass ich diese Json nicht mit dem Repo verteilen wollte. Ziel erreicht. Wenn mal eine Version in Go fertig sein sollte, nehme ich die gerne....

from mdcii-engine.

siredmar avatar siredmar commented on July 3, 2024

Mein Ansatz wäre es ohnehin einen Importer von original Ressourcen zu bauen. z. b. "hier-sind-die-original-dateien-mach-mir-daraus-was-vernunftiges"
z. b. Grafiken in png umwandeln, cod nach z. b. json, map Format in was vernünftiges, etc.

dann kann man nämlich den Code völlig unabhängig vom eigentlichen originalkrams bauen

from mdcii-engine.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.