Restructure repository to include all source folders
Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
87
GameTools/SoundLib/DefineSound.h
Normal file
87
GameTools/SoundLib/DefineSound.h
Normal file
@@ -0,0 +1,87 @@
|
||||
#ifndef DEFINESOUND_H__
|
||||
#define DEFINESOUND_H__
|
||||
|
||||
#include "Common.h"
|
||||
#include <math.h>
|
||||
#include <dsound.h>
|
||||
|
||||
//====================================
|
||||
// Sound Property
|
||||
//====================================
|
||||
#define VOLUME_MIN 0.0001f
|
||||
#define VOLUME_MAX 1.0f
|
||||
#define PAN_LEFT -1.0f
|
||||
#define PAN_CENTER 0.0f
|
||||
#define PAN_RIGHT 1.0f
|
||||
#define PITCH_ORIGINAL 1.0f
|
||||
#define MODE_NORMAL 0x00000000
|
||||
#define MODE_HEADRELATIVE 0x00000001
|
||||
#define MODE_DISABLE 0x00000002
|
||||
|
||||
//====================================
|
||||
// Sound SampleRate
|
||||
//====================================
|
||||
#define SOUND_SAMPLE_11k 11025
|
||||
#define SOUND_SAMPLE_22k 22050
|
||||
#define SOUND_SAMPLE_44k 44100
|
||||
|
||||
//====================================
|
||||
// 3DSound Algorithm
|
||||
//====================================
|
||||
#define SOUND_ALGORITHM_NO DS3DALG_NO_VIRTUALIZATION
|
||||
#define SOUND_ALGORITHM_FULL DS3DALG_HRTF_FULL
|
||||
#define SOUND_ALGORITHM_LIGHT DS3DALG_HRTF_LIGHT
|
||||
|
||||
//====================================
|
||||
// Sound Creation Flag
|
||||
//====================================
|
||||
#define SOUND_FLAG_3D DSBCAPS_CTRL3D|DSBCAPS_GETCURRENTPOSITION2|DSBCAPS_CTRLVOLUME|DSBCAPS_MUTE3DATMAXDISTANCE
|
||||
#define SOUND_FLAG_2D DSBCAPS_CTRLVOLUME|DSBCAPS_GETCURRENTPOSITION2
|
||||
|
||||
//====================================
|
||||
// Macro
|
||||
//====================================
|
||||
#define SAFE_DELETE(p) { if(p) { delete (p); (p)=NULL; } }
|
||||
#define SAFE_DELETE_ARRAY(p) { if(p) { delete[] (p); (p)=NULL; } }
|
||||
#define SAFE_RELEASE(p) { if(p) { (p)->Release(); (p)=NULL; } }
|
||||
|
||||
//====================================
|
||||
// Util Function
|
||||
//====================================
|
||||
static int LinearToLogVol(double fLevel)
|
||||
{
|
||||
// Clamp the value
|
||||
if(fLevel <= 0.0f)
|
||||
return DSBVOLUME_MIN;
|
||||
else if(fLevel >= 1.0f)
|
||||
return 0;
|
||||
return (long) (-2000.0 * log10(1.0f / fLevel));
|
||||
}
|
||||
|
||||
static float LogToLinearVol(int iLevel)
|
||||
{
|
||||
// Clamp the value
|
||||
if(iLevel <= -9600)
|
||||
return 0.0f;
|
||||
else if(iLevel >= 0)
|
||||
return 1.0f;
|
||||
return pow((float)10, (float)(double(iLevel + 2000) / 2000.0f)) / 10.0f;
|
||||
}
|
||||
|
||||
template <class T>
|
||||
inline T Clamp(T var, T min, T max )
|
||||
{
|
||||
if( var < min ) var = min;
|
||||
if( var > max ) var = max;
|
||||
return var;
|
||||
}
|
||||
|
||||
template<class _Ty>
|
||||
struct ptr_less : std::binary_function<_Ty, _Ty, bool>
|
||||
{
|
||||
bool operator()(const _Ty& _X, const _Ty& _Y) const
|
||||
{ return (*_X < *_Y); }
|
||||
};
|
||||
|
||||
|
||||
#endif //DEFINESOUND_H__
|
||||
Reference in New Issue
Block a user