NW4F Snd
Loading...
Searching...
No Matches
nw::snd::internal::SoundArchiveLoader Class Referenceabstract

#include <snd_SoundArchiveLoader.h>

Inherited by nw::snd::internal::PlayerHeapDataManager.

Classes

struct  IndividualWaveInfo

Public Types

enum  LoadFlag {
  LOAD_SEQ = 1 << 0 , LOAD_WSD = 1 << 1 , LOAD_BANK = 1 << 2 , LOAD_WARC = 1 << 3 ,
  LOAD_ALL = 0xFFFFFFFF
}

Public Member Functions

 SoundArchiveLoader ()
virtual ~SoundArchiveLoader ()
bool IsAvailable () const
bool LoadData (SoundArchive::ItemId id, SoundMemoryAllocatable *pAllocator, u32 loadFlag=LOAD_ALL, size_t loadBlockSize=0)
bool LoadData (const char *pItemName, SoundMemoryAllocatable *pAllocator, u32 loadFlag=LOAD_ALL, size_t loadBlockSize=0)
bool IsDataLoaded (SoundArchive::ItemId itemId, u32 loadFlag=LOAD_ALL) const
bool IsDataLoaded (const char *pItemName, u32 loadFlag=LOAD_ALL) const
bool CancelLoading ()
const void * detail_GetFileAddressByItemId (SoundArchive::ItemId itemId) const
bool detail_LoadWaveArchiveByBankFile (const void *bankFile, SoundMemoryAllocatable *pAllocator)
bool detail_LoadWaveArchiveByWaveSoundFile (const void *wsdFile, s32 waveSoundIndex, SoundMemoryAllocatable *pAllocator)

Static Public Attributes

static const u32 SIGNATURE_INDIVIDUAL_WAVE = NW_UT_MAKE_SIGWORD('F', 'I', 'W', 'V')
static const u32 FILE_ALIGNMENT = 64

Protected Member Functions

void SetSoundArchive (const SoundArchive *arc)
const SoundArchive * GetSoundArchive () const
const void * GetFileAddressFromSoundArchive (SoundArchive::FileId fileId) const
virtual const void * SetFileAddressToTable (SoundArchive::FileId fileId, const void *address)=0
virtual const void * GetFileAddressFromTable (SoundArchive::FileId fileId) const =0
virtual const void * GetFileAddressImpl (SoundArchive::FileId fileId) const =0

Private Member Functions

