Jump to content

[1.12.x] End your parts list nightmare - Introducing The Janitor's Closet


linuxgurugamer

Recommended Posts

New release:  0.1.7:

  • Fixed sort of sizes
  • Added text "Adapter" to adapter sizes
  • Moved initial window position right 100 pixels
  • Added code so that window will have a minimum height of 10 buttons, and a maximum height of 20
  • Fixed sort so that:
  1.     The line with "larger" appears at the end
  2.     Lines beginning with "Adapter" appear after the other lines
Link to comment
Share on other sites

1 hour ago, linuxgurugamer said:

New release:  0.1.7:

  • Fixed sort of sizes
  • Added text "Adapter" to adapter sizes
  • Moved initial window position right 100 pixels
  • Added code so that window will have a minimum height of 10 buttons, and a maximum height of 20
  • Fixed sort so that:
  1.     The line with "larger" appears at the end
  2.     Lines beginning with "Adapter" appear after the other lines

That didn't solve the issue sir, I'm sure there should be a conflict with some mod in that log file. It started from 1.5 because before that I had all these mods and it was working perfectly, now every time i visit VAB, the filter window is open and the window size is not correct !!

Link to comment
Share on other sites

evite?

15 minutes ago, linuxgurugamer said:

Also, please delete the evite directory and reinstall it.

If that doesn't help, could you zip up the entire GameData directory and put it somewhere I can get it?

Thanks

evite?

Ok, i deleted the previous folder of janitor closet, also deleted the part catalog from root folder because i know sometimes it interfered with problems, then installed the 1.7 and ran the game, the problem is still there. here is the log file

https://www.dropbox.com/s/ssa7dca82ghh2e3/output_log.txt?dl=0

 

O~K @linuxgurugamer an index out of rang exception sir :

