X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=cd_shared.c;h=43b4a7f43338cadf08df419faf21c4da21ac66d2;hb=f85803e7bc2d0612763bdb8548c7060ddb542afb;hp=7ca41ed60079493485e6ad7db7323fdf94f30e32;hpb=32510c922fbcaad22056befd2018ea9066c1f138;p=xonotic%2Fdarkplaces.git diff --git a/cd_shared.c b/cd_shared.c index 7ca41ed6..43b4a7f4 100644 --- a/cd_shared.c +++ b/cd_shared.c @@ -24,21 +24,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "cdaudio.h" #include "sound.h" -// Prototypes of the system dependent functions -extern void CDAudio_SysEject (void); -extern void CDAudio_SysCloseDoor (void); -extern int CDAudio_SysGetAudioDiskInfo (void); -extern float CDAudio_SysGetVolume (void); -extern void CDAudio_SysSetVolume (float volume); -extern int CDAudio_SysPlay (int track); -extern int CDAudio_SysStop (void); -extern int CDAudio_SysPause (void); -extern int CDAudio_SysResume (void); -extern int CDAudio_SysUpdate (void); -extern void CDAudio_SysInit (void); -extern int CDAudio_SysStartup (void); -extern void CDAudio_SysShutdown (void); - // used by menu to ghost CD audio slider cvar_t cdaudioinitialized = {CVAR_READONLY,"cdaudioinitialized","0","indicates if CD Audio system is active"}; cvar_t cdaudio = {CVAR_SAVE,"cdaudio","1","CD playing mode (0 = never access CD drive, 1 = play CD tracks if no replacement available, 2 = play fake tracks if no CD track available, 3 = play only real CD tracks, 4 = play real CD tracks even instead of named fake tracks)"}; @@ -164,7 +149,7 @@ static int CDAudio_GetAudioDiskInfo (void) return 0; } -qboolean CDAudio_Play_real (int track, qboolean looping, qboolean complain) +static qboolean CDAudio_Play_real (int track, qboolean looping, qboolean complain) { if(track < 1) { @@ -322,15 +307,11 @@ void CDAudio_Play_byName (const char *trackname, qboolean looping, qboolean tryr if (!FS_FileExists(filename)) dpsnprintf(filename, sizeof(filename), "music/%s.ogg", trackname); // added by motorsep if (!FS_FileExists(filename)) dpsnprintf(filename, sizeof(filename), "music/cdtracks/%s.ogg", trackname); // added by motorsep } - if (FS_FileExists(filename) && (sfx = S_PrecacheSound (filename, false, true))) + if (FS_FileExists(filename) && (sfx = S_PrecacheSound (filename, false, false))) { - faketrack = S_StartSound_StartPosition (-1, 0, sfx, vec3_origin, cdvolume, 0, startposition); + faketrack = S_StartSound_StartPosition_Flags (-1, 0, sfx, vec3_origin, cdvolume, 0, startposition, (looping ? CHANNELFLAG_FORCELOOP : 0) | CHANNELFLAG_FULLVOLUME | CHANNELFLAG_LOCALSOUND, 1.0f); if (faketrack != -1) { - if (looping) - S_SetChannelFlag (faketrack, CHANNELFLAG_FORCELOOP, true); - S_SetChannelFlag (faketrack, CHANNELFLAG_FULLVOLUME, true); - S_SetChannelFlag (faketrack, CHANNELFLAG_LOCALSOUND, true); // not pausable if(track >= 1) { if(cdaudio.integer != 0) // we don't need these messages if only fake tracks can be played anyway @@ -393,7 +374,7 @@ void CDAudio_Stop (void) if (faketrack != -1) { - S_StopChannel (faketrack, true); + S_StopChannel (faketrack, true, true); faketrack = -1; } else if (cdPlaying && (CDAudio_SysStop() == -1)) @@ -587,7 +568,7 @@ static void CD_f (void) Con_Printf("cd info - prints basic disc information (number of tracks, currently playing track, volume level)\n"); } -void CDAudio_SetVolume (float newvol) +static void CDAudio_SetVolume (float newvol) { // If the volume hasn't changed if (newvol == cdvolume)