Jump to content

[1.9.x] Action Groups ReExtended: 250 Action Groups, in-flight editing.


linuxgurugamer

Recommended Posts

 

Originally from @Diazo, original thread here: https://forum.kerbalspaceprogram.com/index.php?/topic/67235-122dec1016-action-groups-extended-250-action-groups-in-flight-editing-now-kosremotetech/

As usual, if @Diazo comes back, I will very gladly pass this back to him.  Until then, I'll keep it updated.

This mod now depends on and requires the ToolbarController mod, available here

This mod now depends on and requires the ClickThroughBlocker mod, available here: 

This mod now depends on and requires the SpaceTuxLibrary mod, available here: https://spacedock.info/mod/2210/SpaceTux Library

This mod respects career mode VAB/SPH progress and only shows unlocked action groups by default.

To override and always have all action groups available, find the KSP\GameData\Diazo\AGExt\AGExt.cfg file and change the "OverrideCareer" value to 1 (one) from 0 (zero). You can also use the new stock ActionGroupsAlwaysAvaialble option in-game, found under Custom Difficutly -> Advanced Options.

-Option to override Career Mode action groups lockout on low level buildings to use action groups immediately if desired (Disabled by default)

-Increase the number of action groups to 250

-Edit Actions in Flight.

-Name Action Groups on a per vessel basis, so you can remember what is assigned where

-Actions state can be color coded based on status. (Note this defaults to off.)

-Toggle monitoring allows visual feedback of actions that lack this, such as the "Inverted Steering" on a wheel.

-Supports saving actions to sub-assemblies

Mods aware of this mod and can activate all 250 action groups:

Auto Actions: Automatically activate action groups (and RCS/SAS) on launching a new vessel.

Smart Parts: Activate an action group on a time delay, or at a set altitude or a fuel tank being empty.

kOS Scriptable Autopilot System: Control your vessel with scripts to automate vessel control tasks. (kOS 15.6 or newer)

RemoteTech: Support for signal delay and RT's Flight Computer

 

How to edit actions in flight?

Right-click (not left-click) the AGX button in flight mode and select the 'Edit' button.

How to assign actions to non-number groups (Brakes/Gear/etc.)

On the Groups window, click the Other button.

Download

Note that ModuleManager is a required dependency. (Click here to download.)

Full changelog here.

This mod is released under the GPL 3 license and source code is on GitHub.

List of supported partModules for toggle state monitoring is here.

 

Installation

The GameData folder inside the zip file is to be merged with the GameData folder in your KSP directory. The AGExt.dll should end up at KSPInstall\GameData\Diazo\AGext\AGext.dll

Toolbar support is included, but is optional. If Blizzy's toolbar is not installed, the AGX icon will appear on the stock toolbar instead.

Quick Start

HfbFNWZ.jpg

W7dKIgS.jpg

1) Assign an action:

-Click the part that contains the action, all parts in symmetry will be selected by default and show in the Selected Parts List. To change to another part, just click it, the parts list will clear itself and select the new parts if they are different. If the parts are the same they will be added to the list. Clicking on a part in the list removes just that part from the list. A Blue Cross will hover over parts currently selected, a Red X will show over a part when you mouse-over it's button in the list.

-Select the group you wish to assign the action to in the Groups Window.

-All actions available on the part will now show in the Actions List (below the selected parts list). Click on an action to assign it to the current action group. It will now show in the Actions window. Actions currently assigned to the currently selected action group will show in the Actions window and a small green X will indicate the parts these actions are assigned to.

-The clicked action will now show in the Actions window, note that actions appear for individual parts, if you had 4 parts listed in the Selected Parts list, 4 Actions will appear in the Actions window, one for each part.

2) Remove an action:

-Select the Action Group that has the action assigned in the Groups Window.

-Click the Action in the Actions Window, on mouse-over a red X will appear on the part containing the action so you can tell similar actions apart.

3) Name a Group:

-Click on the Group Name text box, this is a free-entry box for typing with the keyboard.

4) Change a keybind:

-Groups 1-10 are assigned to the 1-10 number keys to match the KSP defaults. Other groups have no key assigned by default.

-Click on the Keybind Key ("Alpha1" in the above image), a new window showing all available keys will pop-up. Click the button representing the key you wish to assign. Assigning the key by pressing the physical key on the keyboard does not work.

5) Activate group in flight:

-Press the assigned key on the keyboard or click the action group on the Flight window.

-The Flight window can be shown/hidden by Left-Clicking the AGX icon on the toolbar. (Right-Clicking the AGX icon opens the menu.)

