@@ -417,11 +417,9 @@ public string GetStatus()
417417 foreach ( var eng in DEList )
418418 result . AppendFormat ( "\t {0}" , Simulator . Catalog . GetParticularString ( "Engine" , GetStringAttribute . GetPrettyName ( eng . State ) ) ) ;
419419
420- result . AppendFormat ( "\t {0}\t {1}" , Simulator . Catalog . GetParticularString ( "HUD" , "Power" ) , FormatStrings . FormatPower ( MaxOutputPowerW , Locomotive . IsMetric , false , false ) ) ;
421-
422420 if ( Locomotive . DieselTransmissionType == MSTSDieselLocomotive . DieselTransmissionTypes . Mechanic )
423421 {
424-
422+ result . AppendFormat ( " \t {0} \t {1}" , Simulator . Catalog . GetParticularString ( "HUD" , "Power" ) , Simulator . Catalog . GetString ( " " ) ) ;
425423 foreach ( var eng in DEList )
426424 {
427425 // Power(Watts) = Torque(Nm) * rpm / 9.54.
@@ -432,6 +430,7 @@ public string GetStatus()
432430 }
433431 else
434432 {
433+ result . AppendFormat ( "\t {0}\t {1}" , Simulator . Catalog . GetParticularString ( "HUD" , "Power" ) , FormatStrings . FormatPower ( MaxOutputPowerW , Locomotive . IsMetric , false , false ) ) ;
435434 foreach ( var eng in DEList )
436435 result . AppendFormat ( "\t {0}" , FormatStrings . FormatPower ( eng . CurrentDieselOutputPowerW , Locomotive . IsMetric , false , false ) ) ;
437436 }
@@ -924,7 +923,14 @@ public float LoadPercent
924923 {
925924 get
926925 {
927- return CurrentDieselOutputPowerW <= 0f ? 0f : ( ( OutputPowerW + ( Locomotive . DieselEngines . NumOfActiveEngines > 0 ? Locomotive . LocomotivePowerSupply . ElectricTrainSupplyPowerW / Locomotive . DieselEngines . NumOfActiveEngines : 0f ) ) * 100f / CurrentDieselOutputPowerW ) ;
926+ if ( Locomotive . DieselTransmissionType == MSTSDieselLocomotive . DieselTransmissionTypes . Mechanic )
927+ {
928+ return CurrentDieselOutputPowerW <= 0f ? 0f : ( ( ( Locomotive . MotiveForceN * Locomotive . SpeedMpS ) + ( Locomotive . DieselEngines . NumOfActiveEngines > 0 ? Locomotive . LocomotivePowerSupply . ElectricTrainSupplyPowerW / Locomotive . DieselEngines . NumOfActiveEngines : 0f ) ) * 100f / CurrentDieselOutputPowerW ) ;
929+ }
930+ else
931+ {
932+ return CurrentDieselOutputPowerW <= 0f ? 0f : ( ( OutputPowerW + ( Locomotive . DieselEngines . NumOfActiveEngines > 0 ? Locomotive . LocomotivePowerSupply . ElectricTrainSupplyPowerW / Locomotive . DieselEngines . NumOfActiveEngines : 0f ) ) * 100f / CurrentDieselOutputPowerW ) ;
933+ }
928934 }
929935 }
930936 /// <summary>
0 commit comments