Commit Graph

16 Commits

Author SHA1 Message Date
Felix Anderson ea94dd8085
wip: move gfx to gfxhook, some borderless window stuff 2021-11-03 17:14:24 +00:00
Felix Anderson f251283eb6
hooklib: Add D3D11 and DXGI graphics hooks
IDZ only supports D3D11 and Ongeki/Unity uses D3D11 by default.

This also includes a window hook and fullscreen fix for problematic
games (I am looking at you IDZ).
2021-10-25 22:00:20 +00:00
Felix Anderson 7a807e81ad
board/io4.c: add configuration section to enable/disable emulation 2021-07-05 10:08:09 +00:00
Bemani Witch f79144edc1 Add dvd hook to allow hiding connected dvd drives 2021-06-17 04:02:55 +02:00
Tau 3c740af6ec Load and bind mu3io 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 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 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
Felix Anderson 776cf50bd0
mu3hook/dllmain.c: fix hook initialization order to fix path hook
- If the Unity `LoadLibraryW` hook is done too early, then it somehow
  interferes with the other DLL and hook table IAT hooks. Workaround
  this by moving the Unity `LoadLibraryW` hook initialization after all
  other hooks are done.

- Also, correct the platform ID to the ALLS HX
2020-05-21 00:58:24 +00:00
Felix Anderson 86f2717316
mu3hook/dllmain.c: initialize graphics hook 2020-05-21 00:58:23 +00:00
Felix Anderson a1f093a317
mu3hook/unity.c: hook Unity plugin DLLs
- Unity loads plugin DLLs and Mono dynamically.

- Ongeki uses Criware for videos so hook the Criware plugin DLL so the
  path hooks load the videos from the hooked paths.
2020-05-21 00:58:23 +00:00
Tau a87b8f72fa Abort hook DLLs on startup error 2019-11-05 18:03:24 -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 3b54f30171 mu3hook: Add initial Ongeki hook 2019-08-30 19:06:32 -04:00