X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Finit.c;h=411d54070a0170ff274c47e19b095bfe8a8caa81;hp=a8ce6a50bc357ce2dde3cede3b3535b47224973e;hb=a8b2caa1d373c84c1b3fc2f615370c2a319051ca;hpb=b96c3dc500494652748c24f0aa48a8201ea202dd diff --git a/src/init.c b/src/init.c index a8ce6a50..411d5407 100644 --- a/src/init.c +++ b/src/init.c @@ -35,7 +35,7 @@ struct PictureFileInfo boolean picture_with_mask; }; -#ifndef USE_SDL_LIBRARY +#ifndef TARGET_SDL static int sound_process_id = 0; #endif @@ -149,66 +149,31 @@ void InitSound() if (sound_status == SOUND_OFF) return; -#ifdef USE_SDL_LIBRARY - /* initialize SDL audio */ - - if (SDL_Init(SDL_INIT_AUDIO) < 0) +#ifdef TARGET_SDL + if (InitAudio()) { - Error(ERR_WARN, "SDL_Init() failed: %s", SDL_GetError()); - sound_status = SOUND_OFF; - return; + sound_status = SOUND_AVAILABLE; + sound_loops_allowed = TRUE; } - - if (Mix_OpenAudio(22050, AUDIO_S16, 2, 512) < 0) + else { - Error(ERR_WARN, "Mix_OpenAudio() failed: %s", SDL_GetError()); sound_status = SOUND_OFF; - return; } - - Mix_Volume(-1, SDL_MIX_MAXVOLUME / 4); - Mix_VolumeMusic(SDL_MIX_MAXVOLUME / 4); - - sound_status = SOUND_AVAILABLE; - sound_loops_allowed = TRUE; - -#else /* !USE_SDL_LIBRARY */ +#else /* !TARGET_SDL */ #if !defined(MSDOS) && !defined(WIN32) - if (access(sound_device_name, W_OK) != 0) - { - Error(ERR_WARN, "cannot access sound device - no sounds"); - sound_status = SOUND_OFF; + if ((sound_status = CheckAudio(sound_device_name)) == SOUND_OFF) return; - } - - if ((sound_device = OpenAudio(sound_device_name)) < 0) - { - Error(ERR_WARN, "cannot open sound device - no sounds"); - sound_status = SOUND_OFF; - return; - } - - close(sound_device); - sound_status = SOUND_AVAILABLE; #ifdef VOXWARE sound_loops_allowed = TRUE; - - /* - setup.sound_loops_on = TRUE; - */ - #endif + #else /* MSDOS || WIN32 */ sound_loops_allowed = TRUE; - /* - setup.sound_loops_on = TRUE; - */ - #endif /* MSDOS || WIN32 */ -#endif /* !USE_SDL_LIBRARY */ +#endif /* !TARGET_SDL */ for(i=0; ipicture_with_mask && !clipmask[pos]) Error(ERR_EXIT, "cannot get clipmask for '%s'", pic->picture_filename); -#endif /* !USE_SDL_LIBRARY */ +#endif /* !TARGET_SDL */ } void InitGadgets() @@ -1847,7 +1807,7 @@ void CloseAllAndExit(int exit_value) { int i; -#ifdef USE_SDL_LIBRARY +#ifdef TARGET_SDL StopSounds(); FreeSounds(NUM_SOUNDS); #else @@ -1864,7 +1824,7 @@ void CloseAllAndExit(int exit_value) if (pix[i]) FreeBitmap(pix[i]); -#ifdef USE_SDL_LIBRARY +#ifdef TARGET_SDL FreeBitmap(pix_masked[i]); #else if (clipmask[i]) @@ -1874,7 +1834,7 @@ void CloseAllAndExit(int exit_value) #endif } -#ifdef USE_SDL_LIBRARY +#ifdef TARGET_SDL KeyboardAutoRepeatOn(); #else if (gc)