So I’m more or less collaborating with some guy to help get more custom music into Smash 4 3DS.
This includes figuring out how the audio files used by the game are built up. Of course there’s the actual music, encoded in some arcane format we’re not going to bother with yet. But that’s accompanied by a header filled with information about the file, how it should be used, etc. For example, it lists the in-game stage it should be used with and supplies some information on volume settings.
The problem here is that we don’t know what every single piece of the header is for. We’ve observed that if we build a song for a stage twice, with only the audio being different, then some tiny tidbits in the header change. This means we can’t just blindly swap out audio data to replace it. But what do the changes signify? I have no clue. And that’s kind of a problem here.
I’ve found that it doesn’t correlate to the amount of audio data in the file, so my next best guess is that it’s some kind of checksum, telling the game “hey, the audio data should match up with this”, so it can check whether it has loaded correctly.
Currently looking through the source code of someone who’s done work relating to this, but it sadly isn’t telling me very much.