Skip to content
Success

Changes

Summary

  1. Fix inverse rotation maneuver bugs (commit: 07b9f1c) (details)
  2. Remove old orbit manipulation APIs (commit: 92cb9f8) (details)
  3. Transfer planner: GetOrbitalStateVectorsAtUT fix (commit: d189c96) (details)
  4. Prevent Reflection errors from other mods tanking MJ (commit: d6adb4e) (details)
  5. Fix another NRE (commit: 47b3328) (details)
  6. Fix staging controller for stock fairings (commit: d15b46c) (details)
  7. Fix stock fairings correctly (commit: b8fe8fe) (details)
  8. Fix node executor to align COT to the node direction (commit: 82bde4c) (details)
  9. Classic ascent circularization (commit: a1e0426) (details)
  10. Fix limit throttle/accel editing linkage (commit: d2ba1b1) (details)
  11. Fix RCS solver NRE (commit: 3f21600) (details)
  12. v2.15.3 (commit: a5a2218) (details)
Commit 07b9f1caa5796dca9fe9002736c1b4cb839a023b by lamont
Fix inverse rotation maneuver bugs

GetOrbitalStateVectorsAtUT() is particularly whack in the way that it
applies the inverse rotation constructed at a future time via using
Planetarium.ZupAtT().  That means that for the most part it is only
useful for constructing values which can only be compared to other
vectors constructed at the same time.  This bug only occurs when the
vessel is below the inverse rotation threshold, though, so most of
the time works fine when there's no rotation being applied.

The changes to RightHandedStateVectorsAtUT mean that we apply our
own rotation in the current frames rotation to get RH rotating
vectors.  This is consistent with the old API, but should probably
be retired and everything migrated to RH non-rotating vectors now
that I can see how to get them out of the API correctly.

This may also fix other bugs in consumers of the underlying
maneuvers class (e.g. rendezvous autopilot, etc).

Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
(commit: 07b9f1c)
The file was added.idea/.idea.MechJeb2/.idea/.name
The file was modified MechJeb2.sln.DotSettings (diff)
The file was modified MechJeb2/OrbitExtensions.cs (diff)
Commit 92cb9f8f5de245d7a872ac410cef6e945e62329b by lamont
Remove old orbit manipulation APIs

These use GetOrbitalStateVectorsAtUT() which is problematic, they don't
call Init() and have other sketchy looking behavior and nothing has
used them in awhile.

Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
(commit: 92cb9f8)
The file was modified MechJeb2/OrbitExtensions.cs (diff)
Commit d189c9663d01beaadf3178e08c5ae039bbe99161 by lamont
Transfer planner: GetOrbitalStateVectorsAtUT fix

This fixes a (now) obvious bug in the transfer planner in the
use of GetOrbitalStateVectorsAtUT(), although it seems to only
affect debug log output.

Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
(commit: d189c96)
The file was modified MechJeb2/Maneuver/TransferCalculator.cs (diff)
The file was modified MechJeb2/OrbitExtensions.cs (diff)
Commit d6adb4eebfa871a668a02fe3189a3687d0272656 by lamont
Prevent Reflection errors from other mods tanking MJ

Avoids using the KSP.IO.File.Exist<T>() API that walks the loaded
assemblies and throws, looking for the path to the assembly with
the type T.

The MuUtils helper replicates the side effect of this API of
creating the directory.

Since we construct the path afterwards anyway to load the file the
only reason I can see for the reflection-driven-API is for that
side-effect, and to cause weird bugs if someone ever moves the DLL
location around and makes the two APIs start to disagree.
(commit: d6adb4e)
The file was modified MechJeb2/MechJebCore.cs (diff)
The file was modified MechJeb2/MuUtils.cs (diff)
The file was modified MechJeb2/MechJebModuleWaypointWindow.cs (diff)
Commit 47b3328d52fc85d20a6c334c24c71f6cc4d08e96 by lamont
Fix another NRE

fixes #1611 by just creating a lazy accessor

Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
(commit: 47b3328)
The file was modified MechJeb2/MechJebModuleAscentMenu.cs (diff)
Commit d15b46c0d76183eb55ed21ade9c13c5c51eda2ad by lamont
Fix staging controller for stock fairings

somehow i had convinced myself the stock fairing was a moduledecouple
when it is actually not.
(commit: d15b46c)
The file was modified MechJeb2/MechJebModuleStagingController.cs (diff)
Commit b8fe8fe060ce8e3455478a9fbab6937907aea6da by lamont
Fix stock fairings correctly

This makes stock fairings work correctly when they also have a payload
(commit: b8fe8fe)
The file was modified MechJeb2/MechJebModuleStagingController.cs (diff)
Commit 82bde4ca28e9e27ccc8243ecc1ac665088e4a924 by lamont
Fix node executor to align COT to the node direction

Should help fix e.g. shuttles work with the node executor

Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
(commit: 82bde4c)
The file was modified MechJeb2/MechJebModuleNodeExecutor.cs (diff)
Commit a1e0426fe3f7eb7d682703ed9b3a049288d1e687 by lamont
Classic ascent circularization

Don't try to set the SMA based on desired altitude, but just
circularize at whatever the apoapsis actually is.

We could try to circularize at the precise altitude if the desired altitude <
apo, but that could get more costly so I'm going to skip thinking about
it (some people will want it, some people probably won't, heuristics
will add more edge conditions and buttons and I don't think it is worth
it).

closes #1971
closes #888 (maybe)
(commit: a1e0426)
The file was modified MechJeb2/MechJebModuleAscentBaseAutopilot.cs (diff)
Commit d2ba1b105943c432cbf113379d6181f56231c9b7 by lamont
Fix limit throttle/accel editing linkage

closes #1590 finally
(commit: d2ba1b1)
The file was modified MechJeb2/MechJebModuleThrustController.cs (diff)
Commit 3f216000b087a54dbbf2d44f41898f45f39a99be by lamont
Fix RCS solver NRE

Closes #2217

Couple other incredibly minor style fixes snuck in.
(commit: 3f21600)
The file was modified MechJeb2/RCSSolver.cs (diff)
Commit a5a2218a32b05baae5721a0190fad4ce0095971a by lamont
v2.15.3

This also updates the other versions and establishes a more
sensible versioning policy.
(commit: a5a2218)
The file was modified MechJeb2/Properties/AssemblyInfo.cs (diff)