Skip to content

Commit

Permalink
Automatic merge of T1.5.1-411-g51d4cd969 and 19 pull requests
Browse files Browse the repository at this point in the history
- 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
  • Loading branch information
openrails-bot committed May 21, 2023
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 7 deletions.
20 changes: 15 additions & 5 deletions Source/Orts.Simulation/Simulation/RollingStocks/MSTSWagon.cs
Expand Up @@ -677,7 +677,11 @@ public virtual void LoadFromWagFile(string wagFilePath)
LoadEmptyWagonFrontalAreaM2 = WagonFrontalAreaM2;
}

if (FreightAnimations.EmptyMaxBrakeForceN > 0)
if (FreightAnimations.EmptyMaxBrakeShoeForceN > 0)
{
LoadEmptyMaxBrakeForceN = FreightAnimations.EmptyMaxBrakeShoeForceN;
}
else if (FreightAnimations.EmptyMaxBrakeForceN > 0)
{
LoadEmptyMaxBrakeForceN = FreightAnimations.EmptyMaxBrakeForceN;
}
Expand Down Expand Up @@ -753,8 +757,11 @@ public virtual void LoadFromWagFile(string wagFilePath)
LoadFullWagonFrontalAreaM2 = WagonFrontalAreaM2;
}


if (FreightAnimations.FullPhysicsStaticOne.FullStaticMaxBrakeForceN > 0)
if (FreightAnimations.FullPhysicsStaticOne.FullStaticMaxBrakeShoeForceN > 0)
{
LoadFullMaxBrakeForceN = FreightAnimations.FullPhysicsStaticOne.FullStaticMaxBrakeShoeForceN;
}
else if (FreightAnimations.FullPhysicsStaticOne.FullStaticMaxBrakeForceN > 0)
{
LoadFullMaxBrakeForceN = FreightAnimations.FullPhysicsStaticOne.FullStaticMaxBrakeForceN;
}
Expand Down Expand Up @@ -840,8 +847,11 @@ public virtual void LoadFromWagFile(string wagFilePath)
LoadFullWagonFrontalAreaM2 = WagonFrontalAreaM2;
}


