Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug 馃悶]: AJE.cfg uses :FOR[AJE], causing conflict with Planes With Purpose #43

Open
Runa-Dacino opened this issue Apr 23, 2024 · 0 comments
Assignees
Labels
bug 馃悰 An issue with the system. Something isn't working... KSC... we have an error code issue: compatibility/patch issue type issue: config issue type

Comments

@Runa-Dacino
Copy link

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)

@zer0Kerbal zer0Kerbal added bug 馃悰 An issue with the system. Something isn't working... KSC... we have an error code issue: compatibility/patch issue type issue: config issue type labels Apr 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug 馃悰 An issue with the system. Something isn't working... KSC... we have an error code issue: compatibility/patch issue type issue: config issue type
Projects
Development

No branches or pull requests

2 participants