ddr-render.py
mass converts xwb and ssq files to mp3 and ogg/.sm
Choose between scharfrichter (default), rhythmcodex, ddrcharttool, or none (GST only)
Arguments:
'-i', '--input', help='Input folder', default="contents/data"
'-o', '--output', help='Output folder', default="output"
'-c', '--sm-converter', help='StepMania tool', default=None, choices=["scharfrichter", "rhythmcodex", "ddrcharttool"]
'-s', '--series', help='Series to process (multiple ex: 19,20)', default='20'
'-t', '--threads', help='Maximum workers for thread pool', default=10
External dependencies for processing GST:
External dependencies for also processing SM:
- sox
- in_place.py
- romkan
- scharfrichter/BemaniToSM.exe or rhythmcodex/RhythmCodex.Cli.exe or ddrcharttool.py
A mixture of tools are used:
- three sm converter options because each have their quirks
- unxwb because all other tools extract to normal uncompressed wav instead of the game's raw lossy ADPCM
- sox for converting to ogg because all other tools seem to add padding which introduces an offset requirement
- ffmpeg for mp3 tags
- series prior to A20 are untested, but imagemagick may be required for converting old .dds jackets where RhythmCodex and Pillow break
merge-mdb.py
merges two mdbs and makes a diff (with omni songs only for example)
- Run
arcutils_extract.py
to getmusicdb_omni.xml
andmusicdb_new.xml
- Run
merge-mdb.py
- Uncomment lines 82-85 to add " (OmniMIX)" to artist names in the merged output
- Run
arcutils_create.py
to repack the outputmusicdb_merged.xml
ormusicdb_diff.xml
(copy todata\gamedata\musicdb.xml
first)
-
Extract
packages
folder from ddrextreme_omnimix.rar to here -
Enable
dotnet3
- (offline) mount windows iso ADMIN CMD:
dism.exe /online /enable-feature /featurename:NetFX3 /Source:D:\sources\sxs /LimitAccess
- Extract dxsdk_aug2007.exe\Utilities\bin\
x86
folder with 7-zip(Open Inside) to here
- Extract
magick.exe
andffmpeg.exe
to here
- https://download.imagemagick.org/ImageMagick/download/binaries/ImageMagick-7.1.0-portable-Q16-x64.zip
- https://github.com/BtbN/FFmpeg-Builds/releases/download/latest/ffmpeg-n5.0-latest-win64-gpl-5.0.zip
-
pip install lxml typing-extensions
-
Copy contents\data\arc\
startup.arc
and contents\data\arc\thumbnail\jacket_thumbnails_ja_8.arc
to here -
Run
python3 573-to-a20.py
-
Copy the resulting contents\ over your original
- this is useless now
- artist name is set to OMNIMIX for all added songs because artists are not in the Extreme package.json
- background stage is set to 3 for all added songs
- the diff levels may not be accurate (old_diff * 1.5 rounded down)
- jacket aspect ratios are messed up
- most preview volume is deep fried (tried to match original preview levels)
- WF for extracted packages
- DM for original arc tool and lz77 (extract)