Comments (6)
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.
@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.
@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.
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.
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.
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)
- parsing class for SIEDLER HOT 1
- parsing class for ROHWACHS2 HOT 1
- Translate Readme.md
- Add `gam_parser` test executable to enable parsing of .gam, .szs, .szm files and see the contents.
- Eliminate initial lgtm errors and warnings to improve code quality rating.
- Screenshots? HOT 3
- Eliminate compiler warnings for a clean build HOT 1
- Make loading of singleplayer scenario files working
- Eliminate double parsing of haeuser.cod HOT 1
- reimplement islandbmp
- worldbmp
- remove `inselbmp` and `weltbmp`
- Replace rendering engine with refactored code
- Release build crashing because of issue in nanogui-sdl
- worldbmp does not show all random islands
- Some scenarios would't load because of stack corruption
- Table in menu vertical spacing
- Fragen zur Insel.cpp HOT 50
- History Edition - BSH Files HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mdcii-engine.