diff --git a/Python/PRP/Audio/pyEAXListenerMod.cpp b/Python/PRP/Audio/pyEAXListenerMod.cpp index 101ae377..99f6f417 100644 --- a/Python/PRP/Audio/pyEAXListenerMod.cpp +++ b/Python/PRP/Audio/pyEAXListenerMod.cpp @@ -19,6 +19,7 @@ #include #include "PRP/Modifier/pyModifier.h" #include "PRP/KeyedObject/pyKey.h" +#include <3rdPartyLibs/AL/EFX-Util.h> #include <3rdPartyLibs/AL/efx-unofficial.h> PY_PLASMA_NEW(EAXListenerMod, plEAXListenerMod) diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt index fc2a079e..061238bb 100644 --- a/core/CMakeLists.txt +++ b/core/CMakeLists.txt @@ -98,6 +98,7 @@ set(PRP_AUDIO_HEADERS PRP/Audio/plDirectMusicSound.h PRP/Audio/plEAXEffects.h PRP/Audio/plEAXListenerMod.h + PRP/Audio/plEAXStructures.h PRP/Audio/plSound.h PRP/Audio/plSoundBuffer.h PRP/Audio/plWin32Sound.h diff --git a/core/PRP/Audio/plEAXListenerMod.h b/core/PRP/Audio/plEAXListenerMod.h index d4862717..49851db4 100644 --- a/core/PRP/Audio/plEAXListenerMod.h +++ b/core/PRP/Audio/plEAXListenerMod.h @@ -17,9 +17,9 @@ #ifndef _PLEAXLISTENERMOD_H #define _PLEAXLISTENERMOD_H +#include "plEAXStructures.h" #include "PRP/Modifier/plModifier.h" #include "Math/hsGeometry3.h" -#include "3rdPartyLibs/AL/EFX-Util.h" class HSPLASMA_EXPORT plEAXListenerMod : public plSingleModifier { diff --git a/core/PRP/Audio/plEAXStructures.h b/core/PRP/Audio/plEAXStructures.h new file mode 100644 index 00000000..fecc101e --- /dev/null +++ b/core/PRP/Audio/plEAXStructures.h @@ -0,0 +1,43 @@ +// Subset of 3rdPartyLibs/AL/EFX-Util.h containing only the structures +// used in the public API of plEAXListenerMod. + +#ifndef EAXVECTOR_DEFINED +#define EAXVECTOR_DEFINED +typedef struct _EAXVECTOR +{ + float x; + float y; + float z; +} EAXVECTOR; +#endif + +#ifndef EAXREVERBPROPERTIES_DEFINED +#define EAXREVERBPROPERTIES_DEFINED +typedef struct _EAXREVERBPROPERTIES +{ + unsigned long ulEnvironment; + float flEnvironmentSize; + float flEnvironmentDiffusion; + long lRoom; + long lRoomHF; + long lRoomLF; + float flDecayTime; + float flDecayHFRatio; + float flDecayLFRatio; + long lReflections; + float flReflectionsDelay; + EAXVECTOR vReflectionsPan; + long lReverb; + float flReverbDelay; + EAXVECTOR vReverbPan; + float flEchoTime; + float flEchoDepth; + float flModulationTime; + float flModulationDepth; + float flAirAbsorptionHF; + float flHFReference; + float flLFReference; + float flRoomRolloffFactor; + unsigned long ulFlags; +} EAXREVERBPROPERTIES, *LPEAXREVERBPROPERTIES; +#endif