Skip to content

Commit 6cdbdfe

Browse files
committed
Provide integer to SignalFunction conversion
1 parent 28372a4 commit 6cdbdfe

File tree

2 files changed

+29
-8
lines changed

2 files changed

+29
-8
lines changed

Source/Orts.Formats.Msts/SignalScripts.cs

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2513,6 +2513,33 @@ public SCRParameterType(SCRTermType TypeIn, int IntIn)
25132513
{
25142514
PartType = TypeIn;
25152515
PartParameter = IntIn;
2516+
switch(IntIn)
2517+
{
2518+
case 0:
2519+
SignalFunction = SignalFunction.NORMAL;
2520+
break;
2521+
case 1:
2522+
SignalFunction = SignalFunction.DISTANCE;
2523+
break;
2524+
case 2:
2525+
SignalFunction = SignalFunction.REPEATER;
2526+
break;
2527+
case 3:
2528+
SignalFunction = SignalFunction.SHUNTING;
2529+
break;
2530+
case 4:
2531+
SignalFunction = SignalFunction.INFO;
2532+
break;
2533+
case 5:
2534+
SignalFunction = SignalFunction.SPEED;
2535+
break;
2536+
case 6:
2537+
SignalFunction = SignalFunction.ALERT;
2538+
break;
2539+
default:
2540+
SignalFunction = SignalFunction.UNKNOWN;
2541+
break;
2542+
}
25162543
}
25172544

25182545
// <summary>

Source/Orts.Simulation/Simulation/Signalling/SIGSCRfile.cs

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -529,10 +529,7 @@ public int SH_function_value(SignalHead thisHead, SignalScripts.SCRScripts.SCRSt
529529
parameter1_value = SH_termvalue(thisHead, thisParameter,
530530
localFloats, sigscr);
531531

532-
if (thisParameter.SignalFunction != null)
533-
{
534-
function1 = thisParameter.SignalFunction;
535-
}
532+
function1 = thisParameter.SignalFunction;
536533
}
537534

538535
if (thisTerm.PartParameter.Length >= 2)
@@ -541,10 +538,7 @@ public int SH_function_value(SignalHead thisHead, SignalScripts.SCRScripts.SCRSt
541538
parameter2_value = SH_termvalue(thisHead, thisParameter,
542539
localFloats, sigscr);
543540

544-
if (thisParameter.SignalFunction != null)
545-
{
546-
function2 = thisParameter.SignalFunction;
547-
}
541+
function2 = thisParameter.SignalFunction;
548542
}
549543
}
550544

0 commit comments

Comments
 (0)