Commit Graph

594 Commits

Author SHA1 Message Date
Tau 8b4ea3f1dd Add API versioning to mu3io 2021-06-13 11:27:01 -04:00
Tau 9ae697d4fc Statically link mu3io 2021-06-13 11:27:01 -04:00
Tau ab3c2ad0b7 Statically link mu3io 2021-06-13 11:27:01 -04:00
Tau 9fc45e2df1 Load and bind mu3io at runtime 2021-06-13 11:27:01 -04:00
Tau 3c740af6ec Load and bind mu3io at runtime 2021-06-13 11:27:01 -04:00
Tau 2cd6bdb695 Fix comment in idzio/di.c 2021-06-13 11:27:01 -04:00
Tau 98d8b0c3b9 Fix comment in idzio/di.c 2021-06-13 11:27:01 -04:00
Tau d2b9c6034d Load and bind divaio at runtime 2021-06-13 11:27:01 -04:00
Tau 4c2c941a1c Load and bind divaio at runtime 2021-06-13 11:27:01 -04:00
Tau 645e6cba1d Add api versioning to divaio 2021-06-13 11:27:01 -04:00
Tau a940c0b47b Add api versioning to divaio 2021-06-13 11:27:01 -04:00
Tau cb3c55d037 Statically link default divaio 2021-06-13 11:27:01 -04:00
Tau 8dddb18793 Statically link default divaio 2021-06-13 11:27:01 -04:00
Tau 7b71b944e1 chuniio 0x0101: Fix IR beam mapping 2021-06-13 11:27:01 -04:00
Tau bda236b5ad chuniio 0x0101: Fix IR beam mapping 2021-06-13 11:27:01 -04:00
Tau 01cfc4e48f Load and bind chuniio at runtime 2021-06-13 11:27:01 -04:00
Tau 94e9edb5a0 Load and bind chuniio at runtime 2021-06-13 11:27:01 -04:00
Tau ef8c844403 Statically link default chuniio 2021-06-13 11:27:01 -04:00
Tau 01eda0fbd5 Statically link default chuniio 2021-06-13 11:27:01 -04:00
Tau f65f816497 Add API versioning mechanism to chuniio 2021-06-13 11:27:01 -04:00
Tau 58664e9b31 Add API versioning mechanism to chuniio 2021-06-13 11:27:01 -04:00
Tau 0c7a9c87c0 Load and bind aimeio at runtime 2021-06-13 11:27:01 -04:00
Tau 92b73df3e7 Load and bind aimeio at runtime 2021-06-13 11:27:01 -04:00
Tau e49e1ec804 Add DLL binding helper 2021-06-13 11:27:00 -04:00
Tau 10f2042bee Add DLL binding helper 2021-06-13 11:27:00 -04:00
Tau ef248d7e0e Export aimeio symbols from hook DLLs 2021-06-13 11:27:00 -04:00
Tau edd26aafe7 Export aimeio symbols from hook DLLs 2021-06-13 11:27:00 -04:00
Tau 5e14b595ae Add API versioning scheme to aimeio 2021-06-13 11:27:00 -04:00
Tau df5f08314b Add API versioning scheme to aimeio 2021-06-13 11:27:00 -04:00
Tau 7fb846a839 Document the aimeio API
This is de-facto a published API now so we have to support it.
2021-06-13 11:27:00 -04:00
Tau f59f4ec8c1 Document the aimeio API
This is de-facto a published API now so we have to support it.
2021-06-13 11:27:00 -04:00
Tau ebef97e75a Drop aime_io_fini
This isn't used, and due to the way that the hook machinery works
it is not likely to come into use later on either. Since we can't
rely on existing implementations actually being correct, if it does
somehow start being used then we will need to advance the aimeio API
version in order to support it.
2021-06-13 11:27:00 -04:00
Tau 1750f85f51 Drop aime_io_fini
This isn't used, and due to the way that the hook machinery works
it is not likely to come into use later on either. Since we can't
rely on existing implementations actually being correct, if it does
somehow start being used then we will need to advance the aimeio API
version in order to support it.
2021-06-13 11:27:00 -04:00
Tau fb0fd41b6f Statically link current aimeio implementation 2021-06-13 11:27:00 -04:00
Tau 90d908fe07 Statically link current aimeio implementation 2021-06-13 11:27:00 -04:00
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 e57aeb03c3 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 b4cd868f85 Add module DEF file for chunihook 2021-06-13 11:27:00 -04:00
Tau c71ff1bcb5 Add module DEF file for chunihook 2021-06-13 11:27:00 -04:00
Tau fab50e5e34 Fix Diva slider startup 2021-06-13 11:27:00 -04:00
Tau 872ae9ca50 Fix Diva slider startup 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 49595d2c37 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 1d6b7591ef Fix DLL loader hook logic
Seems this was quite buggy in its original form.
2021-06-13 11:27:00 -04:00
Tau 5410941944 Fix DLL loader hook logic
Seems this was quite buggy in its original form.
2021-06-13 11:27:00 -04:00
Tau d9d206a160 Whitespace fix 2021-06-13 11:27:00 -04:00
Tau 9543bd183d Whitespace fix 2021-06-13 11:27:00 -04:00
Tau 81f90981b4 Delete draft debris that was never used 2021-06-13 11:27:00 -04:00
Tau 1627a0c850 Delete draft debris that was never used 2021-06-13 11:27:00 -04:00
Tau 5ee0bb2afb Suppress vscode auto-format for the time being
Eventually we would like to set up clang-format rules and enforce
them from CI.
2021-06-13 11:27:00 -04:00