RimWorld

RimWorld

Rabbie The Moonrabbit race
Mario Dec 22, 2024 @ 3:44pm
Rabbie pawns can show up as floating heads if using any xenotype
Issue:

When a Rabbie pawn spawns in with a xenotype that changes their body type, it will cause an error and cause their body to become invisible, appearing only as a head.

I had the Rabbie and Kijin mod installed in one of my playthroughs. During gameplay, I saw a rabbie spawn in as only a head. The pawn had the Kijin xenotype while also having a rabbie background.

Reproduce:

To reproduce the issue, use the "EdB Prepare Carefully" mod to create a rabbie pawn. Choose a xenotype that changes the body type (ex. Highmate), and randomized the pawn. Within a few randomizations, the issue will appear.

Below is the error message that appears when the issue occurs

Failed to find any textures at Rabbielike/Apparel/RB_Camisole_Female while constructing Multi(initPath=Rabbielike/Apparel/RB_Camisole_Female, color=RGBA(0.961, 0.961, 0.961, 1.000), colorTwo=RGBA(1.000, 1.000, 1.000, 1.000)) UnityEngine.StackTraceUtility:ExtractStackTrace () Verse.Log:Error (string) Verse.Graphic_Multi:Init (Verse.GraphicRequest) Verse.GraphicDatabase:GetInner<Verse.Graphic_Multi> (Verse.GraphicRequest) Verse.GraphicDatabase:Get<Verse.Graphic_Multi> (string,UnityEngine.Shader,UnityEngine.Vector2,UnityEngine.Color,UnityEngine.Color) AlienRace.ApparelGraphics.ApparelGraphicUtility:GetGraphic (string,UnityEngine.Shader,UnityEngine.Vector2,UnityEngine.Color,RimWorld.Apparel,RimWorld.BodyTypeDef) (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:RimWorld.ApparelGraphicRecordGetter.TryGetGraphicApparel_Patch0 (RimWorld.Apparel,RimWorld.BodyTypeDef,RimWorld.ApparelGraphicRecord&) Verse.PawnRenderTree:ProcessApparel (RimWorld.Apparel,Verse.PawnRenderNode,Verse.PawnRenderNode) Verse.PawnRenderTree:SetupApparelNodes () Verse.PawnRenderTree:SetupDynamicNodes () (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.PawnRenderTree.TrySetupGraphIfNeeded_Patch1 (Verse.PawnRenderTree) (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.PawnRenderTree.EnsureInitialized_Patch1 (Verse.PawnRenderTree,Verse.PawnRenderFlags) Verse.PawnRenderer:RenderCache (Verse.Rot4,single,UnityEngine.Vector3,bool,bool,bool,bool,System.Collections.Generic.IReadOnlyDictionary`2<RimWorld.Apparel, UnityEngine.Color>,System.Nullable`1<UnityEngine.Color>,bool) RimWorld.PawnCacheRenderer:OnPostRender () (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:RimWorld.PawnCacheRenderer.RenderPawn_Patch1 (RimWorld.PawnCacheRenderer,Verse.Pawn,UnityEngine.RenderTexture,UnityEngine.Vector3,single,single,Verse.Rot4,bool,bool,bool,bool,UnityEngine.Vector3,System.Collections.Generic.IReadOnlyDictionary`2<RimWorld.Apparel, UnityEngine.Color>,System.Nullable`1<UnityEngine.Color>,bool) RimWorld.PortraitsCache/PortraitParams:RenderPortrait (Verse.Pawn,UnityEngine.RenderTexture) RimWorld.PortraitsCache:Get (Verse.Pawn,UnityEngine.Vector2,Verse.Rot4,UnityEngine.Vector3,single,bool,bool,bool,bool,System.Collections.Generic.IReadOnlyDictionary`2<RimWorld.Apparel, UnityEngine.Color>,System.Nullable`1<UnityEngine.Color>,bool,System.Nullable`1<Verse.PawnHealthState>) EdB.PrepareCarefully.PanelAppearance:DrawPawn (EdB.PrepareCarefully.CustomizedPawn,UnityEngine.Rect) EdB.PrepareCarefully.PanelAppearance:Draw (single) EdB.PrepareCarefully.PanelScrollingContent:DrawPanelContent () EdB.PrepareCarefully.PanelBase:Draw () EdB.PrepareCarefully.TabViewPawns:Draw (UnityEngine.Rect) EdB.PrepareCarefully.PagePrepareCarefully:DrawTabViews (UnityEngine.Rect) EdB.PrepareCarefully.PagePrepareCarefully:DoWindowContents (UnityEngine.Rect) Verse.Window:InnerWindowOnGUI (int) UnityEngine.GUI:CallWindowDelegate (UnityEngine.GUI/WindowFunction,int,int,UnityEngine.GUISkin,int,single,single,UnityEngine.GUIStyle)