Files
tp/include/JSystem/JAudio2/JAUSeqDataBlockMgr.h
Pheenoh a61e3491f7 d_a_e_fz work, doxygen revamp (#2127)
* initial freezard actor struct + setActionMode OK

* daE_FZ_Draw

* setReflectAngle

* mBoundSoundset

* daE_FZ_Execute & execute

* demoDelete

* daE_FZ_Delete & _delete

* CreateHeap

* useHeapInit

* cc_set

* mtx_set

* action WIP

* way_gake_check

* executeRollMove

* executeMove

* draw WIP

* executeDamage

* checkpoint

* create

* checkpoint

* daE_FZ_c::executeWait

* checkpoint

* daE_FZ_c::damage_check almost done

* rm asm

* rm headers

* setup_profile WIP + doxygen update

* fix merge issues

* docs fix?

* fix2

* doxygen updates

* setup g_profile_E_FZ, profile setup script WIP

* update github actions

* update progress.md
2024-04-12 00:10:30 -06:00

63 lines
1.9 KiB
C++

#ifndef JAUSEQDATABLOCKMGR_H
#define JAUSEQDATABLOCKMGR_H
#include "JSystem/JAudio2/JAISeqDataMgr.h"
#include "JSystem/JSupport/JSUList.h"
class JAISeqData;
class JAISeqDataUser;
class JKRArchive;
/**
* @ingroup jsystem-jaudio
*
*/
struct JAUSeqDataBlock {
/* 802A68F4 */ JAUSeqDataBlock();
/* 0x00 */ JSULink<JAUSeqDataBlock> field_0x0;
/* 0x10 */ JAISoundID field_0x10;
/* 0x14 */ JAISeqDataRegion field_0x14;
/* 0x1C */ int field_0x1c;
};
/**
* @ingroup jsystem-jaudio
*
*/
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);
};
/**
* @ingroup jsystem-jaudio
*
*/
class JAUDynamicSeqDataBlocks {
public:
/* 802A6A58 */ JAUDynamicSeqDataBlocks();
/* 802A6AA0 */ void setSeqDataArchive(JKRArchive*);
/* 802A6AA8 */ s32 getSeqData(JAISoundID, JAISeqDataUser*, JAISeqData*, bool);
/* 802A6B8C */ bool appendDynamicSeqDataBlock(JAUSeqDataBlock*);
/* 802A6C18 */ bool loadDynamicSeq(JAISoundID, bool, JAISeqDataUser*);
/* 802A6D48 */ u32 releaseIdleDynamicSeqDataBlock(JAISeqDataUser*);
/* 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 mFreeBlocks;
/* 0x0C */ JAUSeqDataBlocks field_0xc;
/* 0x18 */ JAUSeqDataBlocks mLoadedBlocks;
/* 0x24 */ JKRArchive* seqDataArchive_;
};
#endif /* JAUSEQDATABLOCKMGR_H */