Loading [MathJax]/extensions/MathMenu.js
Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
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
15 /* 0x0 */ int field_0x0;
16}; // Size: 0x4
17
26
34
35class JAISeMgr;
36
42public:
43 /* 8029F9C4 */ void JAISeMgr_calc_();
44 /* 8029FB30 */ void JAISeMgr_freeDeadSe_();
45 /* 8029FC88 */ bool JAISeMgr_acceptsNewSe_(u32) const;
46 /* 8029FD40 */ void sortByPriority_();
47 /* 8029FDE0 */ void stop(u32);
48 /* 8029FE34 */ void stop();
49 /* 8029FE78 */ void stopSoundID(JAISoundID);
50 /* 8029FEEC */ void pause(bool);
51 /* 8029FF18 */ void JAISeMgr_mixOut_(JAISoundParamsMove const&, JAISoundActivity);
52 /* 802A0994 */ JAISeCategoryMgr() {
53 mParams.init();
54 mMaxActiveSe = 0;
57 }
58
59 /* 800078DC */ virtual ~JAISeCategoryMgr() {}
60 /* 8029F8B0 */ virtual bool isUsingSeqData(JAISeqDataRegion const&);
61 /* 8029F91C */ virtual int releaseSeqData(JAISeqDataRegion const&);
62
64 int getMaxSe() const {
65 return (mMaxActiveSe == 0) ? 0 : mMaxActiveSe + mMaxInactiveSe;
66 }
67 int getMaxActiveSe() const { return mMaxActiveSe; }
68 void setMaxActiveSe(int se) { mMaxActiveSe = se; }
69 void setMaxInactiveSe(int se) { mMaxInactiveSe = se; }
71 int getNumSe() const { return mSeList.getNumLinks(); }
74
78 /* 0x64 */ int mMaxInactiveSe;
79 /* 0x68 */ int mMaxActiveSe;
80}; // Size: 0x6C
81
86class JAISeMgr : public JASGlobalInstance<JAISeMgr>,
87 public JAISeqDataUser,
88 public JAISoundActivity {
89public:
90 /* 802A0074 */ JAISeMgr(bool);
91 /* 802A0268 */ void setCategoryArrangement(JAISeCategoryArrangement const&);
92 /* 802A02A0 */ void stop();
93 /* 802A02F4 */ void stopSoundID(JAISoundID);
94 /* 802A0358 */ void initParams();
95 /* 802A03D8 */ void setAudience(JAIAudience*);
96 /* 802A03E0 */ void setSeqDataMgr(JAISeqDataMgr*);
97 /* 802A0434 */ void resetSeqDataMgr();
98 /* 802A0484 */ JAISe* newSe_(int, u32);
99 /* 802A0574 */ void calc();
100 /* 802A0704 */ void mixOut();
101 /* 802A0768 */ bool startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
102 /* 802A08D0 */ int getNumActiveSe() const;
103
104 /* 802A08FC */ virtual ~JAISeMgr() {}
105 /* 802A0168 */ virtual bool isUsingSeqData(JAISeqDataRegion const&);
106 /* 802A01D8 */ virtual int releaseSeqData(JAISeqDataRegion const&);
107
108 JAISeCategoryMgr* getCategory(int categoryIndex) { return &mCategoryMgrs[categoryIndex]; }
109 JAIAudience* getAudience(int categoryIndex) {
110 if (categoryIndex >= 0 && categoryIndex < 16) {
111 JAIAudience* rv = mCategoryMgrs[categoryIndex].getAudience();
112 if (rv) return rv;
113 }
114 return mAudience;
115 }
118
119private:
120 /* 0x008 */ JAIAudience* mAudience;
125}; // Size: 0x724
126
127#if VERSION != VERSION_SHIELD_DEBUG
128STATIC_ASSERT(sizeof(JAISeMgr) == 0x724);
129#endif
130
131#endif /* JAISEMGR_H */
STATIC_ASSERT(sizeof(JAISeMgr)==0x724)
Definition JAISeMgr.h:41
void pause(bool)
Definition JAISeMgr.cpp:137
virtual ~JAISeCategoryMgr()
Definition JAISeMgr.h:59
virtual int releaseSeqData(JAISeqDataRegion const &)
Definition JAISeMgr.cpp:28
void sortByPriority_()
Definition JAISeMgr.cpp:92
int getMaxSe() const
Definition JAISeMgr.h:64
int getNumSe() const
Definition JAISeMgr.h:71
JSUList< JAISe > mSeList
Definition JAISeMgr.h:77
void stopSoundID(JAISoundID)
Definition JAISeMgr.cpp:126
JAISeCategoryMgr()
Definition JAISeMgr.h:52
void JAISeMgr_appendSe_(JAISe *se)
Definition JAISeMgr.h:73
int mMaxInactiveSe
Definition JAISeMgr.h:78
void stop()
Definition JAISeMgr.cpp:118
JAISoundParamsMove mParams
Definition JAISeMgr.h:76
JAIAudience * getAudience()
Definition JAISeMgr.h:72
JAISoundParamsMove * getParams()
Definition JAISeMgr.h:63
int getMaxActiveSe() const
Definition JAISeMgr.h:67
int mMaxActiveSe
Definition JAISeMgr.h:79
void setMaxInactiveSe(int se)
Definition JAISeMgr.h:69
JASNonCopyable field_0x4
Definition JAISeMgr.h:75
virtual bool isUsingSeqData(JAISeqDataRegion const &)
Definition JAISeMgr.cpp:13
void JAISeMgr_freeDeadSe_()
Definition JAISeMgr.cpp:59
JSUList< JAISe > * getSeList()
Definition JAISeMgr.h:70
void JAISeMgr_calc_()
Definition JAISeMgr.cpp:47
void setMaxActiveSe(int se)
Definition JAISeMgr.h:68
void JAISeMgr_mixOut_(JAISoundParamsMove const &, JAISoundActivity)
Definition JAISeMgr.cpp:145
bool JAISeMgr_acceptsNewSe_(u32) const
Definition JAISeMgr.cpp:73
Definition JAISeMgr.h:88
void mixOut()
Definition JAISeMgr.cpp:291
void setSeqDataMgr(JAISeqDataMgr *)
Definition JAISeMgr.cpp:246
void setCategoryArrangement(JAISeCategoryArrangement const &)
Definition JAISeMgr.cpp:210
JAISeCategoryMgr mCategoryMgrs[16]
Definition JAISeMgr.h:123
virtual ~JAISeMgr()
Definition JAISeMgr.h:104
JAISe * newSe_(int, u32)
Definition JAISeMgr.cpp:261
JAISoundStrategyMgr< JAISe > * mStrategyMgr
Definition JAISeMgr.h:122
virtual int releaseSeqData(JAISeqDataRegion const &)
Definition JAISeMgr.cpp:194
void setAudience(JAIAudience *)
Definition JAISeMgr.cpp:241
bool startSound(JAISoundID, JAISoundHandle *, JGeometry::TVec3< f32 > const *)
Definition JAISeMgr.cpp:299
JAIAudience * mAudience
Definition JAISeMgr.h:120
void stopSoundID(JAISoundID)
Definition JAISeMgr.cpp:226
virtual bool isUsingSeqData(JAISeqDataRegion const &)
Definition JAISeMgr.cpp:183
JAISeCategoryMgr * getCategory(int categoryIndex)
Definition JAISeMgr.h:108
int getNumActiveSe() const
Definition JAISeMgr.cpp:332
JAISoundParamsMove mParams
Definition JAISeMgr.h:124
void calc()
Definition JAISeMgr.cpp:280
JAISeqDataMgr * mSeqDataMgr
Definition JAISeMgr.h:121
JAISoundParamsMove * getParams()
Definition JAISeMgr.h:117
void resetSeqDataMgr()
Definition JAISeMgr.cpp:253
void stop()
Definition JAISeMgr.cpp:218
JAISeqDataMgr * getSeqDataMgr()
Definition JAISeMgr.h:116
JAISeMgr(bool)
Definition JAISeMgr.cpp:173
JAIAudience * getAudience(int categoryIndex)
Definition JAISeMgr.h:109
void initParams()
Definition JAISeMgr.cpp:233
Definition JAISe.h:13
Definition JAISound.h:183
Definition JAISoundHandles.h:14
Definition JAISound.h:12
Definition JASGadget.h:12
Definition JSUList.h:96
bool append(JSULink< T > *link)
Definition JSUList.h:103
u32 getNumLinks() const
Definition JSUList.h:121
Definition JAIAudience.h:14
Definition JAISeMgr.h:22
u8 mMaxActiveSe
Definition JAISeMgr.h:23
u8 mMaxInactiveSe
Definition JAISeMgr.h:24
Definition JAISeMgr.h:31
JAISeCategoryArrangementItem mItems[16]
Definition JAISeMgr.h:32
Definition JAISeqDataMgr.h:58
Definition JAISeqDataMgr.h:29
Definition JAISeqDataMgr.h:48
Definition JAISoundParams.h:85
void init()
Definition JAISoundParams.h:88
Definition JAISound.h:167
Definition JAISeMgr.h:14
int field_0x0
Definition JAISeMgr.h:15
Definition JASSoundParams.h:10
Definition JGeometry.h:55
unsigned long u32
Definition types.h:9
unsigned char u8
Definition types.h:5