Commit Graph

34 Commits

Author SHA1 Message Date
d8b3d41809
mu3: hotfix for calling mu3_io_led_set_colors 2024-05-16 08:10:05 +02:00
9fe98b227b
mu3: added lights hook 2024-05-12 22:06:37 +02:00
517469a60c
switched to new capnhook, updated unityhook, added LED 15093 to MU3 2024-05-12 19:37:30 +02:00
4041844ea9 mai2/mu3/cm: Integrate UnityDoorstop with segatools (#11)
[UnityDoorstop](https://github.com/NeighTools/UnityDoorstop) is a tool to execute managed code (.NET DLLs) before Unity does, useful for modding frameworks such as BepInEx.

This PR integrates parts of its code into segatools, so loading BepInEx is as simple as adding 2 lines to `segatools.ini`:
```ini
[unity]
targetAssembly=BepInEx\core\BepInEx.Preloader.dll
```

This PR also factors out the Unity path redirection hooks to its own module.

Reviewed-on: Dniel97/segatools#11
Co-authored-by: beerpsi <beerpsi@duck.com>
Co-committed-by: beerpsi <beerpsi@duck.com>
2024-04-15 19:30:28 +00:00
451a7ec49d
added VFD toggle to config 2024-02-06 12:34:11 +01:00
8ebdf67d6e
chuni/chusan: added LED output to DLLs (will break most DLLs)
Credits: somewhatlurker, skogaby
https://dev.s-ul.net/skogaby/segatools/-/blob/ongeki-15093/
2023-12-19 12:48:33 +01:00
3dd6054a1e
chusan, fgo, mu3: fixed LED 15093 board 2023-12-03 21:34:38 +01:00
90a6f1be7c
mu3: coin input added 2023-07-14 00:54:30 +02:00
7c90a79f69 gfxhook/gfx.c: Remove unused self parameter 2023-02-13 03:07:37 -05:00
0443a985bd wip: move gfx to gfxhook, some borderless window stuff 2023-02-13 03:07:37 -05:00
b6f1ca6437 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).
2023-02-13 03:07:37 -05:00
6add974ed3 mu3hook: Add missing mu3_io_get_api_version export 2021-08-15 23:08:57 +00:00
cd5ae172b8 board/io4.c: add configuration section to enable/disable emulation 2021-07-05 10:08:09 +00:00
6cb1008cabfc0d4485696f6df7431a5e27604e1b
56a32fd80a Add dvd hook to allow hiding connected dvd drives 2021-06-17 04:02:55 +02:00
26a69e1ea9 Fix format warnings for HRESULT 2021-06-17 01:39:50 +00:00
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
0c7a9c87c0 Load and bind aimeio at runtime 2021-06-13 11:27:01 -04:00
Tau
ef248d7e0e Export aimeio symbols from hook DLLs 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
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
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
7a51533194 mu3hook/dllmain.c: initialize graphics hook 2020-05-21 00:58:23 +00:00
20d5d480fb 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
b23ff704be Fix various MU3 input issues
Too much hurried copy-pasting.
2019-11-03 19:55:02 -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
e4570ac89d mu3hook/io4.c: Remove unused global
Remnant from factoring out mu3io.dll.
2019-09-01 11:49:06 -04:00
Tau
05e4dda8e6 Add missing <assert.h> includes
Fixes non-PCH build.
2019-09-01 11:48:14 -04:00
Tau
3b54f30171 mu3hook: Add initial Ongeki hook 2019-08-30 19:06:32 -04:00
Tau
0817ff4596 mu3hook/io4.c: Add Ongeki IO-4 integration 2019-08-30 19:05:52 -04:00