+
+ if (old_bitmap->width != new_bitmap->width ||
+ old_bitmap->height != new_bitmap->height)
+ {
+ Error(ERR_WARN, "ReloadCustomImage: new image has wrong dimensions");
+ FreeBitmap(new_bitmap);
+ return;
+ }
+
+ /* copy filename for new image */
+ free(old_bitmap->source_filename);
+ old_bitmap->source_filename = getStringCopy(filename);
+
+ /* copy bitmap data for new image */
+ BlitBitmap(new_bitmap, old_bitmap, 0,0,
+ old_bitmap->width, old_bitmap->height, 0,0);
+
+ FreeBitmap(new_bitmap);
+}
+
+
+/* ========================================================================= */
+/* audio functions */
+/* ========================================================================= */
+
+inline void OpenAudio(void)
+{
+ /* always start with reliable default values */
+ audio.sound_available = FALSE;
+ audio.music_available = FALSE;
+ audio.loops_available = FALSE;
+ audio.mods_available = FALSE;
+ audio.sound_enabled = FALSE;
+
+ audio.soundserver_pipe[0] = audio.soundserver_pipe[1] = 0;
+ audio.soundserver_pid = 0;
+ audio.device_name = NULL;
+ audio.device_fd = 0;
+
+ audio.channels = 0;
+ audio.music_channel = 0;
+ audio.music_nr = 0;
+
+#if defined(TARGET_SDL)
+ SDLOpenAudio();