Breaks Pawn Editor. When both are enabled (as might be useful for importing pawns from one to the other), the Pawn Editor button doesn't work due to the following error: Exception filling window for RimWorld.Page_ConfigureStartingPawns: System.TypeInitializationException: The type initializer for 'PawnEditor.TexPawnEditor' threw an exception. ---> System.NullReferenceException: Object reference not set to an instance of an object [Ref E291AB18] at CharacterEditor.CEditor.GetBetterShader (UnityEngine.Shader& __result, System.Boolean skinColorOverriden, System.Boolean dead) [0x00006] in <e2fdd4e3535742f5b613a97bffd83b06>:0 at Verse.ShaderUtility.GetSkinShaderAbstract (System.Boolean skinColorOverriden, System.Boolean dead) [0x0001d] in <f0ac5eb9b52e4cc396c70fc9a4ee15e5>:0 - PREFIX rimworld.mod.charactereditor: Boolean CharacterEditor.CEditor:GetBetterShader(Shader& __result, Boolean skinColorOverriden, Boolean dead) at PawnEditor.TexPawnEditor+<>c.<.cctor>b__14_1 (RimWorld.BodyTypeDef def) [0x00000] in <b4eb1ee256ea4fb79563d1335d4d0a76>:0 at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement] (System.Collections.Generic.List`1[T] source, System.Func`2[T,TResult] keySelector, System.Func`2[T,TResult] elementSelector, System.Collections.Generic.IEqualityComparer`1[T] comparer) [0x00026] in <351e49e2a5bf4fd6beabb458ce2255f3>:0 at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement] (System.Collections.Generic.IEnumerable`1[T] source, System.Func`2[T,TResult] keySelector, System.Func`2[T,TResult] elementSelector, System.Collections.Generic.IEqualityComparer`1[T] comparer) [0x00066] in <351e49e2a5bf4fd6beabb458ce2255f3>:0 at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement] (System.Collections.Generic.IEnumerable`1[T] source, System.Func`2[T,TResult] keySelector, System.Func`2[T,TResult] elementSelector) [0x00000] in <351e49e2a5bf4fd6beabb458ce2255f3>:0 at <0x2c57a355850 + 0x00692> <unknown method> --- End of inner exception stack trace --- [Ref 13A3E385] at (wrapper managed-to-native) System.Object.__icall_wrapper_mono_generic_class_init(intptr) at PawnEditor.TabWorker_FactionOverview.GetHeadings (System.String heading) [0x00039] in <b4eb1ee256ea4fb79563d1335d4d0a76>:0 at PawnEditor.TabWorker_FactionOverview+<>c.<CreateLocationTables>b__14_0 (System.String heading, System.Collections.Generic.List`1[T] pawns) [0x0000d] in <b4eb1ee256ea4fb79563d1335d4d0a76>:0 at PawnEditor.Utilities+<>c__DisplayClass6_0`3[TKey,TSource,TResult].<SelectValues>b__0 (System.Collections.Generic.KeyValuePair`2[TKey,TValue] kv) [0x0001b] in <b4eb1ee256ea4fb79563d1335d4d0a76>:0 at (wrapper delegate-invoke) System.Func`2[System.Collections.Generic.KeyValuePair`2[System.String,System.Collections.Generic.List`1[Verse.Pawn]],System.Collections.Generic.KeyValuePair`2[System.String,PawnEditor.UITable`1[RimWorld.Faction]]].invoke_TResult_T(System.Collections.Generic.KeyValuePair`2<string, System.Collections.Generic.List`1<Verse.Pawn>>) at System.Linq.Enumerable+SelectEnumerableIterator`2[TSource,TResult].MoveNext () [0x00048] in <351e49e2a5bf4fd6beabb458ce2255f3>:0 at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement] (System.Collections.Generic.IEnumerable`1[T] source, System.Func`2[T,TResult] keySelector, System.Func`2[T,TResult] elementSelector, System.Collections.Generic.IEqualityComparer`1[T] comparer) [0x000a2] in <351e49e2a5bf4fd6beabb458ce2255f3>:0 at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement] (System.Collections.Generic.IEnumerable`1[T] source, System.Func`2[T,TResult] keySelector, System.Func`2[T,TResult] elementSelector) [0x00000] in <351e49e2a5bf4fd6beabb458ce2255f3>:0 at PawnEditor.Utilities.SelectValues[TKey,TSource,TResult] (System.Collections.Generic.Dictionary`2[TKey,TValue] source, System.Func`3[T1,T2,TResult] selector) [0x00057] in <b4eb1ee256ea4fb79563d1335d4d0a76>:0 at PawnEditor.TabWorker_FactionOverview.CreateLocationTables (System.Collections.Generic.List`1[T] pawns, System.Collections.Generic.List`1[T] sections) [0x0007d] in <b4eb1ee256ea4fb79563d1335d4d0a76>:0 at PawnEditor.TabWorker_FactionOverview.RecachePawns (RimWorld.Faction faction) [0x000db] in <b4eb1ee256ea4fb79563d1335d4d0a76>:0 at PawnEditor.PawnEditor.RecachePawnList () [0x00086] in <b4eb1ee256ea4fb79563d1335d4d0a76>:0 at PawnEditor.Dialog_PawnEditor.PreOpen () [0x00011] in <b4eb1ee256ea4fb79563d1335d4d0a76>:0 at Verse.WindowStack.Add (Verse.Window window) [0x0001f] in <f0ac5eb9b52e4cc396c70fc9a4ee15e5>:0 at PawnEditor.PawnEditorMod.AddEditorButton (UnityEngine.Rect rect, RimWorld.Page_ConfigureStartingPawns __instance) [0x00179] in <b4eb1ee256ea4fb79563d1335d4d0a76>:0 at RimWorld.Page_ConfigureStartingPawns.DrawXenotypeEditorButton (UnityEngine.Rect rect) [0x00013] in <f0ac5eb9b52e4cc396c70fc9a4ee15e5>:0 - PREFIX legodude17.pawneditor: Boolean PawnEditor.PawnEditorMod:AddEditorButton(Rect rect, Page_ConfigureStartingPawns __instance) at RimWorld.Page_ConfigureStartingPawns.DoWindowContents (UnityEngine.Rect rect) [0x0003e] in <f0ac5eb9b52e4cc396c70fc9a4ee15e5>:0 - POSTFIX rimworld.mod.charactereditor: Void CharacterEditor.CEditor:AddCharacterEditorButton(Page_ConfigureStartingPawns __instance, Rect rect) at Verse.Window.InnerWindowOnGUI (System.Int32 x) [0x001a6] in <f0ac5eb9b52e4cc396c70fc9a4ee15e5>:0 UnityEngine.StackTraceUtility:ExtractStackTrace () Verse.Log:Error (string) Verse.Window:InnerWindowOnGUI (int) UnityEngine.GUI:CallWindowDelegate (UnityEngine.GUI/WindowFunction,int,int,UnityEngine.GUISkin,int,single,single,UnityEngine.GUIStyle)
Hand out the source code of this project, if you are not going to update it, even not on steam. There are still bugs messing around with the usage of the mod itself, not being on-par with mods adding body properties (different head types, animated faces, body additions with severties and others).
You forgot to add 'this is a stick up' to anyone wondering mod works fine and all the files are here on nexus, not sure what others are talking about 'needing steam' Thank you to the author
gotta ask, the f*#@ are mods on here for when its saying you still need mods from steam for them to even be used properly why even add the mods here in the first place.
Agreed, for those of us who dont want to use steam or have it running through steam and want to use this mod should be allowed to use it without subscribing to something that wont work without steam.
For some reason all the tabs vanish when im using this mods. Im using the harmony, the dlcs and this mod only but for some reason, all the tabs vanish whenever this mod is used.
Mod works great so far. For non steam users you can use GitHub, https://steamcommunity.com/linkfilter/?url=https://github.com/pardeike/HarmonyRimWorld/releases/latest
Only issue I have is when setting up the starting clothing for colonists. Hitting the right side arrow repeatedly for the second item eventually alternates between flack vest and flack pants. Could not figure out how to remove the clothing once selected, besides replacing it with another clothing that takes up the same 'gear slot' on the character.
Having a 'default' option which resets gear to the default shirt and pants would be a nice so it doesn't have to be done manually. Sorry if there is one somewhere and I missed it, thanks to anyone who points it out if it's already there somewhere.
31 comments
When both are enabled (as might be useful for importing pawns from one to the other), the Pawn Editor button doesn't work due to the following error:
Exception filling window for RimWorld.Page_ConfigureStartingPawns: System.TypeInitializationException: The type initializer for 'PawnEditor.TexPawnEditor' threw an exception. ---> System.NullReferenceException: Object reference not set to an instance of an object
[Ref E291AB18]
at CharacterEditor.CEditor.GetBetterShader (UnityEngine.Shader& __result, System.Boolean skinColorOverriden, System.Boolean dead) [0x00006] in <e2fdd4e3535742f5b613a97bffd83b06>:0
at Verse.ShaderUtility.GetSkinShaderAbstract (System.Boolean skinColorOverriden, System.Boolean dead) [0x0001d] in <f0ac5eb9b52e4cc396c70fc9a4ee15e5>:0
- PREFIX rimworld.mod.charactereditor: Boolean CharacterEditor.CEditor:GetBetterShader(Shader& __result, Boolean skinColorOverriden, Boolean dead)
at PawnEditor.TexPawnEditor+<>c.<.cctor>b__14_1 (RimWorld.BodyTypeDef def) [0x00000] in <b4eb1ee256ea4fb79563d1335d4d0a76>:0
at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement] (System.Collections.Generic.List`1[T] source, System.Func`2[T,TResult] keySelector, System.Func`2[T,TResult] elementSelector, System.Collections.Generic.IEqualityComparer`1[T] comparer) [0x00026] in <351e49e2a5bf4fd6beabb458ce2255f3>:0
at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement] (System.Collections.Generic.IEnumerable`1[T] source, System.Func`2[T,TResult] keySelector, System.Func`2[T,TResult] elementSelector, System.Collections.Generic.IEqualityComparer`1[T] comparer) [0x00066] in <351e49e2a5bf4fd6beabb458ce2255f3>:0
at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement] (System.Collections.Generic.IEnumerable`1[T] source, System.Func`2[T,TResult] keySelector, System.Func`2[T,TResult] elementSelector) [0x00000] in <351e49e2a5bf4fd6beabb458ce2255f3>:0
at <0x2c57a355850 + 0x00692> <unknown method>
--- End of inner exception stack trace ---
[Ref 13A3E385]
at (wrapper managed-to-native) System.Object.__icall_wrapper_mono_generic_class_init(intptr)
at PawnEditor.TabWorker_FactionOverview.GetHeadings (System.String heading) [0x00039] in <b4eb1ee256ea4fb79563d1335d4d0a76>:0
at PawnEditor.TabWorker_FactionOverview+<>c.<CreateLocationTables>b__14_0 (System.String heading, System.Collections.Generic.List`1[T] pawns) [0x0000d] in <b4eb1ee256ea4fb79563d1335d4d0a76>:0
at PawnEditor.Utilities+<>c__DisplayClass6_0`3[TKey,TSource,TResult].<SelectValues>b__0 (System.Collections.Generic.KeyValuePair`2[TKey,TValue] kv) [0x0001b] in <b4eb1ee256ea4fb79563d1335d4d0a76>:0
at (wrapper delegate-invoke) System.Func`2[System.Collections.Generic.KeyValuePair`2[System.String,System.Collections.Generic.List`1[Verse.Pawn]],System.Collections.Generic.KeyValuePair`2[System.String,PawnEditor.UITable`1[RimWorld.Faction]]].invoke_TResult_T(System.Collections.Generic.KeyValuePair`2<string, System.Collections.Generic.List`1<Verse.Pawn>>)
at System.Linq.Enumerable+SelectEnumerableIterator`2[TSource,TResult].MoveNext () [0x00048] in <351e49e2a5bf4fd6beabb458ce2255f3>:0
at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement] (System.Collections.Generic.IEnumerable`1[T] source, System.Func`2[T,TResult] keySelector, System.Func`2[T,TResult] elementSelector, System.Collections.Generic.IEqualityComparer`1[T] comparer) [0x000a2] in <351e49e2a5bf4fd6beabb458ce2255f3>:0
at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement] (System.Collections.Generic.IEnumerable`1[T] source, System.Func`2[T,TResult] keySelector, System.Func`2[T,TResult] elementSelector) [0x00000] in <351e49e2a5bf4fd6beabb458ce2255f3>:0
at PawnEditor.Utilities.SelectValues[TKey,TSource,TResult] (System.Collections.Generic.Dictionary`2[TKey,TValue] source, System.Func`3[T1,T2,TResult] selector) [0x00057] in <b4eb1ee256ea4fb79563d1335d4d0a76>:0
at PawnEditor.TabWorker_FactionOverview.CreateLocationTables (System.Collections.Generic.List`1[T] pawns, System.Collections.Generic.List`1[T] sections) [0x0007d] in <b4eb1ee256ea4fb79563d1335d4d0a76>:0
at PawnEditor.TabWorker_FactionOverview.RecachePawns (RimWorld.Faction faction) [0x000db] in <b4eb1ee256ea4fb79563d1335d4d0a76>:0
at PawnEditor.PawnEditor.RecachePawnList () [0x00086] in <b4eb1ee256ea4fb79563d1335d4d0a76>:0
at PawnEditor.Dialog_PawnEditor.PreOpen () [0x00011] in <b4eb1ee256ea4fb79563d1335d4d0a76>:0
at Verse.WindowStack.Add (Verse.Window window) [0x0001f] in <f0ac5eb9b52e4cc396c70fc9a4ee15e5>:0
at PawnEditor.PawnEditorMod.AddEditorButton (UnityEngine.Rect rect, RimWorld.Page_ConfigureStartingPawns __instance) [0x00179] in <b4eb1ee256ea4fb79563d1335d4d0a76>:0
at RimWorld.Page_ConfigureStartingPawns.DrawXenotypeEditorButton (UnityEngine.Rect rect) [0x00013] in <f0ac5eb9b52e4cc396c70fc9a4ee15e5>:0
- PREFIX legodude17.pawneditor: Boolean PawnEditor.PawnEditorMod:AddEditorButton(Rect rect, Page_ConfigureStartingPawns __instance)
at RimWorld.Page_ConfigureStartingPawns.DoWindowContents (UnityEngine.Rect rect) [0x0003e] in <f0ac5eb9b52e4cc396c70fc9a4ee15e5>:0
- POSTFIX rimworld.mod.charactereditor: Void CharacterEditor.CEditor:AddCharacterEditorButton(Page_ConfigureStartingPawns __instance, Rect rect)
at Verse.Window.InnerWindowOnGUI (System.Int32 x) [0x001a6] in <f0ac5eb9b52e4cc396c70fc9a4ee15e5>:0
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Error (string)
Verse.Window:InnerWindowOnGUI (int)
UnityEngine.GUI:CallWindowDelegate (UnityEngine.GUI/WindowFunction,int,int,UnityEngine.GUISkin,int,single,single,UnityEngine.GUIStyle)
to anyone wondering mod works fine and all the files are here on nexus, not sure what others are talking about 'needing steam'
Thank you to the author
Only issue I have is when setting up the starting clothing for colonists. Hitting the right side arrow repeatedly for the second item eventually alternates between flack vest and flack pants. Could not figure out how to remove the clothing once selected, besides replacing it with another clothing that takes up the same 'gear slot' on the character.
Having a 'default' option which resets gear to the default shirt and pants would be a nice so it doesn't have to be done manually. Sorry if there is one somewhere and I missed it, thanks to anyone who points it out if it's already there somewhere.