NOTE: MOST OF THE INFO IN THIS POST IS OUTDATED. GO HERE FOR ACTUAL FUNCTIONAL TOOLS.
Earlier today, as evidenced in this post, I was able to extract, edit, recompress, and run some of the files within the romfs of Rhythm Tengoku The Best Plus, the latest, and currently Japanese-only entry in the series known to western audiences as Rhythm Heaven. The inability to open the files at all was previously a pretty huge obstacle for anyone that wanted to, say, look at the game's text (or change it)
How were you able to accomplish such an impressive feat?
Most of files within the rom (everything except the audio, which was in .aac oddly enough) had the extension of .zlib. .Zlib appears to be a library for losslessly compressing files, and appears to be a commonly used developer utility (OS X has it included). The only problem is, there aren't exactly any user friendly (ie 'non-arcane') ways to mess with these files. Being the plebian that I am, I used my Google-fu to find utilities that allowed extraction of these files. Here's what I did to mess around with them!
Materials:
an extracted Rhythm Tengoku TB+ romfs
the utilities Offzip and Packzip from here
extract the utilities. cd to Offzip's location in command prompt. Enter the following code...
offzip -a \path\to\zlib\file.zlib \path\to\destination\
This will extract the zlib to the specified destination.
I've found three types of file within these zlibs
.cgf - texture file. openable and editable in ohana3ds if you drag it onto the window
.sar - these are .sarc files that have been renamed, they appear to be a collection of .bin files. You can mess with them in EFE if you change the extension to .sarc. Thanks to user ElyosOfTheAbyss for figuring this out
.spb - unknown
When you're done with whatever, you'll need to have the initial .zlib that you extracted, the file you edited, and packzip in the same directory. cd over to there and run the following
packzip -o 0x00000004 file.whatever initialzlib.zlib
The reason that you need to specify a hex adress is because packzip is not like other unzipping/extracting programs - it literally has to copy the extracted file's data into the .zlib at the specified address.
When that's done, copy your edited .zlib back into the romfs directory. You can now safely compile and run your romfs in HANS.
That's cool, but what does it do for me?
Once we can figure out where the text is stored, we'll have the ability to begin work on a fan translation. (I don't actually know a thing about Japanese, I'm just lucky enough to have figured this out.)
So what needs to be done?
-figure out what the heck .spb files are
-find out what exactly is inside of the .sarcs' .bin files
-obtain better way to extract and recompress .zlib files
-find out where the text lives
EDIT: oh yeah, here's what I did. Stupid little texture hack.
Earlier today, as evidenced in this post, I was able to extract, edit, recompress, and run some of the files within the romfs of Rhythm Tengoku The Best Plus, the latest, and currently Japanese-only entry in the series known to western audiences as Rhythm Heaven. The inability to open the files at all was previously a pretty huge obstacle for anyone that wanted to, say, look at the game's text (or change it)
How were you able to accomplish such an impressive feat?
Most of files within the rom (everything except the audio, which was in .aac oddly enough) had the extension of .zlib. .Zlib appears to be a library for losslessly compressing files, and appears to be a commonly used developer utility (OS X has it included). The only problem is, there aren't exactly any user friendly (ie 'non-arcane') ways to mess with these files. Being the plebian that I am, I used my Google-fu to find utilities that allowed extraction of these files. Here's what I did to mess around with them!
Materials:
an extracted Rhythm Tengoku TB+ romfs
the utilities Offzip and Packzip from here
extract the utilities. cd to Offzip's location in command prompt. Enter the following code...
offzip -a \path\to\zlib\file.zlib \path\to\destination\
This will extract the zlib to the specified destination.
I've found three types of file within these zlibs
.cgf - texture file. openable and editable in ohana3ds if you drag it onto the window
.sar - these are .sarc files that have been renamed, they appear to be a collection of .bin files. You can mess with them in EFE if you change the extension to .sarc. Thanks to user ElyosOfTheAbyss for figuring this out
.spb - unknown
When you're done with whatever, you'll need to have the initial .zlib that you extracted, the file you edited, and packzip in the same directory. cd over to there and run the following
packzip -o 0x00000004 file.whatever initialzlib.zlib
The reason that you need to specify a hex adress is because packzip is not like other unzipping/extracting programs - it literally has to copy the extracted file's data into the .zlib at the specified address.
When that's done, copy your edited .zlib back into the romfs directory. You can now safely compile and run your romfs in HANS.
That's cool, but what does it do for me?
Once we can figure out where the text is stored, we'll have the ability to begin work on a fan translation. (I don't actually know a thing about Japanese, I'm just lucky enough to have figured this out.)
So what needs to be done?
-figure out what the heck .spb files are
-find out what exactly is inside of the .sarcs' .bin files
-obtain better way to extract and recompress .zlib files
-find out where the text lives
EDIT: oh yeah, here's what I did. Stupid little texture hack.
Last edited by ultramario1998,