|
|
@ -938,11 +938,14 @@ void CharacterController::handleTextKey(const std::string &groupname, const std:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (soundgen == "land") // Morrowind ignores land soundgen for some reason
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
|
|
std::string sound = mPtr.getClass().getSoundIdFromSndGen(mPtr, soundgen);
|
|
|
|
std::string sound = mPtr.getClass().getSoundIdFromSndGen(mPtr, soundgen);
|
|
|
|
if(!sound.empty())
|
|
|
|
if(!sound.empty())
|
|
|
|
{
|
|
|
|
{
|
|
|
|
MWBase::SoundManager *sndMgr = MWBase::Environment::get().getSoundManager();
|
|
|
|
MWBase::SoundManager *sndMgr = MWBase::Environment::get().getSoundManager();
|
|
|
|
if(evt.compare(10, evt.size()-10, "left") == 0 || evt.compare(10, evt.size()-10, "right") == 0 || evt.compare(10, evt.size()-10, "land") == 0)
|
|
|
|
if(soundgen == "left" || soundgen == "right")
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// Don't make foot sounds local for the player, it makes sense to keep them
|
|
|
|
// Don't make foot sounds local for the player, it makes sense to keep them
|
|
|
|
// positioned on the ground.
|
|
|
|
// positioned on the ground.
|
|
|
@ -2027,6 +2030,12 @@ void CharacterController::update(float duration)
|
|
|
|
cls.skillUsageSucceeded(mPtr, ESM::Skill::Acrobatics, 1);
|
|
|
|
cls.skillUsageSucceeded(mPtr, ESM::Skill::Acrobatics, 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Play landing sound
|
|
|
|
|
|
|
|
MWBase::SoundManager *sndMgr = MWBase::Environment::get().getSoundManager();
|
|
|
|
|
|
|
|
std::string sound = cls.getSoundIdFromSndGen(mPtr, "land");
|
|
|
|
|
|
|
|
if (!sound.empty())
|
|
|
|
|
|
|
|
sndMgr->playSound3D(mPtr, sound, 1.f, 1.f, MWSound::Type::Foot, MWSound::PlayMode::NoPlayerLocal);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
|
{
|
|
|
|
{
|
|
|
|