Comments (8)
......what is the version of rimworld you are running?
Okay, workaround (hopefully): in mod settings, uncheck "check over capacity" Then restart.
How comfortable are you with weird modding tools? Could you use a decompiler (ILSpy, DNSpy, Microsoft's [mumble mumble] tool) to open RimWorld/RimWorld[Windows|Linux]_Data/Managed/Assembly-CSharp.dll, and then look for Verse->ModLister and see if it has "GetActiveModWithIdentifier"? If it does, could you paste the declaration - should look like public static ModMetaData GetActiveModWithIdentifier (string identifier, bool ignorePostfix = false)
from rimworld-lwm.deepstorage.
From the main page in Rimworld:
Version 1.4.3580 (64 bit)
Compiled Dec 16 2022
This is the latest version
Harmony: Lib v2.2.2.0. Mod v1.5.0.0
I don't get a mod settings page in game, it is blank. What appears to be the settings file is :
<?xml version="1.0" encoding="utf-8"?>
<SettingsBlock>
<ModSettings Class="LWM.DeepStorage.Settings">
<robotsCanUse>False</robotsCanUse>
<useRightClickLogic>False</useRightClickLogic>
</ModSettings>
</SettingsBlock>
I tried adding a checkOverCapacity, but I'm guessing that wasn't right since it was removed on restart...
From the decompiler:
// Assembly-CSharp, Version=1.4.8385.38825, Culture=neutral, PublicKeyToken=null
// Verse.ModLister
using System.Collections.Generic;
public static ModMetaData GetActiveModWithIdentifier(string identifier, bool ignorePostfix = false)
{
Dictionary<string, List> dictionary = (ignorePostfix ? modsByPackageIdIgnorePostfix : modsByPackageId);
if (!dictionary.ContainsKey(identifier))
{
return null;
}
foreach (ModMetaData item in dictionary[identifier])
{
if (item.Active)
{
return item;
}
}
return null;
}
from rimworld-lwm.deepstorage.
I tried adding a checkOverCapacity, but I'm guessing that wasn't right since it was removed on restart...
Cute! check_over_capacity as it happens (set to False)
What error does it throw when you try to open the mod settings? I hope you get an error....
This is very odd, and I'm trying to think of what might be going on...
from rimworld-lwm.deepstorage.
Okay, my best guess as what is happening: something has an old .dll lying around and that old .dll is very old. And it's getting referenced before the newer one, so when we look for the newer methods, it's failing because it's finding the old ones.
One thing you could do is try removing a bunch of your mods and restarting the game, looking for "LWM: Deep Storage: harmony transpiler fail: no CompareThingsByDrawAltitude " and "[LWM_DeepStorage][ERR] Failed to apply Harmony patches for LWM.DeepStorage.[...]" Then look in that mod's folders for an old .dll of some sort?
You might also try moving Deep Storage to near the top of the mod list?
Very weird
from rimworld-lwm.deepstorage.
When opening the mod settings with dev mode on I get the following in the log
Message logging is now once again on.
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Message (string)
Verse.Log:ResetMessageCount ()
Verse.Log:Clear ()
Verse.EditWindow_Log:DoWindowContents (UnityEngine.Rect)
Verse.Window:InnerWindowOnGUI (int)
UnityEngine.GUI:CallWindowDelegate (UnityEngine.GUI/WindowFunction,int,int,UnityEngine.GUISkin,int,single,single,UnityEngine.GUIStyle)
Exception filling window for RimWorld.Dialog_ModSettings: System.MissingMethodException: void Verse.Listing_Standard.CheckboxLabeled(string,bool&,string)
at LWM.DeepStorage.DeepStorageMod.DoSettingsWindowContents (UnityEngine.Rect inRect) [0x00000] in :0
at RimWorld.Dialog_ModSettings.DoWindowContents (UnityEngine.Rect inRect) [0x00073] in <0aa5ff10b5a84f7da48080504cb32469>:0
at Verse.Window.InnerWindowOnGUI (System.Int32 x) [0x001d3] in <0aa5ff10b5a84f7da48080504cb32469>: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)
If I moved Deep Storage immediately below hubslib, same thing. If I move it above hugslib it looks like it doesn't load at all, no config menu at all. I'll try removing everything but deep storage, harmony and hugslib and see if it is any different. Last time I tried that it still didn't work...
from rimworld-lwm.deepstorage.
Still didn't work. log on start:
Command line arguments: -savedatafolder=C:\Users\KGB\AppData\LocalLow\Ludeon Studios\RimWorld by Ludeon Studios
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Message (string)
Verse.Root:CheckGlobalInit ()
Verse.Root:Start ()
Verse.Root_Entry:Start ()
RimWorld 1.4.3580 rev1294
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Message (string)
RimWorld.VersionControl:LogVersionNumber ()
Verse.Root:CheckGlobalInit ()
Verse.Root:Start ()
Verse.Root_Entry:Start ()
Save data folder overridden to C:\Users\KGB\AppData\LocalLow\Ludeon Studios\RimWorld by Ludeon Studios
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Message (string)
Verse.GenFilePaths:get_SaveDataFolderPath ()
Verse.GenFilePaths:FolderUnderSaveData (string)
Verse.GenFilePaths:get_ConfigFolderPath ()
Verse.GenFilePaths:get_PrefsFilePath ()
Verse.Prefs:Init ()
Verse.Root:CheckGlobalInit ()
Verse.Root:Start ()
Verse.Root_Entry:Start ()
[HugsLib] version 10.0.1
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Message (string)
HugsLib.Utils.ModLogger:Message (string,object[])
HugsLib.HugsLibController:InitializeController ()
HugsLib.HugsLibController:EarlyInitialize ()
HugsLib.Core.HugsLibMod:.ctor (Verse.ModContentPack)
System.Reflection.MonoCMethod:InternalInvoke (object,object[])
System.Reflection.MonoCMethod:DoInvoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo)
System.Reflection.MonoCMethod:Invoke (System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo)
System.RuntimeType:CreateInstanceImpl (System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo,object[],System.Threading.StackCrawlMark&)
System.Activator:CreateInstance (System.Type,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo,object[])
System.Activator:CreateInstance (System.Type,object[])
Verse.LoadedModManager:CreateModClasses ()
Verse.LoadedModManager:LoadAllActiveMods ()
Verse.PlayDataLoader:DoPlayLoad ()
Verse.PlayDataLoader:LoadAllPlayData (bool)
Verse.Root/<>c:b__6_1 ()
Verse.LongEventHandler:RunEventFromAnotherThread (System.Action)
Verse.LongEventHandler/<>c:b__27_0 ()
System.Threading.ThreadHelper:ThreadStart_Context (object)
System.Threading.ExecutionContext:RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool)
System.Threading.ExecutionContext:Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool)
System.Threading.ExecutionContext:Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object)
System.Threading.ThreadHelper:ThreadStart ()
[UnlimitedHugs.HugsLib] Patches on methods annotated as Obsolete were detected by HugsLib: Verse.Game.DeinitAndRemoveMap
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Warning (string)
HugsLib.Utils.HarmonyUtility:LogObsoleteMethodPatchErrors ()
HugsLib.Utils.HarmonyUtility:LogHarmonyPatchIssueErrors ()
Verse.LongEventHandler:ExecuteToExecuteWhenFinished ()
Verse.LongEventHandler:UpdateCurrentAsynchronousEvent ()
Verse.LongEventHandler:LongEventsUpdate (bool&)
(wrapper dynamic-method) Verse.Root:Verse.Root.Update_Patch1 (Verse.Root)
Verse.Root_Entry:Update ()
LWM: Deep Storage: harmony transpiler fail: no CompareThingsByDrawAltitude
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Error (string)
LWM.DeepStorage.Patch_GenUI_ThingsUnderMouse/d__0:MoveNext ()
System.Collections.Generic.List1<HarmonyLib.CodeInstruction>:.ctor (System.Collections.Generic.IEnumerable
1<HarmonyLib.CodeInstruction>)
System.Linq.Enumerable:ToList<HarmonyLib.CodeInstruction> (System.Collections.Generic.IEnumerable1<HarmonyLib.CodeInstruction>) HarmonyLib.CodeTranspiler:GetResult (System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase) HarmonyLib.MethodBodyReader:FinalizeILCodes (HarmonyLib.Emitter,System.Collections.Generic.List
1<System.Reflection.MethodInfo>,System.Collections.Generic.List1<System.Reflection.Emit.Label>,bool&) HarmonyLib.MethodCopier:Finalize (HarmonyLib.Emitter,System.Collections.Generic.List
1<System.Reflection.Emit.Label>,bool&)
HarmonyLib.MethodPatcher:CreateReplacement (System.Collections.Generic.Dictionary2<int, HarmonyLib.CodeInstruction>&) HarmonyLib.PatchFunctions:UpdateWrapper (System.Reflection.MethodBase,HarmonyLib.PatchInfo) HarmonyLib.PatchClassProcessor:ProcessPatchJob (HarmonyLib.PatchJobs
1/Job<System.Reflection.MethodInfo>)
HarmonyLib.PatchClassProcessor:PatchWithAttributes (System.Reflection.MethodBase&)
HarmonyLib.PatchClassProcessor:Patch ()
HarmonyLib.Harmony:b__10_0 (System.Type)
HarmonyLib.CollectionExtensions:Do<System.Type> (System.Collections.Generic.IEnumerable1<System.Type>,System.Action
1<System.Type>)
HarmonyLib.Harmony:PatchAll (System.Reflection.Assembly)
HugsLib.ModBase:ApplyHarmonyPatches ()
HugsLib.HugsLibController:EnumerateChildMods (bool)
HugsLib.HugsLibController:LoadReloadInitialize ()
Verse.LongEventHandler:RunEventFromAnotherThread (System.Action)
Verse.LongEventHandler/<>c:b__27_0 ()
System.Threading.ThreadHelper:ThreadStart_Context (object)
System.Threading.ExecutionContext:RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool)
System.Threading.ExecutionContext:Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool)
System.Threading.ExecutionContext:Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object)
System.Threading.ThreadHelper:ThreadStart ()
[LWM_DeepStorage][ERR] Failed to apply Harmony patches for LWM.DeepStorage. Exception was: HarmonyLib.HarmonyException: Patching exception in method static System.Boolean LWM.DeepStorage.Patch_TryFindBestBetterStoreCellFor::Prepare() ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.MissingMethodException: Verse.ModMetaData Verse.ModLister.GetActiveModWithIdentifier(string)
at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke(System.Reflection.MonoMethod,object,object[],System.Exception&)
at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00032] in :0
--- End of inner exception stack trace ---
at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00048] in :0
at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in :0
at HarmonyLib.PatchClassProcessor.RunMethod[S,T] (T defaultIfNotExisting, T defaultIfFailing, System.Func2[T,TResult] failOnResult, System.Object[] parameters) [0x000e2] in <255414689d344b1385ae719f6cce8c55>:0 --- End of inner exception stack trace --- at HarmonyLib.PatchClassProcessor.ReportException (System.Exception exception, System.Reflection.MethodBase original) [0x00127] in <255414689d344b1385ae719f6cce8c55>:0 at HarmonyLib.PatchClassProcessor.RunMethod[S,T] (T defaultIfNotExisting, T defaultIfFailing, System.Func
2[T,TResult] failOnResult, System.Object[] parameters) [0x00121] in <255414689d344b1385ae719f6cce8c55>:0
at HarmonyLib.PatchClassProcessor.Patch () [0x00015] in <255414689d344b1385ae719f6cce8c55>:0
at HarmonyLib.Harmony.b__10_0 (System.Type type) [0x00007] in <255414689d344b1385ae719f6cce8c55>:0
at HarmonyLib.CollectionExtensions.Do[T] (System.Collections.Generic.IEnumerable1[T] sequence, System.Action
1[T] action) [0x00014] in <255414689d344b1385ae719f6cce8c55>:0
at HarmonyLib.Harmony.PatchAll (System.Reflection.Assembly assembly) [0x00006] in <255414689d344b1385ae719f6cce8c55>:0
at HugsLib.ModBase.ApplyHarmonyPatches () [0x0009a] in <4a46802aeab646ab99159f7eecb6b57e>:0
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Error (string)
HugsLib.Utils.ModLogger:Error (string,object[])
HugsLib.ModBase:ApplyHarmonyPatches ()
HugsLib.HugsLibController:EnumerateChildMods (bool)
HugsLib.HugsLibController:LoadReloadInitialize ()
Verse.LongEventHandler:RunEventFromAnotherThread (System.Action)
Verse.LongEventHandler/<>c:b__27_0 ()
System.Threading.ThreadHelper:ThreadStart_Context (object)
System.Threading.ExecutionContext:RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool)
System.Threading.ExecutionContext:Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool)
System.Threading.ExecutionContext:Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object)
System.Threading.ThreadHelper:ThreadStart ()
[HugsLib] initializing LWM_DeepStorage
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Message (string)
HugsLib.Utils.ModLogger:Message (string,object[])
HugsLib.HugsLibController:EnumerateChildMods (bool)
HugsLib.HugsLibController:LoadReloadInitialize ()
Verse.LongEventHandler:RunEventFromAnotherThread (System.Action)
Verse.LongEventHandler/<>c:b__27_0 ()
System.Threading.ThreadHelper:ThreadStart_Context (object)
System.Threading.ExecutionContext:RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool)
System.Threading.ExecutionContext:Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool)
System.Threading.ExecutionContext:Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object)
System.Threading.ThreadHelper:ThreadStart ()
[HugsLib][ERR] LWM_DeepStorage caused an exception during OnDefsLoaded: System.MissingMethodException: Verse.ModMetaData Verse.ModLister.GetActiveModWithIdentifier(string)
at LWM.DeepStorage.Settings.DefsLoaded () [0x00096] in :0
at LWM.DeepStorage.LWM_Hug.DefsLoaded () [0x00005] in :0
at HugsLib.HugsLibController.OnDefsLoaded () [0x0001a] in <4a46802aeab646ab99159f7eecb6b57e>:0
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Error (string)
HugsLib.Utils.ModLogger:ReportException (System.Exception,string,bool,string)
HugsLib.HugsLibController:OnDefsLoaded ()
HugsLib.HugsLibController:LoadReloadInitialize ()
Verse.LongEventHandler:RunEventFromAnotherThread (System.Action)
Verse.LongEventHandler/<>c:b__27_0 ()
System.Threading.ThreadHelper:ThreadStart_Context (object)
System.Threading.ExecutionContext:RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool)
System.Threading.ExecutionContext:Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool)
System.Threading.ExecutionContext:Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object)
System.Threading.ThreadHelper:ThreadStart ()
from rimworld-lwm.deepstorage.
Dust off and nuke the place from orbit; it's the only way to be sure.
Deleting and reinstalling everything, including re-downloading all my mods, and it looks to be working now. No idea what was the problem, but that looks to have fixed it. Rimworld is even starting cleanly with no error messages now, so it might have even fixed other things I never noticed...
from rimworld-lwm.deepstorage.
😆 Well, "corrupted game files" is certainly something that could cause all that! I did say "weird!"
Well, glad it's working :D Give a shout if anything else comes up!
from rimworld-lwm.deepstorage.
Related Issues (20)
- Meat Hook white numbers HOT 1
- When mods removed storage settings can persist; can we clean up?
- Sad you can't dye these. HOT 2
- Vanilla shelf quality visible HOT 2
- Error on loading HOT 3
- if it wood take too long to put item, ignore opportunistic carrying job
- Editing big shelf filter throws exception HOT 1
- DS interface is not compatible with [KV] Change Dresser 1.4
- Can't Right click at all HOT 1
- Settings for vanilla shelves not allowing only 1 item per cell HOT 1
- If colonist has 498437984 silver, they starve to death before storing it HOT 2
- Clothing Rack reached mass limit with only .57 kg of headwear
- Hugslib + Deep Storage results in unplayable game state HOT 5
- Allow mass-disabling of mass-limits
- ResourceCrates Only Store a Single Stack of Whatever Resources are Assigned HOT 5
- Old stacking graphic option using smaller item sizes again HOT 2
- [Feature Request] Storing kibble in haylofts HOT 3
- way to disable contents tab automatically opening HOT 1
- d3d11: failed to create buffer HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rimworld-lwm.deepstorage.