Hallo,
Ich habe mit eine alte Strecke herausgesucht, und versucht, diese mit OR zu fahren. Dabei fiel mir auf, dass alle Flügelsignale den HP0-Zustand zeigten auch wenn die Fahrt freigegeben war. (Flügel und Lampe) Wenn ich die Strecke mit MSTS befuhr, funktionierte alles einwandfrei.
Daraufhin habe ich mir die Signaldateien genauer angesehen und es fiel mir auf, dass der Signaltyp 'info' benutzt wurde um den Signal-State auf die Subobjekte zu übertragen. Hier ein Ausschnitt aus den Dateien:
SignalShape (
"KNSig_Fo1DB.s"
"Formsignal DB (HP0/HP1)"
SignalSubObjs ( 8
...
SignalSubObj ( 4 "Fluegel1" " "
SigSubType ( SIGNAL_HEAD )
SigSubSType ( "FoHP1" )
)
SignalSubObj ( 5 "Lamps1" " "
SigSubType ( SIGNAL_HEAD )
SigSubSType ( "FoHP1L" )
)
...
SignalSubObj ( 7 "" " "
SigSubType ( SIGNAL_HEAD )
SigSubSType ( "FoHP_Frwd" )
)
)
)
SignalType ( "FoHP1"
SignalFnType ( Normal )
SemaphoreInfo ( 0.35 )
SignalFlags ( SEMAPHORE )
SignalDrawStates ( 2
SignalDrawState ( 0 "HP0"
SemaphorePos ( 0 )
)
SignalDrawState ( 1 "HP1"
SemaphorePos ( 4 )
)
)
SignalAspects ( 8
...
) SignalNumClearAhead ( 4 )
)
SignalType ( "FoHP1L"
SignalFnType ( INFO )
SemaphoreInfo ( 0.35 )
SignalFlags ( SEMAPHORE )
SignalDrawStates ( 2
SignalDrawState ( 0 "HP0"
SemaphorePos ( 0 )
)
SignalDrawState ( 1 "HP1"
SemaphorePos ( 4 )
)
)
SignalAspects ( 8
SignalAspect ( STOP "HP0" )
SignalAspect ( STOP_AND_PROCEED "HP0" )
SignalAspect ( RESTRICTING "HP0" )
SignalAspect ( APPROACH_1 "HP1" )
SignalAspect ( APPROACH_2 "HP1" )
SignalAspect ( APPROACH_3 "HP1" )
SignalAspect ( CLEAR_1 "HP1" )
SignalAspect ( CLEAR_2 "HP1" )
)
)
SCRIPT FoHP1L
extern float def_draw_state();
extern float this_sig_lr();
extern float state;
extern float draw_state;
state = this_sig_lr(SIGFN_NORMAL); // Aktueller Wert holen
draw_state = def_draw_state(state); // und Status setzen
return;
//
Ich habe mir das Manual von OR angesehen aber keinen Hinweis gefunden, dass Signale vom Typ INFO anders behandelt werden als die anderen Signaltypen.
Als zweite Fehlermöglichkeit, sehe ich die Wahl der Semaphoreposition an. Die Position die hier angegeben wird, kann unter OR anders interprtiert werden. Hier gibt es auch einen Hinweis im OR-Manual. Die Werte sind aber die Originalwerte aus dem Signalpaket von 'Hagen Knop'.
Hier der entsprechende Ausschnitt aus der Shape-Datei:
anim_node Lamps1 (
controllers ( 1
tcb_rot ( 6
tcb_key ( 0 0 0 0 1 0 0 0 0 0 )
tcb_key ( 1 0 0 0 1 0 0 0 0 0 )
tcb_key ( 2 0 0 0 1 0 0 0 0 0 )
tcb_key ( 3 0 0 0 1 0 0 0 0 0 )
tcb_key (4 0 -1.58427E-8 -0.362438 0.932008 0 0 0 0 0 )
tcb_key ( 5 0 -1.58427E-8 -0.362438 0.932008 0 0 0 0 0 )
)
)
)
Hat noch jemand eine Idee?
Viele Grüße
Carl-Heinz