Jump to content

[1.12.x] Filter Extensions (No localization)


linuxgurugamer

Recommended Posts

6 hours ago, linuxgurugamer said:

Appreciated, I'll take a look at it later

I had to redo Stock Station Parts since their names changed. Here is my correction:

	
CATEGORY:NEEDS[StationPartsExpansionRedux]
{
    name = StationPartsExpansionRedux
    icon = StationPartsExpansion
    colour = #FFF0F0F0
    all = true
    
    FILTER
    {
        CHECK
        {
            type = folder
            value = StationPartsExpansionRedux
        }
    }
    
    SUBCATEGORIES
    {
        list = 0,Pods
        list = 1,Fuel Tanks
        list = 2,Engines
        list = 3,Command and Control
        list = 4,Structural
        list = 5,Aerodynamics
        list = 6,Utility
        list = 7,Science
        list = 8,Undefined
    }
}
	

Link to comment
Share on other sites

A little tweak:
GameData\000_FilterExtensions_Configs\SubCategories_Science.cfg

SUBCATEGORY:NEEDS[!RemoteTech]
{
	name = Data Transmitter
	icon = DataTransmitter
	FILTER
	{
		CHECK
		{
			type = moduleName
			value = ModuleLimitedDataTransmitter, ModuleDataTransmitter
		}
	}
}
SUBCATEGORY:NEEDS[!RemoteTech]
{
	name = Data Transmitter (Internal)
	icon = DataTransmitter
	FILTER
	{
		CHECK
		{
			type = moduleName
			value = ModuleLimitedDataTransmitter, ModuleDataTransmitter
		}
		CHECK
		{
			type = field
			value = ModuleDataTransmitter,antennaType,INTERNAL
//			invert = true
		}
	}
}
SUBCATEGORY:NEEDS[!RemoteTech]
{
	name = Data Transmitter (Direct)
	icon = DataTransmitter
	FILTER
	{
		CHECK
		{
			type = moduleName
			value = ModuleDataTransmitter
		}
		CHECK
		{
			type = field
			value = ModuleDataTransmitter,antennaType,DIRECT
		}
	}	
}
SUBCATEGORY:NEEDS[!RemoteTech]
{
	name = Data Transmitter (Relay)
	icon = DataTransmitter
	FILTER
	{
		CHECK
		{
			type = moduleName
			value = ModuleDataTransmitter
		}
		CHECK
		{
			type = field
			value = ModuleDataTransmitter,antennaType,RELAY
		}
	}	
}
SUBCATEGORY:NEEDS[RemoteTech]
{
	name = RemoteTech
	icon = RemoteTech
	FILTER
	{
		CHECK
		{
			type = moduleName
			value = ModuleRTAntennaPassive, ModuleRTAntenna, ModuleSPUPassive, ModuleSPU
		}
	}
}
SUBCATEGORY:NEEDS[RemoteTech]
{
	name = RemoteTech (PASSIVE)
	icon = RemoteTech
	FILTER
	{
		CHECK
		{
			type = moduleName
			value = ModuleRTAntennaPassive
		}
		CHECK
		{
			type = OmniRange
			value = 0
			equality = GreaterThan
//			invert = true
		}
	}
}
SUBCATEGORY:NEEDS[RemoteTech]
{
	name = RemoteTech (OMNI)
	icon = RemoteTech
	FILTER
	{
		CHECK
		{
			type = moduleName
			value = ModuleRTAntenna
		}
		CHECK
		{
			type = Mode1OmniRange
			value = 0
			equality = GreaterThan
		}
	}	
}
SUBCATEGORY:NEEDS[RemoteTech]
{
	name = RemoteTech (DISH)
	icon = RemoteTech
	FILTER
	{
		CHECK
		{
			type = moduleName
			value = ModuleRTAntenna
		}
		CHECK
		{
			type = Mode1DishRange
			value = 0
			equality = GreaterThan
		}
	}	
}
SUBCATEGORY
{
	name = Experiments
	icon = Experiment
	FILTER
	{
		CHECK
		{
			type = moduleName
			value = ModuleScienceExperiment, DMModuleScienceAnimate, DMSolarCollector, DMSoilMoisture, DMAnomalyScanner, DMBioDrill, DMRoverGooMat, DMXRayDiffract, StationExperiment, SampleAnalyzer, ModuleCostlyExperiment, PhaseExperimentCore, KEESExperiment, InterstellarTelescope
		}
		CHECK
		{
			type = field
			value = ModuleScienceExperiment,experimentID,probeReport
			invert = true
		}
		CHECK
		{
			type = field
			value = ModuleScienceExperiment,experimentID,surfaceSampleProbes
			invert = true
		}
		CHECK
		{
			type = field
			value = ModuleScienceExperiment,experimentID,crewReport
			invert = true
		}
	}
}
SUBCATEGORY
{
	name = Labs
	icon = Lab
	FILTER
	{
		CHECK
		{
			type = moduleName
			value = ModuleScienceLab, ResearchFacility, EquipmentRackModule, PhysicsMaterialsLab, ExposureLab, ScienceModule
		}
	}
}

