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
29public:
31#if DEBUG
34#endif
36};
37
38#define NPC_GRA_HIO_CLASS daNpc_grA_HIO_c
39
40#else
41
42#define NPC_GRA_HIO_CLASS daNpc_grA_Param_c
43
44#endif
45
54class daNpc_grA_c : public daNpcF_c {
55public:
57 public:
58 /* 0x00 */ u8 field_0x0;
59 /* 0x04 */ cXyz mPos;
60 /* 0x10 */ csXyz mAngle;
61 /* 0x18 */ cXyz mScale;
62 /* 0x24 */ dPaPo_c mManager;
63 };
64
67 BOOL create();
69 BOOL Delete();
70 BOOL Execute();
71 BOOL Draw();
74 static BOOL ctrlJointCallBack(J3DJoint*, int);
81 void setParam();
82 BOOL main();
83 BOOL ctrlBtk();
84 void setAttnPos();
85 bool setExpressionAnm(int, bool);
86 bool setExpressionBtp(int);
87 void setExpression(int, f32);
88 void setMotionAnm(int, f32);
89 void setMotion(int, f32, int);
91 void drawOtherMdls();
92 u8 getMode();
93 u8 getMode1();
95 u8 getSwBit();
96 BOOL isDelete();
97 void reset();
98 void playExpression();
99 void playMotion();
100 BOOL chkAction(int (daNpc_grA_c::*)(void*));
101 BOOL setAction(int (daNpc_grA_c::*)(void*));
103 BOOL doEvent();
104 void setLookMode(int);
105 void lookat();
108 BOOL setPrtcl();
109 void setRollPrtcl(cXyz const&, f32);
110 void setOtherObjMtx();
111 BOOL ECut_talkSpa(int);
112 BOOL ECut_grDSRoll(int);
113 BOOL ECut_grDSGate(int);
115 BOOL ECut_kickOut(int);
116 BOOL ECut_noneLook(int);
122 BOOL wait(void*);
123 BOOL waitTW(void*);
124 BOOL waitCheer(void*);
125 BOOL waitGate(void*);
126 BOOL waitKickOut(void*);
127 BOOL moveRock(void*);
128 BOOL spaWarm(void*);
129 BOOL waitSpaWater(void*);
130 BOOL waitSpaBuyer(void*);
131 BOOL waitSpaBuyerTW(void*);
132 BOOL beforeCrashWait(void*);
133 BOOL crashRoll(void*);
134 BOOL crashRollWait(void*);
135 BOOL crashedWait(void*);
136 BOOL waitBuyer(void*);
137 BOOL talk(void*);
138 BOOL test(void*);
139 virtual void adjustShapeAngle() {}
140
141 int getType() { return mType; }
142 s16 getGraNo() { return 0; }
145 void setGateWalk() { field_0x14D0 = 1; }
146 static char* mEvtCutNameList[12];
147 typedef BOOL (daNpc_grA_c::*cut_type)(int);
148 static cut_type mEvtCutList[];
149
150private:
152
153 /* 0x0B48 */ Z2Creature mCreature;
154 /* 0x0BD8 */ J3DModel* mpModel;
155 /* 0x0BDC */ int field_0xBDC;
158 /* 0x0C94 */ NPC_GRA_HIO_CLASS* mpHio;
159 /* 0x0C98 */ dCcD_Cyl field_0xC98;
164 /* 0x145C */ int field_0x145C;
165 /* 0x14B0 */ int field_0x1460;
166 /* 0x1464 */ int field_0x1464;
167 /* 0x1468 */ int field_0x1468;
168 /* 0x146C */ int field_0x146C;
169 /* 0x1470 */ s16 mLookMode;
170 /* 0x1472 */ u16 field_0x1472;
171 /* 0x1474 */ u8 mType;
172 /* 0x1478 */ int field_0x1478;
173 /* 0x147C */ const char* mName;
175 /* 0x1484 */ s16 field_0x1484;
176 /* 0x1486 */ u8 field_0x1486;
177 /* 0x1487 */ u8 field_0x1487;
178 /* 0x1488 */ u8 field_0x1488;
179 /* 0x1489 */ u8 field_0x1489;
180 /* 0x148C */ cXyz field_0x148C;
181 /* 0x1498 */ csXyz field_0x1498;
182 /* 0x149E */ u8 field_0x149E;
183 /* 0x14A0 */ cXyz field_0x14A0;
184 /* 0x14AC */ csXyz field_0x14AC;
185 /* 0x14B4 */ f32 field_0x14B4;
186 /* 0x14B8 */ f32 field_0x14B8;
187 /* 0x14BC */ cXyz field_0x14BC;
188 /* 0x14C8 */ csXyz field_0x14C8;
189 /* 0x14CE */ u8 mMode;
190 /* 0x14CF */ u8 mSwBit;
191 /* 0x14D0 */ u8 field_0x14D0;
192 /* 0x14D1 */ u8 field_0x14D1;
193 /* 0x14D4 */ f32 field_0x14D4;
194 /* 0x14D8 */ int field_0x14D8;
195 /* 0x14DC */ Mtx field_0x14DC;
196 /* 0x150C */ u8 field_0x150C;
197 /* 0x1510 */ int mParticleID[3];
198 /* 0x151C */ int field_0x151C;
200 /* 0x1690 */ u8 field_0x1690;
201 /* 0x1691 */ u8 field_0x1691;
202 /* 0x1692 */ u8 field_0x1692;
203 /* 0x1692 */ u8 field_0x1693;
204 /* 0x1692 */ s16 field_0x1694;
205
206};
207
208STATIC_ASSERT(sizeof(daNpc_grA_c) == 0x1698);
209
210
211#endif /* D_A_NPC_GRA_H */
Definition J3DJoint.h:63
Definition J3DModel.h:43
Definition JORMContext.h:120
Definition Z2Creature.h:7
Definition c_sxyz.h:10
Definition d_cc_d.h:461
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:379
Definition d_a_npc4.h:330
Definition d_a_npc4.h:54
Definition d_a_npc_gra.h:8
daNpcF_HIOParam mNpcFParams
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:253
daNpc_grA_HIOParam mHioParams
Definition d_a_npc_gra.h:35
daNpc_grA_HIO_c()
Definition d_a_npc_gra.cpp:137
void genMessage(JORMContext *)
Definition d_a_npc_gra.cpp:287
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:56
dPaPo_c mManager
Definition d_a_npc_gra.h:62
csXyz mAngle
Definition d_a_npc_gra.h:60
cXyz mPos
Definition d_a_npc_gra.h:59
u8 field_0x0
Definition d_a_npc_gra.h:58
cXyz mScale
Definition d_a_npc_gra.h:61
Goron (Adult)
Definition d_a_npc_gra.h:54
BOOL waitBuyer(void *)
Definition d_a_npc_gra.cpp:3923
u8 getMode()
Definition d_a_npc_gra.cpp:1257
int field_0x1460
Definition d_a_npc_gra.h:165
void setOtherObjMtx()
Definition d_a_npc_gra.cpp:2124
BOOL test(void *)
Definition d_a_npc_gra.cpp:4067
BOOL ECut_rescueRock(int)
Definition d_a_npc_gra.cpp:2654
daNpc_grA_c_Action mAction
Definition d_a_npc_gra.h:162
daNpc_GrA_prtclMngr_c mParticleManager[4]
Definition d_a_npc_gra.h:199
csXyz field_0x14C8
Definition d_a_npc_gra.h:188
BOOL ECut_noneLook(int)
Definition d_a_npc_gra.cpp:2596
int field_0xBDC
Definition d_a_npc_gra.h:155
static BOOL ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_gra.cpp:561
BOOL wait(void *)
Definition d_a_npc_gra.cpp:3197
BOOL Delete()
Definition d_a_npc_gra.cpp:497
u8 mSwBit
Definition d_a_npc_gra.h:190
BOOL waitCheer(void *)
Definition d_a_npc_gra.cpp:3257
static cut_type mEvtCutList[]
Definition d_a_npc_gra.h:315
BOOL setHomeJump()
Definition d_a_npc_gra.cpp:594
void playExpression()
Definition d_a_npc_gra.cpp:1462
u8 field_0x1489
Definition d_a_npc_gra.h:179
f32 field_0x14B8
Definition d_a_npc_gra.h:186
J3DModel * mpModel
Definition d_a_npc_gra.h:154
s16 field_0x1484
Definition d_a_npc_gra.h:175
BOOL waitTW(void *)
Definition d_a_npc_gra.cpp:3234
u8 field_0x1692
Definition d_a_npc_gra.h:202
u8 field_0x1487
Definition d_a_npc_gra.h:177
BOOL moveRock(void *)
Definition d_a_npc_gra.cpp:3500
const char * mName
Definition d_a_npc_gra.h:173
void lookat()
Definition d_a_npc_gra.cpp:1909
void setMotionAnm(int, f32)
Definition d_a_npc_gra.cpp:1092
int field_0x1464
Definition d_a_npc_gra.h:166
BOOL create()
Definition d_a_npc_gra.cpp:349
BOOL Draw()
Definition d_a_npc_gra.cpp:509
u8 field_0x1488
Definition d_a_npc_gra.h:178
Z2Creature mCreature
Definition d_a_npc_gra.h:153
void setLookMode(int)
Definition d_a_npc_gra.cpp:1903
BOOL ECut_carrySpaWater(int)
Definition d_a_npc_gra.cpp:2741
cXyz field_0x14BC
Definition d_a_npc_gra.h:187
u8 field_0x1693
Definition d_a_npc_gra.h:203
BOOL setAction(int(daNpc_grA_c::*)(void *))
Definition d_a_npc_gra.cpp:1714
bool checkTagGraSubCrashed(fopAc_ac_c *)
Definition d_a_npc_gra.cpp:686
BOOL ECut_grDSGate(int)
Definition d_a_npc_gra.cpp:2373
u8 getMode1()
Definition d_a_npc_gra.cpp:1261
BOOL ECut_talkSpaWater(int)
Definition d_a_npc_gra.cpp:3145
BOOL ctrlJoint(J3DJoint *, J3DModel *)
Definition d_a_npc_gra.cpp:513
BOOL ECut_carrySpaWaterFailure(int)
Definition d_a_npc_gra.cpp:2941
u8 getTypeFromParam()
Definition d_a_npc_gra.cpp:1265
u8 field_0x1691
Definition d_a_npc_gra.h:201
BOOL beforeCrashWait(void *)
Definition d_a_npc_gra.cpp:3761
BOOL ctrlBtk()
Definition d_a_npc_gra.cpp:816
void playMotion()
Definition d_a_npc_gra.cpp:1573
BOOL waitSpaBuyerTW(void *)
Definition d_a_npc_gra.cpp:3730
int field_0x146C
Definition d_a_npc_gra.h:168
u8 mMode
Definition d_a_npc_gra.h:189
csXyz field_0x1498
Definition d_a_npc_gra.h:181
int field_0x1468
Definition d_a_npc_gra.h:167
int getType()
Definition d_a_npc_gra.h:141
void setMotion(int, f32, int)
Definition d_a_npc_gra.cpp:1174
s16 mLookMode
Definition d_a_npc_gra.h:169
bool checkTagGraSub(fopAc_ac_c *)
Definition d_a_npc_gra.cpp:612
static BOOL createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_gra.cpp:556
bool checkTagGraSub2(fopAc_ac_c *)
Definition d_a_npc_gra.cpp:633
BOOL selectAction()
Definition d_a_npc_gra.cpp:1727
BOOL setPrtcl()
Definition d_a_npc_gra.cpp:2038
void reset()
Definition d_a_npc_gra.cpp:1338
dCcD_Cyl field_0xC98
Definition d_a_npc_gra.h:159
BOOL talk(void *)
Definition d_a_npc_gra.cpp:3960
BOOL spaWarm(void *)
Definition d_a_npc_gra.cpp:3521
int field_0x14D8
Definition d_a_npc_gra.h:194
BOOL(daNpc_grA_c::*) daNpc_grA_c_Action(void *)
Definition d_a_npc_gra.h:151
static char * mEvtCutNameList[12]
Definition d_a_npc_gra.h:300
~daNpc_grA_c()
Definition d_a_npc_gra.cpp:333
BOOL waitSpaBuyer(void *)
Definition d_a_npc_gra.cpp:3679
u8 field_0x150C
Definition d_a_npc_gra.h:196
BOOL crashRollWait(void *)
Definition d_a_npc_gra.cpp:3847
BOOL chkFindPlayer()
Definition d_a_npc_gra.cpp:1983
bool setExpressionBtp(int)
Definition d_a_npc_gra.cpp:1029
BOOL chkAction(int(daNpc_grA_c::*)(void *))
Definition d_a_npc_gra.cpp:1710
void setParam()
Definition d_a_npc_gra.cpp:694
request_of_phase_process_class mPhase[8]
Definition d_a_npc_gra.h:163
NPC_GRA_HIO_CLASS * mpHio
Definition d_a_npc_gra.h:158
BOOL drawDbgInfo()
Definition d_a_npc_gra.cpp:1184
u8 getSwBit()
Definition d_a_npc_gra.cpp:1303
u8 field_0x1690
Definition d_a_npc_gra.h:200
BOOL(daNpc_grA_c::*) cut_type(int)
Definition d_a_npc_gra.h:147
cXyz field_0x14A0
Definition d_a_npc_gra.h:183
bool setExpressionAnm(int, bool)
Definition d_a_npc_gra.cpp:928
int field_0x1478
Definition d_a_npc_gra.h:172
cXyz field_0x148C
Definition d_a_npc_gra.h:180
void drawOtherMdls()
Definition d_a_npc_gra.cpp:1235
BOOL setTagJump()
Definition d_a_npc_gra.cpp:574
BOOL main()
Definition d_a_npc_gra.cpp:766
BOOL waitGate(void *)
Definition d_a_npc_gra.cpp:3316
f32 field_0x14D4
Definition d_a_npc_gra.h:193
BOOL ECut_grDSRoll(int)
Definition d_a_npc_gra.cpp:2192
void setGateWalk()
Definition d_a_npc_gra.h:145
u16 field_0x1472
Definition d_a_npc_gra.h:170
s16 field_0x1694
Definition d_a_npc_gra.h:204
daNpcF_Path_c field_0xDD4
Definition d_a_npc_gra.h:160
BOOL ECut_kickOut(int)
Definition d_a_npc_gra.cpp:2529
BOOL ECut_rollRockCrash(int)
Definition d_a_npc_gra.cpp:3003
s16 getGraNo()
Definition d_a_npc_gra.h:142
daNpcF_Lookat_c mNpcfLookAt
Definition d_a_npc_gra.h:156
Mtx field_0x14DC
Definition d_a_npc_gra.h:195
u8 field_0x149E
Definition d_a_npc_gra.h:182
BOOL doEvent()
Definition d_a_npc_gra.cpp:1799
csXyz field_0x14AC
Definition d_a_npc_gra.h:184
int mParticleID[3]
Definition d_a_npc_gra.h:197
u8 field_0x14D1
Definition d_a_npc_gra.h:192
int field_0x145C
Definition d_a_npc_gra.h:164
u8 field_0x1486
Definition d_a_npc_gra.h:176
daNpcF_ActorMngr_c mNpcfActorManager[3]
Definition d_a_npc_gra.h:157
BOOL waitSpaWater(void *)
Definition d_a_npc_gra.cpp:3588
void setAttnPos()
Definition d_a_npc_gra.cpp:820
void setExpressionTalkAfter()
Definition d_a_npc_gra.cpp:2016
BOOL ECut_talkSpa(int)
Definition d_a_npc_gra.cpp:2138
BOOL CreateHeap()
Definition d_a_npc_gra.cpp:418
BOOL Execute()
Definition d_a_npc_gra.cpp:503
void setRollPrtcl(cXyz const &, f32)
Definition d_a_npc_gra.cpp:2085
fpc_ProcID field_0x1480
Definition d_a_npc_gra.h:174
f32 field_0x14B4
Definition d_a_npc_gra.h:185
BOOL waitKickOut(void *)
Definition d_a_npc_gra.cpp:3436
int field_0x151C
Definition d_a_npc_gra.h:198
virtual void adjustShapeAngle()
Definition d_a_npc_gra.h:139
BOOL setTagJump2()
Definition d_a_npc_gra.cpp:584
u8 mType
Definition d_a_npc_gra.h:171
BOOL isDelete()
Definition d_a_npc_gra.cpp:1307
BOOL ECut_teachElevator(int)
Definition d_a_npc_gra.cpp:2434
void setExpression(int, f32)
Definition d_a_npc_gra.cpp:1083
daNpc_grA_c_Action mAction2
Definition d_a_npc_gra.h:161
u8 field_0x14D0
Definition d_a_npc_gra.h:191
BOOL crashedWait(void *)
Definition d_a_npc_gra.cpp:3880
BOOL crashRoll(void *)
Definition d_a_npc_gra.cpp:3815
daNpc_grA_c()
Definition d_a_npc_gra.cpp:330
void addCarryNum()
Definition d_a_npc_gra.h:143
u8 getPathNoFromParam()
Definition d_a_npc_gra.h:144
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_grA_c)==0x1698)
f32 Mtx[3][4]
Definition mtx.h:25
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
unsigned int fpc_ProcID
Definition f_pc_base.h:10
Definition JORReflexible.h:10
s16 z
Definition c_sxyz.h:7
csXyz angle
Definition f_op_actor.h:206
Definition c_xyz.h:7
Definition d_a_npc4.h:423
Definition c_phase.h:17