From fda0c409e5d43347935e5d01c54e3ec4ddaba66a Mon Sep 17 00:00:00 2001 From: avolkov Date: Sat, 9 Jul 2011 03:49:12 +0000 Subject: [PATCH] Make the switch from positional -> not positional sfx actually work w/o having sfx channels permanently stuck somewhere in 3D world; there is no reason to use different distance models, and that eliminates the need to change models when switching positional <-> not git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@3639 8092fc87-c524-0410-9efc-e669fe64eaf9 --- sc2/src/libs/sound/openal/audiodrv_openal.c | 5 +---- sc2/src/libs/sound/openal/audiodrv_openal.h | 1 - sc2/src/libs/sound/sfx.c | 4 ++-- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/sc2/src/libs/sound/openal/audiodrv_openal.c b/sc2/src/libs/sound/openal/audiodrv_openal.c index ba75fb987..f517f7a88 100644 --- a/sc2/src/libs/sound/openal/audiodrv_openal.c +++ b/sc2/src/libs/sound/openal/audiodrv_openal.c @@ -193,10 +193,7 @@ openAL_Init (audio_Driver *driver, sint32 flags) return -1; } - if (optStereoSFX) - alDistanceModel (AL_INVERSE_DISTANCE); - else - alDistanceModel (AL_NONE); + alDistanceModel (AL_INVERSE_DISTANCE); (void) driver; // eat compiler warning diff --git a/sc2/src/libs/sound/openal/audiodrv_openal.h b/sc2/src/libs/sound/openal/audiodrv_openal.h index 1635eb276..0b770fac5 100644 --- a/sc2/src/libs/sound/openal/audiodrv_openal.h +++ b/sc2/src/libs/sound/openal/audiodrv_openal.h @@ -22,7 +22,6 @@ #include "config.h" #include "libs/sound/sound.h" -#include "options.h" #include "endian_uqm.h" #if defined (__APPLE__) diff --git a/sc2/src/libs/sound/sfx.c b/sc2/src/libs/sound/sfx.c index e8af8b808..cabb58f9c 100644 --- a/sc2/src/libs/sound/sfx.c +++ b/sc2/src/libs/sound/sfx.c @@ -29,6 +29,7 @@ static void CheckFinishedChannels (void); +static const SoundPosition notPositional = {FALSE}; void PlayChannel (COUNT channel, SOUND snd, SoundPosition pos, @@ -50,8 +51,7 @@ PlayChannel (COUNT channel, SOUND snd, SoundPosition pos, soundSource[channel].sample = sample; soundSource[channel].positional_object = positional_object; - if (optStereoSFX) - UpdateSoundPosition (channel, pos); + UpdateSoundPosition (channel, optStereoSFX ? pos : notPositional); audio_Sourcei (soundSource[channel].handle, audio_BUFFER, sample->buffer[0]);