IndexOutOfRangeException: Array index is out of range.
  at JanitorsCloset.ModFilterWindow+PartInfo..ctor (.AvailablePart part) [0x00000] in <filename unknown>:0
  at JanitorsCloset.ModFilterWindow.InitialPartsScan (System.Collections.Generic.List`1 loadedParts) [0x00000] in <filename unknown>:0
  at JanitorsCloset.ModFilterWindow.Start () [0x00000] in <filename unknown>:0

Edited by Jiraiyah
Link to comment
Share on other sites

1 hour ago, Jiraiyah said:

evite?

Meant to say "entire", phone messed it up.

Please get me a copy of your entire GameData directory, thanks.  Looks like you are hitting some limit, it will be easier to find if I have your directory to test with.
 

Thanks

Edited by linuxgurugamer
Link to comment
Share on other sites

16 hours ago, linuxgurugamer said:

I need your files.  I created a save with about 150 mods, it worked fine

believe it or not i set the file into my google drive last night and it's still uploading ! bad connction on my side, as soon as i get it there i will inform you, the zip is 3 GB !!

Link to comment
Share on other sites

@linuxgurugamer

sir I failed to upload that 3GB of game data, but i think i found what is the problem, take a look at this line of code in your repo :

https://github.com/linuxgurugamer/JanitorsCloset/blob/master/JanitorsCloset/ModFilterWindow.cs#L142

now, when you get null point exceptions like this, the important thing is not to find the problematic mod, the point is how you can solve your mod. why am i saying that? well, let's say we contacted that mod developer and he solved the issue on his side, is there any guaranty that another person won't have same problem on his mod again?

ok. so what is the problem in your code is this :

for some reason, some mod is giving a part to the game that is null ! maybe bad MM patch or something but it's beyond the scope. in that loop, right from start you are assuming that the part is not null. ok the log won't cause any problem because I am not playing in debug mode maybe. but the next line after that log, you are calling a class and it's constructor, giving the part and assuming that the part is not null. THAT is exactly what is causing the problem here, a null point exception. If you ask me, even before the log, simply do this :

if (part == null)
	continue;

why that can solve this problem? because if there is a part that is null and loaded, well, do we still really need to keep it in our partInfos dictionary? answer is no :D and that would solve this null point exception i think. as a side node, never do assumptions in coding for games, always do sanity checks.

Link to comment
Share on other sites

5 hours ago, Jiraiyah said:

@linuxgurugamer

sir I failed to upload that 3GB of game data, but i think i found what is the problem, take a look at this line of code in your repo :

https://github.com/linuxgurugamer/JanitorsCloset/blob/master/JanitorsCloset/ModFilterWindow.cs#L142

now, when you get null point exceptions like this, the important thing is not to find the problematic mod, the point is how you can solve your mod. why am i saying that? well, let's say we contacted that mod developer and he solved the issue on his side, is there any guaranty that another person won't have same problem on his mod again?

ok. so what is the problem in your code is this :

for some reason, some mod is giving a part to the game that is null ! maybe bad MM patch or something but it's beyond the scope. in that loop, right from start you are assuming that the part is not null. ok the log won't cause any problem because I am not playing in debug mode maybe. but the next line after that log, you are calling a class and it's constructor, giving the part and assuming that the part is not null. THAT is exactly what is causing the problem here, a null point exception. If you ask me, even before the log, simply do this :


if (part == null)
	continue;

why that can solve this problem? because if there is a part that is null and loaded, well, do we still really need to keep it in our partInfos dictionary? answer is no :D and that would solve this null point exception i think. as a side node, never do assumptions in coding for games, always do sanity checks.

I'll certainly add that, but, I'd like to make some points:  

  1. Please don't lecture me.  Your tone is very condescending, and frankly, it is somewhat offensive.  I'm hoping it is more of a language issue, and I'll take it that way.
  2. This isn't my job.  I don't have the time to do full testing debugging, I (and other mod authors) depend on good reports.  I asked for the full GameData directory so I could isolate the bad mods and notify the authors.
  3. I looked at your log file again, and was struck by the fact that there were a number of various exceptions.  I suppose i should have done that earlier, but I was focused on this mod.  Those exceptions  are most likely the cause of this error.  You should notify the author of those mods to get those problems fixed, they will only lead to other issues elsewhere.  Very specifically, DynamicTanks, IRSurfaceSampler and FlattenMountains keep coming up
  4. Finally, you are running an outdated version of Lack Luster Labs Continued.  I know this because I saw a error in the log which has been fixed

Anyway, I just uploaded the next version:  0.1.8:

  •  Removed limitation on width of displayable lines in the mod filter
  •  Added check for null part  in the InitialPartScan(), needed in case other mods mess up during loading and put a null part into the loadedParts list
     

 

 

Edited by linuxgurugamer
Link to comment
Share on other sites

2 minutes ago, linuxgurugamer said:

I'll certainly add that, but, I'd like to make two points:  

Please don't lecture me.  Your tone is very condescending, and frankly, it is somewhat offensive.  I'm hoping it is more of a language issue, and I'll take it that way.

This isn't my job.  I don't have the time to do full testing debugging, I (and other mod authors) depend on good reports.  I asked for the full GameData directory so I could isolate the bad mods and notify the authors.

I looked at your log file again, and was struck by the fact that there were a number of various exceptions.  I suppose i should have done that earlier, but I was focused on this mod.  Those exceptions  are most likely the cause of this error.  You should notify the author of those mods to get those problems fixed, they will only lead to other issues elsewhere.  Very specifically, DynamicTanks, IRSurfaceSampler and FlattenMountains keep coming up

Anyway, I just uploaded the next version:  0.1.8:

  •  Removed limitation on width of displayable lines in the mod filter
  •     Added check for null part  in the InitialPartScan(), needed in case other mods mess up during loading and put a null part into the loadedParts list
     

 

 

o o, sorry, I really didn't mean to offend you, part of it is that english is not my native language and part of it is because of my video tutorials on unity in 3dbuzz.com, some times i automatically flip to teaching mode without even noticing it, i'm deeply sorry.

About exceptions, well, dynamic tanks i was not aware of any problem regarding it, but if the IR section of IRSurfaceSampler stands for Infernal Robotics, i'll wait on that one because what i am using now is a non official community update and the developer is working on it. The last one made me confused, flatten moountains sounds like something coming from one my many planet packs, will track that one down.

anyways, thanks for your time and effort

Link to comment
Share on other sites

1 minute ago, Jiraiyah said:

o o, sorry, I really didn't mean to offend you, part of it is that english is not my native language and part of it is because of my video tutorials on unity in 3dbuzz.com, some times i automatically flip to teaching mode without even noticing it, i'm deeply sorry.

About exceptions, well, dynamic tanks i was not aware of any problem regarding it, but if the IR section of IRSurfaceSampler stands for Infernal Robotics, i'll wait on that one because what i am using now is a non official community update and the developer is working on it. The last one made me confused, flatten moountains sounds like something coming from one my many planet packs, will track that one down.

anyways, thanks for your time and effort

I kind of thought it was a language issue.  No offense taken, and please try the update

Link to comment
Share on other sites

  • 2 weeks later...

Hello. First of all, thank you very much dear Linuxgurugamer, this mod is absolutely awesome.

Right now i planning to play RSS/RO/rp0 KSP, but since many mods are still on 1.1.3 version i was needed your "Janitor Closet" to be compatible with 1.1.3 as well. I downloaded VisualStudio and trying to compile newest sources with Assembly-CSharp, Assembly-CSharp-firstpass, KspAssets, UnityEngineUi and UnityEngine dll's from 1.1.3 game, but get errors. When i add KspCore and KSPUtil dll's everything compile without errors, and in game everything work fine. Can i do that or i just break things? Sorry for stupid question and bad english.

Link to comment
Share on other sites

Hi LinuxGuruGamer. Thanks for all your work on this mod.

I'm having the same issue as Jiraiyah above, in that every time the VAB is loaded, the Mods List window is open by default and placed in the top left corner of the screen. The window is also incredibly small and the scrollable items can barely be read.

Here is my output log, please let me know if you need more from me.
https://www.dropbox.com/s/lhvp9umvpprb1im/output_log.txt?dl=0

Thanks again for your time and help.

Link to comment
Share on other sites

Hi,

I have a beta release of the next version, which adds the Janitor's Toolbar.  Please try it out and let me know of any problems.

https://github.com/linuxgurugamer/JanitorsCloset/releases/tag/0.2.0

The button for The Janitor’s Closet is now available on all screens.   There are several modes of operation, depending on various factors.  The toolbar button looks like a broom & dustbin.

If you are running TextureReplacer, make sure you have the latest (unofficial) version of TextureReplacer, available here:  https://github.com/RangeMachine/TextureReplacer/releases/tag/v2.5.4

 

Toolbar buttons can be hidden, either in the current screen or everywhere.  This is somewhat misleading, since all hidden buttons are still available by clicking on the Janitor’s Closet toolbar button.

Toolbar buttons can also be moved to folders, either a new folder or an existing one.

Modes of Operation

No hidden buttons (ie: when first starting)

If no buttons have been hidden, then clicking on the Janitor’s Closet button will open a help window with these instructions

If in the editor, hovering over the button will bring up the toolbar popup menu, with the following buttons:

Show Blocked
Unblock
PermaPrune
Mod Filter
Export/Import
 

ShowBlocked will display a list of all parts blocked, and, if a soft basis, a button so you can unblock a single part
Unblock will unblock all parts which are blocked via the soft basis
.

PermaPrune will display a new menu 

Mod Filter will display a window where you can select which mods you want to filter (ie:  show parts from)

Import/Export will display a new menu

 

 

Hidden Buttons

Clicking on the Janitor’s Closet button will show all buttons which are hidden in the current scene

Toolbar Operations

Any toolbar button can be hidden, either on the current scene or all scenes.  Any toolbar button can be moved, either to a new or existing button folder.  To activate this, hold the ALT button (on Windows) and right-click the button you want to hide/move.  Linux and OSX users need to use the MOD button for their system.  A popup menu will be displayed, with the following:

Hide here
Hide everywhere
Move to new folder
and, if there are already folders created and displayed, there will be an additional button for each folder on the toolbar, with the folder displayed followed by the words “Move to folder”

Hide here will remove the button from the toolbar in this scene only

Hide everywhere will remove the button from the toolbar in all scenes

Move to new folder will create a new button folder and move this button into the new button folder

Move to folder will move this button into the selected button folder


Button Folders

Button folders are new buttons added to hold other buttons.  At present you can’t select which icon to use for a new folder.  They look like a colored folder with the broom & dustbin on top.

Moving the mouse over a button folder will do an instant popup toolbar perpendicular to the current toolbar showing all the buttons in the toolbar.  Moving the mouse away will hide the popup.  To keep the popup, click on the button folder.

Once a popup toolbar is visible, you can click on the button just like normal.  Hovering over a button works as well.

 

 

 

 

 

 

 

Edited by linuxgurugamer
Link to comment
Share on other sites

On 16.12.2016 at 10:16 PM, linuxgurugamer said:

Toolbar buttons can be hidden, either in the current screen or everywhere. 

This is GREAT! :)

PS: In the mod list (of my highly modded install) I have a green switch with no label over Asteroid Day. I don't know if it's a beta thing or I have a mod without name installed.

Edited by Jebs_SY
Link to comment
Share on other sites

On 12/16/2016 at 4:16 PM, linuxgurugamer said:

Toolbar buttons can be hidden, either in the current screen or everywhere.  This is somewhat misleading, since all hidden buttons are still available by clicking on the Janitor’s Closet toolbar button.

Toolbar buttons can also be moved to folders, either a new folder or an existing one.

Thanks a million!! You've done a lot of amazing work for the KSP mod (plugin) community and this is yet another awesome addition.

Link to comment
Share on other sites

18 minutes ago, Jebs_SY said:

This is GREAT! :)

PS: In the mod list (of my highly modded install) I have a green switch with no label over Asteroid Day. I don't know if it's a beta thing or I have a mod without name installed.

first, please post a picture.

Second, I'm not sure what you mean about a mod with a name;  buttons don't have any names associated with them.

Link to comment
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.

×
×
  • Create New...