blob: c59c48ac7aef726d160c8be2290e34138cf1bf66 [file] [log] [blame]
--- doomsday/plugins/openal/src/driver_openal.cpp 2012-05-15 06:01:38.000000000 +0200
+++ doomsday/plugins/openal/src/driver_openal.cpp 2012-05-29 07:37:21.170639342 +0200
@@ -66,6 +66,7 @@ ALenum(*EAXGet) (const struct _GUID* pro
ALenum(*EAXSet) (const struct _GUID* propertySetID, ALuint prop, ALuint source, ALvoid* value, ALuint size);
#endif
+extern "C" {
int DS_Init(void);
void DS_Shutdown(void);
void DS_Event(int type);
@@ -83,6 +84,7 @@ void DS_SFX_Setv(sfxbuffer_t* buf, int p
void DS_SFX_Listener(int prop, float value);
void DS_SFX_Listenerv(int prop, float* values);
int DS_SFX_Getv(int prop, void* values);
+}
#ifdef WIN32
// EAX 2.0 GUIDs
@@ -134,14 +136,14 @@ static void loadExtensions(void)
#endif
}
-int DS_Init(void)
+extern "C" int DS_Init(void)
{
// Already initialized?
if(initOk) return true;
// Open a playback device.
/// @todo Shouldn't we use the system default device?
- device = alcOpenDevice((ALCchar*) "DirectSound3D");
+ device = alcOpenDevice((ALCchar*) NULL);
if(!device)
{
Con_Message("OpenAL init failed (device: DirectSound3D).\n");
@@ -167,7 +169,7 @@ int DS_Init(void)
return true;
}
-void DS_Shutdown(void)
+extern "C" void DS_Shutdown(void)
{
if(!initOk) return;
@@ -185,12 +187,12 @@ void DS_Event(int /*type*/)
// Not supported.
}
-int DS_SFX_Init(void)
+extern "C" int DS_SFX_Init(void)
{
return true;
}
-sfxbuffer_t* DS_SFX_CreateBuffer(int flags, int bits, int rate)
+extern "C" sfxbuffer_t* DS_SFX_CreateBuffer(int flags, int bits, int rate)
{
sfxbuffer_t* buf;
ALuint bufName, srcName;
@@ -236,7 +238,7 @@ sfxbuffer_t* DS_SFX_CreateBuffer(int fla
return buf;
}
-void DS_SFX_DestroyBuffer(sfxbuffer_t* buf)
+extern "C" void DS_SFX_DestroyBuffer(sfxbuffer_t* buf)
{
ALuint srcName, bufName;
@@ -251,7 +253,7 @@ void DS_SFX_DestroyBuffer(sfxbuffer_t* b
Z_Free(buf);
}
-void DS_SFX_Load(sfxbuffer_t* buf, struct sfxsample_s* sample)
+extern "C" void DS_SFX_Load(sfxbuffer_t* buf, struct sfxsample_s* sample)
{
if(!buf || !sample) return;
@@ -277,7 +279,7 @@ void DS_SFX_Load(sfxbuffer_t* buf, struc
/**
* Stops the buffer and makes it forget about its sample.
*/
-void DS_SFX_Reset(sfxbuffer_t* buf)
+extern "C" void DS_SFX_Reset(sfxbuffer_t* buf)
{
if(!buf) return;
@@ -285,7 +287,7 @@ void DS_SFX_Reset(sfxbuffer_t* buf)
buf->sample = NULL;
}
-void DS_SFX_Play(sfxbuffer_t* buf)
+extern "C" void DS_SFX_Play(sfxbuffer_t* buf)
{
ALuint source;
@@ -310,7 +312,7 @@ void DS_SFX_Play(sfxbuffer_t* buf)
buf->flags |= SFXBF_PLAYING;
}
-void DS_SFX_Stop(sfxbuffer_t* buf)
+extern "C" void DS_SFX_Stop(sfxbuffer_t* buf)
{
if(!buf || !buf->sample) return;
@@ -318,7 +320,7 @@ void DS_SFX_Stop(sfxbuffer_t* buf)
buf->flags &= ~SFXBF_PLAYING;
}
-void DS_SFX_Refresh(sfxbuffer_t* buf)
+extern "C" void DS_SFX_Refresh(sfxbuffer_t* buf)
{
ALint state;
@@ -368,7 +370,7 @@ static void setPan(ALuint source, float
alSourcefv(source, AL_POSITION, pos);
}
-void DS_SFX_Set(sfxbuffer_t* buf, int prop, float value)
+extern "C" void DS_SFX_Set(sfxbuffer_t* buf, int prop, float value)
{
ALuint source;
@@ -411,7 +413,7 @@ void DS_SFX_Set(sfxbuffer_t* buf, int pr
}
}
-void DS_SFX_Setv(sfxbuffer_t* buf, int prop, float* values)
+extern "C" void DS_SFX_Setv(sfxbuffer_t* buf, int prop, float* values)
{
ALuint source;
@@ -435,7 +437,7 @@ void DS_SFX_Setv(sfxbuffer_t* buf, int p
}
}
-void DS_SFX_Listener(int prop, float value)
+extern "C" void DS_SFX_Listener(int prop, float value)
{
switch(prop)
{
@@ -451,7 +453,7 @@ void DS_SFX_Listener(int prop, float val
}
}
-void DS_SFX_Listenerv(int prop, float* values)
+extern "C" void DS_SFX_Listenerv(int prop, float* values)
{
float ori[6];
@@ -489,7 +491,7 @@ void DS_SFX_Listenerv(int prop, float* v
}
}
-int DS_SFX_Getv(int /*prop*/, void* /*values*/)
+extern "C" int DS_SFX_Getv(int /*prop*/, void* /*values*/)
{
// Stub.
return 0;