-#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)
Uint16 audio_format;
int audio_channels;
-char *load_file(char *);
+char *add_path(char *);
char *wav_file[] = {
"sounds/booom.wav",
"sounds/cboom.wav",
"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;
// 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
#undef DEBUG
-void play_tune(int i) {/*{{{*/
+void
+play_tune(int i) {/*{{{*/
+ if(!sound_flag || !music_flag) return;
if (playing==i)
return;
if (playing) {
Mix_VolumeMusic(music_volume[i]);
playing = i;
-}/*}}}*/
+}
/*
*