SUBCATEGORY
{
	name = Scanners
	icon = SCANsat
	FILTER
	{
		CHECK
		{
			type = moduleName
			value = SCANsat, ModuleResourceScanner, ModuleOrbitalScanner
		}
		CHECK
		{
			type = moduleName
			value = ModuleCommand
			invert = true
		}
		CHECK
		{
			type = crew
			value = 0
		}
	}
}
SUBCATEGORY
{
	name = Sensors
	icon = Sensor
	FILTER
	{
		CHECK
		{
			type = crew
			value = 0
		}
		CHECK
		{
			type = moduleName
			value = ModuleEnviroSensor, DMEnviroSensor
		}
	}
}

 

Link to comment
Share on other sites

Before you fix the mismatch

one thing can be reverted:
GameData\000_FilterExtensions_Configs\Default\Mod_SCANsat.cfg

CATEGORY:NEEDS[SCANsat]
{
	name = SCANsat
	icon = SCANsat
	colour = #FFF0F0F0
	all = true
	
	FILTER
	{
		CHECK
		{
			type = folder
			value = SCANsat
		}
	}
	
	SUBCATEGORIES
	{
		list = 0,Science
	}
}

 

Link to comment
Share on other sites

There are still some quirks, I have to test another fix:
GameData\000_FilterExtensions_Configs\Default\08_Science.cfg

CATEGORY:NEEDS[!RemoteTech]
{
	name = Science Parts
	icon = ScienceParts
	colour = #FF90F090
	all = true
	
	SUBCATEGORIES
	{
		list = 0, Data Transmitter
		list = 1, Data Transmitter (Internal)
		list = 2, Data Transmitter (Direct)
		list = 3, Data Transmitter (Relay)
		list = 4, Experiments
		list = 5, Sensors
		list = 6, Labs
		list = 7, Scanners
	}
}

CATEGORY:NEEDS[RemoteTech]
{
	name = Science Parts
	icon = ScienceParts
	colour = #FF90F090
	all = true
	
	SUBCATEGORIES
	{
		list = 0, RemoteTech
		list = 1, RemoteTech (PASSIVE)
		list = 2, RemoteTech (OMNI)
		list = 3, RemoteTech (DISH)
		list = 4, Experiments
		list = 5, Sensors
		list = 6, Labs
		list = 7, Scanners
	}
}

Inside the FilterExtensions.dll I miss a check for antenna type / RT antenna type, so I try to get it done anyhow.

Link to comment
Share on other sites

I could need some help, the RT specific filtering is a beast, it's not working as intended.

Next test:
GameData\000_FilterExtensions_Configs\SubCategories_Science.cfg

SUBCATEGORY:NEEDS[!RemoteTech]
{
	name = Data Transmitter
	icon = DataTransmitter
	FILTER
	{
		CHECK
		{
			type = moduleName
			value = ModuleLimitedDataTransmitter, ModuleDataTransmitter
		}
	}
}
SUBCATEGORY:NEEDS[!RemoteTech]
{
	name = Data Transmitter (Internal)
	icon = DataTransmitter
	FILTER
	{
		CHECK
		{
			type = moduleName
			value = ModuleLimitedDataTransmitter, ModuleDataTransmitter
		}
		CHECK
		{
			type = field
			value = ModuleDataTransmitter,antennaType,INTERNAL
//			invert = true
		}
	}
}
SUBCATEGORY:NEEDS[!RemoteTech]
{
	name = Data Transmitter (Direct)
	icon = DataTransmitter
	FILTER
	{
		CHECK
		{
			type = moduleName
			value = ModuleDataTransmitter
		}
		CHECK
		{
			type = field
			value = ModuleDataTransmitter,antennaType,DIRECT
		}
	}	
}
SUBCATEGORY:NEEDS[!RemoteTech]
{
	name = Data Transmitter (Relay)
	icon = DataTransmitter
	FILTER
	{
		CHECK
		{
			type = moduleName
			value = ModuleDataTransmitter
		}
		CHECK
		{
			type = field
			value = ModuleDataTransmitter,antennaType,RELAY
		}
	}	
}
SUBCATEGORY:NEEDS[RemoteTech]
{
	name = RemoteTech
	icon = RemoteTech
	FILTER
	{
		CHECK
		{
			type = moduleName
			value = ModuleRTAntennaPassive, ModuleRTAntenna
		}
	}
}
SUBCATEGORY:NEEDS[RemoteTech]
{
	name = RemoteTech (PASSIVE)
	icon = RemoteTech
	FILTER
	{
		CHECK
		{
			type = moduleName
			value = ModuleRTAntennaPassive
		}
	}
}
SUBCATEGORY:NEEDS[RemoteTech]
{
	name = RemoteTech (OMNI)
	icon = RemoteTech
	FILTER
	{
		CHECK
		{
			type = moduleName
			value = ModuleRTAntenna
		}
		CHECK
		{
			type = field
			value = ModuleRTAntenna,Mode1OmniRange
		}
	}	
}
SUBCATEGORY:NEEDS[RemoteTech]
{
	name = RemoteTech (DISH)
	icon = RemoteTech
	FILTER
	{
		CHECK
		{
			type = moduleName
			value = ModuleRTAntenna
		}
		CHECK
		{
			type = field
			value = ModuleRTAntenna,Mode1DishRange
		}
	}	
}
SUBCATEGORY
{
	name = Experiments
	icon = Experiment
	FILTER
	{
		CHECK
		{
			type = moduleName
			value = ModuleScienceExperiment, DMModuleScienceAnimate, DMSolarCollector, DMSoilMoisture, DMAnomalyScanner, DMBioDrill, DMRoverGooMat, DMXRayDiffract, StationExperiment, SampleAnalyzer, ModuleCostlyExperiment, PhaseExperimentCore, KEESExperiment, InterstellarTelescope
		}
		CHECK
		{
			type = field
			value = ModuleScienceExperiment,experimentID,probeReport
			invert = true
		}
		CHECK
		{
			type = field
			value = ModuleScienceExperiment,experimentID,surfaceSampleProbes
			invert = true
		}
		CHECK
		{
			type = field
			value = ModuleScienceExperiment,experimentID,crewReport
			invert = true
		}
	}
}
SUBCATEGORY
{
	name = Labs
	icon = Lab
	FILTER
	{
		CHECK
		{
			type = moduleName
			value = ModuleScienceLab, ResearchFacility, EquipmentRackModule, PhysicsMaterialsLab, ExposureLab, ScienceModule
		}
	}
}

