Alrighty, update time.
1.5
For the Ogg music mod, we have...
- Restored Windows XP compatibility
- Added support for FLAC
- Added support for XM, IT, MOD, and more (most of what OpenMPT supports)
- Added predecode setting (decode entire file in memory) to reduce stutter
- Reduced stutter when new song plays by recycling compatible playback streams
- Overhauled fading to be smoother
- Playlist files now specify file extension
- Added setting to disable the music pausing when the window loses focus
Since it supports more than just Ogg now, the mod's been renamed 'alternate_music'. Getting XP (presumably) working again was done by ditching
Cubeb, and using
mini_al instead.
By adding
libopenmpt, the DLL should now support almost everything
listed here, with the exception of any formats that use MP3-encoded samples. Honestly, I find this a little overkill. I only really wanted to support the more major formats like XM and IT, but until I can be sure certain compatibility requirements are met, I'm sticking with something I _know_ will work for now.
Anyway, the new 'predecode' setting is for anyone that's really bothered by any stuttering this mod may introduce when loading a song. In this case, the game will decode every Ogg/FLAC file to raw PCM in memory right when the game starts (causing a pretty massive startup delay, mind you), reducing song playing to nothing more than a few switched pointers, and some memcpys. Likewise, 'stream recycling' reduces overhead further by not destroying and creating the output stream whenever a song starts, so long as the new song has the same channel count, sample rate, and sample format as the previous song.
Besides all this Ogg music stuff, I've added a new mod for giving the title screen a background:
Very original, I know. I mainly just did it to see how hard it would be, and was surprised to see it only took
a few lines of code. The mod's settings file can be used to control the choice of bitmap, and background type:
Code:
; This is the filename of the bitmap to use. Typical options are
; bkBlue, bkFog, bkGard, bkGray, bkGreen, bkMaze, bkMoon, bkRed
filename = bkMoon
; This defines what type of background this is.
; 0 - Tiled, static
; 1 - Tiled, moving
; 2 - Scrolling clouds - bkMoon-style
; 3 - Scrolling clouds - bkFog-style
type = 2
The difference between type 2 & 3 only matters with my widescreen mod, since I have to account for the locations of the sun and moon in each one.
Graphics DLL update info
here
Download link here