Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
SoundStartable.h
Go to the documentation of this file.
1#ifndef NW4HBM_SND_SOUND_STARTABLE_H
2#define NW4HBM_SND_SOUND_STARTABLE_H
3
4#include <revolution/types.h>
5
6namespace nw4hbm {
7 namespace snd {
8 class SoundHandle;
9
10 namespace detail {
11 class ExternalSoundPlayer;
12 }
13
15 public:
33
52
53 public:
54 /* 0x08 */ virtual ~SoundStartable() {}
55 /* 0x0C */ virtual StartResult
58 detail::ExternalSoundPlayer* extPlayer, bool hold,
59 const StartInfo* startInfo) = 0;
60 /* 0x10 */ virtual u32 detail_ConvertLabelStringToSoundId(const char* label) = 0;
61
62 bool StartSound(SoundHandle* soundHandle, u32 id) {
63 return detail_StartSound(soundHandle, id, NULL, NULL, NULL) == START_SUCCESS;
64 }
65 bool StartSound(SoundHandle* soundHandle, unsigned int id) {
66 return detail_StartSound(soundHandle, id, NULL, NULL, NULL) == START_SUCCESS;
67 }
68 bool StartSound(SoundHandle* soundHandle, int id) {
69 return detail_StartSound(soundHandle, id, NULL, NULL, NULL) == START_SUCCESS;
70 }
71
72 bool HoldSound(SoundHandle* soundHandle, u32 id) {
73 return detail_HoldSound(soundHandle, id, NULL, NULL, NULL) == START_SUCCESS;
74 }
75 bool HoldSound(SoundHandle* soundHandle, unsigned int id) {
76 return detail_HoldSound(soundHandle, id, NULL, NULL, NULL) == START_SUCCESS;
77 }
78 bool HoldSound(SoundHandle* soundHandle, int id) {
79 return detail_HoldSound(soundHandle, id, NULL, NULL, NULL) == START_SUCCESS;
80 }
81
82 bool PrepareSound(SoundHandle* soundHandle, u32 id) {
83 return detail_PrepareSound(soundHandle, id, NULL, NULL, NULL) == START_SUCCESS;
84 }
85 bool PrepareSound(SoundHandle* soundHandle, unsigned int id) {
86 return detail_PrepareSound(soundHandle, id, NULL, NULL, NULL) == START_SUCCESS;
87 }
88 bool PrepareSound(SoundHandle* soundHandle, int id) {
89 return detail_PrepareSound(soundHandle, id, NULL, NULL, NULL) == START_SUCCESS;
90 }
91
92 private:
96 const StartInfo* startInfo);
97
101 const StartInfo* startInfo);
102
106 const StartInfo* startInfo);
107 };
108
109 } // namespace snd
110} // namespace nw4hbm
111
112#endif
Definition SoundHandle.h:12
Definition SoundStartable.h:14
bool PrepareSound(SoundHandle *soundHandle, unsigned int id)
Definition SoundStartable.h:85
bool PrepareSound(SoundHandle *soundHandle, int id)
Definition SoundStartable.h:88
virtual ~SoundStartable()
Definition SoundStartable.h:54
StartResult
Definition SoundStartable.h:16
@ START_ERR_USER
Definition SoundStartable.h:30
@ START_ERR_CANNOT_ALLOCATE_TRACK
Definition SoundStartable.h:25
@ START_ERR_INVALID_SEQ_START_LOCATION_LABEL
Definition SoundStartable.h:28
@ START_ERR_INVALID_LABEL_STRING
Definition SoundStartable.h:19
@ START_ERR_NOT_DATA_LOADED
Definition SoundStartable.h:21
@ START_ERR_INVALID_SOUNDID
Definition SoundStartable.h:20
@ START_ERR_UNKNOWN
Definition SoundStartable.h:31
@ START_ERR_NOT_AVAILABLE
Definition SoundStartable.h:24
@ START_ERR_INVALID_PARAMETER
Definition SoundStartable.h:27
@ START_ERR_CANNOT_OPEN_FILE
Definition SoundStartable.h:23
@ START_SUCCESS
Definition SoundStartable.h:17
@ START_ERR_LOW_PRIORITY
Definition SoundStartable.h:18
@ START_ERR_NOT_ENOUGH_INSTANCE
Definition SoundStartable.h:26
@ START_ERR_NOT_ENOUGH_PLAYER_HEAP
Definition SoundStartable.h:22
StartResult detail_PrepareSound(SoundHandle *soundHandle, u32 id, detail::BasicSound::AmbientArgInfo *ambientArgInfo, detail::ExternalSoundPlayer *extPlayer, const StartInfo *startInfo)
bool HoldSound(SoundHandle *soundHandle, u32 id)
Definition SoundStartable.h:72
bool StartSound(SoundHandle *soundHandle, int id)
Definition SoundStartable.h:68
virtual u32 detail_ConvertLabelStringToSoundId(const char *label)=0
StartResult detail_StartSound(SoundHandle *soundHandle, u32 id, detail::BasicSound::AmbientArgInfo *ambientArgInfo, detail::ExternalSoundPlayer *extPlayer, const StartInfo *startInfo)
Definition snd_SoundStartable.cpp:8
virtual StartResult detail_SetupSound(SoundHandle *soundHandle, u32 id, detail::BasicSound::AmbientArgInfo *ambientArgInfo, detail::ExternalSoundPlayer *extPlayer, bool hold, const StartInfo *startInfo)=0
bool StartSound(SoundHandle *soundHandle, u32 id)
Definition SoundStartable.h:62
struct nw4hbm::snd::SoundStartable::StartInfo StartInfo
bool PrepareSound(SoundHandle *soundHandle, u32 id)
Definition SoundStartable.h:82
StartResult detail_HoldSound(SoundHandle *soundHandle, u32 id, detail::BasicSound::AmbientArgInfo *ambientArgInfo, detail::ExternalSoundPlayer *extPlayer, const StartInfo *startInfo)
bool HoldSound(SoundHandle *soundHandle, unsigned int id)
Definition SoundStartable.h:75
bool StartSound(SoundHandle *soundHandle, unsigned int id)
Definition SoundStartable.h:65
bool HoldSound(SoundHandle *soundHandle, int id)
Definition SoundStartable.h:78
Definition ExternalSoundPlayer.h:11
unsigned long u32
Definition types.h:12
Definition HBMAnmController.h:6
Definition SoundStartable.h:34
int playerPriority
Definition SoundStartable.h:49
StartOffsetType startOffsetType
Definition SoundStartable.h:46
u32 playerId
Definition SoundStartable.h:48
int voiceOutCount
Definition SoundStartable.h:50
StartOffsetType
Definition SoundStartable.h:41
@ START_OFFSET_TYPE_MILLISEC
Definition SoundStartable.h:43
@ START_OFFSET_TYPE_SAMPLE
Definition SoundStartable.h:42
int startOffset
Definition SoundStartable.h:47
EnableFlag
Definition SoundStartable.h:35
@ ENABLE_START_OFFSET
Definition SoundStartable.h:36
@ ENABLE_PLAYER_ID
Definition SoundStartable.h:37
@ ENABLE_PLAYER_PRIORITY
Definition SoundStartable.h:38