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
16
17 /* 0x0 */ int field_0x0;
18}; // Size: 0x4
19
28
36
37class JAISeMgr;
38
44public:
45 void JAISeMgr_calc_();
47 bool JAISeMgr_acceptsNewSe_(u32 priority) const;
48 void sortByPriority_();
49 void stop(u32 fadeTime);
50 void stop();
51 void stopSoundID(JAISoundID id);
52 void pause(bool);
53 void JAISeMgr_mixOut_(const JAISoundParamsMove& params, JAISoundActivity activity);
55 mParams.init();
56 mMaxActiveSe = 0;
58 field_0x0 = 0;
59 }
60
61 virtual bool isUsingSeqData(const JAISeqDataRegion& seqDataRegion);
62 virtual int releaseSeqData(const JAISeqDataRegion& seqDataRegion);
63
65 int getMaxSe() const {
66 if (mMaxActiveSe == 0) {
67 return 0;
68 }
69
71 }
72 int getMaxActiveSe() const { return mMaxActiveSe; }
73 void setMaxActiveSe(int num) { mMaxActiveSe = num; }
74 void setMaxInactiveSe(int num) { mMaxInactiveSe = num; }
75 const JSUList<JAISe>* getSeList() const { return &mSeList; }
76 int getNumSe() const { return mSeList.getNumLinks(); }
79
82 /* 0x64 */ int mMaxInactiveSe;
83 /* 0x68 */ int mMaxActiveSe;
84}; // Size: 0x6C
85
90class JAISeMgr : public JASGlobalInstance<JAISeMgr>,
91 public JAISeqDataUser,
92 public JAISoundActivity {
93public:
94 JAISeMgr(bool setInstance);
95 void setCategoryArrangement(const JAISeCategoryArrangement& arrangement);
96 void stop();
97 void stopSoundID(JAISoundID id);
98 void initParams();
99 void setAudience(JAIAudience* audience);
100 void setSeqDataMgr(JAISeqDataMgr* seqDataMgr);
101 void resetSeqDataMgr();
102 JAISe* newSe_(int category, u32 priority);
103 void calc();
104 void mixOut();
105 bool startSound(JAISoundID id, JAISoundHandle* handle, const JGeometry::TVec3<f32>* posPtr);
106 int getNumActiveSe() const;
107
108 virtual bool isUsingSeqData(const JAISeqDataRegion& seqDataRegion);
109 virtual int releaseSeqData(const JAISeqDataRegion& seqDataRegion);
110
114 if (index >= 0 && index < NUM_CATEGORIES) {
116 if (rv) return rv;
117 }
118 return mAudience;
119 }
122
123 bool isActive() const { return getNumActiveSe() > 0; }
124
125 static const int NUM_CATEGORIES = 16;
126
127private:
128 /* 0x008 */ JAIAudience* mAudience;
133}; // Size: 0x724
134
135#if VERSION != VERSION_SHIELD_DEBUG
136STATIC_ASSERT(sizeof(JAISeMgr) == 0x724);
137#endif
138
139#endif /* JAISEMGR_H */
STATIC_ASSERT(sizeof(JAISeMgr)==0x724)
Definition JAISeMgr.h:43
void pause(bool)
Definition JAISeMgr.cpp:125
void setMaxActiveSe(int num)
Definition JAISeMgr.h:73
void sortByPriority_()
Definition JAISeMgr.cpp:80
int getMaxSe() const
Definition JAISeMgr.h:65
virtual int releaseSeqData(const JAISeqDataRegion &seqDataRegion)
Definition JAISeMgr.cpp:21
int getNumSe() const
Definition JAISeMgr.h:76
bool JAISeMgr_acceptsNewSe_(u32 priority) const
Definition JAISeMgr.cpp:57
JSUList< JAISe > mSeList
Definition JAISeMgr.h:81
void JAISeMgr_mixOut_(const JAISoundParamsMove &params, JAISoundActivity activity)
Definition JAISeMgr.cpp:131
JAISeCategoryMgr()
Definition JAISeMgr.h:54
void JAISeMgr_appendSe_(JAISe *se)
Definition JAISeMgr.h:78
int mMaxInactiveSe
Definition JAISeMgr.h:82
void stop()
Definition JAISeMgr.cpp:109
virtual bool isUsingSeqData(const JAISeqDataRegion &seqDataRegion)
Definition JAISeMgr.cpp:8
JAISoundParamsMove mParams
Definition JAISeMgr.h:80
JAIAudience * getAudience()
Definition JAISeMgr.h:77
JAISoundParamsMove * getParams()
Definition JAISeMgr.h:64
int getMaxActiveSe() const
Definition JAISeMgr.h:72
int mMaxActiveSe
Definition JAISeMgr.h:83
void setMaxInactiveSe(int num)
Definition JAISeMgr.h:74
const JSUList< JAISe > * getSeList() const
Definition JAISeMgr.h:75
void JAISeMgr_freeDeadSe_()
Definition JAISeMgr.cpp:44
void stopSoundID(JAISoundID id)
Definition JAISeMgr.cpp:115
void JAISeMgr_calc_()
Definition JAISeMgr.cpp:34
Definition JAISeMgr.h:92
void mixOut()
Definition JAISeMgr.cpp:269
JAISeCategoryMgr * getCategory(int index)
Definition JAISeMgr.h:111
void setAudience(JAIAudience *audience)
Definition JAISeMgr.cpp:218
JAISeMgr(bool setInstance)
Definition JAISeMgr.cpp:160
virtual bool isUsingSeqData(const JAISeqDataRegion &seqDataRegion)
Definition JAISeMgr.cpp:168
static const int NUM_CATEGORIES
Definition JAISeMgr.h:125
JAISeCategoryMgr mCategoryMgrs[NUM_CATEGORIES]
Definition JAISeMgr.h:131
JAISoundStrategyMgr< JAISe > * mStrategyMgr
Definition JAISeMgr.h:130
JAIAudience * mAudience
Definition JAISeMgr.h:128
void setSeqDataMgr(JAISeqDataMgr *seqDataMgr)
Definition JAISeMgr.cpp:223
bool startSound(JAISoundID id, JAISoundHandle *handle, const JGeometry::TVec3< f32 > *posPtr)
Definition JAISeMgr.cpp:275
JAIAudience * getAudience(int index)
Definition JAISeMgr.h:113
virtual int releaseSeqData(const JAISeqDataRegion &seqDataRegion)
Definition JAISeMgr.cpp:177
int getNumActiveSe() const
Definition JAISeMgr.cpp:313
void stopSoundID(JAISoundID id)
Definition JAISeMgr.cpp:205
JAISoundParamsMove mParams
Definition JAISeMgr.h:132
void calc()
Definition JAISeMgr.cpp:259
JAISeqDataMgr * mSeqDataMgr
Definition JAISeMgr.h:129
JAIAudience * getAudience()
Definition JAISeMgr.h:112
JAISoundParamsMove * getParams()
Definition JAISeMgr.h:121
void resetSeqDataMgr()
Definition JAISeMgr.cpp:230
void stop()
Definition JAISeMgr.cpp:199
JAISeqDataMgr * getSeqDataMgr()
Definition JAISeMgr.h:120
void setCategoryArrangement(const JAISeCategoryArrangement &arrangement)
Definition JAISeMgr.cpp:192
JAISe * newSe_(int category, u32 priority)
Definition JAISeMgr.cpp:237
void initParams()
Definition JAISeMgr.cpp:211
bool isActive() const
Definition JAISeMgr.h:123
Definition JAISe.h:13
Definition JAISound.h:183
Definition JAISoundHandles.h:14
Definition JAISound.h:13
Definition JASGadget.h:12
Definition JSUList.h:96
bool append(JSULink< T > *link)
Definition JSUList.h:103
u32 getNumLinks() const
Definition JSUList.h:121
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:24
u8 mMaxActiveSe
Definition JAISeMgr.h:25
u8 mMaxInactiveSe
Definition JAISeMgr.h:26
Definition JAISeMgr.h:33
JAISeCategoryArrangementItem mItems[16]
Definition JAISeMgr.h:34
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:173
Definition JAISeMgr.h:14
int field_0x0
Definition JAISeMgr.h:17
JASNonCopyable()
Definition JAISeMgr.h:15
Definition JASSoundParams.h:10
Definition JGeometry.h:70