00001 #ifndef _FRAMEWORK_H_ // Win32 version 00002 #define _FRAMEWORK_H_ 00003 00004 // Get some classic includes 00005 /*#include <REAL.h> 00006 #include <Windows.h> 00007 #include <stdio.h> 00008 #include <io.h> 00009 #include <fcntl.h> 00010 #include <conio.h> 00011 #if defined(_MSC_VER) 00012 #include <al.h> 00013 #include <alc.h> 00014 #include <efx.h> 00015 #include <efx-creative.h> 00016 #include <xram.h> 00017 #elif defined(__APPLE__) 00018 #include <OpenAL/alc.h> 00019 #include <OpenAL/al.h> 00020 #include <OpenAL/efx.h> 00021 #include <OpenAL/xram.h> 00022 #else 00023 #include <AL/al.h> 00024 #include <AL/alc.h> 00025 #include <AL/efx.h> 00026 #include <AL/xram.h> 00027 #endif*/ 00028 00029 // Initialization and shutdown 00030 void ALFWInit(int maxSounds); 00031 void ALFWUninit(void); 00032 void ALFWShutdown(); 00033 00034 // OpenAL initialization and shutdown 00035 ALboolean ALFWInitOpenAL(); 00036 ALboolean ALFWShutdownOpenAL(); 00037 00038 // File loading functions 00039 ALboolean ALFWLoadWaveToBuffer(const rchar *szWaveFile, ALuint uiBufferID, ALenum eXRAMBufferMode = 0); 00040 00041 // Extension Queries 00042 ALboolean ALFWIsXRAMSupported(); 00043 ALboolean ALFWIsEFXSupported(); 00044 00045 00046 // Utilities 00047 //ALvoid ALFWprintf( const ALchar * x, ... ); 00048 //ALchar *ALFWaddMediaPath(const ALchar *filename); 00049 //ALint ALFWKeyPress(void); 00050 00051 // EFX Extension function pointer variables 00052 00053 // Effect objects 00054 extern LPALGENEFFECTS alGenEffects; 00055 extern LPALDELETEEFFECTS alDeleteEffects; 00056 extern LPALISEFFECT alIsEffect; 00057 extern LPALEFFECTI alEffecti; 00058 extern LPALEFFECTIV alEffectiv; 00059 extern LPALEFFECTF alEffectf; 00060 extern LPALEFFECTFV alEffectfv; 00061 extern LPALGETEFFECTI alGetEffecti; 00062 extern LPALGETEFFECTIV alGetEffectiv; 00063 extern LPALGETEFFECTF alGetEffectf; 00064 extern LPALGETEFFECTFV alGetEffectfv; 00065 00066 // Filter objects 00067 extern LPALGENFILTERS alGenFilters; 00068 extern LPALDELETEFILTERS alDeleteFilters; 00069 extern LPALISFILTER alIsFilter; 00070 extern LPALFILTERI alFilteri; 00071 extern LPALFILTERIV alFilteriv; 00072 extern LPALFILTERF alFilterf; 00073 extern LPALFILTERFV alFilterfv; 00074 extern LPALGETFILTERI alGetFilteri; 00075 extern LPALGETFILTERIV alGetFilteriv; 00076 extern LPALGETFILTERF alGetFilterf; 00077 extern LPALGETFILTERFV alGetFilterfv; 00078 00079 // Auxiliary slot object 00080 extern LPALGENAUXILIARYEFFECTSLOTS alGenAuxiliaryEffectSlots; 00081 extern LPALDELETEAUXILIARYEFFECTSLOTS alDeleteAuxiliaryEffectSlots; 00082 extern LPALISAUXILIARYEFFECTSLOT alIsAuxiliaryEffectSlot; 00083 extern LPALAUXILIARYEFFECTSLOTI alAuxiliaryEffectSloti; 00084 extern LPALAUXILIARYEFFECTSLOTIV alAuxiliaryEffectSlotiv; 00085 extern LPALAUXILIARYEFFECTSLOTF alAuxiliaryEffectSlotf; 00086 extern LPALAUXILIARYEFFECTSLOTFV alAuxiliaryEffectSlotfv; 00087 extern LPALGETAUXILIARYEFFECTSLOTI alGetAuxiliaryEffectSloti; 00088 extern LPALGETAUXILIARYEFFECTSLOTIV alGetAuxiliaryEffectSlotiv; 00089 extern LPALGETAUXILIARYEFFECTSLOTF alGetAuxiliaryEffectSlotf; 00090 extern LPALGETAUXILIARYEFFECTSLOTFV alGetAuxiliaryEffectSlotfv; 00091 00092 // XRAM Extension function pointer variables and enum values 00093 00094 typedef ALboolean (__cdecl *LPEAXSETBUFFERMODE)(ALsizei n, ALuint *buffers, ALint value); 00095 typedef ALenum (__cdecl *LPEAXGETBUFFERMODE)(ALuint buffer, ALint *value); 00096 00097 extern LPEAXSETBUFFERMODE eaxSetBufferMode; 00098 extern LPEAXGETBUFFERMODE eaxGetBufferMode; 00099 00100 // X-RAM Enum values 00101 extern ALenum eXRAMSize, eXRAMFree; 00102 extern ALenum eXRAMAuto, eXRAMHardware, eXRAMAccessible; 00103 00104 #endif _FRAMEWORK_H_