mirror of
https://github.com/luanti-org/luanti.git
synced 2025-10-15 19:42:10 +00: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:
parent
0b41533763
commit
a463620edb
20 changed files with 140 additions and 188 deletions
|
@ -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);
|
||||
}
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue