dhewm3/neo/sound/efxlib.h
dhewg bdbee3543c Cleanup EFX code
Add error checking.
Add debug printf()s, enable via EFX_VERBOSE.
2012-01-10 17:45:37 +01:00

47 lines
801 B
C++

/*
*/
#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