]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - cd_win.c
check for -safe
[xonotic/darkplaces.git] / cd_win.c
index 5b35239f4a0615458415e45e3a1a50e64778ba9a..aab8dad718282b0afb9db27c8924ea13b094dbb0 100644 (file)
--- a/cd_win.c
+++ b/cd_win.c
@@ -34,7 +34,6 @@ static qboolean enabled = false;
 static qboolean playLooping = false;
 static float cdvolume;
 static qbyte remap[100];
-static qbyte cdrom;
 static qbyte playTrack;
 static qbyte maxTrack;
 
@@ -45,7 +44,7 @@ static void CDAudio_Eject(void)
 {
        DWORD   dwReturn;
 
-    if (dwReturn = mciSendCommand(wDeviceID, MCI_SET, MCI_SET_DOOR_OPEN, (DWORD)NULL))
+       if ((dwReturn = mciSendCommand(wDeviceID, MCI_SET, MCI_SET_DOOR_OPEN, (DWORD)NULL)))
                Con_DPrintf("MCI_SET_DOOR_OPEN failed (%i)\n", dwReturn);
 }
 
@@ -54,7 +53,7 @@ static void CDAudio_CloseDoor(void)
 {
        DWORD   dwReturn;
 
-    if (dwReturn = mciSendCommand(wDeviceID, MCI_SET, MCI_SET_DOOR_CLOSED, (DWORD)NULL))
+       if ((dwReturn = mciSendCommand(wDeviceID, MCI_SET, MCI_SET_DOOR_CLOSED, (DWORD)NULL)))
                Con_DPrintf("MCI_SET_DOOR_CLOSED failed (%i)\n", dwReturn);
 }
 
@@ -68,7 +67,7 @@ static int CDAudio_GetAudioDiskInfo(void)
        cdValid = false;
 
        mciStatusParms.dwItem = MCI_STATUS_READY;
-    dwReturn = mciSendCommand(wDeviceID, MCI_STATUS, MCI_STATUS_ITEM | MCI_WAIT, (DWORD) (LPVOID) &mciStatusParms);
+       dwReturn = mciSendCommand(wDeviceID, MCI_STATUS, MCI_STATUS_ITEM | MCI_WAIT, (DWORD) (LPVOID) &mciStatusParms);
        if (dwReturn)
        {
                Con_DPrintf("CDAudio: drive ready test - get status failed\n");
@@ -81,7 +80,7 @@ static int CDAudio_GetAudioDiskInfo(void)
        }
 
        mciStatusParms.dwItem = MCI_STATUS_NUMBER_OF_TRACKS;
-    dwReturn = mciSendCommand(wDeviceID, MCI_STATUS, MCI_STATUS_ITEM | MCI_WAIT, (DWORD) (LPVOID) &mciStatusParms);
+       dwReturn = mciSendCommand(wDeviceID, MCI_STATUS, MCI_STATUS_ITEM | MCI_WAIT, (DWORD) (LPVOID) &mciStatusParms);
        if (dwReturn)
        {
                Con_DPrintf("CDAudio: get tracks - status failed\n");
@@ -103,7 +102,7 @@ static int CDAudio_GetAudioDiskInfo(void)
 void CDAudio_Play(qbyte track, qboolean looping)
 {
        DWORD                           dwReturn;
-    MCI_PLAY_PARMS             mciPlayParms;
+       MCI_PLAY_PARMS          mciPlayParms;
        MCI_STATUS_PARMS        mciStatusParms;
 
        if (!enabled)
@@ -127,7 +126,7 @@ void CDAudio_Play(qbyte track, qboolean looping)
        // don't try to play a non-audio track
        mciStatusParms.dwItem = MCI_CDA_STATUS_TYPE_TRACK;
        mciStatusParms.dwTrack = track;
-    dwReturn = mciSendCommand(wDeviceID, MCI_STATUS, MCI_STATUS_ITEM | MCI_TRACK | MCI_WAIT, (DWORD) (LPVOID) &mciStatusParms);
+       dwReturn = mciSendCommand(wDeviceID, MCI_STATUS, MCI_STATUS_ITEM | MCI_TRACK | MCI_WAIT, (DWORD) (LPVOID) &mciStatusParms);
        if (dwReturn)
        {
                Con_DPrintf("MCI_STATUS failed (%i)\n", dwReturn);
@@ -142,7 +141,7 @@ void CDAudio_Play(qbyte track, qboolean looping)
        // get the length of the track to be played
        mciStatusParms.dwItem = MCI_STATUS_LENGTH;
        mciStatusParms.dwTrack = track;
-    dwReturn = mciSendCommand(wDeviceID, MCI_STATUS, MCI_STATUS_ITEM | MCI_TRACK | MCI_WAIT, (DWORD) (LPVOID) &mciStatusParms);
+       dwReturn = mciSendCommand(wDeviceID, MCI_STATUS, MCI_STATUS_ITEM | MCI_TRACK | MCI_WAIT, (DWORD) (LPVOID) &mciStatusParms);
        if (dwReturn)
        {
                Con_DPrintf("MCI_STATUS failed (%i)\n", dwReturn);
@@ -156,10 +155,10 @@ void CDAudio_Play(qbyte track, qboolean looping)
                CDAudio_Stop();
        }
 
-    mciPlayParms.dwFrom = MCI_MAKE_TMSF(track, 0, 0, 0);
+       mciPlayParms.dwFrom = MCI_MAKE_TMSF(track, 0, 0, 0);
        mciPlayParms.dwTo = (mciStatusParms.dwReturn << 8) | track;
-    mciPlayParms.dwCallback = (DWORD)mainwindow;
-    dwReturn = mciSendCommand(wDeviceID, MCI_PLAY, MCI_NOTIFY | MCI_FROM | MCI_TO, (DWORD)(LPVOID) &mciPlayParms);
+       mciPlayParms.dwCallback = (DWORD)mainwindow;
+       dwReturn = mciSendCommand(wDeviceID, MCI_PLAY, MCI_NOTIFY | MCI_FROM | MCI_TO, (DWORD)(LPVOID) &mciPlayParms);
        if (dwReturn)
        {
                Con_DPrintf("CDAudio: MCI_PLAY failed (%i)\n", dwReturn);
@@ -185,7 +184,7 @@ void CDAudio_Stop(void)
        if (!playing)
                return;
 
-    if (dwReturn = mciSendCommand(wDeviceID, MCI_STOP, 0, (DWORD)NULL))
+       if ((dwReturn = mciSendCommand(wDeviceID, MCI_STOP, 0, (DWORD)NULL)))
                Con_DPrintf("MCI_STOP failed (%i)", dwReturn);
 
        wasPlaying = false;
@@ -205,7 +204,7 @@ void CDAudio_Pause(void)
                return;
 
        mciGenericParms.dwCallback = (DWORD)mainwindow;
-    if (dwReturn = mciSendCommand(wDeviceID, MCI_PAUSE, 0, (DWORD)(LPVOID) &mciGenericParms))
+       if ((dwReturn = mciSendCommand(wDeviceID, MCI_PAUSE, 0, (DWORD)(LPVOID) &mciGenericParms)))
                Con_DPrintf("MCI_PAUSE failed (%i)", dwReturn);
 
        wasPlaying = playing;
@@ -216,7 +215,7 @@ void CDAudio_Pause(void)
 void CDAudio_Resume(void)
 {
        DWORD                   dwReturn;
-    MCI_PLAY_PARMS     mciPlayParms;
+       MCI_PLAY_PARMS  mciPlayParms;
 
        if (!enabled)
                return;
@@ -227,10 +226,10 @@ void CDAudio_Resume(void)
        if (!wasPlaying)
                return;
        
-    mciPlayParms.dwFrom = MCI_MAKE_TMSF(playTrack, 0, 0, 0);
-    mciPlayParms.dwTo = MCI_MAKE_TMSF(playTrack + 1, 0, 0, 0);
-    mciPlayParms.dwCallback = (DWORD)mainwindow;
-    dwReturn = mciSendCommand(wDeviceID, MCI_PLAY, MCI_TO | MCI_NOTIFY, (DWORD)(LPVOID) &mciPlayParms);
+       mciPlayParms.dwFrom = MCI_MAKE_TMSF(playTrack, 0, 0, 0);
+       mciPlayParms.dwTo = MCI_MAKE_TMSF(playTrack + 1, 0, 0, 0);
+       mciPlayParms.dwCallback = (DWORD)mainwindow;
+       dwReturn = mciSendCommand(wDeviceID, MCI_PLAY, MCI_TO | MCI_NOTIFY, (DWORD)(LPVOID) &mciPlayParms);
        if (dwReturn)
        {
                Con_DPrintf("CDAudio: MCI_PLAY failed (%i)\n", dwReturn);
@@ -421,31 +420,31 @@ int CDAudio_Init(void)
 {
        DWORD   dwReturn;
        MCI_OPEN_PARMS  mciOpenParms;
-    MCI_SET_PARMS      mciSetParms;
+       MCI_SET_PARMS   mciSetParms;
        int                             n;
 
        if (cls.state == ca_dedicated)
                return -1;
 
-       if (COM_CheckParm("-nocdaudio"))
+       if (COM_CheckParm("-nocdaudio") || COM_CheckParm("-safe"))
                return -1;
 
        mciOpenParms.lpstrDeviceType = "cdaudio";
-       if (dwReturn = mciSendCommand(0, MCI_OPEN, MCI_OPEN_TYPE | MCI_OPEN_SHAREABLE, (DWORD) (LPVOID) &mciOpenParms))
+       if ((dwReturn = mciSendCommand(0, MCI_OPEN, MCI_OPEN_TYPE | MCI_OPEN_SHAREABLE, (DWORD) (LPVOID) &mciOpenParms)))
        {
                Con_Printf("CDAudio_Init: MCI_OPEN failed (%i)\n", dwReturn);
                return -1;
        }
        wDeviceID = mciOpenParms.wDeviceID;
 
-    // Set the time format to track/minute/second/frame (TMSF).
-    mciSetParms.dwTimeFormat = MCI_FORMAT_TMSF;
-    if (dwReturn = mciSendCommand(wDeviceID, MCI_SET, MCI_SET_TIME_FORMAT, (DWORD)(LPVOID) &mciSetParms))
-    {
+       // Set the time format to track/minute/second/frame (TMSF).
+       mciSetParms.dwTimeFormat = MCI_FORMAT_TMSF;
+       if ((dwReturn = mciSendCommand(wDeviceID, MCI_SET, MCI_SET_TIME_FORMAT, (DWORD)(LPVOID) &mciSetParms)))
+       {
                Con_Printf("MCI_SET_TIME_FORMAT failed (%i)\n", dwReturn);
-        mciSendCommand(wDeviceID, MCI_CLOSE, 0, (DWORD)NULL);
+               mciSendCommand(wDeviceID, MCI_CLOSE, 0, (DWORD)NULL);
                return -1;
-    }
+       }
 
        for (n = 0; n < 100; n++)
                remap[n] = n;
@@ -475,3 +474,4 @@ void CDAudio_Shutdown(void)
        if (mciSendCommand(wDeviceID, MCI_CLOSE, MCI_WAIT, (DWORD)NULL))
                Con_DPrintf("CDAudio_Shutdown: MCI_CLOSE failed\n");
 }
+