cant get texture for armor to show up on pawns.

Started by Dragoon, June 03, 2017, 03:33:03 AM

Previous topic - Next topic

Dragoon

I got a yellow config error. Can anyone help me?

Config error in Apparel_Grazeupper: Apparel_Grazeupper has null thingClass.
Verse.Log:Warning(String)
Verse.DefDatabase`1:ErrorCheckAllDefs()
System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&)
System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)
System.Reflection.MethodBase:Invoke(Object, Object[])
Verse.GenGeneric:InvokeStaticMethodOnGenericType(Type, Type, String)
Verse.PlayDataLoader:DoPlayLoad()
Verse.PlayDataLoader:LoadAllPlayData(Boolean)
Verse.Root:<Start>m__853()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.LongEventHandler:<UpdateCurrentAsynchronousEvent>m__851()

Config error in Apparel_Grazelower: Apparel_Grazelower has null thingClass.
Verse.Log:Warning(String)
Verse.DefDatabase`1:ErrorCheckAllDefs()
System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&)
System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)
System.Reflection.MethodBase:Invoke(Object, Object[])
Verse.GenGeneric:InvokeStaticMethodOnGenericType(Type, Type, String)
Verse.PlayDataLoader:DoPlayLoad()
Verse.PlayDataLoader:LoadAllPlayData(Boolean)
Verse.Root:<Start>m__853()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.LongEventHandler:<UpdateCurrentAsynchronousEvent>m__851()

https://www.dropbox.com/s/qabgugfwhmj5su2/Gundam%20ibo.rar?dl=0
Quote from: faltonico
I truly can't understand that sense of balancing a LOT of modders have, pouring more resources on something doesn't make it more difficult, but more annoying. It is not engaging, even if i'm swimming in silver at late game ¿why to bother?, why all the effort to get there?.

jamaicancastle

In your thingDefs, you have the following:
  <ThingDef Name="ApparelBase" ParentName="ApparelBase" Abstract="True">


I'll be honest, I'm not sure why it's allowing you to do this in the first place, but don't. You need a different name for your abstract, both to avoid confusing the parser and for mod compatibility. Something like:
  <ThingDef Name="IBOArmorBase" ParentName="ApparelBase" Abstract="True">


I'm 95% sure the proximate cause of your problem is that the parser is ignoring your attempt to parent ApparelBase from... itself and treating it as a complete def, which means it's missing all the critical information that's actually in the normal ApparelBase. The one that's causing the error is that it's missing the normal thingClass of "Apparel".

kaptain_kavern


Dragoon

#3
Thanks for the advice. I did what you said but, it did not fix the problem I am having.
RimWorld 0.17.1557 rev1153
Verse.Log:Message(String)
RimWorld.VersionControl:LogVersionNumber()
Verse.Root:CheckGlobalInit()
Verse.Root:Start()
Verse.Root_Entry:Start()

Could not resolve cross-reference: No Verse.ResearchProjectDef named machining found to give to Verse.RecipeMakerProperties Verse.RecipeMakerProperties
Verse.Log:Error(String)
Verse.WantedRefForObject:TryResolve(FailMode)
Verse.DirectXmlCrossRefLoader:ResolveAllWantedCrossReferences(FailMode)
Verse.PlayDataLoader:DoPlayLoad()
Verse.PlayDataLoader:LoadAllPlayData(Boolean)
Verse.Root:<Start>m__84E()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.LongEventHandler:<UpdateCurrentAsynchronousEvent>m__84C()

Cannot call ItemFromXmlFile with resolveCrossRefs=true while loading is already in progress.
Verse.Log:Error(String)
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()

Could not resolve cross-reference: No Verse.ResearchProjectDef named machining found to give to Verse.RecipeMakerProperties Verse.RecipeMakerProperties
Verse.Log:Error(String)
Verse.WantedRefForObject: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()

Cannot call ItemFromXmlFile with resolveCrossRefs=true while loading is already in progress.
Verse.Log:Error(String)
Verse.DirectXmlLoader:ItemFromXmlFile(String, Boolean)
RimWorld.PlayerKnowledgeDatabase:ReloadAndRebind()
Verse.PlayDataLoader:DoPlayLoad()
Verse.PlayDataLoader:LoadAllPlayData(Boolean)
Verse.Root:<Start>m__84E()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.LongEventHandler:<UpdateCurrentAsynchronousEvent>m__84C()

Could not resolve cross-reference: No Verse.ResearchProjectDef named machining found to give to Verse.RecipeMakerProperties Verse.RecipeMakerProperties
Verse.Log:Error(String)
Verse.WantedRefForObject:TryResolve(FailMode)
Verse.DirectXmlCrossRefLoader:ResolveAllWantedCrossReferences(FailMode)
Verse.DirectXmlLoader:ItemFromXmlFile(String, Boolean)
RimWorld.PlayerKnowledgeDatabase:ReloadAndRebind()
Verse.PlayDataLoader:DoPlayLoad()
Verse.PlayDataLoader:LoadAllPlayData(Boolean)
Verse.Root:<Start>m__84E()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.LongEventHandler:<UpdateCurrentAsynchronousEvent>m__84C()

