diff --git a/README.md b/README.md index d7bca4c..fdf0826 100644 --- a/README.md +++ b/README.md @@ -136,27 +136,17 @@ You can change the settings via the "Options" page of the main menu, or directly ## Building -If you'd like to build this yourself, all you need to do is download this repository and build from Visual Studio. If you want to build for BepInEx or MelonLoader IL2CPP then you will need to install the mod loader for a game and set the directory in the `csproj` file. +If you'd like to build this yourself, all you need to do is download this repository and build from Visual Studio. -For IL2CPP: -1. Install BepInEx or MelonLoader for your game. -2. Open the `src\UnityExplorer.csproj` file in a text editor. -3. Set `BIECppGameFolder` (for BepInEx) and/or `MLCppGameFolder` (for MelonLoader) so the project can locate the necessary references. -4. For Standalone builds, you can either install BepInEx for the game to build, or just change the .csproj file and set the Unhollower reference manually. - -For all builds: 1. Open the `src\UnityExplorer.sln` project. -2. Select `Solution 'UnityExplorer' (1 of 1 project)` in the Solution Explorer panel, and set the Active config property to the version you want to build, then build it. +2. Select `Solution 'UnityExplorer' (1 of 1 project)` in the Solution Explorer panel, and set the Active config property to the version you want to build, then build it. Alternatively, use "Batch Build" and select all releases. 3. The DLLs are built to the `Release\` folder in the root of the repository. -4. If ILRepack fails or is missing, use the NuGet package manager to re-install `ILRepack.Lib.MSBuild.Task`, then re-build. -## Credits +The references are all inside the `lib\` folder, if you need to change them for some reason then you can replace them there. -Written by Sinai. +## Acknowledgments -### Licensing - -This project uses code from: * (GPL) [ManlyMarco](https://github.com/ManlyMarco)'s [Runtime Unity Editor](https://github.com/ManlyMarco/RuntimeUnityEditor), which I used for some aspects of the C# Console and Auto-Complete features. The snippets I used are indicated with a comment. * (MIT) [denikson](https://github.com/denikson) (aka Horse)'s [mcs-unity](https://github.com/denikson/mcs-unity). I commented out the `SkipVisibilityExt` constructor since it was causing an exception with the Hook it attempted in IL2CPP. +* (Apache) [HerpDerpenstine](https://github.com/HerpDerpinstine) for [MelonCoroutines](https://github.com/LavaGang/MelonLoader/blob/master/MelonLoader.Support.Il2Cpp/MelonCoroutines.cs), which were included for standalone Il2CPP coroutine support. * (Apache) [InGameCodeEditor](https://assetstore.unity.com/packages/tools/gui/ingame-code-editor-144254) was used as the base for the syntax highlighting for UnityExplorer's C# console, although it has been heavily rewritten and optimized. Used classes are in the `UnityExplorer.UI.Main.CSConsole.Lexer` namespace. diff --git a/lib/UnhollowerBaseLib.dll b/lib/UnhollowerBaseLib.dll new file mode 100644 index 0000000..ab3e40f Binary files /dev/null and b/lib/UnhollowerBaseLib.dll differ diff --git a/lib/bepinex-il2cpp/Il2CppSystem.Core.dll b/lib/bepinex-il2cpp/Il2CppSystem.Core.dll new file mode 100644 index 0000000..30ff331 Binary files /dev/null and b/lib/bepinex-il2cpp/Il2CppSystem.Core.dll differ diff --git a/lib/bepinex-il2cpp/Il2Cppmscorlib.dll b/lib/bepinex-il2cpp/Il2Cppmscorlib.dll new file mode 100644 index 0000000..f9470e4 Binary files /dev/null and b/lib/bepinex-il2cpp/Il2Cppmscorlib.dll differ diff --git a/lib/bepinex-il2cpp/UnityEngine.CoreModule.dll b/lib/bepinex-il2cpp/UnityEngine.CoreModule.dll new file mode 100644 index 0000000..0821f34 Binary files /dev/null and b/lib/bepinex-il2cpp/UnityEngine.CoreModule.dll differ diff --git a/lib/bepinex-il2cpp/UnityEngine.IMGUIModule.dll b/lib/bepinex-il2cpp/UnityEngine.IMGUIModule.dll new file mode 100644 index 0000000..879db90 Binary files /dev/null and b/lib/bepinex-il2cpp/UnityEngine.IMGUIModule.dll differ diff --git a/lib/bepinex-il2cpp/UnityEngine.PhysicsModule.dll b/lib/bepinex-il2cpp/UnityEngine.PhysicsModule.dll new file mode 100644 index 0000000..f3cb0cc Binary files /dev/null and b/lib/bepinex-il2cpp/UnityEngine.PhysicsModule.dll differ diff --git a/lib/bepinex-il2cpp/UnityEngine.TextRenderingModule.dll b/lib/bepinex-il2cpp/UnityEngine.TextRenderingModule.dll new file mode 100644 index 0000000..50f9aad Binary files /dev/null and b/lib/bepinex-il2cpp/UnityEngine.TextRenderingModule.dll differ diff --git a/lib/bepinex-il2cpp/UnityEngine.UI.dll b/lib/bepinex-il2cpp/UnityEngine.UI.dll new file mode 100644 index 0000000..fdf4f40 Binary files /dev/null and b/lib/bepinex-il2cpp/UnityEngine.UI.dll differ diff --git a/lib/bepinex-il2cpp/UnityEngine.UIModule.dll b/lib/bepinex-il2cpp/UnityEngine.UIModule.dll new file mode 100644 index 0000000..db7cbea Binary files /dev/null and b/lib/bepinex-il2cpp/UnityEngine.UIModule.dll differ diff --git a/lib/bepinex-il2cpp/UnityEngine.dll b/lib/bepinex-il2cpp/UnityEngine.dll new file mode 100644 index 0000000..26d7c27 Binary files /dev/null and b/lib/bepinex-il2cpp/UnityEngine.dll differ diff --git a/lib/melonloader-il2cpp/Il2CppSystem.Core.dll b/lib/melonloader-il2cpp/Il2CppSystem.Core.dll new file mode 100644 index 0000000..c14ed82 Binary files /dev/null and b/lib/melonloader-il2cpp/Il2CppSystem.Core.dll differ diff --git a/lib/melonloader-il2cpp/Il2Cppmscorlib.dll b/lib/melonloader-il2cpp/Il2Cppmscorlib.dll new file mode 100644 index 0000000..7c69c31 Binary files /dev/null and b/lib/melonloader-il2cpp/Il2Cppmscorlib.dll differ diff --git a/lib/melonloader-il2cpp/UnityEngine.CoreModule.dll b/lib/melonloader-il2cpp/UnityEngine.CoreModule.dll new file mode 100644 index 0000000..2b9b866 Binary files /dev/null and b/lib/melonloader-il2cpp/UnityEngine.CoreModule.dll differ diff --git a/lib/melonloader-il2cpp/UnityEngine.IMGUIModule.dll b/lib/melonloader-il2cpp/UnityEngine.IMGUIModule.dll new file mode 100644 index 0000000..258ab68 Binary files /dev/null and b/lib/melonloader-il2cpp/UnityEngine.IMGUIModule.dll differ diff --git a/lib/melonloader-il2cpp/UnityEngine.PhysicsModule.dll b/lib/melonloader-il2cpp/UnityEngine.PhysicsModule.dll new file mode 100644 index 0000000..43d291e Binary files /dev/null and b/lib/melonloader-il2cpp/UnityEngine.PhysicsModule.dll differ diff --git a/lib/melonloader-il2cpp/UnityEngine.TextRenderingModule.dll b/lib/melonloader-il2cpp/UnityEngine.TextRenderingModule.dll new file mode 100644 index 0000000..c1ed29d Binary files /dev/null and b/lib/melonloader-il2cpp/UnityEngine.TextRenderingModule.dll differ diff --git a/lib/melonloader-il2cpp/UnityEngine.UI.dll b/lib/melonloader-il2cpp/UnityEngine.UI.dll new file mode 100644 index 0000000..caff3eb Binary files /dev/null and b/lib/melonloader-il2cpp/UnityEngine.UI.dll differ diff --git a/lib/melonloader-il2cpp/UnityEngine.UIModule.dll b/lib/melonloader-il2cpp/UnityEngine.UIModule.dll new file mode 100644 index 0000000..f9dfd6b Binary files /dev/null and b/lib/melonloader-il2cpp/UnityEngine.UIModule.dll differ diff --git a/lib/melonloader-il2cpp/UnityEngine.dll b/lib/melonloader-il2cpp/UnityEngine.dll new file mode 100644 index 0000000..94ad00f Binary files /dev/null and b/lib/melonloader-il2cpp/UnityEngine.dll differ diff --git a/src/UnityExplorer.csproj b/src/UnityExplorer.csproj index e67e0f4..3c907fd 100644 --- a/src/UnityExplorer.csproj +++ b/src/UnityExplorer.csproj @@ -24,10 +24,6 @@ x64 false UnityExplorer - - E:\source\Unity Projects\Test\_BUILD - - E:\source\Unity Projects\Test\_BUILD @@ -161,102 +157,102 @@ - $(MLCppGameFolder)\MelonLoader\MelonLoader.dll + ..\lib\MelonLoader.dll False - $(MLCppGameFolder)\MelonLoader\Managed\UnhollowerBaseLib.dll + ..\lib\UnhollowerBaseLib.dll False - $(MLCppGameFolder)\MelonLoader\Managed\Il2Cppmscorlib.dll + ..\lib\melonloader-il2cpp\Il2Cppmscorlib.dll False - $(MLCppGameFolder)\MelonLoader\Managed\Il2CppSystem.Core.dll + ..\lib\melonloader-il2cpp\Il2CppSystem.Core.dll False - $(MLCppGameFolder)\MelonLoader\Managed\UnityEngine.dll + ..\lib\melonloader-il2cpp\UnityEngine.dll False - $(MLCppGameFolder)\MelonLoader\Managed\UnityEngine.CoreModule.dll + ..\lib\melonloader-il2cpp\UnityEngine.CoreModule.dll False - $(MLCppGameFolder)\MelonLoader\Managed\UnityEngine.PhysicsModule.dll + ..\lib\melonloader-il2cpp\UnityEngine.PhysicsModule.dll False - $(MLCppGameFolder)\MelonLoader\Managed\UnityEngine.TextRenderingModule.dll + ..\lib\melonloader-il2cpp\UnityEngine.TextRenderingModule.dll False - $(MLCppGameFolder)\MelonLoader\Managed\UnityEngine.UI.dll + ..\lib\melonloader-il2cpp\UnityEngine.UI.dll False - $(MLCppGameFolder)\MelonLoader\Managed\UnityEngine.UIModule.dll + ..\lib\melonloader-il2cpp\UnityEngine.UIModule.dll False - $(MLCppGameFolder)\MelonLoader\Managed\UnityEngine.IMGUIModule.dll + ..\lib\melonloader-il2cpp\UnityEngine.IMGUIModule.dll False - $(BIECppGameFolder)\BepInEx\core\BepInEx.Core.dll + ..\lib\BepInEx.Core.dll False - $(BIECppGameFolder)\BepInEx\core\0Harmony.dll + ..\lib\0Harmony.dll False - $(BIECppGameFolder)\BepInEx\core\BepInEx.IL2CPP.dll + ..\lib\BepInEx.IL2CPP.dll False - $(BIECppGameFolder)\BepInEx\core\UnhollowerBaseLib.dll + ..\lib\UnhollowerBaseLib.dll False - $(BIECppGameFolder)\BepInEx\unhollowed\Il2Cppmscorlib.dll + ..\lib\bepinex-il2cpp\Il2Cppmscorlib.dll False - $(BIECppGameFolder)\BepInEx\unhollowed\Il2CppSystem.Core.dll + ..\lib\bepinex-il2cpp\Il2CppSystem.Core.dll False - $(BIECppGameFolder)\BepInEx\unhollowed\UnityEngine.dll + ..\lib\bepinex-il2cpp\UnityEngine.dll False - $(BIECppGameFolder)\BepInEx\unhollowed\UnityEngine.CoreModule.dll + ..\lib\bepinex-il2cpp\UnityEngine.CoreModule.dll False - $(BIECppGameFolder)\BepInEx\unhollowed\UnityEngine.PhysicsModule.dll + ..\lib\bepinex-il2cpp\UnityEngine.PhysicsModule.dll False - $(BIECppGameFolder)\BepInEx\unhollowed\UnityEngine.TextRenderingModule.dll + ..\lib\bepinex-il2cpp\UnityEngine.TextRenderingModule.dll False - $(BIECppGameFolder)\BepInEx\unhollowed\UnityEngine.UI.dll + ..\lib\bepinex-il2cpp\UnityEngine.UI.dll False - $(BIECppGameFolder)\BepInEx\unhollowed\UnityEngine.UIModule.dll + ..\lib\bepinex-il2cpp\UnityEngine.UIModule.dll False - $(BIECppGameFolder)\BepInEx\unhollowed\UnityEngine.IMGUIModule.dll + ..\lib\bepinex-il2cpp\UnityEngine.IMGUIModule.dll False