Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc_moi.h
Go to the documentation of this file.
1#ifndef D_A_NPC_MOI_H
2#define D_A_NPC_MOI_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 /* 0x98 */ s16 field_0x98;
12 /* 0x9A */ s16 field_0x9a;
13 /* 0x9C */ s16 field_0x9c;
14 /* 0x9E */ s16 field_0x9e;
15 /* 0xA0 */ s16 field_0xa0;
16 /* 0xA2 */ s16 field_0xa2;
17 /* 0xA4 */ f32 field_0xa4;
18 /* 0xA8 */ f32 field_0xa8;
19 /* 0xAC */ f32 field_0xac;
20 /* 0xB0 */ f32 field_0xb0;
21 /* 0xB4 */ f32 field_0xb4;
22 /* 0xB8 */ f32 field_0xb8;
23};
24
26public:
27 virtual ~daNpc_Moi_Param_c() {};
28
29 static const daNpc_Moi_HIOParam m;
30};
31
32#if DEBUG
42
43#define NPC_MOI_HIO_CLASS daNpc_Moi_HIO_c
44#else
45#define NPC_MOI_HIO_CLASS daNpc_Moi_Param_c
46#endif
47
56class daNpc_Moi_c : public daNpcT_c {
57public:
58 typedef int (daNpc_Moi_c::*cutFunc)(int);
59 typedef int (daNpc_Moi_c::*actionFunc)(void*);
60
70
72 int create();
73 int CreateHeap();
74 int Delete();
75 int Execute();
76 int Draw();
77 static int createHeapCallBack(fopAc_ac_c*);
78 static int ctrlJointCallBack(J3DJoint*, int);
79 u8 getType();
80 BOOL isDelete();
81 void reset();
82 BOOL chkMoiN();
83 void afterJntAnm(int);
84 void setParam();
86 void setAfterTalkMotion();
87 void srchActors();
88 BOOL evtTalk();
90 void action();
91 void beforeMove();
92 void setAttnPos();
93 void setCollision();
94 int drawDbgInfo();
95 void drawOtherMdl();
96 bool afterSetMotionAnm(int, int, f32, int);
97 void changeAnm(int*, int*);
98 void changeBck(int*, int*);
99 void changeBtp(int*, int*);
100 void changeBtk(int*, int*);
101 int selectAction();
102 BOOL chkAction(int (daNpc_Moi_c::*)(void*));
103 int setAction(int (daNpc_Moi_c::*)(void*));
105 void setSSlash(int);
107 void pullOutSw();
109 void setInSw();
110 void setSwAT();
111 void torch();
112 int injuryCheck();
113 int injuryTurn(cXyz);
114 int injuryWalk();
115 int poise();
116 int cutDeliveredSw(int);
117 int cutAppearanceMoi(int);
118 int cutConversationWithUri(int);
119 int cutFindWolf(int);
120 int wait(void*);
121 int walk(void*);
122 int walkOnEggshell(void*);
123 int rest(void*);
124 int talk(void*);
126 daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
127 daNpcT_motionAnmData_c const* i_motionAnmData,
128 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
129 int i_faceMotionStepNum,
130 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
131 daNpcT_evtData_c const* i_evtData, char** i_arcNames)
132 : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
133 i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
134 i_arcNames) {}
136 if (chkMoiN()) {
137 return 4;
138 } else {
139 return 2;
140 }
141 }
142 s32 getHeadJointNo() { return 4; }
143 s32 getNeckJointNo() { return 3; }
144 s32 getBackboneJointNo() { return 1; }
145 BOOL checkChangeJoint(int param_0) { return param_0 == 4; }
146 BOOL checkRemoveJoint(int param_0) { return param_0 == 8; }
147 s32 getFootLJointNo() { return 22; }
148 s32 getFootRJointNo() { return 25; }
149
151 u16 nodeNo = home.angle.x;
152 if (nodeNo == 0xffff) {
153 return -1;
154 }
155 return nodeNo;
156 }
157 u8 getBitSW() { return (fopAcM_GetParam(this) & 0xff0000) >> 16; }
158 bool chkSFight() { return field_0x166b == 1; }
159 u8 getPathID() { return (fopAcM_GetParam(this) & 0xff00) >> 8; }
160
161 static char* mCutNameList[5];
162 static cutFunc mCutList[5];
163
164private:
165 /* 0x0E40 */ NPC_MOI_HIO_CLASS* mpHIO;
166 /* 0x0E44 */ J3DModel* mpModel[6];
167 /* 0x0E5C */ dCcD_Cyl mCyl[4];
168 /* 0x134C */ dCcD_Cyl mCyl2;
169 /* 0x1488 */ dCcD_Sph mSph;
171 /* 0x15C4 */ u8 mType;
173 /* 0x15E8 */ daNpcT_Path_c mPath;
176 /* 0x1628 */ cXyz field_0x1628;
177 /* 0x1634 */ csXyz field_0x1634[3];
178 /* 0x1648 */ int field_0x1648;
179 /* 0x164C */ int field_0x164c;
180 /* 0x1650 */ int field_0x1650;
181 /* 0x1654 */ int field_0x1654;
182 /* 0x1658 */ int field_0x1658;
183 /* 0x165C */ int field_0x165c;
184 /* 0x1660 */ int field_0x1660;
185 /* 0x1664 */ s16 field_0x1664;
186 /* 0x1666 */ u8 field_0x1666;
187 /* 0x1667 */ u8 field_0x1667;
188 /* 0x1668 */ u8 field_0x1668;
189 /* 0x1669 */ u8 field_0x1669;
190 /* 0x166A */ u8 field_0x166a;
191 /* 0x166B */ u8 field_0x166b;
192 /* 0x166C */ u8 field_0x166c;
193 /* 0x166D */ u8 field_0x166d;
194 /* 0x166E */ u8 field_0x166e;
195 /* 0x166F */ u8 field_0x166f;
196 /* 0x1670 */ int field_0x1670;
197};
198
199STATIC_ASSERT(sizeof(daNpc_Moi_c) == 0x1674);
200
201#endif /* D_A_NPC_MOI_H */
Definition J3DJoint.h:63
Definition J3DModel.h:43
Definition JORMContext.h:120
Definition c_sxyz.h:10
Definition d_cc_d.h:461
Definition d_cc_d.h:473
Definition d_a_npc.h:30
Definition d_a_npc.h:145
Definition d_a_npc.h:516
Definition d_a_npc_moi.h:33
daNpc_Moi_HIOParam m
Definition d_a_npc_moi.h:40
void genMessage(JORMContext *)
Definition d_a_npc_moi.cpp:83
void listenPropertyEvent(const JORPropertyEvent *)
Definition d_a_npc_moi.cpp:79
daNpc_Moi_HIO_c()
Definition d_a_npc_moi.cpp:75
Definition d_a_npc_moi.h:25
static const daNpc_Moi_HIOParam m
Definition d_a_npc_moi.h:15
virtual ~daNpc_Moi_Param_c()
Definition d_a_npc_moi.h:27
Rusl.
Definition d_a_npc_moi.h:56
actionFunc field_0x1610
Definition d_a_npc_moi.h:174
u8 field_0x166b
Definition d_a_npc_moi.h:191
BOOL checkRemoveJoint(int param_0)
Definition d_a_npc_moi.h:146
int rest(void *)
Definition d_a_npc_moi.cpp:1873
int field_0x164c
Definition d_a_npc_moi.h:179
s32 getFootLJointNo()
Definition d_a_npc_moi.h:147
void setCollision()
Definition d_a_npc_moi.cpp:843
dCcD_Cyl mCyl[4]
Definition d_a_npc_moi.h:167
void srchActors()
Definition d_a_npc_moi.cpp:690
int talk(void *)
Definition d_a_npc_moi.cpp:1897
s16 field_0x1664
Definition d_a_npc_moi.h:185
NPC_MOI_HIO_CLASS * mpHIO
Definition d_a_npc_moi.h:165
int Execute()
Definition d_a_npc_moi.cpp:386
void pullOutSw()
Definition d_a_npc_moi.cpp:1086
BOOL chkMoiN()
Definition d_a_npc_moi.cpp:551
int getFlowNodeNo()
Definition d_a_npc_moi.h:150
u16 getEyeballMaterialNo()
Definition d_a_npc_moi.h:135
actionFunc field_0x161c
Definition d_a_npc_moi.h:175
void reset()
Definition d_a_npc_moi.cpp:490
u8 getType()
Definition d_a_npc_moi.cpp:431
int Delete()
Definition d_a_npc_moi.cpp:380
csXyz field_0x1634[3]
Definition d_a_npc_moi.h:177
void setParam()
Definition d_a_npc_moi.cpp:565
u8 field_0x166c
Definition d_a_npc_moi.h:192
int poise()
Definition d_a_npc_moi.cpp:1261
BOOL isDelete()
Definition d_a_npc_moi.cpp:454
BOOL chkAction(int(daNpc_Moi_c::*)(void *))
Definition d_a_npc_moi.cpp:1028
int walkOnEggshell(void *)
Definition d_a_npc_moi.cpp:1785
s32 getBackboneJointNo()
Definition d_a_npc_moi.h:144
static cutFunc mCutList[5]
Definition d_a_npc_moi.h:213
int(daNpc_Moi_c::*) cutFunc(int)
Definition d_a_npc_moi.h:58
int cutConversationWithUri(int)
Definition d_a_npc_moi.cpp:1554
u8 field_0x1668
Definition d_a_npc_moi.h:188
int field_0x1648
Definition d_a_npc_moi.h:178
int field_0x1650
Definition d_a_npc_moi.h:180
BOOL chkSetInSw()
Definition d_a_npc_moi.cpp:1092
daNpcT_Path_c mPath
Definition d_a_npc_moi.h:173
static char * mCutNameList[5]
Definition d_a_npc_moi.h:209
void setSSlash(int)
Definition d_a_npc_moi.cpp:1051
Type
Definition d_a_npc_moi.h:61
@ TYPE_4
Definition d_a_npc_moi.h:66
@ TYPE_3
Definition d_a_npc_moi.h:65
@ TYPE_5
Definition d_a_npc_moi.h:67
@ TYPE_1
Definition d_a_npc_moi.h:63
@ TYPE_6
Definition d_a_npc_moi.h:68
@ TYPE_2
Definition d_a_npc_moi.h:64
@ TYPE_0
Definition d_a_npc_moi.h:62
int field_0x1660
Definition d_a_npc_moi.h:184
daNpcT_ActorMngr_c mActorMngr[4]
Definition d_a_npc_moi.h:172
int injuryTurn(cXyz)
Definition d_a_npc_moi.cpp:1185
int Draw()
Definition d_a_npc_moi.cpp:390
s32 getHeadJointNo()
Definition d_a_npc_moi.h:142
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_moi.cpp:418
int cutAppearanceMoi(int)
Definition d_a_npc_moi.cpp:1444
int walk(void *)
Definition d_a_npc_moi.cpp:1745
int injuryWalk()
Definition d_a_npc_moi.cpp:1222
int wait(void *)
Definition d_a_npc_moi.cpp:1673
BOOL chkPlayerGetWoodShield()
Definition d_a_npc_moi.cpp:1047
int cutFindWolf(int)
Definition d_a_npc_moi.cpp:1600
int field_0x165c
Definition d_a_npc_moi.h:183
u8 getPathID()
Definition d_a_npc_moi.h:159
int(daNpc_Moi_c::*) actionFunc(void *)
Definition d_a_npc_moi.h:59
void beforeMove()
Definition d_a_npc_moi.cpp:776
void setInSw()
Definition d_a_npc_moi.cpp:1101
void action()
Definition d_a_npc_moi.cpp:729
s32 getNeckJointNo()
Definition d_a_npc_moi.h:143
int field_0x1658
Definition d_a_npc_moi.h:182
int setAction(int(daNpc_Moi_c::*)(void *))
Definition d_a_npc_moi.cpp:1032
void afterJntAnm(int)
Definition d_a_npc_moi.cpp:555
u8 mType
Definition d_a_npc_moi.h:171
u8 field_0x1669
Definition d_a_npc_moi.h:189
dCcD_Cyl mCyl2
Definition d_a_npc_moi.h:168
daNpc_Moi_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_moi.h:125
int cutDeliveredSw(int)
Definition d_a_npc_moi.cpp:1354
u8 field_0x166f
Definition d_a_npc_moi.h:195
J3DModel * mpModel[6]
Definition d_a_npc_moi.h:166
int field_0x1654
Definition d_a_npc_moi.h:181
void torch()
Definition d_a_npc_moi.cpp:1124
int injuryCheck()
Definition d_a_npc_moi.cpp:1146
u8 field_0x166a
Definition d_a_npc_moi.h:190
int field_0x1670
Definition d_a_npc_moi.h:196
fpc_ProcID field_0x15c0
Definition d_a_npc_moi.h:170
BOOL chkPullOutSw()
Definition d_a_npc_moi.cpp:1077
int CreateHeap()
Definition d_a_npc_moi.cpp:310
u8 field_0x1666
Definition d_a_npc_moi.h:186
void changeBck(int *, int *)
Definition d_a_npc_moi.cpp:966
~daNpc_Moi_c()
Definition d_a_npc_moi.cpp:247
s32 getFootRJointNo()
Definition d_a_npc_moi.h:148
bool chkSFight()
Definition d_a_npc_moi.h:158
cXyz field_0x1628
Definition d_a_npc_moi.h:176
void setAfterTalkMotion()
Definition d_a_npc_moi.cpp:666
int create()
Definition d_a_npc_moi.cpp:254
u8 field_0x1667
Definition d_a_npc_moi.h:187
u8 field_0x166e
Definition d_a_npc_moi.h:194
BOOL evtTalk()
Definition d_a_npc_moi.cpp:706
u8 getBitSW()
Definition d_a_npc_moi.h:157
void changeBtp(int *, int *)
Definition d_a_npc_moi.cpp:980
void setAttnPos()
Definition d_a_npc_moi.cpp:789
void drawOtherMdl()
Definition d_a_npc_moi.cpp:911
BOOL checkChangeEvt()
Definition d_a_npc_moi.cpp:652
u8 field_0x166d
Definition d_a_npc_moi.h:193
void changeAnm(int *, int *)
Definition d_a_npc_moi.cpp:948
int drawDbgInfo()
Definition d_a_npc_moi.cpp:907
BOOL evtCutProc()
Definition d_a_npc_moi.cpp:715
void changeBtk(int *, int *)
Definition d_a_npc_moi.cpp:997
void setSwAT()
Definition d_a_npc_moi.cpp:1107
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_moi.cpp:414
dCcD_Sph mSph
Definition d_a_npc_moi.h:169
int selectAction()
Definition d_a_npc_moi.cpp:1004
BOOL checkChangeJoint(int param_0)
Definition d_a_npc_moi.h:145
bool afterSetMotionAnm(int, int, f32, int)
Definition d_a_npc_moi.cpp:940
Definition f_op_actor.h:230
actor_place home
Definition f_op_actor.h:249
Definition m_Do_hostIO.h:27
STATIC_ASSERT(sizeof(daNpc_Moi_c)==0x1674)
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
signed long s32
Definition types.h:11
unsigned char u8
Definition types.h:8
u32 fopAcM_GetParam(const void *i_actor)
Definition f_op_actor_mng.h:192
unsigned int fpc_ProcID
Definition f_pc_base.h:10
Definition JORReflexible.h:10
s16 x
Definition c_sxyz.h:7
csXyz angle
Definition f_op_actor.h:206
Definition c_xyz.h:7
Definition d_a_npc.h:836
Definition d_a_npc.h:483
Definition d_a_npc.h:488
Definition d_a_npc.h:503
Definition d_a_npc_moi.h:6
s16 field_0xa2
Definition d_a_npc_moi.h:16
s16 field_0x9e
Definition d_a_npc_moi.h:14
f32 field_0xac
Definition d_a_npc_moi.h:19
f32 field_0x8c
Definition d_a_npc_moi.h:8
s16 field_0xa0
Definition d_a_npc_moi.h:15
s16 field_0x98
Definition d_a_npc_moi.h:11
daNpcT_HIOParam common
Definition d_a_npc_moi.h:7
s16 field_0x9c
Definition d_a_npc_moi.h:13
f32 field_0xb0
Definition d_a_npc_moi.h:20
f32 field_0x90
Definition d_a_npc_moi.h:9
f32 field_0xb8
Definition d_a_npc_moi.h:22
f32 field_0xa4
Definition d_a_npc_moi.h:17
f32 field_0xa8
Definition d_a_npc_moi.h:18
f32 field_0x94
Definition d_a_npc_moi.h:10
f32 field_0xb4
Definition d_a_npc_moi.h:21
s16 field_0x9a
Definition d_a_npc_moi.h:12