1
0
mirror of https://github.com/djhackersdev/bemanitools.git synced 2024-11-28 08:20:51 +01:00
bemanitools/doc/ddrhook/ddrhook1.md
2022-06-07 18:17:54 +00:00

5.8 KiB

ddrhook1

Supported games

The following games are supported with this hook library:

  • Dance Dance Revolution X
  • Dance Dance Revolution X2 (US/EU regions)

The games must be bootstrapped using inject.

Data setup

Ensure your folder with your unpacked data looks like this:

  • conf
  • data
  • ddr
  • ddr_YYYYMMDDRR where YYYYMMDDRR corresponds to different datecodes of different versions. Multiple folders of these possible

DDR.exe files should be in ddr and ddr_YYYYMMDDRR folders.

Unpack the distribution package ddr-11.zip into one of the folders containing a DDR.exe file. We recommend using the one with the latest datecode which denotes the latest version of the game including bugfixes etc.

gamestart-11.bat as well as ddrhook1.dll are now expected to be located in the same folder as (one) DDR.exe file.

Running

Run gamestart-11.bat as administrator. For the US version of the game, run gamestart-11-us.bat instead. This can be done by either by double clicking or running it from cmd.exe. The latter is recommended to have any debug output kept on screen after closing the game.

This will run inject with the ddrhook1.dll. On first run, if you don't have a conguration file, e.g. ddr-11.conf, available in the same folder, a default one will be created and the game exits. Simply re-run gamestart-11.bat again.

Configuration ddrhook

The hook library can be configured via cmd arguments or a configuration file. The latter is generated (ddr-11.conf in the same directory) on the first start of the game using the gamestart-XX.bat file. It contains default values for all available parameters and comments explaining each parameter. Please follow the comments when configuring your setup.

Add the argument -h when running gamestart-XX.bat (e.g. gamestart-XX.bat -h) to print help/usage information with a list of all available parameters. Every parameter can be either set as command line argument or using a configuration file.

To set a parameter from the command line, just add it as an argument after the bat file like this

gamestart-11.bat -p gfx.windowed=true

The syntax for the "key=value" is the same as in the config file. Make sure to have a pre-ceeding "-p" for every parameter added.

However, if a parameter is specifed in the configuration file and as a command line argument, the command line argument overrides the config file's value.

Configure USB memory cards and edit data

You can setup actual USB thumb drives mapped to a drive letter, e.g. E:\ for player 1 and F:\ for player 2, or just have them point to any local directory, e.g. usbmem_p1 and usbmem_p2.

Set-up your folder mappings in the conf file or via command line args like follows:

  • Enable USB memory data emulation: ddrhook1.usbmem_enabled=true
  • Set P1 USB memory data path pointing to local folder usbmem_p1 next to DDR.EXE: ddrhook1.usbmem_path_p1=usbmem_p1
  • Set P1 USB memory data path pointing to local folder usbmem_p2 next to DDR.EXE: ddrhook1.usbmem_path_p1=usbmem_p2
  • Have/create a subfolder called DDR_EDIT on any location/USB drive you want to use
  • Name your edit data file either DDR_EDIT_J.DAT (for JP version) or DDR_EDIT_U.DAT (for US version) and place it in the DDR_EDIT directory.

For the example setup above, the full relative path of the edit file should be usbmem_p1\DDR_EDIT\DDR_EDIT_J.DAT for player 1.

Note that USB memory cards are not detected by the game and the game stays silent about that if they do not contain edit data, your path mapping does not resolve or you misplaced or named your edit data file incorrectly.

Grey and glitchy arrows

This is a known issue with many GPUs, typically non-Radeon GPUs.

There is currently not patch available in Bemanitools for that. We assume this is an issue with incompatible shader code.

There are solutions to hard-patch the code available elsewhere.

Troubleshooting and FAQ

Issues with background videos (not) playing

The game expects you have the CLVSD.ax file registered for decoding videos.

Grab the CLVSD.ax file and go to Start > Run > enter regsvr32 clvsd.ax and execute. Make sure to run as Administrator, otherwise you will get errors due to invalid permissions.

Game crashes during boot

If you have played a newer version of DDR, e.g. DDR 2014+, you might have the k-clvsd.dll codec registered which crashes DDR X and likely X2 (EU/US) as well.

Unregister k-clvsd.dll, e.g. regsvr32 /u k-clvsd.dll, and registering CLVSD.ax.

Note that CLVSD.ax will likely hang any newer/more recent DDR versions on startup and require you to use the k-clvsd.dll that came with the respective version instead. See this section for further details.

Black screen/render window without a response

This symptom might have many causes, here is a list of known issues and what can be done:

  • If not done already, try installing DirectX Redist (June 2010)
  • If you have an integrated/second GPU, ensure it is disabled
  • External (USB) audio devices could cause issues. Ensure you are running on on-board/integrated sound cards and unplug any external audio devices.
  • Disable fullscreen optimizations: Right click on DDR.exe, Properties > Compatibility > Disable fullscreen optimizations
  • Check if you can run DDR.exe without Bemanitools by simply launching it. It should at least boot into a startup screen. If that isn't even possible, then it's likely not an issue with Bemanitools. Note that your data path needs to be D:\HDX for that to work though.