Booots 496 Posted January 5 Share Posted January 5 1 hour ago, royying said: I want to know how to detect what DLC is installed To check a specific expansion you’ll want the ExpansionsLoader static method IsExpansionInstalled. Expansions.ExpansionsLoader.IsExpansionInstalled(string name) The string to check is the same as the folder name in GameData/SquadExpansions. “MakingHistory” and “Serenity” (Breaking Ground). There are similar methods under that same class to check if any expansions are installed or to check a list if you need more than one. Quote Link to post Share on other sites
blowfish 2,439 Posted January 5 Share Posted January 5 5 hours ago, royying said: quickly reload a dll file for testing Not really possible in general, I've seen some half baked attempts at this but they all mess up under some circumstances, the fundamental problem is that there may be instances of objects from the old DLL still present, and there's no way to guarantee that they can be converted to new objects. I recommend creating a minimal test install so that the reloads are less time consuming. You might even consider removing some parts of GameData/Squad if you want really fast startup. Quote Link to post Share on other sites
HebaruSan 4,444 Posted January 9 Share Posted January 9 (edited) Vessel.patchedConicSolver is a PatchedConicSolver, the patches property of which is a list of 150 Orbit objects reflecting the vessel's current orbit, as well as any future SOI transitions it will make on its current trajectory. The "real" orbits are at the start of the list, and most of the subsequent objects just have all their internal pointers set to null (presumably this was done for performance, to avoid re-allocating the list). Vessel.patchedConicRenderer is a PatchedConicRenderer, the patchRenders property of which is a list containing one PatchRendering object for each orbit in PatchedConicSolver.patches (including the nulled-out ones). The structure here is clear enough: the solver holds the data, the renderer draws it. PatchedConicSolver.flightPlan is just like the patches property but for the hypothetical "dotted line" orbits generated by maneuver nodes. Orbits are added to and removed from this list as you create and delete maneuver nodes. PatchedConicRenderer.flightPlanRenders looks like it would be parallel to the patchRenders property, with objects for drawing the orbits in the flight plan, but here the symmetry breaks down; it's always empty. Does anybody know where the objects to render flight plans live? EDIT: Maybe these are leftover cruft from a previous design? Continuing to expore the API, I see Orbit.DrawOrbit, which might make an orbit rendering class unnecessary if it does what it says on the tin. Edited January 9 by HebaruSan Quote Link to post Share on other sites
0111narwhalz 2,521 Posted January 13 Share Posted January 13 How can I work inertially in a rotating reference frame? Is there a sane way to convert between the rotating frame near a planet and the inertial frame above it? How do I even tell whether the present reference frame is inertial or rotating? For context: I'm trying to operate on things stored as orbital elements, and I want them to interact with worldspace in a sensible and consistent way. I'd like to keep it all inertial. Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.