From 0bc5fae99e92d1b406a00fe4a6a3ba76bbe73499 Mon Sep 17 00:00:00 2001 From: Odjit Date: Thu, 2 May 2024 18:30:29 -0400 Subject: [PATCH 1/2] Fixes --- BepInEx.sln | 62 +++++++++++++------ .../BepInEx.Unity.Common.csproj | 2 +- .../Unity/BepInEx.Unity.Common/UnityInfo.cs | 4 +- .../BepInEx.Unity.IL2CPP.csproj | 12 ++-- .../Il2CppInteropManager.cs | 2 +- .../EntrypointPatcher.cs | 4 +- 6 files changed, 56 insertions(+), 30 deletions(-) diff --git a/BepInEx.sln b/BepInEx.sln index 356b05d7..f8a1c47d 100644 --- a/BepInEx.sln +++ b/BepInEx.sln @@ -37,7 +37,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Shared", "Shared", "{12081C EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Unity", "Unity", "{BF8F4E07-3B89-4152-89F4-9EF9D4AAA1E0}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BepInEx.Unity.Common", "Runtimes\Unity\BepInEx.Unity.Common\BepInEx.Unity.Common.csproj", "{C32E74A3-C0BD-42DE-9E2F-D033D496ACB9}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BepInEx.Unity.Common", "Runtimes\Unity\BepInEx.Unity.Common\BepInEx.Unity.Common.csproj", "{C32E74A3-C0BD-42DE-9E2F-D033D496ACB9}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "IL2CPP", "IL2CPP", "{E4E75C18-4156-4213-A20C-8677EF6B5312}" EndProject @@ -49,22 +49,15 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Doorstop", "Doorstop", "{CE Runtimes\Unity\Doorstop\run_bepinex_mono.sh = Runtimes\Unity\Doorstop\run_bepinex_mono.sh EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Build", "build\Build.csproj", "{0C38DDF2-EAAA-43FA-BA0A-985636AC6040}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Build", "build\Build.csproj", "{0C38DDF2-EAAA-43FA-BA0A-985636AC6040}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Il2CppInterop.Runtime", "..\Il2CppInterop\Il2CppInterop.Runtime\Il2CppInterop.Runtime.csproj", "{A329626D-805F-4F9F-885A-19A90A3D6BAD}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Il2CppInterop.Generator", "..\Il2CppInterop\Il2CppInterop.Generator\Il2CppInterop.Generator.csproj", "{54ECDDC1-2D29-4BFD-8D70-AFE26BA7C2F3}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Il2CppInterop.HarmonySupport", "..\Il2CppInterop\Il2CppInterop.HarmonySupport\Il2CppInterop.HarmonySupport.csproj", "{9D11712C-B669-46B7-B509-8D92108E65D1}" EndProject Global - GlobalSection(SharedMSBuildProjectFiles) = preSolution - BepInEx.NetLauncher.Shared\BepInEx.NetLauncher.Shared.projitems*{067bcc8c-fc25-4929-b4f4-c6a5a7496994}*SharedItemsImports = 13 - BepInEx.NetLauncher.Shared\BepInEx.NetLauncher.Shared.projitems*{08083f40-98aa-4176-ba01-817c18c35c7f}*SharedItemsImports = 5 - BepInEx.Shared\BepInEx.Shared.projitems*{08083f40-98aa-4176-ba01-817c18c35c7f}*SharedItemsImports = 5 - BepInEx.Shared\BepInEx.Shared.projitems*{15f8bc38-a761-4f93-8903-1b531ac5d9f9}*SharedItemsImports = 5 - BepInEx.Shared\BepInEx.Shared.projitems*{429d5f83-7fec-4d09-ab82-e868eb61af59}*SharedItemsImports = 5 - BepInEx.NetLauncher.Shared\BepInEx.NetLauncher.Shared.projitems*{490b052b-7f23-4052-ad04-613856618901}*SharedItemsImports = 5 - BepInEx.Shared\BepInEx.Shared.projitems*{490b052b-7f23-4052-ad04-613856618901}*SharedItemsImports = 5 - BepInEx.Shared\BepInEx.Shared.projitems*{4ffba620-f5ed-47f9-b90c-dad1316fd9b9}*SharedItemsImports = 5 - BepInEx.Shared\BepInEx.Shared.projitems*{5c7847fb-c16d-47bd-bb17-1045669f9aa7}*SharedItemsImports = 13 - BepInEx.Shared\BepInEx.Shared.projitems*{d404c973-441d-48ed-b266-c21320ba0d87}*SharedItemsImports = 5 - BepInEx.Shared\BepInEx.Shared.projitems*{eae9fae6-8011-45a3-8b6e-0c7f14210533}*SharedItemsImports = 5 - EndGlobalSection GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU Release_NetFramework|Any CPU = Release_NetFramework|Any CPU @@ -147,6 +140,30 @@ Global {0C38DDF2-EAAA-43FA-BA0A-985636AC6040}.Release_Unity|Any CPU.ActiveCfg = Debug|Any CPU {0C38DDF2-EAAA-43FA-BA0A-985636AC6040}.Release_Unity|Any CPU.Build.0 = Debug|Any CPU {0C38DDF2-EAAA-43FA-BA0A-985636AC6040}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A329626D-805F-4F9F-885A-19A90A3D6BAD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A329626D-805F-4F9F-885A-19A90A3D6BAD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A329626D-805F-4F9F-885A-19A90A3D6BAD}.Release_NetFramework|Any CPU.ActiveCfg = Release|Any CPU + {A329626D-805F-4F9F-885A-19A90A3D6BAD}.Release_NetFramework|Any CPU.Build.0 = Release|Any CPU + {A329626D-805F-4F9F-885A-19A90A3D6BAD}.Release_Unity|Any CPU.ActiveCfg = Release|Any CPU + {A329626D-805F-4F9F-885A-19A90A3D6BAD}.Release_Unity|Any CPU.Build.0 = Release|Any CPU + {A329626D-805F-4F9F-885A-19A90A3D6BAD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A329626D-805F-4F9F-885A-19A90A3D6BAD}.Release|Any CPU.Build.0 = Release|Any CPU + {54ECDDC1-2D29-4BFD-8D70-AFE26BA7C2F3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {54ECDDC1-2D29-4BFD-8D70-AFE26BA7C2F3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {54ECDDC1-2D29-4BFD-8D70-AFE26BA7C2F3}.Release_NetFramework|Any CPU.ActiveCfg = Release|Any CPU + {54ECDDC1-2D29-4BFD-8D70-AFE26BA7C2F3}.Release_NetFramework|Any CPU.Build.0 = Release|Any CPU + {54ECDDC1-2D29-4BFD-8D70-AFE26BA7C2F3}.Release_Unity|Any CPU.ActiveCfg = Release|Any CPU + {54ECDDC1-2D29-4BFD-8D70-AFE26BA7C2F3}.Release_Unity|Any CPU.Build.0 = Release|Any CPU + {54ECDDC1-2D29-4BFD-8D70-AFE26BA7C2F3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {54ECDDC1-2D29-4BFD-8D70-AFE26BA7C2F3}.Release|Any CPU.Build.0 = Release|Any CPU + {9D11712C-B669-46B7-B509-8D92108E65D1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9D11712C-B669-46B7-B509-8D92108E65D1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9D11712C-B669-46B7-B509-8D92108E65D1}.Release_NetFramework|Any CPU.ActiveCfg = Release|Any CPU + {9D11712C-B669-46B7-B509-8D92108E65D1}.Release_NetFramework|Any CPU.Build.0 = Release|Any CPU + {9D11712C-B669-46B7-B509-8D92108E65D1}.Release_Unity|Any CPU.ActiveCfg = Release|Any CPU + {9D11712C-B669-46B7-B509-8D92108E65D1}.Release_Unity|Any CPU.Build.0 = Release|Any CPU + {9D11712C-B669-46B7-B509-8D92108E65D1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9D11712C-B669-46B7-B509-8D92108E65D1}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -154,18 +171,27 @@ Global GlobalSection(NestedProjects) = preSolution {EAE9FAE6-8011-45A3-8B6E-0C7F14210533} = {6E2DD21E-0854-4F4A-B925-D90E0016D03D} {D404C973-441D-48ED-B266-C21320BA0D87} = {6E2DD21E-0854-4F4A-B925-D90E0016D03D} + {6E2DD21E-0854-4F4A-B925-D90E0016D03D} = {BF8F4E07-3B89-4152-89F4-9EF9D4AAA1E0} {490B052B-7F23-4052-AD04-613856618901} = {6EC98884-A3DC-4828-85EF-5F10F7519429} + {429D5F83-7FEC-4D09-AB82-E868EB61AF59} = {E4E75C18-4156-4213-A20C-8677EF6B5312} + {68C57430-3E92-4B50-A9A5-208FE9CCD914} = {12081C35-76DF-450C-AC83-1E1CB84516AA} {76EB1952-7826-471C-9CF3-815D094DA077} = {6EC98884-A3DC-4828-85EF-5F10F7519429} {08083F40-98AA-4176-BA01-817C18C35C7F} = {6EC98884-A3DC-4828-85EF-5F10F7519429} {067BCC8C-FC25-4929-B4F4-C6A5A7496994} = {6EC98884-A3DC-4828-85EF-5F10F7519429} - {68C57430-3E92-4B50-A9A5-208FE9CCD914} = {12081C35-76DF-450C-AC83-1E1CB84516AA} - {6E2DD21E-0854-4F4A-B925-D90E0016D03D} = {BF8F4E07-3B89-4152-89F4-9EF9D4AAA1E0} {C32E74A3-C0BD-42DE-9E2F-D033D496ACB9} = {BF8F4E07-3B89-4152-89F4-9EF9D4AAA1E0} {E4E75C18-4156-4213-A20C-8677EF6B5312} = {BF8F4E07-3B89-4152-89F4-9EF9D4AAA1E0} - {429D5F83-7FEC-4D09-AB82-E868EB61AF59} = {E4E75C18-4156-4213-A20C-8677EF6B5312} {CE06453E-44E7-4D50-9A68-AA15F4C1C8D1} = {BF8F4E07-3B89-4152-89F4-9EF9D4AAA1E0} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {55AC11EF-F568-4C79-A356-7ED9510145B1} EndGlobalSection + GlobalSection(SharedMSBuildProjectFiles) = preSolution + Runtimes\NET\BepInEx.NET.Shared\BepInEx.NET.Shared.projitems*{08083f40-98aa-4176-ba01-817c18c35c7f}*SharedItemsImports = 5 + BepInEx.Shared\BepInEx.Shared.projitems*{15f8bc38-a761-4f93-8903-1b531ac5d9f9}*SharedItemsImports = 5 + BepInEx.Shared\BepInEx.Shared.projitems*{429d5f83-7fec-4d09-ab82-e868eb61af59}*SharedItemsImports = 5 + Runtimes\NET\BepInEx.NET.Shared\BepInEx.NET.Shared.projitems*{490b052b-7f23-4052-ad04-613856618901}*SharedItemsImports = 5 + BepInEx.Shared\BepInEx.Shared.projitems*{4ffba620-f5ed-47f9-b90c-dad1316fd9b9}*SharedItemsImports = 5 + BepInEx.Shared\BepInEx.Shared.projitems*{d404c973-441d-48ed-b266-c21320ba0d87}*SharedItemsImports = 5 + BepInEx.Shared\BepInEx.Shared.projitems*{eae9fae6-8011-45a3-8b6e-0c7f14210533}*SharedItemsImports = 5 + EndGlobalSection EndGlobal diff --git a/Runtimes/Unity/BepInEx.Unity.Common/BepInEx.Unity.Common.csproj b/Runtimes/Unity/BepInEx.Unity.Common/BepInEx.Unity.Common.csproj index 1abdd26c..77791ba1 100644 --- a/Runtimes/Unity/BepInEx.Unity.Common/BepInEx.Unity.Common.csproj +++ b/Runtimes/Unity/BepInEx.Unity.Common/BepInEx.Unity.Common.csproj @@ -6,7 +6,7 @@ - + diff --git a/Runtimes/Unity/BepInEx.Unity.Common/UnityInfo.cs b/Runtimes/Unity/BepInEx.Unity.Common/UnityInfo.cs index ae1ad3da..663a7366 100644 --- a/Runtimes/Unity/BepInEx.Unity.Common/UnityInfo.cs +++ b/Runtimes/Unity/BepInEx.Unity.Common/UnityInfo.cs @@ -1,9 +1,9 @@ -using System; +using System; using System.Diagnostics; using System.IO; using System.Runtime.CompilerServices; using System.Text; -using AssetRipper.VersionUtilities; +using AssetRipper.Primitives; using MonoMod.Utils; [assembly: InternalsVisibleTo("BepInEx.Unity.Mono.Preloader")] diff --git a/Runtimes/Unity/BepInEx.Unity.IL2CPP/BepInEx.Unity.IL2CPP.csproj b/Runtimes/Unity/BepInEx.Unity.IL2CPP/BepInEx.Unity.IL2CPP.csproj index 79a5ee4c..13c65a1d 100644 --- a/Runtimes/Unity/BepInEx.Unity.IL2CPP/BepInEx.Unity.IL2CPP.csproj +++ b/Runtimes/Unity/BepInEx.Unity.IL2CPP/BepInEx.Unity.IL2CPP.csproj @@ -1,4 +1,4 @@ - + BepInEx support library for Il2Cpp games net6.0 @@ -14,15 +14,15 @@ - - - + + + - + - + diff --git a/Runtimes/Unity/BepInEx.Unity.IL2CPP/Il2CppInteropManager.cs b/Runtimes/Unity/BepInEx.Unity.IL2CPP/Il2CppInteropManager.cs index 063f9517..cc43facb 100644 --- a/Runtimes/Unity/BepInEx.Unity.IL2CPP/Il2CppInteropManager.cs +++ b/Runtimes/Unity/BepInEx.Unity.IL2CPP/Il2CppInteropManager.cs @@ -316,7 +316,7 @@ private static void DownloadUnityAssemblies() cpp2IlProcessingLayer.Process(Cpp2IlApi.CurrentAppContext); } - var assemblies = new AsmResolverDummyDllOutputFormat().BuildAssemblies(Cpp2IlApi.CurrentAppContext); + var assemblies = new AsmResolverDllOutputFormatDefault().BuildAssemblies(Cpp2IlApi.CurrentAppContext); LibCpp2IlMain.Reset(); Cpp2IlApi.CurrentAppContext = null; diff --git a/Runtimes/Unity/BepInEx.Unity.Mono.Preloader/EntrypointPatcher.cs b/Runtimes/Unity/BepInEx.Unity.Mono.Preloader/EntrypointPatcher.cs index bfb52f07..fb2f834b 100644 --- a/Runtimes/Unity/BepInEx.Unity.Mono.Preloader/EntrypointPatcher.cs +++ b/Runtimes/Unity/BepInEx.Unity.Mono.Preloader/EntrypointPatcher.cs @@ -31,9 +31,9 @@ internal class EntrypointPatcher : BasePatcher "The name of the method in the specified entrypoint assembly and type to hook and load Chainloader from."); private static string DefaultEntrypointAssembly => - UnityInfo.Version.IsLess(2017) ? "UnityEngine.dll" : "UnityEngine.CoreModule.dll"; + UnityInfo.Version.LessThan(2017) ? "UnityEngine.dll" : "UnityEngine.CoreModule.dll"; - private static string DefaultEntrypointType => UnityInfo.Version.IsLess(5) ? "MonoBehaviour" : "Application"; + private static string DefaultEntrypointType => UnityInfo.Version.LessThan(5) ? "MonoBehaviour" : "Application"; private bool HasLoaded { get; set; } From 91a1059b88ddedbda68c80942624d86937270c3a Mon Sep 17 00:00:00 2001 From: Odjit Date: Mon, 6 May 2024 09:21:32 -0400 Subject: [PATCH 2/2] Commenting out exception --- .../Unity/BepInEx.Unity.IL2CPP/Logging/IL2CPPUnityLogSource.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Runtimes/Unity/BepInEx.Unity.IL2CPP/Logging/IL2CPPUnityLogSource.cs b/Runtimes/Unity/BepInEx.Unity.IL2CPP/Logging/IL2CPPUnityLogSource.cs index 53e0d6b9..7c1ee669 100644 --- a/Runtimes/Unity/BepInEx.Unity.IL2CPP/Logging/IL2CPPUnityLogSource.cs +++ b/Runtimes/Unity/BepInEx.Unity.IL2CPP/Logging/IL2CPPUnityLogSource.cs @@ -8,7 +8,7 @@ public class IL2CPPUnityLogSource : ILogSource { public IL2CPPUnityLogSource() { - Application.s_LogCallbackHandler = new Action(UnityLogCallback); + //Application.s_LogCallbackHandler = new Action(UnityLogCallback); Il2CppInterop.Runtime.IL2CPP .ResolveICall<