Skip to content

Releases: untoldwind/KontrolSystem2

v0.5.7.1

18 Mar 18:24
8437ade
Compare
Choose a tag to compare
v0.5.7.1 Pre-release
Pre-release

Result<T, E> overhaul.

Background:

  • The main use-case of Result<T, E> is to serve as return of a function that can either have a successful result of
    type T or an error of type E.
  • In pretty much all cases the error is just a string, i.e. the common use is Result<T, string>

Changes:

  • For simplification the type parameter for the error case is dropped, i.e. a result is just Result<T>
    • The old notation Result<T, E> (or rather Result<T, string>) will still work, but the second parameter is ignored
  • The result.error field is now a newly introduced core::error::Error
    • For compatibility core::error::Error will be automatically converted to a string
    • Just like before an error Result can be created using the builtin Err function with an error message
  • In addition to the error message the core::error::Error additional contains a stack_trace to help locating
    where the Error was created
  • As an additional helper there this a core::error::current_stack() function to obtain the current stack trace for
    debugging purposes.

Support for script based logs:

  • Add MAIN_LOG and open_log_file(string) to ksp::debug
    • Log files will be cared ein logs sub-folder of to2Local

v0.5.7.0

16 Mar 17:24
ef55d06
Compare
Choose a tag to compare
v0.5.7.0 Pre-release
Pre-release

Result<T, E> overhaul.

Background

  • The main use-case of Result<T, E> is to serve as return of a function that can either have a successful result of
    type T or an error of type E.
  • In pretty much all cases the error is just a string, i.e. the common use is Result<T, string>

Changes

  • For simplification the type parameter for the error case is dropped, i.e. a result is just Result<T>
    • The old notation Result<T, E> (or rather Result<T, string>) will still work, but the second parameter is ignored
  • The result.error field is now a newly introduced core::error::Error
    • For compatibility core::error::Error will be automatically converted to a string
    • Just like before an error Result can be created using the builtin Err function with an error message
  • In addition to the error message the core::error::Error additional contains a stack_trace to help locating
    where the Error was created
  • As an additional helper there this a core::error::current_stack() function to obtain the current stack trace for
    debugging purposes.

v0.5.6.3

14 Mar 18:33
8fbf7dc
Compare
Choose a tag to compare
  • Add ObjectAssemblyEngineDeltaV.engine and ObjectAssemblyEngineDeltaV.part field
  • Add StageDeltaV.parts and ObjectAssemblyStageDeltaV.parts fields
  • Add additional ksp::vessel::Part.engine field to make naming compatible with OAB (and other modules)
    • .module_engine is now supposed to be deprecated

v0.5.6.2

13 Mar 20:30
77e9115
Compare
Choose a tag to compare
  • Add body.atmosphere_pressure(altitude : float) method
  • Add body.atmosphere_temperature(altitude : float) method
  • Add body.atmosphere_density(altitude : float) method
  • Add engine.calc_max_thrust_output_atm() method
  • Fix GeoCoordinates.terrain_height and body.terrain_height to include offset from scenery

v0.5.6.1

12 Mar 16:15
c23f2f0
Compare
Choose a tag to compare

Minor cleanup:

  • Improve parser support for string-interpolation
  • Improve language documentation

v0.5.6.0

10 Mar 20:47
6c69a9a
Compare
Choose a tag to compare

v0.5.5.5

