diff options
| author | Caroline Madsen <69010899+randomsalience@users.noreply.github.com> | 2024-01-30 19:08:37 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-01-30 16:08:37 -0800 |
| commit | 255cc868e43f3754b29fa089a2a02e617ecb09bb (patch) | |
| tree | 69d3e6252f436c8af94d96f6202a9041d0e4424d /include/JSystem | |
| parent | 1c891adeb8a58a62fb3e6a6ff5bb3ec8da00f883 (diff) | |
work on Z2SoundMgr and Z2SeMgr (#2055)
Diffstat (limited to 'include/JSystem')
| -rw-r--r-- | include/JSystem/JAudio2/JAISe.h | 2 | ||||
| -rw-r--r-- | include/JSystem/JAudio2/JAISeMgr.h | 2 | ||||
| -rw-r--r-- | include/JSystem/JAudio2/JAISeqMgr.h | 4 | ||||
| -rw-r--r-- | include/JSystem/JAudio2/JAISoundHandles.h | 2 | ||||
| -rw-r--r-- | include/JSystem/JAudio2/JAISoundInfo.h | 2 | ||||
| -rw-r--r-- | include/JSystem/JAudio2/JAIStreamMgr.h | 3 | ||||
| -rw-r--r-- | include/JSystem/JAudio2/JAUSectionHeap.h | 3 | ||||
| -rw-r--r-- | include/JSystem/JAudio2/JAUSeqDataBlockMgr.h | 10 |
8 files changed, 17 insertions, 11 deletions
diff --git a/include/JSystem/JAudio2/JAISe.h b/include/JSystem/JAudio2/JAISe.h index 044f18af32..07624b2a06 100644 --- a/include/JSystem/JAudio2/JAISe.h +++ b/include/JSystem/JAudio2/JAISe.h @@ -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_; }; diff --git a/include/JSystem/JAudio2/JAISeMgr.h b/include/JSystem/JAudio2/JAISeMgr.h index 3fe166473e..f335f37b10 100644 --- a/include/JSystem/JAudio2/JAISeMgr.h +++ b/include/JSystem/JAudio2/JAISeMgr.h @@ -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? diff --git a/include/JSystem/JAudio2/JAISeqMgr.h b/include/JSystem/JAudio2/JAISeqMgr.h index 86b5dbe21a..ca3ee1f8e7 100644 --- a/include/JSystem/JAudio2/JAISeqMgr.h +++ b/include/JSystem/JAudio2/JAISeqMgr.h @@ -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; diff --git a/include/JSystem/JAudio2/JAISoundHandles.h b/include/JSystem/JAudio2/JAISoundHandles.h index ffe285d818..4182a560a6 100644 --- a/include/JSystem/JAudio2/JAISoundHandles.h +++ b/include/JSystem/JAudio2/JAISoundHandles.h @@ -35,6 +35,8 @@ public: numHandles_ = param_1; }; + JAISoundHandle& operator[](int n) { return mSoundHandle[n]; } + JAISoundHandle* getHandleSoundID(JAISoundID); JAISoundHandle* getFreeHandle(); diff --git a/include/JSystem/JAudio2/JAISoundInfo.h b/include/JSystem/JAudio2/JAISoundInfo.h index 081a9e6afe..84b10883b1 100644 --- a/include/JSystem/JAudio2/JAISoundInfo.h +++ b/include/JSystem/JAudio2/JAISoundInfo.h @@ -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; diff --git a/include/JSystem/JAudio2/JAIStreamMgr.h b/include/JSystem/JAudio2/JAIStreamMgr.h index c98c1b9d6b..6d498da9ba 100644 --- a/include/JSystem/JAudio2/JAIStreamMgr.h +++ b/include/JSystem/JAudio2/JAIStreamMgr.h @@ -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; diff --git a/include/JSystem/JAudio2/JAUSectionHeap.h b/include/JSystem/JAudio2/JAUSectionHeap.h index aa1bde433a..ad14fa5c20 100644 --- a/include/JSystem/JAudio2/JAUSectionHeap.h +++ b/include/JSystem/JAudio2/JAUSectionHeap.h @@ -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) { diff --git a/include/JSystem/JAudio2/JAUSeqDataBlockMgr.h b/include/JSystem/JAudio2/JAUSeqDataBlockMgr.h index c3176f9ab7..c3dca05ad9 100644 --- a/include/JSystem/JAudio2/JAUSeqDataBlockMgr.h +++ b/include/JSystem/JAudio2/JAUSeqDataBlockMgr.h @@ -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_; }; |
