Skip to content

Releases: KSP-KOS/KOS

Backward port to KSP 1.2.2. NOT FOR KSP 1.3!

19 Sep 19:08
Compare
Choose a tag to compare

for KSP v1.2.2 Downloads this release

If you have KSP 1.3, then this release will fail. Use version v1.1.3.0 (below) instead.

Only use this release if you are stuck on KSP 1.2.2.

v1.1.3.1 (for KSP 1.2.2) Backward compatibility version of v1.1.3.0

This is identical to kOS v1.1.3.0 except that code specific to KSP 1.3
was removed, and it was re-compiled against KSP 1.2.2 libraries.

(The incentive to make such a release available was mostly because
Realism Overhaul typically stays a version behind for quite a while).

Bug Swatting Release

19 Sep 03:15
Compare
Choose a tag to compare

for KSP v1.3.0 Downloads this release

v1.1.3.0 (for KSP 1.3) Bug Swatting Release

For this release we instituted a rule partway through that only bug fixes
should be allowed (some of the first few changes were enhancements rather
than bug fixes, but after that, its all bug fixes). This was in a vain
hope that doing so would get a release out faster than normal.

BREAKING CHANGES

(Can't think of any.)

NEW FEATURES

  • Terminal input using any Unicode character, not just ASCII.
    (Technically not a new feature, but a bug fix to a feature
    from the previous version, but since the bug made the feature
    never work at all in the past, it feels like a new feature).
    pull request
  • New StartTracking suffix for "unknown objects" (asteroids).
    pull request

BUG FIXES

  • A large refactor of how the various flight control methods track
    which vessel they control. This appears to have fixed a lot of
    bugs where kOS lost the ability to control the ship unless
    you reloaded the scene. (After a docking, undocking, staging,
    vessel switch, or scene switch, this would sometimes happen,
    but not consistently enough to be easy to debug).
    pull request
    pull request
  • Program aborts caused by external events such as poweroff,
    shutdown, or control-C no longer leave garbage behind in
    memory still hooked into parts of kOS.
    pull request
  • Documentation now more explicitly mentions how SAS and lock steering
    fight with each other.
    pull request
  • Documentation for GUIskin:add() was wrong. Fixed.
    pull request
  • The waypoint() constructor used to fail on waypoints which
    were not part of a cluster yet were named as if they
    were part of a cluster anyway ("my waypoint Alpha",
    "my waypoint Beta", "my waypoint Gamma", etc). This doesn't
    happen in stock, but does happen with several mods that use
    ContractConfigurator. kOS will now deal with such waypoints.
    pull request
  • Documentation that claimed obsoleted TERMVELOCITY still
    exists has been removed or edited.
    pull request
  • Trying to examine the NoDelegate object no longer causes
    nullref error.
    pull request
  • Equality operator ( == ) when comparing a Path to a Path now
    fires off correctly.
    pull request
  • GUI's ONRADIOCHANGE callback hook now no longer depends
    on the existence of an ONTOGGLE hook to fire off.
    pull request
  • Compiler no longer creates incorrect opcodes for indexed
    collections used as arguments to a function call that's
    on the lefthand side of an assignment statement.
    pull request
  • Font resizing in scripts no longer causes the terminal to mangle
    its size and width/height character count
    pull request
  • Signal delay progress bar (when using Remote Tech) will now resize
    properly when you have a nonstandard sized terminal window.
    pull request
  • Compile command now works properly when run from the interpreter.
    pull request
  • Vessel:isDead working properly now
    pull request
  • Stretching the terminal to a large size no longer causes
    the rounded corner to obscure text in the window.
    pull request
  • Full unicode keyboard and file save support was getting
    mangled by wiping out the high byte leaving only the 8-bit
    ASCII part left. Fixed.
    pull request
  • Toolbar Panel setting changes no longer require there to
    exist a kOS part loaded into the scene.
    pull request

CKAN-corrected 1.1.1

21 Jun 04:15
Compare
Choose a tag to compare

for KSP v1.3.0 Downloads this release

The v1.1.1 release had one error in the CKAN config that caused it not to be picked up by CKAN's searches. This is corrected now, but to make the update noticed, we have to give it a new tag, so the version number is now 1.1.2.

KSP 1.3 compatibility

15 Jun 04:42
Compare
Choose a tag to compare

for KSP v1.2.2 Downloads this release

v1.1.1 (for KSP 1.3) KSP 1.3 compatibility recompile.

No known intentional changes other than editing a few method calls to the KSP API to make it work with KSP 1.3.

Also updated the included ModuleManager to version 2.8, whichis a necessity for compatibility with KSP 1.3.

Thanks to @pipakin for getting the 1.3 changes ready for us while we worked on getting the previous release, v1.1.0, out.

v1.0.90 (pre-release for v1.1.0) Ewww, everything's GUI.

14 May 04:16
Compare
Choose a tag to compare

for KSP v1.2.2 Downloads this release

TO PEOPLE VIEWING THIS FOR THE PRE-RELEASE:

This v1.1.0 changelog has several TODO's in it because some URLS and links
are not final and will change when we go to full release. Rather than
include the links that will soon become wrong, they're just marked as TODO
for now, and you'll have to use the documentation search function to
find the relevant part of the docs on the temporary pre-rlease docs server.)