bool LoadSequenceSound (SoundArchive::ItemId soundId, SoundMemoryAllocatable *pAllocator, u32 loadFlag, size_t loadBlockSize)
bool LoadWaveSound (SoundArchive::ItemId soundId, SoundMemoryAllocatable *pAllocator, u32 loadFlag, size_t loadBlockSize, SoundArchive::ItemId waveSoundSetId=SoundArchive::INVALID_ID)
bool LoadBank (SoundArchive::ItemId bankId, SoundMemoryAllocatable *pAllocator, u32 loadFlag, size_t loadBlockSize)
bool LoadWaveArchive (SoundArchive::ItemId warcId, SoundMemoryAllocatable *pAllocator, u32 loadFlag, size_t loadBlockSize)
const void * LoadWaveArchiveTable (SoundArchive::ItemId warcId, SoundMemoryAllocatable *pAllocator, size_t loadBlockSize)
bool LoadIndividualWave (SoundArchive::ItemId warcId, u32 waveIndex, SoundMemoryAllocatable *pAllocator, size_t loadBlockSize)
bool LoadGroup (SoundArchive::ItemId groupId, SoundMemoryAllocatable *pAllocator, size_t loadBlockSize)
bool LoadSoundGroup (SoundArchive::ItemId soundGroupId, SoundMemoryAllocatable *pAllocator, u32 loadFlag, size_t loadBlockSize)
const void * LoadImpl (SoundArchive::FileId fileId, SoundMemoryAllocatable *pAllocator, size_t loadBlockSize, bool needDeviceMemory=false)
bool LoadWaveArchiveImpl (SoundArchive::ItemId warcId, u32 waveIndex, SoundMemoryAllocatable *pAllocator, u32 loadFlag, size_t loadBlockSize=0)
bool PostProcessForLoadedGroupFile (const void *pGroupFile, SoundMemoryAllocatable *pAllocator=NULL, size_t loadBlockSize=0)
bool IsSequenceSoundDataLoaded (SoundArchive::ItemId itemId, u32 loadFlag) const
bool IsWaveSoundDataLoaded (SoundArchive::ItemId itemId, u32 loadFlag) const
bool IsBankDataLoaded (SoundArchive::ItemId itemId, u32 loadFlag) const
bool IsWaveArchiveDataLoaded (SoundArchive::ItemId itemId, u32 waveIndex) const
bool IsGroupDataLoaded (SoundArchive::ItemId itemId) const
bool IsSoundGroupDataLoaded (SoundArchive::ItemId itemId, u32 loadFlag) const
void * LoadFile (SoundArchive::FileId fileId, SoundMemoryAllocatable *allocator, size_t loadBlockSize, bool needDeviceMemory)
s32 ReadFile (SoundArchive::FileId fileId, void *buffer, size_t size, s32 offset, size_t loadBlockSize)
void SetWaveArchiveTableWithSeqInEmbeddedGroup (SoundArchive::ItemId seqId, SoundMemoryAllocatable *pAllocator)
void SetWaveArchiveTableWithBankInEmbeddedGroup (SoundArchive::ItemId bankId, SoundMemoryAllocatable *pAllocator)
void SetWaveArchiveTableWithWsdInEmbeddedGroup (SoundArchive::ItemId wsdId, SoundMemoryAllocatable *pAllocator)
void SetWaveArchiveTableInEmbeddedGroupImpl (SoundArchive::ItemId warcId, SoundMemoryAllocatable *pAllocator)

Private Attributes

const SoundArchive * m_pSoundArchive
u32 m_StreamArea [128]
u16 m_LoadDataCallCount
bool m_IsCancelLoading

Member Enumeration Documentation

◆ LoadFlag

Enumerator
LOAD_SEQ 
LOAD_WSD 
LOAD_BANK 
LOAD_WARC 
LOAD_ALL 

Constructor & Destructor Documentation

◆ SoundArchiveLoader()

nw::snd::internal::SoundArchiveLoader::SoundArchiveLoader ( )

◆ ~SoundArchiveLoader()

virtual nw::snd::internal::SoundArchiveLoader::~SoundArchiveLoader ( )
virtual

Member Function Documentation

◆ IsAvailable()

bool nw::snd::internal::SoundArchiveLoader::IsAvailable ( ) const

◆ LoadData() [1/2]

bool nw::snd::internal::SoundArchiveLoader::LoadData ( SoundArchive::ItemId id,
SoundMemoryAllocatable * pAllocator,
u32 loadFlag = LOAD_ALL,
size_t loadBlockSize = 0 )

◆ LoadData() [2/2]

bool nw::snd::internal::SoundArchiveLoader::LoadData ( const char * pItemName,
SoundMemoryAllocatable * pAllocator,
u32 loadFlag = LOAD_ALL,
size_t loadBlockSize = 0 )

◆ IsDataLoaded() [1/2]

bool nw::snd::internal::SoundArchiveLoader::IsDataLoaded ( SoundArchive::ItemId itemId,
u32 loadFlag = LOAD_ALL ) const

◆ IsDataLoaded() [2/2]

bool nw::snd::internal::SoundArchiveLoader::IsDataLoaded ( const char * pItemName,
u32 loadFlag = LOAD_ALL ) const

◆ CancelLoading()

bool nw::snd::internal::SoundArchiveLoader::CancelLoading ( )

◆ detail_GetFileAddressByItemId()

const void * nw::snd::internal::SoundArchiveLoader::detail_GetFileAddressByItemId ( SoundArchive::ItemId itemId) const

◆ detail_LoadWaveArchiveByBankFile()

bool nw::snd::internal::SoundArchiveLoader::detail_LoadWaveArchiveByBankFile ( const void * bankFile,
SoundMemoryAllocatable * pAllocator )

◆ detail_LoadWaveArchiveByWaveSoundFile()

