Jump to content

[1.1.2] Part Commander - Quick access to part right-click action menus [v1.1.1 - May 6, 2016]


seanmcdougall

Recommended Posts

Is there a way to call this from an outside mod?

I'm working on making a physical control (rather than keyboard) and I'd like to be able to disable engines, lower landing legs, etc, without being limited to the 10 action groups.

If being limited to 10 action groups is the problem, there are other mods for that. Action Groups Extended is what I use.

Link to comment
Share on other sites

seanmcdougall, I just noticed a weird behavior caused by part commander. Allow me to explain:

Once the Part Commander interface is open, if you happen to [U]close it with the keyboard shortcut (ALT-P by default) while having the mouse cursor over any part of the Part Commander window[/U], you loose mouse rotational camera control as well as TrackIR movement. To fix the problem, you need to reopen the interface, make sure you have the mouse away from it and close it either via keyboard shortcut or tool bar button.

Since, when only using the toolbar button, you have to move the mouse away from the window to actually close it, this bug only appears when you use the keyboard shortcut.

Great mod by the way. Now on my "essential" list. Thanks! :)
Link to comment
Share on other sites

[quote name='Galenmacil']seanmcdougall, I just noticed a weird behavior caused by part commander. Allow me to explain:[/QUOTE]

Thanks for the bug report - it should be fixed in version 1.0.3 which I just uploaded (and which also officially supports KSP 1.0.5 now). Enjoy!

[COLOR="silver"][SIZE=1]- - - Updated - - -[/SIZE][/COLOR]

[quote name='hab136']This mod is awesome. I use it daily, and it just works right.

I was thinking about the category selector (Aero/Structural/Science/etc), and how it might be improved. What do you think about a row of icons for each category? Then the user can just click on "Science" instead of clicking left/right 5 times. Should be able to use the category's icons.

It would also be nice to support custom categories (like RealChute's "Parachutes" or UKS's "Kolonization" and "Freight").[/QUOTE]

Thanks for the suggestion - I'll consider it whenever I get time to overhaul this mod (which won't be until after KSP 1.1. comes out).

[COLOR="silver"][SIZE=1]- - - Updated - - -[/SIZE][/COLOR]

[quote name='Gaiiden']who needs to make changes here?

[URL]http://i.imgur.com/kx3QYgR.png[/URL]

Can't tweak the setting that is put there by Tweakable Everything[/QUOTE]

You're referring to the "Thrust Limiter" slider? Tweakable Everything must be adding it in a way that I'm not expecting. I've never used that mod myself... I'll take a look and see if I can fix it in a future release.
Link to comment
Share on other sites

  • 3 weeks later...

Is there a secret to get this to work?

I have the PartCommander button in my toolbar (both AppLauncher and Blizzy).  But when I click it or hit 'P' nothing happens.  Lots of NullReferenceException's in my logs, however:

Spoiler

[EXC 10:50:55.039] NullReferenceException: Object reference not set to an instance of an object
	PartCommander.PartCommander.showWindow ()
	RUIToggleButton.SetTrue (Boolean makeCall, Boolean popButtonsInGroup)
	RUIToggleButton.SetStateFromLastState (Boolean makeCall)
	RUIToggleButton.MouseInput (.POINTER_INFO& ptr)
	UIButton.OnInput (.POINTER_INFO& ptr)
	AutoSpriteControlBase.OnInput (POINTER_INFO ptr)
	UIManager.DispatchHelper (.POINTER_INFO& curPtr, Int32 camIndex)
	UIManager.DispatchInput ()
	UIManager.Update ()
[EXC 10:50:57.914] NullReferenceException: Object reference not set to an instance of an object
	PartCommander.PartCommander.hideWindow ()
	RUIToggleButton.SetFalse (Boolean makeCall)
	RUIToggleButton.SetStateFromLastState (Boolean makeCall)
	RUIToggleButton.MouseInput (.POINTER_INFO& ptr)
	UIButton.OnInput (.POINTER_INFO& ptr)
	AutoSpriteControlBase.OnInput (POINTER_INFO ptr)
	UIManager.DispatchHelper (.POINTER_INFO& curPtr, Int32 camIndex)
	UIManager.DispatchInput ()
	UIManager.Update ()
