Commit Graph
150 Commits
Author SHA1 Message Date
ghorsington f7857c7994 Restructure project names and folder layout 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 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 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
js6pak 5dce49007e ConsoleOut workaround isn't needed anymore 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 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 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 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
Bepis 0d7ba3a5cb Fix BepInEx 6 for Unity 4.x games and below 2022-08-04 16:20:16 +10: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 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
Kirai Chan 810e556bb7 Add protected visibility of ConfigEntryBase ctor 2022-04-21 02:05:05 -04:00
ghorsington 16a75479bb Bump package versions 2022-04-17 18:37:36 +03:00
ghorsington 1504d80c06 Bump HarmonyX and MonoMod 2022-02-03 19:06:36 +02:00
Bepis 5686f6a003 Create .NET Core platform project 2022-01-25 21:11:55 +11:00
ghorsington 59c5adc982 Bump libraries
* Updated HarmonyX
* Updated MonoMod
* Updated Cpp2IL
2022-01-11 17:27:04 +02:00
ghorsington 82538d8ed1 Fix crash when logging some strings with long multi-byte characters 2022-01-01 11:13:18 +02:00
ghorsington 86549f5453 BepInExLogInterpolatedStringHandler: Fix typo 2021-12-22 17:01:41 +02:00
ghorsington 3fd5d68e3b ManualLogSource: Add string interpolation for Log* overloads; clean up logging 2021-12-21 19:40:15 +02:00
ghorsington 4bb48c502e Reformat project; apply code style 2021-12-21 18:55:05 +02:00
ghorsington 81141fcfc4 Add LogInterpolatedStringHandler overload for default logger 2021-12-21 18:49:07 +02:00
ghorsington 325e0df14b Use C# 10, reformat project 2021-12-21 16:09:39 +02:00
ghorsington e3e944d042 Bump package versions 2021-12-21 10:41:53 +02:00
ghorsington 7562726305 Bump package versions 2021-12-07 22:16:30 +02:00
ghorsington 1128b5f6c7 WindowsConsoleDriver: Fix console size checking 2021-11-02 20:17:24 +02:00
ghorsington 8ff2c1088b Clean up console listener logic 2021-11-02 20:16:50 +02:00
ghorsington 556cb5fba4 ConsoleEncoding: fix buffer size computation
Instead of approximating with GetMaxByteCount and GetMaxCharCount, compute actual buffer size which is needed for variable-length characters (e.g. utf-8)
2021-10-31 19:53:59 +02:00
ghorsington a16d0fecfc WindowsConsoleDriver: check that Console.WindowWidth and WindowHeight exist 2021-10-31 19:52:37 +02:00
ghorsington ad0e751b4d Bump packages 2021-10-24 17:26:34 +03:00
js6pak a6b2c1fc92 Fix WindowsConsoleDriver 2021-10-24 12:35:05 +02:00
js6pak c44ff9e7b4 Move the check into WindowsConsoleDriver 2021-10-24 12:11:35 +02:00
ghorsington 3d1effa48d Fix console window delegate resolving 2021-10-03 18:16:33 +03:00
ghorsington 72e1e2c2f6 ConsoleWindow: always resolve user32 from system folder
Some games (e.g. Outer Wilds) include their own user32.dll which is missing some methods. With this fix we always pull the menu functions from correct user32.dll
2021-10-03 16:25:35 +03:00
ghorsington e613bbec32 Include netstandard2.0 to BepInEx.Unity for NuGet package 2021-09-26 00:19:41 +03:00
ghorsington 9cdee65bca Fix missing type spec 2021-09-25 19:54:10 +03:00
ghorsington 639dbb475c Bump NuGet packages 2021-09-25 19:22:12 +03:00
ghorsington 18e5b15133 Adjust package descriptions 2021-08-25 22:21:45 +03:00
ghorsington 02952f5ab1 Use Microsoft.NETFramework.ReferenceAssemblies 2021-08-25 20:51:07 +03:00
ghorsington bc1572a17f Generate NuGet packages on release build for certain libs 2021-08-25 20:48:14 +03:00
Bepis 9cc0211a78 Revamp AssemblyPatcher and patcher plugins 2021-07-29 10:38:36 +10:00
Geoffrey Horsington 36e24d6593 Merge pull request #284 from js6pak/fix-stacktraces
Make stacktraces Error instead of Debug
2021-07-28 09:46:26 +03:00
js6pak 0461ab4f39 Make stacktraces Error instead of Debug 2021-07-27 16:33:31 +02:00
ghorsington 3e71319505 Add PatcherPluginPath to TypeLoader resolver 2021-07-16 17:37:09 +03:00