Skip to content

Commit 912861f

Browse files
committed
Automatic merge of T1.5.1-411-g51d4cd969 and 19 pull requests
- Pull request #570 at de7a14f: Experimental glTF 2.0 support with PBR lighting - Pull request #757 at d9d75f4: Unify RailDriver code implementations - Pull request #799 at dc03850: Consolidated wind simulation - Pull request #802 at 4d198e4: Added support for activity location events to the TrackViewer - Pull request #803 at 7157e08: Various adjustments to steam adhesion - Pull request #813 at 7fdad38: Refactored garbage generators - Pull request #815 at a5cc165: chore: Add GitHub automatic release notes configuration - Pull request #818 at 0d2162a: Allow independent drive axles for locomotives - Pull request #821 at e0fa5a8: Adds suppression of safety valves - Pull request #823 at 5e1c03b: Select track sound volume percent retained in .eng and .wag files - Pull request #824 at f16ebed: Update Readme.md - Pull request #825 at 29ed427: 2D Cabview controls for side viewpoints https://blueprints.launchpad.net/or/+spec/2dcabview-controls-for-side-views - Pull request #829 at 434af02: Improvements for air brakes #3 - Emergency valves - Pull request #830 at 280ee74: Electric locomotive hot start - Pull request #831 at c8927a4: preliminary version switchpanel on tablet - Pull request #832 at bb8941f: Fix Cruise Control together with Train Brake - Pull request #833 at 01aaca7: Implement brake relay valve - Pull request #834 at 7a98eca: Replaces email service with FormSpark - Pull request #835 at 2702520: Correct Brake Shoe Force Calculation
21 parents 576666e + 51d4cd9 + de7a14f + d9d75f4 + dc03850 + 4d198e4 + 7157e08 + 7fdad38 + a5cc165 + 0d2162a + e0fa5a8 + 5e1c03b + f16ebed + 29ed427 + 434af02 + 280ee74 + c8927a4 + bb8941f + 01aaca7 + 7a98eca + 2702520 commit 912861f

File tree

3 files changed

+26
-7
lines changed

3 files changed

+26
-7
lines changed

Source/Orts.Simulation/Simulation/RollingStocks/MSTSWagon.cs

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -677,7 +677,11 @@ public virtual void LoadFromWagFile(string wagFilePath)
677677
LoadEmptyWagonFrontalAreaM2 = WagonFrontalAreaM2;
678678
}
679679

680-
if (FreightAnimations.EmptyMaxBrakeForceN > 0)
680+
if (FreightAnimations.EmptyMaxBrakeShoeForceN > 0)
681+
{
682+
LoadEmptyMaxBrakeForceN = FreightAnimations.EmptyMaxBrakeShoeForceN;
683+
}
684+
else if (FreightAnimations.EmptyMaxBrakeForceN > 0)
681685
{
682686
LoadEmptyMaxBrakeForceN = FreightAnimations.EmptyMaxBrakeForceN;
683687
}
@@ -753,8 +757,11 @@ public virtual void LoadFromWagFile(string wagFilePath)
753757
LoadFullWagonFrontalAreaM2 = WagonFrontalAreaM2;
754758
}
755759

756-
757-
if (FreightAnimations.FullPhysicsStaticOne.FullStaticMaxBrakeForceN > 0)
760+
if (FreightAnimations.FullPhysicsStaticOne.FullStaticMaxBrakeShoeForceN > 0)
761+
{
762+
LoadFullMaxBrakeForceN = FreightAnimations.FullPhysicsStaticOne.FullStaticMaxBrakeShoeForceN;
763+
}
764+
else if (FreightAnimations.FullPhysicsStaticOne.FullStaticMaxBrakeForceN > 0)
758765
{
759766
LoadFullMaxBrakeForceN = FreightAnimations.FullPhysicsStaticOne.FullStaticMaxBrakeForceN;
760767
}
@@ -840,8 +847,11 @@ public virtual void LoadFromWagFile(string wagFilePath)
840847
LoadFullWagonFrontalAreaM2 = WagonFrontalAreaM2;
841848
}
842849

843-
844-
if (FreightAnimations.FullPhysicsContinuousOne.FullMaxBrakeForceN > 0)
850+
if (FreightAnimations.FullPhysicsContinuousOne.FullMaxBrakeShoeForceN > 0)
851+
{
852+
LoadFullMaxBrakeForceN = FreightAnimations.FullPhysicsContinuousOne.FullMaxBrakeShoeForceN;
853+
}
854+
else if (FreightAnimations.FullPhysicsContinuousOne.FullMaxBrakeForceN > 0)
845855
{
846856
LoadFullMaxBrakeForceN = FreightAnimations.FullPhysicsContinuousOne.FullMaxBrakeForceN;
847857
}

