Use resultingThrust instead of finalThrust for active engine calculations #140
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
resultingThrust
seems to be a temporary intermediate value in stockModuleEngines
. It is only set byRequiredPropellantMass
, and only read by the calling function,CalculateThrust
. It is not written by SolverEngines mod (used by Advanced Jet Engine and RealFuels), nor is it read by any other mod in my collection than Kerbal Engineer.finalThrust
will most of the time contain the same value asresultingThrust
. It is modulated by received fuel fraction (of requested fuel amount), which should be 1.0 except on last tick when running out of fuel, and EnginePower multiplier which seems to be a disabled experience bonus and is also set to 1.0. If either of these features are expanded in another mod or in a future update,finalThrust
will most likely be the correct value to use as it is the thrust that actually affects the vessel.finalThrust
is zeroed when time warping or when engine is not active, but in these situationsresultingThrust
contains a stale value, and is ignored by Kerbal Engineer anyway.TL;DR: This change should fix the glaring incompatibility between Kerbal Engineer and RealFuels (or AJE), where thrust, acceleration, Isp and even remaining dV on current stage go to zero whenever engines are active.