[EXC 10:50:59.046] NullReferenceException: Object reference not set to an instance of an object
	PartCommander.PartCommander.showWindow ()
	RUIToggleButton.SetTrue (Boolean makeCall, Boolean popButtonsInGroup)
	RUIToggleButton.SetStateFromLastState (Boolean makeCall)
	RUIToggleButton.MouseInput (.POINTER_INFO& ptr)
	UIButton.OnInput (.POINTER_INFO& ptr)
	AutoSpriteControlBase.OnInput (POINTER_INFO ptr)
	UIManager.DispatchHelper (.POINTER_INFO& curPtr, Int32 camIndex)
	UIManager.DispatchInput ()
	UIManager.Update ()
[EXC 10:50:59.412] NullReferenceException: Object reference not set to an instance of an object
	PartCommander.PartCommander.hideWindow ()
	RUIToggleButton.SetFalse (Boolean makeCall)
	RUIToggleButton.SetStateFromLastState (Boolean makeCall)
	RUIToggleButton.MouseInput (.POINTER_INFO& ptr)
	UIButton.OnInput (.POINTER_INFO& ptr)
	AutoSpriteControlBase.OnInput (POINTER_INFO ptr)
	UIManager.DispatchHelper (.POINTER_INFO& curPtr, Int32 camIndex)
	UIManager.DispatchInput ()
	UIManager.Update ()
[EXC 10:51:00.086] NullReferenceException: Object reference not set to an instance of an object
	PartCommander.PartCommander.showWindow ()
	RUIToggleButton.SetTrue (Boolean makeCall, Boolean popButtonsInGroup)
	RUIToggleButton.SetStateFromLastState (Boolean makeCall)
	RUIToggleButton.MouseInput (.POINTER_INFO& ptr)
	UIButton.OnInput (.POINTER_INFO& ptr)
	AutoSpriteControlBase.OnInput (POINTER_INFO ptr)
	UIManager.DispatchHelper (.POINTER_INFO& curPtr, Int32 camIndex)
	UIManager.DispatchInput ()
	UIManager.Update ()
[EXC 10:51:00.786] NullReferenceException: Object reference not set to an instance of an object
	PartCommander.PartCommander.hideWindow ()
	RUIToggleButton.SetFalse (Boolean makeCall)
	RUIToggleButton.SetStateFromLastState (Boolean makeCall)
	RUIToggleButton.MouseInput (.POINTER_INFO& ptr)
	UIButton.OnInput (.POINTER_INFO& ptr)
	AutoSpriteControlBase.OnInput (POINTER_INFO ptr)
	UIManager.DispatchHelper (.POINTER_INFO& curPtr, Int32 camIndex)
	UIManager.DispatchInput ()
	UIManager.Update ()
[EXC 10:51:01.268] NullReferenceException: Object reference not set to an instance of an object
	PartCommander.PartCommander.showWindow ()
	RUIToggleButton.SetTrue (Boolean makeCall, Boolean popButtonsInGroup)
	RUIToggleButton.SetStateFromLastState (Boolean makeCall)
	RUIToggleButton.MouseInput (.POINTER_INFO& ptr)
	UIButton.OnInput (.POINTER_INFO& ptr)
	AutoSpriteControlBase.OnInput (POINTER_INFO ptr)
	UIManager.DispatchHelper (.POINTER_INFO& curPtr, Int32 camIndex)
	UIManager.DispatchInput ()
	UIManager.Update ()