SUBCATEGORY
{
	name = Scanners
	icon = SCANsat
	FILTER
	{
		CHECK
		{
			type = moduleName
			value = SCANsat, ModuleResourceScanner, ModuleOrbitalScanner
		}
		CHECK
		{
			type = moduleName
			value = ModuleCommand
			invert = true
		}
		CHECK
		{
			type = crew
			value = 0
		}
	}
}
SUBCATEGORY
{
	name = Sensors
	icon = Sensor
	FILTER
	{
		CHECK
		{
			type = crew
			value = 0
		}
		CHECK
		{
			type = moduleName
			value = ModuleEnviroSensor, DMEnviroSensor
		}
	}
} 

 

Link to comment
Share on other sites

Hi @linuxgurugamer,

 

I noticed if you have installed mod like Cryogenic Tanks and its deps Fuel tank sub category is kinda empty. All cause @Nertea includes B9PartSwitch MM patch for most stock fuel tanks.

I made some changes to include tanks with B9Switch and i think i should work for any mod using it. Im sure you can double check :)

Updated SubCategories_Fuel.cfg:

SUBCATEGORY
{
	name = LFO Mk 2 [1.5 x 2.5 m]
	icon = cs_mk2
	
	FILTER
	{
		CHECK
		{
			type = profile
			value = mk2
		}
		CHECK
        {
            type = category
            value = Fuel Tanks
        }
        
        CHECK
        {
            type = resource
            value = LiquidFuel
        }
        CHECK
        {
            type = resource
            value = Oxidizer
        }
	}
	FILTER
	{
		CHECK
		{
			type = profile
			value = mk2
		}
		CHECK
        {
            type = category
            value = Fuel Tanks
        }
	
		CHECK
		{
			type = moduleName
			value = ModuleB9PartSwitch
		}
	}
}

SUBCATEGORY
{
	name = LFO Mk 3 [3.8 x 3.3 m]
	icon = cs_mk3
	
	FILTER
	{
		CHECK
		{
			type = profile
			value = mk3
		}		
		CHECK
        {
            type = category
            value = Fuel Tanks
        }
        
        CHECK
        {
            type = resource
            value = LiquidFuel
        }
        CHECK
        {
            type = resource
            value = Oxidizer
        }
	}
	FILTER
	{
		CHECK
		{
			type = profile
			value = mk3
		}
		CHECK
        {
            type = category
            value = Fuel Tanks
        }
	
		CHECK
		{
			type = moduleName
			value = ModuleB9PartSwitch
		}
	}
}


SUBCATEGORY
{
	name = LFO Size 00 [0.35 m]
	icon = cs_size00
	
	FILTER
	{
		CHECK
		{
			type = profile
			value = size00
		}
				CHECK
        {
            type = category
            value = Fuel Tanks
        }
        
        CHECK
        {
            type = resource
            value = LiquidFuel
        }
        CHECK
        {
            type = resource
            value = Oxidizer
        }
	}
	FILTER
	{
		CHECK
		{
			type = profile
			value = size00
		}
		CHECK
        {
            type = category
            value = Fuel Tanks
        }
	
		CHECK
		{
			type = moduleName
			value = ModuleB9PartSwitch
		}
	}
}
SUBCATEGORY
{
	name = LFO Size 0 [0.625 m]
	icon = cs_size0
	
	FILTER
	{
		CHECK
		{
			type = profile
			value = size0
		}
				CHECK
        {
            type = category
            value = Fuel Tanks
        }
        
        CHECK
        {
            type = resource
            value = LiquidFuel
        }
        CHECK
        {
            type = resource
            value = Oxidizer
        }
	}
	FILTER
	{
		CHECK
		{
			type = profile
			value = size0
		}
		CHECK
        {
            type = category
            value = Fuel Tanks
        }
	
		CHECK
		{
			type = moduleName
			value = ModuleB9PartSwitch
		}
	}
}