(TODO: Remove These paragraph when going from pre-release to public release:
Although this changelog is marked as v1.1.0, remember that v1.1.0 is
technically not out yet. What you are seeing is a "pre-release" of v1.1.0,
and things are subject to change.)

For temporary viewing of updated documentation, visit http://hvacengi.github.io/KOS

BREAKING CHANGES

  • Because of changes to make the terminal use a real font from your OS, we had
    to obsolete TERMINAL:CHARWIDTH. You can only choose TERMINAL:CHARHEIGHT.
    Each font has its own hardcoded notion of how wide a letter will be at a
    given height, which you can't override.
  • CONFIG:BRIGHTNESS was moved back to the global config section, and is no longer
    set on the "difficulty" options screen, because it's not supposed to be a
    per-saved-game setting, but a user-interface preference that spans all saved games.
  • ATM:SEALEVELPRESSURE now gives the answer in different units than it used to.
    (It was in KiloPascals even though the documentation claimed it was in atmospheres.
    Now it's in atmospheres to agree with the documentation.)

NEW FEATURES

  • GUI-making toolkit. You are now able to make a GUI window that your kerboscript
    code can control, including buttons, sliders, toggles, checkboxes, etc. It uses the
    KSP game's default skin (kind of big letters) but the skin can be customized by the
    script a bit to change things.
    pull request
    pull request
    documentation: search for "GUI" (TODO: replace with URL).
  • Background compilation. Now the game continues its simulation normally and physical
    events keep happening, while kOS is taking a few seconds to compile a script.
    (Gets rid of that familiar frozen game effect when you first issue a RUN command.)
    pull request
  • Terminal Font. Now the kOS in-game terminal window uses a real font from your OS itself
    to render the text terminal. (This allows the display of any Unicode character the font can
    render, and it allows nicer looking font size changes.) Previously kOS painted images for
    letters from a hardcoded texture image file.
    pull request 1
    pull request 2
  • Allow any unicode. The kerboscript parser now allows identifiers and literal strings to
    contain letters outside the limited ASCII-only range it used to accept. The in-game terminal now
    allows you to type any letter your keyboard can type. (But it does not implement the ALT-numpad
    technique of entering characters. You have to have a keyboard that types the character directly.
    However, the ALT-numpad technique will work through the telnet terminal, if your telnet client's
    window can do it.)
    pull request
  • Regular expression part searches for part/tag names.
    pull request, documenation: search for "PARTSTAGGEDPATTERN" (TODO: replace with URL).
  • Choose the IP address of the telnet server, from the ones your computer has available, instead
    of kOS picking one arbitrarily.
    pull request
  • Pressure at a given altitude is now something you can query from an atmosphere.
    pull request, documentation: search for "ALTITUDEPRESSURE" (TODO: replace with URL).
  • Get a LATLNG for some other body than the current one.
    pull request, documentation: search for "GEOPOSITIONLATLNG" (TODO: replace with URL).

BUG FIXES

  • Fix kOS toolbar button sometimes failing to appear in Blizzy Toolbar Mod.
    pull request
  • Fix SKID Chip emulator's sync lag when physics is slow.
    pull request
  • Fix SKID Chip emulator unable to use voices 6 through 9 because of how they were initialized.
    pull request
  • Forgot to document GETMODULEBYINDEX.
    pull request
  • Fix inability of a script to SET TARGET when KSP game is not the focused window.
    pull request
  • Fix iterator that lets you walk the characters in a string with "for" loop.
    pull request
  • Removed some Unity hooks that despite being empty and doing nothing,
    nonetheless still ate up a bit of time to pointlessly call and return from.
    pull request
  • Fix use of the min()/max() function on string comparisons
    pull request
  • Fix science data transmissions
    pull request
  • Fix unnessary duplicated of clones of vessel objects (was causing large garbage collection hangs).
    pull request
  • Fixed several small documentation errors:
    pull request
    pull request
    pull request
  • Fixed float->boolean mapping error. The values no longer round to integer before becoming boolean.
    (i.e. 0.01 should be True, not get rounded to False (0) like it used to.)
    pull request
  • Fixed ATM:SEALEVELPRESSURE units to agree with the documentation.
    pull request
  • Fixed bug that had made the sounds fail to emit for beep and keyclick.
    pull request
  • Fixed vessel:TOSTRING to return "Vessel(blarg)" instead of "Ship(blarg").
    pull request
  • Fixed null-ref errors when using NEXTPATCH when there is no next patch.
    pull request
  • Fixed a few bugs related to kOS cleaning up after itself when the vessel splits into two
    or two vessels join together, or a vessel blows up.
    pull request

