Jump to content

[1.12.x] Filter Extensions (No localization)


linuxgurugamer

Recommended Posts

@banditsan everything looks really good, but the filtering for PASSIVE is not working correctly, perhaps it also needs some inverting? <- getting tired, it's okay, it's just weird about one of my patches

Diapason probe core (BDB):
looks good

Spoiler

7gqkaWP.png

excerpt of ModuleManager.ConfigCache:


UrlConfig
{
	name = bluedog_Diamant_Diapason
	type = PART
	parentUrl = Bluedog_DB/Parts/Explorer/bluedog_Diamant_Diapason
	PART
	{
		name = bluedog_Diamant_Diapason
		module = PartTapIn
		author = CobaltWolf
		rescaleFactor = 1.0
		CrewCapacity = 0
		node_stack_bottom = 0.0,-0.1980737, 0.0, 0.0, -1.0, 0.0, 0
		node_stack_top = 0.0, 0.1969061, 0.0, 0.0, 1.0, 0.0, 0
		TechRequired = survivability
		entryCost = 4900
		cost = 650
		category = Pods
		subcategory = 0
		title = Diapason Probe Core <color=green>(RealBattery)</color>
		manufacturer = Bluedog Design Bureau
		description = Simple cylindrical satellite bus. Useful for as many things as you can think of. <color=green>(pimped by Real Battery Inc.)</color>
		attachRules = 1,0,1,1,0
		mass = 0.069
		dragModelType = default
		maximum_drag = 0.2
		minimum_drag = 0.15
		angularDrag = 1.5
		crashTolerance = 12
		maxTemp = 1200
		explosionPotential = 0
		vesselType = Probe
		bulkheadProfiles = size0
		tags = diapason rosuette french baguette probe core
		EC_maxAmount = 60
		description = <color=orange>Class 3 RT Antenna PASSIVE.</color> Simple cylindrical satellite bus. Useful for as many things as you can think of. <color=green>(pimped by Real Battery Inc.)</color>
		MODEL
		{
			model = Bluedog_DB/Parts/Explorer/bluedog_Diamant_Diapason
		}
		MODULE
		{
			name = ModuleCommand
			minimumCrew = 0
			hasHibernation = false
			RESOURCE
			{
				name = ElectricCharge
				rate = 0.025
			}
		}
		RESOURCE
		{
			name = StoredCharge
			amount = 0
			maxAmount = 0
		}
		MODULE
		{
			name = ModuleReactionWheel
			PitchTorque = 0.0075
			YawTorque = 0.0075
			RollTorque = 0.0075
			RESOURCE
			{
				name = ElectricCharge
				rate = 0.0005
			}
		}
		MODULE
		{
			name = ModuleSAS
			moduleIsEnabled = False
			UPGRADES
			{
				UPGRADE
				{
					name__ = bluedog_SAS0
					description__ = SAS Upgrade
					moduleIsEnabled = True
					SASServiceLevel = 0
				}
				UPGRADE
				{
					name__ = bluedog_SAS1
					description__ = SAS Upgrade
					moduleIsEnabled = True
					SASServiceLevel = 1
				}
			}
		}
		MODULE
		{
			name = ModuleKerbNetAccess
			MinimumFoV = 25
			MaximumFoV = 45
			AnomalyDetection = 0
			DISPLAY_MODES
			{
				Mode = Terrain
			}
		}
		MODULE
		{
			name = AYA_SAS
		}
		MODULE
		{
			name = ModuleSPU
		}
		MODULE
		{
			name = ModuleRTAntennaPassive
			TechRequired = unmannedTech
			OmniRange = 300000
			TRANSMITTER
			{
				PacketInterval = 0.3
				PacketSize = 2
				PacketResourceCost = 15.0
			}
		}
		MODULE
		{
			name = ModuleSPUPassive
		}
		MODULE
		{
			name = ModuleSYPartTracker
		}
		MODULE
		{
			name = ModuleStateFundingDisposable
			disposable = false
		}
		MODULE
		{
			isEnabled = True
			name = BuoyancyControl
			enabled = true
		}
		MODULE
		{
			name = GeometryPartModule
		}
		MODULE
		{
			name = FARAeroPartModule
		}
		MODULE
		{
			name = FARPartModule
		}
		MODULE
		{
			name = GPOSpeedPump
		}
		MODULE
		{
			name = Reliability
			type = ModuleReactionWheel
			title = Reaction Wheel
			redundancy = Attitude Control
			repair = true
			mtbf = 36288000
			extra_cost = 0.25
			extra_mass = 0.15
		}
		MODULE
		{
			name = HardDrive
		}
		MODULE
		{
			name = RealBattery
			BatteryType = 3
			HighEClevel = 0.85
			LowEClevel = 0.15
		}
		MODULE
		{
			name = Reliability
			type = Antenna
			title = Antenna
			redundancy = Communication
			repair = Engineer
			mtbf = 72576000
			extra_cost = 0.5
			extra_mass = 0.01
		}
		MODULE
		{
			name = ModuleScienceExperiment
			experimentID = probe_telem
			experimentActionName = Analyse Telemetry
			resetActionName = Discard Telemetry
			reviewActionName = Review Telemetry
			xmitDataScalar = 1
			useStaging = False
			useActionGroups = True
			hideUIwhenUnavailable = False
			rerunnable = True
			dataIsCollectable = True
			collectActionName = Download Telemetry
			interactionRange = 1.2
		}
		MODULE
		{
			name = ModuleTCA
		}
		MODULE
		{
			name = TrajectoriesVesselSettings
		}
		MODULE
		{
			name = MechJebCore
			MechJebLocalSettings
			{
				MechJebModuleCustomWindowEditor
				{
					unlockTechs = start
				}
				MechJebModuleSmartASS
				{
					unlockTechs = start
				}
				MechJebModuleManeuverPlanner
				{
					unlockTechs = start
				}
				MechJebModuleNodeEditor
				{
					unlockTechs = start
				}
				MechJebModuleTranslatron
				{
					unlockTechs = start
				}
				MechJebModuleWarpHelper
				{
					unlockTechs = start
				}
				MechJebModuleAttitudeAdjustment
				{
					unlockTechs = start
				}
				MechJebModuleThrustWindow
				{
					unlockTechs = start
				}
				MechJebModuleRCSBalancerWindow
				{
					unlockTechs = start
				}
				MechJebModuleRoverWindow
				{
					unlockTechs = start
				}
				MechJebModuleAscentGuidance
				{
					unlockTechs = start
				}
				MechJebModuleLandingGuidance
				{
					unlockTechs = start
				}
				MechJebModuleSpaceplaneGuidance
				{
					unlockTechs = start
				}
				MechJebModuleDockingGuidance
				{
					unlockTechs = start
				}
				MechJebModuleRendezvousAutopilotWindow
				{
					unlockTechs = start
				}
				MechJebModuleRendezvousGuidance
				{
					unlockTechs = start
				}
			}
		}
		MODULE
		{
			name = FlightEngineerModule
		}
		MODULE
		{
			name = ProxSensor
			group = 0
		}
	}
}

