Commit Graph

316 Commits

Author SHA1 Message Date
Tau
9ae697d4fc 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
2cd6bdb695 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
645e6cba1d 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
7b71b944e1 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
ef8c844403 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
0c7a9c87c0 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
ef248d7e0e 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
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
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
fb0fd41b6f 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
b4cd868f85 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
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
1d6b7591ef 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
81f90981b4 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
icex2
c1242f1f45 Add another build option for Windows using Docker Desktop to README 2021-05-28 22:40:15 +02:00
icex2
de829d3b8c Add docker-build.bat for building on Windows with Docker Desktop
Initial contribution by Vincent Kocks. Script simplified to fit the
new build setup with a common build/ folder. Build folder can
be deleted on every invocation because it will just be copied
from the docker container anyway.

Co-authored-by: Vincent Kocks <engineering@vingenuity.net>
2021-05-28 22:40:04 +02:00
icex2
aecd7aa749 Add instructions to build on Windows using WSL2 and docker 2021-05-28 21:39:37 +02:00
icex2
8fcea92271 Extend .dockerignore, ignore git related stuff 2021-05-28 20:55:47 +02:00
icex2
76dbbdd665 Overhaul root readme
Provide a more user/developer-friendly entry point to the project
2021-04-10 15:04:28 +02:00
icex2
7db3d4af47 Fix headline levels, first level needs to denote root of doc 2021-04-10 15:03:49 +02:00
icex2
7e97eb9d13 doc: Add doc for chunihook
Stolen from various threads from our favorite place
2021-04-10 15:02:39 +02:00
icex2
1b1f64486f Update .gitignore, ignore single build/ output dir 2021-04-10 15:02:06 +02:00
icex2
27793dcc48 Remove now obsolete mkdist script, part of Package.mk now 2021-04-10 15:01:53 +02:00
icex2
4ea9e6ffb6 Add Dockerfile for building in docker
Make build environment (kinda) independent of the current machine
2021-04-10 15:01:12 +02:00
icex2
b01bbf1658 Add Makefile with easy to use targets for building and dist packaging
Similar to what we used on other projects. Makes the build process
more streamlined
2021-04-10 15:00:16 +02:00
fffc737df2 chunihook: Explicitly load dbghelp.dll so path hooks apply to it
- This allows AMLib (in Chunithm and other games) to successfully
  initialize without requiring the game to be run as Administrator on
  first boot to create `C:\Users\AppUser\temp`.
2021-02-13 15:53:40 -05:00
e76cd2ec3a63f11710dc9fa0bc5b66176521af0a
b73ded3597 eeprom: fill in actual geometry 2021-02-13 15:51:16 -05:00
6cb1008cabfc0d4485696f6df7431a5e27604e1b
0152ede6f0 mkdist: set correct shebang 2021-02-09 01:24:46 +01:00
888be1df7c6f962725a28a172a5394eec3e228e7
bc57f7fe33 doc: fix ACA2 description and document ACA4 board type 2020-08-07 16:49:09 +02:00
85be42b2ce67a8e34b32793360824b056c0c2444
43428a6502 Add support for specifing monitor number for dx9 games 2020-06-06 22:27:07 +02:00
9c2a94eb294ac460ccbd019f5f01f45fffff7759
1e2788795c divaio: Wire up input config 2020-06-06 15:56:35 -04:00
9c2a94eb294ac460ccbd019f5f01f45fffff7759
415b06af7c divaio: Add config 2020-06-06 15:56:35 -04:00
9c2a94eb294ac460ccbd019f5f01f45fffff7759
11a656ef9d Fix instructions in README.md 2020-06-06 15:56:35 -04:00
Tau
c7912c93a3 Document common INI settings 2020-06-06 11:14:46 -04:00
eef0f74ac0 hooklib/path.c: hook Ex variants of CreateDirectory 2020-05-21 00:58:24 +00:00
bd1e893b7a platform/amvideo.c: remove left-over brace from debug messages 2020-05-21 00:58:24 +00:00
ce46262c00 board/io4.c: add system status fix for Ongeki 2020-05-21 00:58:24 +00:00
c7a4c66419 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
8607faea7f hooklib/gfx.c: add dynamic DLL hook on d3d9.dll
- Somehow doing `dll_hook_push` on `d3d9.dll` fixes the path hooks for
  Ongeki's `mu3.exe`
2020-05-21 00:58:23 +00:00