ghorsington
5796f53564
Bump Il2CppInterop, HarmonyX
2022-11-13 20:02:15 +02:00
Geoffrey Horsington
3ad398a160
Merge pull request #503 from js6pak/bump-Il2CppInterop
...
Bump Il2CppInterop
2022-10-22 15:20:41 +03:00
Geoffrey Horsington
d6861e8e77
Merge pull request #502 from js6pak/disable-x32-xref
...
Add a config option to disable xref and disable it by default on x32
2022-10-22 15:20:19 +03:00
ghorsington
40bf261c91
Bump Il2CppInterop
2022-10-04 19:21:10 +03:00
ghorsington
0106719399
Bump Cpp2IL version
2022-10-01 22:59:05 +03:00
ghorsington
7b8c6779f0
Temporarily downgrade to Cpp2IL 2022.0.5
...
It seems loading LibCpp2IL.dll fails with a FileLoadException without any extra logs. Downgrade used Cpp2IL for the time being until 2022.1 can be integrated instead.
2022-10-01 10:08:29 +03:00
ghorsington
684959d840
Bump Cpp2IL and Il2CppInterop
2022-09-30 20:33:50 +03:00
ghorsington
b3485f4739
Bump Dobby version
2022-09-11 20:58:06 +03:00
ghorsington
b9fe507672
Use Assembly.LoadFrom for loading assemblies
...
Assembly.LoadFile is meant for a special case that is not relevant to BepInEx
2022-09-11 18:41:22 +03:00
ghorsington
c0b9eae558
Bump Dobby version
2022-09-10 22:09:30 +03:00
ghorsington
44cb650e63
Bump Il2CppInterop version
2022-09-10 22:09:19 +03:00
ghorsington
736138b59d
Bump Il2CppInterop version
2022-09-08 20:29:39 +03:00
ghorsington
8621f8449c
Bump Il2CppInterop
2022-08-29 22:16:30 +03:00
Geoffrey Horsington
e8713f11e0
Merge pull request #477 from js6pak/wine-warning
...
Warn about outdated wine
2022-08-29 20:57:26 +03:00
Geoffrey Horsington
8b32f63d76
Merge pull request #475 from js6pak/chainloader-events
...
Add chainloader events
2022-08-29 20:54:41 +03: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
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