Source/Orts.Simulation/Simulation/RollingStocks/SubSystems/FreightAnimations.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ public class FreightAnimations
6767
public float EmptyORTSWagonFrontalAreaM2 = -9999;
6868
public float EmptyORTSDavisDragConstant = -9999;
6969
public float EmptyMaxBrakeForceN = -9999;
70+
public float EmptyMaxBrakeShoeForceN = -9999;
7071
public float EmptyMaxHandbrakeForceN = -9999;
7172
public float EmptyCentreOfGravityM_Y = -9999; // get centre of gravity after adjusted for freight animation
7273
public bool ContinuousFreightAnimationsPresent = false; // Flag to indicate that a continuous freight animation is present
@@ -104,6 +105,7 @@ public FreightAnimations(STFReader stf, MSTSWagon wagon)
104105
new STFReader.TokenProcessor("emptyortswagonfrontalarea", ()=>{ EmptyORTSWagonFrontalAreaM2 = stf.ReadFloatBlock(STFReader.UNITS.AreaDefaultFT2, -1); }),
105106
new STFReader.TokenProcessor("emptyortsdavisdragconstant", ()=>{ EmptyORTSDavisDragConstant = stf.ReadFloatBlock(STFReader.UNITS.Any, -1); }),
106107
new STFReader.TokenProcessor("emptymaxbrakeforce", ()=>{ EmptyMaxBrakeForceN = stf.ReadFloatBlock(STFReader.UNITS.Force, -1); }),
108+
new STFReader.TokenProcessor("emptymaxbrakeshoeforce", ()=>{ EmptyMaxBrakeShoeForceN = stf.ReadFloatBlock(STFReader.UNITS.Force, -1); }),
107109
new STFReader.TokenProcessor("emptymaxhandbrakeforce", ()=>{ EmptyMaxHandbrakeForceN = stf.ReadFloatBlock(STFReader.UNITS.Force, -1); }),
108110
new STFReader.TokenProcessor("emptycentreofgravity_y", ()=>{ EmptyCentreOfGravityM_Y = stf.ReadFloatBlock(STFReader.UNITS.Distance, -1); }),
109111
new STFReader.TokenProcessor("freightanimcontinuous", ()=>
@@ -285,6 +287,7 @@ public FreightAnimations(FreightAnimations copyFACollection, MSTSWagon wagon)
285287
EmptyORTSWagonFrontalAreaM2 = copyFACollection.EmptyORTSWagonFrontalAreaM2;
286288
EmptyORTSDavisDragConstant = copyFACollection.EmptyORTSDavisDragConstant;
287289
EmptyMaxBrakeForceN = copyFACollection.EmptyMaxBrakeForceN;
290+
EmptyMaxBrakeShoeForceN = copyFACollection.EmptyMaxBrakeShoeForceN;
288291
EmptyMaxHandbrakeForceN = copyFACollection.EmptyMaxHandbrakeForceN;
289292
EmptyCentreOfGravityM_Y = copyFACollection.EmptyCentreOfGravityM_Y;
290293
ContinuousFreightAnimationsPresent = copyFACollection.ContinuousFreightAnimationsPresent;
@@ -982,6 +985,7 @@ public class FreightAnimationContinuous : FreightAnimation
982985
public float FullORTSWagonFrontalAreaM2 = -9999;
983986
public float FullORTSDavisDragConstant = -9999;
984987
public float FullMaxBrakeForceN = -9999;
988+
public float FullMaxBrakeShoeForceN = -9999;
985989
public float FullMaxHandbrakeForceN = -9999;
986990
public float FullCentreOfGravityM_Y = -9999; // get centre of gravity after adjusted for freight animation
987991

@@ -1008,6 +1012,7 @@ public FreightAnimationContinuous(STFReader stf, MSTSWagon wagon)
10081012
new STFReader.TokenProcessor("fullortswagonfrontalarea", ()=>{ FullORTSWagonFrontalAreaM2 = stf.ReadFloatBlock(STFReader.UNITS.AreaDefaultFT2, -1); }),
10091013
new STFReader.TokenProcessor("fullortsdavisdragconstant", ()=>{ FullORTSDavisDragConstant = stf.ReadFloatBlock(STFReader.UNITS.Any, -1); }),
10101014
new STFReader.TokenProcessor("fullmaxbrakeforce", ()=>{ FullMaxBrakeForceN = stf.ReadFloatBlock(STFReader.UNITS.Force, -1); }),
1015+
new STFReader.TokenProcessor("fullmaxbrakeshoeforce", ()=>{ FullMaxBrakeShoeForceN = stf.ReadFloatBlock(STFReader.UNITS.Force, -1); }),
10111016
new STFReader.TokenProcessor("fullmaxhandbrakeforce", ()=>{ FullMaxHandbrakeForceN = stf.ReadFloatBlock(STFReader.UNITS.Force, -1); }),
10121017
new STFReader.TokenProcessor("fullcentreofgravity_y", ()=>{ FullCentreOfGravityM_Y = stf.ReadFloatBlock(STFReader.UNITS.Distance, -1); })
10131018
});
@@ -1036,6 +1041,7 @@ public FreightAnimationContinuous(FreightAnimationContinuous freightAnimContin,
10361041
FullORTSWagonFrontalAreaM2 = freightAnimContin.FullORTSWagonFrontalAreaM2;
10371042
FullORTSDavisDragConstant = freightAnimContin.FullORTSDavisDragConstant;
10381043
FullMaxBrakeForceN = freightAnimContin.FullMaxBrakeForceN;
1044+
FullMaxBrakeShoeForceN = freightAnimContin.FullMaxBrakeShoeForceN;
10391045
FullMaxHandbrakeForceN = freightAnimContin.FullMaxHandbrakeForceN;
10401046
FullCentreOfGravityM_Y = freightAnimContin.FullCentreOfGravityM_Y;
10411047
}
@@ -1070,6 +1076,7 @@ public enum VisibleFrom
10701076
public float FullStaticORTSWagonFrontalAreaM2 = -9999;
10711077
public float FullStaticORTSDavisDragConstant = -9999;
10721078
public float FullStaticMaxBrakeForceN = -9999;
1079+
public float FullStaticMaxBrakeShoeForceN = -9999;
10731080
public float FullStaticMaxHandbrakeForceN = -9999;
10741081
public float FullStaticCentreOfGravityM_Y = -9999; // get centre of gravity after adjusted for freight animation
10751082

