Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc_zrz.h
Go to the documentation of this file.
1#ifndef D_A_NPC_ZRZ_H
2#define D_A_NPC_ZRZ_H
3
4#include "d/actor/d_a_npc4.h"
5
8
11 /* 0x6C */ f32 field_0x6c;
12 /* 0x70 */ f32 mFollowDst;
13 /* 0x74 */ f32 mRestoreDst;
14 /* 0x78 */ f32 mMaxSpeed;
15 /* 0x7C */ f32 mClothesGetDst;
16 /* 0x80 */ f32 field_0x80;
17};
20public:
21 virtual ~daNpc_zrZ_Param_c() {}
22
23 static daNpc_zrZ_HIOParam const m;
24};
25
27
28#if DEBUG
30public:
32
34
36
38};
39
40#define NPC_ZRZ_HIO_CLASS daNpc_zrZ_HIO_c
41#else
42#define NPC_ZRZ_HIO_CLASS daNpc_zrZ_Param_c
43#endif
44
53class daNpc_zrZ_c : public daNpcF_c {
54public:
55 typedef BOOL (daNpc_zrZ_c::*ActionFn)(void*);
56 typedef BOOL (daNpc_zrZ_c::*EventFn)(int);
57
61 int CreateHeap();
62 int Delete();
63 int Execute();
64 int Draw();
65 int draw(BOOL, BOOL, f32, _GXColorS10*, BOOL);
67 static int createHeapCallBack(fopAc_ac_c*);
68 static int ctrlJointCallBack(J3DJoint*, int);
69 void setParam();
70 BOOL main();
71 BOOL ctrlBtk();
72 void setAttnPos();
73 void setMtx();
74 bool setExpressionAnm(int, bool);
75 bool setExpressionBtp(int);
76 void setExpression(int, f32);
77 void setMotionAnm(int, f32);
78 void setMotion(int, f32, int);
80 void drawOtherMdls();
82 /* inline */ u8 getPathNoFromParam() { return (fopAcM_GetParam(this) >> 8) & 0xff; }
83 /* inline */ u8 getDemoMode() { return (fopAcM_GetParam(this) >> 0x10) & 0xf; }
84 BOOL isDelete();
85 void reset();
86 void playExpression();
87 void playMotion();
91 void doNormalAction(BOOL);
92 BOOL doEvent();
93 BOOL setSkipZev(int, int);
94 void setLookMode(int);
95 void lookat();
97 void lightReady();
98 void setLightPos();
99 void lightPowerCalc(int);
100 void lightColorProc();
102 BOOL ECut_comeHere(int);
105 BOOL ECut_getAfter(int);
107 BOOL ECut_srSkip(int);
108 void pullbackPlayer(f32);
109 BOOL wait(void*);
110 BOOL comeHere(void*);
111 BOOL comeHere2(void*);
112 BOOL talk(void*);
113 BOOL test(void*);
114 void himoCalc();
116
117private:
123 /* 0x0C90 */ daNpcF_Path_c mPath;
124 /* 0x12C0 */ NPC_ZRZ_HIO_CLASS* mpHIO;
125 /* 0x12C4 */ dCcD_Cyl mCcCyl;
127 /* 0x140C */ ActionFn mpActionFn;
129 /* 0x1428 */ u8 field_0x1428[8];
130 /* 0x1430 */ u32 mItemID;
131 /* 0x1434 */ int field_0x1434;
132 /* 0x1438 */ int field_0x1438;
133 /* 0x143C */ int field_0x143c;
134 /* 0x1440 */ int field_0x1440;
135 /* 0x1444 */ int mFlowID;
136 /* 0x1448 */ s16 mLookMode;
137 /* 0x144A */ u16 mMode;
138 /* 0x144C */ u8 mType;
139 /* 0x144D */ bool mIsLeading;
140 /* 0x144E */ u8 mDemoMode;
141 /* 0x144F */ bool mIsMoving;
142 /* 0x1450 */ f32 mSpeed;
143 /* 0x1454 */ u8 mSwitch1;
144 /* 0x1455 */ u8 mSwitch2;
145 /* 0x1456 */ u8 mSwitch3;
146 /* 0x1458 */ csXyz mMoveAngle;
147 /* 0x1460 */ int mModulationParam;
148 /* 0x1464 */ f32 mModulationOffset;
150 /* 0x1488 */ f32 mAllcolRatio;
151 /* 0x148C */ int mLightEffectFrame;
152 /* 0x1490 */ bool mUseLightEffect;
153 /* 0x1491 */ bool mClothesObtained;
157 /* 0x14A0 */ cXyz mLimbCalcPos;
158 /* 0x14AC */ cXyz mLimbCalcRelPos;
159 /* 0x14B8 */ csXyz mLimbAngle;
160 /* 0x14C0 */ BOOL mMusicSet;
161 /* 0x14C4 */ bool mSealReleased;
162
163 static char* mEvtCutNameList[8];
164 static EventFn mEvtCutList[8];
165
167 /* 0x0 */ ANM_NONE,
168 /* 0x1 */ ANM_F_TALK_A,
169 /* 0x2 */ ANM_WAIT_GT_A,
170 /* 0x3 */ ANM_LEAD,
171 /* 0x4 */ ANM_COMEON,
172 };
173
175 /* 0x0 */ EXPR_TALK_A,
176 /* 0x1 */ EXPR_NONE,
177 };
178
179 enum Motion {
180 /* 0x0 */ MOT_WAIT_GT_A,
181 /* 0x1 */ MOT_COMEON,
182 /* 0x2 */ MOT_LEAD,
183 };
184
185 enum DemoMode {
186 /* 0x1 */ DEMO_WAIT = 1,
187 /* 0x2 */ DEMO_COME_HERE,
189 };
190
191 enum Event {
192 /* 0x0 */ EVT_NONE,
194 /* 0x2 */ EVT_COME_HERE,
197 /* 0x5 */ EVT_GET_AFTER,
199 /* 0x7 */ EVT_SR_SKIP,
200 };
201};
202
203STATIC_ASSERT(sizeof(daNpc_zrZ_c) == 0x14c8);
204
205#endif /* D_A_NPC_ZRZ_H */
int cPhs_Step
Definition c_phase.h:8
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
Zora Gravestone.
Definition d_a_obj_grave_stone.h:16
Definition d_a_npc4.h:14
Definition d_a_npc4.h:140
Definition d_a_npc4.h:121
Definition d_a_npc4.h:72
Definition d_a_npc4.h:170
Definition d_a_npc_zrz.h:29
daNpc_zrZ_HIOParam m
Definition d_a_npc_zrz.h:37
daNpc_zrZ_HIO_c()
Definition d_a_npc_zrz.cpp:164
void listenPropertyEvent(const JORPropertyEvent *)
Definition d_a_npc_zrz.cpp:168
void genMessage(JORMContext *)
Definition d_a_npc_zrz.cpp:172
Definition d_a_npc_zrz.h:19
static daNpc_zrZ_HIOParam const m
Definition d_a_npc_zrz.h:18
virtual ~daNpc_zrZ_Param_c()
Definition d_a_npc_zrz.h:21
Rutela.
Definition d_a_npc_zrz.h:53
void drawOtherMdls()
Definition d_a_npc_zrz.cpp:872
void setAttnPos()
Definition d_a_npc_zrz.cpp:616
BOOL talk(void *)
Definition d_a_npc_zrz.cpp:2327
void lightPowerCalc(int)
Definition d_a_npc_zrz.cpp:1256
dCcD_Cyl mCcCyl
Definition d_a_npc_zrz.h:125
cPhs_Step create()
Definition d_a_npc_zrz.cpp:197
BOOL ctrlBtk()
Definition d_a_npc_zrz.cpp:589
bool mIsMoving
Definition d_a_npc_zrz.h:141
void lightReady()
Definition d_a_npc_zrz.cpp:1235
csXyz mLimbAngle
Definition d_a_npc_zrz.h:159
u8 getDemoMode()
Definition d_a_npc_zrz.h:83
u8 getPathNoFromParam()
Definition d_a_npc_zrz.h:82
void adjustShapeAngle()
Definition d_a_npc_zrz.h:115
void setMtx()
Definition d_a_npc_zrz.cpp:691
bool setExpressionAnm(int, bool)
Definition d_a_npc_zrz.cpp:709
BOOL(daNpc_zrZ_c::*) ActionFn(void *)
Definition d_a_npc_zrz.h:55
void setExpression(int, f32)
Definition d_a_npc_zrz.cpp:794
u8 mSwitch1
Definition d_a_npc_zrz.h:143
BOOL drawDbgInfo()
Definition d_a_npc_zrz.cpp:868
cXyz mLimbCalcRelPos
Definition d_a_npc_zrz.h:158
u8 field_0x1428[8]
Definition d_a_npc_zrz.h:129
u8 mDemoMode
Definition d_a_npc_zrz.h:140
~daNpc_zrZ_c()
Definition d_a_npc_zrz.cpp:181
bool mSealReleased
Definition d_a_npc_zrz.h:161
request_of_phase_process_class mPhase[2]
Definition d_a_npc_zrz.h:128
mDoExt_invisibleModel mInvisibleModel
Definition d_a_npc_zrz.h:120
DemoMode
Definition d_a_npc_zrz.h:185
@ DEMO_WAIT
Definition d_a_npc_zrz.h:186
@ DEMO_COME_HERE_2
Definition d_a_npc_zrz.h:188
@ DEMO_COME_HERE
Definition d_a_npc_zrz.h:187
int draw(BOOL, BOOL, f32, _GXColorS10 *, BOOL)
Definition d_a_npc_zrz.cpp:332
int CreateHeap()
Definition d_a_npc_zrz.cpp:264
BOOL selectAction()
Definition d_a_npc_zrz.cpp:1010
bool setExpressionBtp(int)
Definition d_a_npc_zrz.cpp:753
void himoCalc()
Definition d_a_npc_zrz.cpp:2402
f32 mSpeed
Definition d_a_npc_zrz.h:142
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_zrz.cpp:481
void setMotionAnm(int, f32)
Definition d_a_npc_zrz.cpp:803
int field_0x1438
Definition d_a_npc_zrz.h:132
int field_0x143c
Definition d_a_npc_zrz.h:133
f32 mAllcolRatio
Definition d_a_npc_zrz.h:150
BOOL ECut_helpPrince(int)
Definition d_a_npc_zrz.cpp:1311
BOOL ECut_srSkip(int)
Definition d_a_npc_zrz.cpp:2024
int field_0x1440
Definition d_a_npc_zrz.h:134
daNpc_zrZ_c()
Definition d_a_npc_zrz.cpp:177
Event
Definition d_a_npc_zrz.h:191
@ EVT_RESTORE_LINK
Definition d_a_npc_zrz.h:195
@ EVT_NONE
Definition d_a_npc_zrz.h:192
@ EVT_COME_HERE
Definition d_a_npc_zrz.h:194
@ EVT_CLOTHES_GET
Definition d_a_npc_zrz.h:196
@ EVT_GET_AFTER
Definition d_a_npc_zrz.h:197
@ EVT_SEAL_RELEASE
Definition d_a_npc_zrz.h:198
@ EVT_HELP_PRINCE
Definition d_a_npc_zrz.h:193
@ EVT_SR_SKIP
Definition d_a_npc_zrz.h:199
void lightColorProc()
Definition d_a_npc_zrz.cpp:1266
u8 mSwitch3
Definition d_a_npc_zrz.h:145
BOOL comeHere2(void *)
Definition d_a_npc_zrz.cpp:2227
void setParam()
Definition d_a_npc_zrz.cpp:512
void playMotion()
Definition d_a_npc_zrz.cpp:977
static EventFn mEvtCutList[8]
Definition d_a_npc_zrz.h:152
cXyz mLimbCalcPos
Definition d_a_npc_zrz.h:157
LIGHT_INFLUENCE mLight
Definition d_a_npc_zrz.h:149
BOOL mMusicSet
Definition d_a_npc_zrz.h:160
int Delete()
Definition d_a_npc_zrz.cpp:313
daNpcF_ActorMngr_c mActorMngr[2]
Definition d_a_npc_zrz.h:122
u32 mItemID
Definition d_a_npc_zrz.h:130
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_zrz.cpp:477
void reset()
Definition d_a_npc_zrz.cpp:899
bool mUseLightEffect
Definition d_a_npc_zrz.h:152
int mModulationParam
Definition d_a_npc_zrz.h:147
int mLightEffectFrame
Definition d_a_npc_zrz.h:151
void setExpressionTalkAfter()
Definition d_a_npc_zrz.cpp:1231
BOOL ECut_clothesGet(int)
Definition d_a_npc_zrz.cpp:1664
u16 mMode
Definition d_a_npc_zrz.h:137
u8 mType
Definition d_a_npc_zrz.h:138
BOOL isDelete()
Definition d_a_npc_zrz.cpp:887
s16 mLookMode
Definition d_a_npc_zrz.h:136
void pullbackPlayer(f32)
Definition d_a_npc_zrz.cpp:2054
BOOL setAction(ActionFn)
Definition d_a_npc_zrz.cpp:997
ActionFn mpNextActionFn
Definition d_a_npc_zrz.h:126
NPC_ZRZ_HIO_CLASS * mpHIO
Definition d_a_npc_zrz.h:124
u8 mSwitch2
Definition d_a_npc_zrz.h:144
csXyz mMoveAngle
Definition d_a_npc_zrz.h:146
bool mIsLeading
Definition d_a_npc_zrz.h:139
int Execute()
Definition d_a_npc_zrz.cpp:318
int field_0x1434
Definition d_a_npc_zrz.h:131
daNpcF_Path_c mPath
Definition d_a_npc_zrz.h:123
BOOL ECut_restoreLink(int)
Definition d_a_npc_zrz.cpp:1623
daGraveStone_c * mpGravestoneActor
Definition d_a_npc_zrz.h:154
Expression
Definition d_a_npc_zrz.h:174
@ EXPR_TALK_A
Definition d_a_npc_zrz.h:175
@ EXPR_NONE
Definition d_a_npc_zrz.h:176
BOOL comeHere(void *)
Definition d_a_npc_zrz.cpp:2132
daObjZraRock_c * mpRockActor
Definition d_a_npc_zrz.h:156
void setMotion(int, f32, int)
Definition d_a_npc_zrz.cpp:856
BOOL doEvent()
Definition d_a_npc_zrz.cpp:1057
Z2Creature mCreatureSound
Definition d_a_npc_zrz.h:118
u8 getTypeFromParam()
Definition d_a_npc_zrz.cpp:876
BOOL ECut_sealRelease(int)
Definition d_a_npc_zrz.cpp:1941
int mFlowID
Definition d_a_npc_zrz.h:135
BOOL ECut_getAfter(int)
Definition d_a_npc_zrz.cpp:1870
BOOL setSkipZev(int, int)
Definition d_a_npc_zrz.cpp:1165
BOOL ECut_comeHere(int)
Definition d_a_npc_zrz.cpp:1569
void lookat()
Definition d_a_npc_zrz.cpp:1179
BOOL main()
Definition d_a_npc_zrz.cpp:547
BOOL wait(void *)
Definition d_a_npc_zrz.cpp:2064
daNpcF_MatAnm_c * mpMatAnm
Definition d_a_npc_zrz.h:119
ActionFn mpActionFn
Definition d_a_npc_zrz.h:127
BOOL chkAction(ActionFn)
Definition d_a_npc_zrz.cpp:993
void playExpression()
Definition d_a_npc_zrz.cpp:963
void setLookMode(int)
Definition d_a_npc_zrz.cpp:1173
void setLightPos()
Definition d_a_npc_zrz.cpp:1246
BOOL test(void *)
Definition d_a_npc_zrz.cpp:2377
f32 mModulationOffset
Definition d_a_npc_zrz.h:148
int Draw()
Definition d_a_npc_zrz.cpp:322
void doNormalAction(BOOL)
Definition d_a_npc_zrz.cpp:1030
Motion
Definition d_a_npc_zrz.h:179
@ MOT_WAIT_GT_A
Definition d_a_npc_zrz.h:180
@ MOT_LEAD
Definition d_a_npc_zrz.h:182
@ MOT_COMEON
Definition d_a_npc_zrz.h:181
Animation
Definition d_a_npc_zrz.h:166
@ ANM_NONE
Definition d_a_npc_zrz.h:167
@ ANM_LEAD
Definition d_a_npc_zrz.h:170
@ ANM_F_TALK_A
Definition d_a_npc_zrz.h:168
@ ANM_WAIT_GT_A
Definition d_a_npc_zrz.h:169
@ ANM_COMEON
Definition d_a_npc_zrz.h:171
daNpcF_Lookat_c mLookat
Definition d_a_npc_zrz.h:121
fopAc_ac_c * mpClothActor
Definition d_a_npc_zrz.h:155
static char * mEvtCutNameList[8]
Definition d_a_npc_zrz.h:141
BOOL(daNpc_zrZ_c::*) EventFn(int)
Definition d_a_npc_zrz.h:56
int ctrlJoint(J3DJoint *, J3DModel *)
Definition d_a_npc_zrz.cpp:410
bool mClothesObtained
Definition d_a_npc_zrz.h:153
Zora Rock.
Definition d_a_obj_zra_rock.h:16
Definition f_op_actor.h:243
Definition m_Do_ext.h:535
Definition m_Do_hostIO.h:26
STATIC_ASSERT(sizeof(daNpc_zrZ_HIOParam)==0x84)
u32 fopAcM_GetParam(const void *i_actor)
Definition f_op_actor_mng.h:204
int BOOL
Definition types.h:33
unsigned long u32
Definition types.h:12
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
Definition d_kankyo.h:17
Definition GXStruct.h:34
Definition c_xyz.h:7
Definition d_a_npc4.h:430
Definition d_a_npc_zrz.h:9
f32 field_0x6c
Definition d_a_npc_zrz.h:11
f32 field_0x80
Definition d_a_npc_zrz.h:16
f32 mMaxSpeed
Definition d_a_npc_zrz.h:14
daNpcF_HIOParam common
Definition d_a_npc_zrz.h:10
f32 mFollowDst
Definition d_a_npc_zrz.h:12
f32 mClothesGetDst
Definition d_a_npc_zrz.h:15
f32 mRestoreDst
Definition d_a_npc_zrz.h:13
Definition c_phase.h:19