Skip to content

Commit c8450f0

Browse files
committed
Automatic merge of T1.6-89-ga2a9bbcc8 and 13 pull requests
- Pull request #1156 at f46d5f2: Fix incorrectly disabled options in train operations window - Pull request #1086 at d8d61eb: Add Settings Exporter tool (copy settings to INI, etc) - Pull request #1091 at 492795a: Automatic speed control - Pull request #1115 at 270f22f: Do not activate ETS switch if no suitable cars are attached - Pull request #1120 at ba3c47f: Automatically Calculate Friction Values if Missing - Pull request #1121 at 91d2d26: Manually Override Articulation - Pull request #1124 at e241a0d: Built-in PBL2 brake controller - Pull request #1157 at 39cd994: Dynamic brake authorization by TCS - Pull request #1159 at 48c9a63: Skip OR warnings about TSRE-specific token Ruler - Pull request #1161 at 6cfe4e2: Fix string trim in .ini files - Pull request #1082 at 5845a1a: Allow variable water level in glass gauge - Pull request #1128 at 1d7643d: Particle Emitter Overhaul - Pull request #1160 at c45a926: Route Based TTrack Sounds
15 parents f69bce2 + a2a9bbc + f46d5f2 + d8d61eb + 492795a + 270f22f + ba3c47f + 91d2d26 + e241a0d + 39cd994 + 48c9a63 + 6cfe4e2 + 5845a1a + 1d7643d + c45a926 commit c8450f0

File tree

3 files changed

+8
-39
lines changed

3 files changed

+8
-39
lines changed

Source/Documentation/Manual/sound.rst

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -457,7 +457,7 @@ This approach relies on use of the Track Region sounds configured in the TType.d
457457
continuously and contains all track related sounds that need to be played despite the region that the train is in. Further track region SMS files can be created for
458458
different track type regions, such as different bridge types (such as wood, concrete or steel).
459459

460-
To enable this approach the following parameters need to be set accordingly in the route TRK file.
460+
To enable this approach in OR, the following parameters need to be set accordingly in the route TRK file.
461461

462462
``ORTSPlayTrackSoundsBaseContinuous`` - this causes the first SMS file in the TType file to be played continuously. Set to 1 for continuous play or 0 for legacy operation.
463463

@@ -467,11 +467,11 @@ To enable this approach the following parameters need to be set accordingly in t
467467

468468
The following control parameters can be used in the relevant track region SMS files to vary a frequency or volume curve for the sound being played:
469469

470-
``AngleofAttackControlled`` - Varies as the Angle of Attack of a car on a curve varies.
470+
``AngleofAttackControlled`` - Varies as the Angle of Attack of a car on a curve varies, in Milliradian (mRad).
471471

472472
``CarFrictionControlled`` - Varies as friction of car changes, typically between 0 and 1.
473473

474-
``WheelRPMControlled`` - Varies as RPM of wheel changes.
474+
``WheelRPMControlled`` - Varies as RPM of wheel changes, in RPM.
475475

476476
``CarDistanceTrackControlled`` - Distance that the car is from the camera in metres.
477477

@@ -488,9 +488,9 @@ passes over a switch, and can be varied in accordance with the number of axles d
488488
``Xover_2Axle_Trigger``, ``Xover_3Axle_Trigger``, ``Xover_4Axle_Trigger``, ``Xover_6Axle_Trigger``, ``Xover_8Axle_Trigger`` - these triggers are operated when the car passes
489489
over a Cross over, and can be varied in accordance with the number of axles defined in the WAG file. Note that the cross over needs to have been defined within the route editor.
490490

491-
``AngleofAttack_inc_past``, ``Angleofattack_dec_past`` - Varies as the Angle of Attack of a car on a curve varies.
491+
``AngleofAttack_inc_past``, ``Angleofattack_dec_past`` - Varies as the Angle of Attack of a car on a curve varies, in Milliradian (mRad).
492492

493-
``WheelRPM_inc_past``, ``WheelRPM_dec_past`` - Varies as RPM of wheel changes.
493+
``WheelRPM_inc_past``, ``WheelRPM_dec_past`` - Varies as RPM of wheel changes, in RPM.
494494

495495
``ConcreteSleepers_inc_past``, ``ConcreteSleepers_dec_past`` - 0 = wood sleepers, 1 = concrete sleepers
496496

