Commit Graph
285 Commits
Author SHA1 Message Date
icex2 4c8cd66212 fix(iidx/ezusb2): Fix IO buffer inconsistency/random input misfiring 2023-04-03 17:54:53 +02:00
icex2 c62f1d8065 feat(iidx19): imagefs override strategy with local file redir 2023-04-03 17:54:49 +02:00
icex2 77934d7495 chore: Apply code formatting on entire codebase for consistent style 2023-04-01 20:54:18 +02:00
icex2 d8d5a512b4 feat(iidx18/19): Improve chart-patch to correctly support iidx 18 and 19
The paths changed for 18 and again for 19. Refactor and improve
the detection logic to consider this. This also should make
the code more maintainable.
2023-04-01 20:54:18 +02:00
icex2 988ed47160 fix(iidxhook-util/chart-patch): Bugfix broken synchronization
The synchronization block was too coarse and kept the lock
acquired even when the hooked call continued traversing because
it skipped the chart patch trap code. This was apparently fine
on several games but caused very flaky deadlocking on iidx18
during the boot screens and even crashed iidx19 consistently
before showing the boot screen.
2023-04-01 20:54:18 +02:00
icex2 ffb589faa7 fix(iidxhook-util/settings): Bugfix broken paths with mixed / and \
Applies to iidx18 and iidx19 when using the recently extended
redirect feature for settings paths, mixing / and \ crashes the
game in some operator sub-menus when trying to save settings.
2023-04-01 20:54:18 +02:00
icex2 8325ca167d chore(dev): Fix compiler warning about not knowing the definition for a struct 2023-04-01 20:54:18 +02:00
icex2 a239d18e26 chore(dev): Fix format warning 2023-04-01 20:54:18 +02:00
icex2 bf13d769d7 chore(dev): Fix compiler warning, use correct format for size_t type 2023-04-01 20:54:18 +02:00
icex2 4a672de960 fix(iidx/ezusb): Improve code resiliance of ezusb node-serial module
- Use static assert to verify struct sizes
- Replace "magic numbers" with proper sizeof's
- Allocate largest size buffer for message response to address
  compiler warnings which indicates potential out of bounds
  reads/writes
