From e673cf694f35027a083c3a82c4bc1bf5a1693bcd Mon Sep 17 00:00:00 2001 From: icex2 Date: Wed, 18 Oct 2023 01:06:04 +0200 Subject: [PATCH] feat(iidx): Support iidx 30 --- Module.mk | 6 ++- README.md | 7 ++-- dist/iidx/gamestart-30.bat | 16 ++++++++ dist/iidx/iidxhook-30.conf | 84 ++++++++++++++++++++++++++++++++++++++ doc/iidxhook/iidxhook9.md | 23 ++++++++--- 5 files changed, 125 insertions(+), 11 deletions(-) create mode 100644 dist/iidx/gamestart-30.bat create mode 100644 dist/iidx/iidxhook-30.conf diff --git a/Module.mk b/Module.mk index 2c708e5..9480207 100644 --- a/Module.mk +++ b/Module.mk @@ -429,7 +429,7 @@ $(zipdir)/iidx-25-to-26.zip: \ $(V)echo ... $@ $(V)zip -j $@ $^ -$(zipdir)/iidx-27-to-29.zip: \ +$(zipdir)/iidx-27-to-30.zip: \ build/bin/avs2_1700-64/iidxhook9.dll \ build/bin/avs2_1700-64/launcher.exe \ build/bin/indep-64/config.exe \ @@ -441,9 +441,11 @@ $(zipdir)/iidx-27-to-29.zip: \ dist/iidx/gamestart-27.bat \ dist/iidx/gamestart-28.bat \ dist/iidx/gamestart-29.bat \ + dist/iidx/gamestart-30.bat \ dist/iidx/iidxhook-27.conf \ dist/iidx/iidxhook-28.conf \ dist/iidx/iidxhook-29.conf \ + dist/iidx/iidxhook-30.conf \ dist/iidx/vefx.txt \ | $(zipdir)/ $(V)echo ... $@ @@ -837,7 +839,7 @@ $(BUILDDIR)/bemanitools.zip: \ $(zipdir)/iidx-20-cn.zip \ $(zipdir)/iidx-21-to-24.zip \ $(zipdir)/iidx-25-to-26.zip \ - $(zipdir)/iidx-27-to-29.zip \ + $(zipdir)/iidx-27-to-30.zip \ $(zipdir)/iidx-hwio-x86.zip \ $(zipdir)/iidx-hwio-x64.zip \ $(zipdir)/jb-01.zip \ diff --git a/README.md b/README.md index 62a54d8..53bd5a4 100644 --- a/README.md +++ b/README.md @@ -59,9 +59,10 @@ The following games are supported with their corresponding hook-libraries. * Beatmania IIDX 24 SINOBUZ (`iidx-21-to-24.zip`): [iidxhook7](doc/iidxhook/iidxhook7.md) * Beatmania IIDX 25 CANNON BALLERS (`iidx-25-to-26.zip`): [iidxhook8](doc/iidxhook/iidxhook8.md) * Beatmania IIDX 26 Rootage (`iidx-25-to-26.zip`): [iidxhook8](doc/iidxhook/iidxhook8.md) - * Beatmania IIDX 27 Heroic Verse (`iidx-27-to-29.zip`): [iidxhook9](doc/iidxhook/iidxhook9.md) - * Beatmania IIDX 28 BISTROVER (`iidx-27-to-29.zip`): [iidxhook9](doc/iidxhook/iidxhook9.md) - * Beatmania IIDX 29 CASTHOUR (`iidx-27-to-29.zip`): [iidxhook9](doc/iidxhook/iidxhook9.md) + * Beatmania IIDX 27 Heroic Verse (`iidx-27-to-30.zip`): [iidxhook9](doc/iidxhook/iidxhook9.md) + * Beatmania IIDX 28 BISTROVER (`iidx-27-to-30.zip`): [iidxhook9](doc/iidxhook/iidxhook9.md) + * Beatmania IIDX 29 CASTHOUR (`iidx-27-to-30.zip`): [iidxhook9](doc/iidxhook/iidxhook9.md) + * Beatmania IIDX 30 RESIDENT (`iidx-27-to-30.zip`): [iidxhook9](doc/iidxhook/iidxhook9.md) * [jubeat](doc/jbhook/README.md) * jubeat (`jb-01.zip`): [jbhook1](doc/jbhook/jbhook1.md) * jubeat ripples (`jb-02.zip`): [jbhook1](doc/jbhook/jbhook1.md) diff --git a/dist/iidx/gamestart-30.bat b/dist/iidx/gamestart-30.bat new file mode 100644 index 0000000..776d7e8 --- /dev/null +++ b/dist/iidx/gamestart-30.bat @@ -0,0 +1,16 @@ +@echo off +cd /d %~dp0 + +if not exist dev mkdir dev +if not exist dev\e mkdir dev\e +if not exist dev\g mkdir dev\g +if not exist dev\nvram mkdir dev\nvram +if not exist dev\raw mkdir dev\raw +if not exist dev\raw\log mkdir dev\raw\log +if not exist dev\raw\fscache mkdir dev\raw\fscache + +for /R prop\defaults %%D in (*.*) do ( + if not exist dev\nvram\%%~nxD copy /y prop\defaults\%%~nxD dev\nvram +) + +modules\launcher -H 134217728 -B iidxhook9.dll bm2dx.dll --config iidxhook-30.conf %* diff --git a/dist/iidx/iidxhook-30.conf b/dist/iidx/iidxhook-30.conf new file mode 100644 index 0000000..eb7e6bc --- /dev/null +++ b/dist/iidx/iidxhook-30.conf @@ -0,0 +1,84 @@ +# Disable card reader emulation and enable usage of real card reader hardware on COM1 (for games supporting slotted readers) +io.disable_card_reader_emu=false + +# Disable BIO2 emulation and enable usage of real BIO2 hardware +io.disable_bio2_emu=false + +# Disables the poll limiter, warning very high CPU usage may arise +io.disable_poll_limiter=false + +# Lightning cab mode (requires additional IO emulation) +io.lightning_mode=false + +# Disable camera connection +io.disable_cams=true + +# Disables the built in file hooks, requiring manual file creation +io.disable_file_hooks=false + +# Turntable sensitivity multiplier (1.0 is default) +io.tt_multiplier=1.0 + +# Disables the camera emulation +cam.disable_emu=true + +# Disable camera 1. Use, i.e., if you only have one camera and want it to be mapped to camera 2 ingame. +cam.disable_camera1=true + +# Disable camera 2. Use, i.e., if you have more than one camera but only want to map camera 1 ingame. +cam.disable_camera2=false + +# Override camera device ID detection (copy from device manager, do not escape) +cam.device_id1= + +# Override camera device ID detection (copy from device manager, do not escape) +cam.device_id2= + +# Run the game in a framed window (requires windowed option) +gfx.framed=true + +# Run the game windowed +gfx.windowed=false + +# Confine mouse cursor to window +gfx.confined=false + +# Windowed width, -1 for default size +gfx.window_width=-1 + +# Windowed height, -1 for default size +gfx.window_height=-1 + +# Windowed X, -1 for default X position +gfx.window_x=-1 + +# Windowed Y, -1 for default Y position +gfx.window_y=-1 + +# Forced refresh rate, -1 to not force any (try 59 or 60 if monitor check fails to lock on high refresh rate monitors) +gfx.forced_refresh_rate=-1 + +# D3D9ex device adapter (monitor), -1 to use default, 0, 1, 2 etc. to use specified adapter +gfx.device_adapter=-1 + +# Orientation to force monitor into, -1 to use default, 0, 1, 2, 3 to do 0, 90, 180, 270 degrees +gfx.force_orientation=-1 + +# Force a screen resolution (width), -1 to disable. Use this if the game does not auto detect your monitor's resolution properly, e.g. 1368x768 instead of 1280x720. +gfx.force_screen_res.width=-1 + +# Force a screen resolution (height), -1 to disable. Use this if the game does not auto detect your monitor's resolution properly, e.g. 1368x768 instead of 1280x720. +gfx.force_screen_res.height=-1 + +# IP of adapter to force override with +adapter.override_ip= + +# Force ASIO audio mode/device (if applicable / TDJ default) +asio.force_asio=false + +# Force WASAPI audio mode (if applicable / LDJ default) +asio.force_wasapi=true + +# The ASIO device name to use +asio.device_name=XONAR SOUND CARD(64) + diff --git a/doc/iidxhook/iidxhook9.md b/doc/iidxhook/iidxhook9.md index 1d357b1..d5b89a7 100644 --- a/doc/iidxhook/iidxhook9.md +++ b/doc/iidxhook/iidxhook9.md @@ -4,6 +4,7 @@ The following games are compatible with this version of iidxhook: * Heroic Verse * BISTROVER * CASTHOUR +* RESIDENT The games must be bootstrapped using [launcher](../launcher.md). @@ -22,17 +23,19 @@ Make sure to have the following dependencies installed: ## Data setup -We assume that you are using a clean/vanilla data dump. Ensure your ("concents") +We assume that you are using a clean/vanilla data dump. Ensure your ("contents") folder with your unpacked data looks like this: - data - modules - prop -* Copy/Move all files from the *modules* directory to the root folder, so they -are located next to the *data* and *prop* folders. +* For versions 27-29, only + * Copy/Move all files from the *modules* directory to the root folder, so they + are located next to the *data* and *prop* folders. * Copy all files from *prop/defaults* to the *prop* folder. * Setup proper paths for *dev/nvram* and *dev/raw* in *prop/avs-config.xml* by replacing the **-block in that file with the following block: + ``` @@ -46,9 +49,17 @@ replacing the **-block in that file with the following block: 256 ``` -* Unpack the package containing iidxhook9 into the root folder so iidxhook9.dll -and all other files are located in the same folder as *data*, *prop*, -*bm2dx.dll*, etc. + +* For versions 27-29, only + * Unpack the package containing iidxhook9 into the root folder so iidxhook9.dll + and all other files are located in the same folder as *data*, *prop*, + *bm2dx.dll*, etc. +* For version 30 + * Unpack the package containing iidxhook9 into the `modules` folder so iidxhook9.dll + and all other files are located in the same folder as the game's DLLs, e.g. + *bm2dx.dll*, etc. + * Move the `gamestart-30.bat` to the root folder so it is located next to the + `modules`, `data` and `prop` folders * Run the gamestart-XX.bat file as admin. Where XX matches the version you want to run.