- fixed watcom build
[dosdemo] / src / music.c
index 365ad01..fe8ed6d 100644 (file)
@@ -1,21 +1,28 @@
+#include <stdlib.h>
 #include "music.h"
+
+#ifdef __WATCOMC__
+#define NO_MUSIC
+#endif
+
+#ifndef NO_MUSIC
 #include "mikmod.h"
 
 static MODULE *mod;
 static int initialized;
 
-
 static int init(void)
 {
        MikMod_RegisterAllDrivers();
        MikMod_RegisterAllLoaders();
 
-       md_mode |= DMODE_SOFT_MUSIC;
+       md_mode |= DMODE_SOFT_MUSIC | DMODE_16BITS | DMODE_STEREO | DMODE_INTERP;
        if(MikMod_Init("") != 0) {
                fprintf(stderr, "mikmod init failed: %s\n",
                                MikMod_strerror(MikMod_errno));
                return -1;
        }
+
        return 0;
 }
 
@@ -39,8 +46,10 @@ int music_open(const char *fname)
 void music_close(void)
 {
        if(mod) {
+               printf("shutting down music playback\n");
                music_stop();
                Player_Free(mod);
+               mod = 0;
        }
 }
 
@@ -60,3 +69,28 @@ void music_update(void)
                MikMod_Update();
        }
 }
+
+#else  /* NO_MUSIC */
+
+int music_open(const char *fname)
+{
+       return 0;
+}
+
+void music_close(void)
+{
+}
+
+void music_play(void)
+{
+}
+
+void music_stop(void)
+{
+}
+
+void music_update(void)
+{
+}
+
+#endif