SUBCATEGORY
{
	name = LFO Size 1 [1.25 m]
	icon = cs_size1
	
	FILTER
	{
		CHECK
		{
			type = profile
			value = size1
		}
				CHECK
        {
            type = category
            value = Fuel Tanks
        }
        
        CHECK
        {
            type = resource
            value = LiquidFuel
        }
        CHECK
        {
            type = resource
            value = Oxidizer
        }
	}
	FILTER
	{
		CHECK
		{
			type = profile
			value = size1
		}
		CHECK
        {
            type = category
            value = Fuel Tanks
        }
	
		CHECK
		{
			type = moduleName
			value = ModuleB9PartSwitch
		}
	}
}

SUBCATEGORY
{
	name = LFO Size 1.5 [1.875 m]
	icon = cs_size1p5
	
	FILTER
	{
		CHECK
		{
			type = profile
			value = size1p5
		}
				CHECK
        {
            type = category
            value = Fuel Tanks
        }
        
        CHECK
        {
            type = resource
            value = LiquidFuel
        }
        CHECK
        {
            type = resource
            value = Oxidizer
        }
	}
	FILTER
	{
		CHECK
		{
			type = profile
			value = size1p5
		}
		CHECK
        {
            type = category
            value = Fuel Tanks
        }
	
		CHECK
		{
			type = moduleName
			value = ModuleB9PartSwitch
		}
	}
}
SUBCATEGORY
{
	name = LFO Size 2 [2.5 m]
	icon = cs_size2
	
	FILTER
	{
		CHECK
		{
			type = profile
			value = size2, i, optI
		}
				CHECK
        {
            type = category
            value = Fuel Tanks
        }
        
        CHECK
        {
            type = resource
            value = LiquidFuel
        }
        CHECK
        {
            type = resource
            value = Oxidizer
        }
	}
	FILTER
	{
		CHECK
		{
			type = profile
			value = size2, i, optI
		}
		CHECK
        {
            type = category
            value = Fuel Tanks
        }
	
		CHECK
		{
			type = moduleName
			value = ModuleB9PartSwitch
		}
	}
}

SUBCATEGORY
{
	name = LFO Size 3 [3.75 m]
	icon = cs_size3
	
	FILTER
	{
		CHECK
		{
			type = profile
			value = size3
		}
				CHECK
        {
            type = category
            value = Fuel Tanks
        }
        
        CHECK
        {
            type = resource
            value = LiquidFuel
        }
        CHECK
        {
            type = resource
            value = Oxidizer
        }
	}
	FILTER
	{
		CHECK
		{
			type = profile
			value = size3
		}
		CHECK
        {
            type = category
            value = Fuel Tanks
        }
	
		CHECK
		{
			type = moduleName
			value = ModuleB9PartSwitch
		}
	}
}

SUBCATEGORY
{
	name = LFO Size 4 [5 m]
	icon = cs_size4
	
	FILTER
	{
		CHECK
		{
			type = profile
			value = size4
		}
				CHECK
        {
            type = category
            value = Fuel Tanks
        }
        
        CHECK
        {
            type = resource
            value = LiquidFuel
        }
        CHECK
        {
            type = resource
            value = Oxidizer
        }
	}
	FILTER
	{
		CHECK
		{
			type = profile
			value = size4
		}
		CHECK
        {
            type = category
            value = Fuel Tanks
        }
	
		CHECK
		{
			type = moduleName
			value = ModuleB9PartSwitch
		}
	}
}
SUBCATEGORY
{
	name = LFO Size 5+ [7.5 m+]
	icon = cs_size5
	
	FILTER
	{
		CHECK
		{
			type = profile
			value = size5,sixe6
		}
				CHECK
        {
            type = category
            value = Fuel Tanks
        }
        
        CHECK
        {
            type = resource
            value = LiquidFuel
        }
        CHECK
        {
            type = resource
            value = Oxidizer
        }
	}
	FILTER
	{
		CHECK
		{
			type = profile
			value = size5,sixe6
		}
		CHECK
        {
            type = category
            value = Fuel Tanks
        }
	
		CHECK
		{
			type = moduleName
			value = ModuleB9PartSwitch
		}
	}
}

