Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc_grz.h
Go to the documentation of this file.
1#ifndef D_A_NPC_GRZ_H
2#define D_A_NPC_GRZ_H
3
4#include "d/actor/d_a_npc4.h"
6
18 /* 0x6C */ s16 color_time; // カラータイム - Color Time
19 /* 0x6E */ s16 color_r; // カラーR - Color R
20 /* 0x70 */ s16 color_g; // カラーG - Color G
21 /* 0x72 */ s16 color_b; // カラーB - Color B
22 /* 0x74 */ f32 walk_speed; // 歩き速度 - Walk Speed
23 /* 0x78 */ f32 rotation_movement_speed; // 回転移動速度 - Rotational Movement Speed
24 /* 0x7C */ f32 demo_start_distance; // デモ開始距離 - Demo Start Distance
25};
26
28public:
29 virtual ~daNpc_Grz_Param_c() {}
30
31 static daNpc_Grz_HIOParam const m;
32};
33
34#if DEBUG
36public:
38
39 void listenPropertyEvent(const JORPropertyEvent* event);
40
41 void genMessage(JORMContext* ctx);
42
44};
45
46#define NPC_GRZ_HIO_CLASS daNpc_Grz_HIO_c
47#else
48#define NPC_GRZ_HIO_CLASS daNpc_Grz_Param_c
49#endif
50
51class daNpc_Grz_c : public daNpcF_c {
52public:
53 typedef int (daNpc_Grz_c::*actionFunc)(void*);
54 typedef int (daNpc_Grz_c::*cutFunc)(int);
55
57 public:
58 /* 0x00 */ u8 field_0x0;
59 /* 0x04 */ cXyz mPos;
60 /* 0x10 */ csXyz mAngle;
61 /* 0x18 */ cXyz mScale;
62 /* 0x24 */ dPaPo_c mPaPo;
63 };
64
68 int CreateHeap();
69 int Delete();
70 int Execute();
71 int Draw();
73 static int createHeapCallBack(fopAc_ac_c*);
74 static int ctrlJointCallBack(J3DJoint*, int);
75 void setParam();
76 BOOL main();
77 BOOL ctrlBtk();
78 void setAttnPos();
79 void setCollisionPunch();
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);
85 int drawDbgInfo();
86 void drawOtherMdls();
87 int getTypeFromParam();
88 BOOL isDelete();
89 void reset();
90 void resetCol();
91 void playExpression();
92 void playMotion();
96 void doNormalAction(int);
97 BOOL doEvent();
98 bool setSkipZev(int, int);
99 void setLookMode(int);
100 void lookat();
102 int wait(void*);
103 int waitSmash(void*);
104 int lieDown(void*);
105 int waitWeak(void*);
106 int talk(void*);
107 int test(void*);
108 int setPrtcl();
109 int doWaitCut(int);
110 int doRebirthCut(int);
111 int doTalkStandCut(int);
112 int doGoOutCut(int);
113 int doStoneSmashCut(int);
114 int doStoneSmashSkipCut(int);
116
117 u8 getPathNoFromParam() { return (fopAcM_GetParam(this) & 0xFF00) >> 8; }
118
119 static char* mEvtCutNameList[7];
120 static cutFunc mEvtCutList[7];
121
122private:
123 /* 0x0B48 */ Z2Creature mSound;
126 /* 0x0C78 */ daNpcF_Path_c mPath;
128 /* 0x12C8 */ NPC_GRZ_HIO_CLASS* mpHIO;
129 /* 0x12CC */ dCcD_Cyl mCyl1;
130 /* 0x1408 */ dCcD_Cyl mCyl2;
131 /* 0x1544 */ dCcD_Sph mSphs[4];
133 /* 0x1A30 */ actionFunc mAction;
135 /* 0x1A64 */ int field_0x1a64;
136 /* 0x1A68 */ int field_0x1a68;
137 /* 0x1A6C */ int field_0x1a6c;
138 /* 0x1A70 */ int field_0x1a70;
139 /* 0x1A74 */ int mMsgNo;
140 /* 0x1A78 */ s16 mLookMode;
141 /* 0x1A7A */ u16 mMode;
142 /* 0x1A7C */ u8 mType;
143 /* 0x1A80 */ int mAnm;
144 /* 0x1A84 */ int field_0x1a84;
145 /* 0x1A88 */ int field_0x1a88;
146 /* 0x1A8C */ int mTimer;
147 /* 0x1A90 */ J3DGXColorS10 mColor;
148 /* 0x1A98 */ u8 mSwNo;
149 /* 0x1A9C */ int field_0x1a9c;
150 /* 0x1AA0 */ u32 field_0x1aa0[3];
152};
153
154STATIC_ASSERT(sizeof(daNpc_Grz_c) == 0x1b08);
155
156#endif /* D_A_NPC_GRZ_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
Definition d_cc_d.h:487
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:121
Definition d_a_npc4.h:72
Definition d_a_npc4.h:170
Definition d_a_npc_grz.h:35
void genMessage(JORMContext *ctx)
Definition d_a_npc_grz.cpp:385
daNpc_Grz_HIO_c()
Definition d_a_npc_grz.cpp:377
void listenPropertyEvent(const JORPropertyEvent *event)
Definition d_a_npc_grz.cpp:381
daNpc_Grz_HIOParam m
Definition d_a_npc_grz.h:43
Definition d_a_npc_grz.h:27
static daNpc_Grz_HIOParam const m
Definition d_a_npc_grz.h:408
virtual ~daNpc_Grz_Param_c()
Definition d_a_npc_grz.h:29
Definition d_a_npc_grz.h:56
dPaPo_c mPaPo
Definition d_a_npc_grz.h:62
csXyz mAngle
Definition d_a_npc_grz.h:60
cXyz mScale
Definition d_a_npc_grz.h:61
u8 field_0x0
Definition d_a_npc_grz.h:58
cXyz mPos
Definition d_a_npc_grz.h:59
Darbus.
Definition d_a_npc_grz.h:51
int mTimer
Definition d_a_npc_grz.h:146
cPhs_Step create()
Definition d_a_npc_grz.cpp:451
static cutFunc mEvtCutList[7]
Definition d_a_npc_grz.h:366
BOOL selectAction()
Definition d_a_npc_grz.cpp:1469
u8 mSwNo
Definition d_a_npc_grz.h:148
s16 mLookMode
Definition d_a_npc_grz.h:140
void setAttnPos()
Definition d_a_npc_grz.cpp:781
int doTalkStandCut(int)
Definition d_a_npc_grz.cpp:2057
int field_0x1a84
Definition d_a_npc_grz.h:144
int test(void *)
Definition d_a_npc_grz.cpp:1965
daNpcF_ActorMngr_c mActorMngrs[4]
Definition d_a_npc_grz.h:127
int field_0x1a88
Definition d_a_npc_grz.h:145
void lookat()
Definition d_a_npc_grz.cpp:1643
static char * mEvtCutNameList[7]
Definition d_a_npc_grz.h:356
daNpcF_Lookat_c mLookat
Definition d_a_npc_grz.h:125
int wait(void *)
Definition d_a_npc_grz.cpp:1722
dCcD_Cyl mCyl1
Definition d_a_npc_grz.h:129
daNpc_Grz_c()
Definition d_a_npc_grz.cpp:390
int Execute()
Definition d_a_npc_grz.cpp:562
void setMotion(int, f32, int)
Definition d_a_npc_grz.cpp:1199
BOOL doEvent()
Definition d_a_npc_grz.cpp:1525
int doGoOutCut(int)
Definition d_a_npc_grz.cpp:2117
int talk(void *)
Definition d_a_npc_grz.cpp:1907
int doWaitCut(int)
Definition d_a_npc_grz.cpp:2017
BOOL chkAction(actionFunc)
Definition d_a_npc_grz.cpp:1448
dCcD_Cyl mCyl2
Definition d_a_npc_grz.h:130
BOOL setAction(actionFunc)
Definition d_a_npc_grz.cpp:1452
int waitWeak(void *)
Definition d_a_npc_grz.cpp:1889
int(daNpc_Grz_c::*) cutFunc(int)
Definition d_a_npc_grz.h:54
int field_0x1a68
Definition d_a_npc_grz.h:136
int CreateHeap()
Definition d_a_npc_grz.cpp:519
int lieDown(void *)
Definition d_a_npc_grz.cpp:1871
void setLookMode(int)
Definition d_a_npc_grz.cpp:1637
u8 mType
Definition d_a_npc_grz.h:142
BOOL isDelete()
Definition d_a_npc_grz.cpp:1233
u16 mMode
Definition d_a_npc_grz.h:141
void setParam()
Definition d_a_npc_grz.cpp:688
daNpc_GrZ_prtclMngr_c mPrtclMngr[1]
Definition d_a_npc_grz.h:151
BOOL main()
Definition d_a_npc_grz.cpp:729
void playMotion()
Definition d_a_npc_grz.cpp:1387
int waitSmash(void *)
Definition d_a_npc_grz.cpp:1816
u8 getPathNoFromParam()
Definition d_a_npc_grz.h:117
int field_0x1a6c
Definition d_a_npc_grz.h:137
int getTypeFromParam()
Definition d_a_npc_grz.cpp:1217
int Draw()
Definition d_a_npc_grz.cpp:568
void doNormalAction(int)
Definition d_a_npc_grz.cpp:1497
Z2Creature mSound
Definition d_a_npc_grz.h:123
bool setSkipZev(int, int)
Definition d_a_npc_grz.cpp:1625
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_grz.cpp:675
int doStoneSmashSkipCut(int)
Definition d_a_npc_grz.cpp:2469
int ctrlJoint(J3DJoint *, J3DModel *)
Definition d_a_npc_grz.cpp:628
void setExpressionTalkAfter()
Definition d_a_npc_grz.cpp:1703
u32 field_0x1aa0[3]
Definition d_a_npc_grz.h:150
int setPrtcl()
Definition d_a_npc_grz.cpp:1990
int doRebirthCut(int)
Definition d_a_npc_grz.cpp:2036
void setCollisionPunch()
Definition d_a_npc_grz.cpp:878
void setMotionAnm(int, f32)
Definition d_a_npc_grz.cpp:1106
bool setExpressionBtp(int)
Definition d_a_npc_grz.cpp:1046
J3DGXColorS10 mColor
Definition d_a_npc_grz.h:147
int field_0x1a9c
Definition d_a_npc_grz.h:149
int doStoneSmashCut(int)
Definition d_a_npc_grz.cpp:2252
void drawOtherMdls()
Definition d_a_npc_grz.cpp:1213
int mMsgNo
Definition d_a_npc_grz.h:139
void adjustShapeAngle()
Definition d_a_npc_grz.h:115
int(daNpc_Grz_c::*) actionFunc(void *)
Definition d_a_npc_grz.h:53
int field_0x1a70
Definition d_a_npc_grz.h:138
actionFunc mNextAction
Definition d_a_npc_grz.h:132
request_of_phase_process_class mPhases[5]
Definition d_a_npc_grz.h:134
daNpcF_MatAnm_c * mpMatAnm
Definition d_a_npc_grz.h:124
BOOL ctrlBtk()
Definition d_a_npc_grz.cpp:759
int field_0x1a64
Definition d_a_npc_grz.h:135
actionFunc mAction
Definition d_a_npc_grz.h:133
~daNpc_Grz_c()
Definition d_a_npc_grz.cpp:392
daNpcF_Path_c mPath
Definition d_a_npc_grz.h:126
int drawDbgInfo()
Definition d_a_npc_grz.cpp:1209
void resetCol()
Definition d_a_npc_grz.cpp:1319
int Delete()
Definition d_a_npc_grz.cpp:557
int mAnm
Definition d_a_npc_grz.h:143
void reset()
Definition d_a_npc_grz.cpp:1252
void setExpression(int, f32)
Definition d_a_npc_grz.cpp:1097
void playExpression()
Definition d_a_npc_grz.cpp:1339
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_grz.cpp:671
bool setExpressionAnm(int, bool)
Definition d_a_npc_grz.cpp:945
NPC_GRZ_HIO_CLASS * mpHIO
Definition d_a_npc_grz.h:128
dCcD_Sph mSphs[4]
Definition d_a_npc_grz.h:131
Definition f_op_actor.h:243
Definition m_Do_hostIO.h:26
STATIC_ASSERT(sizeof(daNpc_Grz_c)==0x1b08)
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 J3DMatBlock.h:14
Definition JORReflexible.h:10
Definition c_xyz.h:7
Definition d_a_npc4.h:430
Definition d_a_npc_grz.h:16
f32 walk_speed
Definition d_a_npc_grz.h:22
s16 color_r
Definition d_a_npc_grz.h:19
s16 color_b
Definition d_a_npc_grz.h:21
f32 rotation_movement_speed
Definition d_a_npc_grz.h:23
s16 color_time
Definition d_a_npc_grz.h:18
daNpcF_HIOParam common
Definition d_a_npc_grz.h:17
f32 demo_start_distance
Definition d_a_npc_grz.h:24
s16 color_g
Definition d_a_npc_grz.h:20
Definition c_phase.h:19