]> git.jsancho.org Git - lugaru.git/blobdiff - Source/openal_wrapper.h
BEAUTIFIED ALL SOURCE CODE
[lugaru.git] / Source / openal_wrapper.h
index 08ab1bea3969a76fd0be4efbb6d2a00fac49dea0..a7d6af2c28438f7bc9ab7eecfae87d69c963065a 100644 (file)
@@ -1,8 +1,12 @@
 #ifndef OPENAL_WRAPPER_H
 #define OPENAL_WRAPPER_H
 
-#include "AL/al.h"
-#include "AL/alc.h"
+#ifdef _WIN32
+#include <malloc.h>
+#endif
+
+#include "al.h"
+#include "alc.h"
 
 #include "ogg/ogg.h"
 #include "vorbis/vorbisfile.h"
 
 
 typedef struct OPENAL_SAMPLE    OPENAL_SAMPLE;
-typedef struct OPENAL_STREAM    OPENAL_STREAM;
+typedef OPENAL_SAMPLE    OPENAL_STREAM;
 typedef struct OPENAL_DSPUNIT   OPENAL_DSPUNIT;
 
-enum OPENAL_OUTPUTTYPES
-{
-       OPENAL_OUTPUT_NOSOUND,    /* NoSound driver, all calls to this succeed but do nothing. */
-       OPENAL_OUTPUT_OSS,        /* Linux/Unix OSS (Open Sound System) driver, i.e. the kernel sound drivers. */
-       OPENAL_OUTPUT_ALSA,       /* Linux Alsa driver. */
+enum OPENAL_OUTPUTTYPES {
+    OPENAL_OUTPUT_NOSOUND,    /* NoSound driver, all calls to this succeed but do nothing. */
+    OPENAL_OUTPUT_OSS,        /* Linux/Unix OSS (Open Sound System) driver, i.e. the kernel sound drivers. */
+    OPENAL_OUTPUT_ALSA,       /* Linux Alsa driver. */
 };
 
 #define OPENAL_LOOP_OFF      0x00000001  /* For non looping samples. */
@@ -61,44 +64,30 @@ enum OPENAL_OUTPUTTYPES
 extern "C" {
 #endif
 
-AL_API void OPENAL_3D_Listener_SetAttributes(const float *pos, const float *vel, float fx, float fy, float fz, float tx, float ty, float tz);
-AL_API signed char OPENAL_3D_SetAttributes(int channel, const float *pos, const float *vel);
-AL_API void OPENAL_3D_SetDopplerFactor(float scale);
-AL_API signed char OPENAL_Init(int mixrate, int maxsoftwarechannels, unsigned int flags);
-AL_API void OPENAL_Close();
-AL_API OPENAL_SAMPLE *OPENAL_GetCurrentSample(int channel);
-AL_API signed char OPENAL_GetPaused(int channel);
-AL_API unsigned int OPENAL_GetLoopMode(int channel);
-AL_API signed char OPENAL_IsPlaying(int channel);
-AL_API int OPENAL_PlaySoundEx(int channel, OPENAL_SAMPLE *sptr, OPENAL_DSPUNIT *dsp, signed char startpaused);
-AL_API OPENAL_SAMPLE *OPENAL_Sample_Load(int index, const char *name_or_data, unsigned int mode, int offset, int length);
-AL_API void OPENAL_Sample_Free(OPENAL_SAMPLE *sptr);
-AL_API signed char OPENAL_Sample_SetMode(OPENAL_SAMPLE *sptr, unsigned int mode);
-AL_API signed char OPENAL_Sample_SetMinMaxDistance(OPENAL_SAMPLE *sptr, float mindist, float maxdist);
-AL_API signed char OPENAL_SetFrequency(int channel, int freq);
-AL_API signed char OPENAL_SetVolume(int channel, int vol);
-AL_API signed char OPENAL_SetPaused(int channel, signed char paused);
-AL_API void OPENAL_SetSFXMasterVolume(int volume);
-AL_API signed char OPENAL_StopSound(int channel);
-AL_API OPENAL_STREAM *OPENAL_Stream_Open(const char *name_or_data, unsigned int mode, int offset, int length);
-AL_API signed char OPENAL_Stream_Close(OPENAL_STREAM *stream);
-AL_API OPENAL_SAMPLE *OPENAL_Stream_GetSample(OPENAL_STREAM *stream);
-AL_API int OPENAL_Stream_PlayEx(int channel, OPENAL_STREAM *stream, OPENAL_DSPUNIT *dsp, signed char startpaused);
-AL_API signed char OPENAL_Stream_Stop(OPENAL_STREAM *stream);
-AL_API signed char OPENAL_Stream_SetMode(OPENAL_STREAM *stream, unsigned int mode);
-AL_API void OPENAL_Update();
-AL_API signed char OPENAL_SetOutput(int outputtype);
+#undef AL_API
+#define AL_API
+
+    AL_API void OPENAL_3D_Listener_SetAttributes(const float *pos, const float *vel, float fx, float fy, float fz, float tx, float ty, float tz);
+    AL_API signed char OPENAL_3D_SetAttributes(int channel, const float *pos, const float *vel);
+    AL_API signed char OPENAL_3D_SetAttributes_(int channel, const XYZ &pos, const float *vel);
+    AL_API signed char OPENAL_Init(int mixrate, int maxsoftwarechannels, unsigned int flags);
+    AL_API void OPENAL_Close();
+    AL_API OPENAL_SAMPLE *OPENAL_Sample_Load(int index, const char *name_or_data, unsigned int mode, int offset, int length);
+    AL_API void OPENAL_Sample_Free(OPENAL_SAMPLE *sptr);
+    AL_API signed char OPENAL_SetFrequency(int channel, int freq);
+    AL_API signed char OPENAL_SetVolume(int channel, int vol);
+    AL_API signed char OPENAL_SetPaused(int channel, signed char paused);
+    AL_API void OPENAL_SetSFXMasterVolume(int volume);
+    AL_API signed char OPENAL_StopSound(int channel);
+    AL_API void OPENAL_Stream_Close(OPENAL_STREAM *stream);
+    AL_API signed char OPENAL_Stream_SetMode(OPENAL_STREAM *stream, unsigned int mode);
+    AL_API void OPENAL_Update();
+    AL_API signed char OPENAL_SetOutput(int outputtype);
+    void PlaySoundEx(int chan, OPENAL_SAMPLE *sptr, OPENAL_DSPUNIT *dsp, signed char startpaused);
+    void PlayStreamEx(int chan, OPENAL_SAMPLE *sptr, OPENAL_DSPUNIT *dsp, signed char startpaused);
 
 #ifdef __cplusplus
 }
 #endif
 
-#if USE_OPENAL
-#  define OPENAL_Sample_LoadEx(a, b, c, d, e) OPENAL_Sample_Load( a, ConvertFileName( b), c, d, e)
-#  define OPENAL_Stream_OpenEx(a, b, c, d) OPENAL_Stream_Open(ConvertFileName(a), b, c, d)
-#elif !PLATFORM_MACOSX
-#  define OPENAL_Sample_LoadEx(a, b, c, d, e) FSOUND_Sample_Load( a, ConvertFileName( b), c, d, e)
-#  define OPENAL_Stream_OpenEx(a, b, c, d) FSOUND_Stream_Open(ConvertFileName(a), b, c, d)
-#endif
-
 #endif