]> icculus.org git repositories - icculus/iodoom3.git/blob - neo/openal/include/efxlib.h
hello world
[icculus/iodoom3.git] / neo / openal / include / efxlib.h
1 /*
2 */
3
4 #ifndef __EFXLIBH
5 #define __EFXLIBH
6
7 #include "eax4.h"
8
9
10
11
12 ///////////////////////////////////////////////////////////
13 // Class definitions.
14 class idSoundEffect
15 {
16 public:
17         idSoundEffect() {
18         };
19         ~idSoundEffect() { 
20                 if ( data && datasize ) {
21                         Mem_Free( data );
22                         data = NULL;
23                 }
24         }
25         
26         idStr name;
27         int datasize;
28         void *data;
29 };
30
31 class idEFXFile
32 {
33 private:
34
35 protected:
36     // Protected data members.
37
38 public:
39     // Public data members.
40
41 private:
42     
43 public:
44         idEFXFile();
45         ~idEFXFile();
46
47         bool FindEffect( idStr &name, idSoundEffect **effect, int *index );
48         bool ReadEffect( idLexer &lexer, idSoundEffect *effect );
49         bool LoadFile( const char *filename, bool OSPath = false );
50         void UnloadFile( void );
51         void Clear( void );
52
53         idList<idSoundEffect *>effects;
54 };
55 ///////////////////////////////////////////////////////////
56
57
58
59
60 #endif // __EFXLIBH
61