Jump to content

[1.10.1+] Contract Configurator [v1.30.5] [2020-10-05]


nightingale

Recommended Posts

I'm getting exceptions, using the general seti build with the exception detector.

There's about half a dozen:

ContractConfigurator.ContractConfigurator+<GetAllTypes>d_1e.MoveNext: 2

Followed at the end by:

ContractConfigurator.ContractConfigurator+<GetAllTypes>d_1e.MoveNext: 14

Now I have no idea what any of that means...but after it started I started getting frequent crashes.

Unfortunately, exception detector is giving you bad info, as those exceptions are really just warnings. But I can clean it up a bit so what ends up in exception detector is clearer. Anyway, here's the problems:

ContractConfigurator.ContractConfigurator: Error loading types from assembly ProbeControlRoomToolbar, Version=1.0.5151.15118, Culture=neutral, PublicKeyToken=null

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

ReflectionTypeLoadException: The classes in the module cannot be loaded.
at (wrapper managed-to-native) System.Reflection.Assembly:GetTypes (bool)
at System.Reflection.Assembly.GetTypes () [0x00000] in <filename unknown>:0
at ContractConfigurator.ContractConfigurator+<GetAllTypes>d__1e`1[ContractConfigurator.ParameterFactory].MoveNext () [0x00000] in <filename unknown>:0
UnityEngine.Debug:Internal_LogException(Exception, Object)
UnityEngine.Debug:LogException(Exception)
ContractConfigurator.LoggingUtil:LogException(Exception)
ContractConfigurator.<GetAllTypes>d__1e`1:MoveNext()
ContractConfigurator.ContractConfigurator:RegisterParameterFactories()
ContractConfigurator.ContractConfigurator:Update()

ContractConfigurator.ContractConfigurator: Error loading types from assembly NavUtilToolBar, Version=0.5.0.0, Culture=neutral, PublicKeyToken=null

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

ReflectionTypeLoadException: The classes in the module cannot be loaded.
at (wrapper managed-to-native) System.Reflection.Assembly:GetTypes (bool)
at System.Reflection.Assembly.GetTypes () [0x00000] in <filename unknown>:0
at ContractConfigurator.ContractConfigurator+<GetAllTypes>d__1e`1[ContractConfigurator.ParameterFactory].MoveNext () [0x00000] in <filename unknown>:0
UnityEngine.Debug:Internal_LogException(Exception, Object)
UnityEngine.Debug:LogException(Exception)
ContractConfigurator.LoggingUtil:LogException(Exception)
ContractConfigurator.<GetAllTypes>d__1e`1:MoveNext()
ContractConfigurator.ContractConfigurator:RegisterParameterFactories()
ContractConfigurator.ContractConfigurator:Update()

What it means is that ProbeControlRoomToolbar and NavUtilToolBar were compiled improperly (typically means against .NET 4.5 instead of .NET 3.5). You'd need to contact the authors of those mods to get it fixed, but it shouldn't be causing you problems.

Now, I see you're getting the following PreciseNode error... maybe that's where your real issue is? I don't really see anything much otherwise:

NullReferenceException: Object reference not set to an instance of an object
at RegexKSP.PreciseNode.get_canShowNodeEditor () [0x00000] in <filename unknown>:0
at RegexKSP.PreciseNode.OnGUI () [0x00000] in <filename unknown>:0

Link to comment
Share on other sites

Unfortunately, exception detector is giving you bad info, as those exceptions are really just warnings. But I can clean it up a bit so what ends up in exception detector is clearer. Anyway, here's the problems:

ContractConfigurator.ContractConfigurator: Error loading types from assembly ProbeControlRoomToolbar, Version=1.0.5151.15118, Culture=neutral, PublicKeyToken=null

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

