Jump to content

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


linuxgurugamer

Recommended Posts

When I first installed this mod, ALT-Right-click did nothing. then something changed, and I at least got to see the file after adding a few parts so I could do manual stuff because... ALT-Right-Click no longer brings up the menu. Any hints on how to troubleshoot this, or do I need to go the whole submit a log route...?

Appreciate the work in this mod.

Edited by lipatden
typo & clarification
Link to comment
Share on other sites

I see some problems on the feature to group toolbar buttons (I learned recently that this features exists). Some mod buttons that I try to move to some folder (new or existing), remains in the toolbar. It only get duplicated in the folder and in the toolbar... Other buttons works fine!

Latter I can list what buttons work, and what not... And attach the log files.

Thanks.

Link to comment
Share on other sites

On 7/25/2021 at 7:20 PM, lipatden said:

When I first installed this mod, ALT-Right-click did nothing. then something changed, and I at least got to see the file after adding a few parts so I could do manual stuff because... ALT-Right-Click no longer brings up the menu. Any hints on how to troubleshoot this, or do I need to go the whole submit a log route...?

Appreciate the work in this mod.

Logs, please

Link to comment
Share on other sites

  • 4 weeks later...

Working great in 1.12.x so far! I'm primarily using the mod to perma-prune parts from a new install so that I can be selective about part mods and remove a lot of duplicate or aesthetically displeasing items I would never use anyway.

Perma-pruning renames the .cfg and .mu, but I wonder if KSP still loads all the textures that are in GameData even if there is no .cfg or .mu for a part that references the texture? If it does, that would eat up a lot of memory unnecessarily, correct?

Link to comment
Share on other sites

  • 4 weeks later...
On 8/22/2021 at 3:49 PM, OldMold said:

Perma-pruning renames the .cfg and .mu, but I wonder if KSP still loads all the textures that are in GameData even if there is no .cfg or .mu for a part that references the texture? If it does, that would eat up a lot of memory unnecessarily, correct?

Hmm, diving into the logs, it appears that it does. I'm assuming this is waaay out of scope for janitor's closet, but wonder if there is a way to find "orphaned" textures that are not referenced in any currently loaded meshes so that those can be pruned as well.

Link to comment
Share on other sites

  • 1 month later...
On 9/22/2021 at 12:33 AM, OldMold said:

Hmm, diving into the logs, it appears that it does. I'm assuming this is waaay out of scope for janitor's closet, but wonder if there is a way to find "orphaned" textures that are not referenced in any currently loaded meshes so that those can be pruned as well.

Ummm, how can you tell if a texture is "orphaned" or not?  Sometimes texture names are built and accessed on the fly, so may not be anywhere in code

17 hours ago, Jakub said:

Mod question here. Is there anyway to set up a default mod group in janitors closet that is active as soon as you open the VAB?

No

Link to comment
Share on other sites

1 hour ago, linuxgurugamer said:

Ummm, how can you tell if a texture is "orphaned" or not?  Sometimes texture names are built and accessed on the fly, so may not be anywhere in code

Yeah, totally wild and uninformed assumption so I may just be talking out of my butt - but if its possible to see that a "texture.dds" is (or has been) loaded in memory, but is not referenced by any of the "model.mu" that were loaded in memory, even spitting out a list like that could help manually go through and delete/rename the unused textures. 

Link to comment
Share on other sites

25 minutes ago, OldMold said:

Yeah, totally wild and uninformed assumption so I may just be talking out of my butt - but if its possible to see that a "texture.dds" is (or has been) loaded in memory, but is not referenced by any of the "model.mu" that were loaded in memory, even spitting out a list like that could help manually go through and delete/rename the unused textures. 

But there are other references to dds/image files than the models.

Sorry to say, it doesn't sound feasable.  Besides, while I'm sure there are some wasted textures, I don't think they are that many or too much space in the grand scheme of things

 

Link to comment
Share on other sites

My liberal use of janitors closet is up to 220 pruned parts :) I'm estimating roughly 200-400mb of textures that I'm probably loading for nothing. No biggie - overall definitely appreciate this mod and your support, it really opens up a lot of flexibility and customization of the game.

Link to comment
Share on other sites

1 hour ago, OldMold said:

My liberal use of janitors closet is up to 220 pruned parts :) I'm estimating roughly 200-400mb of textures that I'm probably loading for nothing. No biggie - overall definitely appreciate this mod and your support, it really opens up a lot of flexibility and customization of the game.

I understand, but as I said, it's rather difficult to figure out.  Ideally, what should happen is that should be done when the part is pruned, but I don't know how to get the texture file names from the models, etc

Link to comment
Share on other sites

5 hours ago, SpaceWolf2021 said:

Can this be used for stock parts? If so will it affect contracts?

Yes, you can hide and prune stock parts.

It depends whether you hide/filter or prune a part.  Hiding shouldn't affect contracts because the part still exists, you just can't see it.  Pruning renames the part so that it doesn't load on KSP start.  Thus, the part wouldn't be available in the game.  If you have vessel with that part outside of the VAB, I suspect the game will balk and advise you that the part is missing and not load the vessel if you persist.  If you have accepted a contract requiring a part, and then pruned it, I think you won't be able to complete the contract.

All that said, you can undo a prune if you think you've gone too far.

You can test this yourself by creating another game instance (copy a fresh install), add JC and try it out.

Edited by Brigadier
Added unprune disclaimer
Link to comment
Share on other sites

1 hour ago, Brigadier said:

.  If you have vessel with that part outside of the VAB, I suspect the game will balk and advise you that the part is missing and not load the vessel if you persist.  If you have accepted a contract requiring a part, and then pruned it, I think you won't be able to complete the contract.

Correct!

Link to comment
Share on other sites

  • 2 months later...

Hello.  I've seen a few bug reports in Kopernicus-land associated with this plugin, not sure what's going on or if an interaction is causing it or what, but the typical report starts with a log that contains the following:

[EXC 22:20:47.263] ReflectionTypeLoadException: Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown.
	System.Reflection.Assembly.GetTypes () (at <9577ac7a62ef43179789031239ba8798>:0)
	Kopernicus.ConfigParser.Parser+<>c.<GetModTypes>b__16_1 (System.Reflection.Assembly a) (at <395892e8bc6a43f7a7ef20a5d37d4d79>:0)
	System.Linq.Enumerable+SelectManySingleSelectorIterator`2[TSource,TResult].MoveNext () (at <351e49e2a5bf4fd6beabb458ce2255f3>:0)
	Kopernicus.ConfigParser.Parser.GetModTypes () (at <395892e8bc6a43f7a7ef20a5d37d4d79>:0)
	Kopernicus.ConfigParser.Parser.get_ModTypes () (at <395892e8bc6a43f7a7ef20a5d37d4d79>:0)
	Kopernicus.RuntimeUtility.LogAggregatorWorker.Awake () (at <e5b09128dd994a1897e67c1867db8281>:0)
	UnityEngine.DebugLogHandler:LogException(Exception, Object)
	ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
	UnityEngine.GameObject:AddComponent(Type)
	AddonLoader:StartAddon(LoadedAssembly, Type, KSPAddon, Startup)
	AddonLoader:StartAddons(Startup)
	<LoadObjects>d__90:MoveNext()
	UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
	<CreateDatabase>d__71:MoveNext()
	UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
	GameDatabase:StartLoad()
	<LoadSystems>d__11:MoveNext()
	UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
	LoadingScreen:Start()
[LOG 22:20:47.268] [ModuleManager] Intercepted a ReflectionTypeLoadException. List of broken DLLs:
JanitorsCloset 0.3.7.8 GameData/JanitorsCloset/Plugins/JanitorsCloset.dll

and it spirals into an exception-mess from there.

Any idea what's going on?  I'm at a complete loss, and have changed nothing with reflection on my end.

Link to comment
Share on other sites

4 hours ago, R-T-B said:

Hello.  I've seen a few bug reports in Kopernicus-land associated with this plugin, not sure what's going on or if an interaction is causing it or what, but the typical report starts with a log that contains the following:

[EXC 22:20:47.263] ReflectionTypeLoadException: Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown.
	System.Reflection.Assembly.GetTypes () (at <9577ac7a62ef43179789031239ba8798>:0)
	Kopernicus.ConfigParser.Parser+<>c.<GetModTypes>b__16_1 (System.Reflection.Assembly a) (at <395892e8bc6a43f7a7ef20a5d37d4d79>:0)
	System.Linq.Enumerable+SelectManySingleSelectorIterator`2[TSource,TResult].MoveNext () (at <351e49e2a5bf4fd6beabb458ce2255f3>:0)
	Kopernicus.ConfigParser.Parser.GetModTypes () (at <395892e8bc6a43f7a7ef20a5d37d4d79>:0)
	Kopernicus.ConfigParser.Parser.get_ModTypes () (at <395892e8bc6a43f7a7ef20a5d37d4d79>:0)
	Kopernicus.RuntimeUtility.LogAggregatorWorker.Awake () (at <e5b09128dd994a1897e67c1867db8281>:0)
	UnityEngine.DebugLogHandler:LogException(Exception, Object)
	ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
	UnityEngine.GameObject:AddComponent(Type)
	AddonLoader:StartAddon(LoadedAssembly, Type, KSPAddon, Startup)
	AddonLoader:StartAddons(Startup)
	<LoadObjects>d__90:MoveNext()
	UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
	<CreateDatabase>d__71:MoveNext()
	UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
	GameDatabase:StartLoad()
	<LoadSystems>d__11:MoveNext()
	UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
	LoadingScreen:Start()
[LOG 22:20:47.268] [ModuleManager] Intercepted a ReflectionTypeLoadException. List of broken DLLs:
JanitorsCloset 0.3.7.8 GameData/JanitorsCloset/Plugins/JanitorsCloset.dll
 

and it spirals into an exception-mess from there.

Any idea what's going on?  I'm at a complete loss, and have changed nothing with reflection on my end.

Probably missing dependencies.

  • ClickThroughBlocker
  • ToolbarController
  • SpaceTuxLibrary
Link to comment
Share on other sites

16 hours ago, linuxgurugamer said:

Probably missing dependencies.

  • ClickThroughBlocker
  • ToolbarController
  • SpaceTuxLibrary

I will check their logs for those dependencies, thanks for the support.

Link to comment
Share on other sites

  • 1 month later...

It's anecdotal, but I was getting the Kopernicus exceptions when using Janitor's Closet and had both ClickthroughBlocker and ToolbarController installed. Installing SpaceTuxLibrary seems to have fixed it, so thank you.

I would like to note that I saw none of those dependencies listed on SpaceDock, the Github, or in the ReadMe though.

Link to comment
Share on other sites

5 hours ago, personaleyrie said:

It's anecdotal, but I was getting the Kopernicus exceptions when using Janitor's Closet and had both ClickthroughBlocker and ToolbarController installed. Installing SpaceTuxLibrary seems to have fixed it, so thank you.

I would like to note that I saw none of those dependencies listed on SpaceDock, the Github, or in the ReadMe though.

edit:  OP did mention the Spacetux library as a new dependency, if you didn't have that installed, you missed it. 

I'll get Spacedock updated

Edited by linuxgurugamer
Link to comment
Share on other sites

  • 2 weeks later...

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