added support for separate sound and music for info sub-screens
[rocksndiamonds.git] / src / libgame / sound.c
index 2375c06f98f57c4bdb0fb0e2f00435b665ad3b42..6ca95ea47de709bce3727f24bed5315fe753550c 100644 (file)
@@ -166,8 +166,8 @@ static boolean Mixer_ChannelExpired(int channel)
 
   if (expire_loop_sounds &&
       IS_LOOP(mixer[channel]) && !IS_MUSIC(mixer[channel]) &&
-      DelayReached(&mixer[channel].playing_starttime,
-                  SOUND_LOOP_EXPIRATION_TIME))
+      DelayReachedExt2(&mixer[channel].playing_starttime,
+                      SOUND_LOOP_EXPIRATION_TIME, Counter()))
     return TRUE;
 
   if (!Mix_Playing(channel))
@@ -233,7 +233,7 @@ static void Mixer_PlayMusicChannel(void)
     Mix_VolumeMusic(mixer[audio.music_channel].volume);
     Mix_FadeInMusic(mixer[audio.music_channel].data_ptr, loops, 100);
 
-#if defined(PLATFORM_WIN32)
+#if defined(PLATFORM_WINDOWS)
     // playing MIDI music is broken since Windows Vista, as it sets the volume
     // for MIDI music also for all other sounds and music, which cannot be set
     // back to normal unless playing MIDI music again with that desired volume
@@ -281,7 +281,7 @@ static void Mixer_FadeMusicChannel(void)
 
   Mix_FadeOutMusic(SOUND_FADING_INTERVAL);
 
-#if defined(PLATFORM_WIN32)
+#if defined(PLATFORM_WINDOWS)
   // playing MIDI music is broken since Windows Vista, as it sets the volume
   // for MIDI music also for all other sounds and music, which cannot be set
   // back to normal unless playing MIDI music again with that desired volume
@@ -619,7 +619,7 @@ static void LoadCustomMusic_NoConf(void)
   }
 
   if (draw_init_text)
-    DrawInitText("Loading music", 120, FC_GREEN);
+    DrawInitTextHead("Loading music");
 
   while ((dir_entry = readDirectory(dir)) != NULL)     // loop all entries
   {
@@ -644,7 +644,7 @@ static void LoadCustomMusic_NoConf(void)
       continue;
 
     if (draw_init_text)
-      DrawInitText(basename, 150, FC_YELLOW);
+      DrawInitTextItem(basename);
 
     if (FileIsMusic(dir_entry->filename))
       mus_info = Load_WAV_or_MOD(dir_entry->filename);
@@ -741,6 +741,16 @@ static MusicInfo *getMusicInfoEntryFromMusicID(int pos)
   return mus_info[list_pos];
 }
 
+char *getSoundInfoEntryFilename(int pos)
+{
+  SoundInfo *snd_info = getSoundInfoEntryFromSoundID(pos);
+
+  if (snd_info == NULL)
+    return NULL;
+
+  return getBaseNamePtr(snd_info->source_filename);
+}
+
 char *getMusicInfoEntryFilename(int pos)
 {
   MusicInfo *mus_info = getMusicInfoEntryFromMusicID(pos);
@@ -1103,7 +1113,7 @@ static void ReloadCustomMusic(void)
   LoadCustomMusic_NoConf();
 }
 
-void InitReloadCustomSounds(char *set_identifier)
+void InitReloadCustomSounds(void)
 {
   if (!audio.sound_available)
     return;
@@ -1111,7 +1121,7 @@ void InitReloadCustomSounds(char *set_identifier)
   ReloadCustomSounds();
 }
 
-void InitReloadCustomMusic(char *set_identifier)
+void InitReloadCustomMusic(void)
 {
   if (!audio.music_available)
     return;