Jump to content

[1.3.0] Filter Extensions 3.0.4 (Jul 11)


Crzyrndm

Recommended Posts

12 hours ago, Mokmo said:

Question: Is there a category for the radiators in the newer versions ? Seems what i have installed doesn't have any

The replaced/extended stock functional categories have been shelved for the time being since 1.2 added a number of new stock subcategories (basically, it isn't everything in Utility anymore, and it's easier for people when the stock categories play the same), which included a "thermal" tab which from memory is just radiators and heatshields

There doesn't appear to be a dedicated radiators subcategory in any of the extended categories (the green ones). You could quickly add them somewhere using this

@CATEGORY[<I cant decide where they should go...>] // could be in ISRU, Aero, Electrical...
{
	@SUBCATEGORIES
    {
    	list = Radiators
    }
}

SUBCATEGORY
{
	name = Radiators
    icon = stockIcon_thermal
    FILTER
    {
    	CHECK
        {
        	type = moduleName
            value = ModuleActiveRadiator
        }
    }
}

 

Link to comment
Share on other sites

Purely for information: I was clicking through my Resource and Module List on my highly modded install (which is huge) and managed to click something bad which caused an exception. In the end the main and sub categories worked as usual, but the part list doesn't updated anymore. However, fixed by re-entering the vab. But maybe it is interesting/unknown, that here a NRE can be caused?

Spoiler