Source/Orts.Formats.Msts/SoundManagmentFile.cs

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -409,7 +409,7 @@ public Discrete_Trigger(STFReader f)
409409
public class Variable_Trigger : Trigger
410410
{
411411
public enum Events { Speed_Inc_Past, Speed_Dec_Past, Distance_Inc_Past, Distance_Dec_Past,
412-
Variable1_Inc_Past, Variable1_2_Inc_Past, Variable1_3_Inc_Past, Variable1_4_Inc_Past, Variable1_Dec_Past, Variable1_2_Dec_Past, Variable1_3_Dec_Past, Variable1_4_Dec_Past, Variable2_Inc_Past, Variable2_Dec_Past, Variable3_Inc_Past, Variable3_Dec_Past, BrakeCyl_Inc_Past, BrakeCyl_Dec_Past, CurveForce_Inc_Past, CurveForce_Dec_Past, AngleofAttack_Inc_Past, AngleofAttack_Dec_Past, WheelRpM_Dec_Past, WheelRPM_Inc_Past, TrackJoints_Inc_Past, TrackJoints_Dec_Past, CarOnSwitch_Inc_Past, CarOnSwitch_Dec_Past, CarOnXover_Inc_Past, CarOnXover_Dec_Past, WagonAxles_Inc_Past, WagonAxles_Dec_Past, ConcreteSleepers_Inc_Past, ConcreteSleepers_Dec_Past, CarInTunnel_Inc_Past, CarInTunnel_Dec_Past, CarCameraDistance_Inc_Past, CarCameraDistance_Dec_Past
412+
Variable1_Inc_Past, Variable1_2_Inc_Past, Variable1_3_Inc_Past, Variable1_4_Inc_Past, Variable1_Dec_Past, Variable1_2_Dec_Past, Variable1_3_Dec_Past, Variable1_4_Dec_Past, Variable2_Inc_Past, Variable2_Dec_Past, Variable3_Inc_Past, Variable3_Dec_Past, BrakeCyl_Inc_Past, BrakeCyl_Dec_Past, CurveForce_Inc_Past, CurveForce_Dec_Past, AngleofAttack_Inc_Past, AngleofAttack_Dec_Past, WheelRpM_Dec_Past, WheelRPM_Inc_Past, ConcreteSleepers_Inc_Past, ConcreteSleepers_Dec_Past, CarInTunnel_Inc_Past, CarInTunnel_Dec_Past
413413
};
414414

415415
public Events Event;
@@ -459,20 +459,10 @@ public Variable_Trigger(STFReader f)
459459
case "angleofattack_dec_past": Event = Events.AngleofAttack_Dec_Past; break;
460460
case "wheelrpm_inc_past": Event = Events.WheelRPM_Inc_Past; break;
461461
case "wheelrpm_dec_past": Event = Events.WheelRpM_Dec_Past; break;
462-
case "trackjoints_inc_past": Event = Events.TrackJoints_Inc_Past; break;
463-
case "trackjoints_dec_past": Event = Events.TrackJoints_Dec_Past; break;
464-
case "wagonaxles_inc_past": Event = Events.WagonAxles_Inc_Past; break;
465-
case "wagonaxles_dec_past": Event = Events.WagonAxles_Dec_Past; break;
466-
case "caronswitch_inc_past": Event = Events.CarOnSwitch_Inc_Past; break;
467-
case "caronswitch_dec_past": Event = Events.CarOnSwitch_Dec_Past; break;
468-
case "caronxover_inc_past": Event = Events.CarOnXover_Inc_Past; break;
469-
case "caronxover_dec_past": Event = Events.CarOnXover_Dec_Past; break;
470462
case "concretesleepers_inc_past": Event = Events.ConcreteSleepers_Inc_Past; break;
471463
case "concretesleepers_dec_past": Event = Events.ConcreteSleepers_Dec_Past; break;
472464
case "carintunnel_inc_past": Event = Events.CarInTunnel_Inc_Past; break;
473465
case "carintunnel_dec_past": Event = Events.CarInTunnel_Dec_Past; break;
474-
case "carcameradistance_inc_past": Event = Events.CarCameraDistance_Inc_Past; break;
475-
case "carcameradistance_dec_past": Event = Events.CarCameraDistance_Dec_Past; break;
476466
}
477467

478468
while (!f.EndOfBlock())

Source/RunActivity/Viewer3D/Sound.cs

