X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=cd_win.c;h=aab8dad718282b0afb9db27c8924ea13b094dbb0;hb=43ee5e136a693ac9cfb40cb03fceea7d3149104f;hp=7766e552601594732b27974af21c3b3b2e5df115;hpb=b47b74389ee3f609d12f738f6038842fbd0d409a;p=xonotic%2Fdarkplaces.git diff --git a/cd_win.c b/cd_win.c index 7766e552..aab8dad7 100644 --- a/cd_win.c +++ b/cd_win.c @@ -27,16 +27,15 @@ extern HWND mainwindow; qboolean cdaudioinitialized = false; static qboolean cdValid = false; -static qboolean playing = false; -static qboolean wasPlaying = false; -static qboolean initialized = false; -static qboolean enabled = false; +static qboolean playing = false; +static qboolean wasPlaying = false; +static qboolean initialized = false; +static qboolean enabled = false; static qboolean playLooping = false; -static float cdvolume; -static byte remap[100]; -static byte cdrom; -static byte playTrack; -static byte maxTrack; +static float cdvolume; +static qbyte remap[100]; +static qbyte playTrack; +static qbyte maxTrack; UINT wDeviceID; @@ -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"); @@ -100,10 +99,10 @@ static int CDAudio_GetAudioDiskInfo(void) } -void CDAudio_Play(byte track, qboolean looping) +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(byte 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(byte 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(byte 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); @@ -309,13 +308,13 @@ static void CD_f (void) if (Q_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) { - CDAudio_Play((byte)atoi(Cmd_Argv (2)), true); + CDAudio_Play((qbyte)atoi(Cmd_Argv (2)), true); return; } @@ -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"); } +