Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
JAISeMgr.h
Go to the documentation of this file.
1#ifndef JAISEMGR_H
2#define JAISEMGR_H
3
5#include "global.h"
6
7struct JAIAudience;
8struct JASSoundParams;
9
17
18 /* 0x0 */ int field_0x0;
19}; // Size: 0x4
20
29
37
38class JAISeMgr;
39
45public:
46 void JAISeMgr_calc_();
48 bool JAISeMgr_acceptsNewSe_(u32 priority) const;
49 void sortByPriority_();
50 void stop(u32 fadeTime);
51 void stop();
52 void stopSoundID(JAISoundID id);
53 void pause(bool);
54 void JAISeMgr_mixOut_(const JAISoundParamsMove& params, JAISoundActivity activity);
56 mParams.init();
57 mMaxActiveSe = 0;
59 field_0x0 = 0;
60 }
61
62 virtual bool isUsingSeqData(const JAISeqDataRegion& seqDataRegion);
63 virtual int releaseSeqData(const JAISeqDataRegion& seqDataRegion);
64
66 int getMaxSe() const {
67 if (mMaxActiveSe == 0) {
68 return 0;
69 }
70
72 }
73 int getMaxInactiveSe() const { return mMaxInactiveSe; }
74 int getMaxActiveSe() const { return mMaxActiveSe; }
75 void setMaxActiveSe(int num) { mMaxActiveSe = num; }
76 void setMaxInactiveSe(int num) { mMaxInactiveSe = num; }
77 const JSUList<JAISe>* getSeList() const { return &mSeList; }
78 int getNumSe() const { return mSeList.getNumLinks(); }
81
84 /* 0x64 */ int mMaxInactiveSe;
85 /* 0x68 */ int mMaxActiveSe;
86}; // Size: 0x6C
87
92class JAISeMgr : public JASGlobalInstance<JAISeMgr>,
93 public JAISeqDataUser {
94public:
95 JAISeMgr(bool setInstance);
96 void setCategoryArrangement(const JAISeCategoryArrangement& arrangement);
98 void stop();
99 void stopSoundID(JAISoundID id);
100 void initParams();
101 void setAudience(JAIAudience* audience);
102 void setSeqDataMgr(JAISeqDataMgr* seqDataMgr);
103 void resetSeqDataMgr();
104 JAISe* newSe_(int category, u32 priority);
105 void calc();
106 void mixOut();
107 bool startSound(JAISoundID id, JAISoundHandle* handle, const JGeometry::TVec3<f32>* posPtr);
108 int getNumActiveSe() const;
109
111
112 virtual bool isUsingSeqData(const JAISeqDataRegion& seqDataRegion);
113 virtual int releaseSeqData(const JAISeqDataRegion& seqDataRegion);
114
115 JAISeCategoryMgr* getCategory(int categoryIndex) {
116 JUT_ASSERT(222, categoryIndex >= 0);
117 JUT_ASSERT(223, categoryIndex < NUM_CATEGORIES);
118 return &mCategoryMgrs[categoryIndex];
119 }
122 if (index >= 0 && index < NUM_CATEGORIES) {
124 if (rv) return rv;
125 }
126 return mAudience;
127 }
130
131 bool isActive() const { return getNumActiveSe() > 0; }
132
133 static const int NUM_CATEGORIES = 16;
134
135private:
136 /* 0x008 */ JAIAudience* mAudience;
141}; // Size: 0x724
142
143#if VERSION != VERSION_SHIELD_DEBUG
144STATIC_ASSERT(sizeof(JAISeMgr) == 0x724);
145#endif
146
147#endif /* JAISEMGR_H */
STATIC_ASSERT(sizeof(JAISeMgr)==0x724)
Definition JAISeMgr.h:44
void pause(bool)
Definition JAISeMgr.cpp:126
void setMaxActiveSe(int num)
Definition JAISeMgr.h:75
void sortByPriority_()
Definition JAISeMgr.cpp:81
int getMaxSe() const
Definition JAISeMgr.h:66
virtual int releaseSeqData(const JAISeqDataRegion &seqDataRegion)
Definition JAISeMgr.cpp:22
int getNumSe() const
Definition JAISeMgr.h:78
bool JAISeMgr_acceptsNewSe_(u32 priority) const
Definition JAISeMgr.cpp:58
JSUList< JAISe > mSeList
Definition JAISeMgr.h:83
void JAISeMgr_mixOut_(const JAISoundParamsMove &params, JAISoundActivity activity)
Definition JAISeMgr.cpp:132
JAISeCategoryMgr()
Definition JAISeMgr.h:55
int getMaxInactiveSe() const
Definition JAISeMgr.h:73
void JAISeMgr_appendSe_(JAISe *se)
Definition JAISeMgr.h:80
int mMaxInactiveSe
Definition JAISeMgr.h:84
void stop()
Definition JAISeMgr.cpp:110
virtual bool isUsingSeqData(const JAISeqDataRegion &seqDataRegion)
Definition JAISeMgr.cpp:8
JAISoundParamsMove mParams
Definition JAISeMgr.h:82
JAIAudience * getAudience()
Definition JAISeMgr.h:79
JAISoundParamsMove * getParams()
Definition JAISeMgr.h:65
int getMaxActiveSe() const
Definition JAISeMgr.h:74
int mMaxActiveSe
Definition JAISeMgr.h:85
void setMaxInactiveSe(int num)
Definition JAISeMgr.h:76
const JSUList< JAISe > * getSeList() const
Definition JAISeMgr.h:77
void JAISeMgr_freeDeadSe_()
Definition JAISeMgr.cpp:45
void stopSoundID(JAISoundID id)
Definition JAISeMgr.cpp:116
void JAISeMgr_calc_()
Definition JAISeMgr.cpp:35
Definition JAISeMgr.h:93
void mixOut()
Definition JAISeMgr.cpp:281
void getCategoryArrangement(JAISeCategoryArrangement *)
Definition JAISeMgr.cpp:200
void setAudience(JAIAudience *audience)
Definition JAISeMgr.cpp:230
JAISeMgr(bool setInstance)
Definition JAISeMgr.cpp:161
virtual bool isUsingSeqData(const JAISeqDataRegion &seqDataRegion)
Definition JAISeMgr.cpp:169
static const int NUM_CATEGORIES
Definition JAISeMgr.h:133
JAISoundActivity mSoundActivity
Definition JAISeMgr.h:110
JAISeCategoryMgr mCategoryMgrs[NUM_CATEGORIES]
Definition JAISeMgr.h:139
JAISoundStrategyMgr< JAISe > * mStrategyMgr
Definition JAISeMgr.h:138
JAIAudience * mAudience
Definition JAISeMgr.h:136
void setSeqDataMgr(JAISeqDataMgr *seqDataMgr)
Definition JAISeMgr.cpp:235
bool startSound(JAISoundID id, JAISoundHandle *handle, const JGeometry::TVec3< f32 > *posPtr)
Definition JAISeMgr.cpp:287
JAIAudience * getAudience(int index)
Definition JAISeMgr.h:121
JAISeCategoryMgr * getCategory(int categoryIndex)
Definition JAISeMgr.h:115
virtual int releaseSeqData(const JAISeqDataRegion &seqDataRegion)
Definition JAISeMgr.cpp:178
int getNumActiveSe() const
Definition JAISeMgr.cpp:325
void stopSoundID(JAISoundID id)
Definition JAISeMgr.cpp:217
JAISoundParamsMove mParams
Definition JAISeMgr.h:140
void calc()
Definition JAISeMgr.cpp:271
JAISeqDataMgr * mSeqDataMgr
Definition JAISeMgr.h:137
JAIAudience * getAudience()
Definition JAISeMgr.h:120
JAISoundParamsMove * getParams()
Definition JAISeMgr.h:129
void resetSeqDataMgr()
Definition JAISeMgr.cpp:242
void stop()
Definition JAISeMgr.cpp:211
JAISeqDataMgr * getSeqDataMgr()
Definition JAISeMgr.h:128
void setCategoryArrangement(const JAISeCategoryArrangement &arrangement)
Definition JAISeMgr.cpp:193
JAISe * newSe_(int category, u32 priority)
Definition JAISeMgr.cpp:249
void initParams()
Definition JAISeMgr.cpp:223
bool isActive() const
Definition JAISeMgr.h:131
Definition JAISe.h:13
Definition JAISound.h:213
Definition JAISound.h:15
Definition JAISound.h:43
Definition JASGadget.h:12
Definition JSUList.h:96
bool append(JSULink< T > *link)
Definition JSUList.h:105
u32 getNumLinks() const
Definition JSUList.h:123
static u8 index[20][3]
Definition GXDraw.c:434
unsigned long u32
Definition types.h:12
unsigned char u8
Definition types.h:8
Definition JAIAudience.h:14
Definition JAISeMgr.h:25
u8 mMaxActiveSe
Definition JAISeMgr.h:26
u8 mMaxInactiveSe
Definition JAISeMgr.h:27
Definition JAISeMgr.h:34
JAISeCategoryArrangementItem mItems[16]
Definition JAISeMgr.h:35
Definition JAISeqDataMgr.h:59
Definition JAISeqDataMgr.h:30
Definition JAISeqDataMgr.h:49
Definition JAISoundParams.h:85
void init()
Definition JAISoundParams.h:88
Definition JAISound.h:203
Definition JAISeMgr.h:14
int field_0x0
Definition JAISeMgr.h:18
~JASNonCopyable()
Definition JAISeMgr.h:16
JASNonCopyable()
Definition JAISeMgr.h:15
Definition JASSoundParams.h:10
Definition JGeometry.h:75