ReflectionTypeLoadException: The classes in the module cannot be loaded.
at (wrapper managed-to-native) System.Reflection.Assembly:GetTypes (bool)
at System.Reflection.Assembly.GetTypes () [0x00000] in <filename unknown>:0
at ContractConfigurator.ContractConfigurator+<GetAllTypes>d__1e`1[ContractConfigurator.ParameterFactory].MoveNext () [0x00000] in <filename unknown>:0
UnityEngine.Debug:Internal_LogException(Exception, Object)
UnityEngine.Debug:LogException(Exception)
ContractConfigurator.LoggingUtil:LogException(Exception)
ContractConfigurator.<GetAllTypes>d__1e`1:MoveNext()
ContractConfigurator.ContractConfigurator:RegisterParameterFactories()
ContractConfigurator.ContractConfigurator:Update()

ContractConfigurator.ContractConfigurator: Error loading types from assembly NavUtilToolBar, Version=0.5.0.0, Culture=neutral, PublicKeyToken=null

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

ReflectionTypeLoadException: The classes in the module cannot be loaded.
at (wrapper managed-to-native) System.Reflection.Assembly:GetTypes (bool)
at System.Reflection.Assembly.GetTypes () [0x00000] in <filename unknown>:0
at ContractConfigurator.ContractConfigurator+<GetAllTypes>d__1e`1[ContractConfigurator.ParameterFactory].MoveNext () [0x00000] in <filename unknown>:0
UnityEngine.Debug:Internal_LogException(Exception, Object)
UnityEngine.Debug:LogException(Exception)
ContractConfigurator.LoggingUtil:LogException(Exception)
ContractConfigurator.<GetAllTypes>d__1e`1:MoveNext()
ContractConfigurator.ContractConfigurator:RegisterParameterFactories()
ContractConfigurator.ContractConfigurator:Update()

What it means is that ProbeControlRoomToolbar and NavUtilToolBar were compiled improperly (typically means against .NET 4.5 instead of .NET 3.5). You'd need to contact the authors of those mods to get it fixed, but it shouldn't be causing you problems.

Now, I see you're getting the following PreciseNode error... maybe that's where your real issue is? I don't really see anything much otherwise:

NullReferenceException: Object reference not set to an instance of an object
at RegexKSP.PreciseNode.get_canShowNodeEditor () [0x00000] in <filename unknown>:0
at RegexKSP.PreciseNode.OnGUI () [0x00000] in <filename unknown>:0

Thanks for the quick response and pointing me in the right direction!

Link to comment
Share on other sites

Would you mind taking a look at this?

I think this may be related to a bug that I ran into during my latest batch of testing. It seems that CC "forgets" the subgroups introduced in 0.7.12, I was able to reproduce by fiddling around in the CC debug menu and clicking +/- a few times and they disappear. I think this guy ran into the same problem (but didn't use debug).

Basically, it looks like, what has happened in his screenshot, is that he has "lost" KerbinStation subgroup, and KerbinTier3 has gone nuts, and forgotten the "maxSimultaneous = 1" parameter. I've asked for his logs, but nothing yet.

Just to follow up on this one a little more - Having stuff disappear in the CC debug menu is usually an exception in the GUI code. I do think I remember fixing one or two minor things recently, so it may already be fixed. Log would be needed to know for sure. I'll reply to your users issue in your thread - I think that's unrelated... but have very little in the way of ideas at the moment.

Link to comment
Share on other sites

Ran into a small problem and been banging my head against a wall. CC's console is all green for a couple of contracts I'm working on but I simply can't get command to offer the bloody things. I've set them to be offered at rep band 1 or 2 and still only get the usual handful of stock contracts and a selection from the custom packs I have installed.

Am I right there's a limit of slots available? Possibly that only a few are available for custom contracts and Tourism, AnomalySurveyor and KSS get priority?

Link to comment
Share on other sites

Ran into a small problem and been banging my head against a wall. CC's console is all green for a couple of contracts I'm working on but I simply can't get command to offer the bloody things. I've set them to be offered at rep band 1 or 2 and still only get the usual handful of stock contracts and a selection from the custom packs I have installed.

Am I right there's a limit of slots available? Possibly that only a few are available for custom contracts and Tourism, AnomalySurveyor and KSS get priority?

I'll probably have to put this in the documentation at some point, so I'll try and write this up as cleanly as possible. :)

