Make last cell a field of SoundManager and initialize

pull/578/head
elsid 5 years ago
parent 3fa1e7ebaf
commit 6ab1a1f907
No known key found for this signature in database
GPG Key ID: B845CB9FEE18AB40

@ -887,7 +887,6 @@ namespace MWSound
void SoundManager::updateWaterSound(float /*duration*/)
{
static const ESM::Cell *LastCell;
MWBase::World* world = MWBase::Environment::get().getWorld();
const MWWorld::ConstPtr player = world->getPlayerPtr();
const ESM::Cell *curcell = player.getCell()->getCell();
@ -905,9 +904,9 @@ namespace MWSound
bool soundIdChanged = false;
Sound_Buffer *sfx = lookupSound(update.mId);
if(LastCell != curcell)
if (mLastCell != curcell)
{
LastCell = curcell;
mLastCell = curcell;
SoundMap::const_iterator snditer = mActiveSounds.find(MWWorld::Ptr());
if(snditer != mActiveSounds.end())
{
@ -932,7 +931,7 @@ namespace MWSound
}
else if (update.mVolume > 0.0f)
{
LastCell = curcell;
mLastCell = curcell;
mNearWaterSound = playSound(update.mId, update.mVolume, 1.0f, Type::Sfx, PlayMode::Loop);
}
}

@ -27,6 +27,7 @@ namespace VFS
namespace ESM
{
struct Sound;
struct Cell;
}
namespace MWSound
@ -116,6 +117,8 @@ namespace MWSound
float mTimePassed = 0;
const ESM::Cell *mLastCell = nullptr;
Sound_Buffer *insertSound(const std::string &soundId, const ESM::Sound *sound);
Sound_Buffer *lookupSound(const std::string &soundId) const;

Loading…
Cancel
Save