1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-02-21 07:09:39 +00:00

More queue handling adjustments

This commit is contained in:
Capostrophic 2019-05-26 19:23:42 +03:00
parent c975dab7c3
commit e095d51999

View file

@ -769,7 +769,10 @@ namespace MWSound
for(SoundBufferRefPair &snd : snditer->second) for(SoundBufferRefPair &snd : snditer->second)
mOutput->finishSound(snd.first); mOutput->finishSound(snd.first);
} }
SaySoundMap::iterator sayiter = mActiveSaySounds.find(ptr); SaySoundMap::iterator sayiter = mSaySoundsQueue.find(ptr);
if(sayiter != mSaySoundsQueue.end())
mOutput->finishStream(sayiter->second);
sayiter = mActiveSaySounds.find(ptr);
if(sayiter != mActiveSaySounds.end()) if(sayiter != mActiveSaySounds.end())
mOutput->finishStream(sayiter->second); mOutput->finishStream(sayiter->second);
} }
@ -785,6 +788,12 @@ namespace MWSound
} }
} }
for(SaySoundMap::value_type &snd : mSaySoundsQueue)
{
if(!snd.first.isEmpty() && snd.first != MWMechanics::getPlayer() && snd.first.getCell() == cell)
mOutput->finishStream(snd.second);
}
for(SaySoundMap::value_type &snd : mActiveSaySounds) for(SaySoundMap::value_type &snd : mActiveSaySounds)
{ {
if(!snd.first.isEmpty() && snd.first != MWMechanics::getPlayer() && snd.first.getCell() == cell) if(!snd.first.isEmpty() && snd.first != MWMechanics::getPlayer() && snd.first.getCell() == cell)
@ -1086,7 +1095,7 @@ namespace MWSound
} }
SaySoundMap::iterator sayiter = mActiveSaySounds.begin(); SaySoundMap::iterator sayiter = mActiveSaySounds.begin();
while (sayiter != mActiveSaySounds.end()) while(sayiter != mActiveSaySounds.end())
{ {
MWWorld::ConstPtr ptr = sayiter->first; MWWorld::ConstPtr ptr = sayiter->first;
Stream *sound = sayiter->second; Stream *sound = sayiter->second;