@@ -3880,10 +3880,14 @@ private void UpdateFirebox(float elapsedClockSeconds, float absSpeedMpS)
38803880
38813881 if (SteamLocomotiveFuelType == SteamLocomotiveFuelTypes.Oil)
38823882 {
3883- // var oilburnrate = throttle * MaxFuelBurnGrateKGpS;
3884- // OilBurnRateSmoothKGpS.Update(elapsedClockSeconds, oilburnrate);
3883+ var oilburnrate = BurnRateRawKGpS;
38853884
3886- OilBurnRateSmoothKGpS.Update(elapsedClockSeconds, BurnRateRawKGpS);
3885+ if (BurnRateRawKGpS > MaxFiringRateKGpS)
3886+ {
3887+ oilburnrate = MaxFiringRateKGpS; // burning rate can never be more then the max firing rate
3888+ }
3889+
3890+ OilBurnRateSmoothKGpS.Update(elapsedClockSeconds, oilburnrate);
38873891 FuelBurnRateSmoothedKGpS = OilBurnRateSmoothKGpS.SmoothedValue;
38883892 }
38893893 else
@@ -7488,9 +7492,20 @@ public override string GetStatus()
74887492 status.AppendFormat("{0} = {1:F0}%\n", Simulator.Catalog.GetString("Fire Heat Loss"), FireHeatLossPercent * 100);
74897493 }
74907494
7491- status.AppendFormat("{0}{5} = {3:F0}% {1}, {4:F0}% {2}{5}\n", Simulator.Catalog.GetString("Fuel levels"), Simulator.Catalog.GetString("coal"), Simulator.Catalog.GetString("water"), 100 * coalPercent, 100 * waterPercent, fuelSafety);
7495+ if (SteamLocomotiveFuelType == SteamLocomotiveFuelTypes.Oil)
7496+ {
7497+ status.AppendFormat("{0}{5} = {3:F0}% {1}, {4:F0}% {2}{5}\n", Simulator.Catalog.GetString("Fuel levels"), Simulator.Catalog.GetString("oil"), Simulator.Catalog.GetString("water"), 100 * coalPercent, 100 * waterPercent, fuelSafety);
7498+ }
7499+ else if (SteamLocomotiveFuelType == SteamLocomotiveFuelTypes.Wood)
7500+ {
7501+ status.AppendFormat("{0}{5} = {3:F0}% {1}, {4:F0}% {2}{5}\n", Simulator.Catalog.GetString("Fuel levels"), Simulator.Catalog.GetString("wood"), Simulator.Catalog.GetString("water"), 100 * coalPercent, 100 * waterPercent, fuelSafety);
7502+ }
7503+ else
7504+ {
7505+ status.AppendFormat("{0}{5} = {3:F0}% {1}, {4:F0}% {2}{5}\n", Simulator.Catalog.GetString("Fuel levels"), Simulator.Catalog.GetString("coal"), Simulator.Catalog.GetString("water"), 100 * coalPercent, 100 * waterPercent, fuelSafety);
7506+ }
74927507
7493- return status.ToString();
7508+ return status.ToString();
74947509 }
74957510
74967511 public override string GetDebugStatus()
@@ -7967,7 +7982,7 @@ public override string GetDebugStatus()
79677982 {
79687983 if (SteamLocomotiveFuelType == SteamLocomotiveFuelTypes.Oil)
79697984 {
7970- status.AppendFormat("{0}\t{1}\t{2:N0}\t{3:N0}%\t{4}\t{5}\t\t{6:N0}%\t{7}\t{8:N0}\t{9}\t\t{10:N0}\n",
7985+ status.AppendFormat("{0}\t{1}\t{2:N0}\t\t {3:N0}%\t{4}\t{5}\t\t{6:N0}%\t{7}\t{8:N0}\t{9}\t\t{10:N0}\n",
79717986 Simulator.Catalog.GetString("Tender:"),
79727987 Simulator.Catalog.GetString("Oil"),
79737988 FormatStrings.FormatFuelVolume(L.FromGUK(OilSpecificGravity * (Kg.ToLb(TenderCoalMassKG) / WaterLBpUKG)), IsMetric, IsUK),
0 commit comments