tp/include/d/actor/d_a_npc_prayer.h

90 lines
2.6 KiB
C++

#ifndef D_A_NPC_PRAYER_H
#define D_A_NPC_PRAYER_H
#include "d/actor/d_a_npc.h"
/**
* @ingroup actors-npcs
* @class daNpcPray_c
* @brief Charlo
*
* @details
*
*/
class daNpcPray_c : public daNpcF_c {
public:
typedef BOOL (daNpcPray_c::*EvtSeq)(int);
/* 80AB2DEC */ daNpcPray_c();
/* 80AB3204 */ int Create();
/* 80AB348C */ int CreateHeap();
/* 80AB3610 */ int Delete();
/* 80AB3644 */ int Execute();
/* 80AB3668 */ int Draw();
/* 80AB36A8 */ int ctrlJoint(J3DJoint*, J3DModel*);
/* 80AB3834 */ static int createHeapCallBack(fopAc_ac_c*);
/* 80AB3854 */ static int ctrlJointCallBack(J3DJoint*, int);
/* 80AB3C2C */ void reset();
/* 80AB3DBC */ void playMotion();
/* 80AB3F54 */ int setAction(bool (daNpcPray_c::*)(void*));
/* 80AB3FFC */ void setLookMode(int);
/* 80AB4020 */ void lookat();
/* 80AB4200 */ bool step(s16, int);
/* 80AB42F4 */ bool chkFindPlayer();
/* 80AB43D8 */ bool wait(void*);
/* 80AB4674 */ bool fear(void*);
/* 80AB4740 */ bool talk(void*);
/* 80AB498C */ bool demo(void*);
/* 80AB4B20 */ fpc_ProcID createHeart();
/* 80AB4BFC */ BOOL _Evt_GetHeart(int);
/* 80AB4CA4 */ BOOL _Evt_GetHeart_CutInit(int const&);
/* 80AB4D34 */ BOOL _Evt_GetHeart_CutMain(int const&);
/* 80AB3000 */ virtual ~daNpcPray_c();
/* 80AB38A0 */ virtual void setParam();
/* 80AB390C */ virtual BOOL main();
/* 80AB5798 */ virtual void adjustShapeAngle() {}
/* 80AB3964 */ virtual void setAttnPos();
/* 80AB3B0C */ virtual void setMotionAnm(int, f32);
/* 80AB3BDC */ virtual void setMotion(int, f32, int);
/* 80AB3C24 */ virtual BOOL drawDbgInfo();
s16 getMessageNo() { return (fopAcM_GetParam(this) >> 8) & 0xFFFF; }
static EvtSeq mEvtSeqList[];
private:
/* 0xB48 */ Z2CreatureCitizen mSound;
/* 0xBEC */ u8 field_0xBEC[0xBF0 - 0xBEC];
/* 0xBF0 */ daNpcF_Lookat_c mLookat;
/* 0xC8C */ daNpcF_ActorMngr_c mActorMngr[2];
/* 0xC9C */ u8 field_0xC9C[0xCA0 - 0xC9C];
/* 0xCA0 */ dCcD_Cyl mCcCyl;
/* 0xDDC */ bool (daNpcPray_c::*mAction)(void*);
/* 0xDE8 */ request_of_phase_process_class mPhase[2];
/* 0xDF8 */ int field_0xdf8;
/* 0xDFC */ int field_0xdfc;
/* 0xE00 */ int field_0xe00;
/* 0xE04 */ int mMessageNo;
/* 0xE08 */ s16 mLookMode;
/* 0xE0A */ s16 field_0xe0a;
/* 0xE0C */ u16 mActionMode;
/* 0xE0E */ u8 field_0xe0e;
};
STATIC_ASSERT(sizeof(daNpcPray_c) == 0xe10);
struct daNpcPray_HIOParam {
daNpcF_HIOParam common;
};
class daNpcPray_Param_c {
public:
/* 80AB579C */ virtual ~daNpcPray_Param_c() {}
static const daNpcPray_HIOParam m;
};
#endif /* D_A_NPC_PRAYER_H */