This patch replaces the music in Abuse SDL with blank HMI midi files for users that wish to play without music.
**What is this?**
This patch replaces the music in Abuse SDL with blank HMI midi files.
**Why?**
Music playback in Abuse SDL is broken in Win 10 due to a bug that causes Sound and Music volume to be linked. This means that lowering music volume also reduces sound volume. Muting, disabling the music in the cfg file, or deleting the "music" folder also disables sound.
As a result, the music always plays at a constant volume regardless of whether the user wishes to lower music volume or disable it altogether. Since I'm not sure how to fix the volume problem, I've opted to replace the music with empty, dummy files. This disables music entirely, but at least there's now an alternative to constant music playback!
**How?**
Simple hex editing reveals that HMI midi files consist of three parts:
1. A header that reads "HMI-MIDISONG061595" which I assume is the version #
2. Garbled nonsense between entries of what appear to be human readable
MIDI commands. I assume the "garbled" characters are actually MIDI notes.
3. A footer that refers to a .mid file, perhaps the one used to create the
HMI file. These are either the name of the HMI midi file (ie the intro.hmi
file ends in "intro.mid"), or a generic .mid file (ie *.mid). Trailing
zeroes appear after the .mid filename.
I assumed the header and footer were the most important parts of an HMI file, so I filled the rest with zeroes. I opted to keep the file the same length in case there's some kind of check. I then tested this solution with the intro song first. The game started up without music, but with sounds still playing, just as intended! I then started up the tutorial level, and saved at the first terminal before replacing the tutorial level's song. Upon loading the game again, I tested both starting the game, and loading a save. In both cases, the game started without crashing and with no music, but sounds still worked.
I then proceeded to play a few levels in the main campaign. All of the tested levels do not play music, nor did the game crash. There's no guarantee that a later level may not experience issues, but I'm satisfied with patch as it is currently.
**Installation**
Simply unzip the contents of the patch into your copy of Abuse SDL's "music" folder. If you wish to restore the original music, copy and paste the contents of the "_old" folder into the main music folder.
I actually tried doing this myself by making an empty MIDI file and converting it to HMI, but failed, so good job.