I've fisnished pokemon Black now, and on my second playthrough, I grew really tired of the normal trainer battle bgm. Before I restarted, I tried the battle subway, and I loved the remixed battle tune there, so I decided to starty trying modding a pokemon black/white rom to play the battle subway music as the standard music.
I've googled some things, and found that music in DS games consists of .SSEQ files, .SBNK files and .SWAR files. I've extracted wb_sound_data.sdat, and extracted the sound files for the regular trainer battle and subway battle. I tried replacing the regular trainer battle .SSEQ with the subway battle one, but it wouldn't work, as the subway battle .SSEQ is bigger than the regular one, which of course means that it doesn't fit in the offset.
I overthought this a few times, and I concluded that I should try to accomplish this differently. I read that it is incredibly hard to replace music files with ones that are bigger. But I thought: "When the battle starts, there has to be a certain value that determines and points to the sound file to be played."
So I started thinking. Is it determined by trainer class? Could be, but then explain the classes that have the regular theme in Isshu and the subway theme in the subway. Of course they could've been created twice, once with the regular music, and once with the subway music, but that doesn't seem that logical to me. I'm guessing that there is some kind of value in the trdata.narc, for every trainer, that says which battle theme should be played. I'm willing to analyze the trdata.narc, but I don't have the slightest idea which file in B/W's rom structure contains the trainer data. It was a/0/0/5 and a/0/0/6 in HG/SS, but it isn't anymore in B/W.
Ok, that was quite some text. Please don't tl;dr. I'm hoping the smarter people who have analyzed trainer data structure before can help me a bit. :D