Skip to content

Commit a4a44b5

Browse files
committed
Further adjustments for multiple fuels
1 parent 624f795 commit a4a44b5

File tree

3 files changed

+13
-11
lines changed

3 files changed

+13
-11
lines changed

Source/Orts.Simulation/Simulation/Confirmer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ public Confirmer(Simulator simulator, double defaultDurationS)
226226
, new string [] { GetString("LargeEjector"), null, null, null, GetString("decrease"), GetString("increase") }
227227
, new string [] { GetString("SmallEjector"), null, null, null, GetString("decrease"), GetString("increase") }
228228
, new string [] { GetString("VacuumExhauster"), GetString("normal"), null, GetString("fast") }
229-
, new string [] { GetString("Tender"), null, null, GetString("Coal re-filled"), null, GetString("Coal level") }
229+
, new string [] { GetString("Tender"), null, null, GetString("Fuel re-filled"), null, GetString("Fuel level") }
230230
, new string [] { GetString("Tender"), null, null, GetString("Water re-filled"), null, GetString("Water level") }
231231
// General
232232
, new string [] { GetString("Water Scoop"), GetString("up"), null, GetString("down") }

Source/Orts.Simulation/Simulation/RollingStocks/MSTSSteamLocomotive.cs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -831,14 +831,14 @@ public MSTSSteamLocomotive(Simulator simulator, string wagFile)
831831
SteamEngines = new SteamEngines(this);
832832
PowerSupply = new SteamPowerSupply(this);
833833

834-
RefillTenderWithCoal();
834+
RefillTenderWithFuel();
835835
RefillTenderWithWater();
836836
}
837837

838838
/// <summary>
839-
/// Sets the coal level to maximum.
839+
/// Sets the fuel level to maximum.
840840
/// </summary>
841-
public void RefillTenderWithCoal()
841+
public void RefillTenderWithFuel()
842842
{
843843
FuelController.CurrentValue = 1.0f;
844844
}
@@ -934,6 +934,7 @@ public override void Parse(string lowercasetoken, STFReader stf)
934934
case "engine(vacuumbrakessmallejectorusagerate": EjectorSmallSteamConsumptionLbpS = pS.FrompH(stf.ReadFloatBlock(STFReader.UNITS.MassRateDefaultLBpH, null)); break;
935935
case "engine(ortssuperheatcutoffpressurefactor": SuperheatCutoffPressureFactor = stf.ReadFloatBlock(STFReader.UNITS.None, null); break;
936936
case "engine(shovelcoalmass": ShovelMassKG = stf.ReadFloatBlock(STFReader.UNITS.Mass, null); break;
937+
case "engine(ortsmaxtenderwoodmass":
937938
case "engine(maxtendercoalmass": MaxTenderFuelMassKG = stf.ReadFloatBlock(STFReader.UNITS.Mass, null); break;
938939
case "engine(ortsmaxtenderfueloilvolume": MaxTenderOilMassL = stf.ReadFloatBlock(STFReader.UNITS.Volume, null); break;
939940
case "engine(maxtenderwatermass": MaxLocoTenderWaterMassKG = stf.ReadFloatBlock(STFReader.UNITS.Mass, null); break;
@@ -9826,7 +9827,7 @@ public override MSTSNotchController GetRefillController(uint type)
98269827
public override void SetStepSize(PickupObj matchPickup)
98279828
{
98289829
uint type = matchPickup.PickupType;
9829-
if (type == (uint)PickupType.FuelCoal && MaxTenderFuelMassKG != 0)
9830+
if (type == (uint)PickupType.FuelCoal && type == (uint)PickupType.FuelWood && type == (uint)PickupType.FuelDiesel && MaxTenderFuelMassKG != 0)
98309831
FuelController.SetStepSize(matchPickup.PickupCapacity.FeedRateKGpS / MSTSNotchController.StandardBoost / MaxTenderFuelMassKG);
98319832
else if (type == (uint)PickupType.FuelWater && MaxLocoTenderWaterMassKG != 0)
98329833
WaterController.SetStepSize(matchPickup.PickupCapacity.FeedRateKGpS / MSTSNotchController.StandardBoost / MaxLocoTenderWaterMassKG);
@@ -9838,7 +9839,7 @@ public override void SetStepSize(PickupObj matchPickup)
98389839
/// </summary>
98399840
public override void RefillImmediately()
98409841
{
9841-
RefillTenderWithCoal();
9842+
RefillTenderWithFuel();
98429843
RefillTenderWithWater();
98439844
}
98449845

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

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ public enum WindowState
148148
public float TrailLocoResistanceFactor; // Factor to reduce base and wind resistance if locomotive is not leading - based upon original Davis drag coefficients
149149

150150
bool TenderWeightInitialize = true;
151-
float TenderWagonMaxCoalMassKG;
151+
float TenderWagonMaxFuelMassKG;
152152
float TenderWagonMaxWaterMassKG;
153153

154154
// Wind Impacts
@@ -1201,7 +1201,8 @@ public virtual void Parse(string lowercasetoken, STFReader stf)
12011201
}
12021202
break;
12031203
case "wagon(ortsauxtenderwatermass": AuxTenderWaterMassKG = stf.ReadFloatBlock(STFReader.UNITS.Mass, null); break;
1204-
case "wagon(ortstenderwagoncoalmass": TenderWagonMaxCoalMassKG = stf.ReadFloatBlock(STFReader.UNITS.Mass, null); break;
1204+
case "wagon(ortstenderwagonwoodmass":
1205+
case "wagon(ortstenderwagoncoalmass": TenderWagonMaxFuelMassKG = stf.ReadFloatBlock(STFReader.UNITS.Mass, null); break;
12051206
case "wagon(ortstenderwagonwatermass": TenderWagonMaxWaterMassKG = stf.ReadFloatBlock(STFReader.UNITS.Mass, null); break;
12061207
case "wagon(ortsheatingwindowderatingfactor": WindowDeratingFactor = stf.ReadFloatBlock(STFReader.UNITS.None, null); break;
12071208
case "wagon(ortsheatingcompartmenttemperatureset": DesiredCompartmentTempSetpointC = stf.ReadFloatBlock(STFReader.UNITS.Temperature, null); break;
@@ -1598,7 +1599,7 @@ public virtual void Copy(MSTSWagon copy)
15981599
MaximumWheelFlangeAngleRad = copy.MaximumWheelFlangeAngleRad;
15991600
WheelFlangeLengthM = copy.WheelFlangeLengthM;
16001601
AuxTenderWaterMassKG = copy.AuxTenderWaterMassKG;
1601-
TenderWagonMaxCoalMassKG = copy.TenderWagonMaxCoalMassKG;
1602+
TenderWagonMaxFuelMassKG = copy.TenderWagonMaxFuelMassKG;
16021603
TenderWagonMaxWaterMassKG = copy.TenderWagonMaxWaterMassKG;
16031604
InitWagonNumAxles = copy.InitWagonNumAxles;
16041605
WagonNumAxles = copy.WagonNumAxles;
@@ -1964,7 +1965,7 @@ public override void Update(float elapsedClockSeconds)
19641965
ConfirmSteamLocomotiveTender(); // Confirms that a tender is connected to the steam locomotive
19651966

