}
else
{
- if (snd_ctrl.nr >= num_sounds)
+ if (snd_ctrl.nr < 0 || snd_ctrl.nr >= num_sounds)
return;
snd_info = getSoundInfoEntryFromSoundID(snd_ctrl.nr);
#endif
}
+static void *Load_WAV_or_MOD(char *filename)
+{
+ char *basename = strrchr(filename, '/');
+
+ basename = (basename != NULL ? basename + 1 : filename);
+
+ if (FileIsSound(basename))
+ return Load_WAV(filename);
+ else if (FileIsMusic(basename))
+ return Load_MOD(filename);
+ else
+ return NULL;
+}
+
void LoadCustomMusic_NoConf(void)
{
static boolean draw_init_text = TRUE; /* only draw at startup */
/* ---------- initialize artwork loading/freeing functions ---------- */
- music_info->load_artwork = Load_MOD;
+ music_info->load_artwork = Load_WAV_or_MOD;
music_info->free_artwork = FreeMusic;
}