|
11 | 11 | * @details |
12 | 12 | * |
13 | 13 | */ |
14 | | -class daNpc_FairySeirei_c : public fopAc_ac_c { |
| 14 | +class daNpc_FairySeirei_c : public daNpcT_c { |
15 | 15 | public: |
| 16 | + typedef int (daNpc_FairySeirei_c::*cutFunc)(int); |
| 17 | + typedef int (daNpc_FairySeirei_c::*actionFunc)(int); |
| 18 | + |
16 | 19 | /* 8053FF6C */ ~daNpc_FairySeirei_c(); |
17 | | - /* 8054006C */ void create(); |
18 | | - /* 80540298 */ void Delete(); |
19 | | - /* 805402CC */ void Execute(); |
20 | | - /* 805402EC */ bool Draw(); |
21 | | - /* 805402F4 */ void isDelete(); |
| 20 | + /* 8054006C */ int create(); |
| 21 | + /* 80540298 */ int Delete(); |
| 22 | + /* 805402CC */ int Execute(); |
| 23 | + /* 805402EC */ int Draw(); |
| 24 | + /* 805402F4 */ int isDelete(); |
22 | 25 | /* 80540334 */ void reset(); |
23 | 26 | /* 8054048C */ void setParam(); |
24 | 27 | /* 805405B0 */ void srchActors(); |
25 | | - /* 805405B4 */ void evtTalk(); |
26 | | - /* 805406BC */ void evtCutProc(); |
| 28 | + /* 805405B4 */ BOOL evtTalk(); |
| 29 | + /* 805406BC */ BOOL evtCutProc(); |
27 | 30 | /* 80540784 */ void action(); |
28 | 31 | /* 8054080C */ void beforeMove(); |
29 | 32 | /* 80540884 */ void setCollision(); |
30 | 33 | /* 80540988 */ void setAttnPos(); |
31 | | - /* 80540A30 */ bool drawDbgInfo(); |
32 | | - /* 80540A38 */ void selectAction(); |
33 | | - /* 80540A80 */ void setAction(int (daNpc_FairySeirei_c::*)(int)); |
| 34 | + /* 80540A30 */ BOOL drawDbgInfo(); |
| 35 | + /* 80540A38 */ bool selectAction(); |
| 36 | + /* 80540A80 */ bool setAction(actionFunc); |
34 | 37 | /* 80540B28 */ void setPrtcls(); |
35 | | - /* 80540C54 */ void wait(int); |
36 | | - /* 80540CC0 */ void talk(int); |
| 38 | + /* 80540C54 */ int wait(int); |
| 39 | + /* 80540CC0 */ int talk(int); |
37 | 40 | /* 80540E10 */ void _to_FairyCave(); |
38 | | - /* 80541BE4 */ daNpc_FairySeirei_c(daNpcT_faceMotionAnmData_c const*, |
39 | | - daNpcT_motionAnmData_c const*, |
40 | | - daNpcT_MotionSeqMngr_c::sequenceStepData_c const*, int, |
41 | | - daNpcT_MotionSeqMngr_c::sequenceStepData_c const*, int, |
42 | | - daNpcT_evtData_c const*, char**); |
| 41 | + /* 80541BE4 */ daNpc_FairySeirei_c(daNpcT_faceMotionAnmData_c const* param_1, |
| 42 | + daNpcT_motionAnmData_c const* param_2, |
| 43 | + daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_3, |
| 44 | + int param_4, |
| 45 | + daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_5, |
| 46 | + int param_6, daNpcT_evtData_c const* param_7, char** param_8) |
| 47 | + : daNpcT_c(param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8) {} |
| 48 | + |
| 49 | + u8 getType() { return fopAcM_GetParam(this) & 0xFF; } |
| 50 | + |
| 51 | + int getFlowNodeNo() { |
| 52 | + u16 nodeNo = home.angle.x; |
| 53 | + if (nodeNo == 0xffff) { |
| 54 | + return -1; |
| 55 | + } |
| 56 | + return nodeNo; |
| 57 | + } |
| 58 | + |
| 59 | + BOOL chkAction(actionFunc i_action) { return (mExecuteFunc == i_action); } |
43 | 60 |
|
44 | | - static void* mCutNameList; |
45 | | - static u8 mCutList[12]; |
| 61 | + void ptcl_se() { mSound.startCreatureSoundLevel(Z2SE_FAIRY_STAY, 0, -1); } |
| 62 | + |
| 63 | + int getSeneNo() { return (fopAcM_GetParam(this) >> 8) & 0xFF; } |
| 64 | + |
| 65 | + static char* mCutNameList[1]; |
| 66 | + static cutFunc mCutList[1]; |
46 | 67 |
|
47 | 68 | private: |
48 | | - /* 0x568 */ u8 field_0x568[0xfb0 - 0x568]; |
| 69 | + /* 0xE40 */ u8 field_0xE40[4]; |
| 70 | + /* 0xE44 */ u8 mType; |
| 71 | + /* 0xE48 */ dCcD_Cyl mCyl; |
| 72 | + /* 0xF84 */ actionFunc mInitFunc; |
| 73 | + /* 0xF90 */ actionFunc mExecuteFunc; |
| 74 | + /* 0xF98 */ u32 mpEmitters[3]; |
| 75 | + /* 0xFA8 */ bool mTalking; |
| 76 | + /* 0xFA9 */ u8 field_0xFA4[3]; |
| 77 | + /* 0xFAC */ u8 field_0xFAC; |
49 | 78 | }; |
50 | 79 |
|
51 | 80 | STATIC_ASSERT(sizeof(daNpc_FairySeirei_c) == 0xfb0); |
52 | 81 |
|
53 | 82 | class daNpc_FairySeirei_Param_c { |
54 | 83 | public: |
55 | | - /* 80541D20 */ ~daNpc_FairySeirei_Param_c(); |
| 84 | + /* 80541D20 */ virtual ~daNpc_FairySeirei_Param_c() {} |
56 | 85 |
|
57 | | - static u8 const m[148]; |
| 86 | + static f32 const m[37]; |
58 | 87 | }; |
59 | 88 |
|
60 | | - |
61 | 89 | #endif /* D_A_NPC_FAIRY_SEIREI_H */ |
0 commit comments