Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
StrmSound.h
Go to the documentation of this file.
1#ifndef NW4HBM_SND_STRM_SOUND_H
2#define NW4HBM_SND_STRM_SOUND_H
3
4#include <revolution/types.h>
5
6#include "BasicSound.h"
7#include "MoveValue.h"
8#include "StrmPlayer.h"
9#include "debug.h"
10
11#include "../ut/LinkList.h"
12
13namespace nw4hbm {
14 namespace snd {
15 class StrmSoundHandle;
16 namespace detail {
17 template <typename T>
18 class SoundInstanceManager;
19 }
20
21 namespace detail {
22
23 class StrmSound : public BasicSound {
24 friend class StrmSoundHandle;
25
26 public:
28
30 /* 0x28 */ virtual void Shutdown();
31 /* 0x4C */ virtual void SetPlayerPriority(int priority);
32 /* 0x5C */ virtual bool IsAttachedTempSpecialHandle();
33 /* 0x60 */ virtual void DetachTempSpecialHandle();
34 /* 0x68 */ virtual BasicPlayer& GetBasicPlayer() { return mStrmPlayer; }
35 /* 0x6C */ virtual const BasicPlayer& GetBasicPlayer() const { return mStrmPlayer; }
36
37 void Setup(const StrmPlayer::StrmHeader* header);
38
39 bool Prepare(StrmBufferPool* bufferPool,
40 StrmPlayer::StartOffsetType startOffsetType, s32 startOffset,
41 int voices, StrmPlayer::StrmCallback* callback, u32 callbackData);
42
43 void SetChannelPriority(int priority);
44
45 private:
49 /* 0x5FC */ u8 mNumChannels;
50 /* 0x600 */ void* mBuffer[CHANNEL_MAX];
51 /* 0x608 */ u32 mBufSize;
52 /* 0x60C */ u8 mNumBufBlocks;
53 /* 0x610 */ int mAllocChannelCount;
54 };
55 } // namespace detail
56 } // namespace snd
57} // namespace nw4hbm
58
59#endif
Definition StrmSoundHandle.h:12
Definition BasicSound.h:30
Definition StrmChannel.h:16
Definition StrmPlayer.h:21
StartOffsetType
Definition StrmPlayer.h:23
Definition StrmSound.h:23
void Setup(const StrmPlayer::StrmHeader *header)
StrmPlayer mStrmPlayer
Definition StrmSound.h:46
bool Prepare(StrmBufferPool *bufferPool, StrmPlayer::StartOffsetType startOffsetType, s32 startOffset, int voices, StrmPlayer::StrmCallback *callback, u32 callbackData)
u32 mBufSize
Definition StrmSound.h:51
NW4HBM_UT_RUNTIME_TYPEINFO
Definition StrmSound.h:29
int mAllocChannelCount
Definition StrmSound.h:53
virtual bool IsAttachedTempSpecialHandle()
virtual void DetachTempSpecialHandle()
virtual BasicPlayer & GetBasicPlayer()
Definition StrmSound.h:34
u8 mNumChannels
Definition StrmSound.h:49
StrmSoundHandle * mTempSpecialHandle
Definition StrmSound.h:47
virtual const BasicPlayer & GetBasicPlayer() const
Definition StrmSound.h:35
virtual void SetPlayerPriority(int priority)
void SetChannelPriority(int priority)
StrmSound(SoundInstanceManager< StrmSound > *manager)
void * mBuffer[CHANNEL_MAX]
Definition StrmSound.h:50
SoundInstanceManager< StrmSound > * mManager
Definition StrmSound.h:48
u8 mNumBufBlocks
Definition StrmSound.h:52
unsigned long u32
Definition types.h:12
signed long s32
Definition types.h:11
unsigned char u8
Definition types.h:8
static const int CHANNEL_MAX
Definition snd_types.h:48
Definition HBMAnmController.h:6
static void callback(u32 param_0)
Definition OSExec.c:308