Baten Kaitos - Eternal Wings and the Lost Ocean

Started by AlfredoDore, May 07, 2023, 11:21:59 AM

Previous topic - Next topic


I'm wanting to make a project just for me of Baten Kaitos - Eternal Wings and the Lost Ocean undub European version, I even extracted the files of the Japanese iso and the US undub version, but I don't know which files, since they are in the archive, I would like to know exactly which files are needed
some games I've done were easier, such as Tales of Syphony, NGC and Wii
here is a picture of the file folder:


So one of those no particular naming scheme things.

Before playing with a debugger and tracing your way back to files (sadly I rarely find poor man's tracing to work for audio as it is so often streamed -- for graphics or text or level data you can often snatch it from RAM and search the ROM for that or fragments thereof) you have three options

1) Compare between Japanese and NA/European release. Depending upon the developers then most things won't be changed and what is might be too small or otherwise dismissed as being audio. Works better between NA and UK releases of games where changes are truly minimal but far from useless when a Japanese release is a part of the equation.

2) Headers/magic stamps. Most file formats by the time of the GC had indicators either at the start of the file, a few bytes in or towards the end. Indeed when encountering a game with lack of names/extensions I will often get a script to trim the first few bytes of a file (or 8 or whatever in if a quick look with a hex editor says that is the way for this game) and dump that all into a spreadsheet or something. if you want a nice command line tool for said script. and the dir command if you need a list of file names to feed it to begin with.

3) Corruption. Maligned by some around here it does never the less work eventually. The idea is you tweak files and whatever breaks is related to that. Try to be a bit targeted (the GC is not fancy enough to have audio be some ultra compressed format, long form music if it is a wave style thing as opposed to sequenced will be in line with MP3 sizes or possibly full wave, thousands of audio samples tended to be grouped up into one big archive for easy reference).


I'll see, the problem is that I don't know how to work with these things, usually the ones I played with the audios and videos were already decoded, in fact I would like some help with this (I speak Spanish) but it would be good for others to enjoy it too


Yeah most undubs on a file system using game/console (GBA and older, SNES and older being not that) are fairly basic affairs, this probably will be that again once you figure out the files that do the deed.

File compare is fairly basic as a concept. 2 main approaches, maybe three depending upon what goes.

1) Hash all the files in the Japanese release, hash all the files in the NA or EU release depending upon which you are going in for. Where hashes differ you know you have a different file. For most localisations you have audio, text, maybe a couple of graphics and whatever the binary (.dol in most GC games) changed with other things remaining largely the same (maybe something else on the data side of things if the international versions are made easier).
Theoretically this is any change at all that will be picked up which might not narrow things down as much as some others.
Any number of tools to hash all the files in a folder, personally I would look at good old SFV files as they are literally a list of... CRC32 is not really a hash much as a checksum but basically the same thing for these purposes.
1a) is there are dedicated file comparison tools, usually aimed at shrinking down hard drive usage but work for this as well. You may also find version control programs offer something similar but we will skip that one for today.

2) Hex editor with relocating compare functions. Hex workshop and I think it was tiny hexer on the freeware side of things being my usual two for this.
Simple file compares compare byte by byte between files and note differences and is available in many things. Relocating will attempt to find where a pattern continues if a bunch of data got deleted or inserted and is actually a non trivial coding problem so features in far less, one of the downsides of file system based approaches compared to older methods is that files do frequently get radical changes like that and thus you do want relocating ones available.
This will also allow you to see the extent of the changes -- a 4 meg possible audio candidate might have changed but if the changes are 16 bytes different then not so much if you are expecting wave style audio.

Headers/magic stamps, something I forgot to mention falls under a greater umbrella of fingerprinting if you want to go into the wider world of computing and need a search term.
Those two have listings for various file formats, and while maybe not this one most formats are similar enough in general that you can learn to spot things when looking at them.
Examine files individually or use one of the programs I mentioned to slice off the first however many bytes from each file (most things will be within the first few dozen bytes) and note its name alongside it before dumping it into one big spreadsheet to see if anything jumps out at you.

3) Corruption. There are dedicated tools but it can be as simple as "swap these two files around/delete files, play the newly changed ROM and see what changes/breaks" or take said hex editor from option 1), edit a file or three to be something else (can matter what you change it to but random is good enough to start with) before again seeing what breaks. Some 4000 files if that image is anything to go by (far from the largest number of files I have ever seen either in a game) so could take a while, or a more focused approach (if you are expecting wave audio then no need to go for the small files, can probably eliminate some of the larger ones quickly enough as well).

Doing it "for real" as it were requires a debugger and some skills in what is nowadays some arcane styles of programming. There though the answer will probably come in 5 minutes, maybe an hour if it is annoying. Generally you know where something is happening in the game, go there and watch the audio hardware during that, follow it back to see where it is getting the data from. It is a process called tracing and is something you might be able to follow along with the broad strokes of. I don't know what dolphin has as a debugger these days or if there is a superior alternative, likewise documentation of the GC hardware is not as nice as some others (though still pretty good). is for an old GBA emulator but the principles work everywhere, albeit here you have to also deal with the DVD reads rather than more direct stuff from the older consoles.


now I see here, a curiosity: in Metroid Other M, the Japanese audio is in both the European and the US, however I don't know how to work with it, then I saw that the Japanese iso has hidden languages, I manually changed the English language to Spanish, but anyway, thanks for the explanation


Different game on different (albeit closely related) system but OK.

Yeah sometimes that happens.

Options there are usually

1) The game has some kind of hidden cheat/bonus mode that allows it. Force this cheat to do what you want -- finding a flag is annoying compared to basic infinite health potions or whatever but within reason, especially if you have an emulator you can revert back to an earlier state for. I did this once for one of the DS Castlevania games that had such a feature, also seemed it checked every time so could alternate it or switch it back and forth (which the base game did not support) if I wanted.

2) Fun with pointers. Most sound files for voicework are in larger archives. Change pointers and sizes (if necessary) to be your desired version.

3) Proper hack wherein you make it work with the other files as it would have been done by the devs. Bit excessive for this as pointers will allow variation if you only want some things changed but becomes more necessary when changing music and not wanting to break internal naming/music tests, or maybe only wanting one level to be a different tune but it is used elsewhere where you want to keep it. Unless the level format dictates backing track somehow then will necessarily involve fiddling with things at code level.


unfortunately this documentation does not help, it has to be something specific


I'll try again, and I'll have an example in the US undb version


I'm having the exact same problem. I want to extract the voice acting sound files from the game but it has no readable file system, just a bunch of files without extension.