1#ifndef NW_SND_SOUND_STARTABLE_H_
2#define NW_SND_SOUND_STARTABLE_H_
4#include <nw/snd/snd_SoundArchive.h>
6namespace nw {
namespace snd {
101 for (
unsigned int i = 0; i < SoundArchive::SEQ_BANK_MAX; i++)
102 bankIds[i] = SoundArchive::INVALID_ID;
155 static_assert(
sizeof(
StartInfo) == 0x48);
169 const char* pSoundName,
180 const char* pSoundName,
191 const char* pSoundName,
Definition snd_SoundArchive.h:11
u32 ItemId
Definition snd_SoundArchive.h:13
Definition snd_SoundHandle.h:10
Definition snd_SoundStartable.h:14
ResultCode m_Code
Definition snd_SoundStartable.h:65
bool IsSuccess() const
Definition snd_SoundStartable.h:54
ResultCode GetCode() const
Definition snd_SoundStartable.h:59
StartResult(ResultCode code)
Definition snd_SoundStartable.h:49
ResultCode
Definition snd_SoundStartable.h:17
@ START_ERR_NOT_DATA_LOADED
Definition snd_SoundStartable.h:22
@ START_ERR_CANNOT_ALLOCATE_TRACK
Definition snd_SoundStartable.h:30
@ START_ERR_INVALID_WARC_ID
Definition snd_SoundStartable.h:35
@ START_ERR_ACTOR_NOT_INITIALIZED
Definition snd_SoundStartable.h:34
@ START_SUCCESS
Definition snd_SoundStartable.h:18
@ START_ERR_NOT_WARC_LOADED
Definition snd_SoundStartable.h:26
@ START_ERR_NOT_AVAILABLE
Definition snd_SoundStartable.h:29
@ START_ERR_NOT_SEQ_LOADED
Definition snd_SoundStartable.h:23
@ START_ERR_INVALID_BANK_DATA
Definition snd_SoundStartable.h:36
@ START_ERR_NOT_WSD_LOADED
Definition snd_SoundStartable.h:25
@ START_ERR_NOT_ENOUGH_PLAYER_HEAP
Definition snd_SoundStartable.h:27
@ START_ERR_CANNOT_OPEN_FILE
Definition snd_SoundStartable.h:28
@ START_ERR_INVALID_SOUNDID
Definition snd_SoundStartable.h:21
@ START_ERR_INVALID_PARAMETER
Definition snd_SoundStartable.h:32
@ START_ERR_NOT_BANK_LOADED
Definition snd_SoundStartable.h:24
@ START_ERR_UNKNOWN
Definition snd_SoundStartable.h:39
@ START_ERR_NOT_ENOUGH_INSTANCE
Definition snd_SoundStartable.h:31
@ START_ERR_LOW_PRIORITY
Definition snd_SoundStartable.h:19
@ START_ERR_INVALID_LABEL_STRING
Definition snd_SoundStartable.h:20
@ START_ERR_USER
Definition snd_SoundStartable.h:38
@ START_ERR_INVALID_SEQ_START_LOCATION_LABEL
Definition snd_SoundStartable.h:33
StartResult()
Definition snd_SoundStartable.h:44
Definition snd_SoundStartable.h:11
StartResult HoldSound(SoundHandle *pHandle, const char *pSoundName, const StartInfo *pHoldInfo=NULL)
virtual SoundArchive::ItemId detail_GetItemId(const char *pString)=0
StartResult StartSound(SoundHandle *pHandle, const char *pSoundName, const StartInfo *pStartInfo=NULL)
StartResult PrepareSound(SoundHandle *pHandle, const char *pSoundName, const StartInfo *pStartInfo=NULL)
StartResult StartSound(SoundHandle *pHandle, SoundArchive::ItemId soundId, const StartInfo *pStartInfo=NULL)
StartResult HoldSound(SoundHandle *pHandle, SoundArchive::ItemId soundId, const StartInfo *pHoldInfo=NULL)
StartResult PrepareSound(SoundHandle *pHandle, SoundArchive::ItemId soundId, const StartInfo *pStartInfo=NULL)
virtual StartResult detail_SetupSound(SoundHandle *handle, u32 soundId, bool holdFlag, const StartInfo *startInfo)=0
virtual ~SoundStartable()
Definition snd_SoundStartable.h:158
Definition snd_BasicSound.cpp:3
Definition snd_SoundStartable.h:92
SeqSoundInfo()
Definition snd_SoundStartable.h:97
const void * seqDataAddress
Definition snd_SoundStartable.h:93
const char * startLocationLabel
Definition snd_SoundStartable.h:94
SoundArchive::ItemId bankIds[SoundArchive::SEQ_BANK_MAX]
Definition snd_SoundStartable.h:95
Definition snd_SoundStartable.h:108
StreamSoundInfo()
Definition snd_SoundStartable.h:112
const void * externalData
Definition snd_SoundStartable.h:109
u32 externalDataSize
Definition snd_SoundStartable.h:110
Definition snd_SoundStartable.h:121
u8 channelCount
Definition snd_SoundStartable.h:124
u8 padding[2]
Definition snd_SoundStartable.h:126
WaveSoundInfo()
Definition snd_SoundStartable.h:128
s8 waveType
Definition snd_SoundStartable.h:125
u32 sampleRate
Definition snd_SoundStartable.h:123
const void * waveAddress
Definition snd_SoundStartable.h:122
Definition snd_SoundStartable.h:70
StartOffsetType startOffsetType
Definition snd_SoundStartable.h:139
int playerPriority
Definition snd_SoundStartable.h:142
u32 enableFlag
Definition snd_SoundStartable.h:138
EnableFlagBit
Definition snd_SoundStartable.h:72
@ ENABLE_PLAYER_ID
Definition snd_SoundStartable.h:74
@ ENABLE_STRM_SOUND_INFO
Definition snd_SoundStartable.h:78
@ ENABLE_START_OFFSET
Definition snd_SoundStartable.h:73
@ ENABLE_ACTOR_PLAYER_ID
Definition snd_SoundStartable.h:76
@ ENABLE_PLAYER_PRIORITY
Definition snd_SoundStartable.h:75
@ ENABLE_WAVE_SOUND_INFO
Definition snd_SoundStartable.h:79
@ ENABLE_VOICE_RENDERER_TYPE
Definition snd_SoundStartable.h:80
@ ENABLE_SEQ_SOUND_INFO
Definition snd_SoundStartable.h:77
StreamSoundInfo streamSoundInfo
Definition snd_SoundStartable.h:145
StartInfo()
Definition snd_SoundStartable.h:149
u8 voiceRendererType
Definition snd_SoundStartable.h:147
int startOffset
Definition snd_SoundStartable.h:140
int actorPlayerId
Definition snd_SoundStartable.h:143
WaveSoundInfo waveSoundInfo
Definition snd_SoundStartable.h:146
StartOffsetType
Definition snd_SoundStartable.h:84
@ START_OFFSET_TYPE_MILLISEC
Definition snd_SoundStartable.h:85
@ START_OFFSET_TYPE_SAMPLE
Definition snd_SoundStartable.h:87
@ START_OFFSET_TYPE_TICK
Definition snd_SoundStartable.h:86
SoundArchive::ItemId playerId
Definition snd_SoundStartable.h:141
SeqSoundInfo seqSoundInfo
Definition snd_SoundStartable.h:144