Files
dusklight/include/JSystem/JAudio2/JASSeqCtrl.h
T
Pheenoh 7154ac08e1 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

80 lines
2.5 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) { return mReader.getByte(param_0); }
u16 get16(u32 param_0) { return mReader.get16(param_0); }
u32 get24(int param_0) { return mReader.get24(param_0); }
u32 get32(u32 param_0) { 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 */