DaMichel's Fuselage (DMF)

DaMichel's Fuselage (DMF)

5k Downloads

[Bug ๐Ÿž]: AJE.cfg uses :FOR[AJE], causing conflict with Planes With Purpose

Runa-Dacino opened this issue ยท 0 comments

commented

Brief description of your issue (aka the problem)

Trying to use Planes With Purpose to obtain plane-related contracts. It does not provide me with the initial, "FirstFlight" contract due to AJEInlet errors. This is the only mod I have that has AJEInlet related patches, and after editing the AJE.cfg to use "AFTER:[AJE] rather than FOR[AJE], it works again.

Operating system

Windows 10 Home N (media pack installed)

KSP version

1.12.5.3190

Version of addon

1.1.0.2

Steps to reproduce the behavior or issue

  1. Have Planes With Purpose contract pack installed ( https://spacedock.info/mod/2601/Planes With Purposes )
  2. Have this mod installed https://spacedock.info/mod/2340/DaMichel's Fuselage (DMF)
  3. Have all their associated dependencies installed
  4. Have error message logging on
  5. Load a new career save, and do your first flight to unlock the rest of contracts (just a SRB and a command pod)
  6. Check contracts
  7. Check Tudor Aerospace
  8. There SHOULD be a "First Flight" contract telling you to unlock an elevon, a wing and an air breathing engine and intake
  9. Notice there's an error in KSP.log and modulemanager.log

Expected behavior

The "FirstFlight" contract should appear.

Actual behavior

The following error message:

[WRN 21:43:55.448] ContractConfigurator.ContractType: Errors encountered while trying to load CONTRACT_TYPE 'FirstFlight'

Environment

Mod: 1.1.0.2
KSP: 1.12.5.3190
Download/installation: Used CKAN

Log files

Excerpt from KSP.log (it's too big to upload):

[ERR 21:43:55.446] ContractConfigurator.PartModuleUnlockedRequirement: CONTRACT_TYPE 'FirstFlight', REQUIREMENT 'PartModuleUnlocked' of type 'PartModuleUnlocked': A validation error occured while loading the key 'partModule' with value 'System.Collections.Generic.List`1[System.String]'.


[EXC 21:43:55.448] ArgumentException: No PartModule class for 'AJEInlet'.
	ContractConfigurator.Validation.ValidatePartModule (System.String name) (at <c2a685a5828145e6ac9df5f3f9c944a7>:0)
	System.Linq.Enumerable.All[TSource] (System.Collections.Generic.IEnumerable`1[T] source, System.Func`2[T,TResult] predicate) (at <351e49e2a5bf4fd6beabb458ce2255f3>:0)
	ContractConfigurator.PartModuleUnlockedRequirement+<>c.<LoadFromConfig>b__1_1 (System.Collections.Generic.List`1[T] x) (at <c2a685a5828145e6ac9df5f3f9c944a7>:0)
	ContractConfigurator.ConfigNodeUtil.ParseValue[T] (ConfigNode configNode, System.String key, System.Action`1[T] setter, ContractConfigurator.IContractConfiguratorFactory obj, T defaultValue, System.Func`2[T,TResult] validation) (at <c2a685a5828145e6ac9df5f3f9c944a7>:0)
	UnityEngine.DebugLogHandler:LogException(Exception, Object)
	ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
	UnityEngine.Debug:LogException(Exception)
	ContractConfigurator.LoggingUtil:LogException(Exception)
	ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory, List`1, Func`2)
	ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory, Func`2)
	ContractConfigurator.PartModuleUnlockedRequirement:LoadFromConfig(ConfigNode)
	ContractConfigurator.ContractRequirement:GenerateRequirement(ConfigNode, ContractType, ContractRequirement&, IContractConfiguratorFactory)
	ContractConfigurator.ContractRequirement:GenerateRequirement(ConfigNode, ContractType, ContractRequirement&, IContractConfiguratorFactory)
	ContractConfigurator.ContractType:Load(ConfigNode)
	ContractConfigurator.<LoadContractTypeConfig>d__32:MoveNext()
	ContractConfigurator.<FinalizeContractTypeLoad>d__31:MoveNext()
	UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
[WRN 21:43:55.448] ContractConfigurator.ContractType: Errors encountered while trying to load CONTRACT_TYPE 'FirstFlight'

Screenshots

No response

Additional context

Original report:
https://forum.kerbalspaceprogram.com/topic/199185-112x-planes-with-purposes-pwp/?do=findComment&comment=4381990

Editing \GameData\DaMichel\Fuselage\Patches\aje.cfg like so:

@PART[DM-fuselage-intake]:NEEDS[AJE]:AFTER[AJE]
{
		@description= AJE compatible adjustable inlet, optimized for supersonic speed. Like SpacePlane+ small rectangular intake but with larger inlet area.
		MODULE
		{
			name=AJEInlet
			Area=0.6
			TPRCurve
			{
				key = 0.0	0.85	0	0
				key = 1.0	0.96	0	0
				key = 2.0	0.95	0	0
				key = 2.5	0.90	0	0
				key = 3.0	0.80	0	0
				key = 4.0	0.65	0	0
				key = 8.0	0.00	0	0
			}
		}
}

fixed the issue. I do not know if it causes issues elsewhere as I do not use AJE, but by my understanding of MM syntax - it shouldn't cause issues?

How did you download and install this?

CKAN (auto install with dependencies)