linuxgurugamer

[1.5.1, 1.6.1, 1.7.2] Action Group Manager Renewed

Recommended Posts

Forum user @SirJulio wrote this nice little mod about 5 years ago

@Alshain picked it up last June, but seems to have dropped it, so I'm picking it up since I like it and use it.  His thread is available here: https://forum.kerbalspaceprogram.com/index.php?/topic/161919-131-en-es-de-action-group-manager-continued/

 

PqmaIJw.png

TV3lXsp.png

What This Mod Does

  • Add, Remove, Edit your action groups in flight.
  • Manage your action groups from the tweakables menu.
  • Add or remove all the symmetry counterparts of a part.
  • Works with modded parts that add actions.
  • Supports Career Mode action group limitations.
  • Filter parts by category, stage, and/or a custom search string.
  • Highlight parts for easy recognition.
  • Adapts to vessel change, part destruction, decoupling, docking etc.
  • Recap window provides a quick summary of all action groups that can remain open on screen at all times.
  • Window customization allows it to look the way you want it.
  • Supports full localization.

What This Mod Does Not Do

  • Supplant the stock Action Group system
  • Add new Action Groups
  • Add naming of Action Groups
  • Modify craft files saved in the editors

For all of these features and more please see @Diazo's wonderful Action Groups Extended.  This mod targets a different audience.

Installation

Unzip the content of the archive and drop the entire AquilaEnterprises folder into your KSP GameData folder.  Overwrite as necessary.

Usage Instructions

Action Group Manager

HUBDQEl.png7u7BQcp.png

  1. Part Category Filter - Clicking one of these buttons will filter the choices in the Parts & Actions List based on the indicated editor category.
  2. Parts & Actions List - This list displays all the parts on the craft that support action groups.
  3. Vessel Name - This displays the current vessel name for reference.
  4. Actions Group List - This list displays all of the actions currently assigned to the selected action group.
  5. Action Group Selector - Selects the action group to be displayed in the Action Group List.
  6. Tooltip Bar - This shows context sensitive information about the tool the mouse is hovering over.
  7. Part Search - Typing in this box will begin a new filter of the Parts & Actions List based on the search criteria.  This combines with the Part Category Filter.
  8. Clear Part Search Filter - This button will quickly clear the Part Search text box.
  9. Part Selector & Highlighter - Highlights the associated part on the craft and opens it's list of available actions. Note: In Classic View the part highlighter is an independent button.
  10. Stage Sort Option - Clicking this button will sort all the parts in the Parts & Actions List into groups by the assigned stage.
  11. Group Indicator - This button indicates that the action or an action in the part is in an action group.  Click to select that action group in the Action Group List.
  12. Remove All Actions - This button removes all the actions from the selected action group after a confirmation prompt.  Click any Part Selector or Part Finder button to clear the confirmation and cancel.
  13. Part Finder - This finds the associated part in the Parts & Actions List. Notes: This respects filters, so the part may not appear if the filter is excluding it.  In Classic View the part finder is an independent button.
  14. AGM Settings - Opens the settings dialog for Action Group Manager
  15. Part Action - Indicates an action that belongs to the selected part.
  16. Add Action - Adds the action to the selected action group.
  17. Remove Action - Removes the associated action from the selected action group.
  18. Remove Action in Symmetry - Removes the same action for all parts in symmetry with this one from the action group.
  19. Add Action in Symmetry - Adds the same action for all parts in symmetry with this one to the selected action group.

 

Action Group List Action Group Settings
Ailohxi.png Qpzl5wu.png
The Action Group List is a reference window which is designed to be kept on the screen or opened and closed as needed so you do not have to remember all of your action group assignments.  This list will expand vertically until it reaches it's cap. The settings menu allows you to adjust various visual elements of Action Group Manager as well as confirm the version of AGM that you are running and ignore respecting the Career mode building upgrades.

 

Tweakable UI

The Tweakable UI is feature of Action Group Manager which allows your to assign your action groups through a drill down-style menu by right clicking the part you want to assign.  To use it, first right click the root part of your vessel and choose the AGM : Enable option.  From there you can right click any part with actions and follow the drill down menu to assign your action.  This feature operates independently of the other AGM windows, however it may also be used in conjunction with them.

