Giter Site home page Giter Site logo

Comments (8)

lilwhitemouse avatar lilwhitemouse commented on July 28, 2024

......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.

Arbarbonif avatar Arbarbonif commented on July 28, 2024

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.

lilwhitemouse avatar lilwhitemouse commented on July 28, 2024

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.

lilwhitemouse avatar lilwhitemouse commented on July 28, 2024

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.

Arbarbonif avatar Arbarbonif commented on July 28, 2024

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.

Arbarbonif avatar Arbarbonif commented on July 28, 2024

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.IEnumerable1<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.List1<System.Reflection.MethodInfo>,System.Collections.Generic.List1<System.Reflection.Emit.Label>,bool&) HarmonyLib.MethodCopier:Finalize (HarmonyLib.Emitter,System.Collections.Generic.List1<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.PatchJobs1/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.Action1<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.Func2[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.Action1[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.

Arbarbonif avatar Arbarbonif commented on July 28, 2024

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.

lilwhitemouse avatar lilwhitemouse commented on July 28, 2024

😆 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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.