Skip to content

Commit 0d7808e

Browse files
committed
Automatic merge of T1.5.1-932-gde7a2ff663 and 18 pull requests
- Pull request #570 at 3539862: Experimental glTF 2.0 support with PBR lighting - Pull request #799 at dfc715e: Consolidated wind simulation - Pull request #839 at d00beb9: First phase of https://blueprints.launchpad.net/or/+spec/additional-cruise-control-parameters - Pull request #876 at f92de76: docs: add source for documents previously on website to source Documentation folder - Pull request #882 at 3ca0eb1: Blueprint/train car operations UI window - Pull request #886 at 6c0785b: Scene viewer extension to TrackViewer - Pull request #892 at 1f5ba4c: Signal Function OPP_SIG_ID_TRAINPATH - Pull request #896 at 5866028: First implementation of https://blueprints.launchpad.net/or/+spec/specific-sounds-for-ai-trains - Pull request #903 at 7af1f91: Downloading route content (Github, zip) - Pull request #912 at f7b85e4: New Triple Valve Features Vol. 2 - Pull request #919 at 26cc6a8: Added mouse wheel support for controls which can be moved by pressing t… - Pull request #923 at e75be0c: Add curve squeal to route - Pull request #924 at 6c2c3cd: Default Asset Improvements - Pull request #925 at e3b1688: Fix brakeshoe force bug - Pull request #927 at 7bce293: AI Train Power Supply/Lights Fix - Pull request #929 at a406a69: Add support for common circuit breaker variants - Pull request #930 at 42398f4: Further enhancements for duplex locoomotive - Pull request #933 at a3f56f4: Fix AI DM crashing
20 parents 299cbe1 + de7a2ff + 3539862 + dfc715e + d00beb9 + f92de76 + 3ca0eb1 + 6c0785b + 1f5ba4c + 5866028 + 7af1f91 + f7b85e4 + 26cc6a8 + e75be0c + 6c2c3cd + e3b1688 + 7bce293 + a406a69 + 42398f4 + a3f56f4 commit 0d7808e

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

Source/Orts.Formats.Msts/SoundManagmentFile.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ public struct CurvePoint
199199

200200
public class VolumeCurve
201201
{
202-
public enum Controls { None, DistanceControlled, SpeedControlled, Variable1Controlled, Variable1_2Controlled, Variable1_3Controlled, Variable1_4Controlled, Variable2Controlled, Variable2BoosterControlled, Variable3Controlled, BrakeCylControlled, CurveForceControlled, AngleofAttackControlled, CarFrictionControlled };
202+
public enum Controls { None, DistanceControlled, SpeedControlled, Variable1Controlled, Variable1_2Controlled, Variable1_3Controlled, Variable1_4Controlled, Variable2Controlled, Variable2BoosterControlled, Variable3Controlled, BrakeCylControlled, CurveForceControlled, AngleofAttackControlled, CarFrictionControlled, WheelRpMControlled };
203203

204204
public Controls Control = Controls.None;
205205
public float Granularity = 1.0f;
@@ -225,6 +225,7 @@ public VolumeCurve(STFReader stf)
225225
case "curveforcecontrolled": Control = Controls.CurveForceControlled; break;
226226
case "angleofattackcontrolled": Control = Controls.AngleofAttackControlled; break;
227227
case "carfrictioncontrolled": Control = Controls.CarFrictionControlled; break;
228+
case "wheelrpmcontrolled": Control = Controls.WheelRpMControlled; break;
228229
default: STFException.TraceWarning(stf, "Crash expected: Skipped unknown VolumeCurve/Frequencycurve type " + type); stf.SkipRestOfBlock(); return;
229230
}
230231
stf.ParseBlock(new STFReader.TokenProcessor[] {
@@ -346,7 +347,7 @@ public Discrete_Trigger(STFReader f)
346347
public class Variable_Trigger : Trigger
347348
{
348349
public enum Events { Speed_Inc_Past, Speed_Dec_Past, Distance_Inc_Past, Distance_Dec_Past,
349-
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
350+
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
350351
};
351352

352353
public Events Event;
@@ -394,6 +395,8 @@ public Variable_Trigger(STFReader f)
394395
case "curveforce_dec_past": Event = Events.CurveForce_Dec_Past; break;
395396
case "angleofattack_inc_past": Event = Events.AngleofAttack_Inc_Past; break;
396397
case "angleofattack_dec_past": Event = Events.AngleofAttack_Dec_Past; break;
398+
case "wheelrpm_inc_past": Event = Events.WheelRPM_Inc_Past; break;
399+
case "wheelrpm_dec_past": Event = Events.WheelRpM_Dec_Past; break;
397400
}
398401

399402

Source/RunActivity/Viewer3D/Sound.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1517,6 +1517,7 @@ private float ReadValue(Orts.Formats.Msts.VolumeCurve.Controls control, MSTSWago
15171517
case Orts.Formats.Msts.VolumeCurve.Controls.CurveForceControlled: return car.CurveForceNFiltered;
15181518
case Orts.Formats.Msts.VolumeCurve.Controls.AngleofAttackControlled: return car.CurveSquealAoAmRadFiltered;
15191519
case Orts.Formats.Msts.VolumeCurve.Controls.CarFrictionControlled: return car.Train.WagonCoefficientFriction;
1520+
case Orts.Formats.Msts.VolumeCurve.Controls.WheelRpMControlled: var wheelRpM = pS.TopM((float)(car.AbsSpeedMpS / (2 * Math.PI * car.WheelRadiusM))); return wheelRpM;
15201521
default: return 0;
15211522
}
15221523
}
@@ -1952,6 +1953,7 @@ public override void TryTrigger( )
19521953
case Orts.Formats.Msts.Variable_Trigger.Events.BrakeCyl_Dec_Past:
19531954
case Orts.Formats.Msts.Variable_Trigger.Events.CurveForce_Dec_Past:
19541955
case Orts.Formats.Msts.Variable_Trigger.Events.AngleofAttack_Dec_Past:
1956+
case Orts.Formats.Msts.Variable_Trigger.Events.WheelRpM_Dec_Past:
19551957
if (newValue < SMS.Threshold)
19561958
{
19571959
Signaled = true;
@@ -1970,6 +1972,7 @@ public override void TryTrigger( )
19701972
case Orts.Formats.Msts.Variable_Trigger.Events.BrakeCyl_Inc_Past:
19711973
case Orts.Formats.Msts.Variable_Trigger.Events.CurveForce_Inc_Past:
19721974
case Orts.Formats.Msts.Variable_Trigger.Events.AngleofAttack_Inc_Past:
1975+
case Orts.Formats.Msts.Variable_Trigger.Events.WheelRPM_Inc_Past:
19731976
if (newValue > SMS.Threshold)
19741977
{
19751978
Signaled = true;
@@ -2056,6 +2059,11 @@ private float ReadValue()
20562059
case Orts.Formats.Msts.Variable_Trigger.Events.AngleofAttack_Dec_Past:
20572060
case Orts.Formats.Msts.Variable_Trigger.Events.AngleofAttack_Inc_Past:
20582061
return car.CurveSquealAoAmRadFiltered;
2062+
case Orts.Formats.Msts.Variable_Trigger.Events.WheelRpM_Dec_Past:
2063+
case Orts.Formats.Msts.Variable_Trigger.Events.WheelRPM_Inc_Past:
2064+
var wheelRpM = pS.TopM((float)(car.AbsSpeedMpS / (2 * Math.PI * car.WheelRadiusM)));
2065+
return wheelRpM;
2066+
20592067
default:
20602068
return 0;
20612069
}

0 commit comments

Comments
 (0)