1#ifndef NW4HBM_SND_SOUND_ARCHIVE_FILE_H
2#define NW4HBM_SND_SOUND_ARCHIVE_FILE_H
17 namespace SoundArchiveFile {
203 void Init(
const void* soundArchiveData);
255 const char* label)
const;
static u8 base[0x2A]
Definition WPADEncrypt.c:10
static s32 offset
Definition WUD.c:1669
Definition SoundArchiveFile.h:199
const SoundArchiveFile::BankInfo * impl_GetBankInfo(u32 id) const
u16 GetVersion() const
Definition SoundArchiveFile.h:246
const void * GetPtrConst(const void *base, u32 offset) const
Definition SoundArchiveFile.h:268
const SoundArchiveFile::SoundCommonInfo * impl_GetSoundInfo(u32 id) const
u32 ConvertLabelStringToPlayerId(const char *label) const
Definition SoundArchiveFile.h:239
const SoundArchiveFile::PlayerInfo * impl_GetPlayerInfo(u32 id) const
bool ReadStrmSoundInfo(u32 id, SoundArchive::StrmSoundInfo *info) const
bool ReadGroupInfo(u32 id, SoundArchive::GroupInfo *info) const
u32 GetGroupCount() const
u32 GetSoundUserParam(u32 id) const
const SoundArchiveFile::SeqSoundInfo * impl_GetSeqSoundInfo(u32 id) const
bool ReadSeqSoundInfo(u32 id, SoundArchive::SeqSoundInfo *info) const
bool ReadSoundArchivePlayerInfo(SoundArchive::SoundArchivePlayerInfo *info) const
const SoundArchiveFile::WaveSoundInfo * impl_GetWaveSoundInfo(u32 id) const
u32 GetInfoChunkSize() const
Definition SoundArchiveFile.h:251
const SoundArchiveFile::Info * mInfo
Definition SoundArchiveFile.h:277
const SoundArchiveFile::StringTree * mStringTreePlayer
Definition SoundArchiveFile.h:281
bool ReadPlayerInfo(u32 id, SoundArchive::PlayerInfo *info) const
void SetInfoChunk(const void *infoChunk, u32 size)
u32 GetInfoChunkOffset() const
Definition SoundArchiveFile.h:249
void Init(const void *soundArchiveData)
u32 ConvertLabelStringToId(const SoundArchiveFile::StringTree *tree, const char *label) const
u32 GetSoundStringId(u32 id) const
bool ReadSound3DParam(u32 id, SoundArchive::Sound3DParam *param) const
u32 ConvertLabelStringToSoundId(const char *label) const
Definition SoundArchiveFile.h:236
u32 GetLabelStringChunkSize() const
Definition SoundArchiveFile.h:248
bool ReadGroupItemInfo(u32 groupId, u32 itemId, SoundArchive::GroupItemInfo *info) const
SoundArchiveFile::Header mHeader
Definition SoundArchiveFile.h:276
SoundArchiveFile::SoundInfoOffset impl_GetSoundInfoOffset(u32 id) const NO_INLINE
const SoundArchiveFile::StringTree * mStringTreeSound
Definition SoundArchiveFile.h:280
bool ReadWaveSoundInfo(u32 id, SoundArchive::WaveSoundInfo *info) const
const SoundArchiveFile::StringTree * mStringTreeBank
Definition SoundArchiveFile.h:283
SoundType GetSoundType(u32 id) const
u32 GetPlayerCount() const
const SoundArchiveFile::StrmSoundInfo * impl_GetStrmSoundInfo(u32 id) const
const SoundArchiveFile::StringTable * mStringTable
Definition SoundArchiveFile.h:279
const SoundArchiveFile::GroupInfo * impl_GetGroupInfo(u32 id) const
u32 ConvertLabelStringToGroupId(const char *label) const
Definition SoundArchiveFile.h:242
bool ReadBankInfo(u32 id, SoundArchive::BankInfo *info) const
u32 GetLabelStringChunkOffset() const
Definition SoundArchiveFile.h:247
void SetStringChunk(const void *stringChunk, u32 size)
bool IsValidFileHeader(const void *soundArchiveData)
bool ReadSoundInfo(u32 id, SoundArchive::SoundInfo *info) const
const char * GetSoundLabelString(u32 id) const
const char * GetString(u32 id) const
bool ReadFileInfo(u32 id, SoundArchive::FileInfo *info) const
const void * mStringBase
Definition SoundArchiveFile.h:278
bool ReadFilePos(u32 fileId, u32 id, SoundArchive::FilePos *filePos) const
const SoundArchiveFile::StringTree * mStringTreeGroup
Definition SoundArchiveFile.h:282
unsigned int size
Definition __os.h:106
unsigned long u32
Definition types.h:12
unsigned short int u16
Definition types.h:10
signed long s32
Definition types.h:11
unsigned char u8
Definition types.h:8
struct nw4hbm::snd::detail::SoundArchiveFile::StringTreeNode StringTreeNode
Util::DataRef< FileInfo > FileInfoRef
Definition SoundArchiveFile.h:136
Util::DataRef< GroupItemInfo > GroupItemInfoRef
Definition SoundArchiveFile.h:146
static const u32 SIGNATURE_SYMB_BLOCK
Definition SoundArchiveFile.h:21
Util::DataRef< void, SeqSoundInfo, StrmSoundInfo, WaveSoundInfo > SoundInfoOffset
Definition SoundArchiveFile.h:82
static const int FILE_VERSION
Definition SoundArchiveFile.h:22
struct nw4hbm::snd::detail::SoundArchiveFile::FileInfo FileInfo
Util::DataRef< PlayerInfo > PlayerInfoRef
Definition SoundArchiveFile.h:123
struct nw4hbm::snd::detail::SoundArchiveFile::PlayerInfo PlayerInfo
Util::DataRef< GroupInfo > GroupInfoRef
Definition SoundArchiveFile.h:159
Util::Table< SoundArchiveRef > FilePosTable
Definition SoundArchiveFile.h:127
struct nw4hbm::snd::detail::SoundArchiveFile::SeqSoundInfo SeqSoundInfo
struct nw4hbm::snd::detail::SoundArchiveFile::BankInfo BankInfo
Util::Table< PlayerInfoRef > PlayerTable
Definition SoundArchiveFile.h:124
static const u32 SIGNATURE_FILE
Definition SoundArchiveFile.h:19
Util::Table< BankInfoRef > BankTable
Definition SoundArchiveFile.h:116
Util::Table< SoundCommonInfoRef > SoundCommonTable
Definition SoundArchiveFile.h:109
Util::Table< FileInfoRef > FileTable
Definition SoundArchiveFile.h:137
struct nw4hbm::snd::detail::SoundArchiveFile::WaveSoundInfo WaveSoundInfo
struct nw4hbm::snd::detail::SoundArchiveFile::Header Header
struct nw4hbm::snd::detail::SoundArchiveFile::InfoBlock InfoBlock
struct nw4hbm::snd::detail::SoundArchiveFile::StringChunk StringChunk
struct nw4hbm::snd::detail::SoundArchiveFile::SoundArchivePlayerInfo SoundArchivePlayerInfo
struct nw4hbm::snd::detail::SoundArchiveFile::Info Info
struct nw4hbm::snd::detail::SoundArchiveFile::Sound3DParam Sound3DParam
struct nw4hbm::snd::detail::SoundArchiveFile::StringTable StringTable
Util::Table< GroupInfoRef > GroupTable
Definition SoundArchiveFile.h:160
Util::DataRef< SoundCommonInfo > SoundCommonInfoRef
Definition SoundArchiveFile.h:108
struct nw4hbm::snd::detail::SoundArchiveFile::StringBlock StringBlock
Util::Table< GroupItemInfoRef > GroupItemTable
Definition SoundArchiveFile.h:147
Util::DataRef< BankInfo > BankInfoRef
Definition SoundArchiveFile.h:115
struct nw4hbm::snd::detail::SoundArchiveFile::GroupItemInfo GroupItemInfo
static const int HEADER_AREA_SIZE
Definition SoundArchiveFile.h:196
static const u32 SIGNATURE_INFO_BLOCK
Definition SoundArchiveFile.h:20
struct nw4hbm::snd::detail::SoundArchiveFile::StringTree StringTree
struct nw4hbm::snd::detail::SoundArchiveFile::StrmSoundInfo StrmSoundInfo
struct nw4hbm::snd::detail::SoundArchiveFile::SoundCommonInfo SoundCommonInfo
struct nw4hbm::snd::detail::SoundArchiveFile::SymbolBlock SymbolBlock
struct nw4hbm::snd::detail::SoundArchiveFile::GroupInfo GroupInfo
Util::DataRef< SoundArchive::FilePos > SoundArchiveRef
Definition SoundArchiveFile.h:126
SoundType
Definition SoundArchive.h:16
const void * AddOffsetToPtr(const void *base, T offset)
Definition inlines.h:49
Definition HBMAnmController.h:6
Definition SoundArchive.h:54
Definition SoundArchive.h:80
Definition SoundArchive.h:87
Definition SoundArchive.h:63
Definition SoundArchive.h:72
Definition SoundArchive.h:58
Definition SoundArchive.h:32
Definition SoundArchive.h:48
Definition SoundArchive.h:92
Definition SoundArchive.h:25
Definition SoundArchive.h:39
Definition SoundArchive.h:43
Definition SoundArchiveFile.h:111
u32 stringId
Definition SoundArchiveFile.h:112
u32 fileId
Definition SoundArchiveFile.h:113
Definition SoundArchiveFile.h:129
s32 entryNum
Definition SoundArchiveFile.h:132
Util::DataRef< FilePosTable > filePosTableRef
Definition SoundArchiveFile.h:134
u32 waveDataSize
Definition SoundArchiveFile.h:131
u32 fileSize
Definition SoundArchiveFile.h:130
Util::DataRef< char > extFilePathRef
Definition SoundArchiveFile.h:133
Definition SoundArchiveFile.h:149
Util::DataRef< GroupItemTable > itemTableRef
Definition SoundArchiveFile.h:157
s32 entryNum
Definition SoundArchiveFile.h:151
u32 stringId
Definition SoundArchiveFile.h:150
Util::DataRef< char > extFilePathRef
Definition SoundArchiveFile.h:152
u32 waveDataOffset
Definition SoundArchiveFile.h:155
u32 waveDataSize
Definition SoundArchiveFile.h:156
u32 offset
Definition SoundArchiveFile.h:153
u32 size
Definition SoundArchiveFile.h:154
Definition SoundArchiveFile.h:139
u32 fileId
Definition SoundArchiveFile.h:140
u32 waveDataOffset
Definition SoundArchiveFile.h:143
u32 offset
Definition SoundArchiveFile.h:141
u32 size
Definition SoundArchiveFile.h:142
u32 waveDataSize
Definition SoundArchiveFile.h:144
Definition SoundArchiveFile.h:181
ut::BinaryBlockHeader blockHeader
Definition SoundArchiveFile.h:182
Info info
Definition SoundArchiveFile.h:183
Definition SoundArchiveFile.h:172
Util::DataRef< SoundArchivePlayerInfo > soundArchivePlayerInfoRef
Definition SoundArchiveFile.h:178
Util::DataRef< SoundCommonTable > soundTableRef
Definition SoundArchiveFile.h:173
Util::DataRef< GroupTable > groupTableRef
Definition SoundArchiveFile.h:177
Util::DataRef< BankTable > bankTableRef
Definition SoundArchiveFile.h:174
Util::DataRef< FileTable > fileTableRef
Definition SoundArchiveFile.h:176
Util::DataRef< PlayerTable > playerTableRef
Definition SoundArchiveFile.h:175
Definition SoundArchiveFile.h:118
u32 heapSize
Definition SoundArchiveFile.h:121
u32 stringId
Definition SoundArchiveFile.h:119
u8 playableSoundCount
Definition SoundArchiveFile.h:120
Definition SoundArchiveFile.h:62
u32 bankId
Definition SoundArchiveFile.h:64
u8 releasePriorityFix
Definition SoundArchiveFile.h:67
u8 channelPriority
Definition SoundArchiveFile.h:66
u32 allocTrack
Definition SoundArchiveFile.h:65
u32 dataOffset
Definition SoundArchiveFile.h:63
Definition SoundArchiveFile.h:84
u32 flags
Definition SoundArchiveFile.h:85
u8 decayCurve
Definition SoundArchiveFile.h:86
u8 decayRatio
Definition SoundArchiveFile.h:87
Definition SoundArchiveFile.h:162
u16 waveTrackCount
Definition SoundArchiveFile.h:169
u16 strmTrackCount
Definition SoundArchiveFile.h:166
u16 seqSoundCount
Definition SoundArchiveFile.h:163
u16 seqTrackCount
Definition SoundArchiveFile.h:164
u16 strmSoundCount
Definition SoundArchiveFile.h:165
u16 waveSoundCount
Definition SoundArchiveFile.h:168
u16 strmChannelCount
Definition SoundArchiveFile.h:167
Definition SoundArchiveFile.h:90
Util::DataRef< Sound3DParam > param3dRef
Definition SoundArchiveFile.h:95
u32 playerId
Definition SoundArchiveFile.h:93
u8 panCurve
Definition SoundArchiveFile.h:105
u32 fileId
Definition SoundArchiveFile.h:92
u8 volume
Definition SoundArchiveFile.h:96
u8 panMode
Definition SoundArchiveFile.h:104
u8 remoteFilter
Definition SoundArchiveFile.h:99
u8 soundType
Definition SoundArchiveFile.h:98
u32 userParam[2]
Definition SoundArchiveFile.h:102
u32 stringId
Definition SoundArchiveFile.h:91
SoundInfoOffset soundInfoRef
Definition SoundArchiveFile.h:100
u8 playerPriority
Definition SoundArchiveFile.h:97
Definition SoundArchiveFile.h:50
StringTable stringTable
Definition SoundArchiveFile.h:52
StringChunk stringChunk
Definition SoundArchiveFile.h:53
Definition SoundArchiveFile.h:42
u32 playerTreeOffset
Definition SoundArchiveFile.h:45
u32 groupTreeOffset
Definition SoundArchiveFile.h:46
u32 soundTreeOffset
Definition SoundArchiveFile.h:44
u32 bankTreeOffset
Definition SoundArchiveFile.h:47
u32 tableOffset
Definition SoundArchiveFile.h:43
Definition SoundArchiveFile.h:38
Util::Table< u32 > offsetTable
Definition SoundArchiveFile.h:39
Definition SoundArchiveFile.h:24
u32 rightIdx
Definition SoundArchiveFile.h:28
u32 strIdx
Definition SoundArchiveFile.h:29
u16 flags
Definition SoundArchiveFile.h:25
u16 bit
Definition SoundArchiveFile.h:26
u32 id
Definition SoundArchiveFile.h:30
u32 leftIdx
Definition SoundArchiveFile.h:27
Definition SoundArchiveFile.h:33
u32 rootIdx
Definition SoundArchiveFile.h:34
Util::Table< StringTreeNode > nodeTable
Definition SoundArchiveFile.h:35
Definition SoundArchiveFile.h:70
Definition SoundArchiveFile.h:57
ut::BinaryBlockHeader blockHeader
Definition SoundArchiveFile.h:58
StringBlock stringBlock
Definition SoundArchiveFile.h:59
Definition SoundArchiveFile.h:74
u32 allocTrack
Definition SoundArchiveFile.h:76
s32 subNo
Definition SoundArchiveFile.h:75
u8 releasePriorityFix
Definition SoundArchiveFile.h:78
u8 channelPriority
Definition SoundArchiveFile.h:77