mirror of
https://github.com/zeldaret/tww.git
synced 2026-06-25 09:22:20 -04:00
107 lines
2.5 KiB
C++
107 lines
2.5 KiB
C++
#ifndef D_A_AGBSW0_H
|
|
#define D_A_AGBSW0_H
|
|
|
|
#include "f_op/f_op_actor_mng.h"
|
|
#include "d/d_cc_d.h"
|
|
|
|
class daAgb_c;
|
|
|
|
struct agb_mail_struct {
|
|
/* 0x00 */ u16 msgNo;
|
|
/* 0x02 */ u8 swToSet;
|
|
/* 0x03 */ u8 stageNo;
|
|
/* 0x04 */ u8 roomNo;
|
|
/* 0x05 */ u8 reactType;
|
|
/* 0x06 */ u8 swToCheck;
|
|
/* 0x07 */ u8 sfx;
|
|
};
|
|
|
|
class daAgbsw0_c : public fopAc_ac_c {
|
|
public:
|
|
enum {
|
|
daAgbsw0Type_A_e = 0x00,
|
|
daAgbsw0Type_AT_e = 0x01,
|
|
daAgbsw0Type_M_e = 0x02,
|
|
daAgbsw0Type_A2_e = 0x03,
|
|
daAgbsw0Type_F2_e = 0x04,
|
|
daAgbsw0Type_F_e = 0x05,
|
|
daAgbsw0Type_T_e = 0x06,
|
|
daAgbsw0Type_MW_e = 0x07,
|
|
daAgbsw0Type_S_e = 0x08,
|
|
daAgbsw0Type_R_e = 0x09,
|
|
daAgbsw0Type_B_e = 0x0A,
|
|
daAgbsw0Type_D_e = 0x0B,
|
|
daAgbsw0Type_FA_e = 0x0C,
|
|
daAgbsw0Type_UNK_0xD_e = 0x0D,
|
|
daAgbsw0Type_UNK_0xE_e = 0x0E,
|
|
};
|
|
|
|
/* 0x290 */ f32 mOrigScaleX;
|
|
/* 0x294 */ f32 mOrigScaleZ;
|
|
/* 0x298 */ u8 field_0x298;
|
|
/* 0x299 */ u8 field_0x299;
|
|
/* 0x29A */ bool mNonCircular;
|
|
/* 0x29B */ u8 field_0x29B;
|
|
/* 0x29C */ u32 mTimer;
|
|
/* 0x2A0 */ dCcD_Stts mStts;
|
|
/* 0x2DC */ dCcD_Cyl mCyl;
|
|
|
|
BOOL ExeSubA();
|
|
BOOL ExeSubAT();
|
|
BOOL ExeSubA2();
|
|
BOOL ExeSubF();
|
|
BOOL ExeSubF2();
|
|
BOOL ExeSubM();
|
|
BOOL ExeSubM2();
|
|
BOOL ExeSubM3();
|
|
#if VERSION == VERSION_JPN
|
|
u32 TriforceCheck();
|
|
#else
|
|
u32 TriforceCheck(daAgb_c*);
|
|
#endif
|
|
BOOL ExeSubMW();
|
|
BOOL ExeSubT();
|
|
BOOL ExeSubS();
|
|
BOOL ExeSubR();
|
|
BOOL ExeSubB();
|
|
BOOL ExeSubD();
|
|
BOOL ExeSubFA();
|
|
BOOL HitCheck(fopAc_ac_c*);
|
|
BOOL HitCheck(cXyz, f32);
|
|
BOOL MoveCheck(s16);
|
|
void MailSend(u16, u8, u8, u8, u8);
|
|
|
|
u8 getSw0() {
|
|
return fopAcM_GetParam(this) >> 0x10 & 0xFF;
|
|
}
|
|
u8 getSw1() {
|
|
return fopAcM_GetParam(this) >> 0x18 & 0xFF;
|
|
}
|
|
u8 getType() {
|
|
return current.angle.z & 0xFF;
|
|
}
|
|
u16 getMsgNo() {
|
|
return fopAcM_GetParam(this) & 0xFFFF;
|
|
}
|
|
s16 getParamNo() {
|
|
return current.angle.x & 0xFFFF;
|
|
}
|
|
|
|
static void incTclDispose();
|
|
static void incTclBeat();
|
|
|
|
inline BOOL draw();
|
|
inline cPhs_State create();
|
|
inline BOOL execute();
|
|
inline void deleteSub();
|
|
|
|
static agb_mail_struct mMail;
|
|
static u32 mSE;
|
|
static u8 mFigureDispose;
|
|
static u8 mFigureBeat;
|
|
static u16 BeatedMsg[];
|
|
static u16 DisposedMsg[];
|
|
}; // Size 0x40C
|
|
|
|
#endif /* D_A_AGBSW0_H */
|