5u6biy6.png -> 6YpF2pN.png -> oMQiWBl.png -> ZoXSZOa.png -> qLcBgky.png

 

Bug Reports

To make a bug report, please use the Github Issue Tracker.  Browse the current list of issues to see if your problem has been reported, if so you may add any relevant information that you have to that issue.  Otherwise a new issue may be created.

License

The code and icon of this fork are released under the terms of the MIT License.

Version Checking

This mod includes version checking using MiniAVC. If you opt-in, it will use the internet to check whether there is a new version available. Data is only read from the internet and no personal information is sent. For a more comprehensive version checking experience, please download the KSP-AVC Plugin.

Dependencies

This mod includes the following dependencies:

MiniAVC
Authors: Cybutek
Version: 1.0.3.3
Website: http://forum.kerbalspaceprogram.com/index.php?/topic/72169-13-12
License: GPLv3

The Toolbar Continued (listed below) is now optional

Toolbar Continued (Wrapper)
Authors: Maik Schreiber (Blizzy78), linuxgurugamer
Version: 1.7.14
Website: http://forum.kerbalspaceprogram.com/index.php?/topic/161857-13
License: 2-Clause BSD

ClickThroughBlocker
Author: Linuxgurugamer
Website: https://forum.kerbalspaceprogram.com/index.php?/topic/170747-141-click-through-blocker/

ToolbarController
Author: Linuxgurugamer
Website: https://forum.kerbalspaceprogram.com/index.php?/topic/169509-141-toolbar-controller-for-modders/

Special Thanks

 

 

@SirJulio - The original creator of Action Group Manager

@ExplorerKlatt, @Khatharr, and @dueb - Community contributors that kept the original version working through the years. (If I missed anyone, please let me know!)

Translations:

@fitiales - Spanish

@Three_Pounds - German

 

Availability

 

 

Edited by linuxgurugamer

Share this post


Link to post
Share on other sites

Thanks for taking this over; I prefer the simplicity of this over AGE because I have a hard enough time remembering what I've set 10 buttons to do, never mind 250 of them :D

Query: I've been using the previous version of this without the Toolbar Continued (Wrapper) and never experienced any problems; is it actually necessary if I only ever use the stock toolbar?

Share this post


Link to post
Share on other sites

@JH4C for rembering I use the B9 Info Drive part - and only that one from  the whole B9 Aerospace suite ... it needs Firespitter to have a window shown with the infos.

Spoiler

CJPVYw7.png
l3zFLx9.png

 

Edited by Gordon Dry

Share this post


Link to post
Share on other sites
On 10/4/2018 at 9:26 PM, JH4C said:

Thanks for taking this over; I prefer the simplicity of this over AGE because I have a hard enough time remembering what I've set 10 buttons to do, never mind 250 of them :D

Query: I've been using the previous version of this without the Toolbar Continued (Wrapper) and never experienced any problems; is it actually necessary if I only ever use the stock toolbar?

No, my version requires both the ToolbarController and the ClickThroughBlocker

Share this post


Link to post
Share on other sites
2 hours ago, linuxgurugamer said:

No, my version requires both the ToolbarController and the ClickThroughBlocker

I'm assuming there's an "only" missing from that sentence. I took the plunge and tested it and everything still seems to work without Toolbar Continued (Wrapper); maybe you could just delete it from the list, or change the wording if it is required/advised for some users but not all?

Share this post


Link to post
Share on other sites
2 hours ago, JH4C said:

I'm assuming there's an "only" missing from that sentence. I took the plunge and tested it and everything still seems to work without Toolbar Continued (Wrapper); maybe you could just delete it from the list, or change the wording if it is required/advised for some users but not all?

Correct.  The ToolbarController  allows the mod to use the stock toolbar without the Toolbar Continued being installed.  I'll update the OP

Share this post


Link to post
Share on other sites

New release, 2.2.3.3

  • Added russion translation, thanks github user @yadenisyur
  • Fixed action groups being available in flight when buildings have not been upgraded
  • Removed color code from log messages

Share this post


Link to post
Share on other sites

New release, 2.2.4

  • Add check in the SetupRootModule() for null refs

Share this post


Link to post
Share on other sites

So, I have the toolbar controller installed, and don't have toolbar installed. I understand I should have a button on the vanilla toolbar, but I don't see any (well, for this mod, other mods add theirs no problem).
Any ideas?

