Skip to content

Commit f8df230

Browse files
committed
Fix internal field change causing issue on ModSet creation
1 parent da09406 commit f8df230

File tree

5 files changed

+10
-8
lines changed

5 files changed

+10
-8
lines changed

Assemblies/ModSwitch.dll

0 Bytes
Binary file not shown.

Source/ModSwitch/Model/ModSet.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,15 @@
77
using System.Text;
88
using System.Text.RegularExpressions;
99
using Harmony;
10+
using RimWorld;
1011
using UnityEngine;
1112
using Verse;
1213

1314
namespace DoctorVanGogh.ModSwitch {
1415
internal class ModSet : IExposable {
1516
private static readonly FieldInfo fiModsConfig_data;
1617
private static readonly FieldInfo fiModsConfigData_activeMods;
17-
private static readonly FieldInfo fiModsConfigData_buildNumber;
18+
private static readonly FieldInfo fiModsConfigData_version;
1819

1920
private static readonly Regex rgxSteamModId;
2021

@@ -37,7 +38,7 @@ static ModSet() {
3738
Type tModsConfig = typeof(ModsConfig);
3839
Type tModsConfigData = AccessTools.Inner(tModsConfig, @"ModsConfigData");
3940
fiModsConfigData_activeMods = AccessTools.Field(tModsConfigData, @"activeMods");
40-
fiModsConfigData_buildNumber = AccessTools.Field(tModsConfigData, @"buildNumber");
41+
fiModsConfigData_version = AccessTools.Field(tModsConfigData, @"version");
4142
fiModsConfig_data = AccessTools.Field(tModsConfig, @"data");
4243

4344
rgxSteamModId = new Regex(@"^\d+$", RegexOptions.Singleline | RegexOptions.Compiled);
@@ -229,7 +230,7 @@ public static ModSet FromCurrent(string name, Settings owner) {
229230

230231
return new ModSet(owner) {
231232
Name = name,
232-
BuildNumber = (int) fiModsConfigData_buildNumber.GetValue(modsConfigData),
233+
BuildNumber = VersionControl.BuildFromVersionString((string)fiModsConfigData_version.GetValue(modsConfigData)),
233234
Mods = new List<string>((IEnumerable<string>) fiModsConfigData_activeMods.GetValue(modsConfigData))
234235
};
235236
}

Source/ModSwitch/Properties/AssemblyInfo.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,6 @@
1212
[assembly: System.Reflection.AssemblyCopyright("Copyright © DoctorVanGogh 2017")]
1313
[assembly: System.Runtime.InteropServices.ComVisible(false)]
1414
[assembly: System.Runtime.InteropServices.Guid("ab2e8e89-3d1d-4e36-a0ae-489b6ebc84a6")]
15-
[assembly: System.Reflection.AssemblyVersion("1.7.0.218")]
15+
[assembly: System.Reflection.AssemblyVersion("1.7.1.223")]
1616

1717

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.7.0.218
1+
1.7.1.223

Source/ModSwitch/[Patches]/Patches.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -790,9 +790,10 @@ public static bool FindFragment(List<CodeInstruction> instructions, OpCode[] opC
790790
return false;
791791
}
792792

793-
public static string ShortVerisonString(string targetVersion)
794-
{
795-
return VersionControl.MajorFromVersionString(targetVersion).ToString() + "." + VersionControl.MinorFromVersionString(targetVersion).ToString();
793+
public static string ShortVerisonString(string targetVersion) {
794+
return VersionControl.IsWellFormattedVersionString(targetVersion)
795+
? VersionControl.VersionFromString(targetVersion).ToString(2)
796+
: targetVersion;
796797
}
797798
}
798799
}

0 commit comments

Comments
 (0)