Skip to content

Commit

Permalink
Update to Harmony 2.0 and fix for RW 1.1
Browse files Browse the repository at this point in the history
  • Loading branch information
Sam Byass committed Feb 17, 2020
1 parent 8158fe7 commit cba9e24
Show file tree
Hide file tree
Showing 16 changed files with 54 additions and 50 deletions.
8 changes: 6 additions & 2 deletions About/About.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,14 @@
<ModMetaData>
<name>BetterLoading</name>
<author>Samboy063</author>
<packageId>me.samboycoding.betterloading</packageId>
<url></url>
<supportedVersions>
<li>1.0</li>
</supportedVersions>
<li>1.0</li>
</supportedVersions>
<supportedGameVersions>
<li>1.1</li>
</supportedGameVersions>
<description>An enhanced loading screen.</description>

</ModMetaData>
8 changes: 4 additions & 4 deletions Source/BetterLoading.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\Assemblies\</OutputPath>
<OutputPath>..\1.1\Assemblies\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
Expand All @@ -34,11 +34,11 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="0Harmony, Version=1.2.0.1, Culture=neutral, PublicKeyToken=null">
<HintPath>packages\UnlimitedHugs.Rimworld.HugsLib.6.1.1\lib\net35\0Harmony.dll</HintPath>
<Reference Include="0Harmony, Version=2.0.0.1, Culture=neutral, PublicKeyToken=null">
<HintPath>packages\Lib.Harmony.2.0.0.1\lib\net45\0Harmony.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Assembly-CSharp, Version=1.1.7352.18995, Culture=neutral, PublicKeyToken=null">
<Reference Include="Assembly-CSharp, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\RimWorldWin64_Data\Managed\Assembly-CSharp.dll</HintPath>
<Private>False</Private>
</Reference>
Expand Down
6 changes: 3 additions & 3 deletions Source/BetterLoadingMain.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
using System;
using System.Linq;
using Harmony;
using HarmonyLib;
using JetBrains.Annotations;
using RimWorld.Planet;
using UnityEngine;
Expand All @@ -11,14 +11,14 @@ namespace BetterLoading
public sealed class BetterLoadingMain : Mod
{
public static ModContentPack? ourContentPack;
public static HarmonyInstance? hInstance;
public static Harmony? hInstance;
public static LoadingScreen? LoadingScreen;

public BetterLoadingMain(ModContentPack content) : base(content)
{
ourContentPack = content;

hInstance = HarmonyInstance.Create("me.samboycoding.blm");
hInstance = new Harmony("me.samboycoding.blm");
if (Camera.main == null) return; //Just in case

LogMsg("BetterLoading :: Init");
Expand Down
8 changes: 4 additions & 4 deletions Source/Compat/HugsLib/StageHugsLibInit.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
using System.Linq;
using System.Reflection;
using BetterLoading.Stage;
using Harmony;
using HarmonyLib;
using HugsLib;
using HugsLib.News;
using Verse;
Expand All @@ -22,11 +22,11 @@ public class StageHugsLibInit : LoadingStage
private static int _numChildrenDefLoaded;

private static object _currentChildMod;
private static HarmonyInstance hInstance;
private static Harmony hInstance;

private static PropertyInfo _modIdentifierProperty;

public StageHugsLibInit(HarmonyInstance instance) : base(instance)
public StageHugsLibInit(Harmony instance) : base(instance)
{
}

Expand Down Expand Up @@ -79,7 +79,7 @@ public override int GetMaximumProgress()
return 1 + childCount + childCount + childCount;
}

public override void DoPatching(HarmonyInstance instance)
public override void DoPatching(Harmony instance)
{
hInstance = instance;

Expand Down
6 changes: 3 additions & 3 deletions Source/Stage/InitialLoad/0StageInitMods.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
using System.Linq;
using BetterLoading.Compat;
using BetterLoading.Compat.HugsLib;
using Harmony;
using HarmonyLib;
using UnityEngine;
using Verse;

Expand All @@ -16,7 +16,7 @@ public class StageInitMods : LoadingStage
private static ModContentPack _currentMod = BetterLoadingMain.ourContentPack;
private static bool _completed;

public StageInitMods(HarmonyInstance instance) : base(instance)
public StageInitMods(Harmony instance) : base(instance)
{
}

Expand Down Expand Up @@ -47,7 +47,7 @@ public override void BecomeInactive()
HugsLibCompat.Load();
}

public override void DoPatching(HarmonyInstance instance)
public override void DoPatching(Harmony instance)
{
instance.Patch(AccessTools.Method(typeof(Activator), nameof(Activator.CreateInstance), new[] {typeof(Type), typeof(object[])}), new HarmonyMethod(typeof(StageInitMods), nameof(OnActivatorCreateInstance)));
}
Expand Down
6 changes: 3 additions & 3 deletions Source/Stage/InitialLoad/1StageReadXML.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
using System.Linq;
using Harmony;
using HarmonyLib;
using Verse;

namespace BetterLoading.Stage.InitialLoad
Expand All @@ -10,7 +10,7 @@ public class StageReadXML : LoadingStage
private static int _currentPackIdx = 1;
private int _numPacks = -1;

public StageReadXML(HarmonyInstance instance) : base(instance)
public StageReadXML(Harmony instance) : base(instance)
{

}
Expand All @@ -35,7 +35,7 @@ public override int GetMaximumProgress()
return _numPacks;
}

