67 Commits
Author SHA1 Message Date
aldelaro5 50dd462e60 v7: Catch BadImageFormatExceptions when reading an assembly stream (#993)
* Catch BadImageFormatExceptions when reading an assembly stream

* Catch and log other TypeLoader exceptions when examining a stream
2024-09-24 20:33:22 +02:00
aldelaro5 2474dce1a1 Use PascalCase for the cache versioning const 2024-09-04 11:58:52 -04:00
aldelaro5 ede28de4a5 Make the cache version a const 2024-09-04 11:54:53 -04:00
aldelaro5 ae4d7bb34c Actually write the cache version in SaveAssemblyCache 2024-09-04 11:46:18 -04:00
aldelaro5 d389ed8067 Add versioning to CachedAssembly 2024-09-03 21:09:52 -04:00
aldelaro5 be1beb5e13 Address code review round 5 2024-09-03 20:34:17 -04:00
aldelaro5 e0a81dfdbd Rename Location to prevent compilation with it 2024-09-02 07:16:13 -04:00
aldelaro5 24cf635e65 Ensure providers and plugins / patchers folders are created if they don't exist 2024-09-01 09:29:35 -04:00
aldelaro5 4597be006e Remove files caching from CachedPluginLoadContext, make it forward the call instead 2024-08-31 05:54:41 -04:00
aldelaro5 40643ffdef Offload the load context caching to bepinex 2024-08-29 21:12:07 -04:00
aldelaro5 e2396d202b address code review round 3 2024-08-29 12:50:46 -04:00
aldelaro5 b729aee545 Address code review round 3 (first part) 2024-08-28 01:14:00 -04:00
aldelaro5 bfc539bd74 Address code review round 2 2024-08-25 12:03:33 -04:00
aldelaro5 b688bfa978 Add a Source property to PluginInfo
Also abstract an interface among the base plugins classes to make this easier
2024-08-23 23:06:54 -04:00
aldelaro5 d8dd404e52 Address code review 2024-08-23 15:40:22 -04:00
aldelaro5 4d47c3cd39 Address code review 2024-08-20 15:13:10 -04:00
aldelaro5 952c74f6fe Implement Patcher and plugin providers 2024-08-19 19:57:52 -04: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
js6pak 0d2cbe61bf Add chainloader events 2022-08-24 21:55:09 +02: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 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 8ff2c1088b Clean up console listener logic 2021-11-02 20:16:50 +02:00
ghorsington 639dbb475c Bump NuGet packages 2021-09-25 19:22:12 +03: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
ghorsington cd4c90e7f2 Fix #240 2021-05-02 10:54:51 +03:00
ghorsington 78e0538755 Run module constructor before plugin is loaded; closes #228 2021-04-25 20:15:07 +03:00
ghorsington 1816981b72 Cache hashes of plugins instead of edit dates
This should solve issues for platforms where no precise edit date is saved. MD5 is quick enough for most modern PC setups.
2021-04-11 15:19:27 +03:00
ghorsington c874d4f6b3 Apply style 2021-04-11 14:10:00 +03:00
ghorsington ff4e1b7c7f Reformat code after last commits 2021-01-26 20:47:02 +02:00
Bepis f60f6cbb62 Fix a significant amount of assembly resolution issues 2021-01-25 02:34:00 +11:00
ghorsington ecb61f60d8 Apply code style 2021-01-23 22:04:11 +02:00
ghorsington 88e3dfb7e7 Update some code to use C#9 features 2021-01-05 22:54:45 +02:00
ghorsington 5020ed88f8 Port Paths.ManagedPath from BepInEx 5 2021-01-01 19:49:06 +02:00
Geoffrey Horsington 821ad5fe07 Merge pull request #152 from js6pak/semver
Add semantic versioning
2020-11-30 15:24:09 +02:00
js6pak cc55d5bdb9 Change semver library, again 2020-11-29 21:41:29 +01:00
js6pak f6f8a44254 Revert formatting change 2020-11-16 14:47:23 +01:00
js6pak 29188d1b97 Add semver stuff 2020-11-16 10:14:28 +01:00
Bepis 10b5fa2312 Change name and description of the ConcurrentFileLimit config entry 2020-11-16 18:41:04 +11:00
js6pak 619fa2db74 Add log file limit to config 2020-11-16 08:29:40 +01:00
Bepis 0d8da1b30f Implement a config option for instantly flushing logs to disk 2020-11-08 22:11:17 +11:00
Bepis f9ec1e9ce4 Merge branch 'framework-il2cpp-rebase' into framework-il2cpp 2020-11-08 02:34:23 +11:00
Bepis 2f12c79e71 Log plurals
Rebase of 0f4ac05
2020-11-06 13:23:55 +11:00
Bepis 8a3236e439 Don't log stack trace in FindPluginTypes when loading native DLL
Rebase of 7f12024
2020-11-06 11:59:08 +11:00
Bepis 53fdd99cbe TypeLoader: don't write error when a native DLL is found
Rebase of 4d7e5ca
2020-11-06 11:54:41 +11:00
Bepis eda196fda8 Use TryParseAssemblyName wherever possible
Rebase of 911375a
2020-11-06 11:47:04 +11:00
Bepis 798d008f1d Document all undocumented code
Rebase of 78484b7
2020-11-06 11:27:39 +11:00