tp/include/d/actor/d_a_npc2.h

185 lines
6.0 KiB
C++

#ifndef D_A_NPC2
#define D_A_NPC2
#include "d/d_bg_s_movebg_actor.h"
#include "d/d_msg_flow.h"
#include "d/d_path.h"
class daBaseNpc_acMngr_c {
public:
/* 8014D804 */ daBaseNpc_acMngr_c();
/* 8014D81C */ void entry(fopAc_ac_c*);
/* 8014D838 */ fopAc_ac_c* getActor();
/* 80150524 */ virtual ~daBaseNpc_acMngr_c() {}
private:
/* 0x04 */ fpc_ProcID mActorId;
};
class daBaseNpc_matAnm_c : public J3DMaterialAnm {
public:
/* 80150444 */ virtual ~daBaseNpc_matAnm_c() {}
/* 8014D884 */ virtual void calc(J3DMaterial*) const;
/* 0x0F4 */ mutable f32 field_0xF4;
/* 0x0F8 */ mutable f32 field_0xF8;
/* 0x0FC */ f32 mNowOffsetX;
/* 0x100 */ f32 mNowOffsetY;
/* 0x104 */ u8 mEyeMoveFlg;
/* 0x105 */ u8 mMorfFrm;
};
class daBaseNpc_path_c {
public:
/* 8014D998 */ daBaseNpc_path_c();
/* 8014D9A8 */ BOOL isPath();
/* 8014D9BC */ int setPathInfo(u8, s8, s8);
/* 8014DA48 */ void reverseDir();
/* 8014DA64 */ s32 chkPnt(cXyz);
/* 8014DAC4 */ BOOL setNextPnt();
/* 8014DB04 */ u16 getIdx();
/* 8014DB0C */ void setIdx(u16);
/* 8014DB14 */ Vec getPntPos(u16);
void dbgDraw(f32);
/* 801503FC */ virtual ~daBaseNpc_path_c() {}
static const int MAXNUMCONTROLPNT_e = 64;
public:
/* 0x004 */ dPath* mPathInfo;
/* 0x008 */ f32 field_0x8;
/* 0x00C */ dPnt mCurvePnts[160];
/* 0xA0C */ u8 field_0xa0c[0xA0E - 0xA0C];
/* 0xA0E */ u16 mCurvePntNum;
/* 0xA10 */ u16 mIdx;
/* 0xA12 */ s8 mDirection;
/* 0xA13 */ u8 field_0xa13;
/* 0xA14 */ s16 field_0xa14;
/* 0xA16 */ u8 field_0xa16[2];
/* 0xA18 */ int field_0xa18;
/* 0xA1C */ u8 field_0xa1c[8];
};
class daBaseNpc_lookat_c {
public:
/* 8014DB40 */ void limitter(s16, s16*, s16, s16);
/* 8014DBB4 */ void calc(fopAc_ac_c*, f32 (*)[4], s16);
/* 8014E634 */ void setMaxJntLmt(csXyz, int);
/* 8014E658 */ void setMinJntLmt(csXyz, int);
/* 8014E67C */ void setJntPos(cXyz, int);
/* 8014E6A0 */ int setAttnPos(cXyz*);
/* 8014E6AC */ csXyz getRot(int);
/* 801502EC */ virtual ~daBaseNpc_lookat_c() {}
/* 0x04 */ csXyz mMaxJntLmt[4];
/* 0x1C */ csXyz mMinJntLmt[4];
/* 0x34 */ cXyz mJntPos[4];
/* 0x64 */ csXyz field_0x64[4];
/* 0x7C */ csXyz mRot[4];
/* 0x94 */ u8 field_0x94[4];
/* 0x98 */ cXyz* mpAttnPos;
};
class daBaseNpc_c : public fopAc_ac_c {
public:
/* 8014E6C8 */ daBaseNpc_c();
/* 8014EE44 */ J3DAnmTransform* getTrnsfrmKeyAnmP(char*, int);
/* 8014EE80 */ int setMcaMorfAnm(J3DAnmTransformKey*, f32, f32, int, int, int);
/* 8014EEE4 */ int setBckAnm(J3DAnmTransform*, f32, int, int, int, bool);
/* 8014EF28 */ J3DAnmTransform* getTexPtrnAnmP(char*, int);
/* 8014EF64 */ int setBtpAnm(J3DAnmTexPattern*, J3DModelData*, f32, int);
/* 8014EFF4 */ void orderEvent(int, char*);
/* 8014F0A0 */ void setEnvTevColor();
/* 8014F0FC */ void setRoomNo();
/* 8014F148 */ int checkEndAnm(f32);
/* 8014F1C8 */ int checkEndAnm(J3DFrameCtrl*);
/* 8014E89C */ virtual ~daBaseNpc_c();
/* 8014EAD0 */ virtual int execute();
/* 8014EC50 */ virtual int draw(f32);
/* 8014EE3C */ virtual const char* getResName();
/* 8014EFA4 */ virtual void attnSttsOn(int, int);
/* 8014EFF0 */ virtual void setParam();
/* 8014F09C */ virtual void mainProc();
/* 8014F140 */ virtual BOOL btkCtrl();
/* 8014F228 */ virtual void allAnmPlay();
/* 8014F38C */ virtual void adjustShapeAngle();
/* 8014F390 */ virtual void setMtx(int);
/* 8014F4A0 */ virtual void setCollisions();
/* 8014F4A4 */ virtual void setAttnPos();
/* 8014F4A8 */ virtual void drawOtherMdls();
/* 8014F4AC */ virtual bool dbgDraw();
static dCcD_SrcGObjInf const mCcDObj;
static dCcD_SrcCyl mCcDCyl;
static dCcD_SrcSph mCcDSph;
public:
/* 0x56C */ dBgS_ObjAcch mAcch;
/* 0x744 */ char field_0x744;
/* 0x745 */ u8 field_0x745[0x74c - 0x745];
/* 0x74C */ request_of_phase_process_class mPhase;
/* 0x754 */ mDoExt_McaMorfSO* mpModelMorf;
/* 0x758 */ Z2Creature mSound;
/* 0x7E8 */ u32 mShadowId;
/* 0x7EC */ mDoExt_bckAnm mBck;
/* 0x808 */ mDoExt_btpAnm mBtp;
/* 0x820 */ mDoExt_btkAnm mBtk;
/* 0x838 */ s16 field_0x838;
/* 0x83C */ u16* field_0x83c;
/* 0x840 */ u16 field_0x840;
/* 0x842 */ u16 field_0x842;
/* 0x844 */ u8 field_0x844;
/* 0x845 */ u8 field_0x845[0x848 - 0x845];
/* 0x848 */ s32 field_0x848;
/* 0x84C */ dMsgFlow_c mMsgFlow;
/* 0x898 */ u8 field_0x898[0x89A - 0x898];
/* 0x89A */ s16 mEvtIdx;
/* 0x89C */ dCcD_Stts mCcStts;
/* 0x8D8 */ dBgS_AcchCir mAcchCir;
/* 0x918 */ s16 field_0x918;
/* 0x91A */ csXyz field_0x91a;
/* 0x920 */ daBaseNpc_lookat_c mLookat;
/* 0x9BC */ csXyz field_0x9bc;
/* 0x9C2 */ csXyz field_0x9c2;
/* 0x9C8 */ csXyz field_0x9c8;
/* 0x9CE */ csXyz field_0x9ce;
/* 0x9D4 */ cBgS_GndChk field_0x9d4;
/* 0xA10 */ f32 mGroundY;
};
STATIC_ASSERT(sizeof(daBaseNpc_c) == 0xA14);
class daBaseNpc_moveBgActor_c : public daBaseNpc_c {
public:
/* 8014F4B4 */ daBaseNpc_moveBgActor_c();
/* 8014F518 */ int MoveBGCreateHeap();
/* 8014F60C */ int MoveBGCreate(char const*, int, MoveBGActor_SetFunc, u32);
/* 8014F6FC */ int MoveBGDelete();
/* 8014F770 */ int MoveBGExecute();
int MoveBGDraw() {
int ret = Draw();
return ret;
}
/* 80155FB0 */ virtual ~daBaseNpc_moveBgActor_c() {}
/* 801503BC */ virtual int CreateHeap() { return 1; }
/* 801503C4 */ virtual int Create() { return 1; }
/* 801503D4 */ virtual int Execute(Mtx**) { return 1; }
/* 801503DC */ virtual int Draw() { return 1; }
/* 801503CC */ virtual int Delete() { return 1; }
/* 801503E4 */ virtual int IsDelete() { return 1; }
/* 801503EC */ virtual int ToFore() { return 1; }
/* 801503F4 */ virtual int ToBack() { return 1; }
static const char* m_name;
static int m_dzb_id;
static MoveBGActor_SetFunc m_set_func;
public:
/* 0xA14 */ dBgW* mpBgw;
/* 0xA18 */ Mtx mBgMtx;
};
#endif /* D_A_NPC2 */