[LOG 10:51:01.377] [Orbit Targeter]: Target is null
[EXC 10:51:01.454] NullReferenceException: Object reference not set to an instance of an object
	PartCommander.PartCommander.hideWindow ()
	RUIToggleButton.SetFalse (Boolean makeCall)
	RUIToggleButton.SetStateFromLastState (Boolean makeCall)
	RUIToggleButton.MouseInput (.POINTER_INFO& ptr)
	UIButton.OnInput (.POINTER_INFO& ptr)
	AutoSpriteControlBase.OnInput (POINTER_INFO ptr)
	UIManager.DispatchHelper (.POINTER_INFO& curPtr, Int32 camIndex)
	UIManager.DispatchInput ()
	UIManager.Update ()
[LOG 10:51:08.180] [SCANsat] Height Map Of [Bop] Completed...
[EXC 10:51:22.534] NullReferenceException: Object reference not set to an instance of an object
	PartCommander.PartCommander.showWindow ()
	RUIToggleButton.SetTrue (Boolean makeCall, Boolean popButtonsInGroup)
	RUIToggleButton.SetStateFromLastState (Boolean makeCall)
	RUIToggleButton.MouseInput (.POINTER_INFO& ptr)
	UIButton.OnInput (.POINTER_INFO& ptr)
	AutoSpriteControlBase.OnInput (POINTER_INFO ptr)
	UIManager.DispatchHelper (.POINTER_INFO& curPtr, Int32 camIndex)
	UIManager.DispatchInput ()
	UIManager.Update ()
[EXC 10:51:23.815] NullReferenceException: Object reference not set to an instance of an object
	PartCommander.PartCommander.hideWindow ()
	RUIToggleButton.SetFalse (Boolean makeCall)
	RUIToggleButton.SetStateFromLastState (Boolean makeCall)
	RUIToggleButton.MouseInput (.POINTER_INFO& ptr)
	UIButton.OnInput (.POINTER_INFO& ptr)
	AutoSpriteControlBase.OnInput (POINTER_INFO ptr)
	UIManager.DispatchHelper (.POINTER_INFO& curPtr, Int32 camIndex)
	UIManager.DispatchInput ()
	UIManager.Update ()
[EXC 10:51:24.412] NullReferenceException: Object reference not set to an instance of an object
	PartCommander.PartCommander.showWindow ()
	RUIToggleButton.SetTrue (Boolean makeCall, Boolean popButtonsInGroup)
	RUIToggleButton.SetStateFromLastState (Boolean makeCall)
	RUIToggleButton.MouseInput (.POINTER_INFO& ptr)
	UIButton.OnInput (.POINTER_INFO& ptr)
	AutoSpriteControlBase.OnInput (POINTER_INFO ptr)
	UIManager.DispatchHelper (.POINTER_INFO& curPtr, Int32 camIndex)
	UIManager.DispatchInput ()
	UIManager.Update ()
[LOG 10:51:24.468] [SCANsat] Height Map Of [Tylo] Completed...
[EXC 10:51:24.981] NullReferenceException: Object reference not set to an instance of an object
	PartCommander.PartCommander.hideWindow ()
	RUIToggleButton.SetFalse (Boolean makeCall)
	RUIToggleButton.SetStateFromLastState (Boolean makeCall)
	RUIToggleButton.MouseInput (.POINTER_INFO& ptr)
	UIButton.OnInput (.POINTER_INFO& ptr)
	AutoSpriteControlBase.OnInput (POINTER_INFO ptr)
	UIManager.DispatchHelper (.POINTER_INFO& curPtr, Int32 camIndex)
	UIManager.DispatchInput ()
	UIManager.Update ()
[EXC 10:51:25.374] NullReferenceException: Object reference not set to an instance of an object
	PartCommander.PartCommander.showWindow ()
	RUIToggleButton.SetTrue (Boolean makeCall, Boolean popButtonsInGroup)
	RUIToggleButton.SetStateFromLastState (Boolean makeCall)
	RUIToggleButton.MouseInput (.POINTER_INFO& ptr)
	UIButton.OnInput (.POINTER_INFO& ptr)
	AutoSpriteControlBase.OnInput (POINTER_INFO ptr)
	UIManager.DispatchHelper (.POINTER_INFO& curPtr, Int32 camIndex)
	UIManager.DispatchInput ()
	UIManager.Update ()
