diff --git a/src/music.c b/src/music.c
index 1f0881584ba96fef761bbf69e010e22377002faf..4f6cc2b83ea8dc4429cd74127bc498257389b4a8 100644 (file)
--- a/src/music.c
+++ b/src/music.c
#include "glob.h"
#include "sound.h"
#include "glob.h"
#include "sound.h"
+#include "files.h"
#include <SDL.h>
#include <SDL_mixer.h>
#include <SDL.h>
#include <SDL_mixer.h>
void S_donemusic(void)
{
void S_donemusic(void)
{
- F_freemus();
- Mix_CloseAudio();
- SDL_QuitSubSystem(SDL_INIT_AUDIO);
+ if (SDL_WasInit(SDL_INIT_AUDIO)) {
+ F_freemus();
+ Mix_CloseAudio();
+ SDL_QuitSubSystem(SDL_INIT_AUDIO);
+ }
}
void S_startmusic(int time)
}
void S_startmusic(int time)
void F_loadmus(char n[8]) {
if (musdisabled) return;
char f[50];
void F_loadmus(char n[8]) {
if (musdisabled) return;
char f[50];
+ char name[50];
#ifndef WIN32
#ifndef WIN32
- strcpy(f,"music/");
+ strcpy(f, "/usr/share/doom2d-rembo/music/");
#else
#else
- strcpy(f,"music\\");
+ strcpy(f, "music\\");
#endif
#endif
- strncpy(&f[6], n, 8);
- f[6+8]='\0';
- muslo = Mix_LoadMUS(f);
- if (muslo == NULL) {
- char name[50];
+ int l = strlen(f);
+ strncpy(&f[l], n, 8);
+ f[l+8]='\0';
+ trans_ascii_str(name, f);
+ muslo = Mix_LoadMUS(name);
+ if (muslo == NULL)
+ {
+#ifndef WIN32
+ strcpy(f, "music/");
+ int l = strlen(f);
+ strncpy(&f[l], n, 8);
+ f[l+8]='\0';
trans_ascii_str(name, f);
muslo = Mix_LoadMUS(name);
trans_ascii_str(name, f);
muslo = Mix_LoadMUS(name);
- if (!muslo) logo("Music not found '%s'\n", name);
+#endif
}
}
-}
+ if (!muslo) logo("Music not found '%s'\n", name);
+}
void F_freemus(void) {
if (musdisabled) return;
void F_freemus(void) {
if (musdisabled) return;