170116T041909.332 [EXCEPTION] [PartModuleList.Contains] NullReferenceException: Object reference not set to an instance of an object
   at PartModuleList.Contains (Int32 classID)
   at PartModuleList.Contains (System.String className)
   at KSP.UI.Screens.PartCategorizer.<CreateModuleFilters>m__8A9 (.AvailablePart p)
   at EditorPartListFilter`1[AvailablePart].FilterList (System.Collections.Generic.List`1 parts, System.Func`2 filter)
   at EditorPartListFilterList`1[AvailablePart].FilterList (System.Collections.Generic.List`1 list)
   at KSP.UI.Screens.EditorPartList.RefreshPartList ()
   at KSP.UI.Screens.EditorPartList.Refresh ()
   at KSP.UI.Screens.EditorPartList.Refresh (State state)
   at KSP.UI.Screens.PartCategorizer+<UpdateDaemon>c__Iterator129.MoveNext ()

 

Link to comment
Share on other sites

7 hours ago, Crzyrndm said:

If you could establish which module caused the exception to be thrown then I can take a look. Without knowing how to replicate, I can't do anything

OK, I have tested a little bit and was able to find it. It is caused by module "Animate Generic" which for a strange reason is the last and lowest module in the list while the rest of modules is sorted alphabetical. On the top, where the A-'s are, there is no "Animate Generic". If you wanna look into it and it helps I could zip you all the CFGs from gamedata which use ModuleAnimateGeneric, however thery are 230. Or use this CKAN file (+BDB mod) to look into it. But it's a huge amount of mods in this highly modded install. But, as I said, the issue is no problem for me.

Link to comment
Share on other sites

Since upgrading to the latest version of filter extensions (actually installed through KSPI-E, but I verified this by deleting that, checking, and then installing the version from here), no locked parts are visible in the VAB. Is there an option to turn locked parts on and off?

Link to comment
Share on other sites

2 hours ago, TV4Fun said:

Since upgrading to the latest version of filter extensions (actually installed through KSPI-E, but I verified this by deleting that, checking, and then installing the version from here), no locked parts are visible in the VAB. Is there an option to turn locked parts on and off?

Yeah, it's in the career/science/sandox game difficulty settings.

Link to comment
Share on other sites

Getting a weird bug where clicking the Science Parts filter breaks the whole parts list. It just keeps showing whatever the previous selection was and won't update no matter what gets clicked on. Leaving the VAB and going back seems to reset it though. Doesn't seem to be anything obvious in the logs about it though

Link to comment
Share on other sites

  • 3 weeks later...

I'm going to play a career game and use the option where you have to purchase parts after research, before you can use them.   There is an option (pretty sure its a stock option) to hide parts in the editor that have not been purchased.   This works fine with modded parts, but not with the new categories added via this mod. 

Link to comment
Share on other sites

Is there anyway that I can make a category exclusive? Can I make some parts only show in one specific category even when they satisfy the filter for other categories? I grouped all parts from the Hangar mod to one category, but the parts still show up in utility, tank etc. Can I stop the parts from showing up multiple time?

Link to comment
Share on other sites

  • 1 month later...

I'm having some issues with trying to set up or adjust some filters but I'm a little confused about the structure of the FilterExtensions Configs folder.  What is the default folder?  The ones with the numbers seem to duplicate the ones in root of the folder.  I'm wonder which ones get looked at in what order.

 

Edited by Eugene Moreau
Link to comment
Share on other sites

The top level folder is mostly(all?) definitions of subcategories, it won't create anything.
The "Default" folder contains category definitions. These reference subcategory definitions through their SUBCATEGORY node and control what does get created.

// A SUBCATEGORY defn. By itself will do nothing, but can be referenced from categories
SUBCATEGORY
{
	name = Parachutes
	icon = Chutes
	FILTER
	{
		CHECK
		{
			type = moduleName
			value = ModuleParachute, RealChuteModule, RealChuteFAR
		}
	}
}
// A category defn. This is a root element for creation
CATEGORY
{
	name = Landing Parts
	icon = LandingParts
	colour = #FF90F090
	all = true
	
	SUBCATEGORIES
	{
		list = 0, Landing Gear
		list = 1, Landing Legs
		list = 2, Parachutes // Parachutes subcategory will be instanced in this category
		list = 3, Rover Wheels and Tracks
	}
}

The reason for the numbering on the categories is that categories get created in the order they get loaded (It's awkward and should really be fixed...)

Edited by Crzyrndm
Link to comment
Share on other sites

  • 3 weeks later...

I am wondering about an edge case I've encountered...

ModuleManager allows us to create additional parts using the +PART syntax. For example, Extraplanetary Launchpads has the following:

+PART[crewCabin]:AFTER[Launchpad]
{
	@name = ExSurveyStation
	@title = EL Survey Station
	//adds EL functionality here
}

This is fine on its own. But in my experience, FilterExtensions will interpret this part to be in the Squad folder, not the ExtraplanetaryLaunchpads folder. So it will show up in the Squad category rather than the EL category. Is there a way to change this behavior?

In my case, I'd like to duplicate/modify a few of the KIS containers to hold Snacks, but if I do that I'd want them to show up alongside the native Snacks containers rather than in the KIS category. Is this achievable using the +PART MM syntax in conjunction with FE folder checks? Or would I need to copy/modify the whole part cfg to the appropriate folder in GameData to get it to pass through the desired folder check?

Link to comment
Share on other sites

Most likely, this would have to change through MM. MM patches and their effects are not particularly visible to other mods to the point where it's likely I'd have to reload/parse all the MM patches just for FE. If the part is coming up as "squad", then the game is under the impression that part was loaded from the Squad folder.

Link to comment
Share on other sites

8 hours ago, Crzyrndm said:

Most likely, this would have to change through MM

Just for clarification, are you saying that it's already possible to use MM to change the folder path that FE sees for a given part? (I'm not aware of such a feature but it's possible I've missed something in the MM documentation.) Or is it more that MM-created parts are insurmountably difficult to detect via existing FE folder checks?

Thanks for everything related to FilterExtensions, by the way - this mod is pretty much essential for playing KSP with multiple part packs installed.

Link to comment
Share on other sites

The latter. I presume when MM clones a part, it's also just cloning the base directory (hence the issue) and there's not a reasonable indication that I'm aware of that would mark the part as cloned (nvm extracting the patch directory)

Edited by Crzyrndm
Link to comment
Share on other sites

With a new KSP release imminent, I'm kicking back into development gear. FE is first up on the block with a major refactor into what's likely to be a version 3.0 (primary feature: speed). The first part of that refactor is now on Github (KSP pre-release compatible only) and is mostly focused on cleaning up the last couple of years of growth (awkward code tends to accumulate over time, and I've learn't quite a bit in the intervening 2.5 years as well...) in preparation for the shift.

Now is a really good time to be feature requesting, bug reporting, etc. so fire away

Notes on planned speed improvement
You might be wondering how I'm going to get an improvement worth a major version. Well currently, FE runs its checks every time you switch the selected category. Early checks were very lightweight and this never caused any issues. Jump forward to present day, and we've picked up a couple of checks that can really make a noticeable delay in that switch (worst offender being the "field" type, which I've had to play games with to make run at a usable speed, but it's not alone). There's no reason for this to be computed every time in 99% of cases, so the intention is to move it all back to a single point (probably first main menu entry).

tl;dr => lack of foresight (I'll blame that one on lack of experience <.<) leading to bad core design decision.

 

Link to comment
Share on other sites

On 24/01/2017 at 9:35 AM, baldamundo said:

Getting a weird bug where clicking the Science Parts filter breaks the whole parts list. It just keeps showing whatever the previous selection was and won't update no matter what gets clicked on. Leaving the VAB and going back seems to reset it though. Doesn't seem to be anything obvious in the logs about it though

Have come back to this game some months later and I'm still experiencing this bug. Anyone have any idea what could be causing it? Should I just try disabling any mods I have that add science parts (which is a hell of a lot, so any way to narrow things down would be appreciated!)?

Link to comment
Share on other sites

A log would be nice (sometimes the error shows up quite a way before the symptoms), even better if FE debug option was enabled (in the custom game settings menu). If it is caused by FE (not present in stock), I'd be very interested in seeing if it still occurs on the latest development build (KSP pre-release only, so no rush on that), 

Link to comment
Share on other sites

So I didn't get the bug at all on my career game until I unlocked the Scanning Tech node of CTT. It's got the Asteroid Day Telescope, Tarsier Space Tech's telescope, Tantares' antennae, a ProbesPlus upgrade, an Orbital Science drill, and a couple of resource scanners.

When I get a chance I'll try a clean install with just those mods and see if it recurs. The log from that will presumably be easier to work with, 'cause frankly my current install is stupidly over-modded so there'll be a lot else going on in the logs.

Link to comment
Share on other sites

Is there any way for Filter Extension to add more icons to the size icons?

I'm working on an update to a mod which has a Mk2.5 size, the bulkhead profile is mk25.  I have an icon for it, but don't know how to set it up for FE

Thanks

 

Edit - Figured it out

Edited by linuxgurugamer
Link to comment
Share on other sites

If you're talking about the parts I think you are, I added a "size25" icon (which RagingCaucasian used as his bulkheadProfile) some time ago.  That said, it's straightforward to replace, rename, and rearrange icons.

Edited by Kerbas_ad_astra
Link to comment
Share on other sites

11 minutes ago, Kerbas_ad_astra said:

If you're talking about the parts I think you are, I added a "size25" icon (which RagingCaucasian used as his bulkheadProfile) some time ago.  That said, it's straightforward to replace, rename, and rearrange icons.

I am, I found it, and then I saw that there was no license in the OP or download for that mod.  I've PM'd him, hope he replies

Thanks

Link to comment
Share on other sites

Suddenly it stopped working, no more changes inside the filter extensions UI, whatever I clicked at.
The log at the end before exiting from SPC with QuickExit says:

ArgumentNullException: Argument cannot be null.
Parameter name: key
  at System.Collections.Generic.Dictionary`2[System.String,System.Type].get_Item (System.String key) [0x00000] in <filename unknown>:0 
  at FilterExtensions.Utility.PartType.NodeCheck (.AvailablePart part, System.String[] parameters, Equality equality) [0x00000] in <filename unknown>:0 
  at FilterExtensions.ConfigNodes.Check.checkResult (.AvailablePart part, Int32 depth) [0x00000] in <filename unknown>:0 
  at FilterExtensions.ConfigNodes.Filter.filterResult (.AvailablePart part, Int32 depth) [0x00000] in <filename unknown>:0 
  at FilterExtensions.ConfigNodes.customSubCategory.checkFilters (.AvailablePart ap, Int32 depth) [0x00000] in <filename unknown>:0 
  at FilterExtensions.ConfigNodes.customSubCategory.checkTemplate (.AvailablePart ap, Int32 depth) [0x00000] in <filename unknown>:0 
  at FilterExtensions.ConfigNodes.customSubCategory.checkPartFilters (.AvailablePart part, Int32 depth) [0x00000] in <filename unknown>:0 
  at FilterExtensions.ConfigNodes.customSubCategory.<initialise>b__25_0 (.AvailablePart p) [0x00000] in <filename unknown>:0 
  at EditorPartListFilter`1[AvailablePart].FilterList (System.Collections.Generic.List`1 parts, System.Func`2 filter) [0x00000] in <filename unknown>:0 
  at EditorPartListFilterList`1[AvailablePart].FilterList (System.Collections.Generic.List`1 list) [0x00000] in <filename unknown>:0 
  at KSP.UI.Screens.EditorPartList.RefreshPartList () [0x00000] in <filename unknown>:0 
  at KSP.UI.Screens.EditorPartList.Refresh () [0x00000] in <filename unknown>:0 
  at KSP.UI.Screens.EditorPartList.Refresh (State state) [0x00000] in <filename unknown>:0 
  at KSP.UI.Screens.PartCategorizer+<UpdateDaemon>c__Iterator129.MoveNext () [0x00000] in <filename unknown>:0 
  at UnityEngine.SetupCoroutine.InvokeMoveNext (IEnumerator enumerator, IntPtr returnValueAddress) [0x00000] in <filename unknown>:0 

This was before upgrading KSPI from 1.13.4 to 1.13.5, but I was only in VAB using the bugged 1.13.4 so I don't think it was the reason, but I think I should mention it.

The full log:
https://www.dropbox.com/s/fopnbhqkh6rg71k/2017-05-09-2 KSP.log.7z?dl=1

Edited by Gordon Dry
Link to comment
Share on other sites

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