First of all sorry to post on a year old topic but I think this might still be relevant.
I have been looking into enabling music playback in Heavy Gear 2 and have made a small program that plays mp3 files while the game is running. The program works by monitoring the loaded DLL files and I have used the example code from here as the basis for it: https://docs.microsoft.com/en-us/windows/desk … s-for-a-process
Luckily Heavy Gear 2 uses two different dll files based on whether the player is in the game menu or in the simulator phase of the game. My launcher program first starts "Heavy Gear 2.exe" and then stays active in the background looking for when HG2SIM.DLL is loaded. When this happens the program knows the player has entered the mission (simulator) and music should play. When SHELL.DLL is detected the program knows the player is in the game menu and music stops. The program plays the mp3 files using the standard Microsoft Media Control Interface (MCI commands) from a \music\ sub directory in a random order.
Now originally the game used earpds.dll a custom library for handling the music playback. This means that the normal winmm.dll wrappers can not be used to restore the music playback. To my knowledge the earpds.dll is only compatible with real hardware running Win9x. For example you can run win9x on Oracle Virtual Box but cdaudio is not supported so you still do not get the music (not to mention that the game also requires Direct3D).
Originally the game had interactive music track playback where the music would change according to the events in the missions. My launcher program can not restore this interactive music behaviour and thus the compromise to play random tracks was made. Ideally one would need to somehow understand how "earpds.dll" handles the music playback and write a custom wrapper for it but this seems like a huge amount of work to support just one game.
You could of course simply play your music manually in the background with some media player software but that would require you to stop and pause the music manually and possibly affect the immersion.
I wonder if there is any interest for this kind of launcher program or if indeed something similar has already been done. (I could not find anything in my searches other than this topic)