mirror of
https://github.com/luanti-org/luanti.git
synced 2025-10-18 02:45:21 +02:00
Re-order sound-related code (#12382)
Dropped ServerSoundParams -> moved to ServerPlayingSound. This gets rid of the duplicated 'fade' and 'pitch' values on server-side where only one was used anyway. SimpleSoundSpec is the basic sound without positional information, hence 'loop' is included. Recursively added PROTOCOL_VERSION to most functions to reduce the versioning mess in the future. Per-type version numbers are kept for now as a safety rope in a special case.
This commit is contained in:
@@ -1174,7 +1174,7 @@ void GenericCAO::step(float dtime, ClientEnvironment *env)
|
||||
// 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, getPosition());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -282,7 +282,7 @@ public:
|
||||
if (m_player_step_timer <= 0 && m_player_step_sound.exists()) {
|
||||
m_player_step_timer = 0.03;
|
||||
if (makes_footstep_sound)
|
||||
m_sound->playSound(m_player_step_sound, false);
|
||||
m_sound->playSound(m_player_step_sound);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -290,7 +290,7 @@ public:
|
||||
{
|
||||
if (m_player_jump_timer <= 0.0f) {
|
||||
m_player_jump_timer = 0.2f;
|
||||
m_sound->playSound(SimpleSoundSpec("player_jump", 0.5f), false);
|
||||
m_sound->playSound(SimpleSoundSpec("player_jump", 0.5f));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -315,32 +315,32 @@ public:
|
||||
static void cameraPunchLeft(MtEvent *e, void *data)
|
||||
{
|
||||
SoundMaker *sm = (SoundMaker *)data;
|
||||
sm->m_sound->playSound(sm->m_player_leftpunch_sound, false);
|
||||
sm->m_sound->playSound(sm->m_player_leftpunch_sound);
|
||||
}
|
||||
|
||||
static void cameraPunchRight(MtEvent *e, void *data)
|
||||
{
|
||||
SoundMaker *sm = (SoundMaker *)data;
|
||||
sm->m_sound->playSound(sm->m_player_rightpunch_sound, false);
|
||||
sm->m_sound->playSound(sm->m_player_rightpunch_sound);
|
||||
}
|
||||
|
||||
static void nodeDug(MtEvent *e, void *data)
|
||||
{
|
||||
SoundMaker *sm = (SoundMaker *)data;
|
||||
NodeDugEvent *nde = (NodeDugEvent *)e;
|
||||
sm->m_sound->playSound(sm->m_ndef->get(nde->n).sound_dug, false);
|
||||
sm->m_sound->playSound(sm->m_ndef->get(nde->n).sound_dug);
|
||||
}
|
||||
|
||||
static void playerDamage(MtEvent *e, void *data)
|
||||
{
|
||||
SoundMaker *sm = (SoundMaker *)data;
|
||||
sm->m_sound->playSound(SimpleSoundSpec("player_damage", 0.5), false);
|
||||
sm->m_sound->playSound(SimpleSoundSpec("player_damage", 0.5));
|
||||
}
|
||||
|
||||
static void playerFallingDamage(MtEvent *e, void *data)
|
||||
{
|
||||
SoundMaker *sm = (SoundMaker *)data;
|
||||
sm->m_sound->playSound(SimpleSoundSpec("player_falling_damage", 0.5), false);
|
||||
sm->m_sound->playSound(SimpleSoundSpec("player_falling_damage", 0.5));
|
||||
}
|
||||
|
||||
void registerReceiver(MtEventManager *mgr)
|
||||
|
@@ -63,13 +63,13 @@ public:
|
||||
virtual void step(float dtime) = 0;
|
||||
virtual void fadeSound(int sound, float step, float gain) = 0;
|
||||
|
||||
int playSound(const SimpleSoundSpec &spec, bool loop)
|
||||
int playSound(const SimpleSoundSpec &spec)
|
||||
{
|
||||
return playSound(spec.name, loop, spec.gain, spec.fade, spec.pitch);
|
||||
return playSound(spec.name, spec.loop, spec.gain, spec.fade, spec.pitch);
|
||||
}
|
||||
int playSoundAt(const SimpleSoundSpec &spec, bool loop, const v3f &pos)
|
||||
int playSoundAt(const SimpleSoundSpec &spec, const v3f &pos)
|
||||
{
|
||||
return playSoundAt(spec.name, loop, spec.gain, pos, spec.pitch);
|
||||
return playSoundAt(spec.name, spec.loop, spec.gain, pos, spec.pitch);
|
||||
}
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user