I have already posted about .sbp files of GOW and how to extract them, however i failed to provide a method to compress them while keeping CRC. Here it is,
What do you need?
- HxD Editor
- QuickBMS & armyoftwo.bms
- HDiffz or any delta patcher
Notes :
- This is not efficient at all.
- This method is based on theory (It should work though).
- Barely a 2~3 MB gain from 80 MB files (there are two of them).
- WemTool doesn't work on localized sound banks.
- Time Consuming
- While Nulling the files, make sure to use *.wav and *.dat
Method:
1. First you have to make the .sbp files compatible with QuickBMS. Follow the
link.
2. After converting the .sbp to a compatible version, create diff patches between them, since you deleted a good amount of Hex code, although the patch should be smaller.
3. Extract the new compatible bank using QuickBMS, create a copy of the extracted folder, and null the inside files, follow this
guide. Upon extraction, you will see alot of .wavs and .dats, meaning that you are in trouble and you will need to rename them to .wem to make it work with WemTool. (Use PowerRename or anything)
4. During installation, decode the the files using WemTool, then rename them back to their original names . Reimport them using QuickBMS and use the diff patches to patch the data you removed in step 1.
Quick Tip:
If you are willing the convert the .sbp to compatible version, open it with HxD, search for "BKHD", convert the code to dec, click on the "dot" before BKHD, note the offset, Use Ctrl+E then select from 0 to whatever offset you noted when you searched for BKHD.
For Example :
Code:
lvl_stn000.sbp | 0 - 18527 |
lvl_helr000.sbp | 0 - 16735 |
lvl_peak000.sbp | 0 - 21599 |
lvl_hel000.sbp | 0 - 14687 |
lvl_alf000.sbp | 0 - 44127 |
lvl_foot000.sbp | 0 - 7007 |
lvl_riv000.sbp | 0 - 22367 |
lvl_stn950.sbp | 0 - 5471 |
Thanks to Masquerade, dixen and everyone.