1
--- a/src/audio.c 2008-02-13 10:52:25.000000000 -0600
2
+++ b/src/audio.c 2008-02-13 10:52:49.000000000 -0600
7
-char *tracks[13] = {"/usr/share/games/meritous/m/ICEFRONT.S3M",
8
- "/usr/share/games/meritous/m/cavern.xm",
9
- "/usr/share/games/meritous/m/cave.xm",
10
- "/usr/share/games/meritous/m/cave06.s3m",
11
- "/usr/share/games/meritous/m/Wood.s3m",
12
- "/usr/share/games/meritous/m/iller_knarkloader_final.xm",
13
- "/usr/share/games/meritous/m/fear2.mod",
14
- "/usr/share/games/meritous/m/Cv_boss.mod",
15
- "/usr/share/games/meritous/m/Fr_boss.mod",
16
- "/usr/share/games/meritous/m/CT_BOSS.MOD",
17
- "/usr/share/games/meritous/m/rpg_bat1.xm",
18
- "/usr/share/games/meritous/m/amblight.xm",
19
- "/usr/share/games/meritous/m/FINALBAT.s3m"};
21
Mix_Music *bgm_music = NULL;
25
Mix_Volume(0, hum_vol);
28
+int IsBackgroundMusicFile(char *buffer, int track, char *suffix)
30
+ /* Figure out the filename */
31
+ sprintf(buffer, "/usr/share/games/meritous/m/track%d.%s",
34
+ /* See if the file exists */
36
+ if ((fp = fopen(buffer, "rb")) != NULL) {
43
+void PlayBackgroundMusic(int track)
45
+ /* Setup variables */
47
+ int found_track = 0;
49
+ /* See if we have a file of the appropriate type. */
51
+ found_track = IsBackgroundMusicFile(filename, track, "ogg");
53
+ found_track = IsBackgroundMusicFile(filename, track, "mp3");
55
+ found_track = IsBackgroundMusicFile(filename, track, "s3m");
57
+ found_track = IsBackgroundMusicFile(filename, track, "xm");
59
+ found_track = IsBackgroundMusicFile(filename, track, "mod");
61
+ /* Play the selected music */
63
+ bgm_music = Mix_LoadMUS(filename);
64
+ Mix_PlayMusic(bgm_music, -1);
67
+ /* Always save the track to reduce load */
71
void TitleScreenMusic()
78
- bgm_music = Mix_LoadMUS(tracks[new_track]);
79
- Mix_PlayMusic(bgm_music, -1);
80
- bgm_track = new_track;
81
+ PlayBackgroundMusic(new_track);
84
void BackgroundMusic()
88
if (new_track != -1) {
89
- bgm_music = Mix_LoadMUS(tracks[new_track]);
90
- Mix_PlayMusic(bgm_music, -1);
91
+ PlayBackgroundMusic(new_track);
93
bgm_track = new_track;