- uncoupled the stream sources from the low level implementation. The entire setup had the stream sources depend on the SoundStream class, severely limiting reusability. This was changed that there is one SoundStream class that uses the StreamSources as mere data source that has no knowledge and no connection to the underlying system, similar to how the MIDI system works. With this there are only 3 top level music classes left - MIDIStreamer, StreamSong and CDSong.

Also made the decode_vorbis function in DUMB a function pointer so that the library does not depend on high level code and can just ignore the vorbis case if no supported.
This commit is contained in:
Christoph Oelckers 2019-09-28 20:33:25 +02:00
commit d94b63b486
17 changed files with 386 additions and 376 deletions

View file

@ -61,7 +61,6 @@ EXTERN_CVAR (Bool, snd_pitched)
EXTERN_CVAR (Color, am_wallcolor)
EXTERN_CVAR (Color, am_fdwallcolor)
EXTERN_CVAR (Color, am_cdwallcolor)
EXTERN_CVAR (Float, spc_amp)
EXTERN_CVAR (Bool, wi_percents)
EXTERN_CVAR (Int, gl_texture_hqresizemode)
EXTERN_CVAR (Int, gl_texture_hqresizemult)
@ -324,6 +323,7 @@ void FGameConfigFile::DoGlobalSetup ()
vsync->ResetToDefault ();
}
}
/* spc_amp no longer exists
if (last < 206)
{ // spc_amp is now a float, not an int.
if (spc_amp > 16)
@ -331,6 +331,7 @@ void FGameConfigFile::DoGlobalSetup ()
spc_amp = spc_amp / 16.f;
}
}
*/
if (last < 207)
{ // Now that snd_midiprecache works again, you probably don't want it on.
FBaseCVar *precache = FindCVar ("snd_midiprecache", NULL);