Jump to content

evandisoft

Members
  • Posts

    56
  • Joined

  • Last visited

Everything posted by evandisoft

  1. 0.5.2 API fixed part tags (e.g. "noauto", required "noauto=" or "noauto x=y" before) reworked autopilot override + "pylink" for better 2D/3D control Science API, science.ros (supports DMagic's Orbital Science and DMModuleScienceAnimateGeneric) OS/Process API (early version of MunOS API for scripts) UI UI: ScrollBox and Scrollbar (early versions, some improvements shall come soon) Lua Fixed lua completion bug for array literals. ROS Built-in functions and objects (added collections, documentation) Fixed break in (nested) foreach (for var e in list)
  2. It's not any more dangerous than what a modder has to do to try out code. Just happens at an interactive pace instead of changing something -> compile -> test -> changing something -> compile -> test I know you know this, but I just don't want people to get the wrong impression.
  3. That is cool, would love to hear what you think about it. It's hard for us to know what is missing from a user perspective.
  4. Version 0.5.1 New Dependency: ModuleManager required for part-values/tags to work API: user can now override/correct the autopilot (autopilot.userFactor) universal staging logic (mono, ion, LH2, ...), resources and propellants OrbitInfo, orbitAt and changes to positionAt and velocityAt TimeStamp and TimeDelta Scripts: launch.ros and control.ros: decouplers marked with noauto tag won't be auto-staged control.ros: auto-staging disabled until throttling or executing node control.ros: srf-retro landing assist and hohmann improved, can now circularize in different SOI lua tutorial scripts removed: This was done to remove clutter. You can copy in the tutorial code if you want the tutorials back. ROS Changes: fixed shadowing by loop variable (var i; for var i...) string comparision is case-insensitive, new identity operator (===) added for case-sensitive compare comparing anything to string first converts it to string (including enums) strings now have .format, .substring, .equals, .compare and .contains methods (case-sensitive)
  5. Version 0.5.0: MunOS: Initial version of our system for running multiple scripts at a time, called MunOS. API: autopilot.disable now also resets killRot to false (was often locking roll in control.ros) api for maneuver nodes, sas, rcs and some other orbit-related properties Lua: Fixed bug where the new function was causing errors when it recieved no argument except the type to instantiate. Scripts: control.ros: maneuver executor, circularize, Hohmann planner, inclination match control.ros: srf-retro throttle limiter (below 10km) as landing helper (full throttle makes the ship hover) launch.ros: fixed the wobble at the end of circularization And also, happy new year.
  6. I found a bug in the lua engine's "new" function when you pass in no arguments beyond the type itself. HashSet=native.System.Collections.Generic.HashSet myset=new(HashSet) Causes an error. Normally I would fix this immediately, but we're working on a big release that is not ready. A workaround is HashSet=native.System.Collections.Generic.HashSet myset=HashSet.__new()
  7. I've started regularly playing with a highly modded install (52 mods). I'm including many of the most popular mods. I cannot make any guarantees, but hopefully if there are compatibility issues I will encounter them. If anyone else encounters compatibility issues, please let me know, and I will start working on a fix immediately.
  8. Version 0.4.8: ROS Changes: ROS: fixed problem with variables with same name launch.ros: pitch-down logic for tilted/off-center engines (Dynawing) target and ship.target - works for bodies, ships and parts (docks) control.ros: targeting, rendezvous and docking assist LiveRepl Changes: Changed Kerbalui to use GetControlID to get a unique controlid for each window. Fixed issue where LiveRepl was making modifications to the fontsize of the default GUI.Label style instead of making those changes to a copy of that style. Hitting run will only save the file if it has been modified in the editor. Otherwise it loads the file from disk into the editor. This will allow you to more conveniently use an outside editor. Scene changes, including revert, now terminate any windows or vecdraws.
  9. thanks. I will work on a fix. (I did not intend to modify anyone else's scale). Edit: I've installed a bunch of mods and am checking for any issues in general. Edit2: After trying a bunch of mods I see that this at least effects ToolbarController. Edit3: Found an issue where I was modifying the default style for GUI.Label instead of modifying a copy of it. I think that is the bug. Fix will be in next patch.
  10. Version 0.4.7: General Changes: time.warp.ready improved added GameSettings and GameEvents into KSP namespace ROS Changes: launch.ros and control.ros now use try..finally fixed delay in repl for native events in ROS LiveRepl Changes: Fixed bug where LiveRepl cleared all Input ControlLocks instead of just the one it had set. Stopped using the ControlTypes.KEYBOARDINPUT lock. Now keyboard input (except camera control) is only locked to the window when the window is focused. Still have to lock ControlTypes.CAMERACONTROLS when mouse is in the window bounds, as otherwise scrolling the mouse zooms KSP in and out regardless of the mouse being over a window and that window being focused.
  11. Version 0.4.6: RedOnionScript (ROS) Changes: Try/Catch/Finally for handling errors. Kerbalua has Lua's pcall. LiveRepl Changes: Fixed an issue where the global keybindings of LiveRepl could be activated when the input is not locked to the window. (input is locked when the mouse is inside the window bounds) Made LiveRepl use KSP's UI_SCALE setting. Hard for me to test this thoroughly as I don't have a monitor with a high enough resolution, but from what I can see it is working. I could add an additional scaling factor in some other setting later, if desired, to make it even larger. One thing I did not find how to scale was the scrollbar. But I was able to scale the part of the scrollbar that accepts mouse dragging. CompletionArea resets the scroll position each time the completion results list gets updated. Lua Changes: Lua reflection api was a bit confusing. I'm changing the terminology to type and runtime type instead of static and type. So what was once a static will now be called a type, and what was once a type will now be called a runtime type. (runtime types are for reflection whereas types are for accessing static members of clr classes or passing as the first argument to new to create a new object.) Removed dofile, loadfile, and loadfilesafe as they do not use the Scripts directory as the base directory and cannot be configured to do so. Versions of these (at least dofile) will be implemented in the future. require can be used because it allowed me to specify the base path. However, require will only run something the first time you call it on some filepath. To make it run that file again you have to do packages[filepath]=nil first.
  12. Thank you for informing us of this issue! The fix will be in the next version released within a few days I think. I've managed to scale everything but the scrollbar widths. A compromise is that I was able to enlarge the area that accepts dragging, but not the part that looks like a bar and goes up and down when you drag it. So hopefully you'll be able to easily drag the scrollbar on your monitor. But the visible vertical bar (if you can see it) will be on the left of a somewhat larger area where you can use the mouse to drag it. (I don't have a high resolution monitor so on 200% ui scale I can only verify that the parts that fit on my screen worked)
  13. Yes, it was great initially and then they did nothing with it. They seem to be doing more recently though, and its probably because of KSP2. I'm just wondering if that could work, because possibly their competition would lead to better features and more money. Though I suppose this is just a silly hope born of me owning KSP1 already and not wanting to have to buy another game.
  14. My wish is that Squad is incentivized to create some very cool new features, then the two dev teams start actively competing as if they are rival games, people buy dlc for both games, and we have two competing space simulator games.
  15. Could be because we aren't really well known by the community. Thanks for replying! Understandable. I used kOS for quite a long time. You could possibly use both. Though I wouldn't try using both's autopilot's features at the same time. You might be able to run scripts from both simultaneously if you are not using KSP api features that would interfere. Merely using the LiveRepl in cases where you are not running a kOS script and have no kOS locks set should be totally fine (though I have not tested it).
  16. Version 0.4.5: (Dropped in the wrong zip for 0.4.4 so releasing it again as 0.4.5) Fixed a problem with Lua engine not resetting. Also the terminate button now will destroy UI's and vectors that were created by a script.
  17. Version 0.4.3: Undo/Redo for LiveRepl Editor. Stores at least 50 of the last changes. Fixed bug where Lua was outputting strings twice Renamed KerbaluaMoonSharp assembly (our modified version of MoonSharp) to MunSharp. Fixed MoonSharp issue where some classes could not be automatically registered because of having members that hide base class members without overriding them. Improved format for CommonAPI docs. Removed OtherDLLs folder and switched to using nuget for the MunSharp.dll, so we can potentially make more changes in the future. Tutorial showing how to iterate over the parts and modules of a ship. Lua constructor improved. (Firda found an already implemented, but undocumented version in MoonSharp)
  18. Version 0.4.2: Bug in ship.parts relating to explode functionality fixed. Tutorial of how to fallback to native functionality. Tutorial for selfDestruct.lua Tutorial for using the ui in Lua code (uibasics.lua) More docs. Fixed a problem with new(ui.Button,"buttontext",function() end) where the new function wasn't properly converting a lua function to the Action\<Button> that the ui.Button constructor requires. Removed randomPartDestruct.ros as its code was outdated. Fixed bug with autoloading the last scriptname.
  19. Version 0.4.1 Fixed bug where outputting a lot of things quickly (with something like "while true do print(1) end") takes more and more memory and is very slow. Fixed a bug where misformatted lua code would run anyway and just repeat an error message. Intellisense works for enums. Fixed a bug where completion on CommonAPI properties (like the global "body") wasn't working properly.
  20. RedOnion and Kerbalua A joint effort of Evan Dickinson and Lukáš Fireš to create unrestricted scripted environment inside Kerbal Space Program for all players and even modders wishing to control the game, vessels, anything, with own script. Current Features: Repl/Editor with intellisense. Scripting engines that can interact with Classes from any loaded CLR assembly. Lua scripting engine called Kerbalua that uses a slightly modified version of MoonSharp. Powerful custom language/engine (RedOnionScript) built by Lukáš Fireš. API's for doing things more easily or more safely, including Autopilot API, UI api, and more. Goals: Provide ability to produce mods in Kerbalua/RedOnionScript and modify them without restarting the game. Provide ability to debug mod code/scripts without restarting the game. Provide ability to write user scripts, like automatic control of your ship. Provide ability to interact with live game objects in a repl. Provide powerful general editing capabilities inside KSP Provide powerful API for modmakers/Users Help document the KSP API for modmakers. Help people learn to program in a fun way. License: MIT Github: here Github Pages is where the most up-to-date information is. Warning: Do not use scripts from untrusted sources! This is not a sandbox, any script has the power to do almost anything a modder could do in C#. We plan to eventually implement a switch to limit the power (disable what is marked [Unsafe] in the code), but our goal now is to: Allow users to do whatever they wish to do to the game environment to have fun. Help modders develop and debug their mods using this mod. Help anybody to explore KSP API, their own or other's mods (read the license of other mods you decide to use this tool to interact with, we expose only public members directly). Releases Your scripts are in GameData/RedOnion/Scripts. If you delete this folder, it will destroy your scripts. I believe that CKAN does not delete them when uninstalling the mod or updating it, but you might want to make a copy of the folder just in case. We provide example scripts in a zip file, which will appear in the list of scripts in-game but wont be in the Scripts folder. If the example programs don't run, check out that section in TroubleShooting Latest Releases are available at: - CKAN - Spacedock - CurseForge (Note about using Twitch Client "Install" button) ChangeLog: here Documentation Scripting - Documentation related to scripting. LiveRepl - The main user interface for the project. Where scripts can be loaded, written, and executed. Troubleshooting - Some possible issues and solutions. Development - Main page for development documentation (project structure, implementation explanations, etc). Videos are listed here Upcoming Features Next Release Planned Feedback All feedback is appreciated. Feedback can be left on our forum thread, as a new issue, or as a comment on any of our videos. Contributing We welcome people of all skill levels to contribute or give feedback, ask questions, etc. Here is more information about contributing.
  21. No problem. What people generally do is they use the scripting language initially for design and convenience. And then, if they find they need more speed, they try to replace only the parts that are slowing them down the most. Usually these will be some expensive function called in an innermost loop. Alternatively, if it's fast enough as it is, you might just use the dynamic language for everything.
  22. It is. If you are concerned about speed, you can implement the high performance code in C (for normal Lua), or C# if you're using some sort of dotnet-based lua. Dynamic languages generally provide a way to do that.
  23. I just noticed that the mod doesn't work well with 1.8 so we will be working on that.
×
×
  • Create New...