33
44#include " Z2AudioLib/Z2Creature.h"
55#include " d/d_npc_lib.h"
6+ #include " d/d_path.h"
67#include " dolphin/types.h"
78
9+ enum {
10+ MdlMANa_e = 0 ,
11+ MdlMADa_e = 1 ,
12+ JntM_NUM_e = 0x13 ,
13+ JntW_NUM_e = 0x15 ,
14+ };
15+
816class PathTrace_c {
917public:
10- /* 80159A38 */ void setPath (int , int , int , cXyz*, bool );
11- /* 80159C14 */ void checkPoint (cXyz, f32 );
12- /* 80159DC0 */ void checkPathEnd (cXyz, f32 );
18+ /* 80159A38 */ BOOL setPath (int , int , int , cXyz*, bool );
19+ /* 80159C14 */ bool checkPoint (cXyz, f32 );
20+ /* 80159DC0 */ bool checkPathEnd (cXyz, f32 );
1321 /* 80159E54 */ void getTargetPoint (Vec*);
1422 /* 80159ECC */ void setAvoidPoint ();
1523 /* 8015A0D0 */ void setNextPoint ();
1624 /* 80159F98 */ void setNextPoint (cXyz&);
17- /* 8015A264 */ void incIndex (int );
18- /* 8015A294 */ void decIndex (int );
25+ /* 8015A264 */ int incIndex (int );
26+ /* 8015A294 */ int decIndex (int );
1927 /* 8015A370 */ fopAc_ac_c* checkObstacle (fopAc_ac_c*);
20- /* 8015A3E4 */ void * checkObstacleSub (fopAc_ac_c*);
28+ /* 8015A3E4 */ void checkObstacleSub (fopAc_ac_c*);
29+
30+ void getAvoidPoint (Vec* avoidPoint) { *avoidPoint = mAvoidPoint ; }
31+ BOOL isClose () { return dPath_ChkClose (mPath ); }
2132
22- /* 0x00 */ fopAc_ac_c* field_0x00;
23- /* 0x04 */ fopAc_ac_c* field_0x04;
33+ /* 0x00 */ fopAc_ac_c* mMyself ;
34+ /* 0x04 */ fopAc_ac_c* mObstacle ;
35+ /* 0x08 */ dPath* mPath ;
36+ /* 0x0C */ Vec mAvoidPoint ;
37+ /* 0x18 */ f32 field_0x18;
38+ /* 0x1C */ f32 mNextPoint ;
39+ /* 0x20 */ int field_0x20;
40+ /* 0x24 */ s8 field_0x24;
2441};
2542
2643class daNpcCd2_c : public fopAc_ac_c {
2744public:
28- /* 80157D00 */ void NpcCreate (int );
45+ /* 80157D00 */ int NpcCreate (int );
2946 /* 80157F28 */ J3DModel* ObjCreate (int );
30- /* 80157F68 */ void ChairCreate (f32 );
47+ /* 80157F68 */ J3DModel* ChairCreate (f32 );
3148 /* 801580A8 */ bool isM_ ();
3249 /* 801580F0 */ void * getAnmP (int , int );
33- /* 80158420 */ void setAttention (int );
50+ /* 80158420 */ int setAttention (int );
3451 /* 80158BB8 */ int loadResrc (int , int );
3552 /* 80158CBC */ int removeResrc (int , int );
3653 /* 80158D88 */ void setEnvTevCol ();
@@ -40,13 +57,13 @@ class daNpcCd2_c : public fopAc_ac_c {
4057 /* 80158F6C */ int drawShadow (f32 );
4158 /* 80158FF0 */ int drawObj (int , J3DModel*, f32 );
4259 /* 801590FC */ int drawNpc ();
43- /* 80159258 */ void jntNodeCB (J3DJoint*, J3DModel*);
60+ /* 80159258 */ int jntNodeCB (J3DJoint*, J3DModel*);
4461 /* 80159550 */ void setHitodamaParticle ();
4562 /* 801597C0 */ void * getEscapeTag ();
46- /* 80159818 */ void checkFearSituation ();
47- /* 801598E8 */ void getNpcMdlDataP (int );
63+ /* 80159818 */ bool checkFearSituation ();
64+ /* 801598E8 */ J3DModelData* getNpcMdlDataP (int );
4865 /* 8015994C */ J3DModelData* getObjMdlDataP (int );
49- /* 801599C4 */ void getTexAnmP (int );
66+ /* 801599C4 */ J3DAnmTexPattern* getTexAnmP (int );
5067 /* 8097F030 */ virtual ~daNpcCd2_c ();
5168
5269 static u8 const m_cylDat[68 ];
@@ -63,7 +80,17 @@ class daNpcCd2_c : public fopAc_ac_c {
6380 /* 0x850 */ dCcD_Stts mStts ;
6481 /* 0x88C */ dCcD_Cyl mCyl ;
6582 /* 0x9C8 */ dNpcLib_lookat_c mLookat ;
66- /* 0xA98 */ u8 field_0xa98[0xAC4 - 0xA98 ];
83+ /* 0xA98 */ int field_0xa98;
84+ /* 0xA9C */ u8 field_0xa9c[0xAA0 - 0xA9C ];
85+ /* 0xAA4 */ int field_0xaa0;
86+ /* 0xAA4 */ int field_0xaa4;
87+ /* 0xAA8 */ int mHitodamaEmitters [2 ];
88+ /* 0xAB0 */ int field_0xab0;
89+ /* 0xAB4 */ f32 field_0xab4;
90+ /* 0xAB8 */ f32 field_0xab8;
91+ /* 0xABC */ f32 field_0xabc;
92+ /* 0xAC0 */ s16 field_0xac0;
93+ /* 0xAC2 */ s16 field_0xac2;
6794 /* 0xAC4 */ s16 field_0xac4;
6895 /* 0xAC6 */ bool field_0xac6;
6996};
0 commit comments