tp/include/JSystem/JAudio2/JASSeqCtrl.h

80 lines
2.6 KiB
C++

#ifndef JASSEQCTRL_H
#define JASSEQCTRL_H
#include "JSystem/JAudio2/JASSeqReader.h"
class JASTrack;
class JASSeqParser;
/**
* @ingroup jsystem-jaudio
*
*/
class JASSeqCtrl {
public:
enum IntrType {
INTRTYPE_VALUE_0,
INTRTYPE_VALUE_1,
INTRTYPE_VALUE_2,
INTRTYPE_VALUE_3,
INTRTYPE_VALUE_4,
INTRTYPE_VALUE_5,
INTRTYPE_VALUE_6,
};
/* 802938BC */ JASSeqCtrl();
/* 80293924 */ void init();
/* 80293980 */ void start(void*, u32);
/* 802939C4 */ int tickProc(JASTrack*);
/* 80293ABC */ void interrupt(JASSeqCtrl::IntrType);
/* 80293AE0 */ void setIntrMask(u32);
/* 80293AF0 */ void clrIntrMask(u32);
/* 80293B00 */ int retIntr();
/* 80293B28 */ int findIntr();
/* 80293B78 */ void checkIntr();
/* 80293BE8 */ void timerProcess();
const JASSeqReader* getSeqReader() const { return &mReader; }
void* getBase() { return mReader.getBase(); }
void* getAddr(u32 param_0) { return mReader.getAddr(param_0); }
u8 getByte(u32 param_0) const { return mReader.getByte(param_0); }
u16 get16(u32 param_0) const { return mReader.get16(param_0); }
u32 get24(u32 param_0) const { return mReader.get24(param_0); }
u32 get32(u32 param_0) const { return mReader.get32(param_0); }
void* getCur() { return mReader.getCur(); }
u32 readByte() { return mReader.readByte(); }
u32 read16() { return mReader.read16(); }
u32 read24() { return mReader.read24(); }
bool call(u32 param_0) { return mReader.call(param_0); }
bool ret() { return mReader.ret(); }
void jump(u32 param_0) { mReader.jump(param_0); }
bool loopStart(u32 param_0) { return mReader.loopStart(param_0); }
bool loopEnd() { return mReader.loopEnd(); }
int readMidiValue() { return mReader.readMidiValue(); }
void wait(s32 param_0) { field_0x40 = param_0; }
void clrIntr() { field_0x44 = NULL; }
void setIntrTable(u32 param_0) { field_0x48 = param_0; }
void setIntrTimer(u32 param_0, u32 param_1) {
field_0x50 = param_0;
field_0x54 = param_1;
field_0x58 = param_1;
}
void waitNoteFinish() { field_0x51 = 1; }
/* 0x00 */ JASSeqReader mReader;
/* 0x3c */ JASSeqParser* field_0x3c;
/* 0x40 */ s32 field_0x40;
/* 0x44 */ void* field_0x44;
/* 0x48 */ u32 field_0x48;
/* 0x4c */ u16 field_0x4c;
/* 0x4e */ u16 field_0x4e;
/* 0x50 */ u8 field_0x50;
/* 0x51 */ u8 field_0x51;
/* 0x52 */ u16 field_0x52;
/* 0x54 */ u32 field_0x54;
/* 0x58 */ u32 field_0x58;
static JASSeqParser sDefaultParser;
};
#endif /* JASSEQCTRL_H */