2023-04-01 20:54:18 +02:00
icex2 ba4ef2b6a5 chore(dev): Disable formatting on some files to prevent header resorting
This leads to compiler errors as windows.h is expected to be
the first header included for other windows related header files.
2023-04-01 20:52:42 +02:00
icex2 e59343a7fb feat(iidx19): Add back btools monitor check for iidxhook5
Provide an option for non final lincle revisions and
if the "modern" monitor check is not delivering stable
results on the final lincle revision, e.g. using the
original "pendual lcd" monitor.
2023-04-01 20:52:21 +02:00
icex2 1154444d16 iidxhook: Integrate settings hook configurability 2023-03-19 21:15:28 +01:00
icex2 7b90963f53 iidhxook-util: Expose settings_path as a configuration option 2023-03-19 21:15:28 +01:00
icex2 722927caa7 iidxhook-util: Add option to configure path for storing settings
Additional flexibility to cover use-cases like storing this
data on a separate partition which keeps the game data folder
clean and read-only.
2023-03-19 21:15:28 +01:00
icex2 f2678539c3 Bugfix inject: Handle process exit event correctly
When the process requests to exit, the debugger thread attached
from inject swallowed that event simply without taking action
of actually terminating the process. Handle this accordingly
when the debugger loop is running and terminate the process
2023-03-06 00:08:06 +01:00
icex2 bb0d2823bf Bugfix util/proc: Forward exit code to TerminateProcess 2023-03-06 00:08:06 +01:00
icex2 c49fc61f89 doc bugfix: Fix incorrect COM port ID
Must be 1 and not 0 for iidx. See also the api.md docs.
2022-10-19 00:44:07 +02:00
Will Xyen b4bf1f481d iidxhook: split off node-16seg to remove eamio dependency from iidxhook-cn
(so iidxhook-cn doesn't need to link against ezusb-iidx-emu)
2022-06-24 00:57:26 -07:00
Will Xyen dc931faf86 ezusb: decouple some nodes from ezusb-iidx-emu
This fixes a build failure in newer gcc for popnhook.
Since node-16seg has a dependency on iidxio
2022-06-23 23:54:30 -07:00
Will Xyen 523c0ad3f2 iidxhook: fix builds in cn versions 2022-06-23 23:42:05 -07:00
icex2 0cd85083f6 Fix compiler warning about conversion type in snprintf 2022-06-16 00:10:50 +02:00
icex2 485c4d0ad7 Documentation clarification 2022-06-16 00:02:49 +02:00
2d9f8a0741a7573b189035dcb819847ecb5d981d 4bd0ee5ef6 iidxhook: Fix diagonal tearing on textures on iidx18 and 19
Affects all games based on version 18 and 19 which includes
the chinese versions

This code is based on the toastertools implementation.
Credits to the original authors.
2022-06-16 00:02:47 +02:00
2d9f8a0741a7573b189035dcb819847ecb5d981d 8081793a5f iidxhook4-cn: Add support for IIDX Resort Anthem CN
* Exe based game
* No network functionality
* No card readers checked/used
2022-06-15 23:34:50 +02:00
2d9f8a0741a7573b189035dcb819847ecb5d981d badd616add iidxhook 4, 5, 5-cn: enable nvidia fix
Was absent but actually fixes crashing on nvidia cards
on these versions as well.
2022-06-15 21:30:43 +00:00
2d9f8a0741a7573b189035dcb819847ecb5d981d 926e976c36 iidxhook5-cn: Fix log messages, Delete unnecessary code
The game doesn't have network nor uses card readers
2022-06-15 21:29:15 +00:00
2d9f8a0741a7573b189035dcb819847ecb5d981d aa147022c6 Add iidxhook5-cn, support IIDX tricoro CN
alternative name: (狂热节拍 IIDX 2)
2022-06-10 22:54:13 +00:00
QCDLZCLW3K f8a09580ea Support pop'n music 15-18
* popnhook1 for pop'n 15 - 18 has been added
* popnio has been added
* inject.exe has new syntax for loading hook DLLs, `real.dll=hook.dll`. This will trigger an early IAT hook where it will load the EXE suspended without resolving imports, replace the reference to real.dll in the import table with hook.dll, and then resolve everything before launching. This allows for ezusb.dll to be hooked properly.
* launcher.exe also has a new early IAT hook feature now. Use `-I real.dll=hook.dll`. The idea is the same as described above for inject.exe.
* Updated ezusb constant namings based on what is visible in ezusb.dll's debug statements.

The launcher.exe implementation of early IAT hooking means that someone can implement popnhook2.dll for 19 and above. I have tried pop'n music Sunny Park using a modified version of popnhook1 and it seems to work to some degree: the I/O check and security check returns OK which means the ezusb hooking used in popnhook1 is also working for the later games using `launcher.exe -I ezusb.dll=ezusb2-popn-shim.dll ...`. The process is rather invasive (manually resolving all imports means more chances to fail) so it has been implemented in such a way that the launcher will work the same as it has before as long as `-I` isn't specified.

One questionable thing I am not confident about is the `texture_usage_fix` hack flag I added in the conf. As the comment says, pop'n music 16 will work in Windows XP without the flag being set, but the game will immediately crash on later OSes without the flag being set in my experience. No other games had this issue in my experience. Enabling it in other games doesn't seem to have any negative effects.
2022-06-10 22:46:59 +00:00
Will Xyen b3b6c3f499 ddrhook1: fix build (missing flag) 2022-06-06 21:51:09 -07:00
QCDLZCLW3K cafa60d0f6 Clean up old variables 2022-05-30 02:00:49 +00:00
QCDLZCLW3K 6d38aa5f4a Add support for DDR X2 US 2022-05-30 02:00:49 +00:00
QCDLZCLW3K c1c5685e3a Force game to always think a debugger isn't present 2022-05-30 02:00:49 +00:00
QCDLZCLW3K 050e52b21e revert: Use process_hijack_startup instead of hooking an early function 2022-05-30 02:00:49 +00:00
QCDLZCLW3K 2223947dd8 Split USB memory path configurations 2022-05-30 02:00:49 +00:00
QCDLZCLW3K 0294eed22b Add in check for updates folder too 2022-05-30 02:00:49 +00:00
QCDLZCLW3K d7235c3c2c Add in more filesystem hooks 2022-05-30 02:00:49 +00:00
QCDLZCLW3K 89fe822919 Fix window mode for X2 and X3 2022-05-30 02:00:49 +00:00
QCDLZCLW3K 75583897c1 Be more careful about USB memory errors 2022-05-30 02:00:49 +00:00
QCDLZCLW3K 58d297458c ddr: Disable cursor during fullscreen 2022-05-30 02:00:49 +00:00
QCDLZCLW3K 7692e14b0b Fix ddr-16-x64.zip build 2022-05-30 02:00:49 +00:00
QCDLZCLW3K 4cc81f48f3 ddr: Fix windowed mode regressions 2022-05-30 02:00:49 +00:00
QCDLZCLW3K da736d2968 Refactor d3d9 2022-05-30 02:00:49 +00:00
QCDLZCLW3K c3f9ce7e91 Fixes based on PR feedback 2022-05-30 02:00:49 +00:00
QCDLZCLW3K bda239a2ba Use process_hijack_startup instead of hooking an early function 2022-05-30 02:00:49 +00:00
QCDLZCLW3K 1e32d1a9a8 Fix DDR X2 and X3 not booting 2022-05-30 02:00:49 +00:00
QCDLZCLW3K 852d770629 Nearly complete USB memory support 2022-05-30 02:00:49 +00:00
QCDLZCLW3K 4be866e69e Add support for DDR X 2022-05-30 02:00:49 +00:00
Will Xyen 537b1fa384 sdvxhook2: fix crash when using sdvxhook2 on certain OS versions 2022-05-27 23:26:17 +00:00
Will Xyen bd2d722031 sdvxio-bio2: set title pop lights to 50% by default 2022-05-27 23:26:17 +00:00