officercrockey schrieb:Das geht gut, solange jeder den Steuerwagen auch ans Ende setzt. Sollte irgendjemand (Warum auch immer...) den Steuerwagen nicht ans Ende setzen, kommen schräge Dinge dabei raus.
So ist es.
"Wendezüge" sind ein wenig komplizierter, und "vollständig" mit verantwortbarem Aufwand überhaupt nicht zu implementieren. Dazu müsste nämlich jeder Wagen zB auch auf seine aktuelle Farbgebung (also möglicherweise auf sein Alter) überprüft werden damit die Wagen beim "wenden" nicht "springen". Das müsste irgendwann mal richtig im Spiel implementiert werden, anstatt mit newGRFs herumzuspielen.
officercrockey schrieb:Also ist dieses bitmask_vehicle_info eine Möglichkeit die BR101 nur auf Wendezugbetrieb umzustellen, wenn der IC-Steuerwagen am Ende des Zuges ist? Und wenn ja WIE?
Indem man die jeweils gesetzten bits von Lok und letztem Wagen abfragt und entsprechend handelt (zB sprites von Lok und Wagen vertauscht, Effekte umschaltet, etc). Dazu bräuchtest du aber erst einmal ein Konzept, was du überhaupt machen möchtest (also welche Wagen zB in Wendezügen überhaupt erlaubt sind, etc).
Ich habe zB für Steuerwagen ein bestimmtes bit vorgesehen, sodass ich leicht überprüfen kann ob der letzte Wagen ein STW ist (UB_STW, s.u.), und dann entsprechende Massnahmen ergreifen kann, s. Eddis Beitrag bzgl CB 1D
http://www.ttdpatch.de/grfspecs/Callback...d+%281D%29 (bzw CB_ATAC).
Also so:
Code:
// ------------- DBXL user bits ------------
define(UB_F,0x01) // Fernverkehrswagen
define(UB_N,0x02) // Nahverkehrswagen
define(UB_STW,0x04) // aktiver Steuerwagen
define(UB_FPP,0x08) // Fernverkehrswagen wendezugtauglich
define(UB_NPP,0x10) // Nahverkehrswagen wendezugtauglich
define(UB_MU,0x20) // multiple unit
define(UB_DBXL,0x40) // DBXL vehicle
define(UB_FSWITCH,0x80) // toggle fern: je nachdem (zB IC | LHE)
define(UB_NSWITCH,0x80) // toggle nah: je nachdem (zB <generic> | S-Bahn)
define(UB_ALL,0xFF) // alle bits gesetzt
Ich hab´ das hier vor Jahren mal anhand eines Beispiels in nfo gezeigt (SuFu?), und könnte dir auch ein code-Schnipsel in m4nfo zeigen, aber das wird dir vermutlich nicht wirklich helfen.
Gruß
Michael