mirror of https://github.com/zeldaret/tp
62 lines
2.0 KiB
C++
62 lines
2.0 KiB
C++
#ifndef JAISEQ_H
|
|
#define JAISEQ_H
|
|
|
|
#include "JSystem/JAudio2/JAISeqDataMgr.h"
|
|
#include "JSystem/JAudio2/JASTrack.h"
|
|
#include "JSystem/JSupport/JSUList.h"
|
|
|
|
class JAISeqMgr;
|
|
class JAISoundChild;
|
|
|
|
/**
|
|
* @ingroup jsystem-jaudio
|
|
*
|
|
*/
|
|
class JAISeq : public JASPoolAllocObject<JAISeq>, public JAISound, public JSULink<JAISeq> {
|
|
public:
|
|
static const int NUM_CHILDREN = 32;
|
|
|
|
class TInner {
|
|
public:
|
|
TInner() : mSeqData(NULL, 0) {}
|
|
|
|
/* 0x000 */ JASTrack outputTrack;
|
|
/* 0x248 */ JAISoundChild* mSoundChild[NUM_CHILDREN];
|
|
/* 0x2C8 */ JAITempoMgr mTempoMgr;
|
|
/* 0x2D8 */ JASSoundParams mSoundParams;
|
|
/* 0x2EC */ JAISeqData mSeqData;
|
|
/* 0x2F4 */ s32 field_0x39c;
|
|
/* 0x2F8 */ JAISeqMgr* seqMgr;
|
|
/* 0x2FC */ JAISoundStrategyMgr<JAISeq>* strategyMgr;
|
|
};
|
|
|
|
virtual s32 getNumChild() const;
|
|
virtual JAISoundChild* getChild(int index);
|
|
virtual void releaseChild(int index);
|
|
virtual JAISeq* asSeq();
|
|
virtual JASTrack* getTrack();
|
|
virtual JASTrack* getChildTrack(int);
|
|
virtual JAITempoMgr* getTempoMgr();
|
|
virtual bool JAISound_tryDie_();
|
|
|
|
JAISeq(JAISeqMgr* seqMgr, JAISoundStrategyMgr<JAISeq>* soundStrategyMgr);
|
|
void JAISeqMgr_startID_(JAISoundID id, const JGeometry::TVec3<f32>* posPtr, JAIAudience* audience,
|
|
int category, int);
|
|
void playSeqData_(const JASSoundParams& params, JAISoundActivity activity);
|
|
void reserveChildTracks_(int);
|
|
void releaseChildTracks_();
|
|
bool prepare_getSeqData_();
|
|
bool prepare_(const JASSoundParams& params, JAISoundActivity activity);
|
|
void JAISeqMgr_calc_();
|
|
void die_();
|
|
void mixOut_(const JASSoundParams& params, JAISoundActivity activity);
|
|
void JAISeqMgr_mixOut_(const JASSoundParams& params, JAISoundActivity activity);
|
|
|
|
JAISeqData& getSeqData() { return inner_.mSeqData; }
|
|
|
|
/* 0x0A8 */ TInner inner_;
|
|
/* 0x3A8 */ JAISoundStrategyMgr__unknown<JAISeq>* field_0x3a8;
|
|
};
|
|
|
|
#endif /* JAISEQ_H */
|