Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc_uri.h
Go to the documentation of this file.
1#ifndef D_A_NPC_URI_H
2#define D_A_NPC_URI_H
3
4#include "d/actor/d_a_npc.h"
5
8 /* 0x8C */ s16 field_0x8c;
9 /* 0x8E */ s16 field_0x8e;
10 /* 0x90 */ s16 field_0x90;
11 /* 0x92 */ s16 field_0x92;
12 /* 0x94 */ s16 field_0x94;
13 /* 0x96 */ s16 field_0x96;
14 /* 0x98 */ f32 field_0x98;
15 /* 0x9C */ f32 field_0x9c;
16 /* 0xA0 */ f32 field_0xa0;
17 /* 0xA4 */ f32 field_0xa4;
18 /* 0xA8 */ f32 field_0xa8;
19};
20
22public:
23 virtual ~daNpc_Uri_Param_c() {}
24
25 static const daNpc_Uri_HIOParam m;
26};
27
28#if DEBUG
38
39#define NPC_URI_HIO_CLASS daNpc_Uri_HIO_c
40#else
41#define NPC_URI_HIO_CLASS daNpc_Uri_Param_c
42#endif
43
52class daNpc_Uri_c : public daNpcT_c {
53public:
54 typedef int (daNpc_Uri_c::*cutFunc)(int);
55 typedef int (daNpc_Uri_c::*actionFunc)(void*);
56
66
68 int create();
69 int CreateHeap();
70 int Delete();
71 int Execute();
72 int Draw();
73 static int createHeapCallBack(fopAc_ac_c*);
74 static int ctrlJointCallBack(J3DJoint*, int);
75 u8 getType();
76 int isDelete();
77 void reset();
78 void afterJntAnm(int);
79 void setParam();
81 void setAfterTalkMotion();
82 void srchActors();
83 BOOL evtTalk();
85 void action();
86 void beforeMove();
87 void setAttnPos();
88 void setCollision();
89 int drawDbgInfo();
90 void drawOtherMdl();
91 bool afterSetMotionAnm(int, int, f32, int);
92 void changeBck(int*, int*);
93 void changeBtp(int*, int*);
94 int selectAction();
95 int chkAction(int (daNpc_Uri_c::*)(void*));
96 int setAction(int (daNpc_Uri_c::*)(void*));
100 int cutConversation(int);
101 int cutStartCarryTutorial(int);
102 int cutEndCarryTutorial(int);
103 int cutConversationWithMoi(int);
104 int cutFindWolf(int);
105 int cutMeetingAgain(int);
106 int krun(void*);
107 int wait(void*);
108 int walk(void*);
109 int sitWait(void*);
110 int talk(void*);
112 daNpcT_motionAnmData_c const* param_2,
114 int param_4,
116 int param_6, daNpcT_evtData_c const* param_7, char** param_8)
117 : daNpcT_c(param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8) {}
118 u16 getEyeballMaterialNo() { return 2; }
119 s32 getHeadJointNo() { return 4; }
120 s32 getNeckJointNo() { return 3; }
121 s32 getBackboneJointNo() { return 1; }
122 BOOL checkChangeJoint(int param_0) { return param_0 == 4; }
123 BOOL checkRemoveJoint(int param_0) { return param_0 == 8; }
124 s32 getFootLJointNo() { return 25; }
125 s32 getFootRJointNo() { return 28; }
126
128 u16 nodeNo = home.angle.x;
129 if (nodeNo == 0xffff) {
130 return -1;
131 }
132 return nodeNo;
133 }
134
135 u8 getBitSW() { return (fopAcM_GetParam(this) & 0xff0000) >> 16; }
136
137 u8 getPathID() { return (fopAcM_GetParam(this) & 0xff00) >> 8; }
138
139 static const char* mCutNameList[7];
140 static cutFunc mCutList[7];
141
142private:
143 /* 0x0E40 */ NPC_URI_HIO_CLASS* mpHIO;
144 /* 0x0E44 */ J3DModel* mpModel[1];
145 /* 0x0E48 */ dCcD_Cyl mCyl;
146 /* 0x0F84 */ u8 mType;
148 /* 0x0F98 */ daNpcT_Path_c mPath;
149 /* 0x0FC0 */ actionFunc field_0xfc0[2];
150 /* 0x0FD8 */ cXyz field_0xfd8;
151 /* 0x0FE4 */ csXyz field_0xfe4;
152 /* 0x0FEC */ int field_0xfec;
153 /* 0x0FF0 */ int field_0xff0;
154 /* 0x0FF4 */ int field_0xff4;
155 /* 0x0FF8 */ int field_0xff8;
156 /* 0x0FFC */ int field_0xffc;
157 /* 0x1000 */ f32 field_0x1000;
158 /* 0x1004 */ f32 field_0x1004;
159 /* 0x1008 */ u8 field_0x1008;
160 /* 0x1009 */ u8 field_0x1009;
161 /* 0x100A */ u8 field_0x100a;
162 /* 0x100B */ u8 field_0x100b;
163 /* 0x100C */ u8 field_0x100c;
164 /* 0x100D */ u8 field_0x100d;
165 /* 0x100E */ u8 field_0x100e;
166 /* 0x100F */ u8 field_0x100f;
167 /* 0x1010 */ u8 field_0x1010;
168 /* 0x1011 */ u8 field_0x1011;
169 /* 0x1012 */ u8 field_0x1012;
170 /* 0x1014 */ int field_0x1014;
171};
172
173STATIC_ASSERT(sizeof(daNpc_Uri_c) == 0x1018);
174
175#endif /* D_A_NPC_URI_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_a_npc.h:30
Definition d_a_npc.h:145
Definition d_a_npc.h:516
Definition d_a_npc_uri.h:29
void genMessage(JORMContext *)
Definition d_a_npc_uri.cpp:76
daNpc_Uri_HIOParam m
Definition d_a_npc_uri.h:36
daNpc_Uri_HIO_c()
Definition d_a_npc_uri.cpp:68
void listenPropertyEvent(const JORPropertyEvent *)
Definition d_a_npc_uri.cpp:72
Definition d_a_npc_uri.h:21
virtual ~daNpc_Uri_Param_c()
Definition d_a_npc_uri.h:23
static const daNpc_Uri_HIOParam m
Definition d_a_npc_uri.h:12
Uli.
Definition d_a_npc_uri.h:52
void drawOtherMdl()
Definition d_a_npc_uri.cpp:813
int cutStartCarryTutorial(int)
Definition d_a_npc_uri.cpp:1057
BOOL checkRemoveJoint(int param_0)
Definition d_a_npc_uri.h:123
u8 field_0x100b
Definition d_a_npc_uri.h:162
u8 field_0x1010
Definition d_a_npc_uri.h:167
int drawDbgInfo()
Definition d_a_npc_uri.cpp:809
static cutFunc mCutList[7]
Definition d_a_npc_uri.h:202
f32 field_0x1000
Definition d_a_npc_uri.h:157
int cutConversationWithMoi(int)
Definition d_a_npc_uri.cpp:1175
int(daNpc_Uri_c::*) actionFunc(void *)
Definition d_a_npc_uri.h:55
u8 field_0x100d
Definition d_a_npc_uri.h:164
int field_0xfec
Definition d_a_npc_uri.h:152
int Draw()
Definition d_a_npc_uri.cpp:330
u8 field_0x1011
Definition d_a_npc_uri.h:168
u8 field_0x100c
Definition d_a_npc_uri.h:163
daNpcT_Path_c mPath
Definition d_a_npc_uri.h:148
void changeBtp(int *, int *)
Definition d_a_npc_uri.cpp:877
u8 field_0x1012
Definition d_a_npc_uri.h:169
u16 getEyeballMaterialNo()
Definition d_a_npc_uri.h:118
void action()
Definition d_a_npc_uri.cpp:677
int field_0xffc
Definition d_a_npc_uri.h:156
int wait(void *)
Definition d_a_npc_uri.cpp:1420
void setAfterTalkMotion()
Definition d_a_npc_uri.cpp:608
static const char * mCutNameList[7]
Definition d_a_npc_uri.h:192
u8 field_0x100a
Definition d_a_npc_uri.h:161
int field_0xff0
Definition d_a_npc_uri.h:153
void setParam()
Definition d_a_npc_uri.cpp:504
s32 getHeadJointNo()
Definition d_a_npc_uri.h:119
daNpc_Uri_c(daNpcT_faceMotionAnmData_c const *param_1, daNpcT_motionAnmData_c const *param_2, daNpcT_MotionSeqMngr_c::sequenceStepData_c const *param_3, int param_4, daNpcT_MotionSeqMngr_c::sequenceStepData_c const *param_5, int param_6, daNpcT_evtData_c const *param_7, char **param_8)
Definition d_a_npc_uri.h:111
int cutMeetingAgain(int)
Definition d_a_npc_uri.cpp:1293
u8 field_0x1009
Definition d_a_npc_uri.h:160
int field_0xff8
Definition d_a_npc_uri.h:155
int Execute()
Definition d_a_npc_uri.cpp:326
int isDelete()
Definition d_a_npc_uri.cpp:379
u8 field_0x1008
Definition d_a_npc_uri.h:159
BOOL checkChangeEvt()
Definition d_a_npc_uri.cpp:545
u8 getPathID()
Definition d_a_npc_uri.h:137
int(daNpc_Uri_c::*) cutFunc(int)
Definition d_a_npc_uri.h:54
void srchActors()
Definition d_a_npc_uri.cpp:633
int cutFindWolf(int)
Definition d_a_npc_uri.cpp:1220
~daNpc_Uri_c()
Definition d_a_npc_uri.cpp:212
BOOL evtCutProc()
Definition d_a_npc_uri.cpp:663
int field_0xff4
Definition d_a_npc_uri.h:154
Type
Definition d_a_npc_uri.h:57
@ TYPE_6
Definition d_a_npc_uri.h:64
@ TYPE_2
Definition d_a_npc_uri.h:60
@ TYPE_3
Definition d_a_npc_uri.h:61
@ TYPE_4
Definition d_a_npc_uri.h:62
@ TYPE_1
Definition d_a_npc_uri.h:59
@ TYPE_0
Definition d_a_npc_uri.h:58
@ TYPE_5
Definition d_a_npc_uri.h:63
int cutConversation(int)
Definition d_a_npc_uri.cpp:1005
u8 field_0x100e
Definition d_a_npc_uri.h:165
s32 getBackboneJointNo()
Definition d_a_npc_uri.h:121
void setAttnPos()
Definition d_a_npc_uri.cpp:711
NPC_URI_HIO_CLASS * mpHIO
Definition d_a_npc_uri.h:143
s32 getFootRJointNo()
Definition d_a_npc_uri.h:125
int walk(void *)
Definition d_a_npc_uri.cpp:1607
csXyz field_0xfe4
Definition d_a_npc_uri.h:151
void beforeMove()
Definition d_a_npc_uri.cpp:698
BOOL chkPlayerGetWoodShield()
Definition d_a_npc_uri.cpp:948
void reset()
Definition d_a_npc_uri.cpp:398
int krun(void *)
Definition d_a_npc_uri.cpp:1372
int sitWait(void *)
Definition d_a_npc_uri.cpp:1731
int CreateHeap()
Definition d_a_npc_uri.cpp:271
u8 getType()
Definition d_a_npc_uri.cpp:356
BOOL chkPlayerCarryBasket()
Definition d_a_npc_uri.cpp:937
int setAction(int(daNpc_Uri_c::*)(void *))
Definition d_a_npc_uri.cpp:923
void setCollision()
Definition d_a_npc_uri.cpp:755
void afterJntAnm(int)
Definition d_a_npc_uri.cpp:486
int cutEndCarryTutorial(int)
Definition d_a_npc_uri.cpp:1104
void changeBck(int *, int *)
Definition d_a_npc_uri.cpp:866
dCcD_Cyl mCyl
Definition d_a_npc_uri.h:145
int Delete()
Definition d_a_npc_uri.cpp:320
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_uri.cpp:339
J3DModel * mpModel[1]
Definition d_a_npc_uri.h:144
bool afterSetMotionAnm(int, int, f32, int)
Definition d_a_npc_uri.cpp:831
u8 mType
Definition d_a_npc_uri.h:146
cXyz field_0xfd8
Definition d_a_npc_uri.h:150
BOOL evtTalk()
Definition d_a_npc_uri.cpp:654
int create()
Definition d_a_npc_uri.cpp:219
actionFunc field_0xfc0[2]
Definition d_a_npc_uri.h:149
daNpcT_ActorMngr_c mActorMngr[2]
Definition d_a_npc_uri.h:147
int selectAction()
Definition d_a_npc_uri.cpp:888
f32 field_0x1004
Definition d_a_npc_uri.h:158
BOOL checkChangeJoint(int param_0)
Definition d_a_npc_uri.h:122
int chkAction(int(daNpc_Uri_c::*)(void *))
Definition d_a_npc_uri.cpp:919
u8 getBitSW()
Definition d_a_npc_uri.h:135
int getTutorialCond(cXyz)
Definition d_a_npc_uri.cpp:952
s32 getNeckJointNo()
Definition d_a_npc_uri.h:120
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_uri.cpp:343
u8 field_0x100f
Definition d_a_npc_uri.h:166
s32 getFootLJointNo()
Definition d_a_npc_uri.h:124
int talk(void *)
Definition d_a_npc_uri.cpp:1834
int getFlowNodeNo()
Definition d_a_npc_uri.h:127
int field_0x1014
Definition d_a_npc_uri.h:170
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_Uri_c)==0x1018)
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
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_uri.h:6
s16 field_0x90
Definition d_a_npc_uri.h:10
s16 field_0x8e
Definition d_a_npc_uri.h:9
f32 field_0xa4
Definition d_a_npc_uri.h:17
f32 field_0x98
Definition d_a_npc_uri.h:14
s16 field_0x92
Definition d_a_npc_uri.h:11
f32 field_0xa0
Definition d_a_npc_uri.h:16
s16 field_0x94
Definition d_a_npc_uri.h:12
f32 field_0xa8
Definition d_a_npc_uri.h:18
daNpcT_HIOParam common
Definition d_a_npc_uri.h:7
s16 field_0x8c
Definition d_a_npc_uri.h:8
f32 field_0x9c
Definition d_a_npc_uri.h:15
s16 field_0x96
Definition d_a_npc_uri.h:13