|
|
|
@ -931,11 +931,14 @@ namespace MWSound
|
|
|
|
|
mOutput->finishSound(mNearWaterSound);
|
|
|
|
|
mNearWaterSound = nullptr;
|
|
|
|
|
}
|
|
|
|
|
else if(LastCell != curcell)
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
bool soundIdChanged = false;
|
|
|
|
|
|
|
|
|
|
Sound_Buffer* sfx = lookupSound(soundId);
|
|
|
|
|
Sound_Buffer *sfx = lookupSound(soundId);
|
|
|
|
|
if(LastCell != curcell)
|
|
|
|
|
{
|
|
|
|
|
LastCell = curcell;
|
|
|
|
|
SoundMap::const_iterator snditer = mActiveSounds.find(MWWorld::Ptr());
|
|
|
|
|
if(snditer != mActiveSounds.end())
|
|
|
|
|
{
|
|
|
|
@ -947,9 +950,9 @@ namespace MWSound
|
|
|
|
|
if (pairiter != snditer->second.end() && pairiter->second != sfx)
|
|
|
|
|
soundIdChanged = true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
LastCell = curcell;
|
|
|
|
|
if (soundIdChanged)
|
|
|
|
|
if(soundIdChanged)
|
|
|
|
|
{
|
|
|
|
|
mOutput->finishSound(mNearWaterSound);
|
|
|
|
|
mNearWaterSound = playSound(soundId, volume, 1.0f, Play_TypeSfx, Play_Loop);
|
|
|
|
|