|
11 | 11 | * @details |
12 | 12 | * |
13 | 13 | */ |
14 | | -class daNpcTkj_c : public fopAc_ac_c { |
| 14 | +class daNpcTkj_c : public daNpcT_c { |
15 | 15 | public: |
16 | | - /* 8057372C */ ~daNpcTkj_c(); |
17 | | - /* 80573850 */ void create(); |
18 | | - /* 80573B18 */ void CreateHeap(); |
19 | | - /* 80573F68 */ void Delete(); |
20 | | - /* 80573F9C */ void Execute(); |
21 | | - /* 80573FBC */ void Draw(); |
22 | | - /* 80574058 */ void createHeapCallBack(fopAc_ac_c*); |
23 | | - /* 80574078 */ void ctrlJointCallBack(J3DJoint*, int); |
24 | | - /* 805740D0 */ void getType(); |
25 | | - /* 80574108 */ void getFlowNodeNo(); |
26 | | - /* 80574124 */ void isDelete(); |
| 16 | + typedef int (daNpcTkj_c::*ActionFunc)(void*); |
| 17 | + |
| 18 | + /* 80573850 */ int create(); |
| 19 | + /* 80573B18 */ int CreateHeap(); |
| 20 | + /* 80573F68 */ int Delete(); |
| 21 | + /* 80573F9C */ int Execute(); |
| 22 | + /* 80573FBC */ int Draw(); |
| 23 | + /* 80574058 */ static int createHeapCallBack(fopAc_ac_c*); |
| 24 | + /* 80574078 */ static int ctrlJointCallBack(J3DJoint*, int); |
| 25 | + /* 805740D0 */ int getType(); |
| 26 | + /* 80574108 */ int getFlowNodeNo(); |
| 27 | + /* 80574124 */ int isDelete(); |
27 | 28 | /* 8057413C */ void reset(); |
28 | | - /* 80574268 */ void setAfterTalkMotion(); |
29 | 29 | /* 805742C8 */ void srchActors(); |
30 | | - /* 805742D4 */ void evtTalk(); |
31 | | - /* 805743B8 */ void evtCutProc(); |
32 | | - /* 8057449C */ void action(); |
33 | | - /* 80574524 */ void setAttnPos(); |
34 | | - /* 80574770 */ void setCollision(); |
35 | | - /* 80574850 */ bool drawDbgInfo(); |
36 | | - /* 80574858 */ void selectAction(); |
37 | | - /* 805748A8 */ void chkAction(int (daNpcTkj_c::*)(void*)); |
38 | | - /* 805748D4 */ void setAction(int (daNpcTkj_c::*)(void*)); |
39 | | - /* 8057497C */ void wait(void*); |
40 | | - /* 80574B30 */ void talk(void*); |
41 | | - /* 80574D28 */ void cutLv7Start(int); |
42 | | - /* 80575280 */ void setParam(); |
43 | | - /* 8057538C */ void beforeMove(); |
44 | | - /* 805763B0 */ daNpcTkj_c(daNpcT_faceMotionAnmData_c const*, daNpcT_motionAnmData_c const*, |
45 | | - daNpcT_MotionSeqMngr_c::sequenceStepData_c const*, int, |
46 | | - daNpcT_MotionSeqMngr_c::sequenceStepData_c const*, int, |
47 | | - daNpcT_evtData_c const*, char**); |
48 | | - /* 805764EC */ u16 getEyeballMaterialNo(); |
49 | | - /* 805764F4 */ s32 getHeadJointNo(); |
50 | | - /* 805764FC */ s32 getNeckJointNo(); |
51 | | - /* 80576504 */ s32 getBackboneJointNo(); |
52 | | - /* 8057650C */ void checkChangeJoint(int); |
53 | | - /* 8057651C */ void checkRemoveJoint(int); |
| 30 | + /* 80574858 */ int selectAction(); |
| 31 | + /* 805748A8 */ BOOL chkAction(ActionFunc); |
| 32 | + /* 805748D4 */ int setAction(ActionFunc); |
| 33 | + /* 8057497C */ int wait(void*); |
| 34 | + /* 80574B30 */ int talk(void*); |
| 35 | + /* 80574D28 */ int cutLv7Start(int); |
| 36 | + |
| 37 | + /* 805763B0 */ daNpcTkj_c(daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData, |
| 38 | + daNpcT_motionAnmData_c const* i_motionAnmData, |
| 39 | + daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData, |
| 40 | + int i_faceMotionStepNum, |
| 41 | + daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum, |
| 42 | + daNpcT_evtData_c const* i_evtData, char** i_arcNames) |
| 43 | + : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData, |
| 44 | + i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData, |
| 45 | + i_arcNames) |
| 46 | + { |
| 47 | + OS_REPORT("|%06d:%x|daNpcTkj_c -> コンストラクト\n", g_Counter.mCounter0, this); |
| 48 | + } |
| 49 | + |
| 50 | + /* 8057372C */ virtual ~daNpcTkj_c(); |
| 51 | + /* 8057650C */ virtual BOOL checkChangeJoint(int i_jointNo) { return i_jointNo == 17; } |
| 52 | + /* 8057651C */ virtual BOOL checkRemoveJoint(int i_jointNo) { return i_jointNo == 19; } |
| 53 | + /* 80576504 */ virtual s32 getBackboneJointNo() { return 15; } |
| 54 | + /* 805764FC */ virtual s32 getNeckJointNo() { return 16; } |
| 55 | + /* 805764F4 */ virtual s32 getHeadJointNo() { return 17; } |
| 56 | + /* 805764EC */ virtual u16 getEyeballMaterialNo() { return 2; } |
| 57 | + /* 80575280 */ virtual inline void setParam(); |
| 58 | + /* 805742D4 */ virtual BOOL evtTalk(); |
| 59 | + /* 805743B8 */ virtual BOOL evtCutProc(); |
| 60 | + /* 80574268 */ virtual void setAfterTalkMotion(); |
| 61 | + /* 8057449C */ virtual void action(); |
| 62 | + /* 8057538C */ virtual inline void beforeMove(); |
| 63 | + /* 80574524 */ virtual void setAttnPos(); |
| 64 | + /* 80574770 */ virtual void setCollision(); |
| 65 | + /* 80574850 */ virtual int drawDbgInfo(); |
54 | 66 |
|
55 | | - static void* mCutNameList[2]; |
56 | | - static u8 mCutList[24]; |
| 67 | + int getPath() { return (fopAcM_GetParam(this) & 0xFF00) >> 8; } |
| 68 | + |
| 69 | + static char* mCutNameList[2]; |
| 70 | + static int (daNpcTkj_c::*mCutList[])(int); |
57 | 71 |
|
58 | 72 | private: |
59 | | - /* 0x568 */ u8 field_0x568[0xfa4 - 0x568]; |
| 73 | + /* 0xE40 */ u8 field_0xE40[0xE44 - 0xE40]; |
| 74 | + /* 0xE44 */ dCcD_Cyl mCcCyl; |
| 75 | + /* 0xF80 */ u8 mType; |
| 76 | + /* 0xF84 */ ActionFunc field_0xf84; |
| 77 | + /* 0xF90 */ ActionFunc mAction; |
| 78 | + /* 0xF9C */ u8 field_0xf9c; |
| 79 | + /* 0xFA0 */ int mItemNo; |
60 | 80 | }; |
61 | 81 |
|
62 | 82 | STATIC_ASSERT(sizeof(daNpcTkj_c) == 0xfa4); |
63 | 83 |
|
| 84 | +struct daNpc_Tkj_HIOParam { |
| 85 | + /* 0x00 */ daNpcT_HIOParam common; |
| 86 | +}; |
64 | 87 | class daNpc_Tkj_Param_c { |
65 | 88 | public: |
66 | | - /* 8057652C */ ~daNpc_Tkj_Param_c(); |
| 89 | + /* 8057652C */ virtual ~daNpc_Tkj_Param_c() {} |
67 | 90 |
|
68 | | - static u8 const m[140]; |
| 91 | + static const daNpc_Tkj_HIOParam m; |
69 | 92 | }; |
70 | 93 |
|
71 | 94 | #endif /* D_A_NPC_TKJ_H */ |
0 commit comments