KeySets

The purpose of keysets is to make the most of your keyboard keys while avoiding conflicts. A typical use would be:

  • Mothership: Uses action groups 1 through 10 for it's actions.
  • Lander that docks to the mothership: Uses action groups 11 through 20 for it's actions to avoid conflicts while docked so you don't activate actions on both the mothership and lander by activating one action group.

and the keysets would be:

  • Keyset 1: Bind keyboard keys 1 through 10 to action groups 1 through 10 for use while flying the mothership.
  • Keyset 2: Bind keyboard keys 1 through 10 to action groups 11 through 20 for use while flying the lander.

This way, you can swap key sets with a couple mouse clicks (if fact, if you set the keyset on the lander before docking, it will remember it when you undock). By swapping the keysets, you "increase" your available keys on the keyboard you can use for actions.

KeySets are assignable to a sub-ship and change depending on which is in control and how they would work in your situation is as follows:

  • KeySet1: Keys 1 through 10 activate groups 1 through 10. (Default, the keyset all your ships are currently using.)
  • KeySet2: Keys 1 through 10 activate groups 11 though 20. (You would have to set this up.)

Then assign the actions you want to activate in group 3 on the first ship to group 3 and group 13 on the second ship. Then assign KeySet1 to the first ship and KeySet2 to the second ship.

Now, when you press the 3 key it activates either group 3 or 13 depending on which sub-ship has control and is automatic once you get the KeySets setup on the appropriate sub-ships.

If you want to experiment the KeySets are accessed by the button in the bottom right of the main window, it displays "KeySet1" by default as the first keyset is that.

Full AGC Manual on Github

Great review by @Kottabos:

 

Edited by linuxgurugamer
Link to comment
Share on other sites

Couldn't find it with searching for terms I could come up with, so I dunno if this question was asked before.
Read the manual, but couldn't find an answer.

The problem: I built a big old spacecraft with many, many action groups. I saved a subassembly of that craft for further use.
I build a new spacecraft, use that saved subassembly, and all the many action groups reappear. Mostly empty, obviously, but the names are there.
I edit the action groups, to what I want. But every time I detach and reattach a part or subassembly, all the old action group names reappear. Just overwriting the names I had made new, clearing out the names of some of the new groups.

So I tried cleaning this out by rerooting, saving, saving subassemblies anew. For two old subassemblies, it works. Clean up action groups, detach, reattach, and all is well. Save game. Detach and reattach another subassembly that's part of this, boom, there they are again, all the old action group names.

I'm at my witts end. Please. What am I doing wrong?
I'm still on 1.3, yet have the most recent version of Action Groups Reextended in there.
In case it's not my own dumb but an error (which I really doubt), here's the most recent log: https://drive.google.com/open?id=16_YLa2F7DeoFZ2RnSS5xPbR5BGGPAzOr
And here's the extensive list of my addons: https://drive.google.com/open?id=1XMHKeHh1hzgWxoKMzC9mqrb1NWhottXe

Link to comment
Share on other sites

3 hours ago, linuxgurugamer said:

My versionwas only compiled against 1.3.1, so I cant really help you with 1.3.0

There was a 1.3.0 dll in the old thread, I suggust you install that and try again.

The recompile by @Denko666?
That's what I had been using previously, same issue there.
Couldn't find a newer one than that, from June 10th.

Link to comment
Share on other sites

  • 4 weeks later...

Would you have any idea why kOS no longer recognizes AGX action groups? I just started fiddling around with kOS again and noticed that the documentation says the AGX groups function identically to the stock groups, but my programs were throwing errors when I tried to use the AGX groups. Did some research and found it's a known issue with the latest, or at least some later, versions of kOS. Unfortunately, there doesn't seem to be much help there since Diazo hasn't updated AGX "officially" yet. Haven't seen any action on it since October.

Link to comment
Share on other sites

57 minutes ago, kananesgi said:

Would you have any idea why kOS no longer recognizes AGX action groups? I just started fiddling around with kOS again and noticed that the documentation says the AGX groups function identically to the stock groups, but my programs were throwing errors when I tried to use the AGX groups. Did some research and found it's a known issue with the latest, or at least some later, versions of kOS. Unfortunately, there doesn't seem to be much help there since Diazo hasn't updated AGX "officially" yet. Haven't seen any action on it since October.

Not without a log file

Link to comment
Share on other sites

22 hours ago, linuxgurugamer said:

Not without a log file