if (FreightAnimations.FullPhysicsContinuousOne.FullMaxBrakeForceN > 0)
if (FreightAnimations.FullPhysicsContinuousOne.FullMaxBrakeShoeForceN > 0)
{
LoadFullMaxBrakeForceN = FreightAnimations.FullPhysicsContinuousOne.FullMaxBrakeShoeForceN;
}
else if (FreightAnimations.FullPhysicsContinuousOne.FullMaxBrakeForceN > 0)
{
LoadFullMaxBrakeForceN = FreightAnimations.FullPhysicsContinuousOne.FullMaxBrakeForceN;
}
Expand Down
Expand Up @@ -67,6 +67,7 @@ public class FreightAnimations
public float EmptyORTSWagonFrontalAreaM2 = -9999;
public float EmptyORTSDavisDragConstant = -9999;
public float EmptyMaxBrakeForceN = -9999;
public float EmptyMaxBrakeShoeForceN = -9999;
public float EmptyMaxHandbrakeForceN = -9999;
public float EmptyCentreOfGravityM_Y = -9999; // get centre of gravity after adjusted for freight animation
public bool ContinuousFreightAnimationsPresent = false; // Flag to indicate that a continuous freight animation is present
Expand Down Expand Up @@ -104,6 +105,7 @@ public FreightAnimations(STFReader stf, MSTSWagon wagon)
new STFReader.TokenProcessor("emptyortswagonfrontalarea", ()=>{ EmptyORTSWagonFrontalAreaM2 = stf.ReadFloatBlock(STFReader.UNITS.AreaDefaultFT2, -1); }),
new STFReader.TokenProcessor("emptyortsdavisdragconstant", ()=>{ EmptyORTSDavisDragConstant = stf.ReadFloatBlock(STFReader.UNITS.Any, -1); }),
new STFReader.TokenProcessor("emptymaxbrakeforce", ()=>{ EmptyMaxBrakeForceN = stf.ReadFloatBlock(STFReader.UNITS.Force, -1); }),
new STFReader.TokenProcessor("emptymaxbrakeshoeforce", ()=>{ EmptyMaxBrakeShoeForceN = stf.ReadFloatBlock(STFReader.UNITS.Force, -1); }),
new STFReader.TokenProcessor("emptymaxhandbrakeforce", ()=>{ EmptyMaxHandbrakeForceN = stf.ReadFloatBlock(STFReader.UNITS.Force, -1); }),
new STFReader.TokenProcessor("emptycentreofgravity_y", ()=>{ EmptyCentreOfGravityM_Y = stf.ReadFloatBlock(STFReader.UNITS.Distance, -1); }),
new STFReader.TokenProcessor("freightanimcontinuous", ()=>
Expand Down Expand Up @@ -285,6 +287,7 @@ public FreightAnimations(FreightAnimations copyFACollection, MSTSWagon wagon)
EmptyORTSWagonFrontalAreaM2 = copyFACollection.EmptyORTSWagonFrontalAreaM2;
EmptyORTSDavisDragConstant = copyFACollection.EmptyORTSDavisDragConstant;
EmptyMaxBrakeForceN = copyFACollection.EmptyMaxBrakeForceN;
EmptyMaxBrakeShoeForceN = copyFACollection.EmptyMaxBrakeShoeForceN;
EmptyMaxHandbrakeForceN = copyFACollection.EmptyMaxHandbrakeForceN;
EmptyCentreOfGravityM_Y = copyFACollection.EmptyCentreOfGravityM_Y;
ContinuousFreightAnimationsPresent = copyFACollection.ContinuousFreightAnimationsPresent;
Expand Down Expand Up @@ -982,6 +985,7 @@ public class FreightAnimationContinuous : FreightAnimation
public float FullORTSWagonFrontalAreaM2 = -9999;
public float FullORTSDavisDragConstant = -9999;
public float FullMaxBrakeForceN = -9999;
public float FullMaxBrakeShoeForceN = -9999;
public float FullMaxHandbrakeForceN = -9999;
public float FullCentreOfGravityM_Y = -9999; // get centre of gravity after adjusted for freight animation

Expand All @@ -1008,6 +1012,7 @@ public FreightAnimationContinuous(STFReader stf, MSTSWagon wagon)
new STFReader.TokenProcessor("fullortswagonfrontalarea", ()=>{ FullORTSWagonFrontalAreaM2 = stf.ReadFloatBlock(STFReader.UNITS.AreaDefaultFT2, -1); }),
new STFReader.TokenProcessor("fullortsdavisdragconstant", ()=>{ FullORTSDavisDragConstant = stf.ReadFloatBlock(STFReader.UNITS.Any, -1); }),
new STFReader.TokenProcessor("fullmaxbrakeforce", ()=>{ FullMaxBrakeForceN = stf.ReadFloatBlock(STFReader.UNITS.Force, -1); }),
new STFReader.TokenProcessor("fullmaxbrakeshoeforce", ()=>{ FullMaxBrakeShoeForceN = stf.ReadFloatBlock(STFReader.UNITS.Force, -1); }),
new STFReader.TokenProcessor("fullmaxhandbrakeforce", ()=>{ FullMaxHandbrakeForceN = stf.ReadFloatBlock(STFReader.UNITS.Force, -1); }),
new STFReader.TokenProcessor("fullcentreofgravity_y", ()=>{ FullCentreOfGravityM_Y = stf.ReadFloatBlock(STFReader.UNITS.Distance, -1); })
});
Expand Down Expand Up @@ -1036,6 +1041,7 @@ public FreightAnimationContinuous(FreightAnimationContinuous freightAnimContin,
FullORTSWagonFrontalAreaM2 = freightAnimContin.FullORTSWagonFrontalAreaM2;
FullORTSDavisDragConstant = freightAnimContin.FullORTSDavisDragConstant;
FullMaxBrakeForceN = freightAnimContin.FullMaxBrakeForceN;
FullMaxBrakeShoeForceN = freightAnimContin.FullMaxBrakeShoeForceN;
FullMaxHandbrakeForceN = freightAnimContin.FullMaxHandbrakeForceN;
FullCentreOfGravityM_Y = freightAnimContin.FullCentreOfGravityM_Y;
}
Expand Down Expand Up @@ -1070,6 +1076,7 @@ public enum VisibleFrom
public float FullStaticORTSWagonFrontalAreaM2 = -9999;
public float FullStaticORTSDavisDragConstant = -9999;
public float FullStaticMaxBrakeForceN = -9999;
public float FullStaticMaxBrakeShoeForceN = -9999;
public float FullStaticMaxHandbrakeForceN = -9999;
public float FullStaticCentreOfGravityM_Y = -9999; // get centre of gravity after adjusted for freight animation

