Commit Graph
1524 Commits
Author SHA1 Message Date
js6pak 0d2cbe61bf Add chainloader events 2022-08-24 21:55:09 +02:00
ghorsington 78b5b58884 Build: Fix NuGet packages not being pushed 2022-08-15 22:22:14 +03:00
ghorsington b41697c34a CI: Fix BE file lookup; fix last build commit check 2022-08-14 17:57:40 +03:00
Geoffrey Horsington dbe19b7f94 Merge pull request #391 from BepInEx/feature-doorstop-4
Restructure project, add Doorstop 4 support, use CoreCLR for Il2Cpp
2022-08-14 17:43:53 +03:00
ghorsington e8ba62bc73 Specify correct .NET version in README 2022-08-14 17:19:09 +03:00
ghorsington b91734508e Bump Doorstop version 2022-08-14 17:19:09 +03:00
ghorsington 0e8ff5c213 Use dotnet 6.0.7 2022-08-14 17:19:09 +03:00
ghorsington 9e8c0bdcef Move extra docs to docs/ 2022-08-14 17:19:09 +03:00
ghorsington add17f1fe8 Add build types to build script; enable CI for all branches 2022-08-14 17:19:09 +03:00
ghorsington 27016a3680 Update build guide 2022-08-14 17:19:09 +03:00
ghorsington 67736092ff Add package descriptions 2022-08-14 17:19:09 +03:00
ghorsington 4695db14a7 CI: Update workflow scripts to work with new args 2022-08-14 17:19:09 +03:00
ghorsington 62329252e8 Remove old tests project 2022-08-14 17:19:09 +03:00
ghorsington 008f835e80 Port Cakebuild script to Cake.Frosting 2022-08-14 17:19:09 +03:00
ghorsington f7857c7994 Restructure project names and folder layout 2022-08-14 17:19:09 +03:00
ghorsington ae18f16803 Il2Cpp: Redirect stderr on Windows to log CoreCLR crash messages
On Windows, emit BepInEx/ErrorLog.log that will contain the latest stderr
This allows to catch any errors CoreCLR writes before closing on a fatal crash

On Unix, same is already possible via normal piping
2022-08-14 17:19:09 +03:00
ghorsington c5ca4a8ee5 Il2Cpp: Add missing Console redirect fix 2022-08-14 17:19:09 +03:00
ghorsington ad5ca9d9d3 Bump Doorstop 2022-08-14 17:19:09 +03:00
ghorsington 531bda7673 Use Doorstop 4.0.0-rc.6 2022-08-14 17:19:09 +03:00
ghorsington 8d743ff808 run_bepinex_mono: Fix target name 2022-08-14 17:19:09 +03:00
ghorsington c7704558a1 Port #443 from upstream 2022-08-14 17:19:09 +03:00
ghorsington cb344fbe99 Disable linux x86 build for Il2Cpp 2022-08-14 17:19:09 +03:00
ghorsington 6bb83b5728 Bump Il2CppInterop version 2022-08-14 17:19:09 +03:00
ghorsington ad85dbbf67 Fix style 2022-08-14 17:19:09 +03:00
ghorsington 39b84a2b4e Remove remaining "unhollow" wording 2022-08-14 17:19:09 +03:00
ghorsington 4b240fc90b Select better entrypoint for Unity 4; restore ThreadingHelper
ThreadingHelper seemed to cause crashes on Unity 4 because of too early default entrypoint. Using the new version resolver, this changes now selects MonoBehaviour as the new default entrypoint for older Unity versions
2022-08-14 17:19:09 +03:00
ghorsington 9e87075129 Use new version handler for Il2CppInteropManager 2022-08-14 17:19:09 +03:00
ghorsington 579ee8511b Add extended Unity version resolver; reorganise projects
The new resolver resides in BepInEx.Unity.Core
The resolver is based on multiple heuristics and integrates all workarounds we currently use so this shouldn't be a breaking change
2022-08-14 17:19:09 +03:00
ghorsington f27cfd7215 Fix MonoAssemblyHelper not working on Unity 5 and older
In older Unity (ones that embed UnityPlayer into the EXE), __Internal will map to the EXE which causes wrong DllImport resolving. Instead, use Doorstop's env var to resolve correct functions
2022-08-14 17:19:08 +03:00
ghorsington 5ef040f96d Add Doorstop folders as solution items 2022-08-14 17:19:08 +03:00
ghorsington ea6af5f94a Bump Doorstop version 2022-08-14 17:19:08 +03:00
ghorsington 24d2395833 Bump CakeBuild version 2022-08-14 17:19:08 +03:00
ghorsington 275105619e Remove extra logging 2022-08-14 17:19:08 +03:00
ghorsington 828ef20996 UnityMono: Resolve assemblies into memory using mono API
This fixes several issues with loading assemblies. In turn, this commit also removes old Location/CodeBase fixes since now assemblies are resolved automatically correctly.

Additionally, integrate the mono loader into preloading which fixes assembly location resolving
2022-08-14 17:19:08 +03:00
ghorsington f400445ba1 Refactor Unity -> UnityMono
Use runtime names for BepInEx modules instead of just the game engine
2022-08-14 17:19:08 +03:00
ghorsington 46d9dd4f62 Fix Wine check not working on UnityMono version
DynDll relies on PlatformHelper in net35 version which can cause early loading
2022-08-14 17:19:08 +03:00
ghorsington f658a4fbdf Adjust hash info message 2022-08-14 17:19:08 +03:00
ghorsington d232386aea Use release .NET 6.0.6 builds 2022-08-14 17:19:08 +03:00
ghorsington d190b069a1 Restructure versioning and project configuration
To simplify versioning and configuration:

* Removed BepInEx.Shared
* Removed BuildInfoAttribute
* Moved shared configuration to Directory.Build.props
* Refactored to use VersionSuffix and SourceRevisionId for embedding BE and commit hash info
* Enabled debug info embedding
2022-08-14 17:19:06 +03:00
ghorsington 28487d237a Disable Il2CppInterop parallel writing on Wine
At the moment high parallel I/O causes issues on Wine, so it's better to disable it for the time being
2022-08-14 17:18:59 +03:00
ghorsington 60147c73dc Add platform check for Wine, report Wine version 2022-08-14 17:18:59 +03:00
ghorsington d42f342d15 Bump Il2CppInterop 2022-08-14 17:18:59 +03:00
ghorsington dcab274a77 Bump Il2CppInterop version 2022-08-14 17:18:59 +03:00
Kasuromi cbb864dfde Pass in delegate instead of function pointer 2022-08-14 17:18:59 +03:00
Kasuromi e0023bb834 Wrap detour on create 2022-08-14 17:18:59 +03:00
js6pak ef89754d48 Add the using back 2022-08-14 17:18:59 +03:00
Kasuromi 0c0b8cfe10 it was still needed 2022-08-14 17:18:59 +03:00
ghorsington cad26ff6e0 Update Doorstop 2022-08-14 17:18:59 +03:00
ghorsington 8122165dbd Update README 2022-08-14 17:18:59 +03:00
ghorsington 9224a2a820 Update Il2CppInterop 2022-08-14 17:18:59 +03:00