bool nw::snd::internal::SoundArchiveLoader::detail_LoadWaveArchiveByWaveSoundFile ( const void * wsdFile,
s32 waveSoundIndex,
SoundMemoryAllocatable * pAllocator )

◆ SetSoundArchive()

void nw::snd::internal::SoundArchiveLoader::SetSoundArchive ( const SoundArchive * arc)
protected

◆ GetSoundArchive()

const SoundArchive * nw::snd::internal::SoundArchiveLoader::GetSoundArchive ( ) const
inlineprotected

◆ GetFileAddressFromSoundArchive()

const void * nw::snd::internal::SoundArchiveLoader::GetFileAddressFromSoundArchive ( SoundArchive::FileId fileId) const
protected

◆ SetFileAddressToTable()

virtual const void * nw::snd::internal::SoundArchiveLoader::SetFileAddressToTable ( SoundArchive::FileId fileId,
const void * address )
protectedpure virtual

◆ GetFileAddressFromTable()

virtual const void * nw::snd::internal::SoundArchiveLoader::GetFileAddressFromTable ( SoundArchive::FileId fileId) const
protectedpure virtual

◆ GetFileAddressImpl()

virtual const void * nw::snd::internal::SoundArchiveLoader::GetFileAddressImpl ( SoundArchive::FileId fileId) const
protectedpure virtual

◆ LoadSequenceSound()

bool nw::snd::internal::SoundArchiveLoader::LoadSequenceSound ( SoundArchive::ItemId soundId,
SoundMemoryAllocatable * pAllocator,
u32 loadFlag,
size_t loadBlockSize )
private

◆ LoadWaveSound()

bool nw::snd::internal::SoundArchiveLoader::LoadWaveSound ( SoundArchive::ItemId soundId,
SoundMemoryAllocatable * pAllocator,
u32 loadFlag,
size_t loadBlockSize,
SoundArchive::ItemId waveSoundSetId = SoundArchive::INVALID_ID )
private

◆ LoadBank()

bool nw::snd::internal::SoundArchiveLoader::LoadBank ( SoundArchive::ItemId bankId,
SoundMemoryAllocatable * pAllocator,
u32 loadFlag,
size_t loadBlockSize )
private

◆ LoadWaveArchive()

bool nw::snd::internal::SoundArchiveLoader::LoadWaveArchive ( SoundArchive::ItemId warcId,
SoundMemoryAllocatable * pAllocator,
u32 loadFlag,
size_t loadBlockSize )
private

◆ LoadWaveArchiveTable()

const void * nw::snd::internal::SoundArchiveLoader::LoadWaveArchiveTable ( SoundArchive::ItemId warcId,
SoundMemoryAllocatable * pAllocator,
size_t loadBlockSize )
private

◆ LoadIndividualWave()

bool nw::snd::internal::SoundArchiveLoader::LoadIndividualWave ( SoundArchive::ItemId warcId,
u32 waveIndex,
SoundMemoryAllocatable * pAllocator,
size_t loadBlockSize )
private

◆ LoadGroup()

bool nw::snd::internal::SoundArchiveLoader::LoadGroup ( SoundArchive::ItemId groupId,
SoundMemoryAllocatable * pAllocator,
size_t loadBlockSize )
private

◆ LoadSoundGroup()

bool nw::snd::internal::SoundArchiveLoader::LoadSoundGroup ( SoundArchive::ItemId soundGroupId,
SoundMemoryAllocatable * pAllocator,
u32 loadFlag,
size_t loadBlockSize )
private

◆ LoadImpl()

const void * nw::snd::internal::SoundArchiveLoader::LoadImpl ( SoundArchive::FileId fileId,
SoundMemoryAllocatable * pAllocator,
size_t loadBlockSize,
bool needDeviceMemory = false )
private

◆ LoadWaveArchiveImpl()

bool nw::snd::internal::SoundArchiveLoader::LoadWaveArchiveImpl ( SoundArchive::ItemId warcId,
u32 waveIndex,
SoundMemoryAllocatable * pAllocator,
u32 loadFlag,
size_t loadBlockSize = 0 )
private