09 Mar 17:34
d50d343
Compare
Choose a tag to compare
  • Add engineMode.propellant field
  • Protentially breaking changes:
    • Cleanup ModuleCommand: Remove fields that belong to Part to access those use moduleCommand.part.field
    • Cleanup ModuleDockingNode: Remove fields that belong to Part to access those use dockingNode.part.field
  • Add .part field to all Module* types
  • Add moduleCommand.required_resources
  • Add moduleSolarPanel.resource_setting
  • Add moduleHeatshield.required_resources
  • Add binding for transmitter modules
  • Add binding for lighting modules
  • Add binding for generator modules
  • Support air intake, command, decoupler, docking node, generator, light, transmitter, science_experiment in VAB
  • Make resource container information available in VAB
  • Add .flat_map and .filter_map to ranges
  • Make warp_to, cancel_warp and set_warp_index in ksp::game::warp available in sync context (i.e. inside UI callback)
    • This is in part a rollback of the previous change to warp_to
  • Add binding for RCS modules
  • Add binding for ReactionWheel modules
  • Add .active_transmitter field to ScienceStorage
    • ScienceStorage had to be moved from ksp::science to ksp::vessel
  • Add .connection_status to vessel

v0.5.5.4

08 Mar 19:52
90b7272
Compare
Choose a tag to compare
v0.5.5.4 Pre-release
Pre-release
  • Add engineMode.propellant field
  • Protentially breaking changes:
    • Cleanup ModuleCommand: Remove fields that belong to Part to access those use moduleCommand.part.field
    • Cleanup ModuleDockingNode: Remove fields that belong to Part to access those use dockingNode.part.field
  • Add .part field to all Module* types
  • Add moduleCommand.required_resources
  • Add moduleSolarPanel.resource_setting
  • Add moduleHeatshield.required_resources
  • Add binding for transmitter modules
  • Add binding for lighting modules
  • Add binding for generator modules
  • Support air intake, command, decoupler, docking node, generator, light, transmitter, science_experiment in VAB
  • Make resource container information available in VAB
  • Add .flat_map and .filter_map to ranges
  • Make warp_to, cancel_warp and set_warp_index in ksp::game::warp available in sync context (i.e. inside UI callback)
    • This is in part a rollback of the previous change to warp_to
  • Add binding for RCS modules
  • Add binding for ReactionWheel modules
  • Add .active_transmitter field to ScienceStorage
    • ScienceStorage had to be moved from ksp::science to ksp::vessel
  • Add .connection_status to vessel

v0.5.5.3

07 Mar 21:47
90b7272
Compare
Choose a tag to compare
v0.5.5.3 Pre-release
Pre-release
  • Add engineMode.propellant field
  • Protentially breaking changes:
    • Cleanup ModuleCommand: Remove fields that belong to Part to access those use moduleCommand.part.field
    • Cleanup ModuleDockingNode: Remove fields that belong to Part to access those use dockingNode.part.field
  • Add .part field to all Module* types
  • Add moduleCommand.required_resources
  • Add moduleSolarPanel.resource_setting
  • Add moduleHeatshield.required_resources
  • Add binding for transmitter modules
  • Add binding for lighting modules
  • Add binding for generator modules
  • Support air intake, command, decoupler, docking node, generator, light, transmitter, science_experiment in VAB
  • Make resource container information available in VAB
  • Add .flat_map and .filter_map to ranges
  • Make warp_to, cancel_warp and set_warp_index in ksp::game::warp available in sync context (i.e. inside UI callback)
    • This is in part a rollback of the previous change to warp_to
  • Add binding for RCS modules
  • Add binding for ReactionWheel modules

v0.5.5.2

06 Mar 20:48
90b7272
Compare
Choose a tag to compare
v0.5.5.2 Pre-release
Pre-release
  • Add engineMode.propellant field
  • Protentially breaking changes:
    • Cleanup ModuleCommand: Remove fields that belong to Part to access those use moduleCommand.part.field
    • Cleanup ModuleDockingNode: Remove fields that belong to Part to access those use dockingNode.part.field
  • Add .part field to all Module* types
  • Add moduleCommand.required_resources
  • Add moduleSolarPanel.resource_setting
  • Add moduleHeatshield.required_resources
  • Add binding for transmitter modules
  • Add binding for lighting modules
  • Add binding for generator modules
  • Support air intake, command, decoupler, docking node, generator, light, transmitter, science_experiment in VAB
  • Make resource container information available in VAB
  • Add a sync_warp_to to ksp::game::warp as a temporary workaround (to be used with care)