Cannot call ItemFromXmlFile with resolveCrossRefs=true while loading is already in progress.
Verse.Log:Error(String)
Verse.DirectXmlLoader:ItemFromXmlFile(String, Boolean)
Verse.KeyPrefs:Init()
Verse.PlayDataLoader:DoPlayLoad()
Verse.PlayDataLoader:LoadAllPlayData(Boolean)
Verse.Root:<Start>m__84E()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.LongEventHandler:<UpdateCurrentAsynchronousEvent>m__84C()

Could not resolve cross-reference: No Verse.ResearchProjectDef named machining found to give to Verse.RecipeMakerProperties Verse.RecipeMakerProperties
Verse.Log:Error(String)
Verse.WantedRefForObject:TryResolve(FailMode)
Verse.DirectXmlCrossRefLoader:ResolveAllWantedCrossReferences(FailMode)
Verse.DirectXmlLoader:ItemFromXmlFile(String, Boolean)
Verse.KeyPrefs:Init()
Verse.PlayDataLoader:DoPlayLoad()
Verse.PlayDataLoader:LoadAllPlayData(Boolean)
Verse.Root:<Start>m__84E()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.LongEventHandler:<UpdateCurrentAsynchronousEvent>m__84C()

Failed to find any texture while constructing Multi(initPath=Things/Apparel/Graze/Grazeupper_Male, color=RGBA(1.000, 1.000, 1.000, 1.000), colorTwo=RGBA(1.000, 1.000, 1.000, 1.000))
Verse.Log:Error(String)
Verse.Graphic_Multi:Init(GraphicRequest)
Verse.GraphicDatabase:GetInner(GraphicRequest)
Verse.GraphicDatabase:Get(String, Shader, Vector2, Color)
RimWorld.ApparelGraphicRecordGetter:TryGetGraphicApparel(Apparel, BodyType, ApparelGraphicRecord&)
Verse.PawnGraphicSet:ResolveApparelGraphics()
RimWorld.Pawn_ApparelTracker:<ApparelChanged>m__348()
Verse.LongEventHandler:ExecuteToExecuteWhenFinished()
Verse.LongEventHandler:ExecuteWhenFinished(Action)
RimWorld.Pawn_ApparelTracker:ApparelChanged()
RimWorld.Pawn_ApparelTracker:Notify_ApparelAdded(Apparel)
Verse.ThingOwner:NotifyAdded(Thing)
Verse.ThingOwner`1:TryAdd(Thing, Boolean)
RimWorld.Pawn_ApparelTracker:Wear(Apparel, Boolean)
EdB.PrepareCarefully.CustomPawn:AddApparelToPawn(Pawn, Int32)
EdB.PrepareCarefully.CustomPawn:CopyApparelToPawn(Pawn)
EdB.PrepareCarefully.CustomPawn:ResetApparel()
EdB.PrepareCarefully.CustomPawn:SetSelectedApparel(Int32, ThingDef)
EdB.PrepareCarefully.<>c__DisplayClass59_0:<ShowApparelDialog>b__2(ThingDef)
EdB.PrepareCarefully.Dialog_Options`1:DoWindowContents(Rect)
Verse.<WindowOnGUI>c__AnonStorey2C4:<>m__1B1(Int32)
UnityEngine.GUI:CallWindowDelegate(WindowFunction, Int32, GUISkin, Int32, Single, Single, GUIStyle)
Quote from: faltonico
I truly can't understand that sense of balancing a LOT of modders have, pouring more resources on something doesn't make it more difficult, but more annoying. It is not engaging, even if i'm swimming in silver at late game ¿why to bother?, why all the effort to get there?.

jamaicancastle

The first several errors are because of repeated references to a researchProject "machining"; the project is actually Machining with a capital M. (You might very well say that it shouldn't be case sensitive, and I might very well agree with you. But it is.)

The last error indicates that the path for the worn graphic is wrong or some of the graphics are missing. From the zip file, it looks like the graphics have an extra underscore in their names (e.g. Grazelower__Thin_side instead of Grazelower_Thin_side); it should work if you either remove the excess underscores or (and this would be simpler, if not as pretty) add an underscore to the path in the XML file.

Dragoon

#5
Thanks! It's always the little things I swear.
Quote from: faltonico
I truly can't understand that sense of balancing a LOT of modders have, pouring more resources on something doesn't make it more difficult, but more annoying. It is not engaging, even if i'm swimming in silver at late game ¿why to bother?, why all the effort to get there?.