public override void DoPatching(HarmonyInstance instance)
public override void DoPatching(Harmony instance)
{
instance.Patch(AccessTools.Method(typeof(ModContentPack), nameof(ModContentPack.LoadDefs)), postfix: new HarmonyMethod(typeof(StageReadXML), nameof(OnLoadDefsComplete)));
}
Expand Down
6 changes: 3 additions & 3 deletions Source/Stage/InitialLoad/2StageUnifyXML.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
using System.Collections.Generic;
using System.Xml;
using Harmony;
using HarmonyLib;
using Verse;

namespace BetterLoading.Stage.InitialLoad
Expand All @@ -13,7 +13,7 @@ public class StageUnifyXML : LoadingStage
private static int _currentAssetNo = 0;
private static bool _valid;

public StageUnifyXML(HarmonyInstance instance) : base(instance)
public StageUnifyXML(Harmony instance) : base(instance)
{
}

Expand Down Expand Up @@ -43,7 +43,7 @@ public override int GetMaximumProgress()
return _numAssets;
}

public override void DoPatching(HarmonyInstance instance)
public override void DoPatching(Harmony instance)
{
instance.Patch(AccessTools.Method(typeof(LoadedModManager), nameof(LoadedModManager.CombineIntoUnifiedXML)),
new HarmonyMethod(typeof(StageUnifyXML), nameof(PreUnifyXML)));
Expand Down
6 changes: 3 additions & 3 deletions Source/Stage/InitialLoad/3StageApplyPatches.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Harmony;
using HarmonyLib;
using Verse;

namespace BetterLoading.Stage.InitialLoad
Expand All @@ -16,7 +16,7 @@ public class StageApplyPatches : LoadingStage
private static int _currentPatch;
private static bool _loadingPatches;

public StageApplyPatches(HarmonyInstance instance) : base(instance)
public StageApplyPatches(Harmony instance) : base(instance)
{
_modList = LoadedModManager.RunningMods.ToList();
}
Expand Down Expand Up @@ -62,7 +62,7 @@ public override bool IsCompleted()
return GetCurrentProgress() == GetMaximumProgress() && _currentPatch >= _numPatches && !_loadingPatches;
}