^that one is okay because it got ModuleRTAntennaPassive, ModuleSPUPassive and ModuleSPU as well ...


Mk1 Command pod (stock):
looks not really good <- has nothing to do with FilterExtensions, sorry for mentioning it here ...

Spoiler

XJxQRBN.png

excerpt of ModuleManager.ConfigCache:


UrlConfig
{
	name = mk1pod
	type = PART
	parentUrl = Squad/Parts/Command/mk1pod/mk1Pod
	PART
	{
		name = mk1pod
		module = PartTapIn
		author = NovaSilisko
		scale = 1
		rescaleFactor = 1
		node_stack_bottom = 0.0, -0.4050379, 0.0, 0.0, -1.0, 0.0, 1
		node_stack_top = 0.0, 0.6423756, 0.0, 0.0, 1.0, 0.0, 0
		bulkheadProfiles = size1, size0
		CoPOffset = 0.0, 0.5, 0.0
		CoLOffset = 0.0, -0.35, 0.0
		CenterOfBuoyancy = 0.0, 0.5, 0.0
		CenterOfDisplacement = 0.0, -0.3, 0.0
		buoyancy = 1.5
		buoyancyUseSine = False
		TechRequired = survivability
		entryCost = 6000
		cost = 600
		category = Pods
		subcategory = 0
		title = Mk1 Command Pod
		manufacturer = Kerlington Model Rockets and Paper Products Inc
		description = Originally built as a placeholder for a demonstration mock-up of a rocket, the Mk1 Command Pod was heralded as a far safer and more reliable option than its predecessors by rocket scientists throughout the world. It is now commonly seen in active service.
		attachRules = 1,0,1,1,0
		bodyLiftOnlyUnattachedLift = True
		bodyLiftOnlyAttachName = bottom
		mass = 0.399853178095238
		dragModelType = default
		maximum_drag = 0.2
		minimum_drag = 0.15
		angularDrag = 2
		crashTolerance = 14
		heatConductivity = 0.1
		vesselType = Ship
		CrewCapacity = 1
		tags = capsule cmg control ?eva fly gyro ?iva moment pilot react rocket space stab steer torque
		maxTemp = 850
		skinMaxTemp = 2945.7
		skinInternalConductionMult = 0.0001
		emissiveConstant = 0.85
		INTERNAL
		{
			name = mk1PodCockpit
		}
		MODULE
		{
			name = ModuleCommand
			minimumCrew = 1
			hasHibernation = false
		}
		RESOURCE
		{
			name = ElectricCharge
			amount = 140
			maxAmount = 140
		}
		MODULE
		{
			name = ModuleReactionWheel
			PitchTorque = 0.025
			YawTorque = 0.025
			RollTorque = 0.025
			RESOURCE
			{
				name = ElectricCharge
				rate = 0.0012
			}
		}
		MODULE
		{
			name = ModuleColorChanger
			shaderProperty = _EmissiveColor
			animRate = 0.8
			animState = false
			useRate = true
			toggleInEditor = true
			toggleInFlight = true
			toggleInFlight = true
			unfocusedRange = 5
			toggleName = Toggle Lights
			eventOnName = Lights On
			eventOffName = Lights Off
			toggleAction = True
			defaultActionGroup = Light
			excludedRenderer = IndicatorLights/Meshes/squareLamp(Clone)
			excludedRenderer = capsule
			excludedRenderer = hatch
			excludedRenderer = flagTransform
			excludedRenderer = rung
			redCurve
			{
				key = 0 0 0 3
				key = 1 1 0 0
			}
			greenCurve
			{
				key = 0 0 0 1
				key = 1 1 1 0
			}
			blueCurve
			{
				key = 0 0 0 0
				key = 1 0.7 1.5 0
			}
			alphaCurve
			{
				key = 0 1
			}
		}
		MODULE
		{
			name = ModuleScienceExperiment
			experimentID = crewReport
			experimentActionName = Crew Report
			resetActionName = Discard Crew Report
			reviewActionName = Review Report
			useStaging = False
			useActionGroups = True
			hideUIwhenUnavailable = True
			rerunnable = True
			xmitDataScalar = 1
			usageReqMaskInternal = 5
			usageReqMaskExternal = -1
		}
		RESOURCE
		{
			name = MonoPropellant
			amount = 10
			maxAmount = 10
		}
		MODULE
		{
			name = FlagDecal
			textureQuadName = flagTransform
		}
		MODULE
		{
			name = ModuleConductionMultiplier
			modifiedConductionFactor = 0.003
			convectionFluxThreshold = 3000
		}
		MODULE
		{
			name = AYA_Science
		}
		MODULE
		{
			name = AYA_SAS
		}
		MODEL
		{
			model = Squad/Parts/Command/mk1pod/model
		}
		MODEL
		{
			model = ComfortableLanding/Models/Mk1/AirBagMk1
			scale = 1.0, 1.0, 1.0
			rotation = 0.0, 0.0, 0.0
			position = 0.0, 0.0, 0.0
		}
		MODULE
		{
			name = ModuleAnimateGeneric
			animationName = CL_Mk1
			startEventGUIName = Deploy
			endEventGUIName = Close
			actionGUIName = Toggle
			restrictedNode = bottom
			eventAvailableEditor = true
			eventAvailableFlight = false
			eventAvailableEVA = true
		}
		MODULE
		{
			name = CL_ControlTool
		}
		MODULE
		{
			name = CL_AirBag
			inflateAltitude = 500.0
			crashToleranceAfterInflated = 45.0
			DeflateTransformName = DeflateTransform
			deflateScale = 1.0, 1.0, 1.0
			InflateTransformName = InflateTransform
			inflateScale = 0.01, 0.01, 0.01
			inflateSoundPath = ComfortableLanding/Sounds/Inflate_A
			volume = 1.0
			deflateSoundPath = ComfortableLanding/Sounds/Touchdown
			volume2 = 1.0
			damageAfterSplashed = true
			buoyancyAfterInflated = 1.5
			COBAfterInflated = 0.0, 0.0, 0.0
		}
		MODULE
		{
			name = ModuleConnectedLivingSpace
			passable = true
			impassablenodes = top , bottom
		}
		MODEL
		{
			model = Squad/Parts/Command/mk1pod/model
		}
		MODEL
		{
			model = IndicatorLights/Meshes/squareLamp
			scale = 1, 0.25, 0.5
			position = 0, 0, -0.5138
			rotation = -160, 0, 0
		}
		MODULE
		{
			name = ModuleControllableEmissive
			target = IndicatorLights/Meshes/squareLamp
			emissiveName = indicator
		}
		MODULE
		{
			name = ModuleCrewIndicatorToggle
			toggleName = indicatorToggle
		}
		MODULE
		{
			name = ModuleCrewIndicator
			toggleName = indicatorToggle
		}
		MODULE
		{
			name = ModuleScienceAvailabilityIndicator
			experimentID = crewReport
			lowValueColor = ModuleCrewIndicator
			mediumValueColor = highValueColor
			highValueColor = blink(lowValueColor, 200, $Off, 200)
		}
		MODULE
		{
			name = ModuleScienceDataIndicator
			experimentID = crewReport
			emissiveName = indicator
			dataColor = ModuleCrewIndicator
			emptyColor = ModuleScienceAvailabilityIndicator
		}
		MODULE
		{
			name = Kemini_Module
			abbreviation = Kemini Science Experiment
			minimumCrew = 1
			NE_LabEquipmentSlot
			{
				type = KEMINI
			}
		}
		MODULE
		{
			name = ExperimentStorage
			identifier = Kemini 1
			chanceTexture = false
			type = KEMINI
		}
		MODULE
		{
			name = ExperimentStorage
			identifier = Kemini 2
			chanceTexture = false
			type = KEMINI
		}
		MODULE
		{
			name = ModuleSYPartTracker
		}
		MODULE
		{
			name = ModuleStateFundingDisposable
			disposable = false
		}
		MODULE
		{
			isEnabled = True
			name = BuoyancyControl
			enabled = true
		}
		MODULE
		{
			name = ModuleHeatShield
			ablativeResource = AblativeShielding
			lossExp = -40000
			lossConst = 150000
			pyrolysisLossFactor = 4000
			reentryConductivity = 0.001
			ablationTempThresh = 500
			depletedMaxTemp = 1200
			charMin = 1
			charMax = 1
			charAlpha = 1
			useNode = true
			nodeName = bottom
		}
		RESOURCE
		{
			name = AblativeShielding
			amount = 100
			maxAmount = 100
		}
		MODULE
		{
			name = GeometryPartModule
		}
		MODULE
		{
			name = FARAeroPartModule
		}
		MODULE
		{
			name = FARPartModule
		}
		MODULE
		{
			name = GPOSpeedPump
		}
		MODULE
		{
			name = ProcessController
			resource = _Scrubber
			title = Scrubber
			capacity = 1.67
			running = true
		}
		MODULE
		{
			name = ProcessController
			resource = _PressureControl
			title = Pressure control
			capacity = 1.67
			running = true
		}
		MODULE
		{
			name = ProcessController
			resource = _HumidityController
			title = Humidity controller
			capacity = 1.67
			running = true
		}
		MODULE
		{
			name = ProcessController
			resource = _WaterRecycler
			title = Water recycler
			capacity = 1.67
			running = true
		}
		MODULE
		{
			name = ProcessController
			resource = _WasteProcessor
			title = Waste processor
			capacity = 1.67
			running = true
		}
		MODULE
		{
			name = ProcessController
			resource = _MonopropFuelCell
			title = Monoprop+O2 fuel cell
			capacity = 1.67
			running = false
		}
		MODULE
		{
			name = Configure
			title = Pod
			slots = 3
			UPGRADES
			{
				UPGRADE
				{
					name__ = Upgrade-Slots
					techRequired__ = electronics
					slots = 3
				}
			}
			SETUP
			{
				name = Scrubber
				desc = A dual-bed vacuum-exposing regenerative scrubber that sequesters <b>CarbonDioxide</b> from the internal atmosphere.
				mass = 0.01
				cost = 250
				MODULE
				{
					type = ProcessController
					id_field = resource
					id_value = _Scrubber
				}
			}
			SETUP
			{
				name = Pressure Control
				desc = Use <b>Nitrogen</b> to maintain the internal atmosphere at a comfortable pressure.
				tech = engineering101
				mass = 0.01
				cost = 250
				MODULE
				{
					type = ProcessController
					id_field = resource
					id_value = _PressureControl
				}
				RESOURCE
				{
					name = Nitrogen
					amount = 500
					maxAmount = 500
				}
			}
			SETUP
			{
				name = Humidity Controller
				desc = Reclaims <b>Water</b> out of the internal atmosphere to maintain humidity.
				tech = survivability
				mass = 0.015
				cost = 300
				MODULE
				{
					type = ProcessController
					id_field = resource
					id_value = _HumidityController
				}
			}
			SETUP
			{
				name = Water Recycler
				desc = Filter impurities out of <b>WasteWater</b>.
				tech = spaceExploration
				mass = 0.05
				cost = 500
				MODULE
				{
					type = ProcessController
					id_field = resource
					id_value = _WaterRecycler
				}
				RESOURCE
				{
					name = WasteWater
					amount = 0
					maxAmount = 5
				}
			}
			SETUP
			{
				name = Waste Processor
				desc = Extract <b>Ammonia</b> out of decomposing organic <b>Waste</b>.
				tech = advExploration
				mass = 0.05
				cost = 500
				MODULE
				{
					type = ProcessController
					id_field = resource
					id_value = _WasteProcessor
				}
				RESOURCE
				{
					name = Waste
					amount = 0
					maxAmount = 5
				}
			}
			SETUP
			{
				name = Monoprop Oxygen Fuel Cell
				desc = An emergency fuel cell that burns <b>MonoPropellant</b> and <b>Oxygen</b> gas, producing <b>Water</b> and <b>Nitrogen</b> gas as by-products.
				tech = advElectrics
				mass = 0.1
				cost = 1000
				MODULE
				{
					type = ProcessController
					id_field = resource
					id_value = _MonopropFuelCell
				}
			}
		}
		MODULE
		{
			name = Habitat
			volume = 0.63
			surface = 2.85
		}
		MODULE
		{
			name = Reliability
			type = ProcessController
			title = ECLSS
			redundancy = Life Support
			repair = true
			mtbf = 40773033
			extra_cost = 0.625
			extra_mass = 0.025
		}
		MODULE
		{
			name = Reliability
			type = ModuleReactionWheel
			title = Reaction Wheel
			redundancy = Attitude Control
			repair = true
			mtbf = 36288000
			extra_cost = 0.2
			extra_mass = 0.05
		}
		MODULE
		{
			name = Reliability
			type = ModuleScienceExperiment
			title = ScienceInstrument
			repair = Engineer
			mtbf = 145152000
			extra_cost = 0.025
			extra_mass = 0.005
		}
		MODULE
		{
			name = HardDrive
		}
		MODULE
		{
			name = ModuleScienceExperiment
			experimentID = probe_telem
			experimentActionName = Analyse Telemetry
			resetActionName = Discard Telemetry
			reviewActionName = Review Telemetry
			xmitDataScalar = 1
			useStaging = False
			useActionGroups = True
			hideUIwhenUnavailable = False
			rerunnable = True
			dataIsCollectable = True
			collectActionName = Download Telemetry
			interactionRange = 1.2
		}
		MODULE
		{
			name = ModuleTCA
		}
		MODULE
		{
			name = TrajectoriesVesselSettings
		}
		MODULE
		{
			name = MechJebCore
			MechJebLocalSettings
			{
				MechJebModuleCustomWindowEditor
				{
					unlockTechs = start
				}
				MechJebModuleSmartASS
				{
					unlockTechs = start
				}
				MechJebModuleManeuverPlanner
				{
					unlockTechs = start
				}
				MechJebModuleNodeEditor
				{
					unlockTechs = start
				}
				MechJebModuleTranslatron
				{
					unlockTechs = start
				}
				MechJebModuleWarpHelper
				{
					unlockTechs = start
				}
				MechJebModuleAttitudeAdjustment
				{
					unlockTechs = start
				}
				MechJebModuleThrustWindow
				{
					unlockTechs = start
				}
				MechJebModuleRCSBalancerWindow
				{
					unlockTechs = start
				}
				MechJebModuleRoverWindow
				{
					unlockTechs = start
				}
				MechJebModuleAscentGuidance
				{
					unlockTechs = start
				}
				MechJebModuleLandingGuidance
				{
					unlockTechs = start
				}
				MechJebModuleSpaceplaneGuidance
				{
					unlockTechs = start
				}
				MechJebModuleDockingGuidance
				{
					unlockTechs = start
				}
				MechJebModuleRendezvousAutopilotWindow
				{
					unlockTechs = start
				}
				MechJebModuleRendezvousGuidance
				{
					unlockTechs = start
				}
			}
		}
		MODULE
		{
			name = FlightEngineerModule
		}
		MODULE
		{
			name = ProxSensor
			group = 0
		}
		MODULE
		{
			name = ModuleKISInventory
			maxVolume = 500
			externalAccess = true
			internalAccess = true
			slotsX = 2
			slotsY = 5
			slotSize = 50
			itemIconResolution = 128
			selfIconResolution = 128
			openSndPath = KIS/Sounds/containerOpen
			closeSndPath = KIS/Sounds/containerClose
			defaultMoveSndPath = KIS/Sounds/itemMove
		}
		MODULE
		{
			name = ModuleRTAntennaPassive
			TechRequired = start
			OmniRange = 100000
			TRANSMITTER
			{
				PacketInterval = 0.3
				PacketSize = 2
				PacketResourceCost = 15.0
			}
		}
		MODULE
		{
			name = ModuleSPUPassive
			TechRequired = start
		}
	}
}

 

