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
js6pak
0e58099a83
Allow changing preloader log name with an env variable
2022-08-14 17:18:59 +03:00
js6pak
9743fb4c13
Preloader fail fast
2022-08-14 17:18:58 +03:00
ghorsington
c184450015
Fix BepInExLogger not logging exceptions
2022-08-14 17:18:58 +03:00
ghorsington
0bc9578e75
Update Cakebuild script
2022-08-14 17:18:58 +03:00
js6pak
5ba319927f
Add linux support
2022-08-14 17:18:58 +03:00
js6pak
8d26da3cda
Centralize the delegate workaround
2022-08-14 17:18:58 +03:00
js6pak
5dce49007e
ConsoleOut workaround isn't needed anymore
2022-08-14 17:18:58 +03:00
ghorsington
97998e7387
Use latest dotnet; fix *nix scripts
2022-08-14 17:18:58 +03:00
js6pak
3538abf277
Support macos
2022-08-14 17:18:58 +03:00
js6pak
12079aeb09
Improve ConsoleWindow exceptions
2022-08-14 17:18:58 +03:00
js6pak
1315427acd
Fix console on wine
2022-08-14 17:18:58 +03:00
ghorsington
266a2c87db
Use new Il2CppInterop detour provider, add Il2CppInterop.HarmonySupport
2022-08-14 17:18:58 +03:00
ghorsington
59097dbb73
Update Il2CppInterop; use new runner API
2022-08-14 17:18:58 +03:00
ghorsington
abb10739db
Target latest Il2CppInterop code
2022-08-14 17:18:58 +03:00
Kasuromi
01635d9f02
Cache Harmony Delegates & Runtime Invoke
2022-08-14 17:18:58 +03:00
ghorsington
68cadbf697
Fix hook logs not showing
2022-08-14 17:18:58 +03:00
ghorsington
6ca26f4b59
Clean up after merge
2022-08-14 17:18:58 +03:00
Kasuromi
83b72d568b
Add config option for forced detour provider
2022-08-14 17:18:58 +03:00
Kasuromi
9432878863
Remove unused method
2022-08-14 17:18:58 +03:00