Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc_kakashi.h
Go to the documentation of this file.
1#ifndef D_A_NPC_KAKASHI_H
2#define D_A_NPC_KAKASHI_H
3
4#include "d/actor/d_a_npc.h"
5
8 /* 0x8C */ f32 field_0x8c;
9 /* 0x90 */ f32 field_0x90;
10 /* 0x94 */ f32 field_0x94;
11};
12
14public:
16
17 static const daNpc_Kakashi_HIOParam m;
18};
19
20#if DEBUG
31
32#define NPC_KAKASHI_HIO_CLASS daNpc_Kakashi_HIO_c
33#else
34#define NPC_KAKASHI_HIO_CLASS daNpc_Kakashi_Param_c
35#endif
36
45class daNpc_Kakashi_c : public daNpcT_c {
46public:
47 typedef int (daNpc_Kakashi_c::*ActionFunc)(void*);
48
49 int create();
50 int CreateHeap();
51 int Delete();
52 int Execute();
53 int Draw();
54 static int createHeapCallBack(fopAc_ac_c*);
55 static int ctrlJointCallBack(J3DJoint*, int);
56 int getType();
57 int isDelete();
58 void reset();
59 void srchActors();
60 int selectAction();
65 void setPrtcls(int);
66 int judgeSwdTutorial();
67 int cutSwdTutorial(int);
68 int cutGetWoodSwd(int);
69 int cutMarosWhisper(int);
70 int wait(void*);
71 int swdTutorial(void*);
72 int talk(void*);
73
74 daNpc_Kakashi_c(daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
75 daNpcT_motionAnmData_c const* i_motionAnmData,
76 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
77 int i_faceMotionStepNum,
78 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
79 daNpcT_evtData_c const* i_evtData, char** i_arcNames)
80 : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
81 i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
82 i_arcNames)
83 {
84 OS_REPORT("|%06d:%x|daNpc_Kakashi_c -> コンストラクト\n", g_Counter.mCounter0, this);
85 }
86
87 virtual ~daNpc_Kakashi_c();
88 virtual int ctrlJoint(J3DJoint*, J3DModel*);
89 virtual void setParam();
90 virtual BOOL checkChangeEvt();
91 virtual BOOL evtTalk();
92 virtual BOOL evtEndProc();
93 virtual BOOL evtCutProc();
94 virtual void action();
95 virtual void beforeMove();
96 virtual void setAttnPos();
97 virtual void setCollision();
98 virtual int drawDbgInfo();
99
101 u16 prm = home.angle.x;
102 return prm == 0xFFFF ? -1 : prm;
103 }
104
106 u8 var_r31 = (fopAcM_GetParam(this) & 0xF0000000) >> 0x1C;
107 if (var_r31 == 15) {
108 var_r31 = 0;
109 }
110 return var_r31;
111 }
112
113 u8 getBitSW() { return (fopAcM_GetParam(this) & 0xFF00) >> 8; }
114 u8 getBitSW2() { return (fopAcM_GetParam(this) & 0xFF0000) >> 16; }
115
116 static char* mCutNameList[4];
117 static int (daNpc_Kakashi_c::*mCutList[])(int);
118
119private:
120 /* 0x0E40 */ NPC_KAKASHI_HIO_CLASS* mpHIO;
122 /* 0x0E64 */ dCcD_Cyl mCcCyl;
123 /* 0x0FA0 */ dCcD_Sph mCcSph[3];
124 /* 0x1348 */ u8 mType;
126 /* 0x1358 */ ActionFunc mAction;
127 /* 0x1364 */ csXyz field_0x1364[3];
128 /* 0x1378 */ f32 field_0x1378[3];
129 /* 0x1384 */ s16 field_0x1384[3];
130 /* 0x138A */ u8 field_0x138A[0x138C - 0x138A];
131 /* 0x138C */ s16 field_0x138c;
132 /* 0x138E */ u8 field_0x138e;
133 /* 0x138F */ u8 field_0x138f;
134 /* 0x1390 */ u8 field_0x1390;
135 /* 0x1391 */ u8 field_0x1391;
136 /* 0x1392 */ u8 field_0x1392;
137 /* 0x1393 */ u8 field_0x1393;
138 /* 0x1394 */ u8 field_0x1394;
139};
140
142
143#endif /* D_A_NPC_KAKASHI_H */
counter_class g_Counter
Definition c_counter.cpp:8
Definition J3DJoint.h:66
Definition J3DModel.h:43
Definition JORMContext.h:128
Definition Z2SoundObject.h:38
Definition c_sxyz.h:10
Definition d_cc_d.h:472
Definition d_cc_d.h:487
Definition d_a_npc.h:516
Definition d_a_npc_kakashi.h:21
void listenPropertyEvent(const JORPropertyEvent *)
Definition d_a_npc_kakashi.cpp:145
daNpc_Kakashi_HIOParam m
Definition d_a_npc_kakashi.h:29
void genMessage(JORMContext *)
Definition d_a_npc_kakashi.cpp:149
daNpc_Kakashi_HIO_c()
Definition d_a_npc_kakashi.cpp:141
Definition d_a_npc_kakashi.h:13
static const daNpc_Kakashi_HIOParam m
Definition d_a_npc_kakashi.h:91
virtual ~daNpc_Kakashi_Param_c()
Definition d_a_npc_kakashi.h:15
Scarecrow.
Definition d_a_npc_kakashi.h:45
virtual int drawDbgInfo()
Definition d_a_npc_kakashi.cpp:653
fopAc_ac_c * hitChk()
Definition d_a_npc_kakashi.cpp:701
csXyz field_0x1364[3]
Definition d_a_npc_kakashi.h:127
int talk(void *)
Definition d_a_npc_kakashi.cpp:1124
virtual void setCollision()
Definition d_a_npc_kakashi.cpp:584
u8 getTalkPattern()
Definition d_a_npc_kakashi.h:105
void srchActors()
Definition d_a_npc_kakashi.cpp:448
virtual BOOL checkChangeEvt()
Definition d_a_npc_kakashi.cpp:450
int(daNpc_Kakashi_c::*) ActionFunc(void *)
Definition d_a_npc_kakashi.h:47
ActionFunc mSelectAction
Definition d_a_npc_kakashi.h:125
Z2SoundObjSimple mSound
Definition d_a_npc_kakashi.h:121
u8 field_0x1390
Definition d_a_npc_kakashi.h:134
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_kakashi.cpp:326
int cutGetWoodSwd(int)
Definition d_a_npc_kakashi.cpp:981
virtual void setParam()
Definition d_a_npc_kakashi.cpp:421
static int(daNpc_Kakashi_c::* mCutList[])(int)
Definition d_a_npc_kakashi.h:84
u8 getBitSW()
Definition d_a_npc_kakashi.h:113
int swdTutorial(void *)
Definition d_a_npc_kakashi.cpp:1032
int getFlowNodeNo()
Definition d_a_npc_kakashi.h:100
void setStaggerParam(fopAc_ac_c *)
Definition d_a_npc_kakashi.cpp:802
u8 field_0x138A[0x138C - 0x138A]
Definition d_a_npc_kakashi.h:130
int getType()
Definition d_a_npc_kakashi.cpp:342
ActionFunc mAction
Definition d_a_npc_kakashi.h:126
u8 mType
Definition d_a_npc_kakashi.h:124
u8 field_0x1391
Definition d_a_npc_kakashi.h:135
static char * mCutNameList[4]
Definition d_a_npc_kakashi.h:77
int cutSwdTutorial(int)
Definition d_a_npc_kakashi.cpp:951
u8 field_0x138f
Definition d_a_npc_kakashi.h:133
virtual BOOL evtTalk()
Definition d_a_npc_kakashi.cpp:471
int wait(void *)
Definition d_a_npc_kakashi.cpp:1018
u8 field_0x1393
Definition d_a_npc_kakashi.h:137
virtual BOOL evtCutProc()
Definition d_a_npc_kakashi.cpp:487
int setAction(ActionFunc)
Definition d_a_npc_kakashi.cpp:686
int create()
Definition d_a_npc_kakashi.cpp:171
u8 getBitSW2()
Definition d_a_npc_kakashi.h:114
virtual void action()
Definition d_a_npc_kakashi.cpp:503
int cutMarosWhisper(int)
Definition d_a_npc_kakashi.cpp:1002
u8 field_0x1392
Definition d_a_npc_kakashi.h:136
int Draw()
Definition d_a_npc_kakashi.cpp:287
int judgeSwdTutorial()
Definition d_a_npc_kakashi.cpp:905
u8 field_0x138e
Definition d_a_npc_kakashi.h:132
virtual void beforeMove()
Definition d_a_npc_kakashi.cpp:520
virtual ~daNpc_Kakashi_c()
Definition d_a_npc_kakashi.cpp:154
s16 field_0x138c
Definition d_a_npc_kakashi.h:131
virtual void setAttnPos()
Definition d_a_npc_kakashi.cpp:526
u8 field_0x1394
Definition d_a_npc_kakashi.h:138
int isDelete()
Definition d_a_npc_kakashi.cpp:359
void reset()
Definition d_a_npc_kakashi.cpp:376
int Delete()
Definition d_a_npc_kakashi.cpp:274
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_kakashi.cpp:330
int Execute()
Definition d_a_npc_kakashi.cpp:281
int CreateHeap()
Definition d_a_npc_kakashi.cpp:247
NPC_KAKASHI_HIO_CLASS * mpHIO
Definition d_a_npc_kakashi.h:120
daNpc_Kakashi_c(daNpcT_faceMotionAnmData_c const *i_faceMotionAnmData, daNpcT_motionAnmData_c const *i_motionAnmData, daNpcT_MotionSeqMngr_c::sequenceStepData_c const *i_faceMotionSequenceData, int i_faceMotionStepNum, daNpcT_MotionSeqMngr_c::sequenceStepData_c const *i_motionSequenceData, int i_motionStepNum, daNpcT_evtData_c const *i_evtData, char **i_arcNames)
Definition d_a_npc_kakashi.h:74
virtual BOOL evtEndProc()
Definition d_a_npc_kakashi.cpp:481
dCcD_Cyl mCcCyl
Definition d_a_npc_kakashi.h:122
int selectAction()
Definition d_a_npc_kakashi.cpp:657
virtual int ctrlJoint(J3DJoint *, J3DModel *)
Definition d_a_npc_kakashi.cpp:291
f32 field_0x1378[3]
Definition d_a_npc_kakashi.h:128
void setPrtcls(int)
Definition d_a_npc_kakashi.cpp:887
dCcD_Sph mCcSph[3]
Definition d_a_npc_kakashi.h:123
s16 field_0x1384[3]
Definition d_a_npc_kakashi.h:129
BOOL chkAction(ActionFunc)
Definition d_a_npc_kakashi.cpp:682
Definition f_op_actor.h:243
actor_place home
Definition f_op_actor.h:262
Definition m_Do_hostIO.h:26
STATIC_ASSERT(sizeof(daNpc_Kakashi_c)==0x1398)
u32 fopAcM_GetParam(const void *i_actor)
Definition f_op_actor_mng.h:204
int BOOL
Definition types.h:33
signed short int s16
Definition types.h:9
float f32
Definition types.h:25
unsigned short int u16
Definition types.h:10
unsigned char u8
Definition types.h:8
Definition JORReflexible.h:10
s16 x
Definition c_sxyz.h:7
csXyz angle
Definition f_op_actor.h:219
u32 mCounter0
Definition c_counter.h:7
Definition d_a_npc.h:842
Definition d_a_npc.h:483
Definition d_a_npc.h:488
Definition d_a_npc.h:503
Definition d_a_npc_kakashi.h:6
f32 field_0x8c
Definition d_a_npc_kakashi.h:8
f32 field_0x90
Definition d_a_npc_kakashi.h:9
daNpcT_HIOParam common
Definition d_a_npc_kakashi.h:7
f32 field_0x94
Definition d_a_npc_kakashi.h:10