X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsdl.c;h=212ce1b86c59493753cf8262050c547b9e3b1ae1;hb=c5ee7e4524f10322894b2547337e4c973a80a552;hp=c4e15425714a15688d48be46db37e1762cb58a96;hpb=93806fb4c23f4b6ef58d9562e908a1b89ece869d;p=rocksndiamonds.git diff --git a/src/libgame/sdl.c b/src/libgame/sdl.c index c4e15425..212ce1b8 100644 --- a/src/libgame/sdl.c +++ b/src/libgame/sdl.c @@ -1,7 +1,7 @@ /*********************************************************** * Artsoft Retro-Game Library * *----------------------------------------------------------* -* (c) 1994-2001 Artsoft Entertainment * +* (c) 1994-2002 Artsoft Entertainment * * Holger Schemel * * Detmolder Strasse 189 * * 33604 Bielefeld * @@ -853,6 +853,9 @@ Bitmap *SDLLoadImage(char *filename) /* free temporary surface */ SDL_FreeSurface(sdl_image_tmp); + new_bitmap->width = new_bitmap->surface->w; + new_bitmap->height = new_bitmap->surface->h; + return new_bitmap; } @@ -869,8 +872,8 @@ inline void SDLOpenAudio(void) return; } - if (Mix_OpenAudio(DEFAULT_AUDIO_SAMPLE_RATE, AUDIO_S16, - AUDIO_STEREO_CHANNELS, + if (Mix_OpenAudio(DEFAULT_AUDIO_SAMPLE_RATE, MIX_DEFAULT_FORMAT, + AUDIO_NUM_CHANNELS_STEREO, DEFAULT_AUDIO_FRAGMENT_SIZE) < 0) { Error(ERR_WARN, "Mix_OpenAudio() failed: %s", SDL_GetError()); @@ -882,19 +885,12 @@ inline void SDLOpenAudio(void) audio.loops_available = TRUE; audio.sound_enabled = TRUE; - /* determine number of available channels */ - audio.channels = Mix_AllocateChannels(MIX_CHANNELS); - - if (!audio.mods_available) /* reserve first channel for music loops */ - { - if (Mix_ReserveChannels(1) == 1) - audio.music_channel = 0; - else - audio.music_available = FALSE; - } + /* set number of available mixer channels */ + audio.num_channels = Mix_AllocateChannels(NUM_MIXER_CHANNELS); + audio.music_channel = MUSIC_CHANNEL; + audio.first_sound_channel = FIRST_SOUND_CHANNEL; - Mix_Volume(-1, SOUND_MAX_VOLUME); - Mix_VolumeMusic(SOUND_MAX_VOLUME); + Mixer_InitChannels(); } inline void SDLCloseAudio(void)