Suicide Slim wrote:
SPC files compress a lot better if you use LZMA compression. I have a wad file I put a bunch of SPC music in some years back that had over 1200 spc files in it. When compressed with lzma at 64KB/file It came out to be about 3-4 Megs. It plays just fine compressed like this back in Skulltag days on servers I hosted.
I'd love to learn how to compress them like that, I have a .pk3 that replaces all vanilla Doom, Doom 2, and Heretic music with SPC files, and it's about 7 MB. And a .pk3 I use changemus with that has 5 full SPC soundtracks.
The wad I used with all the SPC files amounted to 87.2 MB before compression. After compression using LZMA, it shrunk the file down to 4.2 MB, including the ACS and text files.
The music folder in the file which doomjoshuaboy posted, which houses all the SPC is 36.8MB before compression. After compressing this it goes down to 2.6MB.
If you want to do this, what you first need to do is to put all your content first into a .WAD file and save this using a program such as SLADE3. Once this is a working .WAD file use 7zip with options:
Archive format: zip
Compression Level: Ultra
Compression Method: LZMA
Dictionary Size: 64 MB (You can use larger sizes for better compression but it's not really worth it, you might gain 1/10th of a MB by using very high 512MB+ numbers but at the cost of a HUGE amount of RAM to compress).
Word Size: 64 (Larger sizes here will compress better, this time at the expense of CPU time instead of RAM). I tested with 273 here and gained about 1/100th better compression on SPC files, you may get larger gains on other types of files within an archive.
Solid Block Size: Not supported in zip archive format, only 7z format. Should be blank if using zip.
Number of CPU threads: You can go as high as needed here, it will just compress a bit faster, though in some archive formats more threads does make the file size a few bytes larger.
I am not sure why when SPC files are first placed inside a .wad file then compressed in this manner save so much darn space over just compressing them natively outside of a doom .wad file.
You can experiment with the above options if you like, such as using 7z archive format and solid block sizes but test your file to ensure the music plays in game before distributing the file :)