diff options
Diffstat (limited to 'OpenAL32')
-rw-r--r-- | OpenAL32/Include/alMain.h | 2 | ||||
-rw-r--r-- | OpenAL32/Include/alSource.h | 5 | ||||
-rw-r--r-- | OpenAL32/alSource.c | 6 |
3 files changed, 8 insertions, 5 deletions
diff --git a/OpenAL32/Include/alMain.h b/OpenAL32/Include/alMain.h index c77fa6eb..ab44fa55 100644 --- a/OpenAL32/Include/alMain.h +++ b/OpenAL32/Include/alMain.h @@ -497,7 +497,7 @@ ALboolean IsValidChannels(ALenum type); #define HRIR_BITS (5) #define HRIR_LENGTH (1<<HRIR_BITS) -#define HRIR_LENGTH_MASK (HRIR_LENGTH-1) +#define HRIR_MASK (HRIR_LENGTH-1) void InitHrtf(void); void GetHrtfCoeffs(ALfloat elevation, ALfloat angle, const ALshort **left, const ALshort **right, ALuint *ldelay, ALuint *rdelay); diff --git a/OpenAL32/Include/alSource.h b/OpenAL32/Include/alSource.h index 0572cbc1..e9c50f14 100644 --- a/OpenAL32/Include/alSource.h +++ b/OpenAL32/Include/alSource.h @@ -11,7 +11,7 @@ extern "C" { #endif -#define SRC_HISTORY_BITS (7) +#define SRC_HISTORY_BITS (6) #define SRC_HISTORY_LENGTH (1<<SRC_HISTORY_BITS) #define SRC_HISTORY_MASK (SRC_HISTORY_LENGTH-1) @@ -94,7 +94,8 @@ typedef struct ALsource ALuint SampleSize; /* HRTF info */ - ALfloat HrtfHistory[MAXCHANNELS][SRC_HISTORY_LENGTH][2]; + ALfloat HrtfHistory[MAXCHANNELS][SRC_HISTORY_LENGTH]; + ALfloat HrtfValues[MAXCHANNELS][HRIR_LENGTH][2]; ALuint HrtfOffset; /* Current target parameters used for mixing */ diff --git a/OpenAL32/alSource.c b/OpenAL32/alSource.c index 9486915e..c50e648c 100644 --- a/OpenAL32/alSource.c +++ b/OpenAL32/alSource.c @@ -1382,9 +1382,11 @@ AL_API ALvoid AL_APIENTRY alSourcePlayv(ALsizei n, const ALuint *sources) { ALuint k; for(k = 0;k < SRC_HISTORY_LENGTH;k++) + Source->HrtfHistory[j][k] = 0.0f; + for(k = 0;k < HRIR_LENGTH;k++) { - Source->HrtfHistory[j][k][0] = 0.0f; - Source->HrtfHistory[j][k][1] = 0.0f; + Source->HrtfValues[j][k][0] = 0.0f; + Source->HrtfValues[j][k][1] = 0.0f; } } Source->HrtfOffset = 0; |