forked from metin2/client
Solution refactoring and restructuring, removed Boost dependency, removed unused tools
This commit is contained in:
45
src/MilesLib/SoundManager3D.h
Normal file
45
src/MilesLib/SoundManager3D.h
Normal file
@ -0,0 +1,45 @@
|
||||
#ifndef __MILESLIB_CSOUNDMANAGER3D_H__
|
||||
#define __MILESLIB_CSOUNDMANAGER3D_H__
|
||||
|
||||
#include "SoundBase.h"
|
||||
#include "SoundInstance.h"
|
||||
|
||||
class CSoundManager3D : public CSoundBase
|
||||
{
|
||||
public:
|
||||
enum
|
||||
{
|
||||
INSTANCE_MAX_COUNT = 32,
|
||||
MAX_PROVIDERS = 32,
|
||||
};
|
||||
|
||||
public:
|
||||
CSoundManager3D();
|
||||
virtual ~CSoundManager3D();
|
||||
|
||||
bool Initialize();
|
||||
void Destroy();
|
||||
|
||||
int GetEmptyInstanceIndex();
|
||||
int SetInstance(const char * c_szFileName);
|
||||
ISoundInstance * GetInstance(DWORD dwIndex);
|
||||
|
||||
void SetListenerDirection(float fxDir, float fyDir, float fzDir, float fxUp, float fyUp, float fzUp);
|
||||
void SetListenerPosition(float x, float y, float z);
|
||||
void SetListenerVelocity(float fDistanceX, float fDistanceY, float fDistanceZ, float fNagnitude);
|
||||
|
||||
void Lock(int iIndex);
|
||||
void Unlock(int iIndex);
|
||||
|
||||
protected:
|
||||
bool IsValidInstanceIndex(int iIndex);
|
||||
|
||||
protected:
|
||||
bool m_bLockingFlag[INSTANCE_MAX_COUNT];
|
||||
CSoundInstance3D m_Instances[INSTANCE_MAX_COUNT];
|
||||
H3DPOBJECT m_pListener;
|
||||
|
||||
bool m_bInit;
|
||||
};
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user