Commit Graph

174 Commits

Author SHA1 Message Date
peelz fb1005d255 Clean up dependencies 2022-08-09 17:50:00 -04:00
peelz 08836088fb Refactor hooking API
This completely changes how method patching works under the hood. Unlike
the previous API (`Hook.HookMethod`), the new API (`Hook.Patch`)
generates a Harmony patch method at runtime, using IL generation.

This fixes methods with ByRef (out/ref) parameters getting silently corrupted
due to the ByRef semantics being lost when passed through the `object[] __args`
parameter.

This new API also makes it possible to:
  - modify parameters (including ByRef params)
  - change the return value to `null` (old API would use `return nil`
    for Harmony control flow)
  - prevent execution of the original method (and other harmony
    patches), independently of modifying the return value
2022-08-09 17:50:00 -04:00
Evil Factory c5860d13d5 Merge branch 'master' of https://github.com/Regalis11/Barotrauma.git 2022-07-14 12:25:44 -03:00
Regalis11 4a03ee5ab2 v0.18.15.0 2022-07-14 16:54:36 +03:00
Markus Isberg 497045de7e Build 0.18.13.0 2022-07-01 12:16:36 +09:00
Evil Factory 349cf89eb5 Merge branch 'master' of https://github.com/Regalis11/Barotrauma.git 2022-06-17 10:33:06 -03:00
Regalis11 631e59e8b8 Hotfix v0.18.12.0 2022-06-17 16:10:25 +03:00
Evil Factory 66c97ad100 re-add satellite resource language 2022-06-15 15:40:53 -03:00
Evil Factory c647295ccb fix projects 2022-06-15 15:28:02 -03:00
Evil Factory 7a09711296 Merge branch 'master' of https://github.com/Regalis11/Barotrauma.git 2022-06-15 13:26:49 -03:00
Markus Isberg 8e6c601162 Build 0.18.11.0 2022-06-16 01:03:48 +09:00
Markus Isberg 856f894203 Build 0.18.9.0 2022-06-14 04:14:47 +09:00
Markus Isberg 4f5a3bf8b9 Build 0.18.7.0 2022-06-08 21:52:38 +09:00
Markus Isberg 5a10b444ee Build 0.18.6.0 2022-06-04 00:34:02 +09:00
Markus Isberg 6be757a45b Build 0.18.5.0 2022-06-03 22:29:04 +09:00
Markus Isberg 64db1a6a44 Build 0.18.4.0 2022-05-31 23:13:05 +09:00
Evil Factory 6922900bf1 Merge branch 'master' of https://github.com/Regalis11/Barotrauma.git 2022-05-30 12:29:28 -03:00
Juan Pablo Arce f74787cd10 v0.17.16.0 2022-05-30 10:25:24 -03:00
Markus Isberg 077917fa5d Build 0.18.2.0 2022-05-19 23:43:21 +09:00
Evil Factory 003aeb2cec Update Harmony (fixes patch hooks being randomly removed) 2022-05-14 00:09:17 -03:00
Markus Isberg d4f6f4cf88 Build 0.18.1.0 2022-05-13 22:55:07 +09:00
Markus Isberg 7547a9b78a Build 0.18.0.0 2022-05-13 00:55:52 +09:00
Evil Factory 4277dd447c Merge branch 'master' of https://github.com/Regalis11/Barotrauma.git 2022-04-28 12:36:24 -03:00
Markus Isberg 15d18e6ff6 Build 0.17.15.0 2022-04-27 23:32:17 +09:00
Markus Isberg 6e38444fc4 Build 0.17.14.0 2022-04-27 07:44:37 +09:00
Markus Isberg 7a09cf3260 Build 0.17.13.0 2022-04-22 21:48:04 +09:00
Evil Factory 7817116ec1 forgor about linux client 2022-04-20 13:40:35 -03:00
Evil Factory 2b5d077d04 Merge branch 'master' of https://github.com/Regalis11/Barotrauma.git 2022-04-20 12:59:43 -03:00
Regalis11 6cc100d98c Release 0.17.12.0 (Urban Expanses update) 2022-04-20 18:55:05 +03:00
Evil Factory 099bd87167 Merge branch 'dev' of https://github.com/Regalis11/Barotrauma.git into unstable-tests 2022-04-19 12:03:29 -03:00
Markus Isberg d9a05400e0 Build 0.17.11.0 2022-04-19 23:52:59 +09:00
Evil Factory b7395bedea Refactor and fix #56 2022-04-15 19:08:27 -03:00
Oiltanker 429557ad7d Some initial CSharp scripting functionality 2022-04-15 21:23:17 +03:00
Evil Factory 0ccac372a8 Merge branch 'dev' of https://github.com/Regalis11/Barotrauma.git into unstable-tests 2022-04-14 12:14:19 -03:00
Markus Isberg cfe0d6cbc3 Unstable 0.17.10.0 2022-04-14 23:50:49 +09:00
Evil Factory 0cf4edbecf Merge branch 'dev' of https://github.com/Regalis11/Barotrauma.git into unstable-tests 2022-04-11 15:58:36 -03:00
Markus Isberg 72328c29cb Unstable 0.17.9.0 2022-04-12 03:39:02 +09:00
Evil Factory f6241048c0 Merge branch 'dev' of https://github.com/Regalis11/Barotrauma.git into unstable-tests 2022-04-08 15:28:28 -03:00
Markus Isberg 374f03c625 Unstable 0.17.8.0 2022-04-09 03:18:10 +09:00
Evil Factory ccf5600ad1 Merge branch 'dev' of https://github.com/Regalis11/Barotrauma.git into unstable-tests 2022-04-08 12:52:28 -03:00
Markus Isberg 164d72ae3a Unstable 0.17.7.0 2022-04-08 00:34:17 +09:00
Markus Isberg 95764d1fa8 Unstable 0.17.6.0 2022-04-04 16:46:08 +09:00
Markus Isberg 44ded0225a Unstable 0.17.5.0 2022-03-30 01:20:59 +09:00
Markus Isberg c1b8e5a341 Unstable 0.17.4.0 2022-03-30 00:08:09 +09:00
Markus Isberg 2968e23ae8 Unstable 0.17.2.0 2022-03-30 00:06:59 +09:00
Juan Pablo Arce 4206f6db42 Unstable 0.17.3.0 2022-03-22 14:44:56 -03:00
Markus Isberg cefac171f5 Unstable 0.17.2.0 2022-03-18 04:20:02 +09:00
Markus Isberg 6d410cc1b7 Unstable 0.17.1.0 2022-03-17 01:25:04 +09:00
Evil Factory a5228583d0 Updated Moonsharp Interpreter, added support for implicit conversions, new types: LuaByte, LuaUShort and LuaFloat added to solve method overload conflict, support for setting UserData metatables, remove LuaUserData.AddCallMetaMethod and moved GUI object to Lua 2022-03-09 13:35:11 -03:00
Evil Factory acfec0986e Merge branch 'master' of https://github.com/Regalis11/Barotrauma.git 2022-02-25 14:52:18 -03:00