+void InitReloadSounds(char *set_name)
+{
+ struct SoundControl snd_ctrl = emptySoundControl;
+
+ if (!audio.sound_available)
+ return;
+
+ snd_ctrl.reload_sounds = TRUE;
+
+#if defined(TARGET_SDL)
+ ReloadSounds();
+#elif defined(PLATFORM_UNIX)
+ if (audio.soundserver_pid == 0) /* we are child process */
+ return;
+
+ if (write(audio.soundserver_pipe[1], &snd_ctrl, sizeof(snd_ctrl)) < 0)
+ {
+ Error(ERR_WARN, "cannot pipe to child process -- no sounds");
+ audio.sound_available = audio.sound_enabled = FALSE;
+ return;
+ }
+#elif defined(PLATFORM_MSDOS)
+ sound_handler(snd_ctrl);
+#endif
+}
+
+void InitReloadMusic(char *set_name)
+{
+ struct SoundControl snd_ctrl = emptySoundControl;
+
+ if (!audio.sound_available)
+ return;
+
+ snd_ctrl.reload_music = TRUE;
+
+#if defined(TARGET_SDL)
+ ReloadMusic();
+#elif defined(PLATFORM_UNIX)
+ if (audio.soundserver_pid == 0) /* we are child process */
+ return;
+
+ if (write(audio.soundserver_pipe[1], &snd_ctrl, sizeof(snd_ctrl)) < 0)
+ {
+ Error(ERR_WARN, "cannot pipe to child process -- no sounds");
+ audio.sound_available = audio.sound_enabled = FALSE;
+ return;
+ }
+#elif defined(PLATFORM_MSDOS)
+ sound_handler(snd_ctrl);
+#endif
+}
+