Sorry, it's something of a known issue, so I didn't think about attaching a log.

https://pastebin.com/VF0dsvK9

Here is a screenshot of the terminal screen before exiting on that game. It's a fresh install with only kOS (1.1.3.2) and AGX (2.3.1) installed. The antenna's "Toggle" action is tied to AG20. I tested it first with the AGX interface, and the antenna activated and deactivated correctly, but kOS throws an "undefined variable" error when I try to get the state of AG20, and does seemingly nothing when I try to manipulate it, although it does appear to create the variable when I activate it, because after that getting it's state returns a bool value. It just doesn't do anything in the game.

Edited by kananesgi
forgot screenshot link.
Link to comment
Share on other sites

On 12/4/2017 at 8:29 PM, kananesgi said:

Would you have any idea why kOS no longer recognizes AGX action groups? I just started fiddling around with kOS again and noticed that the documentation says the AGX groups function identically to the stock groups, but my programs were throwing errors when I tried to use the AGX groups. Did some research and found it's a known issue with the latest, or at least some later, versions of kOS. Unfortunately, there doesn't seem to be much help there since Diazo hasn't updated AGX "officially" yet. Haven't seen any action on it since October.

 It’s most likely KOS being compiled against the wrong version of AGX

Link to comment
Share on other sites

  • 3 weeks later...

Hi, just been using this mod for couple of days now. Would like to comment/suggest somethings. 

1. I dont know why yet, still trying to pin it down, but at times all my names vanish from the action window. The actions are still there, but names are gone. So far i have establised that this is only effecting actions edited in flight, all actions done in the hangers always remain. Also only happend so far after a craft has docked / undocked with something else.

2. When building in hanger, copying an item does not copy the action over. Might be supposed  to be like this, but not sure.

3. I might be wrong here and not found a function or something, but is there any way that when building a craft opening the action menu could list all previously assigned buttons, even on crafts no longer in the hangers. Saves keeping notes in paper, and make uniformity across craft and base controls eassier.

 4. Lost count of the number of times ive clicked an action slot then started to type, only to find i forgot to click other window for text to appear. Anyway after clicking the text box in the other window could auto enable for text input rather than having to click it?

Am running 1.3.1, your mod is latest from your link and all other mods are upto date according to ckan, KSP AVC and other mods website.

Any way, great mod, this really brings an area which was badly lacking in the original game to life and gives much more flexibilty.

 

Link to comment
Share on other sites

11 hours ago, Bionic bulldog said:

Hi, just been using this mod for couple of days now. Would like to comment/suggest somethings. 

1. I dont know why yet, still trying to pin it down, but at times all my names vanish from the action window. The actions are still there, but names are gone. So far i have establised that this is only effecting actions edited in flight, all actions done in the hangers always remain. Also only happend so far after a craft has docked / undocked with something else.

I have seen the same. It happens in the Hangar, also. As far as I've been able to make out, it happens when I re-root, or attach a subassembly that had AGs or at least names for AGs with it.
 

11 hours ago, Bionic bulldog said:

2. When building in hanger, copying an item does not copy the action over. Might be supposed  to be like this, but not sure.

Hm. When I copy an item, any action groups that include the original item will also include the copy, and I generally have to clear that up.
 

11 hours ago, Bionic bulldog said:

3. I might be wrong here and not found a function or something, but is there any way that when building a craft opening the action menu could list all previously assigned buttons, even on crafts no longer in the hangers. Saves keeping notes in paper, and make uniformity across craft and base controls eassier.

I think you want the "Key Set" button underneath the key-assign button for an action. As far as I've been able to determine, it lets you set up different key sets.
When I build a new craft from scratch, the last key assignments I made seem to remain. I haven't assigned keys for dumping one of the 1st three stages, or for firing one of those, or for liftoff, in quite a while. Any of those always go on the same group for me, and the same buttons are always already assigned.

Link to comment
Share on other sites

  • 3 weeks later...

Does anyone know what this error causes? It happened sometime but not at every flight:

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

AGX Flight Load Vessel GUI Delay error 7i System.NullReferenceException: Object reference not set to an instance of an object
  at ActionGroupsExtended.AGXFlight.LoadVesselDataFromPM (ActionGroupsExtended.ModuleAGX rootAGX) [0x00000] in <filename unknown>:0 
  at ActionGroupsExtended.AGXFlight.LoadGUIDataAfterDelay () [0x00000] in <filename unknown>:0 

The entire log can be found here:

output_log.txt

and here
KSP.log

 