[LOG 10:51:25.468] [Orbit Targeter]: Target is null
[EXC 10:51:25.618] NullReferenceException: Object reference not set to an instance of an object
	PartCommander.PartCommander.hideWindow ()
	RUIToggleButton.SetFalse (Boolean makeCall)
	RUIToggleButton.SetStateFromLastState (Boolean makeCall)
	RUIToggleButton.MouseInput (.POINTER_INFO& ptr)
	UIButton.OnInput (.POINTER_INFO& ptr)
	AutoSpriteControlBase.OnInput (POINTER_INFO ptr)
	UIManager.DispatchHelper (.POINTER_INFO& curPtr, Int32 camIndex)
	UIManager.DispatchInput ()
	UIManager.Update ()
[EXC 10:51:26.237] NullReferenceException: Object reference not set to an instance of an object
	PartCommander.PartCommander.showWindow ()
	RUIToggleButton.SetTrue (Boolean makeCall, Boolean popButtonsInGroup)
	RUIToggleButton.SetStateFromLastState (Boolean makeCall)
	RUIToggleButton.MouseInput (.POINTER_INFO& ptr)
	UIButton.OnInput (.POINTER_INFO& ptr)
	AutoSpriteControlBase.OnInput (POINTER_INFO ptr)
	UIManager.DispatchHelper (.POINTER_INFO& curPtr, Int32 camIndex)
	UIManager.DispatchInput ()
	UIManager.Update ()
[LOG 10:51:26.433] [Orbit Targeter]: Target is null
[EXC 10:51:26.503] NullReferenceException: Object reference not set to an instance of an object
	PartCommander.PartCommander.hideWindow ()
	RUIToggleButton.SetFalse (Boolean makeCall)
	RUIToggleButton.SetStateFromLastState (Boolean makeCall)
	RUIToggleButton.MouseInput (.POINTER_INFO& ptr)
	UIButton.OnInput (.POINTER_INFO& ptr)
	AutoSpriteControlBase.OnInput (POINTER_INFO ptr)
	UIManager.DispatchHelper (.POINTER_INFO& curPtr, Int32 camIndex)
	UIManager.DispatchInput ()
	UIManager.Update ()
[EXC 10:51:27.452] NullReferenceException: Object reference not set to an instance of an object
	PartCommander.PartCommander.showWindow ()
	RUIToggleButton.SetTrue (Boolean makeCall, Boolean popButtonsInGroup)
	RUIToggleButton.SetStateFromLastState (Boolean makeCall)
	RUIToggleButton.MouseInput (.POINTER_INFO& ptr)
	UIButton.OnInput (.POINTER_INFO& ptr)
	AutoSpriteControlBase.OnInput (POINTER_INFO ptr)
	UIManager.DispatchHelper (.POINTER_INFO& curPtr, Int32 camIndex)
	UIManager.DispatchInput ()
	UIManager.Update ()
[EXC 10:51:28.100] NullReferenceException: Object reference not set to an instance of an object
	PartCommander.PartCommander.hideWindow ()
	RUIToggleButton.SetFalse (Boolean makeCall)
	RUIToggleButton.SetStateFromLastState (Boolean makeCall)
	RUIToggleButton.MouseInput (.POINTER_INFO& ptr)
	UIButton.OnInput (.POINTER_INFO& ptr)
	AutoSpriteControlBase.OnInput (POINTER_INFO ptr)
	UIManager.DispatchHelper (.POINTER_INFO& curPtr, Int32 camIndex)
	UIManager.DispatchInput ()
	UIManager.Update ()
