mirror of
https://github.com/luanti-org/luanti.git
synced 2025-07-02 16:38:41 +00:00
Sounds: Various little improvements (#12486)
Use SimpleSoundSpec where reasonable (OpenAL) Ensure the sound IDs do not underflow or get overwritten -> loop in u16 Proper use of an enum.
This commit is contained in:
parent
051181fa6e
commit
e51f474613
9 changed files with 112 additions and 108 deletions
|
@ -51,10 +51,8 @@ public:
|
|||
|
||||
// playSound functions return -1 on failure, otherwise a handle to the
|
||||
// sound. If name=="", call should be ignored without error.
|
||||
virtual int playSound(const std::string &name, bool loop, float volume,
|
||||
float fade = 0.0f, float pitch = 1.0f) = 0;
|
||||
virtual int playSoundAt(const std::string &name, bool loop, float volume, v3f pos,
|
||||
float pitch = 1.0f) = 0;
|
||||
virtual int playSound(const SimpleSoundSpec &spec) = 0;
|
||||
virtual int playSoundAt(const SimpleSoundSpec &spec, const v3f &pos) = 0;
|
||||
virtual void stopSound(int sound) = 0;
|
||||
virtual bool soundExists(int sound) = 0;
|
||||
virtual void updateSoundPosition(int sound, v3f pos) = 0;
|
||||
|
@ -62,15 +60,6 @@ public:
|
|||
virtual float getSoundGain(int id) = 0;
|
||||
virtual void step(float dtime) = 0;
|
||||
virtual void fadeSound(int sound, float step, float gain) = 0;
|
||||
|
||||
int playSound(const SimpleSoundSpec &spec)
|
||||
{
|
||||
return playSound(spec.name, spec.loop, spec.gain, spec.fade, spec.pitch);
|
||||
}
|
||||
int playSoundAt(const SimpleSoundSpec &spec, const v3f &pos)
|
||||
{
|
||||
return playSoundAt(spec.name, spec.loop, spec.gain, pos, spec.pitch);
|
||||
}
|
||||
};
|
||||
|
||||
class DummySoundManager : public ISoundManager
|
||||
|
@ -88,16 +77,9 @@ public:
|
|||
{
|
||||
}
|
||||
void setListenerGain(float gain) {}
|
||||
int playSound(const std::string &name, bool loop, float volume, float fade,
|
||||
float pitch)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
int playSoundAt(const std::string &name, bool loop, float volume, v3f pos,
|
||||
float pitch)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
int playSound(const SimpleSoundSpec &spec) { return -1; }
|
||||
int playSoundAt(const SimpleSoundSpec &spec, const v3f &pos) { return -1; }
|
||||
void stopSound(int sound) {}
|
||||
bool soundExists(int sound) { return false; }
|
||||
void updateSoundPosition(int sound, v3f pos) {}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue