tp/include/d/actor/d_a_obj_itamato.h

123 lines
2.9 KiB
C++

#ifndef D_A_OBJ_ITAMATO_H
#define D_A_OBJ_ITAMATO_H
#include "JSystem/JHostIO/JORFile.h"
#include "f_op/f_op_actor_mng.h"
#include "d/actor/d_a_arrow.h"
#include "d/d_cc_d.h"
/**
* @ingroup actors-objects
* @class daObj_ItaMato_c
* @brief Plank Target
*
* @details
*
*/
class daObj_ItaMato_HIO_c;
class daObj_ItaMato_c : public fopAc_ac_c {
private:
/* 0x568 */ daObj_ItaMato_HIO_c* mHIO;
/* 0x56C */ request_of_phase_process_class mPhase;
/* 0x574 */ J3DModel* mpModels[2];
/* 0x57C */ dBgS_ObjAcch mBgc;
/* 0x754 */ dCcD_Stts mStts;
/* 0x790 */ dBgS_AcchCir mAcchCir;
/* 0x7D0 */ cBgS_GndChk mGndChk;
/* 0x80C */ dCcD_Sph mSph;
/* 0x944 */ cM3dGLin mLin;
/* 0x960 */ dBgS_LinChk mLinChk;
/* 0x9D0 */ csXyz field_0x9d0[3];
/* 0x9E4 */ int mCutType;
/* 0x9E8 */ int field_0x9e8;
/* 0x9EC */ f32 mGroundH;
/* 0x9F0 */ f32 field_0x9f0[3];
/* 0x9FC */ s16 field_0x9fc[3];
/* 0xA02 */ s16 field_0xa02;
/* 0xA04 */ u32 mShadowKey;
/* 0xA08 */ u32 mPrtcls[3];
/* 0xA14 */ u8 mType;
/* 0xA15 */ u8 field_0xa15;
/* 0xA15 */ u8 field_0xa16;
/* 0xA17 */ u8 field_0xa17;
/* 0xA18 */ u8 field_0xa18;
/* 0xA19 */ u8 mFake;
public:
daObj_ItaMato_c() {}
virtual ~daObj_ItaMato_c();
cPhs__Step create();
int CreateHeap();
int Delete();
int Execute();
int Draw();
static int createHeapCallBack(fopAc_ac_c*);
static void tgHitCallBack(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*);
const char* getResName();
void setSwayParam(fopAc_ac_c*);
void setPrtcls();
void setEnvTevColor();
void setRoomNo();
void setMtx();
u8 getBitSW2() { return (fopAcM_GetParam(this) & 0xFF0000) >> 16; }
u8 getBitSW() { return (fopAcM_GetParam(this) & 0xFF00) >> 8; }
int getNo() {
u8 var_r31 = fopAcM_GetParam(this) & 0xFF;
int no;
if (var_r31 == 0xFF) {
no = -1;
} else {
no = var_r31;
}
return no;
}
u8 getType() { return 0; }
void setCutType(u8 i_cutType) { mCutType = i_cutType; }
int checkCrs(fopAc_ac_c* param_0, cXyz param_1, cXyz param_2, f32 param_3) {
daArrow_c* arrow_p = (daArrow_c*)param_0;
cM3dGSph sp38;
cXyz sp2C;
cXyz sp20;
JUT_ASSERT(170, NULL != arrow_p);
if (field_0xa16 != 0 || health == 0) {
return 0;
}
sp38.Set(mSph.GetShapeP()->GetC(), mSph.GetShapeP()->GetR() + (arrow_p->getArrowAtR() * 2.0f));
if ((param_1 - current.pos).abs() < param_3) {
mLin.SetStartEnd(param_1, param_2);
if (cM3d_Cross_LinSph(&mLin, &sp38)) {
return 3;
}
}
return 0;
}
BOOL checkBrk() {
if (field_0xa15 != 0) {
return 4;
}
return 0;
}
void onFake() { mFake = true; }
};
STATIC_ASSERT(sizeof(daObj_ItaMato_c) == 0xa20);
#endif /* D_A_OBJ_ITAMATO_H */