[EXC 10:51:28.781] NullReferenceException: Object reference not set to an instance of an object
	PartCommander.PartCommander.showWindow ()
	RUIToggleButton.SetTrue (Boolean makeCall, Boolean popButtonsInGroup)
	RUIToggleButton.SetStateFromLastState (Boolean makeCall)
	RUIToggleButton.MouseInput (.POINTER_INFO& ptr)
	UIButton.OnInput (.POINTER_INFO& ptr)
	AutoSpriteControlBase.OnInput (POINTER_INFO ptr)
	UIManager.DispatchHelper (.POINTER_INFO& curPtr, Int32 camIndex)
	UIManager.DispatchInput ()
	UIManager.Update ()
[LOG 10:51:28.894] [Orbit Targeter]: Target is null
[EXC 10:51:28.961] NullReferenceException: Object reference not set to an instance of an object
	PartCommander.PartCommander.hideWindow ()
	RUIToggleButton.SetFalse (Boolean makeCall)
	RUIToggleButton.SetStateFromLastState (Boolean makeCall)
	RUIToggleButton.MouseInput (.POINTER_INFO& ptr)
	UIButton.OnInput (.POINTER_INFO& ptr)
	AutoSpriteControlBase.OnInput (POINTER_INFO ptr)
	UIManager.DispatchHelper (.POINTER_INFO& curPtr, Int32 camIndex)
	UIManager.DispatchInput ()
	UIManager.Update ()
[EXC 10:51:29.542] NullReferenceException: Object reference not set to an instance of an object
	PartCommander.PartCommander.showWindow ()
	RUIToggleButton.SetTrue (Boolean makeCall, Boolean popButtonsInGroup)
	RUIToggleButton.SetStateFromLastState (Boolean makeCall)
	RUIToggleButton.MouseInput (.POINTER_INFO& ptr)
	UIButton.OnInput (.POINTER_INFO& ptr)
	AutoSpriteControlBase.OnInput (POINTER_INFO ptr)
	UIManager.DispatchHelper (.POINTER_INFO& curPtr, Int32 camIndex)
	UIManager.DispatchInput ()
	UIManager.Update ()
[EXC 10:51:30.075] NullReferenceException: Object reference not set to an instance of an object
	PartCommander.PartCommander.hideWindow ()
	RUIToggleButton.SetFalse (Boolean makeCall)
	RUIToggleButton.SetStateFromLastState (Boolean makeCall)
	RUIToggleButton.MouseInput (.POINTER_INFO& ptr)
	UIButton.OnInput (.POINTER_INFO& ptr)
	AutoSpriteControlBase.OnInput (POINTER_INFO ptr)
	UIManager.DispatchHelper (.POINTER_INFO& curPtr, Int32 camIndex)
	UIManager.DispatchInput ()
	UIManager.Update ()
[LOG 10:51:40.640] [SCANsat] Height Map Of [Vall] Completed...
[ERR 10:51:40.663] [Toolbar] [ERROR] error while handling click event: PartCommander.blizzyButton

[EXC 10:51:40.664] NullReferenceException: Object reference not set to an instance of an object
	PartCommander.PartCommander.toggleWindow ()
	PartCommander.PartCommander.<addLauncherButtons>b__26_0 (PartCommander.ClickEvent e)
	PartCommander.Button.clicked (System.Object realEvent)
	Toolbar.Command.click ()
	UnityEngine.Debug:LogException(Exception)
	Toolbar.Log:log(LogLevel, Exception, String, Object[])
	Toolbar.Log:error(Exception, String, Object[])
	Toolbar.Command:click()
	Toolbar.Button:click()
	Toolbar.Button:drawInToolbar(Rect, Boolean)
	Toolbar.Toolbar:drawButtons()
	Toolbar.Toolbar:draw()
	Toolbar.ToolbarManager:OnGUI()
