aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorparamat <paramat@users.noreply.github.com>2017-09-19 16:39:30 +0100
committerparamat <mat.gregory@virginmedia.com>2017-10-02 17:54:08 +0100
commitee0bfbede1f5eb17e76cd00444ea9749869d9adb (patch)
treee82df9109500c20aa7ab7488e7fbfc793e02cf79
parente2afcf85ce5945a6ed08313dfed9f68d02912f73 (diff)
downloadminetest-ee0bfbede1f5eb17e76cd00444ea9749869d9adb.tar.gz
minetest-ee0bfbede1f5eb17e76cd00444ea9749869d9adb.tar.bz2
minetest-ee0bfbede1f5eb17e76cd00444ea9749869d9adb.zip
CAO footstep sounds: Reduce gain to balance volume
-rw-r--r--src/content_cao.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/content_cao.cpp b/src/content_cao.cpp
index 9a493daff..7178debaa 100644
--- a/src/content_cao.cpp
+++ b/src/content_cao.cpp
@@ -862,16 +862,17 @@ void GenericCAO::step(float dtime, ClientEnvironment *env)
float moved = lastpos.getDistanceFrom(pos_translator.vect_show);
m_step_distance_counter += moved;
- if(m_step_distance_counter > 1.5*BS)
- {
- m_step_distance_counter = 0;
- if(!m_is_local_player && m_prop.makes_footstep_sound)
- {
+ if (m_step_distance_counter > 1.5f * BS) {
+ m_step_distance_counter = 0.0f;
+ if (!m_is_local_player && m_prop.makes_footstep_sound) {
INodeDefManager *ndef = m_client->ndef();
- v3s16 p = floatToInt(getPosition() + v3f(0,
- (m_prop.collisionbox.MinEdge.Y-0.5)*BS, 0), BS);
+ v3s16 p = floatToInt(getPosition() +
+ v3f(0.0f, (m_prop.collisionbox.MinEdge.Y - 0.5f) * BS, 0.0f), BS);
MapNode n = m_env->getMap().getNodeNoEx(p);
SimpleSoundSpec spec = ndef->get(n).sound_footstep;
+ // Reduce footstep gain, as non-local-player footsteps are
+ // somehow louder.
+ spec.gain *= 0.6f;
m_client->sound()->playSoundAt(spec, false, getPosition());
}
}