Link to comment
Share on other sites

If I'm not mistaken, if you open AGX and assign an action to a key, if you click on the Keybinding button to open the Keycodes, the two buttons to the left of the "Keycodes" title (which show as None and None; I don't know why) toggle the two mod keys.  I'm not sure which does what, though, as I've never had to use them.

Edit:  After a brief test, what I wrote didn't work, so I really have no idea.  I thought it was possible.

Edited by Brigadier
Link to comment
Share on other sites

I'm also getting a metric ton of log spam.  I'm not sure if its coming from AGX or kOS?   Is there a way to disable these messages? 

[LOG 06:00:39.813] AGX Call: group gtate 204 for active vessel
[LOG 06:00:39.814] AGX Call: group state for 205 for vessel 2214072152
[LOG 06:00:39.815] AGX Call: group gtate 205 for active vessel
[LOG 06:00:39.816] AGX Call: group state for 206 for vessel 2214072152
[LOG 06:00:39.817] AGX Call: group gtate 206 for active vessel
[LOG 06:00:39.844] AGX Call: group state for 201 for vessel 2214072152
[LOG 06:00:39.845] AGX Call: group gtate 201 for active vessel
[LOG 06:00:39.846] AGX Call: group state for 202 for vessel 2214072152
[LOG 06:00:39.847] AGX Call: group gtate 202 for active vessel
[LOG 06:00:39.848] AGX Call: group state for 203 for vessel 2214072152
[LOG 06:00:39.849] AGX Call: group gtate 203 for active vessel
[LOG 06:00:39.850] AGX Call: group state for 204 for vessel 2214072152
[LOG 06:00:39.851] AGX Call: group gtate 204 for active vessel
[LOG 06:00:39.852] AGX Call: group state for 205 for vessel 2214072152
[LOG 06:00:39.853] AGX Call: group gtate 205 for active vessel
[LOG 06:00:39.854] AGX Call: group state for 206 for vessel 2214072152
[LOG 06:00:39.855] AGX Call: group gtate 206 for active vessel
[LOG 06:00:39.863] AGX Call: group state for 201 for vessel 2214072152

 

Link to comment
Share on other sites

2 hours ago, eberkain said:

I'm also getting a metric ton of log spam.  I'm not sure if its coming from AGX or kOS?   Is there a way to disable these messages? 


[LOG 06:00:39.813] AGX Call: group gtate 204 for active vessel
[LOG 06:00:39.814] AGX Call: group state for 205 for vessel 2214072152
[LOG 06:00:39.815] AGX Call: group gtate 205 for active vessel
[LOG 06:00:39.816] AGX Call: group state for 206 for vessel 2214072152
[LOG 06:00:39.817] AGX Call: group gtate 206 for active vessel
[LOG 06:00:39.844] AGX Call: group state for 201 for vessel 2214072152
[LOG 06:00:39.845] AGX Call: group gtate 201 for active vessel
[LOG 06:00:39.846] AGX Call: group state for 202 for vessel 2214072152
[LOG 06:00:39.847] AGX Call: group gtate 202 for active vessel
[LOG 06:00:39.848] AGX Call: group state for 203 for vessel 2214072152
[LOG 06:00:39.849] AGX Call: group gtate 203 for active vessel
[LOG 06:00:39.850] AGX Call: group state for 204 for vessel 2214072152
[LOG 06:00:39.851] AGX Call: group gtate 204 for active vessel
[LOG 06:00:39.852] AGX Call: group state for 205 for vessel 2214072152
[LOG 06:00:39.853] AGX Call: group gtate 205 for active vessel
[LOG 06:00:39.854] AGX Call: group state for 206 for vessel 2214072152
[LOG 06:00:39.855] AGX Call: group gtate 206 for active vessel
[LOG 06:00:39.863] AGX Call: group state for 201 for vessel 2214072152

 

Looks like it's AGExt, I'll get an update out in a bit to fix it.

Link to comment
Share on other sites

I think you may have forgot to include the localization info with the last update.  In the Action groups box it just shows "#<string>" instead of the old button descriptions.  I will take a screenshot next time I start the game if you need more information.

Link to comment
Share on other sites

On 1/24/2018 at 12:11 AM, armegeddon said:

I think you may have forgot to include the localization info with the last update.  In the Action groups box it just shows "#<string>" instead of the old button descriptions.  I will take a screenshot next time I start the game if you need more information.

I have this issue as well since the latest update. Screenshot here if it helps any. Let me know if you need anything else!

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...