[EXC 10:51:48.548] NullReferenceException: Object reference not set to an instance of an object
	PartCommander.PartCommander.showWindow ()
	RUIToggleButton.SetTrue (Boolean makeCall, Boolean popButtonsInGroup)
	RUIToggleButton.SetStateFromLastState (Boolean makeCall)
	RUIToggleButton.MouseInput (.POINTER_INFO& ptr)
	UIButton.OnInput (.POINTER_INFO& ptr)
	AutoSpriteControlBase.OnInput (POINTER_INFO ptr)
	UIManager.DispatchHelper (.POINTER_INFO& curPtr, Int32 camIndex)
	UIManager.DispatchInput ()
	UIManager.Update ()
[EXC 10:51:49.417] NullReferenceException: Object reference not set to an instance of an object
	PartCommander.PartCommander.hideWindow ()
	RUIToggleButton.SetFalse (Boolean makeCall)
	RUIToggleButton.SetStateFromLastState (Boolean makeCall)
	RUIToggleButton.MouseInput (.POINTER_INFO& ptr)
	UIButton.OnInput (.POINTER_INFO& ptr)
	AutoSpriteControlBase.OnInput (POINTER_INFO ptr)
	UIManager.DispatchHelper (.POINTER_INFO& curPtr, Int32 camIndex)
	UIManager.DispatchInput ()
	UIManager.Update ()

 

Note I'm on Win64 KSP 1.0.5.  Using 1.0.3 version of this mod.  Really hoping I can get this to work and use it as a substitute for the Wx64 stock game's buggy right-click behavior.

Edited by Fwiffo
Link to comment
Share on other sites

  • 4 weeks later...

I'm really enjoying your mod.  Thanks for making it.  Is there anyway for it to show how much science is stored in each part so that I can do a quick inventory of science to know what to transmit back?

Link to comment
Share on other sites

2 hours ago, Probus said:

I'm really enjoying your mod.  Thanks for making it.  Is there anyway for it to show how much science is stored in each part so that I can do a quick inventory of science to know what to transmit back?

would also suggest if it's possible to show a science icon or something on the buttons of the instruments that have science data ready to transmit in case you close the science results window and have a ton of instruments and have to check through them to see which ones ran

Link to comment
Share on other sites

  • 2 months later...
  • 3 weeks later...
On 4/21/2016 at 0:16 PM, CrashTestDanny said:

also hoping for a 1.1 version of this essential mod...  :)

Danny

Same here. This has saved me countless times when I've had craft spinning to fast to click on the desired part.

Link to comment
Share on other sites

Does anyone know if there's anything similar to this mod, which we might use while we wait? I originally grabbed PartCommander as a semi-replacement for ScienceAlert, as a way of triggering science parts inside cargo containers without having to open the cargo doors first. Now that PC is gone, I realize how much I relied on it for other things as well; I basically never right-clicked anything anymore. Surely there's another mod capable of giving access to the context menus of parts without having to actually right-click on them?

Link to comment
Share on other sites

1 hour ago, JohnWittle said:

Does anyone know if there's anything similar to this mod, which we might use while we wait? I originally grabbed PartCommander as a semi-replacement for ScienceAlert, as a way of triggering science parts inside cargo containers without having to open the cargo doors first. Now that PC is gone, I realize how much I relied on it for other things as well; I basically never right-clicked anything anymore. Surely there's another mod capable of giving access to the context menus of parts without having to actually right-click on them?

Not to my knowledge unfortunately.  If there is, I'd sure love to know about it also since we're waiting for updates on this, ScienceAlert and ActionGroupsExtended too...

Link to comment
Share on other sites

Hey folks.  Sorry about not checking in for a while - apparently I wasn't subscribed to this thread so I haven't been seeing any of the updates.  Now that KSP 1.1 is out I'm planning on updating all my mods in the near future.  Take Command is already out, and I'll work on this one next.  Initially though I'm just going to get it updated so it works with 1.1, and new features will come later.

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...