Jump to content

[CKAN plugin] CKAN PartManager v1.2 - Selectively remove parts from mods


nlight

Recommended Posts

Note: This is a _plugin_ for CKAN written and provided by me. Is is not supported, promoted or endorsed by the CKAN team or anyone else but me.

Requires CKAN v1.5.6 or higher

This CKAN plugin adds a way to selectively remove parts from mods. Here is what it looks like in action:

enqfHnp.png

To use this you need only two things:

- The latest CKAN version

- The plugin DLL

To install use the "Add new.." button in Settings -> CKAN plugins, or copy the DLL to <KSP_root>/CKAN/Plugins.

The plugin's source can be found in the GitHub repo, everything licensed under the MIT License.

More information on how to develop your own CKAN plugins can be found here.

Edited by nlight
Link to comment
Share on other sites

The plugin is added to the <KSP_root>/CKAN/Plugins folder when I add the plugin, but no new tab appears when I restart CKAN. And nothing shows in the Plugins window of CKAN, the same thing happens when I try to add the KerbalStuffPlugin.dll

I'm on Windows 8.1

Link to comment
Share on other sites

The plugin is added to the <KSP_root>/CKAN/Plugins folder when I add the plugin, but no new tab appears when I restart CKAN. And nothing shows in the Plugins window of CKAN, the same thing happens when I try to add the KerbalStuffPlugin.dll

I'm on Windows 8.1

Hey, you must use version 1.5.5 or later of CKAN which supports plugins, older versions are not supported.

Link to comment
Share on other sites

I too have this problem i use CKAN version 1.5.5 First I tried to add them through CKAN itself by clicking add plugins, nothing happened. Then I tried to do it manually by copying in the plugins folder. Nothing happened.

Link to comment
Share on other sites

I didn't realize it was an alpha of some sort, so my bad. But more importantly if this would work, it would be the greatest thing ever I love it already ^^

Is there a way to get you to #ckan on irc.esper.net so we can debug this issue?

Link to comment
Share on other sites

The plugin is added to the <KSP_root>/CKAN/Plugins folder when I add the plugin, but no new tab appears when I restart CKAN. And nothing shows in the Plugins window of CKAN, the same thing happens when I try to add the KerbalStuffPlugin.dll

I'm on Windows 8.1

Make sure that you activate the plugin after it gets added into the dormant plugins tab.

Thanks for the nice plugin nlight.

Link to comment
Share on other sites

So I've thinned out KWRocketry to 10% of its original content. What will happen when I install an update for KW? Will I have to re-disable all the parts that I don't need or will CKAN auto-apply my previous selections?

In any case, thank you. One more thing that I (probably) won't have to install by hand ever again.

P.S: A "Disable All" button would be nice to have.

Link to comment
Share on other sites

What will happen when I install an update for KW? Will I have to re-disable all the parts that I don't need or will CKAN auto-apply my previous selections?

As of v1.1 the plugin will apply your previous selections to mod upgrades and even new installs e.g. if you uninstall KW and install it again some days later the plugin will still reapply your changes.

Link to comment
Share on other sites

As of v1.1 the plugin will apply your previous selections to mod upgrades and even new installs e.g. if you uninstall KW and install it again some days later the plugin will still reapply your changes.

I see that this info was right in your v1.1 announcement post. Sorry for asking again and thanks for the reply! :)

Link to comment
Share on other sites

Great plugin using on my Windows boot no problem, but everytime I start CKAN in Linux the part manager plugin won't load due to missing libraries. Any idea what libraries I need? I have downloaded Mono and the development libraries for Mono, but the plugin still won't start. Or I'm just out of it and the plugins won't work on Linux?

Link to comment
Share on other sites

When I install this via CKAN, it shows up in the plugin dir, in the CKAN folder, but it is still not visible in the active/dormant plugins window.

edit: also using linux

Edited by KerBlam
Link to comment
Share on other sites

  • 2 weeks later...

I wanted to use this to lower RAM usage so I disabled a bunch of parts and then by looking at the folders it seems "removing" them with this plugin simply moves the .cfg files to another place. Looking at the bar when starting the game it would appear it still works the textures and whatnot? Wouldn't it be better to move everything to the cache, or do the things loaded not affect memory footprint?

Link to comment
Share on other sites

  • 4 weeks later...
I wanted to use this to lower RAM usage so I disabled a bunch of parts and then by looking at the folders it seems "removing" them with this plugin simply moves the .cfg files to another place. Looking at the bar when starting the game it would appear it still works the textures and whatnot? Wouldn't it be better to move everything to the cache, or do the things loaded not affect memory footprint?

