Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
NML - NewGRF Meta Language
Verfasser Nachricht
mb
Tycoon
*****

Beiträge: 5.057
Themen: 55
Registriert seit: Mar 2005
#17
RE: NML - NewGRF Meta Language
officercrockey schrieb:Zu den bits: Da wäre es in der Tat gut, wenn ich mal ein kleines Beispiel hätte, wie sowas aussieht. Das Beispiel von mb habe ich zwar gesucht, aber nur einen weiteren Verweis darauf (~2006) gefunden. Dein Beitrag an sich aber nicht...

Tja, die Sufu ...


Also, ich stelle gerade fest dass ich CB 1D (can wagon be attached) dafür überhaupt nicht nutze, warum nicht fällt mir gerade nicht ein, aber es gab dafür bestimmt Gründe ...

Stattdessen überprüfe ich die Konfiguration des Zugs auf "Wendezugkompatibilität" anhand der gesetzten bits und benutze dann CB 31 (start/stop check). Damit verhindere ich das Ausfahren falsch zusammengestellter Züge aus dem Depot, bzw verhindere zumindest dass sie als Wendezüge benutzt werden können (stattdessen fahren sie dann "normal")..

Der Kern des Problems ist aber in jedem Fall (egal welcher CB nun genutzt wird) die Evaluierung der in der "user bit mask" gesetzten bits:

Code:
//------------------------------------------------------------------ // prop25 bit flags: // // val type // 01 Fernverkehr // 02 Nahverkehr // 04 StW aktiv // 08 Fernverkehr wendezugfähig // 10 Nahverkehr wendezugfähig // 20 n/a // 40 n/a // 80 S-Bahn flag // // 00 .. 03 = n/a // 04 = StW aktiv // 05 .. 07 = F: keine wendezugfähigen Wagen // 08 .. 0B = n/a // 0C = StW + 08 // 0D .. 0F = F: enthält (auch) nicht-wendezugfähige Wagen // 10 .. 13 = n/a // 14 = StW + 10 // 15 .. 17 = F: enthält (auch) nicht-wendezugfähige Wagen // 18 .. 1B = n/a // 1C .. 1F = F: StW + 08 + 10 (+08) -> nicht erlaubte Mischung // //------------------------------------------------------------------

Diese bit-Muster werden dann geprüft und bei Vorliegen falscher Muster werden entsprechende Fehlermeldungen ausgegeben. Ich denke dass dies leicht zu verstehen ist, m4nfo verzichtet lediglich auf die redundanten Schlüsselwörter (feature, self, switch, ..) und beschränkt sich auf den Aufruf der Funktion "ubitsetrel()" die die user bit Masken aller im Zug enthaltenen Fz abfragt und die entsprechenden Fehlermeldungen ausgibt:

Code:
// start-stop check: allow only if correct types of coaches def(21) ubitsetrel(UB_ALL-UB_NSWITCH, // S-Bahn ausgeblendet attach(PP_OK) if(0 .. 3) // normal, allow attach(PP_REQPPCAR) if(5 .. 7) // "Wendezugfähige Wagen erforderlich" attach(PP_OK) if(8 .. 11) // normal, allow attach(PP_BADSET) if(12 .. 15) // "enthält nicht-wendezugfähige Wagen" attach(PP_OK) if(16 .. 19) // normal, allow attach(PP_BADSET) if(21 .. 23) // D029 attach(PP_OK) if(24 .. 27) // normal, allow attach(PP_LDSDSET) if(28) // "enthält N und F Wagen" attach(PP_BADSET) if(29 .. 31) // D029 ref(20) else // möglicher Wendezug: all passenger? ) [...] // CBs def(22) callback( ref(21) if(CB_STOP) // start/stop check ref(23) if(CB_ARTI) // articulated ref(3) else // Grafik ) makevehicle(_BR141, link(ref(10), MENU) default(ref(22)) override(_PLOCALLONG, ref(X_SBAHN)) // switch S-Bahn | generic override(_STWDOSTO, ref(19)) // StW Dosto, bzw .. override(_STWLOCAL, ref(19)) // .. StW normal, je nachdem )

Also, vielleicht auch mal mit CB31 versuchen?

HTH
Gruß
Michael
Zitat:EU-Wirtschaft- und Währungskommissar Joaquin Almunia hat alle Besorgnisse über den Schuldnerstatus Griechenlands als unbegründet zurückgewiesen.
25.08.2011, 10:59
Homepage Suchen Zitieren


Nachrichten in diesem Thema
NML - NewGRF Meta Language - von planetmaker - 17.06.2010, 20:29
RE: NML - NewGRF Meta Language - von Timmaexx - 17.06.2010, 21:05
RE: NML - NewGRF Meta Language - von pETe! - 18.06.2010, 13:07
RE: NML - NewGRF Meta Language - von Eddi - 17.06.2010, 21:56
RE: NML - NewGRF Meta Language - von Bernhard - 21.06.2010, 07:47
RE: NML - NewGRF Meta Language - von Eddi - 21.06.2010, 08:58
RE: NML - NewGRF Meta Language - von Bernhard - 21.06.2010, 11:27
RE: NML - NewGRF Meta Language - von Eddi - 24.08.2011, 13:09
RE: NML - NewGRF Meta Language - von mb - 24.08.2011, 15:53
RE: NML - NewGRF Meta Language - von mb - 25.08.2011, 16:23
RE: NML - NewGRF Meta Language - von mb - 25.08.2011, 10:59
RE: NML - NewGRF Meta Language - von Eddi - 06.09.2011, 17:01
RE: NML - NewGRF Meta Language - von Eddi - 11.09.2011, 19:25

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste

Kontakt | Transport Tycoon Main Station | Nach oben | Archiv-Modus | RSS-Synchronisation