X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=cd_sdl.c;h=b9a7a7539423ea6eaecb02ebeccd18c6230996ff;hb=2343ddd1092e2e5c7c05df51dccd8261c9e2263a;hp=fd75fec0ec7e74597fa0a86fc361a28126b527bc;hpb=95f66338c8144989970daa0fa4b38c87e9af94a0;p=xonotic%2Fdarkplaces.git diff --git a/cd_sdl.c b/cd_sdl.c index fd75fec0..b9a7a753 100644 --- a/cd_sdl.c +++ b/cd_sdl.c @@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "cdaudio.h" #include -/*IMPORTANT: +/*IMPORTANT: SDL 1.2.7 and older seems to have a strange bug regarding CDPause and CDResume under WIN32. If CDResume is called, it plays to end of the CD regardless what values for lasttrack and lastframe were passed to CDPlayTracks. @@ -80,7 +80,7 @@ void CDAudio_SysSetVolume (float volume) } -int CDAudio_SysPlay (qbyte track) +int CDAudio_SysPlay (unsigned char track) { SDL_CDStop( cd ); endtime = realtime + (float) cd->track[ track - 1 ].length / CD_FPS; @@ -106,7 +106,7 @@ int CDAudio_SysResume (void) { SDL_CDResume( cd ); endtime = realtime + (cd->track[ cdPlayTrack - 1 ].length - pauseoffset) / CD_FPS; - return SDL_CDPlayTracks( cd, cdPlayTrack - 1, pauseoffset, cdPlayTrack, 0 ); + return SDL_CDPlayTracks( cd, cdPlayTrack - 1, (int)pauseoffset, cdPlayTrack, 0 ); } int CDAudio_SysUpdate (void) @@ -129,10 +129,10 @@ int CDAudio_SysUpdate (void) void CDAudio_SysInit (void) { - if( SDL_InitSubSystem( SDL_INIT_CDROM ) == -1 ) - Con_SafePrint( "Failed to init the CDROM SDL subsystem!\n" ); + if( SDL_InitSubSystem( SDL_INIT_CDROM ) == -1 ) + Con_Print( "Failed to init the CDROM SDL subsystem!\n" ); - Cmd_AddCommand( "cddrive", CDAudio_SDL_CDDrive_f ); + Cmd_AddCommand( "cddrive", CDAudio_SDL_CDDrive_f, "select an SDL-detected CD drive by number" ); } static int IsAudioCD( void ) @@ -148,17 +148,17 @@ int CDAudio_SysStartup (void) { int i; int numdrives; - + numdrives = SDL_CDNumDrives(); if( numdrives == -1 ) // was the CDROM system initialized correctly? return -1; - Con_DPrintf( "Found %i cdrom drives.\n", numdrives ); + Con_Printf( "Found %i cdrom drives.\n", numdrives ); for( i = 0 ; i < numdrives ; i++, cd = NULL ) { cd = SDL_CDOpen( i ); if( !cd ) { - Con_DPrintf( "CD drive %i is invalid.\n", i ); + Con_Printf( "CD drive %i is invalid.\n", i ); continue; } @@ -166,9 +166,9 @@ int CDAudio_SysStartup (void) if( IsAudioCD() ) break; else - Con_DPrintf( "The CD in drive %i is not an audio cd.\n", i ); + Con_Printf( "The CD in drive %i is not an audio cd.\n", i ); else - Con_DPrintf( "No CD in drive %i.\n", i ); + Con_Printf( "No CD in drive %i.\n", i ); SDL_CDClose( cd ); } @@ -210,8 +210,8 @@ void CDAudio_SDL_CDDrive_f( void ) if( !cd ) { Con_Printf( "Couldn't open drive %i.\n", i ); return; - } - + } + if( !CD_INDRIVE( SDL_CDStatus( cd ) ) ) Con_Printf( "No cd in drive %i.\n", i ); else if( !IsAudioCD() ) @@ -224,4 +224,4 @@ void CDAudio_SDL_CDDrive_f( void ) - +