Improve and fix crash in SoundSystemWindows

Add 3D Sound Listener, Fix crash when DirectSound fails to initialize. Add second argument to setListenerAngle. Implement setListenerAngle and setListenerPos in Minecraft.cpp (Is this a good place to put it?)
This commit is contained in:
f
2023-08-01 22:02:24 +02:00
parent d8cdbe4913
commit 9bfec799e2
5 changed files with 117 additions and 16 deletions

View File

@@ -30,16 +30,16 @@ public:
~SoundSystemWindows();
virtual bool isAvailable();
virtual void setListenerPos(float x, float y, float z);
virtual void setListenerAngle(float f);
virtual void setListenerAngle(float yaw, float pitch);
virtual void load(const std::string& sound);
virtual void play(const std::string& sound);
virtual void pause(const std::string& sound);
virtual void stop(const std::string& sound);
virtual void playAt(const SoundDesc& sound, float x, float y, float z, float a, float b);
private:
bool m_available = false;
IDirectSound8* m_directsound;
IDirectSoundBuffer* m_primarybuffer;
LPDIRECTSOUND3DLISTENER8* m_listener;
std::vector<LPDIRECTSOUNDBUFFER*> m_buffers;
};
};