Jump to content

[1.3.0] Filter Extensions 3.0.4 (Jul 11)


Crzyrndm

Recommended Posts

Version 2.5.0 - The groups and individuals update

  • Added support for a part module filter
  • Added support for part tags
  • Fixed improperly sized dds'ified icons
  • Icons now must be 32 px square.(I have seen no evidence of any other size being used and this makes the code neater. If this is an issue I can add some leeway back in)
  • Code cleanup

Time for some new features :)

Part Module Filter
You can now add a part module to any part that can push it into any category and/or block it from any other category. Useful for those oddball parts that just wont go where you want them to or for filtering where Module Manager can get a bit deeper then FE allows

MODULE
{
	name = PartModuleFilter
	filterAdd = subcat1, subcat2,... // listed subcategories will have this part no matter what their own filtering says
	filterBlock = subcat1, subcat2,... // listed subcategories will not show this part
}

Tag Check
Check for any of the search tags in a part (note that this is for the tag itself, not a search term matching the tag...).

CHECK
{
	type = tag
	value = (more
}

Of the above, the intention is that groups of parts are filtered using tags and individuals by the PartModule, but you are free to use these tools as you see fit to do so

Edited by Crzyrndm
Link to comment
Share on other sites

I have a problem with the cross section display. Sometimes it shows 5m and 7.5m profiles and other times they are not there. But I cant tell when or why. May be it is related to filter extension maybe not. Anyone have seen this too?

Link to comment
Share on other sites

Do you have any parts that should show in those profiles? Can I get a log with logging enabled (space centre, black window button, logging option) and MM cache. Is it first and then subsequent VAB entries that are different (normally where FE lets a few extra through)?

Link to comment
Share on other sites

Yes, I have SpaceY Heavy Lifters 1.12.2 and SpaceY Expanded 1.1.8 installed, so the 5m and 7.5m parts are there.

Log File and MM cache: https://www.dropbox.com/s/t8x9dmyaccxxqhb/output_log15.zip?dl=0

Edit: It happens in the game that all Cross-Sections are displayed, even empty ones!

Edited by Kolago
Link to comment
Share on other sites

I must be doing something wrong.

When I try to use the select by manufacture button, all of the choices are in scrambled order.  How do I set this to be alphabetized?

And not all Manu's are being shown.

Do you need / want screen dump's , all log files , everything?

Thanks, I am lost without this mod.

Cheers.

 

Edit: I am using 1.1.1 64 bit and latest 2.5.0, thanks.

Edited by drtedastro
Link to comment
Share on other sites

I'll probably need logs, preferably with FE debug logging enabled (space centre => FE options => logging option)

Do you have "replace manufacturers" enabled? (it's the default):
- If yes, which mods are you expecting to show up that aren't. I'll add a sorting pass to the manufacturer category in the next round of fixes
- If no, things are very broken and I'll have to work out why it's even touching the stock manufacturers...

Edited by Crzyrndm
Link to comment
Share on other sites

Don't have a log with FE debugging enabled, but I do seem to be having some sort of conflict between FE and some other mod. I don't believe this happens on stock (not when I tried it on pure stock, anyway). Several mods in my install are somehow messing up (1.1.1, not all updated, something like that). If it's helpful, here's a log:

Log: https://dl.dropboxusercontent.com/u/59567837/output_log_filtext.txt

(Maybe?) relevant bit:

 

Quote

AddonLoader: Instantiating addon 'EVAManager' from assembly 'EVAManager'
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)

AddonLoader: Instantiating addon 'Core' from assembly 'FilterExtensions'
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)

[Filter Extensions 2.5.0.0]: 
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)

NullReferenceException: Object reference not set to an instance of an object
  at PartModuleList.Contains (Int32 classID) [0x00000] in <filename unknown>:0
  at PartModuleList.Contains (System.String className) [0x00000] in <filename unknown>:0
  at FilterExtensions.Core.getPartData () [0x00000] in <filename unknown>:0
  at FilterExtensions.Core.Awake () [0x00000] in <filename unknown>:0 
UnityEngine.GameObject:Internal_AddComponentWithType(Type)
UnityEngine.GameObject:AddComponent(Type)
AddonLoader:StartAddon(LoadedAssembly, Type, KSPAddon, Startup)
AddonLoader:StartAddons(Startup)
AddonLoader:OnLevelWasLoaded(Int32)
 
(Filename:  Line: -1)

 

Link to comment
Share on other sites

12 minutes ago, Mokmo said:

Update your ModuleManager, it did the trick for me

Thanks, that seems to work

Question, how to prevent parts, that would normally not be show (because they have no type not tech) be shown? In the past they were hidden. but after the last update they re-appear

Link to comment
Share on other sites

16 hours ago, Crzyrndm said:

I'll probably need logs, preferably with FE debug logging enabled (space centre => FE options => logging option)

Do you have "replace manufacturers" enabled? (it's the default):
- If yes, which mods are you expecting to show up that aren't. I'll add a sorting pass to the manufacturer category in the next round of fixes
- If no, things are very broken and I'll have to work out why it's even touching the stock manufacturers...

Ok, here are my log files.

dropbox with logs

This is from ksp 1.1.2 x64 and is same as when 1.1.1

In the previous versions, when selecting the manufacture sort by, all manu's were listed and if unknown the icon was a ?.

Now, the unknown are not listed, and the list is scrambled into 'chunks', rather than strictly alphabetical based on manu's name.

Let me know what else i can do to help.

Cheers.

Link to comment
Share on other sites

13 hours ago, AccidentalDisassembly said:

Don't have a log with FE debugging enabled, but I do seem to be having some sort of conflict between FE and some other mod. I don't believe this happens on stock (not when I tried it on pure stock, anyway). Several mods in my install are somehow messing up (1.1.1, not all updated, something like that). If it's helpful, here's a log:

Log: https://dl.dropboxusercontent.com/u/59567837/output_log_filtext.txt

(Maybe?) relevant bit:

 

 

I've been trying to troubleshoot the same issue that you're having, and while both of us use a lot of mods, the overlap is small enough (~40 that we both use) that I've been able to brute-force what's causing the problem.

The issue is the interaction of the Karibou cab and JSI.  The JSITransparentPod module has been deprecated (there's now a separate JSIAdvTransparentPod addon by @JPLRepo), and the Karibou cab hasn't changed yet.  Looking at the code, the current JSITransparentPod module will destroy itself (not literally destroy the part, but call Destroy(this) in the partmodule code) as soon as it's loaded, which I imagine is what causes the distress for Filter Extensions (and possibly Connected Living Space, which has been showing similar errors in my logs).

Obviously @RoverDude can fix his parts that have JSITransparentPod to use JSIAdvTransparentPod (simply changing the name does the trick), but maybe @MOARdV can also look into adjusting his "shell module" to be less troublesome for addons which crawl part configuration files?

Link to comment
Share on other sites

23 minutes ago, Kerbas_ad_astra said:

I've been trying to troubleshoot the same issue that you're having, and while both of us use a lot of mods, the overlap is small enough (~40 that we both use) that I've been able to brute-force what's causing the problem.

The issue is the interaction of the Karibou cab and JSI.  The JSITransparentPod module has been deprecated (there's now a separate JSIAdvTransparentPod addon by @JPLRepo), and the Karibou cab hasn't changed yet.  Looking at the code, the current JSITransparentPod module will destroy itself (not literally destroy the part, but call Destroy(this) in the partmodule code) as soon as it's loaded, which I imagine is what causes the distress for Filter Extensions (and possibly Connected Living Space, which has been showing similar errors in my logs).

Obviously @RoverDude can fix his parts that have JSITransparentPod to use JSIAdvTransparentPod (simply changing the name does the trick), but maybe @MOARdV can also look into adjusting his "shell module" to be less troublesome for addons which crawl part configuration files?

The best thing would be for @RoverDude to change his part over. Which I am sure he has on his list of TO-DOs.
You can also submit a PR or wait for @MOARdV or myself to do it. The Destroy in the old dummy part modules that are part of RPM isn't really necessary if it is causing other problems. I put it there to do GC.

Link to comment
Share on other sites

18 minutes ago, JPLRepo said:

The best thing would be for @RoverDude to change his part over. Which I am sure he has on his list of TO-DOs.
You can also submit a PR or wait for @MOARdV or myself to do it. The Destroy in the old dummy part modules that are part of RPM isn't really necessary if it is causing other problems. I put it there to do GC.

Or I can remove the modules.  They're deprecated. The point of leaving them as stubs for a release or so is to provide notice to users that they need to update before I remove the modules entirely.  I won't be releasing a hotfix for this, and I haven't scheduled a release date for RPM v0.26.1 since I've had to make several releases over the last couple of weeks due to the moving target that is KSP 1.1.x, and it's time for me to take a break.  If the Destroy(this) is causing Filter Extensions a problem, I'm sorry about that - it'd be a good idea for FE to trap exceptions in that section of code and recover from them.

Link to comment
Share on other sites

The only parts I have that still use JSITransparentPod are the Karibou cabin and the Otter submarine (KPBS has already updated), but in case there are any others (or people don't know if they have others), here's the patch I use:

@PART[*]:HAS[@MODULE[JSITransparentPod]]
{
	@MODULE[JSITransparentPod]
	{
		@name = JSIAdvTransparentPod
	}
}

 

Edited by Kerbas_ad_astra
Link to comment
Share on other sites

1 hour ago, Kerbas_ad_astra said:

The only parts I have that still use JSITransparentPod are the Karibou cabin and the Otter submarine (KPBS has already updated), but in case there are any others (or people don't know if they have others), here's the patch I use:


@PART[*]:HAS[@MODULE[JSITransparentPod]]
{
	@MODULE[JSITransparentPod]
	{
		@name = JSIAdvTransparentPod
	}
}

 

THANKS.

That patch fixed my FilterExtensions so that it works like it used to.

Cheers and great work.

Link to comment
Share on other sites

2 hours ago, MOARdV said:

 it'd be a good idea for FE to trap exceptions in that section of code and recover from them.

I wasn't aware there was any need to do so until just now, but it's easy enough to add some extra checks.

Link to comment
Share on other sites

8 hours ago, Kerbas_ad_astra said:

I've been trying to troubleshoot the same issue that you're having, and while both of us use a lot of mods, the overlap is small enough (~40 that we both use) that I've been able to brute-force what's causing the problem.

The issue is the interaction of the Karibou cab and JSI.  The JSITransparentPod module has been deprecated (there's now a separate JSIAdvTransparentPod addon by @JPLRepo), and the Karibou cab hasn't changed yet.  Looking at the code, the current JSITransparentPod module will destroy itself (not literally destroy the part, but call Destroy(this) in the partmodule code) as soon as it's loaded, which I imagine is what causes the distress for Filter Extensions (and possibly Connected Living Space, which has been showing similar errors in my logs).

Obviously @RoverDude can fix his parts that have JSITransparentPod to use JSIAdvTransparentPod (simply changing the name does the trick), but maybe @MOARdV can also look into adjusting his "shell module" to be less troublesome for addons which crawl part configuration files?

Thank you! That is awesome, I wouldn't have even known how to begin figuring that out. I was despairing that I'd have to wait a couple of weeks for every single mod to update!

Link to comment
Share on other sites

Ok, I think I fixed both the issue with disappearing bulkhead profiles and this random crash with the self destructing part module (blame stock for that one...). If I could get some verifications...

Note to self, avoid PartModuleList.Contains(string moduleName / int id) like the plague

Edited by Crzyrndm
Link to comment
Share on other sites

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