diff --git a/src/game/mnsound.c b/src/game/mnsound.c index ba9e83cd4..3d53c9c7e 100644 --- a/src/game/mnsound.c +++ b/src/game/mnsound.c @@ -36,14 +36,17 @@ typedef enum SAMPLE_FLAG { VOLUME_WIBBLE = 1 << 14, } SAMPLE_FLAG; +static MN_SFX_PLAY_INFO SFXPlaying[MAX_PLAYING_FX]; +static int32_t MnSoundMasterVolumeDefault = 32; +static int16_t MnAmbientLookup[MAX_AMBIENT_FX]; +static int32_t MnAmbientLookupIdx; + void mn_reset_sound_effects() { if (!SoundIsActive) { return; } MnSoundMasterVolume = MnSoundMasterVolumeDefault; - MnSoundMasterFadeOn = 0; - MnSoundFadeCounter = 0; for (int i = 0; i < MAX_PLAYING_FX; i++) { mn_clear_fx_slot(&SFXPlaying[i]); @@ -313,19 +316,6 @@ void mn_update_sound_effects() return; } - MnSoundsPlaying = 0; - - if (MnSoundMasterFadeOn) { - if (MnSoundFadeCounter == MnSoundFadeRate) { - MnSoundFadeCounter = 0; - if (MnSoundMasterVolume > 0) { - MnSoundMasterVolume--; - } - } else { - MnSoundFadeCounter++; - } - } - for (int i = 0; i < MAX_PLAYING_FX; i++) { MN_SFX_PLAY_INFO *slot = &SFXPlaying[i]; if (slot->mn_flags & MN_FX_USED) { @@ -334,7 +324,6 @@ void mn_update_sound_effects() && slot->handle != SOUND_INVALID_HANDLE) { S_SoundSetPanAndVolume( slot->handle, slot->pan, slot->volume); - MnSoundsPlaying++; } else { if (slot->handle != SOUND_INVALID_HANDLE) { S_SoundStopSample(slot->handle); @@ -348,7 +337,6 @@ void mn_update_sound_effects() && slot->handle != SOUND_INVALID_HANDLE) { S_SoundSetPanAndVolume( slot->handle, slot->pan, slot->volume); - MnSoundsPlaying++; } else { if (slot->handle != SOUND_INVALID_HANDLE) { S_SoundStopSample(slot->handle); diff --git a/src/global/vars.c b/src/global/vars.c index 29a3d0c84..8a6e08747 100644 --- a/src/global/vars.c +++ b/src/global/vars.c @@ -36,6 +36,7 @@ void (*EffectRoutines[])(ITEM_INFO *item) = { }; bool SoundIsActive = true; +int32_t MnSoundMasterVolume; int32_t NoInputCount = 0; int32_t IDelay; diff --git a/src/global/vars.h b/src/global/vars.h index 58ea275db..1747ae604 100644 --- a/src/global/vars.h +++ b/src/global/vars.h @@ -92,15 +92,7 @@ extern bool SoundIsActive; #define CDLoop VAR_U_(0x0045B94C, int32_t) #define CDNumTracks VAR_U_(0x0045B964, int32_t) #define CDFlags ARRAY_(0x00462C20, int16_t, [MAX_CD_TRACKS]) -#define MnSoundMasterVolume VAR_U_(0x0045668C, int32_t) -#define MnSoundMasterVolumeDefault VAR_U_(0x00456690, int32_t) -#define SFXPlaying ARRAY_(0x0045E980, MN_SFX_PLAY_INFO, [MAX_PLAYING_FX]) -#define MnAmbientLookup ARRAY_(0x0045A200, int16_t, [MAX_AMBIENT_FX]) -#define MnSoundMasterFadeOn VAR_U_(0x0045A21C, int32_t) -#define MnSoundFadeCounter VAR_U_(0x0045A220, int32_t) -#define MnSoundFadeRate VAR_I_(0x00456694, int32_t, 10) -#define MnSoundsPlaying VAR_U_(0x0045A218, int32_t) -#define MnAmbientLookupIdx VAR_U_(0x0045A224, int32_t) +extern int32_t MnSoundMasterVolume; #define CompassStatus VAR_U_(0x0045A0A4, int16_t) #define CompassSpeed VAR_U_(0x0045A0A8, int16_t)