v1.0.3 Make a little noise! (Part Deux)

08 Dec 01:12
Compare
Choose a tag to compare

v1.0.3 (for KSP 1.2.2) Make a little noise! (Part Deux)

for KSP v1.2.2 Downloads this release

Downloads

Summary

This release is nearly identical to v1.0.2, except that it was compiled against
binaries from KSP v1.2.2 (released just before we published) and the version numbers
have been advanced. While it appears that kOS v1.0.2 is compatible with KSP v1.2.2,
we wanted to err on the side of caution and provide an explicitly compatible release.
Please review the changelog for v1.0.2 if you are upgrading from an earlier version.

v1.0.2 Make A Little Noise

07 Dec 04:08
Compare
Choose a tag to compare

for KSP v1.2.1 Downloads this release

BREAKING CHANGES

  • As always, if you use the compiler feature to make KSM files, you should
    recompile the KSM files when using a new release of kOS or results will
    be unpredictable.
  • Most in game settings are now integrated with KSP's difficulty settings window.
    You will be prompted to migrate existing settings when you load your save game.
    Telnet settings are still stored in the old config file, but everything else is
    now stored within the save file.
    pull request | documentation
  • Calls to resource suffixes on the stage bound variable are no longer rounded to 2 decimal places.
    Previously they were rounded to assist in detecting "zero" fuel, but they cause inequality issues
    when comparing to the newer stage:resources list or stage:resourceslex values.
  • The behavior of the resource suffixes on the stage bound variable has changed with regard
    to asparagus staging. If you have smaller tanks that can be staged, stage:liquidfuel
    will return 0 even if you still have an engine firing. This is a break from previous versions
    of kOS, but is aligned with the current UI design. Previous versions also aligned with the KSP
    UI, but the UI mechanic was updated with KSP 1.2.x

