Beiträge: 180
Themen: 19
Registriert seit: Nov 2008
Bewertung:
0
14-12-2010, Tuesday-01:39:54
Simutrans-Version:
Nee, diesmal makeobj.50
PAK-Set (+zusätzliche PAK-Dateien):
Diesmal sehr egal
Betriebssystem:
Debian GNU/Linux
Fehler (möglichst genaue Beschreibung):
Bei einem "/" in einem inline comment vermisst makeobject die image number:
writing file ./menu.DialogeTools.pak
packing menu.DialogeTools
ERROR IN CLASS image_writer_t: no image number in icons.2.1 # file/options
Workarounds:
- Steht der Kommentar in einer eigenen Zeile, stört er nicht mehr.
- Wenn der böse Slash weg ist, läufts auch.
Verhalten (Absturz, Einfrieren, ...):
makeobject beendet sich, leichte Wutanfälle bei mir nach langer Fehlersuche, ansonsten nix.
Beiträge: 7.536
Themen: 249
Registriert seit: Apr 2013
Bewertung:
27
14-12-2010, Tuesday-01:50:43
Kommentare dahinter sind eh nicht erlaubt. Das sie bis jetzt funktioniert haben ist reine Glücksache. "#" ist KEIN Kommentarzeichen für makeobj. "!" oder "$" oder irgend etwas anderes würde auch funktionierten. makeobj ignoriert einfach alle Strings, die es nicht kennt.
Es könnte ja auch sein, dass du die Datei "moebel #haus.png" haben willst. Das ist ein legaler Dateiname unter windows ... (Übrigens: Punkte im "Kommentar" würden auch für Chaos sorgen)
Findet es also eine /, dann wird nur dahinter nach einem Punkt gesucht, denn die Datei muss ja logischerweise dahinter sein.
Mit Dateien die "version.2.png" heißen kommt daher makeobj auch nicht klar ...
Beiträge: 180
Themen: 19
Registriert seit: Nov 2008
Bewertung:
0
14-12-2010, Tuesday-02:30:57
*seufz*
Ich habs auch grad gemerkt. Mir kam der komische Verdacht, dass dieses array vielleicht schlicht in C-Code includiert wird. Dann verstehe ich die Kommentarregeln.
1. Vorschlag: Diese Regeln mal oben reinschreiben.
2. Vorschlag: Zeichen, die völlig normal in Dateinamen auftauchen dürfen, anders abfangen.
Edit:
Moment mal, da fällt mir noch was auf:
Zitat Prissi: "Kommentare dahinter sind eh nicht erlaubt."
Heisst dass, "//" geht auch nicht? Liege ich etwa mir meiner Vermutung, dass sei C-Syntax, auch daneben? Wenn ja: Was ist das denn eigentlich?
14-12-2010, Tuesday-11:02:09
die dat-dateien werden so eingelesen:
-- es wird nach Zeilen gesucht 'name = irgendwas' und damit eine Tabelle name->irgendwas gefuellt
-- kommt eine Zeile mit '-'-Zeichen - dann Ende, weil dort das naechste Objekt anfaengt.
also: Kommentare nur auf eigene Zeilen schreiben.
Beiträge: 7.536
Themen: 249
Registriert seit: Apr 2013
Bewertung:
27
14-12-2010, Tuesday-12:15:47
Was Daniel sagen wollte:
- In einer Parameterzeile (also alles mit "=") sind keine Kommentare erlaubt.
- ALLES, was nicht ein Parameter ist, ignoriert. (=Kommentar)
- Ausnahme: wenn eine Zeile mit "-" anfängt, dann wird ein neues Objekt angefangen.
Gültige Kommentarzeilen sind für "Hier kommt ein Auto" also auch:
--
Hier kommt ein Auto
obj=vehicle
Wegtype Straße
waytype=road
....