223 commits since v5.4

Changelog (excluding merges):
* (59f6de9) [ghorsington] Include short hash into build meta
* (ffbb14f) [js6pak] Fix BepInDependency cache
* (c022857) [ghorsington] Move Il2Cpp core libraries to NuGet package
* (79ed094) [ghorsington] Move Il2CppDumper to NuGet
* (e12ca2f) [ghorsington] Remove unneeded reference
* (2e1bebe) [ghorsington] Replace AssemblyUnhollower libs with NuGet packages
* (50a087f) [ghorsington] Add BepInEx NuGet source
* (0af2cb1) [js6pak] Hash unity base libs and move them to BepInEx/unity-libs
* (28950af) [ManlyMarco] Add ability to disable generating setting descriptions in ConfigFile
* (a4c4358) [ghorsington] Remove logging; document special behaviour
* (e850883) [ghorsington] Force init of MSBuildSettings
* (da52436) [ghorsington] Add debug info on build
* (b83feeb) [ghorsington] Format Allocator code
* (602649c) [ghorsington] Update BUILDING.md
* (2fae424) [ghorsington] Add allocation check to page free
* (7fb272a) [ghorsington] Fix pages not being marked as free
* (6f25c6e) [ghorsington] Fix bounds check in PageAllocator.Free
* (5ce78b3) [ghorsington] Update all of Allocator to use native int
* (96e04e2) [ghorsington] Fix racing condition in some builds; clean up output
* (43af288) [ghorsington] Use dotnet build in Cakebuild
* (58f00f5) [ghorsington] Simplify allocator code with nint/nuint types
* (88e3dfb) [ghorsington] Update some code to use C#9 features
* (965d9ae) [ghorsington] Use net35 reference assemblies; use C# 9
* (7b67bf8) [ghorsington] Update TlsAdapter to .NET Standard dep
* (7b5d42b) [ghorsington] Il2Cpp: Fix byref argument patching
* (6b8d50b) [ghorsington] Set TRUSTED_PLATFORM_ASSEMBLIES in IL2CPP build
* (b0eb5cd) [ghorsington] Mark BepInEx.IL2CPP.Preloader.Chainloader private
* (07f815e) [ghorsington] make IL2CPPChainloader.Instance public
* (5020ed8) [ghorsington] Port Paths.ManagedPath from BepInEx 5
* (4183041) [ghorsington] Fix tests build target
* (b59868f) [ghorsington] Update mono deps for Il2Cpp build
* (5a963e0) [ghorsington] Update tests to use .NET Core
* (54aa943) [ghorsington] Add .NET Standard 2.1 target to core libraries
* (45034b8) [ghorsington] Convert BepInEx.IL2CPP to .NET Standard 2.1
* (8376935) [ghorsington] Update README
* (2ec93dd) [ghorsington] Add Il2Cpp.TlsAdapter
* (9c45b1e) [ghorsington] Add FastNativeDetour detour helper
* (51c3353) [ghorsington] Update HarmonyX to 2.3.1
* (8f4019d) [ghorsington] Update mono runtime in Il2Cpp builds
* (d2a0d38) [Bepis] Fix .NET launcher, and some debugging issues
* (23ab09e) [ghorsington] Report proper error when trying to patch autogenerated field access properties
* (6a7fa33) [ghorsington] DetourGenerator: include possible align area into trampoline generator
* (cd28640) [ghorsington] Hide PageAllocatorException
* (e574933) [ghorsington] Update HarmonyX to 2.2.0
* (d2d0de9) [ghorsington] Replace 2-item array with a tuple
* (6c2ced0) [ghorsington] Suppress inconsistent naming error
* (5248259) [ghorsington] Clean up code
* (b0d5344) [ghorsington] Implement memory mapper for macOS
* (471a16a) [ghorsington] Implement memory mapper for Linux
* (878eb6f) [ghorsington] Replace MemoryMapper with simple enumerable
* (0d6c805) [ghorsington] Default build version to 0 if it's not defined
* (7d4bc5d) [ghorsington] Update README
* (30293c9) [ghorsington] Write unhollower xref DB to unhollowed folder
* (f8e1de2) [ghorsington] Don't copy unhollower libs during unhollowing
* (1c562d6) [ghorsington] Update AssemblyUnhollower libs
* (6551217) [Bepis] Add unhollowed assemblies as preloader patcher targets
* (44aa9f6) [Bepis] Allow long-style version parsing for BepInPlugin
* (3092ae0) [ghorsington] Format code
* (00e919e) [ghorsington] Implement base Unix page allocator
* (0eaea28) [ghorsington] Move page chunking to PageAllocator
* (4eacccd) [ghorsington] Start work on Unix page allocator
* (a949c8d) [ghorsington] Split Unix allocator into OS-specific allocators
* (27247b4) [ghorsington] Refactor Buffer -> Allocator
* (6acf202) [ghorsington] Clean up PageAllocator
* (37aa81e) [ghorsington] Convert FastNativeDetour to use PageAllocator
* (deabaac) [ghorsington] Add basic page allocator for Windows
* (35f5829) [ghorsington] Add better doc for memory allocator
* (7491d60) [ghorsington] Refactor MemoryBuffer -> MemoryAllocator
* (b1b3cd1) [ghorsington] Add docs
* (af038d2) [ghorsington] Start work on Windows implementation of memory buffer
* (33d488f) [ghorsington] Add initial MemoryBuffer API
* (28671ce) [ghorsington] Add version-independent helper for retrieving assembly attributes
* (cfa6857) [ghorsington] Use GetCustomAttributes instead of GetCustomAttribute
* (2ee2ab6) [js6pak] Update BepInDependency argument name
* (cc55d5b) [js6pak] Change semver library, again
* (7801f9e) [Bepis] Update README.md
* (f6f8a44) [js6pak] Revert formatting change
* (b17c45a) [js6pak] Change ci to be
* (29188d1) [js6pak] Add semver stuff
* (c2ecba3) [js6pak] Update cake script to use msbuild instead of AssemblyInfo.cs
* (10b5fa2) [Bepis] Change name and description of the ConcurrentFileLimit config entry
* (619fa2d) [js6pak] Add log file limit to config
* (b772bb6) [ghorsington] Set MonoMod platform before using it
* (7b317fb) [ghorsington] Fix cakebuild script
* (8e39023) [ghorsington] Format AssemblyInfo
* (0d1925d) [ghorsington] Move BuildInfoAttribute to shared project
* (0d6422e) [ghorsington] Upgrade all projects to C#8
* (3facf6a) [ghorsington] Move all versioning to shared project
* (094b8f5) [ghorsington] Add shared project with shared version info
* (a49e599) [ghorsington] Fix debug type
* (8a4f9e3) [ghorsington] Fix build destination
* (441bec9) [ghorsington] Fix migration issues
* (da02c7c) [ghorsington] Move to modern csproj format
* (270b0c5) [ghorsington] Remove submodules
* (e83cf96) [Bepis] Fix readme
* (c755561) [Bepis] Update license to LGPL 2.0
* (79e7a3a) [Bepis] Update HarmonyX package and README
* (d93e9f1) [Bepis] Update unhollower assemblies
* (c2ecb50) [Bepis] Add uname libc call on Unix systems as platform check Rebase of 7647862
* (d2bfb22) [Bepis] Fix indentation issues in cake script
* (f30b283) [Bepis] Fix build script for .NET launcher platform
* (54ed9fa) [Bepis] Reimplement Unity engine logging for IL2CPP
* (0d8da1b) [Bepis] Implement a config option for instantly flushing logs to disk
* (2acb7c8) [Bepis] Update doorstop version in build script
* (28a53ea) [Bepis] Updated cake build script Pinched some code from the master branch to create Unix builds
* (cea6e3a) [Bepis] Update unhollower assemblies
* (cfaa68d) [Bepis] Use HarmonyLogSource from BepInEx.Core instead of temporary IL2CPP version
* (9b1034f) [Bepis] Allow base unity libraries to be given to unhollower
* (0137c7b) [Bepis] Fix compilation & running issues from rebase
* (2f12c79) [Bepis] Log plurals Rebase of 0f4ac05
* (665b653) [Bepis] Specify and preload a list of critical assemblies Rebase of c77eee6
* (3c90a7f) [Bepis] Change patcher log message Rebase of fd927ef
* (c398e7f) [Bepis] Allow multiple versions of an assembly to be loaded into AppDomain Rebase of 9cce4e4
* (8a3236e) [Bepis] Don't log stack trace in FindPluginTypes when loading native DLL Rebase of 7f12024
* (7a3400b) [Bepis] Remove temporary assembly resolver early in preloader runner Rebase of 52353b2
* (fd06196) [Bepis] TraceFix: Remove redundant documentation Rebase of 36cbf5e
* (53fdd99) [Bepis] TypeLoader: don't write error when a native DLL is found Rebase of 4d7e5ca
* (43cf41d) [Bepis] Add a workaround for MissingMethodException for unityVersion in some rare cases Rebase of 6bd59af
* (8204577) [Bepis] Limit line.Split in Reload() Rebase of 0591e6b
* (fc81290) [Bepis] Clarify log source of Harmony as HarmonyX Rebase of 5899ab0
* (1ff0487) [ghorsington] Update issue templates
* (e245b9b) [ghorsington] Move PR template
* (d572223) [Geoffrey Horsington] Create pull_request_template.md
* (e986e20) [Bepis] Added code of conduct
* (eda196f) [Bepis] Use TryParseAssemblyName wherever possible Rebase of 911375a
* (a3e7b0e) [Bepis] Make assembly resolution fully safe Rebase of 68378b3
* (87efb14) [Bepis] Use copy of patcher plugin list to allow for better loader support Rebase of 897f37d
* (328b4ff) [Bepis] Fix missing docs in preloader Rebase of 9ff80ca
* (798d008) [Bepis] Document all undocumented code Rebase of 78484b7
* (a892373) [Bepis] Publicize AssemblyPatcher for better extendability Rebase of 51f5ced
* (a63726f) [Bepis] Expose default TypeLoader Resolver and ReaderParameters Rebase of 50755c5
* (95e0d00) [Bepis] Fix skipping loading plugins with the same GUID if previous match fails process filter Rebase of 9d305e1
* (d696380) [Bepis] ThreadingHelper: Use Environment.ProcessorCount instead of SystemInfo.processorCount Rebase of a41c082
* (df841d0) [Bepis] Prevent skipping plugin on unresolved soft dependency Rebase of 4311115
* (9833594) [Bepis] Mark DependencyFlags with FlagsAttribute Rebase of 743223e
* (255b7c1) [Bepis] Fix typos Rebase of 522d532
* (6a6dccc) [Bepis] Revert default option to redirect output logs Rebase of 08aba7d (has more description there)
* (7f88039) [Bepis] Simplify ConsoleSetOut fix; redirect console messages to logging system Rebase of f2b7b99
* (159af15) [Bepis] Fix merge conflict Rebase of dc6c76b
* (bd64d2d) [Bepis] Write to Unity log only if console is disabled Rebase of 03e82e1
* (574077c) [Bepis] Fix log messages being duplicated Rebase of c498454
* (2588732) [Bepis] Fix stdout not being written to Unity log when console is enabled Rebase of a404365
* (5a2f6bb) [Bepis] Added setting for overriding Harmony backend Rebase of 63cc280
* (2a0e604) [Bepis] Remove use of Process.GetCurrentProcess() since it can fail on older monos on macOS Rebase of d566ac2
* (d93ff76) [Bepis] Fix warning messages not being logged by default Rebase of 83b0f5e
* (0fdb02b) [Bepis] Redirect output log by default on Windows build Rebase of a2eb993
* (3b54932) [Bepis] Fix early preloader error logs not being written Rebase of 70980bf
* (78a9cf4) [Bepis] Resolve SRE support lazily instead of in cctor Rebase of acd0eb2
* (8a6966d) [Bepis] Add runtime fix for console logging Rebase of a00b095
* (2d32cca) [Bepis] Temporary fix console logging not working on Unity 2018+ games Rebase of f22e583
* (0d702ff) [Bepis] Open disk log with write-only access Rebase of 1fa25ed
* (3383c5c) [Bepis] Make preloader logger respect the log level Rebase of 4b844b4
* (5e66f77) [Bepis] Rename DisplayedLogLevel to LogLevels to not cause upgrade issues Rebase of dfba4f0
* (9a63f84) [Bepis] Add log source for Harmony logs Rebase of 055eac2
* (234d922) [Bepis] Clean up load skip messages Rebase of c70ab5a
* (b1f218f) [Bepis] Remove no longer necessary harmony fix Rebase of c096209
* (eda169b) [Bepis] Update README.md Rebase of ccbfedd
* (ff999a3) [Bepis] Remove Harmony shim config Rebase of 90bb22c
* (34c5050) [Bepis] Clarify load warning Rebase of 1100e9c
* (46d18dc) [Bepis] Fix assembly resolving on locales in paths with non-ASCII chars Rebase of d81aca7
* (437997b) [Bepis] Bump Doorstop to version 3.0.0.0 (for Unity mono) Rebase of c830880
* (037198a) [Bepis] Fix issues with preloader error log writing Rebase of 849f056
* (0b7db81) [Bepis] Set GameRootPath to outside the game.app folder on OSX Rebase of f963d6c
* (1c32115) [Bepis] Implement cross-platform improvements from master Contains fixes rebased from d2afe06 ... 9f4dcb6
* (265f484) [Bepis] Use specific log levels instead of defining a max verbosity Rebase of fd474fdd8fc1df6a28c0408a27fe96e6081ae39e
* (f51ad82) [Bepis] Fix sharing violation on config file save in some rare cases Rebase of 541ab9e218faa9a8c601f85cc7c550b904fbe572
* (990b85d) [Bepis] Ignore case in TargetDLLs assembly names Rebase of 474c2216a3808685f741cefa2cb9564a1d315fc7
* (3c8415c) [Bepis] Write log source when logging preloader logger events in chainloader Rebase of 9d164bc3b85d69c516292f4402794525235d0184
* (a7bf2dd) [ghorsington] Fix patching injected il2cpp types; fix patching some instance methods
* (3787671) [ghorsington] Add temporary Harmony log source for il2cpp version
* (d1ed073) [ghorsington] Fix patching static methods
* (0725cc9) [js6pak] Fix v6 plugin load order
* (33db23c) [js6pak] Fix PluginInfo cache
* (423aa6f) [js6pak] Fix "wrong version of BepInEx" warning caused by dll split in v6
* (5bababd) [Bepis] Remove file writing debugging in preloader
* (974b45d) [Bepis] Update library information
* (e111e78) [Bepis] Remove debugging thread sleeps that I forgot to take out
* (bcba267) [Bepis] Make DetourGen only log to debug
* (39fc546) [ghorsington] Add WIP attempt to fix relative memory operands
* (b822b6a) [ghorsington] Bump HarmonyX version
* (01da398) [Bepis] Fix debug logging for FastNativeDetour
* (065f2ea) [Bepis] Implement automatic assembly unhollower
* (f419c90) [Bepis] Clean up method patcher implementation a bit
* (3754798) [Bepis] Fix IL2CPP instance reference passing
* (487be15) [Bepis] Clean up and optimize some harmony code
* (b2662fb) [Bepis] Implement IL2CPP support in HarmonyX
* (3558ebf) [Bepis] Clean up FastNativeDetour logging
* (59237ec) [Bepis] Implement initial MonoExtensions class
* (8c8f7c3) [Bepis] Implement initial icall proxy methods for UnityEngine.Input
* (2d8800f) [Bepis] Restructure trampoline and detour code
* (2c2b445) [Bepis] Improve trampoline logging and debugging
* (41de02a) [Bepis] Implement FastNativeDetour and clean up chainloader
* (a45ee28) [Bepis] Fix patched jmp location
* (418476b) [Bepis] Implement x86 trampoline generation
* (b5406ff) [Bepis] Implement basic trampoline generator
* (f6f03d0) [Bepis] Simplify unhollower log delegates
* (e6e1927) [ghorsington] Add testing code for invoke hook
* (f737a3e) [Bepis] First doorstop prototype integration Code is messy, please do not bully
* (9db86e8) [Bepis] Update branch to use HarmonyX
* (896be9b) [Bepis] Add some more debug logging
* (dbea82e) [Bepis] Fix console compatibility with unix platforms
* (e18e932) [Bepis] Implement stdout ouput for windows platform
* (185e895) [Bepis] Actually use the patched entrypoint assembly instead of only pretending to
* (a1944a9) [Bepis] Add runtime fix for Assembly.GetEntryAssembly() not returning what games expect
* (572194d) [Bepis] Fix console colors for .NET games
* (555cdf1) [Bepis] Fix .NET plugin initialization
* (2e66c68) [Bepis] Fix project references
* (9c8ad31) [Bepis] Implement prototype .NET loader
* (dc5d9f4) [Bepis] Initial framework split