NEW FEATURES

  • Official release for KSP version 1.2.1!
  • kOS now has a procedural sound system! You can use it to play customized error
    tones or make your own musical notes.
    pull request | documentation
  • Support for CommNet and modifications to make RemoteTech and CommNet use similar systems.
    pull request | documentation
  • Trajectories integration enabled via new ADDONS:TR
    pull request | documentation
  • Added new setting for default terminal brightnes, and updated default value to 70%
    pull request | documentation
  • Added VELOCITY and ALTITUDEVELOCITY suffixes to `geocoordinates
    pull request | documentation
  • Added TONUMBER and TOSCALAR suffixes to string values for parsing numerical values
    pull request | documentation
  • New steeringmanager suffix ROLLCONTROLANGLERANGE to dictate the maximum value
    of ANGLEERROR for which the manager will attempt to control roll
    commit | documentation
  • KSM files are now gzip compressed internally, dramatically reducing the file size.
    Existing KSM files should still load, but see above for the recommendation to
    recompile all KSM files.
    pull request

BUG FIXES

  • Fix for throwing errors when another mod uses dynamic assembly
    pull request
  • Update Blizzy toolbar wrapper to the most recent version
    pull request
  • Fix for local kOS hard disks breaking when loading with 4 byte long files
    pull request
  • kOS no longer uses a write-only lock when writing to the archive, preventing
    an error when accessing a file opened for reading by another program
    pull request
  • Fix for duplicate functions/locks breaking ksm files
    pull request
  • Fix for null ref error when editing node suffixes on KSP 1.2.1
    pull request
  • Fix for issue where a body with the same name as one of our bound variables would block
    access to said variable (specifically Eta in Galileo's Planet Pack blocked the eta bound variable)
    pull request
  • Fix for getting the science value and transmit value in sandbox mode
    pull request
  • Fix error where unlock all inside a trigger will try to
    unlock functions too
    pull request

v1.0.2-pre-2 Pre-release

11 Nov 14:28
Compare
Choose a tag to compare
Pre-release

for KSP v1.2.1 Downloads this release

Pre-release version of the build with KSP 1.2.1 compatibility.

WARNING - May contain multiple bugs. Please report any issues you find!

Sub-warning: this update attempts to include unified support for CommNet and RemoteTech, but we need your help in thuroughly testing these features. Please try to test (break) these features so we can ensure that we squash as many bugs as possible before full release.

Update to the previous pre-release including:

  • Fix Sphinx doc builds on Python 3 and new versions of Sphinx
  • Settings are now stored in the KSP difficulty settings window documentation
  • Fix issue when mods are installed that use dynamic modules (like ContractConfigurator)
  • Added Trajectories API documentation
  • Fix issue reading from 4 byte files stored on the local hard drive which would erase the entire hard drive
  • KSM files are now stored using GZIP compression to reduce file size (while this change should be backwards compatibile, the kOS team always recommends recompiling ksm files whenever updating versions)
  • Support for CommNet and RemoteTech documentation

v1.0.2-pre

16 Oct 05:07
Compare
Choose a tag to compare
v1.0.2-pre Pre-release
Pre-release

for KSP v1.2.0 Downloads this release

Pre-release version of the build with KSP 1.2.0 compatibility.

WARNING - May contain multiple bugs. Please report any issues you find!

Notes

  • There is no CommNet integration, range and connections will not be enforced.
  • Some suffixes may not actually be right. We have a few To Do notes in the code (see #1835 for a list).
  • RemoteTech support has not been tested.
  • If you select "Require Signal For Control" in dificulty settings (see below) kOS will not be able to fully control the ship when out of signal. Controls should still be manipulated properly if you support partial probe control instead.

image

v1.0.1 Let's take some input!

11 Oct 20:54
Compare
Choose a tag to compare

for KSP v1.1.3 Downloads this release

Why 1.1.3 and not 1.2?

We wanted to get the last bug fixes and new features into the hands of any users who might not update KSP to 1.2 right away. Traditionally there are some mods that take a while to update when KSP releases a new version, and many users choose to wait for all of their favorite mods to update before upgrading KSP. By releasing in conjunction with the update, we can ensure that as many users as possible have access to these latest updates. We will be releasing a version of kOS that is compatible with KSP 1.2 as soon as possible after the final build is released to the public.

BREAKING CHANGES

  • As always, if you use the compiler feature to make KSM files, you should
    recompile the KSM files when using a new release of kOS or results will
    be unpredictable.
  • The stage command/function now implements the yield behavior, waiting until
    the next frame to return. This ensures that all vessel stats are updated
    together. (#1807)

NEW FEATURES

  • Functions and opcodes can now tell the CPU to yield (wait) based on their own
    arbitrary logic. This allows future functions to be "blocking" (preventing
    further execution) without blocking KSP itself.
    (#1805,
    #1807, and
    #1820)
  • New timewarp structure, available on the kuniverse bound variable. This
    structure provides additional information and control over time warp. The old
    warp bound variables remain in place.
    (#1790 and
    #1820)
  • Introducing a new terminalinput structure for keyboard interaction from
    within scripts! Currently support is only provided for getting single
    characters.
    (#1830)

Please check http://ksp-kos.github.io/KOS_DOC/changes.html for more detailed
explanations for the new features.

BUG FIXES

  • Fix for formatting of time:clock to pad zeros
    (#1771 and
    #1772)
  • Fix for not being able to construct a vessel("foo") if "foo" is the name of
    the current vessel (#1565 and
    #1802)
  • RemoteTech steering should be fixed. At worst you may see a 1sec gap with
    the controls, as we now refresh the steering callback about once per second.
    (#1806 and
    #1809)
  • Named functions defined within anonymous functions will no longer throw an
    error (#1801 and
    #1811)
  • lock steering no longer throws an exception inside of an anonymous functions
    (#1784 and
    #1811)
  • Compiled programs that include a large number of named functions should no
    longer throw an error (#1796 and
    #1812)
  • Fixed the first call to wait after the cpu boots
    (#1785)
  • Various documentation fixes (#1810,
    #1823, and
    #1834)