^that one is not okay because it only got ModuleRTAntennaPassive and ModuleSPUPassive, but not ModuleSPU.

I don't know why Filter Extensions has a problem with that ... <- brain fart - I'm getting tired and the next sentence mixed into my mind while typing this ...

But also my patch that adds the orange text about the antenna class struggles with that ...

Spoiler

//Add Class Descriptions to antennas by range.
//Author: Gordon Dry

// stock CommNet
@PART[*]:HAS[@MODULE[ModuleDataTransmitter]:HAS[#antennaPower[<5001],#antennaType[INTERNAL]]]:NEEDS[!RemoteTech]:FINAL {
	+description ^= :^:<color=orange>Class 1 Antenna INTERNAL.</color> :
}

@PART[*]:HAS[@MODULE[ModuleDataTransmitter]:HAS[#antennaPower[<500000],#antennaType[DIRECT]]]:NEEDS[!RemoteTech]:FINAL {
	+description ^= :^:<color=orange>Class 1 Antenna DIRECT.</color> :
}

@PART[*]:HAS[@MODULE[ModuleDataTransmitter]:HAS[#antennaPower[<500000],#antennaType[RELAY]]]:NEEDS[!RemoteTech]:FINAL {
	+description ^= :^:<color=orange>Class 1 Antenna RELAY.</color> :
}

@PART[*]:HAS[@MODULE[ModuleDataTransmitter]:HAS[#antennaPower[>5000],#antennaPower[<200001],#antennaType[INTERNAL]]]:NEEDS[!RemoteTech]:FINAL {
	+description ^= :^:<color=orange>Class 2 Antenna INTERNAL.</color> :
}

@PART[*]:HAS[@MODULE[ModuleDataTransmitter]:HAS[#antennaPower[>499999],#antennaPower[<2000000001],#antennaType[DIRECT]]]:NEEDS[!RemoteTech]:FINAL {
	+description ^= :^:<color=orange>Class 2 Antenna DIRECT.</color> :
}

@PART[*]:HAS[@MODULE[ModuleDataTransmitter]:HAS[#antennaPower[>499999],#antennaPower[<2000000001],#antennaType[RELAY]]]:NEEDS[!RemoteTech]:FINAL {
	+description ^= :^:<color=orange>Class 2 Antenna RELAY.</color> :
}

@PART[*]:HAS[@MODULE[ModuleDataTransmitter]:HAS[#antennaPower[>200000],#antennaPower[<2500001],#antennaType[INTERNAL]]]:NEEDS[!RemoteTech]:FINAL {
	+description ^= :^:<color=orange>Class 3 Antenna INTERNAL.</color> :
}

@PART[*]:HAS[@MODULE[ModuleDataTransmitter]:HAS[#antennaPower[>2000000000],#antennaPower[<250000000001],#antennaType[DIRECT]]]:NEEDS[!RemoteTech]:FINAL {
	+description ^= :^:<color=orange>Class 3 Antenna DIRECT.</color> :
}

@PART[*]:HAS[@MODULE[ModuleDataTransmitter]:HAS[#antennaPower[>2000000000],#antennaPower[<250000000001],#antennaType[RELAY]]]:NEEDS[!RemoteTech]:FINAL {
	+description ^= :^:<color=orange>Class 3 Antenna RELAY.</color> :
}

@PART[*]:HAS[@MODULE[ModuleDataTransmitter]:HAS[#antennaPower[>2500000],#antennaPower[<10000001],#antennaType[INTERNAL]]]:NEEDS[!RemoteTech]:FINAL {
	+description ^= :^:<color=orange>Class 4 Antenna INTERNAL.</color> :
}

@PART[*]:HAS[@MODULE[ModuleDataTransmitter]:HAS[#antennaPower[>250000000000],#antennaPower[<1000000000001],#antennaType[DIRECT]]]:NEEDS[!RemoteTech]:FINAL {
	+description ^= :^:<color=orange>Class 4 Antenna DIRECT.</color> :
}

@PART[*]:HAS[@MODULE[ModuleDataTransmitter]:HAS[#antennaPower[>250000000000],#antennaPower[<1000000000001],#antennaType[RELAY]]]:NEEDS[!RemoteTech]:FINAL {
	+description ^= :^:<color=orange>Class 4 Antenna RELAY.</color> :
}

@PART[*]:HAS[@MODULE[ModuleDataTransmitter]:HAS[#antennaPower[>10000000],#antennaType[INTERNAL]]]:NEEDS[!RemoteTech]:FINAL {
	+description ^= :^:<color=orange>Class 5 Antenna INTERNAL.</color> :
}

@PART[*]:HAS[@MODULE[ModuleDataTransmitter]:HAS[#antennaPower[>1000000000000],#antennaType[DIRECT]]]:NEEDS[!RemoteTech]:FINAL {
	+description ^= :^:<color=orange>Class 5 Antenna DIRECT.</color> :
}

@PART[*]:HAS[@MODULE[ModuleDataTransmitter]:HAS[#antennaPower[>1000000000000],#antennaType[RELAY]]]:NEEDS[!RemoteTech]:FINAL {
	+description ^= :^:<color=orange>Class 5 Antenna RELAY.</color> :
}

//RemoteTech
@PART[*]:HAS[@MODULE[ModuleRTAntennaPassive]:HAS[#OmniRange[<5001]]]:NEEDS[RemoteTech]:FINAL {
	+description ^= :^:<color=orange>Class 1 RT Antenna PASSIVE.</color> :
}

@PART[*]:HAS[@MODULE[ModuleRTAntenna]:HAS[#Mode1OmniRange[<500000],~DishAngle[]]]:NEEDS[RemoteTech]:FINAL {
	+description ^= :^:<color=orange>Class 1 RT Antenna OMNI.</color> :
}

@PART[*]:HAS[@MODULE[ModuleRTAntenna]:HAS[#Mode1DishRange[<500000],#DishAngle[>0]]]:NEEDS[RemoteTech]:FINAL {
	+description ^= :^:<color=orange>Class 1 RT Antenna DISH.</color> :
}

@PART[*]:HAS[@MODULE[ModuleRTAntennaPassive]:HAS[#OmniRange[>5000],#OmniRange[<200001]]]:NEEDS[RemoteTech]:FINAL {
	+description ^= :^:<color=orange>Class 2 RT Antenna PASSIVE.</color> :
}

@PART[*]:HAS[@MODULE[ModuleRTAntenna]:HAS[#Mode1OmniRange[>499999],#Mode1OmniRange[<2000000001],~DishAngle[]]]:NEEDS[RemoteTech]:FINAL {
	+description ^= :^:<color=orange>Class 2 RT Antenna OMNI.</color> :
}

@PART[*]:HAS[@MODULE[ModuleRTAntenna]:HAS[#Mode1DishRange[>499999],#Mode1DishRange[<2000000001],#DishAngle[>0]]]:NEEDS[RemoteTech]:FINAL {
	+description ^= :^:<color=orange>Class 2 RT Antenna DISH.</color> :
}

@PART[*]:HAS[@MODULE[ModuleRTAntennaPassive]:HAS[#OmniRange[>200000],#OmniRange[<2500001]]]:NEEDS[RemoteTech]:FINAL {
	+description ^= :^:<color=orange>Class 3 RT Antenna PASSIVE.</color> :
}

@PART[*]:HAS[@MODULE[ModuleRTAntenna]:HAS[#Mode1OmniRange[>2000000000],#Mode1OmniRange[<250000000001],~DishAngle[]]]:NEEDS[RemoteTech]:FINAL {
	+description ^= :^:<color=orange>Class 3 RT Antenna OMNI.</color> :
}

@PART[*]:HAS[@MODULE[ModuleRTAntenna]:HAS[#Mode1DishRange[>2000000000],#Mode1DishRange[<250000000001],#DishAngle[>0]]]:NEEDS[RemoteTech]:FINAL {
	+description ^= :^:<color=orange>Class 3 RT Antenna DISH.</color> :
}

@PART[*]:HAS[@MODULE[ModuleRTAntennaPassive]:HAS[#OmniRange[>2500000],#OmniRange[<10000001]]]:NEEDS[RemoteTech]:FINAL {
	+description ^= :^:<color=orange>Class 4 RT Antenna PASSIVE.</color> :
}

@PART[*]:HAS[@MODULE[ModuleRTAntenna]:HAS[#Mode1OmniRange[>250000000000],#Mode1OmniRange[<1000000000001],~DishAngle[]]]:NEEDS[RemoteTech]:FINAL {
	+description ^= :^:<color=orange>Class 4 RT Antenna OMNI.</color> :
}

@PART[*]:HAS[@MODULE[ModuleRTAntenna]:HAS[#Mode1DishRange[>250000000000],#Mode1DishRange[<1000000000001],#DishAngle[>0]]]:NEEDS[RemoteTech]:FINAL {
	+description ^= :^:<color=orange>Class 4 RT Antenna DISH.</color> :
}

@PART[*]:HAS[@MODULE[ModuleRTAntennaPassive]:HAS[#OmniRange[>10000000]]]:NEEDS[RemoteTech]:FINAL {
	+description ^= :^:<color=orange>Class 5 RT Antenna PASSIVE.</color> :
}

@PART[*]:HAS[@MODULE[ModuleRTAntenna]:HAS[#Mode1OmniRange[>1000000000000],~DishAngle[]]]:NEEDS[RemoteTech]:FINAL {
	+description ^= :^:<color=orange>Class 5 RT Antenna OMNI.</color> :
}

@PART[*]:HAS[@MODULE[ModuleRTAntenna]:HAS[#Mode1DishRange[>1000000000000],#DishAngle[>0]]]:NEEDS[RemoteTech]:FINAL {
	+description ^= :^:<color=orange>Class 5 RT Antenna DISH.</color> :
}

 


So for now I will also update my RemoteTech patch config to this (added one block at line 45 and removed :FINAL):

Spoiler

@PART[*]:HAS[@MODULE[ModuleCommand],!MODULE[ModuleRTAntennaPassive],!MODULE[ModuleRTAntenna],!MODULE[ModuleSPUPassive],!MODULE[ModuleSPU],!MODULE[KerbalEVA]]:NEEDS[!RealismOverhaul,RemoteTech]
{
    MODULE
	{
		name = ModuleRTAntennaPassive
        TechRequired = start
        OmniRange = 100000

        TRANSMITTER
		{
            PacketInterval = 0.3
            PacketSize = 2
            PacketResourceCost = 15.0
		}
    }
}

@PART[*]:HAS[@MODULE[ModuleCommand],@MODULE[ModuleRTAntenna],!MODULE[ModuleSPU],!MODULE[KerbalEVA]]:NEEDS[RemoteTech]
{
	MODULE
	{
		name = ModuleSPU
        TechRequired = start
	}
}

@PART[*]:HAS[!MODULE[ModuleCommand],@MODULE[ModuleRTAntenna],!MODULE[ModuleSPUPassive]]:NEEDS[RemoteTech]
{
	MODULE
	{
		name = ModuleSPUPassive
        TechRequired = start
	}
}

@PART[*]:HAS[@MODULE[ModuleRTAntennaPassive],!MODULE[ModuleSPUPassive]]:NEEDS[RemoteTech]
{
	MODULE
	{
		name = ModuleSPUPassive
        TechRequired = start
	}
}

@PART[*]:HAS[@MODULE[ModuleCommand],@MODULE[ModuleRTAntennaPassive],!MODULE[ModuleSPU],!MODULE[KerbalEVA]]:NEEDS[RemoteTech]
{
	MODULE
	{
		name = ModuleSPU
        TechRequired = start
	}
}

 

 

Edited by Gordon Dry
I need a bed ...
Link to comment
Share on other sites

1 hour ago, Gordon Dry said:

@banditsan this is the stock setting (of Filter Extensions)

Deleted that part by accident in my testing install :)

 

This is what at this point works best for me if i follow logic in RemoteTech configs.

Antennas have ModuleRTAntenna and ModuleSPUPassive,  probes have ModuleRTAntennaPassive and ModuleSPU. If some other mods do not follow this logic don't know how to solve this problem

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 (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
{
    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
        }
    }
}

000_FilterExtensions_Configs/Default/08_Science.cfg

Spoiler

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

000_FilterExtensions_Configs/Default/Mod_RemoteTech.cfg

Spoiler

CATEGORY:NEEDS[RemoteTech]
{
    name = RemoteTech
    icon = RemoteTech
    colour = #FFF0F0F0
    all = true
    
    FILTER
    {
        CHECK
        {
            type = moduleName
            value = ModuleRTAntennaPassive, ModuleRTAntenna, ModuleSPUPassive, ModuleSPU 
        }
    }
    
    SUBCATEGORIES
    {
        list = 1,RemoteTech (PASSIVE)
        list = 2,RemoteTech (OMNI)
        list = 3,RemoteTech (DISH)
        list = 4,Undefined
    }
}
SUBCATEGORY
{
    name = RemoteTech (PASSIVE)
    icon = RemoteTech
    FILTER
    {
        CHECK
        {
            type = moduleName
            value = ModuleRTAntennaPassive, ModuleSPU
        }
    }
}
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
        }
    }    
}

Link to comment
Share on other sites

@banditsanNow it looks perfect - and this also means that Filter Extensions can only work correctly when part devs don't forget to add the proper modules - to avoid that hassle I created that patch to do that for me.

So I will implement your latest finds and do another test run ...

Edit:

The zip with everything involved to update the mod Filter Extensions is updated, here is the link again:
(still includes the files that were originally in that zip, but they're also updated by the latest release)
https://www.dropbox.com/s/5yafgevcfsvsf5t/FilterExtensions-GD-edit.zip?dl=1

^I also added the two patch files I use and mentioned above for convenience ... the full collection is linked in  my signature

Edited by Gordon Dry
Link to comment
Share on other sites

@banditsan I would revert line 34 in GameData\000_FilterExtensions_Configs\Default\Mod_RemoteTech.cfg to

			value = ModuleRTAntennaPassive

because with ModuleSPU also probes with OMNI are shown in subcategory PASSIVE then ...

Edit:

but besides that everything is okay, I already fixed that and updated the dropbox file ...

I give green light for updating the mod, need confirmation

Edited by Gordon Dry
typo
Link to comment
Share on other sites

9 minutes ago, Gordon Dry said:

@banditsan I would revert line 34 in GameData\000_FilterExtensions_Configs\Default\Mod_ProceduralParts.cfg to


			value = ModuleRTAntennaPassive

because with ModuleSPU also probes with OMNI are shown in subcategory PASSIVE then ...

Edit:

but besides that everything is okay, I already fixed that and updated the dropbox file ...

I give green light for updating the mod, need confirmation

000_FilterExtensions_Configs/Default/Mod_RemoteTech.cfg maybe? Not ProceduralParts?

Link to comment
Share on other sites

000_FilterExtensions_Configs/Default/Mod_UniversalStorage.cfg

Spoiler

CATEGORY:NEEDS[UniversalStorage]
{
    name = UniversalStorage
    icon = UniversalStorage
    colour = #FFF0F0F0
    all = true
    
    FILTER
    {
        CHECK
        {
            type = folder
            value = UniversalStorage
        }
    }
    
    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
    }
}

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

Was missing CouplingPayload and Electrical subcategories for Universal Storage 2

Link to comment
Share on other sites

And is the zFinal supposed to be installed always?

If so, I'll put it into the FE directory rather than another directory in GameData

After reviewing them, I'll add them as a directory:  zFinal_FilterExtensions

This will require a change to the netkan file

@Gordon Dry  @banditsan

Here is the release file (not yet published):

https://www.dropbox.com/s/v5pyg8r8yk6ya6c/000_FilterExtensions-3.2.2.6.zip?dl=0

Take a look, please verify it looks good

Edited by linuxgurugamer
Link to comment
Share on other sites

14 hours ago, Jacke said:

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?

I can't think of a way, not in Stock. Rather than Filter Extensions, you might want to look at Janitor's Closet for that; you can select parts displayed on a per-mod basis, and save various selections for quick recall - for example, set a button so that only the original and Making History parts are shown.

 

Edited by JH4C
a glitch in the matrix
Link to comment
Share on other sites

25 minutes ago, Gordon Dry said:

@linuxgurugamer the fuel tanks-by-diameter thing is not working 100%, inside the stock diameter category I find more tanks (in my test case 1.875m)

W0JyoF7.png5bSjoJB.png

I think it works fine. Your part is cone shape so it has different size nodes on top and bottom. Check for bulkheadProfiles in parts cfg.

Good example is Kerbodyne Engine Cluster Adapter Tank a.k.a. Saturn 5 engine cluster. You will find it in 5m and 1.25m section.

SquadExpansion/MakingHistory/Parts/FuelTank/Size4_EngineAdapter_01.cfg

....
	bulkheadProfiles = size4, size1, srf
....

Edit:

Only way i see this working not correct if wrong size is set in parts config

Edited by banditsan
Update
Link to comment
Share on other sites

7 hours ago, Gordon Dry said:

the icon "Propeller" for Engines/Prop engines is not loaded properly ...

Loaded fine for me.

See @banditsan's comment re. the tank sizes

New release, 3.2.2.7

Edited by linuxgurugamer
Link to comment
Share on other sites

5 minutes ago, Gordon Dry said:

@linuxgurugamer @banditsan I still don't get the tank diamater logic - when I choose "1.875m" then I want to see all tanks with that diameter, not only one that is cone shaped and also 1.25m ...

What is it in my logic that I don't get here?

It likely has a 1.875m node, ie. the lower face.

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