Commit Graph

28 Commits

Author SHA1 Message Date
Tau
45e2416702 Simplify DLL hook mechanism
This change deletes the GetProcAddress hook and exports symbols
corresponding to the hooked functions from each hook DLL instead;
we stop at redirecting LoadLibrary/GetModuleHandle calls to the
hook DLL. This simplified approach has less hidden magic going on
behind the scenes and is more readily composable (i.e. a hook DLL
can export redirect symbols for more than one dynamically-loaded
DLL).
2021-06-13 11:27:00 -04:00
Tau
972b3a5de8 Fix hook startup failure path
Returning from the EXE PE entry point merely terminates the main
thread and leaves the process hanging. We need to explicitly exit
from the process since the NTDLL RTL Start code won't do it for us.
2021-06-13 11:27:00 -04:00
Tau
a94772b0c4 Shift hook DLL config structs around 2019-11-05 20:11:25 -05:00
Tau
a87b8f72fa Abort hook DLLs on startup error 2019-11-05 18:03:24 -05:00
Tau
a5a42c3326 idzhook/zinput.c: Clean up some clutter 2019-11-03 16:14:26 -05:00
Tau
59ad491d08 idzhook: Fold zinput into idzhook 2019-11-03 16:12:58 -05:00
Tau
0e1cfb66db Improve JVS bus life cycle handling 2019-11-03 13:01:38 -05:00
Tau
3d6669dff1 platform: Re-fuse Nu and ALLS platforms
There's basically no difference at the platform level except for
the addition of the ALLS PCBID hook, which is harmless on Nu.
2019-11-03 09:52:33 -05:00
Tau
dfcf3d8bd1 hooklib/spike.c: Add a measure of configurability 2019-10-19 16:15:14 -04:00
Tau
e918795445 Make clock hook configurable 2019-10-14 23:18:18 -04:00
Tau
05e4dda8e6 Add missing <assert.h> includes
Fixes non-PCH build.
2019-09-01 11:48:14 -04:00
Tau
94005de9e9 hooklib/clock.c: Split clock read and write hooks 2019-08-21 12:54:10 -04:00
Tau
9ea6e09fdc Tweak JVS coin count APIs
This makes things more consistent with the button/analog APIs.
2019-08-03 17:41:39 -04:00
Tau
e06be9fc7b board/sg-reader.c: Configurate sg_reader 2019-06-03 22:28:44 -04:00
Tau
96fe28b66c idzhook/config.c: Consolidate config 2019-05-18 00:00:57 -04:00
Tau
5722061cbf platform: Wire up configuration 2019-05-18 00:00:57 -04:00
Tau
6d933eb8f4 amex/config.c: Rename from cfg.c
Easier to type and more consistent with its identifiers.
2019-05-17 23:07:20 -04:00
Tau
1b93551a41 hooklib: Split out of util
This is distinct from capnhook's hooklib, although the intent is
the same. Hopefully these two libraries sharing a name won't get
too confusing...
2019-05-14 17:13:08 -04:00
Tau
c19d140589 Wire up libamex config 2019-05-04 14:50:33 -04:00
Tau
364267ba66 Use amex_hook_init() 2019-05-04 12:04:53 -04:00
Tau
9603a528c6 idzio: Break out Initial D Zero IO DLL 2019-05-03 21:23:21 -04:00
Tau
b172c22322 board/sg-reader.c: Streamline further
Remove remaining pointless boilerplate, turn it into a free-
standing hook, since its aimeio.dll dependency forces it to be a
singleton anyway.
2019-05-03 21:23:21 -04:00
Tau
8158d01ed9 board/io3.c: Tweak ADC polling interface 2019-05-03 21:23:21 -04:00
Tau
0271abb21e board/io3.c: Fix JVS coin counter emulation 2019-05-02 19:38:39 -04:00
Tau
706262ce37 idzhook: Steer with both sticks 2019-05-01 21:12:13 -04:00
Tau
821e7f0704 idzhook: Simulate six-speed shifter 2019-04-08 14:25:45 -04:00
Tau
27663b4b19 board/sg-reader.c: Push down aimeio.dll calls
This is kind of a layer break but the alternative is way too much
boilerplate to deal with.
2019-03-16 11:42:36 -04:00
Tau
8f8d7c6a22 idzhook: Add initial XInput-backed IDZero hook 2019-03-08 10:07:48 -05:00