mirror of
https://github.com/BepInEx/BepInEx.git
synced 2026-10-20 01:46:13 +00:00
4 files changed
+1
-45
No files matched your search
@@ -8,7 +8,6 @@ using BepInEx.Configuration;
|
||||
using BepInEx.Logging;
|
||||
using BepInEx.NetLauncher.RuntimeFixes;
|
||||
using BepInEx.Preloader.Core;
|
||||
using BepInEx.Preloader.Core.RuntimeFixes;
|
||||
using MonoMod.RuntimeDetour;
|
||||
|
||||
namespace BepInEx.NetLauncher
|
||||
@@ -48,8 +47,6 @@ namespace BepInEx.NetLauncher
|
||||
|
||||
Logger.Sources.Add(TraceLogSource.CreateSource());
|
||||
|
||||
HarmonyFixes.Apply();
|
||||
|
||||
string consoleTile = $"BepInEx {typeof(Paths).Assembly.GetName().Version} - {Process.GetCurrentProcess().ProcessName}";
|
||||
Log.LogMessage(consoleTile);
|
||||
|
||||
|
||||
@@ -42,7 +42,6 @@
|
||||
<Compile Include="Patching\PatcherPlugin.cs" />
|
||||
<Compile Include="InternalPreloaderLogger.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="RuntimeFixes\HarmonyFixes.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\BepInEx.Core\BepInEx.Core.csproj">
|
||||
@@ -64,5 +63,6 @@
|
||||
<Version>20.8.3.5</Version>
|
||||
</PackageReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
@@ -1,36 +0,0 @@
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using HarmonyLib;
|
||||
|
||||
namespace BepInEx.Preloader.Core.RuntimeFixes
|
||||
{
|
||||
public static class HarmonyFixes
|
||||
{
|
||||
public static void Apply()
|
||||
{
|
||||
try
|
||||
{
|
||||
var harmony = new HarmonyLib.Harmony("BepInEx.Preloader.RuntimeFixes.HarmonyFixes");
|
||||
harmony.Patch(AccessTools.Method(typeof(Traverse), nameof(Traverse.GetValue), new Type[0]), null, new HarmonyMethod(typeof(HarmonyFixes), nameof(GetValue)));
|
||||
harmony.Patch(AccessTools.Method(typeof(Traverse), nameof(Traverse.SetValue), new []{ typeof(object) }), null, new HarmonyMethod(typeof(HarmonyFixes), nameof(SetValue)));
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
PreloaderLogger.Log.LogError(e);
|
||||
}
|
||||
}
|
||||
|
||||
private static void GetValue(Traverse __instance)
|
||||
{
|
||||
if (!__instance.FieldExists() && !__instance.MethodExists() && !__instance.TypeExists())
|
||||
PreloaderLogger.Log.LogWarning("Traverse.GetValue was called while not pointing at an existing Field, Property, Method or Type. The return value can be unexpected.\n" + new StackTrace());
|
||||
}
|
||||
|
||||
private static void SetValue(Traverse __instance)
|
||||
{
|
||||
// If method exists it will crash inside traverse so only need to mention the field missing
|
||||
if (!__instance.FieldExists() && !__instance.MethodExists())
|
||||
PreloaderLogger.Log.LogWarning("Traverse.SetValue was called while not pointing at an existing Field or Property. The call will have no effect.\n" + new StackTrace());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3,18 +3,15 @@ using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using BepInEx.Bootstrap;
|
||||
using BepInEx.Configuration;
|
||||
using BepInEx.Core.Logging;
|
||||
using BepInEx.Logging;
|
||||
using BepInEx.Preloader.Core;
|
||||
using BepInEx.Preloader.Core.Logging;
|
||||
using BepInEx.Preloader.Core.RuntimeFixes;
|
||||
using BepInEx.Preloader.RuntimeFixes;
|
||||
using Mono.Cecil;
|
||||
using Mono.Cecil.Cil;
|
||||
using MonoMod.RuntimeDetour;
|
||||
using MonoMod.Utils;
|
||||
using MethodAttributes = Mono.Cecil.MethodAttributes;
|
||||
|
||||
@@ -55,8 +52,6 @@ namespace BepInEx.Preloader.Unity
|
||||
|
||||
Logger.Sources.Add(TraceLogSource.CreateSource());
|
||||
|
||||
HarmonyFixes.Apply();
|
||||
|
||||
PreloaderLog = new PreloaderConsoleListener(ConfigPreloaderCOutLogging.Value);
|
||||
Logger.Listeners.Add(PreloaderLog);
|
||||
|
||||
|
||||
Reference in new issue
Block a user