Skip to content

iDestyKK/2dx_extract

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

2dx_extract

Extracts WAV files from Beatmania IIDX AC .2dx Archive Files (Tested on Beatmania IIDX 22 PENDUAL)

Made this in about an hour in C (I probably should have done it in C++). Apparently Beatmania IIDX's Arcade Audio files are not encrypted and are stored in a .2dx archive file which the game extracts whenever the user wants to play the song. These files are all WAVs (I do not understand why the modern rips of IIDX songs are in OGG). If you want keysounds from IIDX (Up to PENDUAL), get the HDD and extract the keysounds using this tool.

The .2dx Format

It is a container format. Nothing special. After looking at the bytes in a Hex Editor (HxD, for the record), each file information header begins with the bytes 0x32 0x44 0x58 0x39 (2DX9). If we skip ahead 8 bytes, we can get the file's size, which is a 32 bit integer. 12 bytes past the filesize is the actual file.

Traversing the file to find these is as simple as running a for-loop throughout the entire file until you find a 2DX9 header. It is guaranteed to work in this case because we skip the entire file after finding out it exists to check for more files, eliminating the possibility of a "2DX9" in a WAV file being found. The result of skipping bytes? A really fast and efficient program. :)

Compilation

Linux (And probably Mac) Type "make" in the terminal... It's that easy.

Windows Open up your favourite IDE (Like Visual Studio) and drag the files in and let it compile it for you. Since I was feeling generous, I compiled it for you too. Go into the "bin" folder and just download the EXE there. Or if you are really feeling lazy... here you go.

How to use

In Linux (And probably Mac), open up your terminal. In Windows, open up the Command Prompt. Type the name of the executable. In this case, "2dx_extract". In Linux, you may have to type "./2dx_extract". It will tell you how to use the program.

The syntax is as follows: 2dx_extract [options] [.2dx file]

These are the following options you have at your disposal:

  • h - Shows help
  • i - Shows .2dx archive info (Without Extracting)
  • v - Verbose
  • V - Super Verbose (Shows more information)

Note: The .2dx archive MUST go last whenever specifying command line arguments.

Note: Files extracted will be in your working directory.

Example: 2dx_extract -V 22054.2dx
    - Enables "Super Verbose" and extracts contents from "22054.2dx".


Example: 2dx_extract -i 22054.2dx
    - Gives information about "22054.2dx" without extracting the files.

About

Extracts WAV files from Beatmania IIDX AC .2dx Archive Files (Tested on Beatmania IIDX 22 PENDUAL)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published