◆ PostProcessForLoadedGroupFile()

bool nw::snd::internal::SoundArchiveLoader::PostProcessForLoadedGroupFile ( const void * pGroupFile,
SoundMemoryAllocatable * pAllocator = NULL,
size_t loadBlockSize = 0 )
private

◆ IsSequenceSoundDataLoaded()

bool nw::snd::internal::SoundArchiveLoader::IsSequenceSoundDataLoaded ( SoundArchive::ItemId itemId,
u32 loadFlag ) const
private

◆ IsWaveSoundDataLoaded()

bool nw::snd::internal::SoundArchiveLoader::IsWaveSoundDataLoaded ( SoundArchive::ItemId itemId,
u32 loadFlag ) const
private

◆ IsBankDataLoaded()

bool nw::snd::internal::SoundArchiveLoader::IsBankDataLoaded ( SoundArchive::ItemId itemId,
u32 loadFlag ) const
private

◆ IsWaveArchiveDataLoaded()

bool nw::snd::internal::SoundArchiveLoader::IsWaveArchiveDataLoaded ( SoundArchive::ItemId itemId,
u32 waveIndex ) const
private

◆ IsGroupDataLoaded()

bool nw::snd::internal::SoundArchiveLoader::IsGroupDataLoaded ( SoundArchive::ItemId itemId) const
private

◆ IsSoundGroupDataLoaded()

bool nw::snd::internal::SoundArchiveLoader::IsSoundGroupDataLoaded ( SoundArchive::ItemId itemId,
u32 loadFlag ) const
private

◆ LoadFile()

void * nw::snd::internal::SoundArchiveLoader::LoadFile ( SoundArchive::FileId fileId,
SoundMemoryAllocatable * allocator,
size_t loadBlockSize,
bool needDeviceMemory )
private

◆ ReadFile()

s32 nw::snd::internal::SoundArchiveLoader::ReadFile ( SoundArchive::FileId fileId,
void * buffer,
size_t size,
s32 offset,
size_t loadBlockSize )
private

◆ SetWaveArchiveTableWithSeqInEmbeddedGroup()

void nw::snd::internal::SoundArchiveLoader::SetWaveArchiveTableWithSeqInEmbeddedGroup ( SoundArchive::ItemId seqId,
SoundMemoryAllocatable * pAllocator )
private

◆ SetWaveArchiveTableWithBankInEmbeddedGroup()

void nw::snd::internal::SoundArchiveLoader::SetWaveArchiveTableWithBankInEmbeddedGroup ( SoundArchive::ItemId bankId,
SoundMemoryAllocatable * pAllocator )
private

◆ SetWaveArchiveTableWithWsdInEmbeddedGroup()

void nw::snd::internal::SoundArchiveLoader::SetWaveArchiveTableWithWsdInEmbeddedGroup ( SoundArchive::ItemId wsdId,
SoundMemoryAllocatable * pAllocator )
private

◆ SetWaveArchiveTableInEmbeddedGroupImpl()

void nw::snd::internal::SoundArchiveLoader::SetWaveArchiveTableInEmbeddedGroupImpl ( SoundArchive::ItemId warcId,
SoundMemoryAllocatable * pAllocator )
private

Member Data Documentation

◆ SIGNATURE_INDIVIDUAL_WAVE

const u32 nw::snd::internal::SoundArchiveLoader::SIGNATURE_INDIVIDUAL_WAVE = NW_UT_MAKE_SIGWORD('F', 'I', 'W', 'V')
static

◆ FILE_ALIGNMENT

const u32 nw::snd::internal::SoundArchiveLoader::FILE_ALIGNMENT = 64
static

◆ m_pSoundArchive

const SoundArchive* nw::snd::internal::SoundArchiveLoader::m_pSoundArchive
private

◆ m_StreamArea

u32 nw::snd::internal::SoundArchiveLoader::m_StreamArea[128]
private

◆ m_LoadDataCallCount

u16 nw::snd::internal::SoundArchiveLoader::m_LoadDataCallCount
private

◆ m_IsCancelLoading

bool nw::snd::internal::SoundArchiveLoader::m_IsCancelLoading
private