ROM Hack Can you merge two sound_data.sdats?

  • Thread starter Thread starter Fel
  • Start date Start date
  • Views Views 1,143
  • Replies Replies 6

Fel

GBAtemp's Adventurer
Member
Joined
May 5, 2009
Messages
1,036
Solutions
1
Reaction score
66
Trophies
1
Location
So close and yet so far away.
Website
Visit site
XP
880
Country
If you have a sound_data.sdat that contains only voices and sound effects from a Japanese rom (BGM is in separate adx. files, the sdat doesn't have it), and a sound_data.sdat from a USA rom that's much more bigger because it contains the BGM and sound effects, as well as most likely blank or fake spaces where the VO is supposed to be since the USA rom is missing all VO, is it possible to somehow add the Japanese voices, aka the Japanese sound sdat into the USA one?

Is there a software with which I can merge them together, and make all things point correctly within the new sdat?

Btw, when I simply replaced the USA sdat with the Japanese one, the USA rom played only voices and sound effects.

I hope this doesn't count as a duplicate thread, since it words the question differently.
 
Nothing close to a one click solution unless someone made it for that game, which I doubt, with the additional thing I cover in a moment.

There is likely no blank/padding in there, or if there is it will not mean anything like it might have in systems of old where devs would almost comment things out -- DS games, and SDAT files, are compiled and easily tweaked at the dev level. The translation done by the devs might have been a bit more effort than some other things where they just feed it a bunch of different midi and wav files and press go (they would have had to call things differently in the code) but still nothing major on their end, for the finished product though then there is likely nothing there to call the voice over, or if there is it will involve some fiddling with assembly.

Depending upon what goes if you have a complicated setup like this some people instead like to try to go the other way and backport the script to the Japanese game instead.

Also why did you not mention the game name?
 

Thanks for the reply! I thought since the other thread I made about it is right below this thread (where I actually asked if it's possible to put the English translation into the Japanese ROM), it wasn't really necessary to mention the game name, since I thought this was a generic query and it didn't matter which game it's for.

It's 2447 Naruto Shippuuden - Saikyou Ninja Daikesshuu - Gekitotsu!! Naruto VS Sasuke, English name Naruto Shippuuden - Naruto vs Sasuke.

The problem is that the Japanese ROM has completely different structure, so it might be easier to just merge the two sdats, I'm not sure if porting the translation back is easier since the Japanese ROM is lacking all those arm7 and 9 bins and everything in the ftc folder that the USA rom has except for filedat.bin, and instead contains adx and ahx files.

Edit: Tinke doesn't allow me to open the sdat unless there's something I missed, when I click on it the unpack option is greyed out. If you think it's possible to merge the two sdats, do you know how to do it? The USA rom works with the Japanese sdat, but if you simply swap them, then the game is missing music since the Japanese ROM has them in the adx files. That's why I think if you can merge the two sdats, it could work, since the USA rom recognizes/works with the Japanese sdat but is only missing its own VO. Do you know how could I do this?
 
Last edited by Fel,
Could you advise me please on how to get started with trying to insert the English text inside the Japanese rom? Yesterday I once again tried looking at the roms using Tinke, but it seems like I can only replace files with it but not look at them, besides the hexidecimal view which I don't know how to work with.

Or will it be really hard and something I shouldn't attempt as a beginner due to different rom structures? (Japanese Naruto vs Sasuke has ahx and adx files and one sound sdat, USA version only has standard sdats and doesn't contain the ahx/adx files and also contains arm7 and arm 9 bins which the J version doesn't have.
 
Varies massively between ROMs and I have not looked at this one yet. There is a kind of official format for text (akin to the SDAT format for sound) called .bmg but not so many non Nintendo games really use it. If it were that then there is a decent chance you could replace the font (commonly in a file with nftr as the extension) and said files and have it all click that way.

The Japanese ROM should have an ARM9.bin and ARM7.bin file, and some overlay files if that is a thing. ARM9.bin is the thing which forms the main code for commercial DS games. ARM7 tends to handle other things but is often the same between ROMs of a given era (I don't know if you ever saw the arm7 swap fix back when). ARM9.bin files (and overlays) have been known to include text (and everything else -- some rare games even include everything as an overlay), or some small text sections (menu names, location names, wifi error codes...).

I would not be surprised at all for a game to feature things you just copy the relevant script (and maybe font) files across for and have it all drop into place, just the same I would also not be surprised to see such an endeavour become as hard as any more conventional user/hacker driven translation. The trend is towards the former -- devs are lazy by design and don't like to invent more work than is necessary for themselves... so they don't. Copy and pasting files that look like text (remember you can also eliminate backwards -- if something is obviously level data then no need to start there) as a first pass is definitely worth a punt, and might get you quite far.
 
You're right, I don't know how I missed it before despite opening the ROM several times - and I did open it with admin priveleges even before, but for some reason after opening it on a USB drive now the J rom also has the armbins, however unlike the USA rom it doesn't have an overlay.bin.

So far I've only used Tinke, I've also used extract and then change file to undub the roms, but I have no idea how to open the files and which ones if arm9 doesn't contain it with Tinke - I've tried all options but it doesn't let me. How can I unpack the text to look at the files to see if I can find the text and then move it/replace it?

It seems Tinke can only replace files, so I can't insert a new file in.

Just so that it's easier, although you can probably tell by the tags CNSE and CNSJ, the window on the left is the USA version, the window in the middle and on the right are from the J rom.
Comparison.PNG
 
The unpack command should spit out everything into a directory on the PC to look through, and fiddle with as you will, failing that the likes of ndstool should do it.

The file saying "filedata.bin" as me curious -- some games are known to include all their files within another big file. Said big file can be custom format of the dev's choice which could make for a fun start to things.
 

Site & Scene News

Popular threads in this forum