Commit Graph

21 Commits

Author SHA1 Message Date
Peace-Maker
891fa5352e Add support for the "fastcall" calling convention
Callee cleans the stack and first two arguments are passed in registers ecx and edx.
You could emulate this by choosing stdcall and setting the custom_registers on the arguments manually, but this is easier.
2019-06-20 02:14:07 +02:00
Peace-Maker
c6266bfcf3 Remove optional callback parameter from DHookCreateFromConf
Encourage passing the callback when hooking instead of when setting the hook up.
2018-04-21 09:43:53 +02:00
Peace-Maker
43f275889e Merge upstream master 2018-04-19 02:09:01 +02:00
Drifter
17332379cb Update documentation. 2018-01-29 12:36:26 -05:00
Drifter
cd55a5026e Add support for setting callback when hooking instead of on create only. 2018-01-27 10:08:44 -05:00
Drifter
b14f62435c Update test gamedata. 2018-01-27 10:08:03 -05:00
Peace-Maker
aa3018a27d Add support to define function signatures in gamedata
A "Functions" section is parsed in gamedata files that allow you to define the signature of functions including metadata like the calling convention and specifying the register an argument is passed in.
A new native DHookCreateFromConf can be used to setup a hook or detour from one of that function sections in the "Functions" section.
2018-01-25 17:18:30 +01:00
Peace-Maker
e2d71bae03 Mark new natives as optional if extension is optional 2018-01-23 14:58:09 +01:00
Peace-Maker
1ef64c56b5 Document the new natives in the include file 2018-01-23 14:01:41 +01:00
Peace-Maker
1b9fa3743f Add support for custom calling convention passing arguments in registers
If the compiler decided to pass an argument in a register on an internal function instead of pushing it on the stack to save time, allow us to specify the register the parameter is going to be in.

DHookAddParam received another parameter to set the register.
2018-01-23 03:15:03 +01:00
Peace-Maker
8ab9c14e93 Add detour test plugin 2016-12-12 22:48:40 -07:00
Peace-Maker
764b325a1e Switch to sp::MacroAssembler instead of AsmJit 2016-12-12 22:18:43 -07:00
Peace-Maker
2e52ab24b7 First draft of dynamic detours using Ayuto's DynamicHooks library
https://github.com/Ayuto/DynamicHooks
2016-12-11 22:02:10 -07:00
Dr!fter
4d743c0d49 Fix test plugin. 2016-08-30 11:00:26 -04:00
Dr!fter
71b840e70a Fix overriding functions with objects crashing. 2016-08-30 10:58:04 -04:00
Dr!fter
26cb72b693 Update test plugin 2015-05-14 12:04:06 -04:00
Dr!fter
9b43516dee Update include to fix warnings and errors related to transitional syntax. Use transitional syntax 2015-03-26 16:51:15 -04:00
Dr!fter
0f64a45a2b Remove the need for SDK's. Update AMBuild scripts to AMBuild2. Fix shutdown crash. Update gamedata for testing. General code fixups. 2014-08-19 13:14:48 -04:00
Dr!fter
c7a075fd8e Add some safety for Object params. Add gamedata and test plugin! 2013-08-29 20:16:05 -04:00
Dr!fter
e06b52c1ec Add more natives! Add support for reading Objects. Fix more boogs and update include 2013-08-26 22:19:05 -04:00
Dr!fter
caccb5a0ff Add natives for Vector params. Add include file with new updated natives. Moved handle check into function. 2013-08-23 14:29:01 -04:00