SUBCATEGORY
{
	name = Radial Tank
	icon = cs_surface
	
	FILTER
	{
		CHECK
		{
			type = profile
			value = srf
			contains = false // part has a value not in the list
			invert = true // block part if above conditions are met
		}
		CHECK
        {
            type = resource
            value = LiquidFuel
        }
        CHECK
        {
            type = resource
            value = Oxidizer
        }
	}
	FILTER
	{
		CHECK
		{
			type = profile
			value = srf
			contains = false // part has a value not in the list
			invert = true // block part if above conditions are met
		}
		CHECK
        {
            type = category
            value = Fuel Tanks
        }
	
		CHECK
		{
			type = moduleName
			value = ModuleB9PartSwitch
		}
	}
}
SUBCATEGORY
{
    name = Liquid Fuel Tank
    icon = R&D_node_icon_fuelsystems

    FILTER
    {
        CHECK
        {
            type = category
            value = Fuel Tanks
        }
        CHECK
        {
            type = resource
            value = LiquidFuel
        }
        CHECK
        {
            type = resource
            value = Oxidizer
            invert = true
        }
    }
}


SUBCATEGORY
{
    name = Oxidizer Tank
    icon = fuels_oxidizer

    FILTER
    {
        CHECK
        {
            type = category
            value = Fuel Tanks
        }
        CHECK
        {
            type = resource
            value = LiquidFuel
            invert = true
        }
        CHECK
        {
            type = resource
            value = Oxidizer
        }
    }
}


SUBCATEGORY
{
    name = Monopropellant Tank
    icon = fuels_monopropellant

    FILTER
    {
        CHECK
        {
            type = category
            value = Fuel Tanks
        }
        CHECK
        {
            type = resource
            value = MonoPropellant
        }
    }
}




SUBCATEGORY
{
    name = Xenon Gas Tank
    icon = fuels_xenongas

    FILTER
    {
        CHECK
        {
            type = category
            value = Fuel Tanks
        }
        CHECK
        {
            type = resource
            value = XenonGas
        }
    }
}    

Changes i made comapred to your lattest release:

$ diff -u /cygdrive/d/Games/KSP/KSP\ Test/GameData/000_FilterExtensions_Configs/SubCategories_Fuel.cfg SubCategories_Fuel.cfg
--- "/cygdrive/d/Games/KSP/KSP Test/GameData/000_FilterExtensions_Configs/SubCategories_Fuel.cfg"       2018-09-22 16:12:27.643074000 +0300
+++ SubCategories_Fuel.cfg      2018-09-22 16:06:20.706086400 +0300
@@ -27,6 +27,25 @@
             value = Oxidizer
         }
        }
+       FILTER
+       {
+               CHECK
+               {
+                       type = profile
+                       value = mk2
+               }
+               CHECK
+        {
+            type = category
+            value = Fuel Tanks
+        }
+
+               CHECK
+               {
+                       type = moduleName
+                       value = ModuleB9PartSwitch
+               }
+       }
 }

 SUBCATEGORY
@@ -58,6 +77,25 @@
             value = Oxidizer
         }
        }
+       FILTER
+       {
+               CHECK
+               {
+                       type = profile
+                       value = mk3
+               }
+               CHECK
+        {
+            type = category
+            value = Fuel Tanks
+        }
+
+               CHECK
+               {
+                       type = moduleName
+                       value = ModuleB9PartSwitch
+               }
+       }
 }


@@ -90,6 +128,25 @@
             value = Oxidizer
         }
        }
+       FILTER
+       {
+               CHECK
+               {
+                       type = profile
+                       value = size00
+               }
+               CHECK
+        {
+            type = category
+            value = Fuel Tanks
+        }
+
+               CHECK
+               {
+                       type = moduleName
+                       value = ModuleB9PartSwitch
+               }
+       }
 }
 SUBCATEGORY
 {
@@ -120,6 +177,25 @@
             value = Oxidizer
         }
        }
+       FILTER
+       {
+               CHECK
+               {
+                       type = profile
+                       value = size0
+               }
+               CHECK
+        {
+            type = category
+            value = Fuel Tanks
+        }
+
+               CHECK
+               {
+                       type = moduleName
+                       value = ModuleB9PartSwitch
+               }
+       }
 }

 SUBCATEGORY
@@ -151,6 +227,25 @@
             value = Oxidizer
         }
        }
+       FILTER
+       {
+               CHECK
+               {
+                       type = profile
+                       value = size1
+               }
+               CHECK
+        {
+            type = category
+            value = Fuel Tanks
+        }
+
+               CHECK
+               {
+                       type = moduleName
+                       value = ModuleB9PartSwitch
+               }
+       }
 }

 SUBCATEGORY
@@ -182,6 +277,25 @@
             value = Oxidizer
         }
        }
+       FILTER
+       {
+               CHECK
+               {
+                       type = profile
+                       value = size1p5
+               }
+               CHECK
+        {
+            type = category
+            value = Fuel Tanks
+        }
+
+               CHECK
+               {
+                       type = moduleName
+                       value = ModuleB9PartSwitch
+               }
+       }
 }
 SUBCATEGORY
 {
@@ -212,6 +326,25 @@
             value = Oxidizer
         }
        }
