X-Git-Url: https://jasonwoof.com/gitweb/?p=vor.git;a=blobdiff_plain;f=sound.c;h=43028657f319e6a611ac36263516717cff4660f8;hp=6ddc49695e2006b326d7810cd61bba821b868d1e;hb=HEAD;hpb=bc062811fa00aab75604a711104b131b21035efc diff --git a/sound.c b/sound.c index 6ddc496..4302865 100644 --- a/sound.c +++ b/sound.c @@ -6,12 +6,12 @@ #include "args.h" #include "common.h" -#include "config.h" +#include "vorconfig.h" #include "sound.h" static Mix_Music *music[NUM_TUNES]; -static int music_volume[NUM_TUNES] = {88,88,88}; +static int music_volume[NUM_TUNES] = {255}; static Mix_Chunk *wav[NUM_SOUNDS]; int audio_rate; @@ -24,9 +24,7 @@ char *wav_file[] = { }; char *tune_file[] = { - "magic.mod", - "getzznew.mod", - "4est_fulla3s.mod" + "mph.xm" }; // Return 1 if the sound is ready to roll, and 0 if not. @@ -69,23 +67,54 @@ play_sound(int i) { Mix_PlayChannel(-1, wav[i], 0); } -int playing=-1; +int playing = NUM_TUNES + 1; void play_tune(int i) { - if(!opt_sound) return; - if (playing==i) - return; - if (playing) { - Mix_FadeOutMusic(1500); + if(!opt_sound) { + return; + } + if (playing == i) { + return; + } + if (playing < NUM_TUNES) { + Mix_FadeOutMusic(2500); + } + // There are songs yet to be written... + if(i < NUM_TUNES) { + Mix_FadeInMusic(music[i], -1, 2000); + Mix_VolumeMusic(music_volume[i]); } - Mix_FadeInMusic(music[i],-1,2000); - Mix_VolumeMusic(music_volume[i]); playing = i; } + +int tune_paused=0; + +void +pause_tune() { + if(!opt_sound) { + return; + } + if(playing < NUM_TUNES && !tune_paused) { + Mix_PauseMusic(); + tune_paused = 1; + } +} + +void +resume_tune() { + if(!opt_sound) { + return; + } + if(playing < NUM_TUNES && tune_paused) { + Mix_ResumeMusic(); + tune_paused = 0; + } +} + /* * * The init_sound() routine is called first.