mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-01-10 06:39:49 +00:00
Wait for the previous sound to stop
This commit is contained in:
parent
1ce296aa7f
commit
eebb320916
@ -60,6 +60,7 @@
|
||||
Bug #5639: Tooltips cover Messageboxes
|
||||
Bug #5644: Summon effects running on the player during game initialization cause crashes
|
||||
Bug #5656: Sneaking characters block hits while standing
|
||||
Bug #5661: Region sounds don't play at the right interval
|
||||
Feature #390: 3rd person look "over the shoulder"
|
||||
Feature #2386: Distant Statics in the form of Object Paging
|
||||
Feature #2404: Levelled List can not be placed into a container
|
||||
|
@ -20,10 +20,9 @@ namespace MWSound
|
||||
}
|
||||
|
||||
RegionSoundSelector::RegionSoundSelector()
|
||||
{
|
||||
mMinTimeBetweenSounds = Fallback::Map::getFloat("Weather_Minimum_Time_Between_Environmental_Sounds");
|
||||
mMaxTimeBetweenSounds = Fallback::Map::getFloat("Weather_Maximum_Time_Between_Environmental_Sounds");
|
||||
}
|
||||
: mMinTimeBetweenSounds(Fallback::Map::getFloat("Weather_Minimum_Time_Between_Environmental_Sounds"))
|
||||
, mMaxTimeBetweenSounds(Fallback::Map::getFloat("Weather_Maximum_Time_Between_Environmental_Sounds"))
|
||||
{}
|
||||
|
||||
boost::optional<std::string> RegionSoundSelector::getNextRandom(float duration, const std::string& regionName,
|
||||
const MWBase::World& world)
|
||||
@ -71,9 +70,6 @@ namespace MWSound
|
||||
if (it == region->mSoundList.end())
|
||||
return {};
|
||||
|
||||
// TODO
|
||||
// mTimeToNextEnvSound += soundDuration
|
||||
|
||||
return it->mSound;
|
||||
}
|
||||
}
|
||||
|
@ -895,9 +895,11 @@ namespace MWSound
|
||||
|
||||
if (!cell->isExterior())
|
||||
return;
|
||||
if (mCurrentRegionSound && mOutput->isSoundPlaying(mCurrentRegionSound))
|
||||
return;
|
||||
|
||||
if (const auto next = mRegionSoundSelector.getNextRandom(duration, cell->mRegion, *world))
|
||||
playSound(*next, 1.0f, 1.0f);
|
||||
mCurrentRegionSound = playSound(*next, 1.0f, 1.0f);
|
||||
}
|
||||
|
||||
void SoundManager::updateWaterSound()
|
||||
|
@ -120,6 +120,8 @@ namespace MWSound
|
||||
|
||||
const ESM::Cell *mLastCell = nullptr;
|
||||
|
||||
Sound* mCurrentRegionSound;
|
||||
|
||||
Sound_Buffer *insertSound(const std::string &soundId, const ESM::Sound *sound);
|
||||
|
||||
Sound_Buffer *lookupSound(const std::string &soundId) const;
|
||||
|
Loading…
Reference in New Issue
Block a user