Skip to content

Commit 8e37638

Browse files
committed
Display tractive force instead of compensated out force
1 parent 2634ac3 commit 8e37638

File tree

4 files changed

+28
-28
lines changed

4 files changed

+28
-28
lines changed

Source/Orts.Simulation/Simulation/RollingStocks/MSTSDieselLocomotive.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1120,8 +1120,8 @@ public string GetDpuStatus(bool dataDpu, CABViewControlUnits loadUnits = CABView
11201120

11211121
// Load
11221122
var data = 0f;
1123-
if (FilteredMotiveForceN != 0)
1124-
data = Math.Abs(this.FilteredMotiveForceN);
1123+
if (FilteredTractiveForceN != 0)
1124+
data = Math.Abs(this.FilteredTractiveForceN);
11251125
else
11261126
data = Math.Abs(TractiveForceN);
11271127
if (DynamicBrakePercent > 0)

Source/Orts.Simulation/Simulation/RollingStocks/MSTSLocomotive.cs

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -494,7 +494,7 @@ public enum TractionMotorTypes
494494
public float SaveAdhesionFilter;
495495
public float AdhesionConditions;
496496

497-
public float FilteredMotiveForceN;
497+
public float FilteredTractiveForceN;
498498

499499
public double CommandStartTime;
500500

@@ -2170,7 +2170,7 @@ public override void Update(float elapsedClockSeconds)
21702170
AntiSlip = true; // Always set AI trains to AntiSlip
21712171
SimpleAdhesion(); // Simple adhesion model used for AI trains
21722172
AdvancedAdhesionModel = false;
2173-
if (Train.IsActualPlayerTrain) FilteredMotiveForceN = CurrentFilter.Filter(MotiveForceN, elapsedClockSeconds);
2173+
if (Train.IsActualPlayerTrain) FilteredTractiveForceN = CurrentFilter.Filter(TractiveForceN, elapsedClockSeconds);
21742174
WheelSpeedMpS = Flipped ? -AbsSpeedMpS : AbsSpeedMpS; //make the wheels go round
21752175
break;
21762176
case Train.TRAINTYPE.STATIC:
@@ -2228,7 +2228,7 @@ public override void Update(float elapsedClockSeconds)
22282228
}
22292229

