Deutsches Simutransforum
pedestrians -> intro_year= - Druckversion

+- Deutsches Simutransforum (https://www.simutrans-forum.de/mybb)
+-- Forum: Simutrans (https://www.simutrans-forum.de/mybb/forumdisplay.php?fid=3)
+--- Forum: Bugs und Probleme (https://www.simutrans-forum.de/mybb/forumdisplay.php?fid=11)
+---- Forum: behobene Bugs (https://www.simutrans-forum.de/mybb/forumdisplay.php?fid=12)
+---- Thema: pedestrians -> intro_year= (/showthread.php?tid=9061)

Seiten: 1 2


pedestrians -> intro_year= - makie - 15-09-2019

Bei den pedestrians (Fußgängern) gibt es derzeit kein intro_year= oder retire_year=.

Bei den Fußgängern gibt es aber auch Radfahrer und Motorradfahrer, das ist historisch vor 1900 nicht korrekt.
Bzw. vor 1885 bei den "Sicherheits" Fahrrädern.

Man kann das bisher nicht auf Jahre eingrenzen. intro_year= oder retire_year= wären hier nützlich.

Auch die Mode der Fußgänger ändert sich. Wäre also nützlich.

Heart


RE: pedestrians -> intro_year= - prissi - 16-09-2019

Eigentlich hat jedes objet ein solches Datum, d.h. makeobj sollte es auch schon akzeptieren. Einbau laesst sich das fix.


RE: pedestrians -> intro_year= - makie - 16-09-2019

nein makeobj weist ab
ich hab das schon getestet bevor ich hier geschrieben habe


RE: pedestrians -> intro_year= - prissi - 22-09-2019

Ok, eingebaut in r8826


RE: pedestrians -> intro_year= - makie - 22-09-2019

Danke,
werde ich bei Gelegenheit testen


RE: pedestrians -> intro_year= - makie - 29-09-2019

Verzeihung das ich erst jetzt zum testen gekommen bin.
makeobj lässt sich nicht bei mir nicht kompilieren.


===> CXX ../descriptor/writer/pedestrian_writer.cc
../descriptor/writer/pedestrian_writer.cc: In member function ‘virtual void pedestrian_writer_t::write_obj(FILE*, obj_node_t&, tabfileobj_t&)’:
../descriptor/writer/pedestrian_writer.cc:76:24: error: ‘intro_date’ was not declared in this scope
  76 |  node.write_uint16(fp, intro_date,          8);
     |                        ^~~~~~~~~~
../descriptor/writer/pedestrian_writer.cc:77:24: error: ‘retire_date’ was not declared in this scope
  77 |  node.write_uint16(fp, retire_date,        10);
     |                        ^~~~~~~~~~~
make: *** [../uncommon.mk:47: ../build/default/descriptor/writer/pedestrian_writer-makeobj.o] Fehler 1


RE: pedestrians -> intro_year= - prissi - 29-09-2019

Sollte jetzt gehen. Habe ich wohl vergessen zu submitten, als das SVN crashte.


RE: pedestrians -> intro_year= - makie - 29-09-2019

makeobj weist immer noch ab
Zitat:Makeobj version 60.2.R8828 for Simutrans 120.4.2 Nightly Makie R8828 and higher
Warning: BICYCLE_RIDER_P0:    Entry "intro_year=1885" ignored (check spelling)
Warning: BICYCLE_RIDER_P0:    Entry "intro_month=1" ignored (check spelling)
Warning: BICYCLE_RIDER_P1:    Entry "intro_year=1885" ignored (check spelling)
Warning: BICYCLE_RIDER_P1:    Entry "intro_month=1" ignored (check spelling)

da fehlt wohl noch was in pedestrian_writer.cc

wenn man

Zitat:    uint16 const intro_date =
        obj.get_int("intro_year", DEFAULT_INTRO_DATE) * 12 +
        obj.get_int("intro_month", 1) - 1;

    uint16 const retire_date =
        obj.get_int("retire_year", DEFAULT_RETIRE_DATE) * 12 +
        obj.get_int("retire_month", 1) - 1;

einbaut dann geht es. Das habe ich bei Citycar_writer geklaut.

Hat einen netten Effekt.
[Bild: nurrad.png]
Da sind nur Radfahrer zu sehen.
Wir haben das Jahr 1899.
Die Fahrräder haben intro_year=1885. Das Sicherheitsfahrrad wie es damals hieß wurde 1885 erfunden. Davor gab es Hochräder.
Fußgänger haben derzeit kein intro_year= da zieht also der Default von 1900.
Deshalb sind da keine Fußgänger.


RE: pedestrians -> intro_year= - prissi - 02-10-2019

Danke, das habe ich echt vermasselt. In 8834 behoben.


RE: pedestrians -> intro_year= - makie - 14-10-2019

Änderung pedestrian_writer.cc revision 8841 ist nicht gut.

Zitat:    uint16 const intro_date = 1;
    uint16 const retire_date = 0xFFFEu;


damit liest er die Parameter nicht mehr aus der .dat

ich würde da eher das empfehlen
Zitat:    uint16 const intro_date =
        obj.get_int("intro_year", 1) * 12 +        // no DEFAULT_INTRO_DATE here
        obj.get_int("intro_month", 1) - 1;

    uint16 const retire_date =
        obj.get_int("retire_year", DEFAULT_RETIRE_DATE) * 12 +
        obj.get_int("retire_month", 1) - 1;