public override void DoPatching(HarmonyInstance instance)
public override void DoPatching(Harmony instance)
{
instance.Patch(AccessTools.Method(typeof(ModContentPack), "LoadPatches"), new HarmonyMethod(typeof(StageApplyPatches), nameof(PreLoadPatches)), new HarmonyMethod(typeof(StageApplyPatches), nameof(PostLoadPatches)));

Expand Down
6 changes: 3 additions & 3 deletions Source/Stage/InitialLoad/4StageRegisterDefs.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
using System.Linq;
using System.Xml;
using Harmony;
using HarmonyLib;
using Verse;

namespace BetterLoading.Stage.InitialLoad
Expand All @@ -10,7 +10,7 @@ public class StageRegisterDefs : LoadingStage
private static int _numDefsToRegister = 1;
private static int _currentDefNum;

public StageRegisterDefs(HarmonyInstance instance) : base(instance)
public StageRegisterDefs(Harmony instance) : base(instance)
{
}

Expand Down Expand Up @@ -45,7 +45,7 @@ public override int GetMaximumProgress()
return _numDefsToRegister;
}

public override void DoPatching(HarmonyInstance instance)
public override void DoPatching(Harmony instance)
{
instance.Patch(AccessTools.Method(typeof(LoadedModManager), nameof(LoadedModManager.ParseAndProcessXML)), new HarmonyMethod(typeof(StageRegisterDefs), nameof(PreParseProcXml)));
instance.Patch(AccessTools.Method(typeof(XmlInheritance), nameof(XmlInheritance.TryRegister)), new HarmonyMethod(typeof(StageRegisterDefs), nameof(PreRegisterDef)));
Expand Down
6 changes: 3 additions & 3 deletions Source/Stage/InitialLoad/5StageConstructDefs.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
using System.Linq;
using System.Xml;
using Harmony;
using HarmonyLib;
using Verse;

namespace BetterLoading.Stage.InitialLoad
Expand All @@ -12,7 +12,7 @@ public class StageConstructDefs : LoadingStage
private static bool _shouldCount;
private static LoadableXmlAsset _asset;

public StageConstructDefs(HarmonyInstance instance) : base(instance)
public StageConstructDefs(Harmony instance) : base(instance)
{
}

Expand Down Expand Up @@ -53,7 +53,7 @@ public override int GetMaximumProgress()
return _numDefsToResolve;
}

public override void DoPatching(HarmonyInstance instance)
public override void DoPatching(Harmony instance)
{
instance.Patch(AccessTools.Method(typeof(LoadedModManager), nameof(LoadedModManager.ParseAndProcessXML)), new HarmonyMethod(typeof(StageConstructDefs), nameof(PreParseProcXml)));
instance.Patch(AccessTools.Method(typeof(DirectXmlLoader), nameof(DirectXmlLoader.DefFromNode)), new HarmonyMethod(typeof(StageConstructDefs), nameof(PreDefFromNode)));
Expand Down
10 changes: 5 additions & 5 deletions Source/Stage/InitialLoad/6StageResolveDefDatabases.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Harmony;
using HarmonyLib;
using RimWorld;
using Verse;

Expand All @@ -14,7 +14,7 @@ public class StageResolveDefDatabases : LoadingStage
private static int _currentDatabaseNum;


public StageResolveDefDatabases(HarmonyInstance instance) : base(instance)
public StageResolveDefDatabases(Harmony instance) : base(instance)
{
}

Expand Down Expand Up @@ -43,7 +43,7 @@ public override bool IsCompleted()
return _currentDatabaseNum == _numDatabases;
}

