This is my first ever Python program. When I say first ever, I mean first ever: I had not written a word in Python before, not even a "Hello World" demo. It simply occurred to me that I should probably learn a modern programming language that is not Javascript, and Python seemed to be an easy choice. And what better project are there, other than a complete rewrite of something I did years ago (in VB6, no less)?
This is a simple tool that takes a .pt note chart file from DJMax Online, digests it, and spit out a .bms/.bme file for use in bemani simulators (such as LunaticRave, O2Mania, and the likes), or a .csv file containing all the data mined from the note chart for further analysis. It does not unpack .pak files; for that you have to look elsewhere.
Head over to my Google Site to grab a copy of the code and tinker yourself.
Oh, and one more thing: I'm in love with Python's lists.
Showing posts with label djmax. Show all posts
Showing posts with label djmax. Show all posts
Thursday, October 13, 2011
Monday, January 4, 2010
[DJMax]Part-Time File Fiddler: DJ Max Online note chart conversion tool
The DJMax series is my favorite music/rhythm games. Unfortunately, I never had a chance to play the original DJMax Online before it was shut down.
Some time ago I challenged myself to hack into the note charts, or *.pt files, for DJMax Online. It turned out to be pretty easy - no reverse-engineering required (although I don't know how to reverse-engineer an executable file anyway). Using some black-box observation, most of the specifications of pt files are easy to figure out, since there's no encryption of any sort.
So I wrote a tool that takes a pt file and turns out bms/bme files, so I could play around with them, edit in BMSE, play in beatmania simulators, and so on.
The tool is called Part-Time File Fiddler, a weird improvised name created to fit the acronym PTFF, which is the first 4 bytes of any pt file.
What it does:

By the way, I made a Beatmania IIDX style note chart from Oblivion_7k_mx.pt. See the video below:
You can find the tool, along with some explanatory stuff, here.
Some time ago I challenged myself to hack into the note charts, or *.pt files, for DJMax Online. It turned out to be pretty easy - no reverse-engineering required (although I don't know how to reverse-engineer an executable file anyway). Using some black-box observation, most of the specifications of pt files are easy to figure out, since there's no encryption of any sort.
So I wrote a tool that takes a pt file and turns out bms/bme files, so I could play around with them, edit in BMSE, play in beatmania simulators, and so on.
The tool is called Part-Time File Fiddler, a weird improvised name created to fit the acronym PTFF, which is the first 4 bytes of any pt file.
What it does:
- Read and parse *.pt files from the original DJMax Online. DJMax Portable series, DJMax Trilogy and DJMax Technica are not supported.
- Output the note chart to bms/bme files that can be read by BMSE and other bemani emulators.
- Converts all notes correctly including long (hold) notes and short (hit) notes.
- Converts background notes correctly.
- Converts speed/BPM changes correctly.
- Convert the volume and pan (left/right) of each individual note. pt files do have this feature, but bms files don't support them.
- Retrieve the information of note charts, including title, composer, genre, etc. As far as I know this info is stored separately in a database in DJ Max Online.
- Unpack song data, including BGM, key sounds, BGA elements, etc. These data are stored in *.pak files. To unpack pak files please see the link on the bottom of this page.
By the way, I made a Beatmania IIDX style note chart from Oblivion_7k_mx.pt. See the video below:
You can find the tool, along with some explanatory stuff, here.
Tuesday, December 1, 2009
Hello Earth!
… and all earth inhabitants!
I am twIsteroId AmbAssAdor, from – you guessed it – the planet twIsteroId, and this is my consulate general in the USA.
On this blog I will post anything I would like the world to know, mostly about my hobbies and projects. That is, if I have time to write.
Todo:
get myself an avatar
find, or create a template for this blog
post my previous projects, including pt -> bms file converter for DJMax Online and other stuff I wrote/made for DJMax
write a world setting for the planet twIsteroId
and more…
Subscribe to:
Comments (Atom)