OpenBarnyard
 
Loading...
Searching...
No Matches
AWaveBank.h
Go to the documentation of this file.
1#pragma once
2#include "AWave.h"
3
4#include <Toshi/TPString8.h>
5
6TDECLARE_POINTER_HANDLE( AWaveBankFileHandle );
7
8class PBProperties;
9
11{
12public:
19
21 {
24 };
25
27 {
29 };
30
31public:
32 AWaveBank( const Toshi::TPString8& a_strBank, const Toshi::TPString8& a_strPath, TBOOL a_bSetFrequency );
33
34 virtual TBOOL IsReady() const = 0;
35 virtual LOADRESULT Load( LOADFLAGS a_uiFlags, TINT a_iBufferSize ) = 0;
36 virtual UNLOADRESULT Unload() = 0;
37 virtual AWaveSampleHandle GetWaveSample( TINT a_iWaveIndex, TINT a_iUnused ) const;
38 virtual void ResetWave( TINT a_iWaveIndex ); // empty in the original
39 virtual ~AWaveBank();
40
41 AWave* GetWave( TINT a_iWaveIndex );
42 TINT GetWaveId( TINT a_iWaveIndex );
43 TINT GetWaveFrequency( TINT a_iWaveIndex );
44
45 // Creates wave sample if it's not created and returns it
46 AWaveSampleHandle CreateWaveSample( TINT a_iWaveIndex, TINT a_iUnused );
47
48 void SetWaveFlag1( TINT a_iWaveIndex );
49 void SetWaveFlag2( TINT a_iWaveIndex );
50
51 void ParseWavesData( const PBProperties* a_pBankProperties, TUINT a_uiForcedFlags );
52
53protected:
56 Toshi::TPString8 m_strBank;
57 Toshi::TPString8 m_strPath;
58 Toshi::TPString8 m_strExtension;
61 AWaveBankFileHandle m_FileHandle;
62};
#define BITFLAG(x)
Definition Defines.h:10
#define TDECLARE_POINTER_HANDLE(NAME)
Definition Defines.h:84
unsigned int TUINT
Definition Typedefs.h:8
uint32_t TUINT32
Definition Typedefs.h:13
int TINT
Definition Typedefs.h:7
bool TBOOL
Definition Typedefs.h:6
Definition AWave.h:6
Toshi::TPString8 m_strBank
Definition AWaveBank.h:56
virtual LOADRESULT Load(LOADFLAGS a_uiFlags, TINT a_iBufferSize)=0
AWave * m_pWaves
Definition AWaveBank.h:60
TINT GetWaveFrequency(TINT a_iWaveIndex)
Definition AWaveBank.cpp:59
@ UNLOADRESULT_OK
Definition AWaveBank.h:28
virtual void ResetWave(TINT a_iWaveIndex)
Definition AWaveBank.cpp:37
TUINT32 LOADFLAGS
Definition AWaveBank.h:13
AWaveSampleHandle CreateWaveSample(TINT a_iWaveIndex, TINT a_iUnused)
Definition AWaveBank.cpp:65
virtual AWaveSampleHandle GetWaveSample(TINT a_iWaveIndex, TINT a_iUnused) const
Definition AWaveBank.cpp:31
TBOOL m_bSetFrequency
Definition AWaveBank.h:59
AWaveBankFileHandle m_FileHandle
Definition AWaveBank.h:61
virtual ~AWaveBank()
Definition AWaveBank.cpp:41
TINT m_iNumWaves
Definition AWaveBank.h:54
void SetWaveFlag1(TINT a_iWaveIndex)
Definition AWaveBank.cpp:77
virtual UNLOADRESULT Unload()=0
Toshi::TPString8 m_strPath
Definition AWaveBank.h:57
virtual TBOOL IsReady() const =0
Toshi::TPString8 m_strExtension
Definition AWaveBank.h:58
@ LOADRESULT_OK
Definition AWaveBank.h:23
@ LOADRESULT_ERR
Definition AWaveBank.h:22
@ LOADFLAGS_LOCALISE
Definition AWaveBank.h:17
@ LOADFLAGS_NONE
Definition AWaveBank.h:16
TINT GetWaveId(TINT a_iWaveIndex)
Definition AWaveBank.cpp:53
void ParseWavesData(const PBProperties *a_pBankProperties, TUINT a_uiForcedFlags)
Definition AWaveBank.cpp:91
AWave * GetWave(TINT a_iWaveIndex)
Definition AWaveBank.cpp:47
AWaveBank(const Toshi::TPString8 &a_strBank, const Toshi::TPString8 &a_strPath, TBOOL a_bSetFrequency)
Definition AWaveBank.cpp:17
void SetWaveFlag2(TINT a_iWaveIndex)
Definition AWaveBank.cpp:84
TINT m_iNumLoads
Definition AWaveBank.h:55