Skip to content

More cherry picks to master#2133

Open
lamont-granquist wants to merge 7 commits intomasterfrom
lcg/cherry-pick-to-master2
Open

More cherry picks to master#2133
lamont-granquist wants to merge 7 commits intomasterfrom
lcg/cherry-pick-to-master2

Conversation

@lamont-granquist
Copy link
Copy Markdown
Collaborator

@lamont-granquist lamont-granquist commented Apr 16, 2026

Yet more bug stomping.

  • fixes bad inverse rotation maneuver bug
  • fixes some NREs
  • prevents broken KSP installs from tanking MJ

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>
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>
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>
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.
fixes #1611 by just creating a lazy accessor

Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
somehow i had convinced myself the stock fairing was a moduledecouple
when it is actually not.
This makes stock fairings work correctly when they also have a payload
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant