]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - cd_win.c
another WIN32_LEAN_AND_MEAN patch from Willis, this one for non-SDL client and dedica...
[xonotic/darkplaces.git] / cd_win.c
index b6b5fac0d87c51f18edea43ed09784ad935c4ad4..5b475496260eb5a1215c1e2079fe60c61a8bb601 100644 (file)
--- a/cd_win.c
+++ b/cd_win.c
@@ -21,9 +21,14 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 // rights reserved.
 
 #include <windows.h>
+#include <mmsystem.h>
 
 #include "quakedef.h"
+#include "cdaudio.h"
 
+#if _MSC_VER < 1300
+typedef DWORD DWORD_PTR;
+#endif
 
 extern HWND    mainwindow;
 
@@ -33,8 +38,8 @@ void CDAudio_SysEject(void)
 {
        DWORD   dwReturn;
 
-       if ((dwReturn = mciSendCommand(wDeviceID, MCI_SET, MCI_SET_DOOR_OPEN, (DWORD)NULL)))
-               Con_DPrintf("MCI_SET_DOOR_OPEN failed (%i)\n", dwReturn);
+       if ((dwReturn = mciSendCommand(wDeviceID, MCI_SET, MCI_SET_DOOR_OPEN, (DWORD_PTR)NULL)))
+               Con_Printf("MCI_SET_DOOR_OPEN failed (%i)\n", dwReturn);
 }
 
 
@@ -42,8 +47,8 @@ void CDAudio_SysCloseDoor(void)
 {
        DWORD   dwReturn;
 
-       if ((dwReturn = mciSendCommand(wDeviceID, MCI_SET, MCI_SET_DOOR_CLOSED, (DWORD)NULL)))
-               Con_DPrintf("MCI_SET_DOOR_CLOSED failed (%i)\n", dwReturn);
+       if ((dwReturn = mciSendCommand(wDeviceID, MCI_SET, MCI_SET_DOOR_CLOSED, (DWORD_PTR)NULL)))
+               Con_Printf("MCI_SET_DOOR_CLOSED failed (%i)\n", dwReturn);
 }
 
 int CDAudio_SysGetAudioDiskInfo(void)
@@ -52,28 +57,28 @@ int CDAudio_SysGetAudioDiskInfo(void)
        MCI_STATUS_PARMS        mciStatusParms;
 
        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_PTR) (LPVOID) &mciStatusParms);
        if (dwReturn)
        {
-               Con_DPrintf("CDAudio: drive ready test - get status failed\n");
+               Con_Print("CDAudio_SysGetAudioDiskInfo: drive ready test - get status failed\n");
                return -1;
        }
        if (!mciStatusParms.dwReturn)
        {
-               Con_DPrintf("CDAudio: drive not ready\n");
+               Con_Print("CDAudio_SysGetAudioDiskInfo: drive not ready\n");
                return -1;
        }
 
        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_PTR) (LPVOID) &mciStatusParms);
        if (dwReturn)
        {
-               Con_DPrintf("CDAudio: get tracks - status failed\n");
+               Con_Print("CDAudio_SysGetAudioDiskInfo: get tracks - status failed\n");
                return -1;
        }
        if (mciStatusParms.dwReturn < 1)
        {
-               Con_DPrintf("CDAudio: no music tracks\n");
+               Con_Print("CDAudio_SysGetAudioDiskInfo: no music tracks\n");
                return -1;
        }
 
@@ -81,7 +86,20 @@ int CDAudio_SysGetAudioDiskInfo(void)
 }
 
 
-int CDAudio_SysPlay (qbyte track)
+float CDAudio_SysGetVolume (void)
+{
+       // IMPLEMENTME
+       return -1.0f;
+}
+
+
+void CDAudio_SysSetVolume (float volume)
+{
+       // IMPLEMENTME
+}
+
+
+int CDAudio_SysPlay (unsigned char track)
 {
        DWORD                           dwReturn;
        MCI_PLAY_PARMS          mciPlayParms;
@@ -90,15 +108,15 @@ int CDAudio_SysPlay (qbyte track)
        // 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_PTR) (LPVOID) &mciStatusParms);
        if (dwReturn)
        {
-               Con_DPrintf("MCI_STATUS failed (%i)\n", dwReturn);
+               Con_Printf("CDAudio_SysPlay: MCI_STATUS failed (%i)\n", dwReturn);
                return -1;
        }
        if (mciStatusParms.dwReturn != MCI_CDA_TRACK_AUDIO)
        {
-               Con_Printf("CDAudio: track %i is not audio\n", track);
+               Con_Printf("CDAudio_SysPlay: track %i is not audio\n", track);
                return -1;
        }
 
@@ -108,20 +126,20 @@ int CDAudio_SysPlay (qbyte track)
        // 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_PTR) (LPVOID) &mciStatusParms);
        if (dwReturn)
        {
-               Con_DPrintf("MCI_STATUS failed (%i)\n", dwReturn);
+               Con_Printf("CDAudio_SysPlay: MCI_STATUS failed (%i)\n", dwReturn);
                return -1;
        }
 
        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_PTR)mainwindow;
+       dwReturn = mciSendCommand(wDeviceID, MCI_PLAY, MCI_NOTIFY | MCI_FROM | MCI_TO, (DWORD_PTR)(LPVOID) &mciPlayParms);
        if (dwReturn)
        {
-               Con_DPrintf("CDAudio: MCI_PLAY failed (%i)\n", dwReturn);
+               Con_Printf("CDAudio_SysPlay: MCI_PLAY failed (%i)\n", dwReturn);
                return -1;
        }
 
@@ -133,9 +151,9 @@ int CDAudio_SysStop (void)
 {
        DWORD   dwReturn;
 
-       if ((dwReturn = mciSendCommand(wDeviceID, MCI_STOP, 0, (DWORD)NULL)))
+       if ((dwReturn = mciSendCommand(wDeviceID, MCI_STOP, 0, (DWORD_PTR)NULL)))
        {
-               Con_DPrintf("MCI_STOP failed (%i)", dwReturn);
+               Con_Printf("MCI_STOP failed (%i)\n", dwReturn);
                return -1;
        }
        return 0;
@@ -146,10 +164,10 @@ int CDAudio_SysPause (void)
        DWORD                           dwReturn;
        MCI_GENERIC_PARMS       mciGenericParms;
 
-       mciGenericParms.dwCallback = (DWORD)mainwindow;
-       if ((dwReturn = mciSendCommand(wDeviceID, MCI_PAUSE, 0, (DWORD)(LPVOID) &mciGenericParms)))
+       mciGenericParms.dwCallback = (DWORD_PTR)mainwindow;
+       if ((dwReturn = mciSendCommand(wDeviceID, MCI_PAUSE, 0, (DWORD_PTR)(LPVOID) &mciGenericParms)))
        {
-               Con_DPrintf("MCI_PAUSE failed (%i)", dwReturn);
+               Con_Printf("MCI_PAUSE failed (%i)\n", dwReturn);
                return -1;
        }
        return 0;
@@ -163,14 +181,14 @@ int CDAudio_SysResume (void)
 
        mciPlayParms.dwFrom = MCI_MAKE_TMSF(cdPlayTrack, 0, 0, 0);
        mciPlayParms.dwTo = MCI_MAKE_TMSF(cdPlayTrack + 1, 0, 0, 0);
-       mciPlayParms.dwCallback = (DWORD)mainwindow;
-       dwReturn = mciSendCommand(wDeviceID, MCI_PLAY, MCI_TO | MCI_NOTIFY, (DWORD)(LPVOID) &mciPlayParms);
+       mciPlayParms.dwCallback = (DWORD_PTR)mainwindow;
+       dwReturn = mciSendCommand(wDeviceID, MCI_PLAY, MCI_TO | MCI_NOTIFY, (DWORD_PTR)(LPVOID) &mciPlayParms);
        if (dwReturn)
        {
-               Con_DPrintf("CDAudio: MCI_PLAY failed (%i)\n", dwReturn);
+               Con_Printf("CDAudio_SysResume: MCI_PLAY failed (%i)\n", dwReturn);
                return -1;
        }
-       return 0;       
+       return 0;
 }
 
 LONG CDAudio_MessageHandler (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
@@ -194,13 +212,13 @@ LONG CDAudio_MessageHandler (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
                        break;
 
                case MCI_NOTIFY_FAILURE:
-                       Con_DPrintf("MCI_NOTIFY_FAILURE\n");
+                       Con_Print("MCI_NOTIFY_FAILURE\n");
                        CDAudio_Stop ();
                        cdValid = false;
                        break;
 
                default:
-                       Con_DPrintf("Unexpected MM_MCINOTIFY type (%i)\n", wParam);
+                       Con_Printf("Unexpected MM_MCINOTIFY type (%i)\n", wParam);
                        return 1;
        }
 
@@ -224,19 +242,19 @@ int CDAudio_SysStartup (void)
        MCI_SET_PARMS   mciSetParms;
 
        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_PTR) (LPVOID) &mciOpenParms)))
        {
-               Con_Printf("CDAudio_Init: MCI_OPEN failed (%i)\n", dwReturn);
+               Con_Printf("CDAudio_SysStartup: 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)))
+       if ((dwReturn = mciSendCommand(wDeviceID, MCI_SET, MCI_SET_TIME_FORMAT, (DWORD_PTR)(LPVOID) &mciSetParms)))
        {
-               Con_Printf("MCI_SET_TIME_FORMAT failed (%i)\n", dwReturn);
-               mciSendCommand(wDeviceID, MCI_CLOSE, 0, (DWORD)NULL);
+               Con_Printf("CDAudio_SysStartup: MCI_SET_TIME_FORMAT failed (%i)\n", dwReturn);
+               mciSendCommand(wDeviceID, MCI_CLOSE, 0, (DWORD_PTR)NULL);
                return -1;
        }
 
@@ -245,6 +263,6 @@ int CDAudio_SysStartup (void)
 
 void CDAudio_SysShutdown (void)
 {
-       if (mciSendCommand(wDeviceID, MCI_CLOSE, MCI_WAIT, (DWORD)NULL))
-               Con_DPrintf("CDAudio_Shutdown: MCI_CLOSE failed\n");
+       if (mciSendCommand(wDeviceID, MCI_CLOSE, MCI_WAIT, (DWORD_PTR)NULL))
+               Con_Print("CDAudio_SysShutdown: MCI_CLOSE failed\n");
 }