19661967
// Adjusts water and coal mass based upon values assigned to the tender found in the WAG file rather then those defined in ENG file.
1967-
if (WagonType == WagonTypes.Tender && TenderWeightInitialize && TenderWagonMaxCoalMassKG != 0 && TenderWagonMaxWaterMassKG != 0)
1968+
if (WagonType == WagonTypes.Tender && TenderWeightInitialize && TenderWagonMaxFuelMassKG != 0 && TenderWagonMaxWaterMassKG != 0)
19681969
{
19691970

19701971
// Find the associated steam locomotive for this tender
@@ -1986,7 +1987,7 @@ public override void Update(float elapsedClockSeconds)
19861987
float TempMaxCombinedWater = TendersSteamLocomotive.MaxTotalCombinedWaterVolumeUKG;
19871988
TendersSteamLocomotive.MaxTotalCombinedWaterVolumeUKG = (TempMaxCombinedWater - (Kg.ToLb(TendersSteamLocomotive.MaxLocoTenderWaterMassKG) / WaterLBpUKG)) + (Kg.ToLb(TenderWagonMaxWaterMassKG) / WaterLBpUKG);
19881989

1989-
TendersSteamLocomotive.MaxTenderFuelMassKG = TenderWagonMaxCoalMassKG;
1990+
TendersSteamLocomotive.MaxTenderFuelMassKG = TenderWagonMaxFuelMassKG;
19901991
TendersSteamLocomotive.MaxLocoTenderWaterMassKG = TenderWagonMaxWaterMassKG;
19911992

19921993
if (Simulator.Settings.VerboseConfigurationMessages)

0 commit comments

Comments
 (0)