Requirements

The first thing to check for is that all requirements are being met. In the Contract Configurator debug menu, press the "force check requirements" button to force all requirements to be checked (otherwise there's short-circuiting for performance, and you may not be able to tell if a requirement is succeeding or not). For a contract to be offered, all requirements should show as green. For debugging purposes, requirements can be temporarily removed by unchecking them to force a contract to be offered.

DATA Node Expressions

DATA nodes by default indicate required values. If the data node resolves to null, the contract will not be offered. To check this, view the output of the expressions on the right hand side of the debug window.

Contract Weights

When choosing a contract to offer, the system will do a weighted selection between all contracts within the same group. So a contract with a weight of 2.0 will be twice as likely as a contract with a weight of 1.0 to be selected.

Additionally, if you're not using a contract group yet, probably best to introduce one. In addition to what I mentioned above, there's logic for fairness between groups. It'll try to select equally between the groups, so there is no preference between Tourism, Anomaly Surveyor, KSS, etc. The exception is tjsnh's advanced progression contracts, because he doesn't use contract groups and set the weights on everything to 99.0 (I told him to change it, but it fell on deaf ears). Anyway, this is only and issue for you if you have that installed and are not using contract groups.

If none of this helps, then post up your contract config details and I'll take a look... maybe there's something else going on that I can help with.

Link to comment
Share on other sites

Quick update on the plan for 1.0 compatibility. Right now, it failed the smoke test - it's a pile of smouldering slag (but that was not really a surprise). The plan is to get a pre-release version up ASAP for people to start testing against. Pretty much as soon as it seems stable for one or two contract packs, I'll do an official 1.0 release.

Timeline-wise, everything depends on baby's sleep schedule. So you'd better hope he sleeps!! If things go well, I'll have a pre-release this afternoon. If things go less well I'll have it out tonight. If things go poorly... it'll be later than that. :)

Link to comment
Share on other sites

Alright, pre-release is up. It loads up, but that's as far as my testing got. No idea what works/doesn't otherwise. Download here.

Contract Configurator 0.8.0 (1.0.0rc1)

  • Support for KSP 1.0
  • Deprecated parameters removed from stock (some will get replacements in a future version of Contract Configurator).
    • AltitudeRecord
    • LaunchVessel

    [*]Added new AtLeast and AtMost set parameters.

    [*]Added new None set parameter.

    [*]Improve validation rules for unknown attributes/child nodes (helps modders track down issues more easily).

    [*]Fix issue when reloading contracts within a hierarchy of contract groups.

    [*]Fix issue when loading a save game with RemoteTech when a previously installed planet pack is uninstalled (thanks Svm420 and magico13).

    [*]Pop up a warning dialog when a ScenarioModule fails to load (and prevent other ScenarioModules from also failing).

    [*]Improve error messaging when failing on loading types from assemblies (thanks Vladthemad).

    [*]Fix default value of index for VisitWaypoint parameter (thanks AlphaAsh).

    [*]Various fixes related to KSP 1.0.

Known Issues

  • BoardAnyVessel not working.
  • Titles for count-down parameters may or may not update in stock contracts app.
  • Stock contracts app may or may not see parameter updates properly.

Oh, and RemoteTech and SCANsat integration are considered experimental until we see updates for those mods. My bet is that RemoteTech will require changes on my part when it's updated and SCANsat will just work. But we'll see soon enough.

Edited by nightingale
Link to comment
Share on other sites

Awesome, I'll try out the pre-release version tomorrow.

Looks like a large chunk of my contract pack got merged into stock (I'll confess, very flattering) so I've got a lot of work to do removing duplicate contracts and adding in more variety to fill the holes :D

Link to comment
Share on other sites

Just a quick question, is it possible to unlock tech nodes with the completion of a contract?
What genius idea. All those "test part x" contracts could be meaningful and give you an incentive to actually do them even later on. I think I would love seeing those.
Link to comment
Share on other sites

It's out, the 1.0.0 version of Contract Configurator for KSP 1.0! Download now!

RemoteTech and SCANsat support is considered experimental until official KSP 1.0 versions of those plugins are released.

Contract pack updates will be coming shortly, Anomaly Surveyor will be updated today, Tourism later in the week. RemoteTech sometime after the RemoteTech plugin updates.

Contract Configurator 1.0.0

  • Various fixes related to KSP 1.0.
  • Deprecated parameters removed from stock in KSP 1.0 (some may get replacements in a future version of Contract Configurator).
    • AltitudeRecord
    • LaunchVessel
    • BoardAnyVessel

    [*]Added new AtLeast and AtMost set parameters.

    [*]Added new None set parameter.

    [*]Improve validation rules for unknown attributes/child nodes (helps modders track down issues more easily).

    [*]Fix issue when reloading contracts within a hierarchy of contract groups.

    [*]Fix issue when loading a save game with RemoteTech when a previously installed planet pack is uninstalled (thanks Svm420 and magico13).

    [*]Pop up a warning dialog when a ScenarioModule fails to load (and prevent other ScenarioModules from also failing).

    [*]Improve error messaging when failing on loading types from assemblies (thanks Vladthemad).

    [*]Fix default value of index for VisitWaypoint parameter (thanks AlphaAsh).

    [*]Remove obsolete parameters and attributes.

    [*]Empty contract groups get highlighted yellow in debug window.

Link to comment
Share on other sites

Contract pack updates will be coming shortly, Anomaly Surveyor will be updated today, Tourism later in the week. RemoteTech sometime after the RemoteTech plugin updates.

Thanks for updating this so quickly. It's a centerpiece of my new series :)

I know you're swamped, but do you know at least roughly the impact of running non-updated contracts? Will a lot of them just not work, or will most just work normally, or something else? Also, as they update could we get a new column in the first page stating which version (ksp .90 vs ksp 1.0 is fine) each contract pack is for?)

Link to comment
Share on other sites

Thanks for updating this so quickly. It's a centerpiece of my new series :)

I know you're swamped, but do you know at least roughly the impact of running non-updated contracts? Will a lot of them just not work, or will most just work normally, or something else? Also, as they update could we get a new column in the first page stating which version (ksp .90 vs ksp 1.0 is fine) each contract pack is for?)

Well, for the most part Contract Configurator should insulate the contract packs from KSP version specific stuff, so hypothetically they all work for KSP 1.0. The exceptions would be:

  1. Anything that also includes its own plugin (only one in the wild is Anomaly Surveyor, and that's been updated).
  2. Anything dependent on SCANsat (until SCANsat updates).
  3. Anything dependent on RemoteTech (until RemoteTech updates).

I'll add the column into the table on the first post anyway though.

Link to comment
Share on other sites

Well, for the most part Contract Configurator should insulate the contract packs from KSP version specific stuff, so hypothetically they all work for KSP 1.0. The exceptions would be:

  1. Anything that also includes its own plugin (only one in the wild is Anomaly Surveyor, and that's been updated).
  2. Anything dependent on SCANsat (until SCANsat updates).
  3. Anything dependent on RemoteTech (until RemoteTech updates).

I'll add the column into the table on the first post anyway though.

Thanks on both counts, especially for updating the anomaly surveyor. I can start recording now :)

Link to comment
Share on other sites

No problem. And if the Tourism pack is part of your plans, head on over and check out this post - I'm looking for feedback on where to go with it to best differentiate it from stock (although to be honest, it already has a fair bit to differentiate it, so I may not change much).

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