+       FILTER
+       {
+               CHECK
+               {
+                       type = profile
+                       value = size2, i, optI
+               }
+               CHECK
+        {
+            type = category
+            value = Fuel Tanks
+        }
+
+               CHECK
+               {
+                       type = moduleName
+                       value = ModuleB9PartSwitch
+               }
+       }
 }

 SUBCATEGORY
@@ -243,6 +376,25 @@
             value = Oxidizer
         }
        }
+       FILTER
+       {
+               CHECK
+               {
+                       type = profile
+                       value = size3
+               }
+               CHECK
+        {
+            type = category
+            value = Fuel Tanks
+        }
+
+               CHECK
+               {
+                       type = moduleName
+                       value = ModuleB9PartSwitch
+               }
+       }
 }

 SUBCATEGORY
@@ -274,6 +426,25 @@
             value = Oxidizer
         }
        }
+       FILTER
+       {
+               CHECK
+               {
+                       type = profile
+                       value = size4
+               }
+               CHECK
+        {
+            type = category
+            value = Fuel Tanks
+        }
+
+               CHECK
+               {
+                       type = moduleName
+                       value = ModuleB9PartSwitch
+               }
+       }
 }
 SUBCATEGORY
 {
@@ -304,6 +475,25 @@
             value = Oxidizer
         }
        }
+       FILTER
+       {
+               CHECK
+               {
+                       type = profile
+                       value = size5,sixe6
+               }
+               CHECK
+        {
+            type = category
+            value = Fuel Tanks
+        }
+
+               CHECK
+               {
+                       type = moduleName
+                       value = ModuleB9PartSwitch
+               }
+       }
 }

 SUBCATEGORY
@@ -331,6 +521,27 @@
             value = Oxidizer
         }
        }