Expand Down Expand Up @@ -1125,6 +1132,7 @@ public FreightAnimationStatic(STFReader stf)
new STFReader.TokenProcessor("fullortswagonfrontalarea", ()=>{ FullStaticORTSWagonFrontalAreaM2 = stf.ReadFloatBlock(STFReader.UNITS.AreaDefaultFT2, -1); }),
new STFReader.TokenProcessor("fullortsdavisdragconstant", ()=>{ FullStaticORTSDavisDragConstant = stf.ReadFloatBlock(STFReader.UNITS.Any, -1); }),
new STFReader.TokenProcessor("fullmaxbrakeforce", ()=>{ FullStaticMaxBrakeForceN = stf.ReadFloatBlock(STFReader.UNITS.Force, -1); }),
new STFReader.TokenProcessor("fullmaxbrakeshoeforce", ()=>{ FullStaticMaxBrakeShoeForceN = stf.ReadFloatBlock(STFReader.UNITS.Force, -1); }),
new STFReader.TokenProcessor("fullmaxhandbrakeforce", ()=>{ FullStaticMaxHandbrakeForceN = stf.ReadFloatBlock(STFReader.UNITS.Force, -1); }),
new STFReader.TokenProcessor("fullcentreofgravity_y", ()=>{ FullStaticCentreOfGravityM_Y = stf.ReadFloatBlock(STFReader.UNITS.Distance, -1); })
});
Expand All @@ -1150,6 +1158,7 @@ public FreightAnimationStatic(FreightAnimationStatic freightAnimStatic)
FullStaticORTSWagonFrontalAreaM2 = freightAnimStatic.FullStaticORTSWagonFrontalAreaM2;
FullStaticORTSDavisDragConstant = freightAnimStatic.FullStaticORTSDavisDragConstant;
FullStaticMaxBrakeForceN = freightAnimStatic.FullStaticMaxBrakeForceN;
FullStaticMaxBrakeShoeForceN = freightAnimStatic.FullStaticMaxBrakeShoeForceN;
FullStaticMaxHandbrakeForceN = freightAnimStatic.FullStaticMaxHandbrakeForceN;
FullStaticCentreOfGravityM_Y = freightAnimStatic.FullStaticCentreOfGravityM_Y;
}
Expand Down
4 changes: 2 additions & 2 deletions Source/Orts.Simulation/Simulation/RollingStocks/TrainCar.cs
Expand Up @@ -210,9 +210,9 @@ public static Interpolator SteamHeatBoilerFuelUsageGalukpH()

public float MaxHandbrakeForceN;
public float MaxBrakeForceN = 89e3f;
public float MaxBrakeShoeForceN;
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
public float InitialMaxHandbrakeForceN; // Initial force when agon initialised
public float InitialMaxBrakeForceN = 89e3f; // Initial force when wagon initialised
public float InitialMaxBrakeForceN = 89e3f; // Initial force when wagon initialised, this is the force on the wheel, ie after the brake shoe.

// Coupler Animation
public AnimatedCoupler FrontCoupler = new AnimatedCoupler();
Expand Down

0 comments on commit 912861f

Please sign in to comment.