Lines changed: 2 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -2599,8 +2599,7 @@ public override void TryTrigger( )
25992599
case Orts.Formats.Msts.Variable_Trigger.Events.Variable2_Dec_Past:
26002600
case Orts.Formats.Msts.Variable_Trigger.Events.Variable3_Dec_Past:
26012601
case Orts.Formats.Msts.Variable_Trigger.Events.BrakeCyl_Dec_Past:
2602-
case Orts.Formats.Msts.Variable_Trigger.Events.CurveForce_Dec_Past:
2603-
case Orts.Formats.Msts.Variable_Trigger.Events.CarCameraDistance_Dec_Past:
2602+
case Orts.Formats.Msts.Variable_Trigger.Events.CurveForce_Dec_Past:
26042603
if (newValue < SMS.Threshold)
26052604
{
26062605
Signaled = true;
@@ -2620,13 +2619,8 @@ public override void TryTrigger( )
26202619
case Orts.Formats.Msts.Variable_Trigger.Events.CurveForce_Inc_Past:
26212620
case Orts.Formats.Msts.Variable_Trigger.Events.AngleofAttack_Inc_Past:
26222621
case Orts.Formats.Msts.Variable_Trigger.Events.WheelRPM_Inc_Past:
2623-
case Orts.Formats.Msts.Variable_Trigger.Events.TrackJoints_Inc_Past:
2624-
case Orts.Formats.Msts.Variable_Trigger.Events.WagonAxles_Inc_Past:
2625-
case Orts.Formats.Msts.Variable_Trigger.Events.CarOnSwitch_Inc_Past:
2626-
case Orts.Formats.Msts.Variable_Trigger.Events.CarOnXover_Inc_Past:
26272622
case Orts.Formats.Msts.Variable_Trigger.Events.ConcreteSleepers_Inc_Past:
2628-
case Orts.Formats.Msts.Variable_Trigger.Events.CarInTunnel_Inc_Past:
2629-
case Orts.Formats.Msts.Variable_Trigger.Events.CarCameraDistance_Inc_Past:
2623+
case Orts.Formats.Msts.Variable_Trigger.Events.CarInTunnel_Inc_Past:
26302624
if (newValue > SMS.Threshold)
26312625
{
26322626
Signaled = true;
@@ -2718,27 +2712,12 @@ private float ReadValue()
27182712
var wheelRpM = pS.TopM((float)(car.AbsSpeedMpS /
27192713
(2 * Math.PI * car.WheelRadiusM)));
27202714
return wheelRpM;
2721-
case Orts.Formats.Msts.Variable_Trigger.Events.TrackJoints_Dec_Past:
2722-
case Orts.Formats.Msts.Variable_Trigger.Events.TrackJoints_Inc_Past:
2723-
return car.TrackJointSoundTriggered;
2724-
case Orts.Formats.Msts.Variable_Trigger.Events.WagonAxles_Dec_Past:
2725-
case Orts.Formats.Msts.Variable_Trigger.Events.WagonAxles_Inc_Past:
2726-
return car.SoundAxleCount;
2727-
case Orts.Formats.Msts.Variable_Trigger.Events.CarOnSwitch_Dec_Past:
2728-
case Orts.Formats.Msts.Variable_Trigger.Events.CarOnSwitch_Inc_Past:
2729-
return car.TrackSwitchSoundTriggered;
2730-
case Orts.Formats.Msts.Variable_Trigger.Events.CarOnXover_Dec_Past:
2731-
case Orts.Formats.Msts.Variable_Trigger.Events.CarOnXover_Inc_Past:
2732-
return car.TrackXoverSoundTriggered;
27332715
case Orts.Formats.Msts.Variable_Trigger.Events.ConcreteSleepers_Dec_Past:
27342716
case Orts.Formats.Msts.Variable_Trigger.Events.ConcreteSleepers_Inc_Past:
27352717
return SharedSMSFileManager.ConcreteSleepers;
27362718
case Orts.Formats.Msts.Variable_Trigger.Events.CarInTunnel_Dec_Past:
27372719
case Orts.Formats.Msts.Variable_Trigger.Events.CarInTunnel_Inc_Past:
27382720
return car.TrackSoundInTunnelTriggered;
2739-
case Orts.Formats.Msts.Variable_Trigger.Events.CarCameraDistance_Dec_Past:
2740-
case Orts.Formats.Msts.Variable_Trigger.Events.CarCameraDistance_Inc_Past:
2741-
return car.CarTrackControlledDistanceM;
27422721
default:
27432722
return 0;
27442723
}

0 commit comments

Comments
 (0)