Revamped iidx32 setup guide, snippet adjustements

This commit is contained in:
Akitake 2025-05-28 15:17:29 +02:00
parent ceb8355f6e
commit c5e1dda484
No known key found for this signature in database
19 changed files with 197 additions and 328 deletions

View File

@ -3,303 +3,137 @@
--8<-- "docs/snippets/common/data_warning.md"
!!! danger "Reasonably modern CPU required"
!!! danger "AVX2 capable CPU required"
beatmania IIDX 31 and above require an AVX2 capable CPU.
This game requires your CPU to be compatible with AVX2 instructions.
If your CPU is too old, the game will crash with an `EXCEPTION_ILLEGAL_INSTRUCTION` error.
A known workaround is renaming/deleting the `movies` folder to prevent the game from loading them altogether.
### About data
## Preparing data
!!! info "The full game should be around 100gb while updates are only around 2-5gb in size."
--8<-- "docs/snippets/common/data_readonly.md"
!!! info "Standard (LDJ) / Lightning (TDJ)"
The **complete game data** should be approximately **100 GB or larger**.
If your data is significantly smaller, you likely have an update archive instead of the full game data.
Please keep the following in mind as you're going through this guide.
Here's what the expected data structure should look like:
IIDX's codename is `LDJ`. For `IIDX 32 Pinky Crush` this would be either:
- `LDJ-010` *(TDJ, Lightning cab, 120 FPS)*
- `LDJ-012` *(LDJ, Standard cab, 60 FPS)*
The main difference between `010` and `012` is the game's main `.dll` file, `bm2dx.dll`.
This changes which features the game offers, and which conditions the game expects to run under.
- **TDJ** expects a `120hz` compatible monitor for its main screen, and a second `60hz` touchscreen compatible monitor called a subscreen. The second monitor isn't mandatory, we can get around that using spice2x.
- **LDJ** expects `60hz` monitor for its main screen, and no subscreen.
We'll be using the terms **TDJ** for **Lightning**, and **LDJ** for **Standard** throughout the guide.
!!! danger "If you're coming from IIDX 30 Resident"
You'll want to [update your data](#updating-data) **from** `LDJ-003` **to** `LDJ-010` **or** `LDJ-012` **FIRST** then follow this guide as normal.
### Preparing data
!!! tip ""
After downloading and extracting your data, we need to make sure your files aren't set to `Read-only`.
- Right click the folder containing your data, then click on `Properties`.
- In the `General` tab go down to `Attributes`, untick `Read-only` and click `Apply`.
- A popup will appear, select `Apply changes to this folder, subfolder and files` and press `OK`.
- Finally, click `OK` again to exit out of properties.
You should end up with a file structure with a few folders only, as follows.
<img src="/img/bemani/iidx/common/setup/data.webp">
??? warning "If your data doesn't look like this"
If you're missing the `modules` folder and instead have bunch of `.dll` files next to your folders:
- Create a `modules` folder.
- Move all `.dll` files inside of it so you end up with a structure as shown above.
If extra files are present next to your folders, such as executables, scripts, etc.. **remove them**.
**This also means your data was tampered with and we strongly recommend getting new data from somewhere else.**
!!! info "If you don't need to update your data, you can skip over to the [Installing spice2x](#installing-spice2x) section."
### Updating data
??? danger "Please make sure you're using the right update for your current data."
As we've seen in the [About data](#about-data) section, the main difference between `LDJ` and `TDJ` is the `bm2dx.dll` file.
When updating from a previous version to the next, our current `.dll` will be overwritten.
Knowing that, patches re-uploaded by the community tend to be named `LDJ-DATECODE-to-LDJ-010/012-DATECODE`.
**Note**: If updating from `IIDX 30 Resident`, it will be `LDJ-003-DATECODE-to-LDJ-010/012-DATECODE`.
For example `LDJ-2024082600-to-LDJ-010-2024100900`.
- `2024082600` being your current data's version, no matter if it's using a TDJ or LDJ `.dll` file.
- `2024100900` being the version you would arrive at.
- `010` meaning you would end up with a `TDJ` *(Lightning Cab)* `bm2dx.dll` file.
!!! tip ""
- Extract your patch's files to your existing data in a way that matches its file structure. Agree to overwrite files if necessary.
- Open `prop\ea3-config.xml` in a text editor and find the following lines near the top.
```xml
<soft>
<model __type="str">LDJ</model>
<dest __type="str">J</dest>
<spec __type="str">E</spec>
<rev __type="str">A</rev>
<ext __type="str">2024100900</ext>
</soft>
```
📂data
📂dev
📂modules
📂prop
```
On the line with `<spec __type="str">` the letter needs to match your data type:
- ^^`E`^^ for Standard (LDJ-012, LDJ, 60hz)
- ^^`D`^^ for Lightning (LDJ-010, TDJ, 120hz)
--8<-- "docs/snippets/bemani/common/data_bad.md"
!!! info "If your data is already up-to-date, you can skip ahead to the [Installing spice2x](#installing-spice2x) section"
## Updating data
!!! info "For a comprehensive list of all game updates in chronological order, visit [BemaniWiki](https://bemaniwiki.com/?beatmania+IIDX+32+Pinky+Crush#iidx32vernew)"
!!! danger "Make sure you're using the right update for your current game version"
IIDX updates have `LDJ` and one or two datecodes in their archive names.
**Single datecode:** Contains one update (e.g., `LDJ_2025011400.7z`)
**Two datecodes:** Updates from the older to newer version (e.g., `KFC-LDJ_2024121000-LDJ_2025011400.rar`)
In the two-datecode example:
- `2024121000` is the older date, the game version required to apply this update
- `2025011400` is the newer date, and is the version you'll arrive at after applying the update
--8<-- "docs/snippets/bemani/common/data_update.md"
## Installing spice2x
--8<-- "docs/snippets/bemani/common/spice2x64_install.md"
```
📂data
📂dev
📂modules
📂prop
🌶spice64.exe <---
🌶spicecfg.exe <---
```
--8<-- "docs/snippets/bemani/common/spice2x64_stubs.md"
## Configuring spice2x
!!! info "Following tabs correspond to the ones found in `spicecfg`"
!!! danger "Avoid changing or patching anything you don't need or understand unless explicitly told to"
=== "Buttons"
--8<-- "docs/snippets/bemani/iidx/spicecfg_buttons.md"
Replace the letter accordingly if necessary.
=== "Analogs"
On the line with `<ext __type="str">` the datecode needs to match your new version.
--8<-- "docs/snippets/bemani/iidx/spicecfg_analogs.md"
- If that's already the case then great! Don't touch anything.
- If it instead corresponds to our pre-patch datecode, replace it with the new one.
=== "Overlay"
Now save the file.
--8<-- "docs/snippets/bemani/common/spicecfg_overlay.md"
### Installing spice2x
=== "Lights"
!!! info ""
--8<-- "docs/snippets/bemani/common/spicecfg_lights.md"
If you already have spice2x installed, make sure it is up to date!
=== "Cards"
!!! tip ""
--8<-- "docs/snippets/bemani/common/spicecfg_cards.md"
- Head over to [spice2x.github.io](https://spice2x.github.io) and download the latest release.
- Extract the `spice64.exe` and `spicecfg.exe` files from the archive to your game's directory.
<img src="/img/bemani/iidx/common/setup/spice2x64data.webp">
=== "Patches"
### Configuring spice2x
--8<-- "docs/snippets/bemani/common/spicecfg_patches.md"
!!! info "Open `spicecfg.exe`, each following sub-section corresponds to a tab at the top."
=== "API"
#### Buttons
--8<-- "docs/snippets/bemani/common/spicecfg_nochange.md"
!!! tip ""
=== "Options"
Click on `Bind` then press the key you want associated with the action.
--8<-- "docs/snippets/bemani/iidx/spicecfg_options_disablecams.md"
With your controller and/or keyboard plugged in, configure your keys for:
--8<-- "docs/snippets/bemani/common/spicecfg_options_nvprofile.md"
- **Maintenance**: `Service, Test`
- **P1 Game buttons**: `1 to 7, Start, EFFECT, VEFX`
- **P1 Keypad**: `Keypad Insert Card`
--8<-- "docs/snippets/bemani/iidx/spicecfg_options_tdj.md"
**Only if** you're using LDJ:
=== "Advanced"
- **P1 Keypad**: `1 to 9`
--8<-- "docs/snippets/bemani/iidx/spicecfg_advanced_camhook.md"
**Only if** you're playing using a keyboard:
=== "Development"
- **Turntable**: `TT+, TT-` **and optionally** `TT+/-` which alternates between `TT+` and `TT-` on each press.
#### Analogs (controller/cab only)
--8<-- "docs/snippets/bemani/common/spicecfg_nochange.md"
!!! tip ""
## Configuring Audio
With a controller rather than binding buttons to `TT+` and `TT-`, you need to:
--8<-- "docs/snippets/bemani/common/setup_audio.md"
- For Turntable P1, click `Bind`.
- In `Device`, pick your controller.
- In `Control`, pick whichever one corresponds to the turntable.
- Turn your turntable ensuring that the Preview turns along with it.
- Click `Close`, leaving the rest of the settings alone.
## Connecting to a network
#### Overlay
--8<-- "docs/snippets/bemani/common/setup_network.md"
!!! tip ""
## Configuring your game
Modifying buttons in this section is not required but you are free to change what you want.
!!! info "Read through the [Extra Information](extras.md) page"
Click on `Bind` then press the key you want associated with the action.
## Installing VCRedist & DirectX
#### Lights (controller/cab only)
--8<-- "docs/snippets/common/setup_vcredist_directx.md"
!!! tip ""
## Before playing
Your controller might support having its lights controlled by the game through spice2x.
--8<-- "docs/snippets/common/before_playing.md"
If it does, here's how you may link different actions to your lights:
- Click `Bind`.
- In `Device`, pick your controller.
- In `Light Control`, select the corresponding light.
- Click `Close`.
- Repeat for your other lights.
#### Cards
!!! info "Covered in the [Connecting to a network](#connecting-to-a-network) section."
#### Patches
!!! info "Go through the [spice2x Patching](/extras/patchsp2x.md) page to import patches."
!!! tip ""
Ever since EPOLIS final (2024-08-26), patches have a description built-in to them.
To view it, hover-over the `(?)` or `(!)` to the left of each patch's name.
!!! danger "To prevent issues, avoid patching things you don't need or understand."
#### API
!!! warning "Leave everything at default unless you know what you're doing."
#### Options
!!! info "If you don't know what an option does, hover over the its name with your mouse."
<img src="/img/common/spice2x_option_hover.webp">
!!! danger "Be very careful changing options you don't understand as it may cause issues."
!!! tip "Required"
| Category | Option | Parameter | Setting |
|---------------|-----------------------|-------------------|---------|
| Game Options | IIDX Disable Cameras | -iidxdisablecams | ON |
| Network | EA Service URL | -url | Covered in [Connecting to a network](#connecting-to-a-network) |
!!! warning "Required For TDJ"
| Category | Option | Parameter | Setting |
|---------------|-----------------------|-------------------|---------|
| Game Options | IIDX TDJ Mode | -iidxtdj | ON |
**If you only have a single 120hz monitor**, and not another 60hz touchscreen:
| Category | Option | Parameter | Setting |
|-------------------|-------------------------------|-----------------------------------|---------|
| Graphics (common) | Only Use One Monitor | -graphics-force-single-adapter | ON |
!!! tip "Highly Recommended for NVIDIA users ONLY"
| Category | Option | Parameter | Setting |
|-------------------|-----------------------------------|---------------| |
| Graphics (common) | NVIDIA profile optimization | -nvprofile | ON |
#### Advanced & Development
!!! warning "Leave everything at default unless you know what you're doing."
### Connecting to a network
!!! danger "Please choose one of the two solutions, not both!"
??? tip "Remote (Online Network)"
Open `spicecfg.exe` and head to the `Options` tab.
In the `Network` category, set the following settings:
- `EA Service URL` to the URL provided by your network.
- `PCBID` to the PCBID provided by your network.
<img src="/img/common/spice2x_network.webp">
Next you need a card number.
If you don't already have one, generate one in the `Cards` tab.
To keep your card number safe, create a new `.txt` file with ONLY it inside.
Once that's done, head to the `Cards` tab, for `Player 1` click `Open...` and point to your text file.
<img src="/img/common/spice2x_cards.webp">
??? tip "Local e-amuse Emulator (Asphyxia)"
This is covered in the [Asphyxia CORE](/extras/asphyxia.md) page.
### Pre-launch requirements
!!! info "These steps are required, otherwise your game won't run."
#### VCRedist & DirectX
!!! tip ""
- Download and install the latest [VCRedist](https://github.com/abbodi1406/vcredist/releases/latest) (`VisualCppRedist_AIO_x86_x64.exe`)
- Download and install the [DirectX End-User Runtimes](https://www.microsoft.com/en-us/download/details.aspx?id=8109)
#### Audio
!!! tip ""
- Open `spicecfg.exe`.
- At the very top, click on `Shortcuts` then `Audio Playback Devices`.
- In the popup window, right click on your default audio device, and click on `Properties`.
- Go to the `Advanced` tab.
- Check both boxes under `Exclusive Mode`.
- Open the `Default Format` dropdown.
- Pick the `16 (or 24) bit, 44100 Hz` option, click `Apply` then `OK`.
<img src="/img/common/audio_24_441.webp">
#### Standard / Lightning / Language settings
!!! info "Read through the [Extra Information](extras.md) page and edit your `prop\ea3-config.xml` file if necessary."
### First launch
!!! danger "If you have any issues running the game, refer to the [Troubleshooting](troubleshooting.md) page."
#### BACKUP DATA
## First launch
!!! tip ""
@ -309,79 +143,63 @@
If it's your first time running the game, you'll immediately be greeted with this screen.
<img src="/img/bemani/iidx/common/firstlaunch/1.webp">
#### CLOCK ERROR
!!! tip ""
<img src="/img/bemani/iidx/common/firstlaunch/1.webp">
Press your `Test` key to initialize the backup data, a message will pop up stating it's been initialized.
Next, you'll get another error.
<img src="/img/bemani/iidx/common/firstlaunch/2.webp">
<img src="/img/bemani/iidx/common/firstlaunch/2.webp">
!!! tip ""
Press your `Test` key again and let the game run for a bit until the monitor check is complete.
Let the game run for a bit until the monitor check is complete and you should be taken to the service menu.
You will now be taken to the service menu.
<img src="/img/bemani/iidx/common/firstlaunch/3.webp">
<img src="/img/bemani/iidx/common/firstlaunch/3.webp">
!!! tip ""
Instructions on how to navigate the menu are shown at the bottom of the screen.
Instructions on how to navigate the menu are shown at the bottom of the screen:
- Press `1` and `2` to go up and down.
- Press `6` to select/execute.
Start by going up to `CLOCK`.
<img src="/img/bemani/iidx/common/firstlaunch/4.webp">
!!! tip ""
<img src="/img/bemani/iidx/common/firstlaunch/4.webp">
Here, simply select `SAVE AND EXIT` and the clock will be set.
You'll be back in the service menu.
#### NETWORK OPTIONS
!!! tip ""
Go to `NETWORK OPTIONS` then `SHOP NAME SETTING`.
<img src="/img/bemani/iidx/common/firstlaunch/5.webp">
<img src="/img/bemani/iidx/common/firstlaunch/6.webp">
<img src="/img/bemani/iidx/common/firstlaunch/5.webp">
<img src="/img/bemani/iidx/common/firstlaunch/6.webp">
!!! tip ""
We will need to set a shop name.
You will need to set a shop name.
- Name your shop to whatever you'd like. Instructions on how to navigate are at the bottom of the screen.
- Name your shop to whatever you'd like. Again, navigation instructions are at the bottom of the screen.
- Go to `EXIT` then `SAVE AND EXIT`.
<img src="/img/bemani/iidx/common/firstlaunch/7.webp">
<img src="/img/bemani/iidx/common/firstlaunch/3.webp">
!!! tip ""
<img src="/img/bemani/iidx/common/firstlaunch/7.webp">
Select `GAME MODE`.
<img src="/img/bemani/iidx/common/firstlaunch/3.webp">
You're all done! The game should load up properly now.
!!! success "You're all done! The game should load up properly now"
### Carding in
## Carding in
!!! info "Before carding in, you have the option of changing the game's language by pressing your `EFFECT` key."
!!! info "Before carding in, you have the option to change the game's language by pressing your `EFFECT` key"
??? tip "For LDJ (Standard)"
??? tip "For LDJ (Standard mode)"
LDJ should accept keypad number binds:
- Press your `Keypad Insert Card` button.
- Enter your code using your keypad binds.
??? tip "For TDJ (Lightning)"
??? tip "For TDJ (Lightning mode)"
TDJ will ignore keypad number binds, you need to:
@ -390,10 +208,6 @@
- Enter your code by clicking on the subscreen's keypad.
- If your code is accepted, you may now close the overlay.
### Troubleshooting
# Help
!!! warning "Have any other issue?"
Check out the [Troubleshooting](troubleshooting.md) and [Error Codes](/errorcodes/bemani.md) pages.
For any more game-specific information, check out [Extra Information](extras.md).
--8<-- "docs/snippets/common/help.md"

View File

@ -87,7 +87,7 @@
=== "API"
--8<-- "docs/snippets/bemani/common/spicecfg_api.md"
--8<-- "docs/snippets/bemani/common/spicecfg_nochange.md"
=== "Options"
@ -97,11 +97,11 @@
=== "Advanced"
--8<-- "docs/snippets/bemani/common/spicecfg_advanced.md"
--8<-- "docs/snippets/bemani/common/spicecfg_nochange.md"
=== "Development"
--8<-- "docs/snippets/bemani/common/spicecfg_development.md"
--8<-- "docs/snippets/bemani/common/spicecfg_nochange.md"
## Configuring Audio
@ -146,7 +146,9 @@
If you're seeing this screen, it means you need to calibrate your knobs.
Press your `Test` key. Here is how you navigate this menu:
Press your `Test` key to go to the service menu.
Instructions on how to navigate the menu are shown at the bottom of the screen:
- Press `BT-A` to go up
- Press `BT-B` to go down
@ -181,8 +183,8 @@
Select `GAME MODE` and press `Start`.
You're all done! The game should load up properly now and you may card in.
!!! success "You're all done! The game should load up properly now"
# Help
## Help
--8<-- "docs/snippets/common/help.md"

View File

@ -1,4 +1,4 @@
??? warning "If your data does not look like this"
!!! danger "If your data does not look like this"
If you have `.dll` files next to your `data`, `prop`, etc.. folders:

View File

@ -1 +0,0 @@
!!! warning "Leave everything at default unless you know what you're doing."

View File

@ -1 +0,0 @@
!!! warning "Leave everything at default unless you know what you're doing."

View File

@ -1,9 +1,24 @@
!!! info "You'll need an e-amuse compatible card to save your profile. You can use a real card if you have one, or use a random number."
!!! info "This tab lets you configure which cards are used to save your game profile to"
??? tip "If you own an e-amuse/FeliCa card and a compatible NFC reader"
??? tip "If you own a physical e-amuse/FeliCa card and a compatible NFC card reader"
??? tip "If you don't, and wish to generate a card number"
Setup instructions vary depending on your specific reader model.
Navigate to the `Advanced` tab and scroll down to the `NFC Card Readers` section.
Browse the available options and hover over each one to view descriptions and configuration guidance.
- Open `spicecfg.exe` and
**There is no need for you to specify cards for either player in this tab when using a card reader.**
<img src="/img/common/spice2x_cards.webp">
??? tip "If you don't, you can use a virtual card number instead"
If you already have generated a card number before, you may use this one.
To generate a new card number for Player 1 or 2:
- Click on `Open...`
- Choose where to save your card number
- Give it a file name (e.g. `card0.txt`)
- Click save
- Finally, click on `Generate`
This will automatically generate a valid card number for you and keep it in the file you specified.

View File

@ -1 +0,0 @@
!!! warning "Leave everything at default unless you know what you're doing."

View File

@ -1,9 +1,9 @@
!!! info "This tab allows you to configure controller lights to sync with the game"
Not all controllers support this, but it does not affect gameplay and is completely optional.
!!! tip ""
Your controller might support having its lights controlled by the game through spice2x.
If it does, here's how you may link different actions to your lights:
- Click `Bind`
- In `Device`, pick your controller
- In `Light Control`, select the corresponding light

View File

@ -0,0 +1 @@
!!! warning "No need to change anything here"

View File

@ -1,5 +0,0 @@
!!! info "If you don't know what an option does, hover over the its name with your mouse."
<img src="/img/common/spice2x_option_hover.webp">
!!! danger "Be very careful changing options you don't understand as it may cause issues."

View File

@ -1,5 +1,3 @@
!!! tip "Highly Recommended for NVIDIA users ONLY"
!!! tip "NVIDIA GPU users ONLY"
| Category | Option | Parameter | Setting |
|-------------------|-----------------------------------|---------------| |
| Graphics (common) | NVIDIA profile optimization | -nvprofile | ON |
Enable `NVIDIA profile optimization (-nvprofile)` to let spice2x create an optimized profile for your game.

View File

@ -1,3 +1 @@
!!! info "Go through the [spice2x Patching](/extras/patchsp2x.md) to import and pick patches."
!!! danger "To prevent issues, avoid patching things you don't absolutely need or understand."
!!! info "Go through the [spice2x Patching](/extras/patchsp2x.md) to import and pick patches"

View File

@ -0,0 +1,11 @@
!!! tip "Optional: Camera hook"
With a webcam connected, you can:
- Enable `IIDX Cam Hook (-iidxtdjcamhook)`
- Make sure `IIDX Disable Cameras (-iidxdisablecams)` from the `Options` tab is disabled
- Optionally enable `IIDX Camera Order Flip (-iidxflipcams)` if you have two cameras connected and the wrong one is being used
This allows spice2x to try and interface with your webcam to enable camera functionality in the game.
You can then bind a button to the `Camera Control` overlay in the Overlay tab to adjust camera settings.

View File

@ -0,0 +1,12 @@
!!! info "This tab is used to bind analog controls like the turntable"
!!! warning "Ignore this tab if you play with a keyboard"
!!! tip "Bind your controller's turntable"
With a controller, instead of binding `TT+` or `TT-` in the `Buttons` tab, you need to:
- Click `Bind`
- In `Device`, pick your controller
- In `Control`, pick the control that updates the preview when turning the turntable, typically `X`
- Click `Close`, leaving the rest of the settings alone

View File

@ -0,0 +1,15 @@
!!! info "This tab is used to bind your keyboard and controller buttons"
!!! tip "Binding your buttons"
Click on `Bind` then press the key you want associated with the action.
With your controller and/or keyboard plugged in, configure your keys for P1 and/or P2:
- **Maintenance**: `Service, Test`
- **Game buttons**: `SW1 to SW7, Start, EFFECT, VEFX`
- **Keypad**: `Keypad Insert Card`, `1 to 9`
**Only if** you play with a keyboard:
- **Turntable**: `TT+, TT-` **and optionally** `TT+/-` which alternates between `TT+` and `TT-` on each press.

View File

@ -0,0 +1,3 @@
!!! tip "Important"
Enable `IIDX Disable Cameras (-iidxdisablecams)` **unless** you have a webcam connected and wish to use it with the camera hook from the advanced tab.

View File

@ -0,0 +1,3 @@
!!! tip "Optional: Enabling TDJ (Lightning mode)"
You may want to enable `IITX TDJ Mode (-iidxtdj)` if your main monitor is 120 Hz capable.

View File

@ -8,7 +8,6 @@
- Click `Bind`
- In `Device`, pick your controller
- In `Control`, pick `X` for `VOL-L` or `Y` for `VOL-R`
- Turn your knob ensuring that the Preview knob turns along with it
- In `Control`, pick the control that updates the preview when turning the corresponding knob
- Click `Close`, leaving the rest of the settings alone
- Repeat for your other knob

View File

@ -0,0 +1,6 @@
!!! tip "A few things to remember before each play session"
- Close of any applications running in the background which could affect performance
- Double-check your monitor is oriented properly for this game
- Double-check your sample rate is correct for this game
- Connect your controller