1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
/*
*/
#ifndef __EFXLIBH
#define __EFXLIBH
#include "idlib/containers/List.h"
#include "idlib/Str.h"
#include "idlib/Lexer.h"
#include "idlib/Heap.h"
#include "framework/Common.h"
#include "sound/sound.h"
#define EFX_VERBOSE 0
#if EFX_VERBOSE
#define EFXprintf(...) do { common->Printf(__VA_ARGS__); } while (false)
#else
#define EFXprintf(...) do { } while (false)
#endif
struct idSoundEffect {
idSoundEffect();
~idSoundEffect();
bool alloc();
idStr name;
ALuint effect;
};
class idEFXFile {
public:
idEFXFile();
~idEFXFile();
bool FindEffect( idStr &name, ALuint *effect );
bool LoadFile( const char *filename, bool OSPath = false );
void Clear( void );
private:
bool ReadEffect( idLexer &lexer, idSoundEffect *effect );
idList<idSoundEffect *>effects;
};
#endif // __EFXLIBH
|