JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
hmm...apparently you can't strdup a NULL pointer :)
[vor.git] / sound.c
diff --git a/sound.c b/sound.c
index 0b8a046..3f13e0e 100644 (file)
--- a/sound.c
+++ b/sound.c
@@ -1,8 +1,6 @@
-#include <stdlib.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <SDL/SDL.h>
-#include <SDL/SDL_mixer.h>
+#include "sound.h"
+
+extern int sound_flag, music_flag;
 
 #define CONDERROR(a) if ((a)) {fprintf(stderr,"Error: %s\n",SDL_GetError());exit(1);}
 #define NULLERROR(a) CONDERROR((a)==NULL)
@@ -23,7 +21,7 @@ int audio_rate;
 Uint16 audio_format;
 int audio_channels;
 
-char *load_file(char *);
+char *add_path(char *);
 char *wav_file[] = {
     "sounds/booom.wav",
        "sounds/cboom.wav",
@@ -31,13 +29,14 @@ char *wav_file[] = {
        "sounds/bzboom.wav"
 };
 
-char *tune_file[] = {/*{{{*/
+char *tune_file[] = {
     "music/magic.mod",
     "music/getzznew.mod",
     "music/4est_fulla3s.mod"
-};/*}}}*/
+};
 
-int init_sound() {/*{{{*/
+int
+init_sound() {
     // Return 1 if the sound is ready to roll, and 0 if not.
 
     int i;
@@ -62,20 +61,22 @@ int init_sound() {/*{{{*/
 
     // Preload all the tunes into memory
     for (i=0; i<NUM_TUNES; i++) {
-       if (!(music[i] = Mix_LoadMUS(load_file(tune_file[i])))) {
-           printf ("Failed to load %s\n",load_file(tune_file[i]));
+       if (!(music[i] = Mix_LoadMUS(add_path(tune_file[i])))) {
+           printf ("Failed to load %s\n",add_path(tune_file[i]));
        }
     }
 
     // Preload all the wav files into memory
     for (i=0; i<NUM_SOUNDS; i++) {
-       wav[i] = Mix_LoadWAV(load_file(wav_file[i]));
+       wav[i] = Mix_LoadWAV(add_path(wav_file[i]));
     }
 
     return 1;
-}/*}}}*/
+}
 
-void play_sound(int i)  {/*{{{*/
+void
+play_sound(int i)  {
+       if(!sound_flag) return;
 #ifdef DEBUG
     printf ("play sound %d on first free channel\n",i);
 #endif
@@ -87,7 +88,9 @@ int playing=-1;
 
 #undef DEBUG
 
-void play_tune(int i) {/*{{{*/
+void
+play_tune(int i) {/*{{{*/
+       if(!sound_flag || !music_flag) return;
     if (playing==i)
        return;
     if (playing) {
@@ -104,7 +107,7 @@ void play_tune(int i) {/*{{{*/
     Mix_VolumeMusic(music_volume[i]);
 
     playing = i;
-}/*}}}*/
+}
 
 /*
  *