forked from Mirrorlandia_minetest/minetest
CAO footstep sounds: Reduce gain to balance volume
This commit is contained in:
parent
e2afcf85ce
commit
ee0bfbede1
@ -862,16 +862,17 @@ void GenericCAO::step(float dtime, ClientEnvironment *env)
|
|||||||
|
|
||||||
float moved = lastpos.getDistanceFrom(pos_translator.vect_show);
|
float moved = lastpos.getDistanceFrom(pos_translator.vect_show);
|
||||||
m_step_distance_counter += moved;
|
m_step_distance_counter += moved;
|
||||||
if(m_step_distance_counter > 1.5*BS)
|
if (m_step_distance_counter > 1.5f * BS) {
|
||||||
{
|
m_step_distance_counter = 0.0f;
|
||||||
m_step_distance_counter = 0;
|
if (!m_is_local_player && m_prop.makes_footstep_sound) {
|
||||||
if(!m_is_local_player && m_prop.makes_footstep_sound)
|
|
||||||
{
|
|
||||||
INodeDefManager *ndef = m_client->ndef();
|
INodeDefManager *ndef = m_client->ndef();
|
||||||
v3s16 p = floatToInt(getPosition() + v3f(0,
|
v3s16 p = floatToInt(getPosition() +
|
||||||
(m_prop.collisionbox.MinEdge.Y-0.5)*BS, 0), BS);
|
v3f(0.0f, (m_prop.collisionbox.MinEdge.Y - 0.5f) * BS, 0.0f), BS);
|
||||||
MapNode n = m_env->getMap().getNodeNoEx(p);
|
MapNode n = m_env->getMap().getNodeNoEx(p);
|
||||||
SimpleSoundSpec spec = ndef->get(n).sound_footstep;
|
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());
|
m_client->sound()->playSoundAt(spec, false, getPosition());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user