RimWorld

RimWorld

HALO - The Covenant
1.6 Version Bug (Fixed)
I've noticed a strange issue where when you try to interact with a apparel policy, the game spams error messages and fails to render. No issues with it in versions 1.4 and 1.5
Last edited by kev675243; 30 Jul @ 12:48pm
< >
Showing 1-15 of 17 comments
kev675243 24 Jul @ 10:29pm 
quick snapshot of errors and the result (result is unable to scroll): https://imgur.com/a/wTKqGJo

Error Log Messages:
Exception filling window for RimWorld.Dialog_ManageApparelPolicies: System.NullReferenceException: Object reference not set to an instance of an object
[Ref DC2644F1]
at Verse.ThingDef.get_DescriptionDetailed () [0x000e6] in <d2f9716cc2ac4cda9c2a174cc147bf37>:0
- TRANSPILER OskarPotocki.VEF: IEnumerable`1 VEF.Apparels.VanillaExpandedFramework_ThingDef_StatOffsetFromGear_Transpiler:Transpiler(IEnumerable`1 instructions)
at Verse.Listing_TreeThingFilter.DoThingDef (Verse.ThingDef tDef, System.Int32 nestLevel, Verse.Map map) [0x000c8] in <d2f9716cc2ac4cda9c2a174cc147bf37>:0
at Verse.Listing_TreeThingFilter.DoCategoryChildren (Verse.TreeNode_ThingCategory node, System.Int32 indentLevel, System.Int32 openMask, Verse.Map map, System.Boolean subtreeMatchedSearch) [0x000f4] in <d2f9716cc2ac4cda9c2a174cc147bf37>:0
at Verse.Listing_TreeThingFilter.ListCategoryChildren (Verse.TreeNode_ThingCategory node, System.Int32 openMask, Verse.Map map, UnityEngine.Rect visibleRect) [0x0004a] in <d2f9716cc2ac4cda9c2a174cc147bf37>:0
at Verse.ThingFilterUI.DoThingFilterConfigWindow (UnityEngine.Rect rect, Verse.ThingFilterUI+UIState state, Verse.ThingFilter filter, Verse.ThingFilter parentFilter, System.Int32 openMask, System.Collections.Generic.IEnumerable`1[T] forceHiddenDefs, System.Collections.Generic.IEnumerable`1[T] forceHiddenFilters, System.Boolean forceHideHitPointsConfig, System.Boolean forceHideQualityConfig, System.Boolean showMentalBreakChanceRange, System.Collections.Generic.List`1[T] suppressSmallVolumeTags, Verse.Map map) [0x002a5] in <d2f9716cc2ac4cda9c2a174cc147bf37>:0
at RimWorld.Dialog_ManageApparelPolicies.DoContentsRect (UnityEngine.Rect rect) [0x00020] in <d2f9716cc2ac4cda9c2a174cc147bf37>:0
at RimWorld.Dialog_ManagePolicies`1[T].DoWindowContents (UnityEngine.Rect inRect) [0x001fa] in <d2f9716cc2ac4cda9c2a174cc147bf37>:0
at Verse.Window.InnerWindowOnGUI (System.Int32 x) [0x001a6] in <d2f9716cc2ac4cda9c2a174cc147bf37>:0
UnityEngine.StackTraceUtility:ExtractStackTrace ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Log.Error_Patch1 (string)
Verse.Window:InnerWindowOnGUI (int)
UnityEngine.GUI:CallWindowDelegate (UnityEngine.GUI/WindowFunction,int,int,UnityEngine.GUISkin,int,single,single,UnityEngine.GUIStyle)

Mouse position stack is not empty. There were more calls to BeginScrollView than EndScrollView. Fixing.
UnityEngine.StackTraceUtility:ExtractStackTrace ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Log.Error_Patch1 (string)
Verse.Widgets:EnsureMousePositionStackEmpty ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Root.Update_Patch2 (Verse.Root)
Verse.Root_Play:Update ()

Word wrap was false at end of frame.
UnityEngine.StackTraceUtility:ExtractStackTrace ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Log.Error_Patch1 (string)
Verse.Log:ErrorOnce (string,int)
Verse.Text:StartOfOnGUI ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.UIRoot.UIRootOnGUI_Patch1 (Verse.UIRoot)
RimWorld.UIRoot_Play:UIRootOnGUI ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Root.OnGUI_Patch1 (Verse.Root)
Cope Destroyer  [developer] 24 Jul @ 10:58pm 
what appeal list mod are you using?
This is base game for the apparel management. My mod list did contain apparel from the vanilla expanded and unsc mod
Last edited by kev675243; 25 Jul @ 1:47am
Cope Destroyer  [developer] 25 Jul @ 6:24am 
Hmm weird ill look into in a bit
@Cope Destroyer I seem to be able to workaround it by using character editor to reset all items to default settings. Seem to always need to do it every time I boot up rimworld, so still persisting despite recent update
Last edited by kev675243; 25 Jul @ 3:36pm
Cope Destroyer  [developer] 26 Jul @ 4:55am 
Yeah i get no error so it has to be a another mod causing it the bug
Cope Destroyer  [developer] 26 Jul @ 4:55am 
you said this happened on 1.6?
Cope Destroyer  [developer] 26 Jul @ 5:39am 
push a update idk if it will fix whatever going on with your game
Error still persists, tested with only mod requirements and base game dlc (except Odyssey). Seems to occur when looking to expand the armor listed in the mod category. Player Log here if it helps: https://drive.google.com/file/d/1wxWxmg1rNev_FJ6EPVax_EmjDxxwEFFq/view?usp=drive_link
Last edited by kev675243; 26 Jul @ 1:29pm
Cope Destroyer  [developer] 26 Jul @ 3:45pm 
hmm yeah im not getting any error with just base game appeal tab opening, really all i can do man is say verify your files, legit have no idea how to fix that and other threads i looked at have yet to give a solid answer sorry.
Yeah tbh idk, I've tried verifying files as well as re-installing this mod. Not sure if this helps but here's a snippet of answers from chatgbt (not sure if right but why not):
The Issue:
You opened the Apparel Policy UI.

It attempted to display a Covenant item.

That item’s ThingDef was missing something expected by VEF’s StatOffsetFromGear transpiler.

A null slipped through during DescriptionDetailed, which is called in the UI to display tooltips or stat summaries.

Why the workaround works:
On First Load, the apparel categories (like those added by “HALO - The Covenant”) are loaded into the ThingFilter tree for the Apparel Policy UI.

If any item has invalid stat offsets or missing properties (nulls in statBases, etc.), VEF’s transpiler fails during ThingDef.DescriptionDetailed().

The Character Editor reset forces a full reinitialization of apparel for all pawns:

This process seems to “touch” or re-initialize any bugged ThingDefs before the UI tries to show them.

That sidesteps the crash by triggering fallback behavior or caching the stat offsets/descriptions.

After this "preload", VEF's patched methods operate safely during UI rendering.

Since RimWorld caches a lot of UI and stat calculations in memory, the issue won’t reappear until a full reload of the game session (i.e., next time you start the game).

Proposed Solution:
Manually add dummy or correct entries to the faulty ThingDefs. Example:

xml
Copy
Edit
<ThingDef ParentName="ApparelBase">
<defName>CovenantHelmet</defName>
...
<statBases>
<!-- Even just an empty list helps prevent nulls -->
</statBases>
<modExtensions>
<li Class="VEF.Apparels.StatOffsetFromGearExtension">
<statOffsets>
<!-- Example filler -->
<li>
<stat>MoveSpeed</stat>
<value>0.1</value>
</li>
</statOffsets>
</li>
</modExtensions>
</ThingDef>
Last edited by kev675243; 26 Jul @ 5:22pm
Originally posted by Cope Destroyer:
hmm yeah im not getting any error with just base game appeal tab opening, really all i can do man is say verify your files, legit have no idea how to fix that and other threads i looked at have yet to give a solid answer sorry.
Quick question do you have the Odyssey DLC? I just ran my game with it and don't encounter the bug metioned above
Last edited by kev675243; 26 Jul @ 5:55pm
Cope Destroyer  [developer] 28 Jul @ 11:41am 
yeah i do sorry for the late response
Cope Destroyer  [developer] 28 Jul @ 11:42am 
but the appeal should have May require on it so it should not effect it
kev675243 28 Jul @ 12:09pm 
yeah I did look to see that's present. Still have no idea why though why it would causing errors. But for now playing with odyssey. If odyssey isn't present, I found using character editor not only to reset all to default, but to then go through each apparel in the mod and save their value does create a permanent fix
< >
Showing 1-15 of 17 comments
Per page: 1530 50