mdcii-engine icon indicating copy to clipboard operation
mdcii-engine copied to clipboard

cod_bringup Diskussionen

Open siredmar opened this issue 6 years ago • 8 comments

Hier mal ein Thread, bei denen wir uns austauschen koennen, was noch nicht korrekt umgesetzt ist fuer den COD Parser. @roybaer: Du hattest erwaehnt, was noch nicht ganz passt. Kannst du kurz beschreiben was genau ggf. mit Screenshot? Danke!

siredmar avatar Oct 19 '19 07:10 siredmar

Ich habe mal deine Spielstaende geladen. Spielstand gam10.sav: Es gibt hier offenbar tiles, die nicht in der COD auftauchen? Ich hab die Vanilla Version von Anno, mit welcher Version wurden deine Spielstaende denn erzeugt? Ggf. ist hier das ein oder andere Tile dazugekommen. Man sieht das, da manche Tiles gar nicht dargestellt werden und auch keine Bebauung unter dem Mauzeiger angezeigt wird (siehe Bild). fehler1

siredmar avatar Oct 19 '19 07:10 siredmar

Ich hab die Vanilla Version von Anno, mit welcher Version wurden deine Spielstände denn erzeugt? Ggf. ist hier das ein oder andere Tile dazugekommen.

Genau die Version sollte es sein.

Man sieht das, da manche Tiles gar nicht dargestellt werden und auch keine Bebauung unter dem Mauszeiger angezeigt wird (siehe Bild).

Ich sehe da gewöhnliche grüne Wiese mit Index 102.

Du hattest erwähnt, was noch nicht ganz passt. Kannst du kurz beschreiben was genau ggf. mit Screenshot?

Primär drei Sachen, die wahrscheinlich alle zusammen hängen:

  1. Lagerstände in Betrieben werden fälschlicherweise als Animation visualisiert
  2. Die Reife von Feldern wird nicht dargestellt, d.h. beim Index für noch wachsende Felder wird immer das frisch gesäte angezeigt
  3. Die Animation des Meeres ist irgendwie auf der Strecke geblieben

In den COD-Dateien müsste es ein Flag geben, das angibt, ob die Animationsschritte tatsächlich Animationsschritte oder Lagerstände sind. Bei dem Rest müssen wir mal sehen.

roybaer avatar Oct 19 '19 10:10 roybaer

Kleiner Einschub: Der cod_parser_test segfaultet bei mir, da die test.cod nicht im Path ist. Das sollte beim Programmstart getestet werden. Der Segmentation Fault selber passiert in cod_parser.cpp Zeile 53, weil die Schleifenbedingung buffer.size() - 1 underflowt (für buffer.size() == 0).

Green-Sky avatar Oct 19 '19 20:10 Green-Sky

Kleiner Einschub: Der cod_parser_test segfaultet bei mir, da die test.cod nicht im Path ist. Das sollte beim Programmstart getestet werden. Der Segmentation Fault selber passiert in cod_parser.cpp Zeile 53, weil die Schleifenbedingung buffer.size() - 1 underflowt (für buffer.size() == 0).

cod_parser_test ist kein unit test. Einfach nur ein testprogramm um die geparsten COD Daten anzuschauen. Usage:

./cod_parser_test --help
Zulässige Optionen:
  -c [ --cod ] arg (=test.cod) Path to .cod file
  -d [ --decrypt ] arg (=1)    decrypt true/false
  -h [ --help ]                Gibt diesen Hilfetext aus

Beispiel: ./cod_parser_test -c /hier/liegt/die/test.cod

siredmar avatar Oct 20 '19 15:10 siredmar

Punkt 2: Die Reife von Feldern wird nicht dargestellt, d.h. beim Index für noch wachsende Felder wird immer das frisch gesäte angezeigt Punkt 3: Die Animation des Meeres ist irgendwie auf der Strecke geblieben

-> Punkt 2 und 3 wurden im PR #17 gefixt.

siredmar avatar Oct 22 '19 12:10 siredmar

Punkt 1: Lagerstände in Betrieben werden fälschlicherweise als Animation visualisiert

Es werden nun nur Gebaeude animiert, die auch animiert werden sollen (Muehle, ...) Lagerstaende werden derzeit nicht visualisiert. Diese sind, so weit ich das ueberblicke, derzeit auch noch gar nicht implementiert, oder?

Siehe auch #17

siredmar avatar Oct 22 '19 14:10 siredmar

Der jeweils aktuelle Lagerstand sollte als „Animationsschritt“ im entsprechenden Inselfeld gespeichert sein, wenn ich das noch richtig im Kopf habe. Der darf dann halt nur nicht inkrementiert werden, sonst fängt 's an zu zappeln.

roybaer avatar Oct 23 '19 19:10 roybaer

Hi! Der aktuelle Lagerstand wird auch in der letzten Version vor meinen Aenderungen nicht angezeigt. Habe den Stand hier probiert (https://github.com/roybaer/mdcii-engine/commit/b9c801600f212deb410ca0aace6a482c6afe23da) Der beinhaltet auch keine Visualisierung der Lagerstaende beim Holzfaeller oder Steinbruch. Das Thema sollten wir dann nach dem Merge angehen.

siredmar avatar Oct 29 '19 09:10 siredmar