- Fix comments in struct-impl (#57)
- Add "Copy to clipboard" to reboot errors and and console window
- Closed a backdoor allowing async functions to be injected into sync functions (with somewhat erratic results)
- Added an early version of run-command to the console-window
- Make low and high gravity turn parameters tweakable in
launch_rocket.to2
- Add
circularize_orbit_pe
to std-lib - Ensure that orbit relative coordinates are in main bodies reference frame (#54)
- Use coordinate independent vectors to check ship alignment in
exec_next_node
- Also adding
global_ship_is_facing
helper tostd::utils
- Also adding
- Fix struct type as type parameter issue (#55 + #56)
- Base the search interval of the
intercept
script on orbit period to make it more useful in interplanetary transitions
Minor breaking changes to ksp::orbit::Orbit
:
orbit.apoapsis
andorbit.apoapsis_radius
are nowOption<float>
instead of justfloat
- This is because apoapsis of a hyperbolic orbit is pretty much undefined.
- If you are sure that you are only dealing with elliptic orbits, you can just replace
orbit.apoapsis
withorbit.apoapsis.value
in your code. - This might by a small inconvenience, but should be an incentive to check for the
eccentricy
in your calculations
orbit.next_apoapsis_time()
andorbit.next_time_of_radius()
now also returnOption<float>
to be consistentorbit.u_t_at_mean_anomaly()
has been renamed toorbit.ut_at_mean_anomaly()
- Removed
orbit.absolute_position(ut)
as it was misleading. Useorbit.global_position(ut)
instead. - Fix orientation of the
orbit.normal
Other fixes:
- Fixed access to struct field from async function (issue #47)
- CRITICAL: Fixed endless loop in IsAssignableFrom lookup (issue #51 ... may crash the game)
- Prevent the creation of multiple
ThrottleManager
for the same vessel (issue #37) - Minor: Allow whitespace in
impl fn
(issue #49) - Minor: Allow comments in record/tuple type declarations (issue #50)
- Add debug billboards
- Add debug paths
- Add API for coordinate system independent positions, velocities, vectors and rotations
- Debug vectors and ground markers
- More atmospheric telemetry data
- Support for string arguments
- Add binding for parachutes
- Add navball helper functions to
std::navball
- Fix main window rescale on resize
- Improve error message on invalid number of method arguments
- Add binding for decoupler and launch clamps
- Fixed mixing async function results with sync methods (issue 32)
- Add
pitch_yaw_roll
property tovessel
reflecting the navball angles
- Potentially fixed reload/revert issue
- Add bindings for solar panels
- Add bindings for fairings
- Improve handling of code generation bugs
- Add basic ingame script editor (thanks to ThunderousEcho)
- Note: There is an issue of IMGUI elements not capturing the keyboard focus. As a temporary workaround there is a toggle to disable keyboard control of the game
- Add the ability to add additional arguments to scripts (thanks to kbleeke).
- As an example the
launch_rocket
script has now atarget_apoapsis
argument
- As an example the
- Experimental: Add
change_mode
to ModuleEngine - Fix for
bool != bool
- Check that it still works with game version 0.1.1.0
- Known issue: After a reload it might happen that the reference to the active vessel is lost. A "Reboot" can fix that.
- Add
.reverse()
on arrays - Fix internal error if function is called with too many arguments (now correct error message is displayed)
- Update all the steering / throttle managers in
ksp::control
(see https://kontrolsystem2.readthedocs.io/en/latest/interact/control.html)
vessel.actions.sas = true/false
now workingvessel.actions.rcs = true/false
now working- Add
vessel.actions.custom1
..vessel.actions.custom10
(addresses #10) - Support array of arrays types (addresses #12)
- Add engine mode information (addresses #12)
- Add
vessel.situtation
binding (Addressing #8) - Made coordinate transformation more stable (try always to be in coordinate frame of the main body, addresses #4)
- Optimize the parsing/compiling speed
- Add addition scripting director "localTo2" to cleanly distinguish between scripts provided by by the plugin and scripts you write your own
- This can be modified in the public configuration
/BepInEx/config/com.github.untoldwind.KontrolSystem2.cfg
- This can be modified in the public configuration
- Minor language adjustments
- Tweak precedence of the range operator
..
and...
so that it more consistent - Handle final return statement in functions correctly
- Tweak precedence of the range operator
- Added null checks in the
AutopilotAdapter
(addressing issue #3) - Added
core::std
package with stringjoin
andformat
functions - The formatting is based on C#
String.Format
, so something like this works:
format("First: {0,7:F3}, Second: {1,7:F2}, Third: {2}", (1.1234567, 12.345678, "Hallo")))
gives "First: 1.123, Second: 12.35, Third: Hallo"
- Combined Toolbar window and Modulemanager window to one
- ... i.e. got rid of the window that had little to no purpose
- Added an
exepect_orbit
to the maneuvering node - Added
parts_in_stage
to staging information - Improved the
exec_node
script (a lot)
- Close windows on ESC menu
- Fix
vessel.stating.next()
to actually work - Made a
launch_rocket
script working (for at least one rocket)
- Re-adding the unit tests that where failing on windows
- Add hotkey "Alt-K" to open the main window even if toolbar is not present/visible
- Can be toggled of in BepInEx configuration manager
- Increase internal line length of console
- Add
ksp::vessel::Vessel.staging.next()
method to trigger staging - Fix throttle_manager unhook problem
- Should eventually work for all other control managers as well
- Ignore empty lines on console resize
- Add indicator light to main window
- Additional vessel information (thanks EloxZ)