work on Z2SoundMgr and Z2SeMgr (#2055)

This commit is contained in:
Caroline Madsen
2024-01-30 19:08:37 -05:00
committed by GitHub
parent 1c891adeb8
commit 255cc868e4
49 changed files with 1341 additions and 980 deletions
+1 -1
View File
@@ -47,7 +47,7 @@ public:
JAISeqData* getSeqData() { return &inner_.mSeqData; }
u32 JAISeCategoryMgr_getProperPriority_() const { return inner_.mProperPriority; }
u32 JAISeCategoryMgr_getPriority_() const { return inner_.mPriority; }
bool isFarAway() const { return mPriority == -1; }
bool isFarAway() const { return inner_.mPriority == -1; }
/* 0x0ac */ TInner inner_;
};
+1 -1
View File
@@ -74,7 +74,7 @@ public:
/* 802A0484 */ JAISe* newSe_(int, u32);
/* 802A0574 */ void calc();
/* 802A0704 */ void mixOut();
/* 802A0768 */ int startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
/* 802A0768 */ bool startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
/* 802A08D0 */ int getNumActiveSe() const;
/* 802A08FC */ virtual ~JAISeMgr(); // inline?
+3 -1
View File
@@ -13,7 +13,7 @@ class JAISeqMgr : public JAISeqDataUser, public JASGlobalInstance<JAISeqMgr> {
public:
/* 802A1914 */ JAISeqMgr(bool);
/* 802A1A08 */ void freeDeadSeq_();
/* 802A1B48 */ int startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
/* 802A1B48 */ bool startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
/* 802A1C90 */ void calc();
/* 802A1DFC */ void stop();
/* 802A1E3C */ void stop(u32);
@@ -43,6 +43,8 @@ public:
}
JAISoundParamsMove* getParams() { return &mMove; }
bool isActive() { return mSeqList.getNumLinks() != 0; }
int getNumActiveSeqs() { return mSeqList.getNumLinks(); }
void pause(bool i_pause) { mActivity.field_0x0.flags.flag2 = i_pause; }
private:
/* 0x04 */ JAISoundActivity mActivity;
@@ -35,6 +35,8 @@ public:
numHandles_ = param_1;
};
JAISoundHandle& operator[](int n) { return mSoundHandle[n]; }
JAISoundHandle* getHandleSoundID(JAISoundID);
JAISoundHandle* getFreeHandle();
+1 -1
View File
@@ -6,7 +6,7 @@
struct JAISoundInfo : public JASGlobalInstance<JAISoundInfo> {
/* 802A2D34 */ JAISoundInfo(bool);
virtual u32 getSoundType(JAISoundID) const = 0;
virtual int getSoundType(JAISoundID) const = 0;
virtual int getCategory(JAISoundID) const = 0;
virtual u32 getPriority(JAISoundID) const = 0;
virtual void getSeInfo(JAISoundID, JAISe*) const = 0;
+2 -1
View File
@@ -13,7 +13,7 @@ class JAIStreamDataMgr;
class JAIStreamMgr : public JASGlobalInstance<JAIStreamMgr> {
public:
/* 802A3B68 */ JAIStreamMgr(bool);
/* 802A3C3C */ int startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
/* 802A3C3C */ bool startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
/* 802A3D70 */ void freeDeadStream_();
/* 802A3EBC */ void calc();
/* 802A4028 */ void stop();
@@ -32,6 +32,7 @@ public:
JUT_ASSERT(157, !isActive());
mStreamAramMgr = param_0;
}
void pause(bool i_pause) { mActivity.field_0x0.flags.flag2 = i_pause; }
private:
/* 0x00 */ JAISoundActivity mActivity;
+2 -1
View File
@@ -82,7 +82,7 @@ public:
/* 0x000 */ JAUWaveBankTable waveBankTable;
/* 0x404 */ JAISeqDataUser* seqDataUser;
/* 0x408 */ JAUDynamicSeqDataBlocks field_0x408;
/* 0x408 */ JAUDynamicSeqDataBlocks seqDataBlocks;
/* 0x430 */ JAISeqDataMgr* seSeqDataMgr_;
/* 0x434 */ JAIStreamDataMgr* streamDataMgr_;
/* 0x438 */ JAUSoundTable* soundTable;
@@ -100,6 +100,7 @@ public:
/* 802A6270 */ int releaseSeqData();
/* 802A6278 */ ~JAUSectionHeap();
TSectionHeapData const& getSectionHeapData() const { return sectionHeapData_; }
JAUWaveBankTable& getWaveBankTable() { return sectionHeapData_.waveBankTable; }
JKRHeap* getHeap() {
if (getOpenSection()->isBuilding() != 0) {
+5 -5
View File
@@ -18,15 +18,13 @@ struct JAUSeqDataBlock {
/* 0x1C */ int field_0x1c;
};
class JAUSeqDataBlocks {
class JAUSeqDataBlocks : public JSUList<JAUSeqDataBlock> {
public:
/* 802A6928 */ u8* getSeqData(JAISoundID);
/* 802A6974 */ JSULink<JAUSeqDataBlock>* seekFreeBlock(u32);
/* 802A69D8 */ bool append(JSULink<JAUSeqDataBlock>*);
/* 802A69F8 */ bool remove(JSULink<JAUSeqDataBlock>*);
/* 802A6A18 */ bool hasFailedBlock(JAISoundID);
/* 0x00 */ JSUList<JAUSeqDataBlock> field_0x0;
};
class JAUDynamicSeqDataBlocks {
@@ -40,11 +38,13 @@ public:
/* 802A6E00 */ JAUSeqDataBlock* releaseIdleDynamicSeqDataBlock_(JAISeqDataUser*, u32);
/* 802A6EDC */ void rearrangeLoadingSeqs_();
JAUSeqDataBlocks const& getFreeBlocks() const { return mFreeBlocks; }
JAUSeqDataBlocks const& getLoadedBlocks() const { return mLoadedBlocks; }
JKRArchive* getSeqDataArchive() { return seqDataArchive_; }
/* 0x00 */ JAUSeqDataBlocks field_0x0;
/* 0x00 */ JAUSeqDataBlocks mFreeBlocks;
/* 0x0C */ JAUSeqDataBlocks field_0xc;
/* 0x18 */ JAUSeqDataBlocks field_0x18;
/* 0x18 */ JAUSeqDataBlocks mLoadedBlocks;
/* 0x24 */ JKRArchive* seqDataArchive_;
};