+       FILTER
+       {
+               CHECK
+               {
+                       type = profile
+                       value = srf
+                       contains = false // part has a value not in the list
+                       invert = true // block part if above conditions are met
+               }
+               CHECK
+        {
+            type = category
+            value = Fuel Tanks
+        }
+
+               CHECK
+               {
+                       type = moduleName
+                       value = ModuleB9PartSwitch
+               }
+       }
 }
 SUBCATEGORY
 {

 

Link to comment
Share on other sites

On 9/14/2018 at 1:39 AM, therealcrow999 said:

I had to redo Stock Station Parts since their names changed. Here is my correction:

 


	
CATEGORY:NEEDS[StationPartsExpansionRedux]
{
    name = StationPartsExpansionRedux
    icon = StationPartsExpansion
    colour = #FFF0F0F0
    all = true
    
    FILTER
    {
        CHECK
        {
            type = folder
            value = StationPartsExpansionRedux
        }
    }
    
    SUBCATEGORIES
    {
        list = 0,Pods
        list = 1,Fuel Tanks
        list = 2,Engines
        list = 3,Command and Control
        list = 4,Structural
        list = 5,Aerodynamics
        list = 6,Utility
        list = 7,Science
        list = 8,Undefined
    }
}
	

 

 

This filter is missing some parts. If you do search on latest Stockalike Station Parts Redux part configs you will get this categories:

/cygdrive/c/Games/WBI/GameData/StationPartsExpansionRedux
$ find . -type f -name "*.cfg" -exec grep category {} \; | grep -v subcategory | sort | uniq
        category = Coupling
        category = Ground
        category = none
        category = Payload
        category = Payload
        category = Pods
        category = Pods
        category = Science
        category = Science
        category = Structural
        category = Structural
        category = Utility
        category = Utility

(Ignore  duplicate, probably different whitespaces makes then as not unique)

This categories should show all parts:

    SUBCATEGORIES
    {
        list = 0,Pods
        list = 1,Structural
        list = 2,Coupling
        list = 3,Payload
        list = 4,Ground
        list = 5,Science
        list = 6,Utility
        list = 7,Undefined
    }

 

Link to comment
Share on other sites

1 hour ago, banditsan said:
 

This filter is missing some parts. If you do search on latest Stockalike Station Parts Redux part configs you will get this categories:


/cygdrive/c/Games/WBI/GameData/StationPartsExpansionRedux
$ find . -type f -name "*.cfg" -exec grep category {} \; | grep -v subcategory | sort | uniq
        category = Coupling
        category = Ground
        category = none
        category = Payload
        category = Payload
        category = Pods
        category = Pods
        category = Science
        category = Science
        category = Structural
        category = Structural
        category = Utility
        category = Utility

(Ignore  duplicate, probably different whitespaces makes then as not unique)

This categories should show all parts:


    SUBCATEGORIES
    {
        list = 0,Pods
        list = 1,Structural
        list = 2,Coupling
        list = 3,Payload
        list = 4,Ground
        list = 5,Science
        list = 6,Utility
        list = 7,Undefined
    }

 

Thanks for update, like I said mine was a very old code. Maybe 3 years old, lol. I honestly don't use FilterExtensions anymore, I like and prefer, Janitors Closet. JC allows me to turn off parts from mods, quick and that's what I really wanted to for a long time.

Link to comment
Share on other sites

I really need an answer if the problem is only the lack of filtering syntax commands to properly identify RemoteTech parts - or if it is necessary to add some code to the dll for the same reason.

If I revert anything RemoteTech related to a previous-week version, nothing is shown (because stock antennas are patched away) - now little is shown, and that is wrong.

Link to comment
Share on other sites

7 minutes ago, Gordon Dry said:

I really need an answer if the problem is only the lack of filtering syntax commands to properly identify RemoteTech parts - or if it is necessary to add some code to the dll for the same reason.

If I revert anything RemoteTech related to a previous-week version, nothing is shown (because stock antennas are patched away) - now little is shown, and that is wrong.

What are you trying to achieve, sort antennas by types?

Link to comment
Share on other sites

3 hours ago, Gordon Dry said:

I really need an answer if the problem is only the lack of filtering syntax commands to properly identify RemoteTech parts - or if it is necessary to add some code to the dll for the same reason.

If I revert anything RemoteTech related to a previous-week version, nothing is shown (because stock antennas are patched away) - now little is shown, and that is wrong.

Might need some code.  I dont play with RT, but if I get some time this week, Ill load it up and see what is going on

Link to comment
Share on other sites

Status update (some weirdness, but perhaps also some hints):

I updated the configs to these

GameData\000_FilterExtensions_Configs\SubCategories_Science.cfg

Spoiler

SUBCATEGORY:NEEDS[!RemoteTech]
{
	name = Data Transmitter
	icon = DataTransmitter
	FILTER
	{
		CHECK
		{
			type = moduleName
			value = ModuleLimitedDataTransmitter, ModuleDataTransmitter
		}
	}
}
SUBCATEGORY:NEEDS[!RemoteTech]
{
	name = Data Transmitter (Direct)
	icon = DataTransmitter
	FILTER
	{
		CHECK
		{
			type = moduleName
			value = ModuleDataTransmitter
		}
		CHECK
		{
			type = field
			value = ModuleDataTransmitter,antennaType,DIRECT
		}
	}	
}
SUBCATEGORY:NEEDS[!RemoteTech]
{
	name = Data Transmitter (Relay)
	icon = DataTransmitter
	FILTER
	{
		CHECK
		{
			type = moduleName
			value = ModuleDataTransmitter
		}
		CHECK
		{
			type = field
			value = ModuleDataTransmitter,antennaType,RELAY
		}
	}	
}
SUBCATEGORY:NEEDS[RemoteTech]
{
	name = RemoteTech
	icon = RemoteTech
	FILTER
	{
		CHECK
		{
			type = moduleName
			value = ModuleRTAntennaPassive, ModuleRTAntenna
		}
	}
}
SUBCATEGORY:NEEDS[RemoteTech]
{
	name = RemoteTech (OMNI)
	icon = RemoteTech
	FILTER
	{
		CHECK
		{
			type = moduleName
			value = ModuleRTAntenna
		}
		CHECK
		{
			type = field
			value = ModuleRTAntenna,Mode1OmniRange,0
			equality = GreaterThan 
		}
	}	
}
SUBCATEGORY:NEEDS[RemoteTech]
{
	name = RemoteTech (DISH)
	icon = RemoteTech
	FILTER
	{
		CHECK
		{
			type = moduleName
			value = ModuleRTAntenna
		}
		CHECK
		{
			type = field
			value = ModuleRTAntenna,Mode1DishRange,0
			equality = GreaterThan 
		}
	}	
}
SUBCATEGORY
{
	name = Experiments
	icon = Experiment
	FILTER
	{
		CHECK
		{
			type = moduleName
			value = ModuleScienceExperiment, DMModuleScienceAnimate, DMSolarCollector, DMSoilMoisture, DMAnomalyScanner, DMBioDrill, DMRoverGooMat, DMXRayDiffract, StationExperiment, SampleAnalyzer, ModuleCostlyExperiment, PhaseExperimentCore, KEESExperiment, InterstellarTelescope
		}
		CHECK
		{
			type = field
			value = ModuleScienceExperiment,experimentID,probeReport
			invert = true
		}
		CHECK
		{
			type = field
			value = ModuleScienceExperiment,experimentID,surfaceSampleProbes
			invert = true
		}
		CHECK
		{
			type = field
			value = ModuleScienceExperiment,experimentID,crewReport
			invert = true
		}
	}
}
SUBCATEGORY
{
	name = Labs
	icon = Lab
	FILTER
	{
		CHECK
		{
			type = moduleName
			value = ModuleScienceLab, ResearchFacility, EquipmentRackModule, PhysicsMaterialsLab, ExposureLab, ScienceModule
		}
	}
}

SUBCATEGORY
{
	name = Scanners
	icon = SCANsat
	FILTER
	{
		CHECK
		{
			type = moduleName
			value = SCANsat, ModuleResourceScanner, ModuleOrbitalScanner
		}
		CHECK
		{
			type = moduleName
			value = ModuleCommand
			invert = true
		}
		CHECK
		{
			type = crew
			value = 0
		}
	}
}
SUBCATEGORY
{
	name = Sensors
	icon = Sensor
	FILTER
	{
		CHECK
		{
			type = crew
			value = 0
		}
		CHECK
		{
			type = moduleName
			value = ModuleEnviroSensor, DMEnviroSensor
		}
	}
}

 


GameData\000_FilterExtensions_Configs\Default\08_Science.cfg

Spoiler

CATEGORY:NEEDS[!RemoteTech]
{
	name = Science Parts
	icon = ScienceParts
	colour = #FF90F090
	all = true
	
	SUBCATEGORIES
	{
		list = 0, Data Transmitter
		list = 1, Data Transmitter (Direct)
		list = 2, Data Transmitter (Relay)
		list = 3, Experiments
		list = 4, Sensors
		list = 5, Labs
		list = 6, Scanners
	}
}

CATEGORY:NEEDS[RemoteTech]
{
	name = Science Parts
	icon = ScienceParts
	colour = #FF90F090
	all = true
	
	SUBCATEGORIES
	{
		list = 0, RemoteTech
		list = 1, RemoteTech (OMNI)
		list = 2, RemoteTech (DISH)
		list = 3, Experiments
		list = 4, Sensors
		list = 5, Labs
		list = 6, Scanners
	}
}

 


GameData\000_FilterExtensions_Configs\Default\Mod_RemoteTech.cfg

Spoiler

CATEGORY:NEEDS[RemoteTech]
{
    name = RemoteTech
    icon = RemoteTech
    colour = #FFF0F0F0
    all = true
    
    FILTER
    {
        CHECK
        {
            type = folder
            value = RemoteTech
        }
    }
    
    SUBCATEGORIES
    {
        list = 0,RemoteTech
        list = 1,RemoteTech (OMNI)
        list = 2,RemoteTech (DISH)
        list = 3,Undefined
    }
}

 


The resulting screenshots in VAB:

Spoiler

Science parts button:
hrIsQzx.pngjsf64qu.pngTLzBXHK.png

2zg7E8q.pngjLEkirx.png
as you can see, the subcategory button "RemoteTech (OMNI) only lists DISH ... :/

RemoteTech button:
MlDW94Q.pngA8lcilv.pngMpWYm5e.png
this is even more weird ... or not?

Grmpfl - need help ....

Edited by Gordon Dry
Link to comment
Share on other sites

6 minutes ago, linuxgurugamer said:

Might need some code.  I dont play with RT, but if I get some time this week, Ill load it up and see what is going on

I think i managed to make it work.

Mod_RemoteTech.cfg:

CATEGORY:NEEDS[RemoteTech]
{
    name = RemoteTech
    icon = RemoteTech
    colour = #FFF0F0F0
    all = true
    
    FILTER
    {
        CHECK
        {
			type = moduleName
			value = ModuleRTAntennaPassive, ModuleRTAntenna
        }
    }
    
    SUBCATEGORIES
    {
        list = 0,RemoteTech (PASSIVE)
        list = 1,RemoteTech (OMNI)
        list = 2,RemoteTech (DISH)
        list = 3,Undefined
    }
}
SUBCATEGORY
{
	name = RemoteTech (PASSIVE)
	icon = RemoteTech
	FILTER
	{
		CHECK
		{
			type = moduleName
			value = ModuleRTAntennaPassive
		}
	}
}
SUBCATEGORY
{
	name = RemoteTech (OMNI)
	icon = RemoteTech
	FILTER
	{
		CHECK
		{
			type = moduleName
			value = ModuleRTAntenna
		}
		CHECK
		{
			type = field
			value = ModuleRTAntenna, Mode0DishRange, 0
			invert = true
		}
	}	
}
SUBCATEGORY
{
	name = RemoteTech (DISH)
	icon = RemoteTech
	FILTER
	{
		CHECK
		{
			type = moduleName
			value = ModuleRTAntenna
		}
		CHECK
		{
			type = field
			value = ModuleRTAntenna, Mode0DishRange, 0
		}
	}	
}

Also found kinda odd thing. 

All dish antennas have:

	%MODULE[ModuleRTAntenna] {
		%Mode0DishRange = 0

Check works: 

		CHECK
		{
			type = field
			value = ModuleRTAntenna, Mode0DishRange, 0
		}

 

All Omni antennas have:

	%MODULE[ModuleRTAntenna] {
		%Mode0OmniRange = 0

Check for some reason do not work:

		CHECK
		{
			type = field
			value = ModuleRTAntenna, Mode0OmniRange, 0
		}

For omni antennas have to do inverted dish check to make it work.

Also i think SubCategories_Science.cfg can be reverted to version before 3.2.2.4. I added subcategories to RemoteTech config where technically they should be.

Link to comment
Share on other sites

Speaking of filtering....

Is there any way in stock KSP to just show the Making History parts?  Or to just show the non-Expansion parts and not the Making History parts?

Can these be done in Filter Extensions?  If not, could they be added?

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