Generally, if something is loaded, it does effect memory blueprint. But if you have ATM or Texture Replacer (not sure which, I know one of these did something about unused textures' memory usage) it might help.

Edited by nearlyNon
vague sentence
Link to comment
Share on other sites

  • 4 weeks later...

Hello nlight. I really like your plugin for the ease of use. Removing those useless parts out of massive mods has never been easier.

I have found a show stopping bug while running this on mono on linux. It is easily reproducible by following the steps below

1) Download a mod with a lot of parts like B9

2) Go look at the mod in Part Manager, and scroll down on the parts list (The listbox on the right)

3) Click on any mod in the mod list (The listbox on the left)

4) Crash with two System.ArgumentOutOfRangeException

This can be mitigated by scrolling up on the parts list before clicking on mods in the mod list.

I am not sure if this bug shows up on Windows.

Anyway, the complete error log is as follows:

System.ArgumentOutOfRangeException: Index is less than 0 or more than or equal to the list count.
Parameter name: index
1
at System.Collections.ArrayList.ThrowNewArgumentOutOfRangeException (System.String name, System.Object actual, System.String message) [0x00000] in <filename unknown>:0
at System.Collections.ArrayList.get_Item (Int32 index) [0x00000] in <filename unknown>:0
at System.Windows.Forms.DataGridViewRowCollection.SharedRow (Int32 rowIndex) [0x00000] in <filename unknown>:0
at System.Windows.Forms.DataGridView.GetRowInternal (Int32 rowIndex) [0x00000] in <filename unknown>:0
at System.Windows.Forms.DataGridView.OnPaint (System.Windows.Forms.PaintEventArgs e) [0x00000] in <filename unknown>:0
at System.Windows.Forms.Control.WmPaint (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
at System.Windows.Forms.DataGridView.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
at System.Windows.Forms.Control+ControlWindowTarget.OnMessage (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
at System.Windows.Forms.Control+ControlNativeWindow.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
at System.Windows.Forms.NativeWindow.WndProc (IntPtr hWnd, Msg msg, IntPtr wParam, IntPtr lParam) [0x00000] in <filename unknown>:0
System.ArgumentOutOfRangeException: Index is less than 0 or more than or equal to the list count.
Parameter name: index
0
at System.Collections.ArrayList.ThrowNewArgumentOutOfRangeException (System.String name, System.Object actual, System.String message) [0x00000] in <filename unknown>:0
at System.Collections.ArrayList.get_Item (Int32 index) [0x00000] in <filename unknown>:0
at System.Windows.Forms.DataGridViewRowCollection.get_Item (Int32 index) [0x00000] in <filename unknown>:0
at System.Windows.Forms.DataGridView.SetSelectedCellCore (Int32 columnIndex, Int32 rowIndex, Boolean selected) [0x00000] in <filename unknown>:0
at System.Windows.Forms.DataGridView.MoveCurrentCell (Int32 x, Int32 y, Boolean select, Boolean isControl, Boolean isShift, Boolean scroll) [0x00000] in <filename unknown>:0
at System.Windows.Forms.DataGridView.OnRowsAddedInternal (System.Windows.Forms.DataGridViewRowsAddedEventArgs e) [0x00000] in <filename unknown>:0
at (wrapper remoting-invoke-with-check) System.Windows.Forms.DataGridView:OnRowsAddedInternal (System.Windows.Forms.DataGridViewRowsAddedEventArgs)
at System.Windows.Forms.DataGridViewRowCollection.AddCore (System.Windows.Forms.DataGridViewRow dataGridViewRow, Boolean sharable) [0x00000] in <filename unknown>:0
at System.Windows.Forms.DataGridViewRowCollection.Add (System.Windows.Forms.DataGridViewRow dataGridViewRow) [0x00000] in <filename unknown>:0
at PartManagerPlugin.PartManagerUI.InstalledModsListBox_SelectedIndexChanged (System.Object sender, System.EventArgs e) [0x00000] in <filename unknown>:0
at System.Windows.Forms.ListBox.OnSelectedIndexChanged (System.EventArgs e) [0x00000] in <filename unknown>:0
at System.Windows.Forms.ListBox.OnItemClick (Int32 index) [0x00000] in <filename unknown>:0
at System.Windows.Forms.ListBox.OnMouseUpLB (System.Object sender, System.Windows.Forms.MouseEventArgs e) [0x00000] in <filename unknown>:0
at System.Windows.Forms.Control.OnMouseUp (System.Windows.Forms.MouseEventArgs e) [0x00000] in <filename unknown>:0
at System.Windows.Forms.Control.WmLButtonUp (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
at System.Windows.Forms.ListBox.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
at System.Windows.Forms.Control+ControlWindowTarget.OnMessage (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
at System.Windows.Forms.Control+ControlNativeWindow.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
at System.Windows.Forms.NativeWindow.WndProc (IntPtr hWnd, Msg msg, IntPtr wParam, IntPtr lParam) [0x00000] in <filename unknown>:0

Link to comment
Share on other sites

  • 2 weeks later...
Guest
This topic is now closed to further replies.
×
×
  • Create New...