Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
122 changes: 88 additions & 34 deletions include/d/actor/d_a_npc_seib.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,54 +11,108 @@
* @details
*
*/
class daNpc_seiB_c : public fopAc_ac_c {

class daNpc_seiB_Param_c {
public:
/* 80AC6FB8 */ virtual ~daNpc_seiB_Param_c() {};
struct Data {
/* 0x00 */ u32 field_0x00;
/* 0x04 */ f32 mGravity;
/* 0x08 */ f32 mScale;
/* 0x0C */ f32 field_0xc;
/* 0x10 */ f32 mWeight;
/* 0x14 */ f32 mCylH;
/* 0x18 */ f32 mWallH;
/* 0x1C */ f32 mWallR;
/* 0x20 */ f32 field_0x20;
/* 0x24 */ f32 field_0x24;
/* 0x28 */ f32 field_0x28;
/* 0x2C */ f32 field_0x2c;
/* 0x30 */ f32 field_0x30;
/* 0x34 */ f32 field_0x34;
/* 0x38 */ f32 field_0x38;
/* 0x3C */ f32 field_0x3c;
/* 0x40 */ f32 field_0x40;
/* 0x44 */ f32 mMorfFrames;
/* 0x48 */ f32 field_0x48;
/* 0x4C */ f32 field_0x4c;
/* 0x50 */ f32 field_0x50;
/* 0x54 */ f32 field_0x54;
/* 0x58 */ f32 field_0x58;
/* 0x5C */ f32 field_0x5c;
/* 0x60 */ f32 field_0x60;
/* 0x64 */ f32 field_0x64;
/* 0x68 */ f32 field_0x68;
/* 0x6C */ f32 field_0x6c;
/* 0x70 */ f32 field_0x70;
/* 0x74 */ f32 field_0x74;
/* 0x78 */ f32 field_0x78;
/* 0x7C */ f32 field_0x7c;
/* 0x80 */ f32 field_0x80;
/* 0x84 */ f32 field_0x84;
/* 0x88 */ f32 field_0x88;
/* 0x8C */ f32 field_0x8c;
/* 0x90 */ f32 field_0x90;
};

static const Data m;
};
class daNpc_seiB_c : public daNpcT_c {
public:
typedef int (daNpc_seiB_c::*cutFunc)(int);
typedef int (daNpc_seiB_c::*actionFunc)(void*);

enum Type {
TYPE_0,
TYPE_1,
};

/* 80AC50EC */ ~daNpc_seiB_c();
/* 80AC5188 */ void create();
/* 80AC53C8 */ void CreateHeap();
/* 80AC5520 */ void Delete();
/* 80AC5554 */ void Execute();
/* 80AC5574 */ void Draw();
/* 80AC5608 */ void createHeapCallBack(fopAc_ac_c*);
/* 80AC5628 */ void getType();
/* 80AC5648 */ void getFlowNodeNo();
/* 80AC5664 */ bool isDelete();
/* 80AC5188 */ int create();
/* 80AC53C8 */ int CreateHeap();
/* 80AC5520 */ int Delete();
/* 80AC5554 */ int Execute();
/* 80AC5574 */ int Draw();
/* 80AC5608 */ static int createHeapCallBack(fopAc_ac_c*);
/* 80AC5628 */ u8 getType();
/* 80AC5648 */ int getFlowNodeNo();
/* 80AC5664 */ int isDelete();
/* 80AC566C */ void reset();
/* 80AC57C4 */ void setParam();
/* 80AC58F0 */ void srchActors();
/* 80AC58F4 */ void evtTalk();
/* 80AC59F4 */ void evtCutProc();
/* 80AC58F4 */ BOOL evtTalk();
/* 80AC59F4 */ BOOL evtCutProc();
/* 80AC5ABC */ void action();
/* 80AC5B44 */ void beforeMove();
/* 80AC5BC4 */ void setAttnPos();
/* 80AC5C20 */ bool drawDbgInfo();
/* 80AC5C28 */ void afterSetMotionAnm(int, int, f32, int);
/* 80AC5DC0 */ void selectAction();
/* 80AC5E08 */ void chkAction(int (daNpc_seiB_c::*)(void*));
/* 80AC5E34 */ void setAction(int (daNpc_seiB_c::*)(void*));
/* 80AC5C20 */ int drawDbgInfo();
/* 80AC5C28 */ bool afterSetMotionAnm(int, int, f32, int);
/* 80AC5DC0 */ int selectAction();
/* 80AC5E08 */ int chkAction(int (daNpc_seiB_c::*)(void*));
/* 80AC5E34 */ int setAction(int (daNpc_seiB_c::*)(void*));
/* 80AC5EDC */ void ctrlWaitAnm();
/* 80AC6140 */ void wait(void*);
/* 80AC616C */ void talk(void*);
/* 80AC6F74 */ daNpc_seiB_c(daNpcT_faceMotionAnmData_c const*, daNpcT_motionAnmData_c const*,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const*, int,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const*, int,
daNpcT_evtData_c const*, char**);
/* 80AC6140 */ int wait(void*);
/* 80AC616C */ int talk(void*);
/* 80AC6F74 */ daNpc_seiB_c(daNpcT_faceMotionAnmData_c const* param_1, daNpcT_motionAnmData_c const* param_2,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_3, int param_4,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_5, int param_6,
daNpcT_evtData_c const* param_7, char** param_8) :
daNpcT_c(param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8)
{}

static void* mCutNameList;
static u8 mCutList[12];
static char* mCutNameList;
static cutFunc mCutList[1];

private:
/* 0x568 */ u8 field_0x568[0xe68 - 0x568];
/* 0xE40 */ daNpc_seiB_Param_c* field_0xe40;
/* 0xE44 */ u8 mType;
/* 0xE45 */ u8 field_0xe45[0xe48 - 0xe45];
/* 0xE48 */ actionFunc field_0xe48;
/* 0xE54 */ actionFunc field_0xe54;
/* 0xE60 */ int field_0xe60;
/* 0xE64 */ int field_0xe64;
};

STATIC_ASSERT(sizeof(daNpc_seiB_c) == 0xe68);

class daNpc_seiB_Param_c {
public:
/* 80AC6FB8 */ ~daNpc_seiB_Param_c();

static u8 const m[148];
};


#endif /* D_A_NPC_SEIB_H */
Loading