if (num_music_noconf == 0) /* no fallback music available */
return;
- snd_ctrl.nr = (-(snd_ctrl.nr + 1)) % num_music_noconf;
+ snd_ctrl.nr = UNMAP_NOCONF_MUSIC(snd_ctrl.nr) % num_music_noconf;
snd_info = Music_NoConf[snd_ctrl.nr];
}
else
static void *Load_WAV_or_MOD(char *filename)
{
- char *basename = strrchr(filename, '/');
-
- basename = (basename != NULL ? basename + 1 : filename);
-
- if (FileIsSound(basename))
+ if (FileIsSound(filename))
return Load_WAV(filename);
- else if (FileIsMusic(basename))
+ else if (FileIsMusic(filename))
return Load_MOD(filename);
else
return NULL;
struct dirent *dir_entry;
int num_music = getMusicListSize();
+#if 0
+ int ii;
+ for (ii = 0; ii < num_music; ii++)
+ {
+ struct FileInfo *music = getMusicListEntry(ii);
+ printf("sound process: music %d: '%s'\n", ii, music->filename);
+ }
+#endif
+
if (!audio.sound_available)
return;
{
struct FileInfo *music = getMusicListEntry(i);
+#if 0
+ printf("sound process: '%s'\n", music->filename);
+#endif
+
if (strcmp(basename, music->filename) == 0)
{
music_already_used = TRUE;
filename = getPath2(music_directory, basename);
+#if 1
+ if (FileIsMusic(basename))
+ mus_info = Load_WAV_or_MOD(filename);
+#else
if (FileIsSound(basename))
mus_info = Load_WAV(filename);
else if (FileIsMusic(basename))
mus_info = Load_MOD(filename);
+#endif
free(filename);