Autor Thema: KVB-Hochflurlinien/OR: Fehler in der sigscr.dat  (Gelesen 771 mal)

Offline BerninaExpress

  • Mitglied
KVB-Hochflurlinien/OR: Fehler in der sigscr.dat
« am: 21.08.2016, 13:20:35 »
Hallo,

ich bin zur Zeit dabei, einen realitätsnahen Fahrplan für die Kölner Hochflurlinien zu erstellen, was dank des Timetable-Editors recht komfortabel klappt. Beim Testfahren eines Kurses der Linie 18 von Thielenbruch nach Klettenberg hab ich mich jedoch gewundert, warum mir denn so gar nichts entgegenkommt. An der Slabystraße gabs dann "Dauerrot", und ein Blick nach vorne verriet: Die Züge stapelten sich vor dem Ebertplatz, da dort ein Signal trotz korrekter Pfade und freiem Gleis nicht auf Fahrt geht. Selbiges bei einigen Signalen im Bereich Dom/Hbf - Appellhofplatz - Poststraße. Bei Erkundungsfahrten tritt das Problem genauso auf und es besteht meines Wissens nach schon seit Erscheinen bzw. meiner Installation der Strecke, wobei ich regelmäßig auf die neuen Testversionen update (aktuell X3609).

Das Log von OR bemängelt folgendes:
Warning: sigscr-file line 360 : Unexpected number of = in string : ELSE{IF ( NEXT_HP = 0 ){IF ( NEXT_HP ==# 0 && NEXT_GUE !=# 2 ){IF ( SIG_FEATURE ( SIGFEAT_USER1 ) ){STATE = 1

Warning: sigscr-file line 360 : Unmatching brackets in : ELSE{IF ( NEXT_HP

Warning: sigscr-file line 391 : Unexpected number of = in string : ELSE{IF ( NEXT_HP = 1 && SIG_FEATURE ( SIGFEAT_USER1 ) ){STATE = 3

Warning: sigscr-file line 391 : Unmatching brackets in : ELSE{IF ( NEXT_HP

Warning: sigscr-file line 398 : Unexpected number of = in string : ELSE{IF ( NEXT_HP = 2 && SIG_FEATURE ( SIGFEAT_USER2 ) ){STATE = 4

Warning: sigscr-file line 398 : Unmatching brackets in : ELSE{IF ( NEXT_HP

Warning: sigscr-file line 405 : Unexpected number of = in string : ELSE{IF ( NEXT_HP >= 3 && NEXT_HP <=# 5 ){STATE = 5

Warning: sigscr-file line 405 : Unmatching brackets in : ELSE{IF ( NEXT_HP >

Warning: sigscr-file line 412 : Unexpected number of = in string : ELSE{IF ( NEXT_HP >= 7 ){STATE = 7

Warning: sigscr-file line 412 : Unmatching brackets in : ELSE{IF ( NEXT_HP >

Warning: sigscr-file line 457 : Unexpected number of = in string : ELSE{IF ( THIS_STATE = 0 ) {STATE = 1

Warning: sigscr-file line 457 : Unmatching brackets in : ELSE{IF ( THIS_STATE

Warning: sigscr-file line 461 : Unexpected number of = in string : ELSE{IF ( THIS_STATE = 5 || THIS_STATE ==# 7 ) {STATE = 0

Warning: sigscr-file line 461 : Unmatching brackets in : ELSE{IF ( THIS_STATE

Warning: sigscr-file line 496 : Unexpected number of = in string : ELSE{IF ( BLOCK_STATE() = BLOCK_CLEAR AND NEXT_STATE >=# 0 AND NEXT_STATE <=# 7 ) {STATE = NEXT_STATE

Warning: sigscr-file line 496 : Unmatching brackets in : ELSE{IF ( BLOCK_STATE()

Warning: sigscr-file line 895 : Unexpected number of = in string : ELSE{IF ( BLOCK_STATE() = BLOCK_CLEAR ) {STATE = NEXT_STATE

Warning: sigscr-file line 895 : Unmatching brackets in : ELSE{IF ( BLOCK_STATE()

s

Warning: sigscr-file line 1066 : Unexpected number of = in string : ELSE{IF ( BLOCK_STATE() = BLOCK_CLEAR && NEXT_STATE ==# 0 ) {STATE = 1

Warning: sigscr-file line 1066 : Unmatching brackets in : ELSE{IF ( BLOCK_STATE()

Warning: sigscr-file line 1070 : Unexpected number of = in string : ELSE{IF ( BLOCK_STATE() = BLOCK_CLEAR && NEXT_STATE >=# 3 && NEXT_STATE < 6 ) {STATE = 5

Warning: sigscr-file line 1070 : Unmatching brackets in : ELSE{IF ( BLOCK_STATE()

Warning: sigscr-file line 1074 : Unexpected number of = in string : ELSE{IF ( BLOCK_STATE() = BLOCK_CLEAR && NEXT_STATE >=# 6 ) {STATE = 7

Warning: sigscr-file line 1074 : Unmatching brackets in : ELSE{IF ( BLOCK_STATE()

Warning: sigscr-file line 1146 : Unexpected number of = in string : ELSE{IF ( BLOCK_STATE() != BLOCK_CLEAR || !ROUTE_SET() ) {STATE = 0

Warning: sigscr-file line 1146 : Unmatching brackets in : ELSE{IF ( BLOCK_STATE() !

Warning: sigscr-file line 1150 : Unexpected number of = in string : ELSE{IF ( SIG_FEATURE ( SIGFEAT_USER1 ) || (ROUTE_SET() && BLOCK_STATE() = BLOCK_CLEAR && ( NEXT_HP <=# 1 || NEXT_HP ==# 3 ) ) ) {STATE = 5

Warning: sigscr-file line 1150 : Unmatching brackets in : ELSE{IF ( SIG_FEATURE ( SIGFEAT_USER1 ) || (ROUTE_SET() && BLOCK_STATE()

Warning: sigscr-file line 1160 : Unexpected number of = in string : ELSE{IF ( BLOCK_STATE() != BLOCK_CLEAR || NEXT_HP ==# 0 ) {STATE = 0

Warning: sigscr-file line 1160 : Unmatching brackets in : ELSE{IF ( BLOCK_STATE() !

Warning: sigscr-file line 1164 : Unexpected number of = in string : ELSE{IF ( NEXT_HP >= 1 || NEXT_HP <=# 4 ) {STATE = 5

Warning: sigscr-file line 1164 : Unmatching brackets in : ELSE{IF ( NEXT_HP >

Dank meiner rudimentären Informatikkenntniss e aus der Schule weiß ich: "=" ist schon mal kein Vergleichsoperator, wenn dann müsste es "==" heißen. In der sigscr ab Zeile 360 steht jedoch:

} else {
if ( next_hp ==# 0 ) {
if ( next_hp ==# 0 && next_gue !=# 2 ) {
if ( sig_feature ( SIGFEAT_USER1 ) ) {
state = 1;
return;

Anscheinend ignoriert das Programm manchmal das zweite "=" und die "#".
Kennt jemand eine Lösung dafür? Liegt das Problem in der Datei oder ist es ein Bug von OR? Ich stelle auf Anfrage auch gerne die betreffende sigscr.dat zur Verfügung.

Ansonsten macht das Stadtbahn fahren im dichten Taktverkehr echt Spaß  :)

Viele Grüße
Sebastian

Offline hotti1

  • Mitglied
Re: KVB-Hochflurlinien/OR: Fehler in der sigscr.dat
« Antwort #1 am: 10.01.2017, 14:35:31 »
Hallo,

in ORTS X3744 sind derlei Meldungen immer noch im Log zu finden.
Gibts denn irgendwelche neuen Erkenntnisse was da ggf. falsch läuft?

Gruß,
Mike

Offline EugenR

  • Mitglied
Re: KVB-Hochflurlinien/OR: Fehler in der sigscr.dat
« Antwort #2 am: 11.01.2017, 22:22:54 »
Die Antwort ist ziemlich einfach:
OR schätzt keine { am Ende einer Zeile.
siehe Dein Beispiel:
if ( next_hp ==# 0 ) {
ersetze diese Zeilen durch:
if ( next_hp ==# 0 )
{
Und schon sollte OR zufrieden sein.
Hoffentlich klappt es.
EugenR