#ifndef _FRAMEWORK_H_ // Win32 version #define _FRAMEWORK_H_ // Get some classic includes #include #include #include #include #include #include"al.h" #include"alc.h" #include"efx.h" #include"efx-creative.h" #include"xram.h" // Initialization and shutdown void ALFWInit(); void ALFWShutdown(); // OpenAL initialization and shutdown ALboolean ALFWInitOpenAL(); ALboolean ALFWShutdownOpenAL(); // File loading functions ALboolean ALFWLoadWaveToBuffer(const char *szWaveFile, ALuint uiBufferID, ALenum eXRAMBufferMode = 0); // Extension Queries ALboolean ALFWIsXRAMSupported(); ALboolean ALFWIsEFXSupported(); // Utilities ALvoid ALFWprintf( const ALchar * x, ... ); ALchar *ALFWaddMediaPath(const ALchar *filename); ALint ALFWKeyPress(void); // EFX Extension function pointer variables // Effect objects extern LPALGENEFFECTS alGenEffects; extern LPALDELETEEFFECTS alDeleteEffects; extern LPALISEFFECT alIsEffect; extern LPALEFFECTI alEffecti; extern LPALEFFECTIV alEffectiv; extern LPALEFFECTF alEffectf; extern LPALEFFECTFV alEffectfv; extern LPALGETEFFECTI alGetEffecti; extern LPALGETEFFECTIV alGetEffectiv; extern LPALGETEFFECTF alGetEffectf; extern LPALGETEFFECTFV alGetEffectfv; // Filter objects extern LPALGENFILTERS alGenFilters; extern LPALDELETEFILTERS alDeleteFilters; extern LPALISFILTER alIsFilter; extern LPALFILTERI alFilteri; extern LPALFILTERIV alFilteriv; extern LPALFILTERF alFilterf; extern LPALFILTERFV alFilterfv; extern LPALGETFILTERI alGetFilteri; extern LPALGETFILTERIV alGetFilteriv; extern LPALGETFILTERF alGetFilterf; extern LPALGETFILTERFV alGetFilterfv; // Auxiliary slot object extern LPALGENAUXILIARYEFFECTSLOTS alGenAuxiliaryEffectSlots; extern LPALDELETEAUXILIARYEFFECTSLOTS alDeleteAuxiliaryEffectSlots; extern LPALISAUXILIARYEFFECTSLOT alIsAuxiliaryEffectSlot; extern LPALAUXILIARYEFFECTSLOTI alAuxiliaryEffectSloti; extern LPALAUXILIARYEFFECTSLOTIV alAuxiliaryEffectSlotiv; extern LPALAUXILIARYEFFECTSLOTF alAuxiliaryEffectSlotf; extern LPALAUXILIARYEFFECTSLOTFV alAuxiliaryEffectSlotfv; extern LPALGETAUXILIARYEFFECTSLOTI alGetAuxiliaryEffectSloti; extern LPALGETAUXILIARYEFFECTSLOTIV alGetAuxiliaryEffectSlotiv; extern LPALGETAUXILIARYEFFECTSLOTF alGetAuxiliaryEffectSlotf; extern LPALGETAUXILIARYEFFECTSLOTFV alGetAuxiliaryEffectSlotfv; // XRAM Extension function pointer variables and enum values typedef ALboolean (__cdecl *LPEAXSETBUFFERMODE)(ALsizei n, ALuint *buffers, ALint value); typedef ALenum (__cdecl *LPEAXGETBUFFERMODE)(ALuint buffer, ALint *value); extern LPEAXSETBUFFERMODE eaxSetBufferMode; extern LPEAXGETBUFFERMODE eaxGetBufferMode; // X-RAM Enum values extern ALenum eXRAMSize, eXRAMFree; extern ALenum eXRAMAuto, eXRAMHardware, eXRAMAccessible; #endif _FRAMEWORK_H_