Skip to content

Releases: KSP-KOS/KOS

Insert witty title here :-P

26 Nov 06:30
Compare
Choose a tag to compare

[Insert witty title here :-P]

Compatible with KSP v1.0.5

for KSP v1.0.5 Downloads this release

BREAKING CHANGES

  • As usual, you MUST recompile all KSM files before running them on the new version. Some of the changes have altered how the VM works.
  • Nothing else... we hope.

NEW FEATURES

BUG FIXES

  • The processor's mode (on/off/starved) is now saved and restored ( #1172 )
  • Fixed stage resources again to address a change in KSP 1.0.5 ( #1242 )
  • Fix occasional instances of flight controls getting disabled during a docking/undocking/staging event ( #1205 )
  • kOS can now trigger module events with RemoteTech installed and no KSC connection ( RemoteTechnologiesGroup/RemoteTech#437 )
  • Fixed handling of multiple thrust/gimbal transforms and corrected some of their directions ( #1259 )

Steering More Much Betterer

07 Nov 04:11
Compare
Choose a tag to compare

for KSP v1.0.4 Downloads this release

CHANGES

  • Changed default MaxStoppingTime to 2 seconds ( was 1 )

BUG FIXES

  • Fixed a issue where the effect of the Kd parameter of PIDLoop was having a reversed effect #1229
  • Fixes an issue where NO_FLOW resources ( eg SolidFuel ) were not reporting correctly #1231

Steering Much Betterer

05 Nov 21:50
Compare
Choose a tag to compare

BREAKING CHANGES

  • As usual, you MUST recompile all KSM files before running them on the new version. Some of the changes have altered how the VM works.
  • New LOADDISTANCE obsoletes the previous way it worked ( http://ksp-kos.github.io/KOS_DOC/structures/misc/loaddistance.html )
  • Fixed broken spelling of "ACQUIRE" on docking ports. The old spelling of "AQUIRE" won't work anymore.
  • Changed the bound variable "SURFACESPEED" to "GROUNDSPEED" instead, as the meaning of "SURFACESPEED" was confusingly ambiguous.
  • New arg/param matching checks make some previously usable varying argument techniques not work. (We don't think anyone was using them anyway).
  • Disabled the ability to control vessels the kOS computer part is not actually attached to. This always used to be possible, but it shouldn't have been as it breaks the theme of kOS. This affects all the following: vessel:control, part:controlfrom, part:tag (can still get, but not set), partmodule:doaction, partmodule:doevent, partmodule:setfield (can still getfield). These things become read-only when operating on any vessel other than the one the executing kOS module is actually part of.

NEW FEATURES

BUG FIXES

  • Made stage:liquidfuel more sane. ( #513 )
  • LIST BODIES returned unusuable structure type ( #1090 )
  • Made "ORBIT" and alias for "OBT" and visa versa ( #1089 )
  • Made vecdraws stop showing bogus atmospheric burning effects ( #1108 )
  • Removed non-functional broken attempts to save/restore variables ( #1098 )
  • KSM files didn't store relative jumps right, breaking short-circuit boolean logic ( #1137 )
  • (user docs) many minor docs fixes.
  • Lock throttle inside a FROM loop was broken ( #1117 )
  • Unlock anything inside a Trigger body was broken ( #1151 )
  • Replaced KSP's incorrect ground speed with our own calculation ( #1097 )
  • SASMODE "radialin" and "raidialout" were swapped in the KSP API ( #1130 )
  • Bug with remote tech allowing access without antenna in one case ( #1171 )
  • Wheelsteering by integer compass heading was broken ( #1141 )
  • SHUTDOWN didn't shut down immediately ( #1120 )
  • Remote Tech delay, and the wait command, were ignoring the time warp multiplier ( #723 )
  • Better detection of arg/param matching. ( #1107 )
  • Doing PRINT AT that runs offscreen threw an error ( #813 )

1.0.4 Compatibility

28 Jun 04:27
Compare
Choose a tag to compare

BREAKING CHANGES

  • Removed all ETA_ and ALT_ bindings, please use ETA: and ALT: instead
  • TRUEANOMALY and MEANANOMALYATEPOCH are now expressed in degrees to conform to our policy
  • Deprecated INCOMMRANGE - now throws an exception with instructions to use the new addons:rt methods.
  • Updated maxtthrust and availablethrust calculations for KSP v1.0.x. Due to the way KSP handles thrust, neither available thrust nor maxthrust values are constant at all altitudes around bodies with atmospheres.
  • Boot files are now stored on local hard drives with their original names. You may get or set the boot file name using CORE:BOOTFILENAME suffix.
  • Some undocumented and nonsensical bool math operations have been removed
  • The Steering deadzone is much smaller now, this will allow for every precise RCS maneuvers.

New Hotness

  • You can now point RemoteTech antenna directly from script
  • You can now get RemoteTech's 'local control' status
  • Infernal Robotics integration improvements
  • New loop structure to allow for more flexible iteration
  • New struct object CORE: to interact with the currently running processor.
  • Added vessel:dockingports and vessel:elements suffixes.
  • Added element:dockingports and element:vessel suffixes.
  • Added availablethrust suffix to engines which mirrors the availablethrust suffix for vessels.
  • Added maxthrustat, availablethrustat, and ispat suffixes to engines to read the values at specified atmoshperic pressures. See the documentation for details.
  • Added maxthrustat and availablethrustat suffixes to vessels to read the values at a specified atmospheric pressures. See the documentation for details.
  • You can now use bootfiles while "Start on Archive volume" is enabled
  • Many new sound effects have been added (error, beep, and an option for key click)
  • Boolean AND and OR operations can now short circuit
  • Add new WARPTO command that uses the new KSP function
  • Added new BODY:SOIRADIUS
  • Added new suffixes to part that lets you get the bare names of events, actions, and modules
  • Many new sound effects have been added (error, beep, and an option for key click)
  • Added CLEARVECDRAWS that will remove all VECDRAWS
  • Any floating point value that has no floating component will be converted to an integer

Old and busted

  • Fixed empty return statements crashing with an argument count exception #934
  • Fix setting vector:mag to a new value actually setting the magnitude to 1 #952
  • Fix electricity being consumed while the game was paused #526
  • Fix Part Resource string representation #1062
  • Fix UNLOCK inside brace statements #1048 #1051
  • Fix setting PHYSICS warp mode #989
  • Fix printing engine list duplication #1026, #1057
  • Fix terminal lockout when RemoteTech has no connection to the KSC, but the ship has local control.
  • Fixed a crappy parser error that was causing , to do bizarre things to some code #925
  • Fix running an empty program resetting the parent #858
  • Fix some error printing related to nodes #905
  • Fix kOS processor sinking into launch pad #980
  • Fix rename file command #971
  • Fix return statement breaking closure #923
  • Fix docking port query #937
  • better expression support inside square brackets #935
  • you can now LOCK in a loop #954
  • the kOS toolbar button should be better behaved now
  • Volume indexes will truncate floating values rather than throwing an error
  • LIST FILES IN syntax now works for archive
  • electricity consumption is better behaved
  • setting the target to an empty string will always unset target

1.0 Compatiable

28 Apr 02:16
Compare
Choose a tag to compare

New Hotness

  • New infernal robotics integration
  • Better error reporting

Old and busted

  • fixes keyword lexxing

Corrections and Omissions

20 Apr 22:16
Compare
Choose a tag to compare

"New" features

Bug Fixes:

  • Many Doc fixes
  • Fixed bug with setting KAC Alarm action to correct value
  • Fixed some unneeded log spamming

FUNCTIONS! FUNCTIONS! FUNCTIONS!

18 Apr 22:40
Compare
Choose a tag to compare

Big feature: You can make your own user-defined functions, that
can handle recursion, and can use local variable scoping. You can
build a library of your own function calls and load them into your
script.

New Documentation change page:

For those users who just want to see what new features
exist without reading the entire documentation again
from scratch, we have created a changes page in the main documentation:

For the features mentioned below, you can go to the page above
and get a more verbose description of the new features.

New Features:

A brief list of what's new:

  • Variables can now be local
  • Kerboscript has User Functions
  • Community Examples Library
  • LIST() now takes args to initialize the list.
  • Physics Ticks not Update Ticks
  • Ability to use SAS modes from KSP 0.90
  • Blizzy ToolBar Support
  • Ability to define colors using HSV
  • Ability to highlight a part in color
  • Better user interface for selecting boot scripts
  • Disks can be made bigger with tweakable slider
  • You Can Transfer Resources
  • Kerbal Alarm Clock support
  • Query the docked elements of a vessel
  • Support for Action Groups Extended
  • ISDEAD suffix for Vessel

This update is so full of new features that instead of describing all of their
details here, you can go see them on the main docs page at the following link:

http://ksp-kos.github.io/KOS_DOC/changes.html

Bug Fixes:

  • Using the same FOR iterator in two loops no longer name clashes because it's not global anymore.
  • Repaired a number of boot file selection bugs.
  • Removed a few unnecessary debug log spamming message.
  • Fixed a minor issue with the special hidden file .DS_Store that Macs insert into the Scripts folder.
  • Fixed bug spamming nullrefs when panel was open in the VAB/SPH editor.
  • Fixed bugs where setting warp could crash KSP. Now it clamps warp to valid values.
  • Fixed bug where kOS CPU's were drawing power from the batteries even when the game was paused.
  • Fixed bug where rate of power consumption varied depending on animation frame rate.
  • Fixed bug where WAIT 0 crashed scripts. Now WAIT 0 waits the min. possible time (1 physics tick).
  • Fixed small order of operations problem with expressions containing unary operators like '-', '+', and 'not'.
  • Fixed problem where SET TARGET didn't really set it until the next physics tick. Now it sets immediately.
  • Fixed some issues with the use of Action Groups above 10, when Action Groups Extended is installed.
  • Fixed bug where VOLUME:RENAMABLE returned the name string, rather than a boolean.
  • Fixed bun when printing a VOLUME to the screen and failing to "stringify" it properly.
  • Using the unary negation '-' on vectors and directions now works.
  • Fixed some major bugs in how the kOS toolbar panel was dealing with scene changes and getting "stuck" on screen.
  • Fixed some bugs with the kos Name Tag typing window getting stuck on screen and locking the user out of the UI.
  • Fixed bug with reboot not clearing out the state properly.
  • Fixed bug where any syntax error caught by the compiler resulted in bogus additional second error message.

BREAKING:

  • RECOMPILE YOUR KSM FILES!!! - If you used the COMPILE command in
    the past, changes to the kOS machine code that were needed to support
    variable scoping ended up invalidating any existing compiled KSM files.
  • KSM FILES ARE BIGGER - compiled KSM files are now larger than
    they used to be for the same source code. They might not be an
    efficient way to pack your code down to a small disk footprint
    anymore.
  • CONFIG:IPU should be slightly increased The new default
    we ship with is 200, to reflect both the change in ML code, and the
    movement to Unity's FixedUpdate for physics ticks. However if you
    have played kOS in the past, your settings don't get automatically
    overwritten. You will need to change the setting manually.
  • DECLARE has a new syntax
    DECLARE VARNAME now requires an initializer syntax as follows:
    • DECLARE VARNAME TO VALUE.
      If you leave the TO VALUE off, it will now be a syntax error.
      Also, you can say LOCAL or GLOBAL instead of, or in addition to,
      the word DECLARE.
  • DECLAREd variables are now local
    Using the DECLARE VARNAME TO VALUE statement now causes the
    variable to have local scope that only exists within the local block
    of curly braces ('{'...'}') that it was declared inside of. To get
    the old behavior you can explicitly say:
    DECLARE GLOBAL VARNAME to _VALUE.
  • FOR iterator now is local
    The VARIABLE in loops of the form FOR VARIABLE IN SOMELIST now
    has local scope to just that loop, meaning it stops existing after
    the loop is done and you can't use it outside the loop's body.

Hotfix 2

24 Feb 05:28
Compare
Choose a tag to compare
  • Fixes #609 KOS ignores run command in FOR loop
  • Fixes #610 Print AT draws in the wrong place on telnet after clearscreen.
  • Fixes #612 doesn't update telnet screen when cur command is longer than prev and you up-arrow

Node Hotfix!

22 Feb 04:24
Compare
Choose a tag to compare

this fixes #603 the mess that I made of the Node structure, thanks Tabris from the forums for bringing this to our attention.

Remote Telnet Access

20 Feb 23:22
Compare
Choose a tag to compare

v0.16.0

BREAKING

  • Body:ANGULARVEL is now a Vector instead of a Direction. (This is the same as the change that was done to Vessel:ANGULARVEL in v0.15.4, but we missed the fact that Body had the same problem). It was pretty useless before so this shouldn't hurt many scripters :)
  • Both Body:ANGULARVEL and Vessel:ANGULARVEL now are expressed in the same SHIP_RAW coordinate system as everything else in kOS, rather than in their own private weirdly mirrored reference frame. (Thanks to forum user @thegreatgonz for finding the problem and the fix)
  • #536 the 1.5m kOS part has always had trouble with clipping into other parts due to the rim of the cylinder sticking up past the attachment points. The part definition has been changed to fix this, but in KSP new part definitions don't affect vessels that have already been built or have already had their design saved in a craft file in the VAB/SPH. To see the fix you'll need to start a new vessel design from scratch, otherwise you'll still have the old clipping behavior.

New Features

  • TELNET SERVER. The biggest new feature this update is the introduction of a telnet server you can use to access the terminals in game. For security, it's turned off by default, but you can enable it with the config radio button. Full documentation on this new feature is at http://ksp-kos.github.io/KOS_DOC/general/telnet.html
    • Synopsis:
      • Telnet to 127.0.0.1, port 5410
      • Select CPU from welcome menu by typing a number and hitting Return.
      • Your telnet client is now a clone of that CPU's terminal window and can control it.
      • If you want to open it up to others to use (i.e. controlling your KSP game from a second computer),
        you can use an ssh tunnel to access the local loopback address, or if you just want to throw
        caution to the wind, you can tell it to stop using loopback and use your real IP address.
        Be aware of the security risk if you choose this.
  • Added HUDTEXT that lets you add text to the screen. Thanks @pgodd !
  • #72 - Added STAGE:NUMBER and STAGE:READY to allow for staging very close together
  • #522 - Added BODY:GEOPOSITIONOF and BODY:ALTITUDEOF for getting body-relative info about a 3D point in space.
  • #524 and #523 - mission waypoints now have 3d positions
  • In game Terminal is now resizable! From a script with SET TERMINAL:WIDTH and SET TERMINAL:HEIGHT, or from dragging the lower-right corner of the GUI window.

Bug Fixes

  • Fixes #389 - LOCK STEERING broken for RCS-only (no torque) ships.
  • Fixes #516 - kOSTags are now applied in the correct MM pass
  • Fixes #541 - All BODY: suffixes should now work properly when the body is the Sun without crashing.
  • Fixes #544 - Terminal subbuffer won't shrink when up-arrowing to a previous smaller command.
  • Fixes #548 - If SHIP is not the same as ActiveVessel, then executing STAGE stages the wrong vessel.
  • Fixes #581 - SHIP:CONTROL:PILOTFORE and SHIP:CONTROL:PILOTSTARBOARD are no longer inverted.
  • Fixes #578 - renamed our use of RemoteTech2 to RemoteTech to follow their new naming.
  • Fixes #427 - Stack now clears when interactive commands throw exceptions. (no longer reports false stack traces).
  • Fixes #409 - Delete no longer leaves file in memory.
  • Fixes #172 - Lock states no longer persist through power cycling unit. Now they become default for unlocked state
  • Fixes #580 - RT "signal lost. waiting to re-aquire signal" check previously disallowed manned terminal use. Now it only disables the terminal if the vessel is unmanned.
  • Fixes #344 - KOSArgumentMismatchException reported wrong arg number (i.e. it would claim your 3rd argument is wrong when it's really your 1st argument). Fixed.