Jump to content

erendrake

Members
  • Posts

    536
  • Joined

  • Last visited

Everything posted by erendrake

  1. %KSPDIR%\Ships\Script should get your scripts into the archive. The file extension change was in the changelog under https://github.com/KSP-KOS/KOS/blob/master/CHANGELOG.md#changes-breaking-old-scripts
  2. astral_nomad : we also changed extensions from *.txt to *.ks. have you updated your scripts?
  3. Personally i am never interested in Tweakscale. There are very few mods that i think it makes for a richer experience (infernal robotics springs to mind) and IMO there are plenty of time i think it detracts from a really nice design. just my 2 funds.
  4. I am usually the keeper of the tribal knowledge on the flight controls and i am currently coming out of complete incognito status after my wife was so kind as to give us a baby boy I added a new issue for this on github here : https://github.com/KSP-KOS/KOS/issues/425 the pilot controls are a pretty new feature and i have to admit i never tested the them in conjunction with the autopilot so i never saw part of your issue. I consider that a bug that we might have a quick conversation to make sure we come to the correct conclusion. As far as the behavior of letting the pilot control stuff while the autopilot is on that was a feature request from users that didnt like that writing a terminal velocity or similar single axis of control script would lock out everything. I do see your point about creating a full fly by wire system you would want to be the man-in-the-middle and prevent any direct control. I think that leaving the way it is by default is fine and we could add a "lockout" function that does what you are asking for.
  5. New Release v0.15.2 On Github Also available on kerbalstuff and curse You guys gave some great bug reports and we could quickly knock some of them out so there is the first part of the post v0.15 cleanup releases Features: * Added :PORTFACING to docking ports that should always have the correct facing for the port itself #398 Bugfixes: * BREAKING: Partfacing should now come out of the top rather than the side #394 * :MODULESNAMED returns something useful now #392 * array syntax bugs #387 On Github Also available on kerbalstuff and curse
  6. New Release v0.15.1 On Github Also available on kerbalstuff and curse You guys gave some great bug reports and we could quickly knock some of them out so there is the first part of the post v0.15 cleanup releases Bugfixes: * All Lists have suffixes again * in the config panel, IPU no longer gets stuck at 50 On Github Also available on kerbalstuff and curse
  7. That is interesting, ill have a look. the next few weeks will see a drop in my code output, the time i do have i plan on using to fix bugs. Update: new github issue https://github.com/KSP-KOS/KOS/issues/382
  8. NEW RELEASE v0.15.0 We have a huge new release with fun toys for you all to play with. https://github.com/KSP-KOS/KOS/releases/tag/v0.15.0 NEW FEATURES: Please follow the links to see the full information on the new features. * Added new kOS GUI panel to the KSP Applauncher system. With this you can alter config values, and open/close terminals from one common panel. Just click the little kOS logo button in either the editors (VAB/SPH) or in flight view. * Added pilot input to flight controls which lets you read/write the users control state, you can use this to set the exit behavior for the mainthrottle. * Several suffixes are now methods that you can call with arguments. * eg before to add to a list it was SET LIST:ADD TO "FOO". Now it would be LIST:ADD("FOO"). * Suffix methods that perform an action do not need to be assigned to anything. No more having to say SET DUMMY TO MYLIST:CLEAR. You can now just say MYLIST:CLEAR. like it was a statement. * Added suffixes to OBT for walking orbit conic patches * ORB:HASNEXTPATCH - A boolean that shows the presence of a future patch * ORB:NEXTPATCH - The next OBT patch * Added better techniques for selecting the Part you want from a Vessel: * Ability to give any part any name you like with the new nametag feature. * Directly querying a vessel for parts, searching for nametags, or part names or part titles. * SHIP: PARTSDUBBED(string) * SHIP: PARTSNAMED(string) * SHIP: PARTSTAGGED(string) * SHIP: PARTSTITLED(string) * SHIP: PARTSINGROUP(string) * SHIP: MODULESNAMED(string) * Walking the parts Tree: * PART: CHILDREN - A ListValue of parts that are descendant from the current part * PART: PARENT - A PART that is the ancestor of the current part * PART: HASPARENT - A boolean that shows the presence of a Parent PART * SHIP: ROOTPART - The first part of a ship. The start of the tree of parts. identical to SHIP: PARTS[0]. * SET MyList TO SHIP: PARTS. now does the same thing as LIST PARTS IN MyList. * A new system lets you access the PartModules that the stock game and modders put on the various parts. Through this, you now have the ability to manipulate a lot of the things that are on the rightclick menus of parts: * PART Suffixes: * GETMODULE(string) * ALLMODULES. * PartModule Suffixes: * GETFIELD(field_name) - read a value from a rightclick menu * SETFIELD(field_name, new value) - change a value on a rightclick menu, if it would normally be adjustable via a tweakable control. * DOACTION(name_of_action_) - cause one of the actions that would normally be available to action groups *even if it hasn't been assigned to an action group*. * DOEVENT(event_name) - "presses a button" on the rightclick part menu. * Several others.. * Lists are now saner to work with with no longer needing to use weird side effects to get things done, now that there's proper methods available: * :ADD has changed: * Old Way: SET MyList:ADD TO NewVal. * New Way: MyList:ADD(NewVal). * :REMOVE has changed: * Old Way: SET MyList:REMOVE TO indexnumber. * New Way: MyList:REMOVE(indexnumber). * :CLEAR has changed: * Old Way: SET Dummy to MyList:CLEAR. * New Way: MyList:CLEAR(). * Added ENGINE:AVAILABLETHRUST suffix. A value that respects the thrust limiter * Added SHIP:AVAILABLETHRUST suffix. A sum of all of the ship's thrust that respects thrust limiters * Added a new experimental COMPILE command, for making smaller executable-only programs to put on your probes without punishing you for writing legible code with comments and indenting. * Filename convention changes: * Commands that deal with filenames will now allow any arbitrary expressions as the filename, except for the RUN command. * *Exception*: The above does NOT apply to the `` [code single]RUN`` command. The run command requires that the filenames are known at compile time, and it cannot allow arbitrary expressions evaluated later at runtime. * Program files are now called *.ks instead of *.txt. When you first run the new version, it will give you an option to rename your files to the new name for you as they are moved to the new location. * Although the default script filenames use *.ks, you can override this and explicitly mention filename extensions in all the filename commands. What you can't do is have filenames with no extensions. * Added support for CKAN * Added config file so kOS will now show up in Automatic Version Checker (AVC) CHANGES BREAKING OLD SCRIPTS: * BREAKING: .txt files are now .ks files: The new assumed default file extension for files used by kOS is *.ks rather than *.txt. This may confuse old IDE's, or your computer's assumed file associations. * BREAKING: VesselName: Removed previously deprecated term "VESSELNAME", use "SHIPNAME" * BREAKING: SHIP:ORB: PATCHES: Moved SHIP:ORB: PATCHES to SHIP: PATCHES and it now contains all orbit patches * BREAKING: Lists: New syntax for using :ADD, and :REMOVE suffixes for lists requires old code to be altered. See features above for the new way. * WARNING: Bundled ModuleManager: Because kOS now needs ModuleManager, and ModuleMangaer complains about being run on Windows 64bit, you now see a new warning message if you run kOS on Windows 64bit, but the message is ignorable and kOS still runs. * BREAKING: identifiers as filenames: If you use the same name for a filename as the name of a variable, in a file command such as COPY, DELETE, etc, then kOS will no longer use the variable's name as the filename but will now use the variable's contents as the filename. BUG FIXES: * PartValue: POSITION not using ship-relative coords * Boot file name is case sensitive * Engine reports maxthrust on :ISP suffix * LIST VOLUMES IN <list> makes an empty list. * Parser doesn't understand THING[num]:THING[NUM] or thing[index]:suffix(arg) * ship:obt: patches seems to be missing some of the patches (Note: in addition to fixing it, the patches list was moved to just ship: patches, which makes more sense). * Compiler should throw exception on trying to put a WAIT in a trigger.
  9. NEW RELEASE v0.15.0 We have a huge new release with fun toys for you all to play with. https://github.com/KSP-KOS/KOS/releases/tag/v0.15.0 NEW FEATURES: Please follow the links to see the full information on the new features. * Added new kOS GUI panel to the KSP Applauncher system. With this you can alter config values, and open/close terminals from one common panel. Just click the little kOS logo button in either the editors (VAB/SPH) or in flight view. * Added pilot input to flight controls which lets you read/write the users control state, you can use this to set the exit behavior for the mainthrottle. * Several suffixes are now methods that you can call with arguments. * eg before to add to a list it was SET LIST:ADD TO "FOO". Now it would be LIST:ADD("FOO"). * Suffix methods that perform an action do not need to be assigned to anything. No more having to say SET DUMMY TO MYLIST:CLEAR. You can now just say MYLIST:CLEAR. like it was a statement. * Added suffixes to OBT for walking orbit conic patches * ORB:HASNEXTPATCH - A boolean that shows the presence of a future patch * ORB:NEXTPATCH - The next OBT patch * Added better techniques for selecting the Part you want from a Vessel: * Ability to give any part any name you like with the new nametag feature. * Directly querying a vessel for parts, searching for nametags, or part names or part titles. * SHIP: PARTSDUBBED(string) * SHIP: PARTSNAMED(string) * SHIP: PARTSTAGGED(string) * SHIP: PARTSTITLED(string) * SHIP: PARTSINGROUP(string) * SHIP: MODULESNAMED(string) * Walking the parts Tree: * PART: CHILDREN - A ListValue of parts that are descendant from the current part * PART: PARENT - A PART that is the ancestor of the current part * PART: HASPARENT - A boolean that shows the presence of a Parent PART * SHIP: ROOTPART - The first part of a ship. The start of the tree of parts. identical to SHIP: PARTS[0]. * SET MyList TO SHIP: PARTS. now does the same thing as LIST PARTS IN MyList. * A new system lets you access the PartModules that the stock game and modders put on the various parts. Through this, you now have the ability to manipulate a lot of the things that are on the rightclick menus of parts: * PART Suffixes: * GETMODULE(string) * ALLMODULES. * PartModule Suffixes: * GETFIELD(field_name) - read a value from a rightclick menu * SETFIELD(field_name, new value) - change a value on a rightclick menu, if it would normally be adjustable via a tweakable control. * DOACTION(name_of_action_) - cause one of the actions that would normally be available to action groups *even if it hasn't been assigned to an action group*. * DOEVENT(event_name) - "presses a button" on the rightclick part menu. * Several others.. * Lists are now saner to work with with no longer needing to use weird side effects to get things done, now that there's proper methods available: * :ADD has changed: * Old Way: SET MyList:ADD TO NewVal. * New Way: MyList:ADD(NewVal). * :REMOVE has changed: * Old Way: SET MyList:REMOVE TO indexnumber. * New Way: MyList:REMOVE(indexnumber). * :CLEAR has changed: * Old Way: SET Dummy to MyList:CLEAR. * New Way: MyList:CLEAR(). * Added ENGINE:AVAILABLETHRUST suffix. A value that respects the thrust limiter * Added SHIP:AVAILABLETHRUST suffix. A sum of all of the ship's thrust that respects thrust limiters * Added a new experimental COMPILE command, for making smaller executable-only programs to put on your probes without punishing you for writing legible code with comments and indenting. * Filename convention changes: * Commands that deal with filenames will now allow any arbitrary expressions as the filename, except for the RUN command. * *Exception*: The above does NOT apply to the `` [code single]RUN`` command. The run command requires that the filenames are known at compile time, and it cannot allow arbitrary expressions evaluated later at runtime. * Program files are now called *.ks instead of *.txt. When you first run the new version, it will give you an option to rename your files to the new name for you as they are moved to the new location. * Although the default script filenames use *.ks, you can override this and explicitly mention filename extensions in all the filename commands. What you can't do is have filenames with no extensions. * Added support for CKAN * Added config file so kOS will now show up in Automatic Version Checker (AVC) CHANGES BREAKING OLD SCRIPTS: * BREAKING: .txt files are now .ks files: The new assumed default file extension for files used by kOS is *.ks rather than *.txt. This may confuse old IDE's, or your computer's assumed file associations. * BREAKING: VesselName: Removed previously deprecated term "VESSELNAME", use "SHIPNAME" * BREAKING: SHIP:ORB: PATCHES: Moved SHIP:ORB: PATCHES to SHIP: PATCHES and it now contains all orbit patches * BREAKING: Lists: New syntax for using :ADD, and :REMOVE suffixes for lists requires old code to be altered. See features above for the new way. * WARNING: Bundled ModuleManager: Because kOS now needs ModuleManager, and ModuleMangaer complains about being run on Windows 64bit, you now see a new warning message if you run kOS on Windows 64bit, but the message is ignorable and kOS still runs. * BREAKING: identifiers as filenames: If you use the same name for a filename as the name of a variable, in a file command such as COPY, DELETE, etc, then kOS will no longer use the variable's name as the filename but will now use the variable's contents as the filename. BUG FIXES: * PartValue: POSITION not using ship-relative coords * Boot file name is case sensitive * Engine reports maxthrust on :ISP suffix * LIST VOLUMES IN <list> makes an empty list. * Parser doesn't understand THING[num]:THING[NUM] or thing[index]:suffix(arg) * ship:obt: patches seems to be missing some of the patches (Note: in addition to fixing it, the patches list was moved to just ship: patches, which makes more sense). * Compiler should throw exception on trying to put a WAIT in a trigger.
  10. Controlling the part buttons directly is a feature that we are releasing very soon for kOS, if you want to get your feet wet in automation come on over to the kOS thread. we are a friendly bunch and we are always helping new scripters get started
  11. The design of LOCK STEERING is to be a very basic algorithm that will get you more or less in the right direction. If you want finer control you can always use the raw controls http://ksp-kos.github.io/KOS_DOC/summary_topics/ship_control/index.html
  12. did you just call me fat!!! im going to just remove the boot feature!!!!!
  13. Is this some kind of trick or treat thing? you are giving me heartburn. Added a new issue to the tracker https://github.com/KSP-KOS/KOS/issues/311
  14. its a shorthand for Dynamic Pressure http://en.wikipedia.org/wiki/Dynamic_pressure
  15. Depending on your use case you are right, as soon as you want to do something like limit Q with throttle you wont be able to get what you need with kOS as it is today. It really shouldnt be that much work so anyone who loves c# work is welcome to jump in
  16. 0.14.2 cannot and 0.15 is a little bit of a complicated answer 0.15 will let you read from any value that is present on the Right-click menu for a part. FAR currently by default have much data in there but you can on all kinds of cool data that you can then access in kOS. Some of the other values from far we cannot get but that will come in time.
  17. you can have @camacha, they are too good at finding bugs for my taste You are welcome!
  18. @Camacha: i see how it is This looks seriously cool and i always love seeing great new mods. Good luck
  19. Its a great observation. I think we should see how the performance looks once we have the methods we have talked about and we can always work on making it faster. Luckily we arent doing all of the reflection calls each time. they are getting done on load and then we only need a smaller delegate call to make it all work.
  20. That is an excellent question. It will likely involve us building up that abstraction you were talking about wanting between the actiongroup binding and the partsingroup method. its not on the master branch yet because it is part of 0.15 https://github.com/KSP-KOS/KOS/blob/develop/src/kOS/Suffixed/VesselTarget.cs#L245-323
  21. I believe that should do it I am pretty excited and i think this is going to be a cool new feature.
  22. I just confirmed that the issue with LIST VOLUMES IN <foo>. Is a real one and i have added an issue on github https://github.com/KSP-KOS/KOS/issues/308
  23. sounds fine to me! Thats cool, we likely would only hook to the set/get rather than the toggle. We dont actually use the toggle from the base action groups either. My current plan is to have actiongroup 1-10 to use the stock game's method for activation and when we detect that AGX is installed we wire up the other 240 in their own kos "Binding" class. trying to use the extra Action groups would result in a kOS script error if AGX was not detected. One request for this behavior would be for you to log which action group came back from the name resolution, and if you are already walking the whole list it would be great to know when there was an ambigious call. I just assume someone will have a "bug" to report after the integration does something they didnt expect, and it would take a while to figure it out if we didnt know which AG# was getting called in AGX
×
×
  • Create New...