@@ -1125,6 +1132,7 @@ public FreightAnimationStatic(STFReader stf)
11251132
new STFReader.TokenProcessor("fullortswagonfrontalarea", ()=>{ FullStaticORTSWagonFrontalAreaM2 = stf.ReadFloatBlock(STFReader.UNITS.AreaDefaultFT2, -1); }),
11261133
new STFReader.TokenProcessor("fullortsdavisdragconstant", ()=>{ FullStaticORTSDavisDragConstant = stf.ReadFloatBlock(STFReader.UNITS.Any, -1); }),
11271134
new STFReader.TokenProcessor("fullmaxbrakeforce", ()=>{ FullStaticMaxBrakeForceN = stf.ReadFloatBlock(STFReader.UNITS.Force, -1); }),
1135+
new STFReader.TokenProcessor("fullmaxbrakeshoeforce", ()=>{ FullStaticMaxBrakeShoeForceN = stf.ReadFloatBlock(STFReader.UNITS.Force, -1); }),
11281136
new STFReader.TokenProcessor("fullmaxhandbrakeforce", ()=>{ FullStaticMaxHandbrakeForceN = stf.ReadFloatBlock(STFReader.UNITS.Force, -1); }),
11291137
new STFReader.TokenProcessor("fullcentreofgravity_y", ()=>{ FullStaticCentreOfGravityM_Y = stf.ReadFloatBlock(STFReader.UNITS.Distance, -1); })
11301138
});
@@ -1150,6 +1158,7 @@ public FreightAnimationStatic(FreightAnimationStatic freightAnimStatic)
11501158
FullStaticORTSWagonFrontalAreaM2 = freightAnimStatic.FullStaticORTSWagonFrontalAreaM2;
11511159
FullStaticORTSDavisDragConstant = freightAnimStatic.FullStaticORTSDavisDragConstant;
11521160
FullStaticMaxBrakeForceN = freightAnimStatic.FullStaticMaxBrakeForceN;
1161+
FullStaticMaxBrakeShoeForceN = freightAnimStatic.FullStaticMaxBrakeShoeForceN;
11531162
FullStaticMaxHandbrakeForceN = freightAnimStatic.FullStaticMaxHandbrakeForceN;
11541163
FullStaticCentreOfGravityM_Y = freightAnimStatic.FullStaticCentreOfGravityM_Y;
11551164
}

Source/Orts.Simulation/Simulation/RollingStocks/TrainCar.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -210,9 +210,9 @@ public static Interpolator SteamHeatBoilerFuelUsageGalukpH()
210210

211211
public float MaxHandbrakeForceN;
212212
public float MaxBrakeForceN = 89e3f;
213-
public float MaxBrakeShoeForceN;
213+
public float MaxBrakeShoeForceN; // This is the force applied to the brake shoe, hence it will be decreased by CoF to give force applied to the wheel
214214
public float InitialMaxHandbrakeForceN; // Initial force when agon initialised
215-
public float InitialMaxBrakeForceN = 89e3f; // Initial force when wagon initialised
215+
public float InitialMaxBrakeForceN = 89e3f; // Initial force when wagon initialised, this is the force on the wheel, ie after the brake shoe.
216216

217217
// Coupler Animation
218218
public AnimatedCoupler FrontCoupler = new AnimatedCoupler();

0 commit comments

Comments
 (0)