EDIT: Nevermind, apparently CKAN has outdated version of the toolbar controller, it works ok with the newest version.

Edited by MIC132

Share this post


Link to post
Share on other sites

I'm wildly speculating, but I think this may have suffered from the recent Toolbar Controller update.  It's no long showing on the toolbar, though otherwise works fine via the PAW.

Share this post


Link to post
Share on other sites
Posted (edited)
On 3/3/2019 at 9:37 AM, Friznit said:

I'm wildly speculating, but I think this may have suffered from the recent Toolbar Controller update.  It's no long showing on the toolbar, though otherwise works fine via the PAW.

make sure you have the absolute latest version of the Toolbar Controller installed.

If it is working via the PAW, then it's loaded and not related to anything with the Toolbar controller.  Click the yellow wrench to see if the mod's button is hidden

Edited by linuxgurugamer

Share this post


Link to post
Share on other sites
1 hour ago, linuxgurugamer said:

make sure you have the absolute latest version of the Toolbar Controller installed.

If it is working via the PAW, then it's loaded and not related to anything with the Toolbar controller.  Click the yellow wrench to see if the mod's button is hidden

I reinstalled both Toolbar and AGM and...it's working fine.  Sorry being a time waster - PICNIC!

Share this post


Link to post
Share on other sites
Posted (edited)
33 minutes ago, Bej Kerman said:

The dependencies aren't listed on CKAN.

Thank you, I'll get it updated

 

Edit: Now updated with the dependencies

Edited by linuxgurugamer

Share this post


Link to post
Share on other sites

Hi, awesome mod! @linuxgurugamer thanks for maitaining it, as always

 

I have a combined bug and feature request about the Part Category Filter: it does not handle custom categories, which many mods use, and sometimes that breaks it

 

Description

A part which does not have one of the stock categories will either:

  • Case #1: Not belong to any category filter [Feature request]
  • Case #2: Trigger a KeyNotFoundException [Bug]

 

Impact

Case #1: The part cannot be found in any category filter, but it can be found in the unfiltered list

  • If all the parts on the vessel are like this, all filtering options are disabled
  • Otherwise, it it possible to filter the list, which makes it impossible to find the affected parts until one realizes that they can click the selected filter to go back to the unfiltered list

Case #2: The ActionGroupManager appears empty and repeatedly triggers the KeyNotFoundException as long as it is open

 

How to reproduce

KSP 1.7.1.2539 (Windows x64 DirectX) - ActionGroupManager 2.2.4

Example of affected parts triggering Case #1: the parts from UmbraSpaceIndustries' Modular Kolonization System (MKS) (1.1.0.0) which are in the Kolonization category

Example of affected parts triggering Case #2: the parts from MagicSmokeIndustries' Infernal Robotics Next (3.0.1) which are in the Robotic category (which is different from the stock "Robotics" category)

 

Root cause

I am not entirely sure how these mods handle custom categories, it seems they are using "category = none" in the part configs, then something happens to assign the custom categories but I cannot find where

The KeyNotFoundException happens here when trying to update the part count for the custom category in a List indexed by the stock categories; the trace is:

KeyNotFoundException: The given key was not present in the dictionary.
    System.Collections.Generic.SortedList`2[PartCategories,System.Int32].get_Item (PartCategories key)
    ActionGroupManager.PartManager.get_PartCountByCategory ()
    ActionGroupManager.MainUi.DrawCategoryFilter (Boolean rowView, Boolean textOnly)
    ActionGroupManager.MainUi.DrawMainView (Int32 windowID)
    UnityEngine.GUILayout+LayoutedWindow.DoWindow (Int32 windowID)
    UnityEngine.GUI.CallWindowDelegate (UnityEngine.WindowFunction func, Int32 id, Int32 instanceID, UnityEngine.GUISkin _skin, Int32 forceRect, Single width, Single height, UnityEngine.GUIStyle style)


 

Fix

I believe Case #2 can easily be fixed by catching the KeyNotFoundException and doing nothing (or just logging it), which should revert the behavior to Case #1

Moreover, the fact that the exception happens repeatedly is of some concern; apparently Unity is desperately trying to re-display the window but every time it breaks and it tries again; does anyone know if this is expected and/or can be mitigated in such a problematic case?

Since I do not understand how mods create custom categories, I am unable to suggest a fix for Case #1

 

Comments (and suggestions for further testing and debugging) are welcome

Share this post


Link to post
Share on other sites
2 hours ago, nmc said:

Hi, awesome mod! @linuxgurugamer thanks for maitaining it, as always

 

I have a combined bug and feature request about the Part Category Filter: it does not handle custom categories, which many mods use, and sometimes that breaks it

 

Description

A part which does not have one of the stock categories will either:

  • Case #1: Not belong to any category filter [Feature request]
  • Case #2: Trigger a KeyNotFoundException [Bug]

 

Impact

Case #1: The part cannot be found in any category filter, but it can be found in the unfiltered list

  • If all the parts on the vessel are like this, all filtering options are disabled
  • Otherwise, it it possible to filter the list, which makes it impossible to find the affected parts until one realizes that they can click the selected filter to go back to the unfiltered list

Case #2: The ActionGroupManager appears empty and repeatedly triggers the KeyNotFoundException as long as it is open

 

How to reproduce

KSP 1.7.1.2539 (Windows x64 DirectX) - ActionGroupManager 2.2.4

Example of affected parts triggering Case #1: the parts from UmbraSpaceIndustries' Modular Kolonization System (MKS) (1.1.0.0) which are in the Kolonization category

Example of affected parts triggering Case #2: the parts from MagicSmokeIndustries' Infernal Robotics Next (3.0.1) which are in the Robotic category (which is different from the stock "Robotics" category)

 

Root cause

I am not entirely sure how these mods handle custom categories, it seems they are using "category = none" in the part configs, then something happens to assign the custom categories but I cannot find where

The KeyNotFoundException happens here when trying to update the part count for the custom category in a List indexed by the stock categories; the trace is:


KeyNotFoundException: The given key was not present in the dictionary.
    System.Collections.Generic.SortedList`2[PartCategories,System.Int32].get_Item (PartCategories key)
    ActionGroupManager.PartManager.get_PartCountByCategory ()
    ActionGroupManager.MainUi.DrawCategoryFilter (Boolean rowView, Boolean textOnly)
    ActionGroupManager.MainUi.DrawMainView (Int32 windowID)
    UnityEngine.GUILayout+LayoutedWindow.DoWindow (Int32 windowID)
    UnityEngine.GUI.CallWindowDelegate (UnityEngine.WindowFunction func, Int32 id, Int32 instanceID, UnityEngine.GUISkin _skin, Int32 forceRect, Single width, Single height, UnityEngine.GUIStyle style)


 

Fix

I believe Case #2 can easily be fixed by catching the KeyNotFoundException and doing nothing (or just logging it), which should revert the behavior to Case #1

Moreover, the fact that the exception happens repeatedly is of some concern; apparently Unity is desperately trying to re-display the window but every time it breaks and it tries again; does anyone know if this is expected and/or can be mitigated in such a problematic case?

Since I do not understand how mods create custom categories, I am unable to suggest a fix for Case #1

 

Comments (and suggestions for further testing and debugging) are welcome

Part of the issue is that Action Groups were changed under the hood to support the new Robotics parts

This mod is one of several that I'm in the middle of updating for 1.7.1

Share this post


Link to post
Share on other sites

New release, 2.2.5

  • Rebuilt for 1.7.2

Please note that the Axis groups have not yet been added, this is merely a compatibility recompile

 

Share this post


Link to post
Share on other sites
Posted (edited)

This is my favorite action group mod on the citadel.  Even if you don't get around to adding axis groups, thanks for maintaining it and all the others.

Edited by klgraham1013

Share this post


Link to post
Share on other sites
Posted (edited)

Did I ever tell you how absolute USEFUL this mod is?

Had to uninstall Kopernicus the other day due to incompatibilities with KSP 1.7.3 (BG to be precise). All solar panels, as expected, reverted to stock. And all AG assignments were lost as well :( 

Heck, this mod saved me sooo much trouble and time to reassign my AG key for toggling solar panels, thank you guys :) 

Edited by VoidSquid

Share this post


Link to post
Share on other sites

New release, 2.2.5.1

  • Fixed NullRef which occurred when vessel and/or parts are destroyed

Share this post


Link to post
Share on other sites

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.