[17b] ConceptDef Error in vanilla after unloading mod that included ConceptDef's

Started by The-Eroks, August 16, 2017, 09:24:02 PM

Previous topic - Next topic

The-Eroks

Here's a silly one that you might care about, but it's pretty inconsequential:

After unloading a mod that added a new ConceptDef, the first time that vanilla RimWorld is loaded up (so that is to say, a clean RimWorld at this point), it'll pop out the following error:

Could not resolve cross-reference to RimWorld.ConceptDef named DamageTypes
Verse.Log:Error(String)
Verse.DirectXmlCrossRefLoader:TryResolveDef(String, FailMode)
Verse.WantedRefForDictionary`2:TryResolve(FailMode)
Verse.DirectXmlCrossRefLoader:ResolveAllWantedCrossReferences(FailMode)
Verse.DirectXmlLoader:ItemFromXmlFile(String, Boolean)
RimWorld.PlayerKnowledgeDatabase:ReloadAndRebind()
RimWorld.PlayerKnowledgeDatabase:.cctor()
Verse.PlayDataLoader:DoPlayLoad()
Verse.PlayDataLoader:DoPlayLoad()
Verse.PlayDataLoader:LoadAllPlayData(Boolean)
Verse.Root:<Start>m__84E()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.LongEventHandler:<UpdateCurrentAsynchronousEvent>m__84C()


Easy to reproduce, just create a simple mod with a generic new ConceptDef; load it up; unload it; and you'll have the error.

I suspect that all ConceptDefs are loaded into a log that is passed between RimWorld sessions to track which Learning Helpers have been read/utilized, and the absence of the Mod's unique ConceptDef causes the error because when unloading the mod, it doesn't check the saved ConceptDef files and remove the mod's from the list.

I've included a simple concept def for easy reference.

[attachment deleted by admin: too old]


ison

I think it's fine, this error is harmless. Thanks for reporting though.