public override void DoPatching(HarmonyInstance instance)
public override void DoPatching(Harmony instance)
{
instance.Patch(
AccessTools.Method(typeof(GenGeneric), "MethodOnGenericType", new[] {typeof(Type), typeof(Type), typeof(string)}),
Expand All @@ -60,7 +60,7 @@ public static void PreMOGT(Type genericParam, string methodName)
if (methodName != nameof(DefDatabase<Def>.ResolveAllReferences)) return;

if (_currentDatabase == null)
_numDatabases = typeof(Def).AllSubclasses().Count();
_numDatabases = typeof(Def).AllSubclasses().Count() - 2; //ThingCategoryDef and RecipeDef aren't done

_currentDatabase = genericParam;
}
Expand All @@ -73,7 +73,7 @@ public static void PostMOGT(Type genericParam, string methodName)

_currentDatabaseNum++;

if (_currentDatabaseNum == _numDatabases - 1)
if (_currentDatabaseNum == _numDatabases - 3)
{
_currentDatabase = typeof(ThingDef);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using Harmony;
using HarmonyLib;
using Verse;

namespace BetterLoading.Stage.InitialLoad
Expand All @@ -21,7 +21,7 @@ public class StageRunPostLoadPreFinalizeCallbacks : LoadingStage
private static bool _done;


public StageRunPostLoadPreFinalizeCallbacks(HarmonyInstance instance) : base(instance)
public StageRunPostLoadPreFinalizeCallbacks(Harmony instance) : base(instance)
{
}

Expand Down Expand Up @@ -53,7 +53,7 @@ public override int GetMaximumProgress()
return _numTasksToRun - 1;
}

public override void DoPatching(HarmonyInstance instance)
public override void DoPatching(Harmony instance)
{
instance.Patch(AccessTools.Method(typeof(LongEventHandler), "ExecuteToExecuteWhenFinished"), new HarmonyMethod(typeof(StageRunPostLoadPreFinalizeCallbacks), nameof(PreExecToExecWhenFinished)));
}
Expand Down
6 changes: 3 additions & 3 deletions Source/Stage/InitialLoad/8StageRunStaticCctors.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
using System.Linq;
using System.Runtime.CompilerServices;
using System.Threading;
using Harmony;
using HarmonyLib;
using UnityEngine;
using Verse;

Expand All @@ -20,7 +20,7 @@ public class StageRunStaticCctors : LoadingStage

private static bool _finishedProcessing;

public StageRunStaticCctors(HarmonyInstance instance) : base(instance)
public StageRunStaticCctors(Harmony instance) : base(instance)
{
}

Expand Down Expand Up @@ -49,7 +49,7 @@ public override bool IsCompleted()
return _numRun == _toRun?.Count;
}

public override void DoPatching(HarmonyInstance instance)
public override void DoPatching(Harmony instance)
{
instance.Patch(AccessTools.Method(typeof(StaticConstructorOnStartupUtility), nameof(StaticConstructorOnStartupUtility.CallAll)), new HarmonyMethod(typeof(StageRunStaticCctors), nameof(PreCallAll)));
// instance.Patch(AccessTools.Method(typeof(RuntimeHelpers), nameof(RuntimeHelpers.RunClassConstructor), new []{typeof(RuntimeTypeHandle)}), new HarmonyMethod(typeof(StageRunStaticCctors), nameof(PreRunClassConstructor)));
Expand Down
6 changes: 3 additions & 3 deletions Source/Stage/InitialLoad/9StageRunPostFinalizeCallbacks.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
using System;
using System.Collections.Generic;
using System.Threading;
using Harmony;
using HarmonyLib;
using Verse;

namespace BetterLoading.Stage.InitialLoad
Expand All @@ -19,7 +19,7 @@ public class StageRunPostFinalizeCallbacks : LoadingStage

private static bool _finishedExecuting;

public StageRunPostFinalizeCallbacks(HarmonyInstance instance) : base(instance)
public StageRunPostFinalizeCallbacks(Harmony instance) : base(instance)
{
}

Expand Down Expand Up @@ -51,7 +51,7 @@ public override int GetMaximumProgress()
return _numTasksToRun;
}

public override void DoPatching(HarmonyInstance instance)
public override void DoPatching(Harmony instance)
{
instance.Patch(AccessTools.Method(typeof(LongEventHandler), "ExecuteToExecuteWhenFinished"), new HarmonyMethod(typeof(StageRunPostFinalizeCallbacks), nameof(PreExecToExecWhenFinished)));
}
Expand Down
Loading

0 comments on commit cba9e24

Please sign in to comment.