Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc_gra.h
Go to the documentation of this file.
1#ifndef D_A_NPC_GRA_H
2#define D_A_NPC_GRA_H
3
4#include "d/actor/d_a_npc4.h"
6
7
9public:
11 /* 0x6C */ s16 mBowTimer;
13 /* 0x74 */ f32 mWalkingSpeed;
17 /* 0x80 */ f32 mParticleSize;
18};
19
21public:
22 virtual ~daNpc_grA_Param_c() {}
23
24 static daNpc_grA_HIOParam const m;
25};
26
27#if DEBUG
35
36#define NPC_GRA_HIO_CLASS daNpc_grA_HIO_c
37#else
38#define NPC_GRA_HIO_CLASS daNpc_grA_Param_c
39#endif
40
49class daNpc_grA_c : public daNpcF_c {
50public:
52 public:
53 /* 0x00 */ u8 field_0x0;
54 /* 0x04 */ cXyz mPos;
55 /* 0x10 */ csXyz mAngle;
56 /* 0x18 */ cXyz mScale;
57 /* 0x24 */ dPaPo_c mManager;
58 };
59
62 BOOL create();
64 BOOL Delete();
65 BOOL Execute();
66 BOOL Draw();
69 static BOOL ctrlJointCallBack(J3DJoint*, int);
76 void setParam();
77 BOOL main();
78 BOOL ctrlBtk();
79 void setAttnPos();
80 bool setExpressionAnm(int, bool);
81 bool setExpressionBtp(int);
82 void setExpression(int, f32);
83 void setMotionAnm(int, f32);
84 void setMotion(int, f32, int);
86 void drawOtherMdls();
87 u8 getMode();
88 u8 getMode1();
90 u8 getSwBit();
91 BOOL isDelete();
92 void reset();
93 void playExpression();
94 void playMotion();
95 BOOL chkAction(int (daNpc_grA_c::*)(void*));
96 BOOL setAction(int (daNpc_grA_c::*)(void*));
98 BOOL doEvent();
99 void setLookMode(int);
100 void lookat();
103 BOOL setPrtcl();
104 void setRollPrtcl(cXyz const&, f32);
105 void setOtherObjMtx();
106 BOOL ECut_talkSpa(int);
107 BOOL ECut_grDSRoll(int);
108 BOOL ECut_grDSGate(int);
110 BOOL ECut_kickOut(int);
111 BOOL ECut_noneLook(int);
117 BOOL wait(void*);
118 BOOL waitTW(void*);
119 BOOL waitCheer(void*);
120 BOOL waitGate(void*);
121 BOOL waitKickOut(void*);
122 BOOL moveRock(void*);
123 BOOL spaWarm(void*);
124 BOOL waitSpaWater(void*);
125 BOOL waitSpaBuyer(void*);
126 BOOL waitSpaBuyerTW(void*);
127 BOOL beforeCrashWait(void*);
128 BOOL crashRoll(void*);
129 BOOL crashRollWait(void*);
130 BOOL crashedWait(void*);
131 BOOL waitBuyer(void*);
132 BOOL talk(void*);
133 BOOL test(void*);
134 virtual void adjustShapeAngle() {}
135
136 int getType() { return mType; }
137 s16 getGraNo() { return 0; }
140 void setGateWalk() { field_0x14D0 = 1; }
141 static char* mEvtCutNameList[12];
142 typedef BOOL (daNpc_grA_c::*cut_type)(int);
143 static cut_type mEvtCutList[];
144
145private:
147
148 /* 0x0B48 */ Z2Creature mCreature;
149 /* 0x0BD8 */ J3DModel* mpModel;
150 /* 0x0BDC */ int field_0xBDC;
153 /* 0x0C94 */ NPC_GRA_HIO_CLASS* mpHIO;
154 /* 0x0C98 */ dCcD_Cyl field_0xC98;
159 /* 0x145C */ int field_0x145C;
160 /* 0x14B0 */ int field_0x1460;
161 /* 0x1464 */ int field_0x1464;
162 /* 0x1468 */ int field_0x1468;
163 /* 0x146C */ int field_0x146C;
164 /* 0x1470 */ s16 mLookMode;
165 /* 0x1472 */ u16 field_0x1472;
166 /* 0x1474 */ u8 mType;
167 /* 0x1478 */ int field_0x1478;
168 /* 0x147C */ const char* mName;
170 /* 0x1484 */ s16 field_0x1484;
171 /* 0x1486 */ u8 field_0x1486;
172 /* 0x1487 */ u8 field_0x1487;
173 /* 0x1488 */ u8 field_0x1488;
174 /* 0x1489 */ u8 field_0x1489;
175 /* 0x148C */ cXyz field_0x148C;
176 /* 0x1498 */ csXyz field_0x1498;
177 /* 0x149E */ u8 field_0x149E;
178 /* 0x14A0 */ cXyz field_0x14A0;
179 /* 0x14AC */ csXyz field_0x14AC;
180 /* 0x14B4 */ f32 field_0x14B4;
181 /* 0x14B8 */ f32 field_0x14B8;
182 /* 0x14BC */ cXyz field_0x14BC;
183 /* 0x14C8 */ csXyz field_0x14C8;
184 /* 0x14CE */ u8 mMode;
185 /* 0x14CF */ u8 mSwBit;
186 /* 0x14D0 */ u8 field_0x14D0;
187 /* 0x14D1 */ u8 field_0x14D1;
188 /* 0x14D4 */ f32 field_0x14D4;
189 /* 0x14D8 */ int field_0x14D8;
190 /* 0x14DC */ Mtx field_0x14DC;
191 /* 0x150C */ u8 field_0x150C;
192 /* 0x1510 */ int mParticleID[3];
193 /* 0x151C */ int field_0x151C;
195 /* 0x1690 */ u8 field_0x1690;
196 /* 0x1691 */ u8 field_0x1691;
197 /* 0x1692 */ u8 field_0x1692;
198 /* 0x1692 */ u8 field_0x1693;
199 /* 0x1692 */ s16 field_0x1694;
200
201};
202
203STATIC_ASSERT(sizeof(daNpc_grA_c) == 0x1698);
204
205
206#endif /* D_A_NPC_GRA_H */
Definition J3DJoint.h:66
Definition J3DModel.h:43
Definition JORMContext.h:128
Definition Z2Creature.h:7
Definition c_sxyz.h:10
Definition d_cc_d.h:472
Particle effect management class for center-based effects.
Definition d_particle_copoly.h:25
Definition d_a_npc4.h:14
Definition d_a_npc4.h:140
Definition d_a_npc4.h:72
Definition d_a_npc4.h:170
Definition d_a_npc_gra.h:8
daNpcF_HIOParam common
Definition d_a_npc_gra.h:10
f32 mWalkingAnimationSpeed
Definition d_a_npc_gra.h:14
s16 mWalkingRotationDivisions
Definition d_a_npc_gra.h:16
f32 mParticleSize
Definition d_a_npc_gra.h:17
f32 mRotationalSpeed
Definition d_a_npc_gra.h:12
s16 mBowTimer
Definition d_a_npc_gra.h:11
f32 mWalkingSpeed
Definition d_a_npc_gra.h:13
s16 mWalkingRotationSpeed
Definition d_a_npc_gra.h:15
Definition d_a_npc_gra.h:28
void listenPropertyEvent(const JORPropertyEvent *)
Definition d_a_npc_gra.cpp:243
daNpc_grA_HIOParam m
Definition d_a_npc_gra.h:33
daNpc_grA_HIO_c()
Definition d_a_npc_gra.cpp:127
void genMessage(JORMContext *)
Definition d_a_npc_gra.cpp:277
Definition d_a_npc_gra.h:20
static daNpc_grA_HIOParam const m
Definition d_a_npc_gra.h:16
virtual ~daNpc_grA_Param_c()
Definition d_a_npc_gra.h:22
Definition d_a_npc_gra.h:51
dPaPo_c mManager
Definition d_a_npc_gra.h:57
csXyz mAngle
Definition d_a_npc_gra.h:55
cXyz mPos
Definition d_a_npc_gra.h:54
u8 field_0x0
Definition d_a_npc_gra.h:53
cXyz mScale
Definition d_a_npc_gra.h:56
Goron (Adult)
Definition d_a_npc_gra.h:49
BOOL waitBuyer(void *)
Definition d_a_npc_gra.cpp:3913
u8 getMode()
Definition d_a_npc_gra.cpp:1247
int field_0x1460
Definition d_a_npc_gra.h:160
NPC_GRA_HIO_CLASS * mpHIO
Definition d_a_npc_gra.h:153
void setOtherObjMtx()
Definition d_a_npc_gra.cpp:2114
BOOL test(void *)
Definition d_a_npc_gra.cpp:4057
BOOL ECut_rescueRock(int)
Definition d_a_npc_gra.cpp:2644
daNpc_grA_c_Action mAction
Definition d_a_npc_gra.h:157
daNpc_GrA_prtclMngr_c mParticleManager[4]
Definition d_a_npc_gra.h:194
csXyz field_0x14C8
Definition d_a_npc_gra.h:183
BOOL ECut_noneLook(int)
Definition d_a_npc_gra.cpp:2586
int field_0xBDC
Definition d_a_npc_gra.h:150
static BOOL ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_gra.cpp:551
BOOL wait(void *)
Definition d_a_npc_gra.cpp:3187
BOOL Delete()
Definition d_a_npc_gra.cpp:487
u8 mSwBit
Definition d_a_npc_gra.h:185
BOOL waitCheer(void *)
Definition d_a_npc_gra.cpp:3247
static cut_type mEvtCutList[]
Definition d_a_npc_gra.h:305
BOOL setHomeJump()
Definition d_a_npc_gra.cpp:584
void playExpression()
Definition d_a_npc_gra.cpp:1452
u8 field_0x1489
Definition d_a_npc_gra.h:174
f32 field_0x14B8
Definition d_a_npc_gra.h:181
J3DModel * mpModel
Definition d_a_npc_gra.h:149
s16 field_0x1484
Definition d_a_npc_gra.h:170
BOOL waitTW(void *)
Definition d_a_npc_gra.cpp:3224
u8 field_0x1692
Definition d_a_npc_gra.h:197
u8 field_0x1487
Definition d_a_npc_gra.h:172
BOOL moveRock(void *)
Definition d_a_npc_gra.cpp:3490
const char * mName
Definition d_a_npc_gra.h:168
void lookat()
Definition d_a_npc_gra.cpp:1899
void setMotionAnm(int, f32)
Definition d_a_npc_gra.cpp:1082
int field_0x1464
Definition d_a_npc_gra.h:161
BOOL create()
Definition d_a_npc_gra.cpp:339
BOOL Draw()
Definition d_a_npc_gra.cpp:499
u8 field_0x1488
Definition d_a_npc_gra.h:173
Z2Creature mCreature
Definition d_a_npc_gra.h:148
void setLookMode(int)
Definition d_a_npc_gra.cpp:1893
BOOL ECut_carrySpaWater(int)
Definition d_a_npc_gra.cpp:2731
cXyz field_0x14BC
Definition d_a_npc_gra.h:182
u8 field_0x1693
Definition d_a_npc_gra.h:198
BOOL setAction(int(daNpc_grA_c::*)(void *))
Definition d_a_npc_gra.cpp:1704
bool checkTagGraSubCrashed(fopAc_ac_c *)
Definition d_a_npc_gra.cpp:676
BOOL ECut_grDSGate(int)
Definition d_a_npc_gra.cpp:2363
u8 getMode1()
Definition d_a_npc_gra.cpp:1251
BOOL ECut_talkSpaWater(int)
Definition d_a_npc_gra.cpp:3135
BOOL ctrlJoint(J3DJoint *, J3DModel *)
Definition d_a_npc_gra.cpp:503
BOOL ECut_carrySpaWaterFailure(int)
Definition d_a_npc_gra.cpp:2931
u8 getTypeFromParam()
Definition d_a_npc_gra.cpp:1255
u8 field_0x1691
Definition d_a_npc_gra.h:196
BOOL beforeCrashWait(void *)
Definition d_a_npc_gra.cpp:3751
BOOL ctrlBtk()
Definition d_a_npc_gra.cpp:806
void playMotion()
Definition d_a_npc_gra.cpp:1563
BOOL waitSpaBuyerTW(void *)
Definition d_a_npc_gra.cpp:3720
int field_0x146C
Definition d_a_npc_gra.h:163
u8 mMode
Definition d_a_npc_gra.h:184
csXyz field_0x1498
Definition d_a_npc_gra.h:176
int field_0x1468
Definition d_a_npc_gra.h:162
int getType()
Definition d_a_npc_gra.h:136
void setMotion(int, f32, int)
Definition d_a_npc_gra.cpp:1164
s16 mLookMode
Definition d_a_npc_gra.h:164
bool checkTagGraSub(fopAc_ac_c *)
Definition d_a_npc_gra.cpp:602
static BOOL createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_gra.cpp:546
bool checkTagGraSub2(fopAc_ac_c *)
Definition d_a_npc_gra.cpp:623
BOOL selectAction()
Definition d_a_npc_gra.cpp:1717
BOOL setPrtcl()
Definition d_a_npc_gra.cpp:2028
void reset()
Definition d_a_npc_gra.cpp:1328
dCcD_Cyl field_0xC98
Definition d_a_npc_gra.h:154
BOOL talk(void *)
Definition d_a_npc_gra.cpp:3950
BOOL spaWarm(void *)
Definition d_a_npc_gra.cpp:3511
int field_0x14D8
Definition d_a_npc_gra.h:189
BOOL(daNpc_grA_c::*) daNpc_grA_c_Action(void *)
Definition d_a_npc_gra.h:146
static char * mEvtCutNameList[12]
Definition d_a_npc_gra.h:290
~daNpc_grA_c()
Definition d_a_npc_gra.cpp:323
BOOL waitSpaBuyer(void *)
Definition d_a_npc_gra.cpp:3669
u8 field_0x150C
Definition d_a_npc_gra.h:191
BOOL crashRollWait(void *)
Definition d_a_npc_gra.cpp:3837
BOOL chkFindPlayer()
Definition d_a_npc_gra.cpp:1973
bool setExpressionBtp(int)
Definition d_a_npc_gra.cpp:1019
BOOL chkAction(int(daNpc_grA_c::*)(void *))
Definition d_a_npc_gra.cpp:1700
void setParam()
Definition d_a_npc_gra.cpp:684
request_of_phase_process_class mPhase[8]
Definition d_a_npc_gra.h:158
BOOL drawDbgInfo()
Definition d_a_npc_gra.cpp:1174
u8 getSwBit()
Definition d_a_npc_gra.cpp:1293
u8 field_0x1690
Definition d_a_npc_gra.h:195
BOOL(daNpc_grA_c::*) cut_type(int)
Definition d_a_npc_gra.h:142
cXyz field_0x14A0
Definition d_a_npc_gra.h:178
bool setExpressionAnm(int, bool)
Definition d_a_npc_gra.cpp:918
int field_0x1478
Definition d_a_npc_gra.h:167
cXyz field_0x148C
Definition d_a_npc_gra.h:175
void drawOtherMdls()
Definition d_a_npc_gra.cpp:1225
BOOL setTagJump()
Definition d_a_npc_gra.cpp:564
BOOL main()
Definition d_a_npc_gra.cpp:756
BOOL waitGate(void *)
Definition d_a_npc_gra.cpp:3306
f32 field_0x14D4
Definition d_a_npc_gra.h:188
BOOL ECut_grDSRoll(int)
Definition d_a_npc_gra.cpp:2182
void setGateWalk()
Definition d_a_npc_gra.h:140
u16 field_0x1472
Definition d_a_npc_gra.h:165
s16 field_0x1694
Definition d_a_npc_gra.h:199
daNpcF_Path_c field_0xDD4
Definition d_a_npc_gra.h:155
BOOL ECut_kickOut(int)
Definition d_a_npc_gra.cpp:2519
BOOL ECut_rollRockCrash(int)
Definition d_a_npc_gra.cpp:2993
s16 getGraNo()
Definition d_a_npc_gra.h:137
daNpcF_Lookat_c mNpcfLookAt
Definition d_a_npc_gra.h:151
Mtx field_0x14DC
Definition d_a_npc_gra.h:190
u8 field_0x149E
Definition d_a_npc_gra.h:177
BOOL doEvent()
Definition d_a_npc_gra.cpp:1789
csXyz field_0x14AC
Definition d_a_npc_gra.h:179
int mParticleID[3]
Definition d_a_npc_gra.h:192
u8 field_0x14D1
Definition d_a_npc_gra.h:187
int field_0x145C
Definition d_a_npc_gra.h:159
u8 field_0x1486
Definition d_a_npc_gra.h:171
daNpcF_ActorMngr_c mNpcfActorManager[3]
Definition d_a_npc_gra.h:152
BOOL waitSpaWater(void *)
Definition d_a_npc_gra.cpp:3578
void setAttnPos()
Definition d_a_npc_gra.cpp:810
void setExpressionTalkAfter()
Definition d_a_npc_gra.cpp:2006
BOOL ECut_talkSpa(int)
Definition d_a_npc_gra.cpp:2128
BOOL CreateHeap()
Definition d_a_npc_gra.cpp:408
BOOL Execute()
Definition d_a_npc_gra.cpp:493
void setRollPrtcl(cXyz const &, f32)
Definition d_a_npc_gra.cpp:2075
fpc_ProcID field_0x1480
Definition d_a_npc_gra.h:169
f32 field_0x14B4
Definition d_a_npc_gra.h:180
BOOL waitKickOut(void *)
Definition d_a_npc_gra.cpp:3426
int field_0x151C
Definition d_a_npc_gra.h:193
virtual void adjustShapeAngle()
Definition d_a_npc_gra.h:134
BOOL setTagJump2()
Definition d_a_npc_gra.cpp:574
u8 mType
Definition d_a_npc_gra.h:166
BOOL isDelete()
Definition d_a_npc_gra.cpp:1297
BOOL ECut_teachElevator(int)
Definition d_a_npc_gra.cpp:2424
void setExpression(int, f32)
Definition d_a_npc_gra.cpp:1073
daNpc_grA_c_Action mAction2
Definition d_a_npc_gra.h:156
u8 field_0x14D0
Definition d_a_npc_gra.h:186
BOOL crashedWait(void *)
Definition d_a_npc_gra.cpp:3870
BOOL crashRoll(void *)
Definition d_a_npc_gra.cpp:3805
daNpc_grA_c()
Definition d_a_npc_gra.cpp:320
void addCarryNum()
Definition d_a_npc_gra.h:138
u8 getPathNoFromParam()
Definition d_a_npc_gra.h:139
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_grA_c)==0x1698)
f32 Mtx[3][4]
Definition mtx.h:25
unsigned int fpc_ProcID
Definition f_pc_base.h:10
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 z
Definition c_sxyz.h:7
csXyz angle
Definition f_op_actor.h:219
Definition c_xyz.h:7
Definition d_a_npc4.h:430
Definition c_phase.h:19