#include <stdlib.h>
#include <string.h>
+#include "Quaternions.h"
#include "openal_wrapper.h"
#include "Sounds.h"
return true;
}
+AL_API signed char OPENAL_3D_SetAttributes_(int channel, const XYZ &pos, const float *vel)
+{
+ if (!initialized) return false;
+ if ((channel < 0) || (channel >= num_channels)) return false;
+
+ set_channel_position(channel, pos.x, pos.y, -pos.z);
+
+ return true;
+}
+
AL_API signed char OPENAL_Init(int mixrate, int maxsoftwarechannels, unsigned int flags)
{
if (initialized) return false;
initialized = false;
}
-AL_API OPENAL_SAMPLE *OPENAL_GetCurrentSample(int channel)
+static OPENAL_SAMPLE *OPENAL_GetCurrentSample(int channel)
{
if (!initialized) return NULL;
if ((channel < 0) || (channel >= num_channels)) return NULL;
return impl_channels[channel].sample;
}
-AL_API signed char OPENAL_GetPaused(int channel)
+static signed char OPENAL_GetPaused(int channel)
{
if (!initialized) return false;
if ((channel < 0) || (channel >= num_channels)) return false;
return((state == AL_PAUSED) ? true : false);
}
-AL_API unsigned int OPENAL_GetLoopMode(int channel)
+static unsigned int OPENAL_GetLoopMode(int channel)
{
if (!initialized) return 0;
if ((channel < 0) || (channel >= num_channels)) return 0;
return OPENAL_LOOP_OFF;
}
-AL_API signed char OPENAL_IsPlaying(int channel)
+static signed char OPENAL_IsPlaying(int channel)
{
if (!initialized) return false;
if ((channel < 0) || (channel >= num_channels)) return false;
return((state == AL_PLAYING) ? true : false);
}
-AL_API int OPENAL_PlaySoundEx(int channel, OPENAL_SAMPLE *sptr, OPENAL_DSPUNIT *dsp, signed char startpaused)
+static int OPENAL_PlaySoundEx(int channel, OPENAL_SAMPLE *sptr, OPENAL_DSPUNIT *dsp, signed char startpaused)
{
if (!initialized) return -1;
if (sptr == NULL) return -1;
}
}
-AL_API signed char OPENAL_Sample_SetMode(OPENAL_SAMPLE *sptr, unsigned int mode)
+static signed char OPENAL_Sample_SetMode(OPENAL_SAMPLE *sptr, unsigned int mode)
{
if (!initialized) return false;
if ((mode != OPENAL_LOOP_NORMAL) && (mode != OPENAL_LOOP_OFF)) return false;
OPENAL_Sample_Free((OPENAL_SAMPLE *) stream);
}
-AL_API OPENAL_SAMPLE *OPENAL_Stream_GetSample(OPENAL_STREAM *stream)
+static OPENAL_SAMPLE *OPENAL_Stream_GetSample(OPENAL_STREAM *stream)
{
if (!initialized) return NULL;
return (OPENAL_SAMPLE *) stream;
}
-AL_API int OPENAL_Stream_PlayEx(int channel, OPENAL_STREAM *stream, OPENAL_DSPUNIT *dsp, signed char startpaused)
+static int OPENAL_Stream_PlayEx(int channel, OPENAL_STREAM *stream, OPENAL_DSPUNIT *dsp, signed char startpaused)
{
return OPENAL_PlaySoundEx(channel, (OPENAL_SAMPLE *) stream, dsp, startpaused);
}
-AL_API signed char OPENAL_Stream_Stop(OPENAL_STREAM *stream)
+static signed char OPENAL_Stream_Stop(OPENAL_STREAM *stream)
{
if (!initialized) return false;
for (int i = 0; i < num_channels; i++)
return true;
}
-extern int channels[100];
-extern OPENAL_STREAM * strm[20];
+extern int channels[];
extern "C" void PlaySoundEx(int chan, OPENAL_SAMPLE *sptr, OPENAL_DSPUNIT *dsp, signed char startpaused)
{