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
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
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
ghorsington
97998e7387
Use latest dotnet; fix *nix scripts
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
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
ghorsington
3a47049c01
Add dobby to distribution
2022-08-14 17:18:58 +03:00
ghorsington
0da14c507c
BepInEx.IL2CPP: Move runtime info logging to preloader
2022-08-14 17:18:58 +03:00
ghorsington
5afef9a1db
FastNativeDetour: temporary fix for net6.0 support
2022-08-14 17:18:58 +03:00
ghorsington
7a54a77946
BepInEx.IL2CPP: Remove old MonoExtensions
2022-08-14 17:18:58 +03:00
ghorsington
b80f29784c
BepInEx.IL2CPP: Fix mutex checks
2022-08-14 17:18:58 +03:00
ghorsington
8dc326c652
ConsoleManager: enable console by default
2022-08-14 17:18:58 +03:00
ghorsington
a8dbe2c481
BepInEx.IL2CPP: fix ReferenceLibs copying to output
2022-08-14 17:18:58 +03:00
ghorsington
a1c7f5c4b1
ConsoleManager: refactor useWinApiEncoder -> useManagedEncoder
2022-08-14 17:18:58 +03:00
ghorsington
57658bdbb7
BepInEx.IL2CPP: retarget to net6.0, switch to Il2CppInterop
2022-08-14 17:18:58 +03:00
ghorsington
514d273371
Use RC builds for Doorstop 4
2022-08-14 17:18:58 +03:00
ghorsington
c2dfd63f45
CakeBuild: Revert "task" -> "target"
...
CakeBuild always expects main task to be defined in "target" argument, see
https://cakebuild.net/docs/writing-builds/running-targets
2022-08-14 17:18:58 +03:00
ghorsington
b927279bfa
Il2Cpp: bundle dotnet runtime, add linux/macos
...
Currently Il2Cpp builds don't actually run as changes need to be done to BepInEx.IL2CPP.
2022-08-14 17:18:58 +03:00
ghorsington
a431814a19
Add note about platform name
2022-08-14 17:18:57 +03:00
ghorsington
ae9232abc4
Add nightly.link comment bot for PRs
2022-08-14 17:18:57 +03:00
ghorsington
f4334f56c0
Update CI to work with Doorstop 4
2022-08-14 17:18:57 +03:00
ghorsington
ec79ad057b
Allow giving special versions to build script
2022-08-14 17:18:08 +03:00
ghorsington
e473f08e0a
ConfigFile: Fix visibility of Values
...
GetConfigEntries was obsoleted, but Values was never set to public (only explicitly implemented)
2022-08-09 21:23:17 +03:00
Geoffrey Horsington
9c2b17f3e4
Merge pull request #443 from TheLounger/master
...
Add unhollower RegEx rename config option
2022-07-13 18:34:20 +03:00
ghorsington
3a54f7eef8
Fix missing Microsoft.NETFramework.ReferenceAssemblies reference
2022-07-09 11:03:34 +03:00
ghorsington
3febd6a3ba
WindowsPageAllocator: Fix allocation issues on macOS
...
On macOS (if using e.g. Crossover), VirtualQuery can report a memory address as free but still fail to reserve the memory with VirtualAlloc (fails with error code 0x170C240 for some reason).
To fix this, memory is now reserved directly in the loop to ensure it can be reserved. If reservation fails, the next address is tried.
2022-06-19 21:50:49 +03:00
ghorsington
fbb856702f
PageAllocator: fix allocation unit to correct value
2022-06-19 21:38:30 +03:00
ghorsington
f2fde2db12
Bump Il2CppAssemblyUnhollower
2022-06-18 21:52:17 +03:00
ghorsington
686c956fa4
Fix VirtualQuery signature on x64
...
In WinAPI MEMORY_BASIC_INFORMATION is not a real struct but rather a macro that resolves either to _MEMORY_BASIC_INFORMATION32 or _MEMORY_BASIC_INFORMATION64, see
https://github.com/Leandros/WindowsHModular/blob/master/include/win32/io.h#L120-L147
Because of this, hooking might fail because some valid memory pages will get skipped or some invalid pages might be used.
2022-06-18 20:40:23 +03:00
ghorsington
e4c9ae4115
Expose LoadPlugins(string[]) for 3rd party tools
...
This is a temporary solution until metaplugins are available
2022-06-05 19:03:08 +03:00
ghorsington
9cc85135dd
Add temporary instance property to Unity and .NET chainloaders
2022-06-05 19:02:25 +03:00
ghorsington
5f13a91292
Bump Doorstop version
2022-06-05 17:28:39 +03:00
ghorsington
6b7405e46b
WindowsConsoleDriver: Don't quit if console cannot be allocated
2022-06-05 17:16:51 +03:00
ghorsington
4f2226f1db
Add UnhollowedAssembliesPath config option and similar --unhollowed-path CLI arg
2022-06-05 17:16:18 +03:00
ghorsington
5d77398a5c
Bump Unhollower version
2022-05-24 20:42:10 +03:00
ghorsington
bf37162544
Bump Unhollower version
2022-05-22 10:57:01 +03:00
Geoffrey Horsington
265107c6c5
Update build_pr.yml
2022-05-21 01:12:36 +03:00
Geoffrey Horsington
7747d531aa
Update build_pr.yml
2022-05-21 01:07:46 +03:00
Geoffrey Horsington
9050742dc4
Merge pull request #415 from xKiraiChan/master
...
Update bleeding edge builds link to newer domain
2022-05-17 07:29:24 +03:00
Geoffrey Horsington
7a97bddc2b
Merge pull request #412 from js6pak/fix-attributes-on-cpp2il
...
Run basic AttributeRestoration for cpp2il
2022-05-07 16:10:36 +03:00
ghorsington
5ff56c2ca5
WindowsPageAllocator: don't throw on invalid address resolving
2022-05-05 22:48:42 +03:00
ghorsington
eaf38ef536
Bump package versions
2022-05-02 18:58:36 +03:00
ghorsington
fba4461f0e
Bump Il2CppUnhollower
2022-04-30 14:19:27 +03:00
ghorsington
5538981709
ProxyAssemblyGenerator: default to Cpp2Il, add DisposeAndCleanupAll
2022-04-28 22:32:06 +03:00
ghorsington
8b98fab59e
Bump package versions
2022-04-28 22:30:00 +03:00
ghorsington
da48b7710d
Bump Unhollower version
2022-04-21 22:25:03 +03:00
Geoffrey Horsington
9ea3ee8e62
Merge pull request #403 from xKiraiChan/patch-1
...
Change visibility of ConfigEntryBase constructor to `internal protected` to allow for external implementations
2022-04-21 09:33:13 +03:00
Geoffrey Horsington
d4d2abd3b0
Merge pull request #401 from Kasuromi/master
...
[Il2Cpp] Use UnityVersionHandler's Size Providers in Harmony Backend
2022-04-20 19:31:46 +03:00
ghorsington
4a290db876
ProxyAssemblyGenerator: fix to work with new Unhollower version
2022-04-17 18:38:18 +03:00
ghorsington
16a75479bb
Bump package versions
2022-04-17 18:37:36 +03:00
ghorsington
fa9b1ab9d1
CI: Only build for PRs and BEs for master
2022-03-25 00:06:49 +02:00
Geoffrey Horsington
b50a18a3d9
Merge pull request #376 from Kasuromi/master
...
[Il2Cpp] Convert managed bool to byte in Native to Managed trampoline
2022-03-15 17:43:51 +02:00
ghorsington
b7a05a61e1
Fix C# 10 CS8983 regression
2022-02-24 22:32:17 +02:00
ghorsington
4cc7ab0619
Bump Il2CppUnhollower and Cpp2IL versions
2022-02-24 22:13:30 +02:00
Geoffrey Horsington
f2c0e0fa45
Update feature_request.yaml
2022-02-13 10:01:20 +02:00
Geoffrey Horsington
f10a1f61d7
Update error_report.yaml
2022-02-13 10:00:46 +02:00
Geoffrey Horsington
0894d3552e
Merge pull request #360 from BepInEx/feature-runparallel
...
Add ThreadingExtensions.ForEachParallel
2022-02-13 09:50:21 +02:00
ghorsington
1504d80c06
Bump HarmonyX and MonoMod
2022-02-03 19:06:36 +02:00
Geoffrey Horsington
f590259156
Update build_be.yml
2022-02-02 18:46:45 +02:00
Geoffrey Horsington
86ead2cf4d
Update build_be.yml
2022-02-02 18:43:25 +02:00
ghorsington
6daaa543f1
Update CI build URL
2022-01-31 19:41:04 +02:00
ghorsington
7669b6dbec
Il2Cpp: Fix OnInstallUnityTlsInterface not being static
...
This causes crashes in some games (likely because of mono generating thisptr arg which could break the stack order on x86)
2022-01-22 19:44:57 +02:00
Geoffrey Horsington
e21677f440
Merge pull request #352 from js6pak/bitness
...
Fix process bitness detection
2022-01-13 18:07:44 +02:00
ghorsington
ce04a24fb2
ProxyAssemblyGenerator: Handle exceptions better
2022-01-12 20:56:12 +02:00
ghorsington
59c5adc982
Bump libraries
...
* Updated HarmonyX
* Updated MonoMod
* Updated Cpp2IL
2022-01-11 17:27:04 +02:00
Geoffrey Horsington
692fb86cfd
Merge pull request #351 from miniduikboot/fix/artifact-description-wording
...
CI: Emphasize architecture of game instead of OS
2022-01-08 21:00:07 +02:00