As expected, the ftl_dat extractor worked great for unpacking the images.
For the .bank files: I did some digging and got them to extract to wavs, but I don't think this method will help to repack them. I haven't tried using real fmod tools yet. Here's what I did instead:
- download QuickBMS custom-file-extractor from here (the very top bullet-pointed line is the windows exe link)
- drop the script from the snippet in this post into a text file near the QuickBMS executable
- run the QuickBMS executable and, following its direction, select the BMS script, .bank file, and extraction folder to receive an FSB file named like 00000000.fsb
- download id-daemon's fmod_extractors tools and the fmod dlls also linked there (aezay's fsbextractor seems better known, but doesn't work well here. Explanation below.)
- run the fsb_aud_extr.exe file from the fmod_extractors on the fsb file that the QuickBMS extractor pulled out of the bank file.
- wav files appeared in the folder where the extraction tool was run. One note of caution: the wavs are huge! There will be GBs of sound data overall.
(disclaimer: I accept no responsibility for the results of downloading+running anything linked above, at the least scan things with antivirus software before running them!)
Explanation: the .bank file is a RIFF file, which is a common container-format (RIFF stands for Resource Interchange File Format). This is likely just the format output by fmod studio or whatever specific tool subset used to pack up the audio. It contains both the FSB file (the actual sound bank) and an FEV file (I think this is metadata like revision info, etc). The FSB file is a well-known format that people have written extractors for -- it's just a collection of audio files. Unfortunately, a quirk of the format seems to be that audio files stored in it don't have any header information with them, likely to save space.
aezay's really nice fsbextractor tool
can scan through the .bank file and find the FSB in there, and then pull out all the audio files from the FSB. It can even get .oggs out, and those are what are inside Into the Breach's sound banks! But, sadly, it cannot
currently handle the fact that the .oggs don't have headers, so they're all unplayable. You might be able to use an ogg-fixing tool to fill header info in for them -- I didn't go down that path.
Instead, you can use id-daemon's slightly more rustic fmod_extractors
tools, which can read from an FSB and grok the .ogg files well enough to write them out as playable .wavs. Unfortunately though, this tool cannot
scan through the .bank file that we actually have like aezay's tool can -- it needs the FSB file to be out on its own.
So that's why we need to use a custom file extractor that searches through a .bank file for an FSB version 5 header, and then dumps that content out as a file. aluigi's really cool QuickBMS
program is just such a tool, that lets you write custom extraction scripts to do that kind of thing. And aluigi even wrote a short script
to handle this exact task, which you can copy and use to get the FSB file out of the bank.
With the FSB file in hand, id-daemon's extractor will get out the .wavs, and you have access to the audio resources. I think we'd need to write some custom software to repack these resources if we can't just use fmod's tools for all of this. Which I'm only bothering to check out after writing this post!
Update: FMOD's tools appear to (by design) be not capable of opening packaged .bank files, to make it a little bit less easy for bad folks to steal audio assets wholesale. Fair! It seems like they contain much richer data than I understood at first, so my theory is that someone would need to write a bank extractor that generates an FMOD-compatible project if people want to correctly modify the in-game assets for use in a mod.