]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - cd_linux.c
Thanks to faded (of the tenebrae team) for provoking me to recite a lengthy explanati...
[xonotic/darkplaces.git] / cd_linux.c
index 5a37ff2075f2bf778320a10b1b50fbc82afd31ec..7623b0a32cd4565a217e0c14b48df8f22a533f7a 100644 (file)
@@ -35,16 +35,18 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
 #include "quakedef.h"
 
+// used by menu to ghost CD audio slider
+qboolean cdaudioinitialized = false;
 static qboolean cdValid = false;
-static qboolean        playing = false;
-static qboolean        wasPlaying = false;
-static qboolean        initialized = false;
-static qboolean        enabled = true;
+static qboolean playing = false;
+static qboolean wasPlaying = false;
+static qboolean initialized = false;
+static qboolean enabled = true;
 static qboolean playLooping = false;
-static float   cdvolume;
-static byte    remap[100];
-static byte            playTrack;
-static byte            maxTrack;
+static float cdvolume;
+static qbyte remap[100];
+static qbyte playTrack;
+static qbyte maxTrack;
 
 static int cdfile = -1;
 static char cd_dev[64] = "/dev/cdrom";
@@ -93,7 +95,7 @@ static int CDAudio_GetAudioDiskInfo(void)
 }
 
 
-void CDAudio_Play(byte track, qboolean looping)
+void CDAudio_Play(qbyte track, qboolean looping)
 {
        struct cdrom_tocentry entry;
        struct cdrom_ti ti;
@@ -202,29 +204,29 @@ void CDAudio_Resume(void)
        if (!wasPlaying)
                return;
        
-       if ( ioctl(cdfile, CDROMRESUME) == -1 ) 
+       if ( ioctl(cdfile, CDROMRESUME) == -1 )
                Con_DPrintf("ioctl cdromresume failed\n");
        playing = true;
 }
 
 static void CD_f (void)
 {
-       char    *command;
-       int             ret;
-       int             n;
+       const char      *command;
+       int                     ret;
+       int                     n;
 
        if (Cmd_Argc() < 2)
                return;
 
        command = Cmd_Argv (1);
 
-       if (Q_strcasecmp(command, "on") == 0)
+       if (strcasecmp(command, "on") == 0)
        {
                enabled = true;
                return;
        }
 
-       if (Q_strcasecmp(command, "off") == 0)
+       if (strcasecmp(command, "off") == 0)
        {
                if (playing)
                        CDAudio_Stop();
@@ -232,7 +234,7 @@ static void CD_f (void)
                return;
        }
 
-       if (Q_strcasecmp(command, "reset") == 0)
+       if (strcasecmp(command, "reset") == 0)
        {
                enabled = true;
                if (playing)
@@ -243,7 +245,7 @@ static void CD_f (void)
                return;
        }
 
-       if (Q_strcasecmp(command, "remap") == 0)
+       if (strcasecmp(command, "remap") == 0)
        {
                ret = Cmd_Argc() - 2;
                if (ret <= 0)
@@ -258,7 +260,7 @@ static void CD_f (void)
                return;
        }
 
-       if (Q_strcasecmp(command, "close") == 0)
+       if (strcasecmp(command, "close") == 0)
        {
                CDAudio_CloseDoor();
                return;
@@ -274,37 +276,37 @@ static void CD_f (void)
                }
        }
 
-       if (Q_strcasecmp(command, "play") == 0)
+       if (strcasecmp(command, "play") == 0)
        {
-               CDAudio_Play((byte)atoi(Cmd_Argv (2)), false);
+               CDAudio_Play((qbyte)atoi(Cmd_Argv (2)), false);
                return;
        }
 
-       if (Q_strcasecmp(command, "loop") == 0)
+       if (strcasecmp(command, "loop") == 0)
        {
-               CDAudio_Play((byte)atoi(Cmd_Argv (2)), true);
+               CDAudio_Play((qbyte)atoi(Cmd_Argv (2)), true);
                return;
        }
 
-       if (Q_strcasecmp(command, "stop") == 0)
+       if (strcasecmp(command, "stop") == 0)
        {
                CDAudio_Stop();
                return;
        }
 
-       if (Q_strcasecmp(command, "pause") == 0)
+       if (strcasecmp(command, "pause") == 0)
        {
                CDAudio_Pause();
                return;
        }
 
-       if (Q_strcasecmp(command, "resume") == 0)
+       if (strcasecmp(command, "resume") == 0)
        {
                CDAudio_Resume();
                return;
        }
 
-       if (Q_strcasecmp(command, "eject") == 0)
+       if (strcasecmp(command, "eject") == 0)
        {
                if (playing)
                        CDAudio_Stop();
@@ -313,7 +315,7 @@ static void CD_f (void)
                return;
        }
 
-       if (Q_strcasecmp(command, "info") == 0)
+       if (strcasecmp(command, "info") == 0)
        {
                Con_Printf("%u tracks\n", maxTrack);
                if (playing)
@@ -337,13 +339,13 @@ void CDAudio_Update(void)
        {
                if (cdvolume)
                {
-                       Cvar_SetValue ("bgmvolume", 0.0);
+                       Cvar_SetValueQuick (&bgmvolume, 0.0);
                        cdvolume = bgmvolume.value;
                        CDAudio_Pause ();
                }
                else
                {
-                       Cvar_SetValue ("bgmvolume", 1.0);
+                       Cvar_SetValueQuick (&bgmvolume, 1.0);
                        cdvolume = bgmvolume.value;
                        CDAudio_Resume ();
                }
@@ -373,7 +375,7 @@ int CDAudio_Init(void)
        if (cls.state == ca_dedicated)
                return -1;
 
-       if (COM_CheckParm("-nocdaudio"))
+       if (COM_CheckParm("-nocdaudio") || COM_CheckParm("-safe"))
                return -1;
 
        if ((i = COM_CheckParm("-cddev")) != 0 && i < com_argc - 1) {
@@ -389,6 +391,7 @@ int CDAudio_Init(void)
 
        for (i = 0; i < 100; i++)
                remap[i] = i;
+       cdaudioinitialized = true;
        initialized = true;
        enabled = true;
 
@@ -414,3 +417,11 @@ void CDAudio_Shutdown(void)
        close(cdfile);
        cdfile = -1;
 }
+
+void CDAudio_Open(void)
+{
+}
+
+void CDAudio_Close(void)
+{
+}