Files
tp/include/JSystem/JAudio2/JAUSeqDataBlockMgr.h
T

63 lines
1.7 KiB
C++
Raw Normal View History

2021-03-28 22:49:05 +02:00
#ifndef JAUSEQDATABLOCKMGR_H
#define JAUSEQDATABLOCKMGR_H
#include "JSystem/JAudio2/JAISeqDataMgr.h"
#include "JSystem/JSupport/JSUList.h"
class JAISeqData;
class JAISeqDataUser;
class JKRArchive;
2024-04-12 00:10:30 -06:00
/**
* @ingroup jsystem-jaudio
*
*/
struct JAUSeqDataBlock {
2025-11-30 14:23:42 -08:00
JAUSeqDataBlock();
2023-09-15 05:20:09 -07:00
/* 0x00 */ JSULink<JAUSeqDataBlock> field_0x0;
/* 0x10 */ JAISoundID field_0x10;
/* 0x14 */ JAISeqDataRegion field_0x14;
2023-09-15 05:20:09 -07:00
/* 0x1C */ int field_0x1c;
};
2024-04-12 00:10:30 -06:00
/**
* @ingroup jsystem-jaudio
*
*/
2024-01-30 19:08:37 -05:00
class JAUSeqDataBlocks : public JSUList<JAUSeqDataBlock> {
public:
2025-11-30 14:23:42 -08:00
u8* getSeqData(JAISoundID);
JSULink<JAUSeqDataBlock>* seekFreeBlock(u32);
bool append(JSULink<JAUSeqDataBlock>*);
bool remove(JSULink<JAUSeqDataBlock>*);
bool hasFailedBlock(JAISoundID);
};
2024-04-12 00:10:30 -06:00
/**
* @ingroup jsystem-jaudio
*
*/
class JAUDynamicSeqDataBlocks {
public:
2025-11-30 14:23:42 -08:00
JAUDynamicSeqDataBlocks();
void setSeqDataArchive(JKRArchive*);
s32 getSeqData(JAISoundID, JAISeqDataUser*, JAISeqData*, bool);
bool appendDynamicSeqDataBlock(JAUSeqDataBlock*);
bool loadDynamicSeq(JAISoundID, bool, JAISeqDataUser*);
u32 releaseIdleDynamicSeqDataBlock(JAISeqDataUser*);
JAUSeqDataBlock* releaseIdleDynamicSeqDataBlock_(JAISeqDataUser*, u32);
void rearrangeLoadingSeqs_();
2024-01-30 19:08:37 -05:00
JAUSeqDataBlocks const& getFreeBlocks() const { return mFreeBlocks; }
JAUSeqDataBlocks const& getLoadedBlocks() const { return mLoadedBlocks; }
2023-09-15 05:20:09 -07:00
JKRArchive* getSeqDataArchive() { return seqDataArchive_; }
2024-01-30 19:08:37 -05:00
/* 0x00 */ JAUSeqDataBlocks mFreeBlocks;
/* 0x0C */ JAUSeqDataBlocks field_0xc;
2024-01-30 19:08:37 -05:00
/* 0x18 */ JAUSeqDataBlocks mLoadedBlocks;
/* 0x24 */ JKRArchive* seqDataArchive_;
};
2021-03-28 22:49:05 +02:00
#endif /* JAUSEQDATABLOCKMGR_H */