22302230
//Force to display
2231-
FilteredMotiveForceN = CurrentFilter.Filter(MotiveForceN, elapsedClockSeconds);
2231+
FilteredTractiveForceN = CurrentFilter.Filter(TractiveForceN, elapsedClockSeconds);
22322232
break;
22332233
default:
22342234
break;
@@ -5243,10 +5243,10 @@ public virtual float GetDataOf(CabViewControl cvc)
52435243
{
52445244
//float rangeFactor = direction == 0 ? (float)cvc.MaxValue : (float)cvc.MinValue;
52455245
float rangeFactor = direction == 0 ? MaxCurrentA : (float)cvc.MinValue;
5246-
if (FilteredMotiveForceN != 0)
5247-
data = this.FilteredMotiveForceN / MaxForceN * rangeFactor;
5246+
if (FilteredTractiveForceN != 0)
5247+
data = FilteredTractiveForceN / MaxForceN * rangeFactor;
52485248
else
5249-
data = this.LocomotiveAxles[cvc.ControlId].DriveForceN / MaxForceN * rangeFactor;
5249+
data = TractiveForceN / MaxForceN * rangeFactor;
52505250
data = Math.Abs(data);
52515251
}
52525252
if (DynamicBrakePercent > 0 && MaxDynamicBrakeForceN > 0)
@@ -5273,7 +5273,7 @@ public virtual float GetDataOf(CabViewControl cvc)
52735273
if (cvc.ControlType.Type == CABViewControlTypes.AMMETER_ABS) data = Math.Abs(data);
52745274
break;
52755275
}
5276-
data = this.MotiveForceN / MaxForceN * MaxCurrentA;
5276+
data = TractiveForceN / MaxForceN * MaxCurrentA;
52775277
if (cvc.ControlType.Type == CABViewControlTypes.AMMETER_ABS) data = Math.Abs(data);
52785278
break;
52795279
}
@@ -5289,10 +5289,10 @@ public virtual float GetDataOf(CabViewControl cvc)
52895289
data = 0.0f;
52905290
if (ThrottlePercent > 0)
52915291
{
5292-
if (FilteredMotiveForceN != 0)
5293-
data = this.FilteredMotiveForceN / MaxForceN * MaxCurrentA;
5292+
if (FilteredTractiveForceN != 0)
5293+
data = FilteredTractiveForceN / MaxForceN * MaxCurrentA;
52945294
else
5295-
data = this.LocomotiveAxles[cvc.ControlId].DriveForceN / MaxForceN * MaxCurrentA;
5295+
data = TractiveForceN / MaxForceN * MaxCurrentA;
52965296
data = Math.Abs(data);
52975297
}
52985298
if (DynamicBrake && DynamicBrakePercent > 0 && MaxDynamicBrakeForceN > 0)
@@ -5310,10 +5310,10 @@ public virtual float GetDataOf(CabViewControl cvc)
53105310
if (cvc is CVCGauge && ((CVCGauge)cvc).Orientation == 0)
53115311
direction = ((CVCGauge)cvc).Direction;
53125312
data = 0.0f;
5313-
if (FilteredMotiveForceN != 0)
5314-
data = this.FilteredMotiveForceN;
5313+
if (FilteredTractiveForceN != 0)
5314+
data = FilteredTractiveForceN;
53155315
else
5316-
data = this.LocomotiveAxles[cvc.ControlId].DriveForceN;
5316+
data = TractiveForceN;
53175317
if (DynamicBrake && DynamicBrakePercent > 0)
53185318
{
53195319
data = DynamicBrakeForceN;
@@ -5358,10 +5358,10 @@ public virtual float GetDataOf(CabViewControl cvc)
53585358
if (cvc is CVCGauge && ((CVCGauge)cvc).Orientation == 0)
53595359
direction = ((CVCGauge)cvc).Direction;
53605360
data = 0.0f;
5361-
if (FilteredMotiveForceN != 0)
5362-
data = Math.Abs(this.FilteredMotiveForceN);
5361+
if (FilteredTractiveForceN != 0)
5362+
data = Math.Abs(FilteredTractiveForceN);
53635363
else
5364-
data = Math.Abs(this.LocomotiveAxles[cvc.ControlId].DriveForceN);
5364+
data = Math.Abs(TractiveForceN);
53655365
if (DynamicBrake && DynamicBrakePercent > 0)
53665366
{
53675367
data = -Math.Abs(DynamicBrakeForceN);
@@ -5407,9 +5407,9 @@ public virtual float GetDataOf(CabViewControl cvc)
54075407
data = 0.0f;
54085408
if (Math.Abs(SpeedMpS) == 0.0f)
54095409
data = 0.0f;
5410-
else if (Math.Abs(FilteredMotiveForceN) - Math.Abs(BrakeForceN + DynamicBrakeForceN) > 0)
5411-
data = Math.Abs(this.FilteredMotiveForceN);
5412-
else if (Math.Abs(FilteredMotiveForceN) - Math.Abs(BrakeForceN + DynamicBrakeForceN) < 0)
5410+
else if (Math.Abs(FilteredTractiveForceN) - Math.Abs(BrakeForceN + DynamicBrakeForceN) > 0)
5411+
data = Math.Abs(FilteredTractiveForceN);
5412+
else if (Math.Abs(FilteredTractiveForceN) - Math.Abs(BrakeForceN + DynamicBrakeForceN) < 0)
54135413
data = -Math.Abs(BrakeForceN + DynamicBrakeForceN);
54145414
switch (cvc.Units)
54155415
{

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1465,11 +1465,11 @@ public float GetDataOf(CabViewControl cvc)
14651465
}
14661466
break;
14671467
case CABViewControlTypes.ORTS_MOTIVE_FORCE:
1468-
data = Locomotive.FilteredMotiveForceN;
1468+
data = Locomotive.FilteredTractiveForceN;
14691469
break;
14701470
case CABViewControlTypes.ORTS_MOTIVE_FORCE_KILONEWTON:
1471-
if (Locomotive.FilteredMotiveForceN > Locomotive.DynamicBrakeForceN)
1472-
data = (float)Math.Round(Locomotive.FilteredMotiveForceN / 1000, 0);
1471+
if (Locomotive.FilteredTractiveForceN > Locomotive.DynamicBrakeForceN)
1472+
data = (float)Math.Round(Locomotive.FilteredTractiveForceN / 1000, 0);
14731473
else if (Locomotive.DynamicBrakeForceN > 0)
14741474
data = -(float)Math.Round(Locomotive.DynamicBrakeForceN / 1000, 0);
14751475
break;

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2198,8 +2198,8 @@ public virtual string GetDebugStatus()
21982198
String.Format("{0}", FormatStrings.FormatSpeedDisplay(SpeedMpS, IsMetric)),
21992199
loco.DieselEngines[0].GearBox.HuDShaftRPM,
22002200
// For Locomotive HUD display shows "forward" motive power (& force) as a positive value, braking power (& force) will be shown as negative values.
2201-
FormatStrings.FormatPower((MotiveForceN) * SpeedMpS, IsMetric, false, false),
2202-
String.Format("{0}{1}", FormatStrings.FormatForce(MotiveForceN, IsMetric), WheelSlip ? "!!!" : WheelSlipWarning ? "???" : ""),
2201+
FormatStrings.FormatPower(TractiveForceN * SpeedMpS, IsMetric, false, false),
2202+
String.Format("{0}{1}", FormatStrings.FormatForce(TractiveForceN, IsMetric), WheelSlip ? "!!!" : WheelSlipWarning ? "???" : ""),
22032203
Simulator.Catalog.GetString(locomotivetypetext)
22042204
);
22052205
}
@@ -2213,8 +2213,8 @@ public virtual string GetDebugStatus()
22132213
ThrottlePercent,
22142214
String.Format("{0}", FormatStrings.FormatSpeedDisplay(SpeedMpS, IsMetric)),
22152215
// For Locomotive HUD display shows "forward" motive power (& force) as a positive value, braking power (& force) will be shown as negative values.
2216-
FormatStrings.FormatPower((MotiveForceN) * SpeedMpS, IsMetric, false, false),
2217-
String.Format("{0}{1}", FormatStrings.FormatForce(MotiveForceN, IsMetric), WheelSlip ? "!!!" : WheelSlipWarning ? "???" : ""),
2216+
FormatStrings.FormatPower(TractiveForceN * SpeedMpS, IsMetric, false, false),
2217+
String.Format("{0}{1}", FormatStrings.FormatForce(TractiveForceN, IsMetric), WheelSlip ? "!!!" : WheelSlipWarning ? "???" : ""),
22182218
Simulator.Catalog.GetString(locomotivetypetext)
22192219
);
22202220
}

0 commit comments

Comments
 (0)