Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc_cd.h
Go to the documentation of this file.
1#ifndef A_NPC_D_A_NPC_CD_H
2#define A_NPC_D_A_NPC_CD_H
3
5#include "d/actor/d_a_npc.h"
6
7class daNpcCd_c : public fopAc_ac_c {
8public:
9 int NpcCreate(int);
10 J3DModel* ObjCreate(int);
11 BOOL isM_();
12 J3DAnmTransform* getAnmP(int, int);
13 int setAttention(int);
14 int loadResrc(int, int);
15 int removeResrc(int, int);
16 void setEnvTevCol();
17 void setRoomNo();
18 void animation();
19 void setAnm(J3DAnmTransformKey*, f32, f32, int, int, int);
20 int drawObj(int, J3DModel*, f32);
21 int drawNpc();
26 virtual ~daNpcCd_c() {}
27
28 static dCcD_SrcCyl const m_cylDat;
29
36 /* 0x634 */ dBgS_ObjAcch mAcch;
38 /* 0x84C */ dCcD_Stts mStts;
39 /* 0x888 */ dCcD_Cyl mCyl;
40 /* 0x9C4 */ int m_type;
41 /* 0x9C8 */ int field_0x9c8;
42 /* 0x9CC */ int mHitodamaEmitters[2];
43 /* 0x9D4 */ int field_0x9d4;
44 /* 0x9D8 */ cXyz field_0x9d8;
45 /* 0x9E4 */ s16 field_0x9e4;
46 /* 0x9E6 */ s16 field_0x9e6;
47 /* 0x9E8 */ u8 mIsDarkWorld;
48};
49
50STATIC_ASSERT(sizeof(daNpcCd_c) == 0x9EC);
51
52
54 virtual ~daNpcCd_HIO_Jnt_c() {}
56
57#if DEBUG
59#endif
60
61 /* 0x04 */ Vec jntT;
62 /* 0x10 */ SVec jntR;
63};
64
68
69#if DEBUG
71#endif
72
74 /* 0x124 */ s16 field_0x124[0x0C];
75 /* 0x13C */ f32 mObjScale;
76 /* 0x140 */ s16 mAtn;
77 /* 0x144 */ f32 mAnmPlaySpeed;
79 /* 0x14C */ f32 mMaxSpeed;
80 /* 0x150 */ f32 mWalkMaxSpeed;
81 /* 0x154 */ f32 mCylH;
82 /* 0x158 */ f32 mCylR;
83 /* 0x15C */ f32 mChkWallH;
84 /* 0x160 */ f32 mChkWallR;
85};
86
88
90public:
92 virtual ~daNpcCd_HIO_c() {}
93
94#if DEBUG
96#endif
97
100};
101
102STATIC_ASSERT(sizeof(daNpcCd_HIO_c) == 0x29BC);
103
105inline f32 HIO_atnOfs(int param_1) {
106 s16 rv;
107 if (param_1 < 16) {
108 rv = l_Cd_HIO.field_0x0004[param_1].mAtn;
109 } else {
110 rv = l_Cd_HIO.field_0x1648[param_1 - 16].mAtn;
111 }
112 return rv;
113}
114
115inline s16 HIO_jntRX(int param_1, int param_2) {
116 s16 rv;
117 if (param_1 < 16) {
118 rv = l_Cd_HIO.field_0x0004[param_1].field_0x4[param_2].jntR.x;
119 } else {
120 rv = l_Cd_HIO.field_0x1648[param_1 - 16].field_0x4[param_2].jntR.x;
121 }
122 return 182.04444885253906f * rv;
123}
124
125inline s16 HIO_jntRY(int param_1, int param_2) {
126 s16 rv;
127 if (param_1 < 16) {
128 rv = l_Cd_HIO.field_0x0004[param_1].field_0x4[param_2].jntR.y;
129 } else {
130 rv = l_Cd_HIO.field_0x1648[param_1 - 16].field_0x4[param_2].jntR.y;
131 }
132 return 182.04444885253906f * rv;
133}
134
135inline s16 HIO_jntRZ(int param_1, int param_2) {
136 s16 rv;
137 if (param_1 < 16) {
138 rv = l_Cd_HIO.field_0x0004[param_1].field_0x4[param_2].jntR.z;
139 } else {
140 rv = l_Cd_HIO.field_0x1648[param_1 - 16].field_0x4[param_2].jntR.z;
141 }
142 return 182.04444885253906f * rv;
143}
144
145static inline f32 HIO_jntTX(int param_1, int param_2) {
146 f32 rv;
147 if (param_1 < 16) {
148 rv = l_Cd_HIO.field_0x0004[param_1].field_0x4[param_2].jntT.x;
149 } else {
150 rv = l_Cd_HIO.field_0x1648[param_1 - 16].field_0x4[param_2].jntT.x;
151 }
152 return 10.0f * rv;
153}
154
155static inline f32 HIO_jntTY(int param_1, int param_2) {
156 f32 rv;
157 if (param_1 < 16) {
158 rv = l_Cd_HIO.field_0x0004[param_1].field_0x4[param_2].jntT.y;
159 } else {
160 rv = l_Cd_HIO.field_0x1648[param_1 - 16].field_0x4[param_2].jntT.y;
161 }
162 return 10.0f * rv;
163}
164
165static inline f32 HIO_jntTZ(int param_1, int param_2) {
166 f32 rv;
167 if (param_1 < 16) {
168 rv = l_Cd_HIO.field_0x0004[param_1].field_0x4[param_2].jntT.z;
169 } else {
170 rv = l_Cd_HIO.field_0x1648[param_1 - 16].field_0x4[param_2].jntT.z;
171 }
172 return 10.0f * rv;
173}
174
175static inline f32 HIO_maxSpeed(int param_1) { return (f32)(param_1 < 16 ? l_Cd_HIO.field_0x0004[param_1].mMaxSpeed : l_Cd_HIO.field_0x0004[param_1].mMaxSpeed); }
176
177static inline f32 HIO_anmPlaySpeed(int param_1) { return (f32)(param_1 < 16 ? l_Cd_HIO.field_0x0004[param_1].mAnmPlaySpeed : l_Cd_HIO.field_0x0004[param_1].mAnmPlaySpeed); }
178
179static inline f32 HIO_walkMaxSpeed(int param_1) { return (f32)(param_1 < 16 ? l_Cd_HIO.field_0x0004[param_1].mWalkMaxSpeed : l_Cd_HIO.field_0x0004[param_1].mWalkMaxSpeed); }
180
181static inline f32 HIO_walkAnmPlaySpeed(int param_1) { return (f32)(param_1 < 16 ? l_Cd_HIO.field_0x0004[param_1].mWalkAnmPlaySpeed : l_Cd_HIO.field_0x0004[param_1].mWalkAnmPlaySpeed); }
182
183static inline f32 HIO_chkWallR(int param_1) { return (param_1 < 16 ? l_Cd_HIO.field_0x0004[param_1].mChkWallR : l_Cd_HIO.field_0x0004[param_1].mChkWallR); }
184
185static inline f32 HIO_chkWallH(int param_1) { return (param_1 < 16 ? l_Cd_HIO.field_0x0004[param_1].mChkWallH : l_Cd_HIO.field_0x0004[param_1].mChkWallH); }
186
187static inline f32 HIO_cylR(int param_1) { return (param_1 < 16 ? l_Cd_HIO.field_0x0004[param_1].mCylR : l_Cd_HIO.field_0x0004[param_1].mCylR); }
188
189static inline f32 HIO_cylH(int param_1) { return (param_1 < 16 ? l_Cd_HIO.field_0x0004[param_1].mCylH : l_Cd_HIO.field_0x0004[param_1].mCylH); }
190
191static inline f32 HIO_objScale(int param_1) { return (f32)(param_1 < 16 ? l_Cd_HIO.field_0x0004[param_1].mObjScale : l_Cd_HIO.field_0x0004[param_1].mObjScale); }
192
193#endif /* A_NPC_D_A_NPC_CD_H */
Definition J3DAnimation.h:525
Definition J3DAnimation.h:504
Definition J3DJoint.h:63
Definition J3DModelData.h:17
Definition J3DModel.h:43
Definition JORMContext.h:120
Definition JORReflexible.h:43
Definition Z2Creature.h:60
Definition d_bg_s_acch.h:15
Definition d_bg_s_acch.h:247
Definition d_cc_d.h:461
Definition d_cc_d.h:269
Definition d_a_npc_cd.h:89
daNpcCd_HIO_Child_c field_0x1648[14]
Definition d_a_npc_cd.h:99
daNpcCd_HIO_c()
Definition d_a_npc_cd.cpp:563
virtual ~daNpcCd_HIO_c()
Definition d_a_npc_cd.h:92
daNpcCd_HIO_Child_c field_0x0004[16]
Definition d_a_npc_cd.h:98
void genMessage(JORMContext *)
Definition d_a_npc_cd.h:7
void setAnm(J3DAnmTransformKey *, f32, f32, int, int, int)
Definition d_a_npc_cd.cpp:434
void setEnvTevCol()
Definition d_a_npc_cd.cpp:415
void setRoomNo()
Definition d_a_npc_cd.cpp:420
request_of_phase_process_class mPhase3
Definition d_a_npc_cd.h:32
Z2CreatureCitizen mCreature
Definition d_a_npc_cd.h:35
int removeResrc(int, int)
Definition d_a_npc_cd.cpp:402
request_of_phase_process_class mPhase2
Definition d_a_npc_cd.h:31
mDoExt_McaMorfSO * mpMorf
Definition d_a_npc_cd.h:34
request_of_phase_process_class mPhase1
Definition d_a_npc_cd.h:30
s16 field_0x9e6
Definition d_a_npc_cd.h:46
J3DModel * ObjCreate(int)
Definition d_a_npc_cd.cpp:228
int jntNodeCB(J3DJoint *, J3DModel *)
Definition d_a_npc_cd.cpp:488
int m_type
Definition d_a_npc_cd.h:40
J3DModelData * getObjMdlDataP(int)
Definition d_a_npc_cd.cpp:549
int mHitodamaEmitters[2]
Definition d_a_npc_cd.h:42
BOOL isM_()
Definition d_a_npc_cd.cpp:236
J3DAnmTransform * getAnmP(int, int)
Definition d_a_npc_cd.cpp:242
u8 mIsDarkWorld
Definition d_a_npc_cd.h:47
cXyz field_0x9d8
Definition d_a_npc_cd.h:44
static dCcD_SrcCyl const m_cylDat
Definition d_a_npc_cd.h:162
int loadResrc(int, int)
Definition d_a_npc_cd.cpp:368
dCcD_Cyl mCyl
Definition d_a_npc_cd.h:39
dBgS_ObjAcch mAcch
Definition d_a_npc_cd.h:36
int drawNpc()
Definition d_a_npc_cd.cpp:462
int field_0x9d4
Definition d_a_npc_cd.h:43
dCcD_Stts mStts
Definition d_a_npc_cd.h:38
int setAttention(int)
Definition d_a_npc_cd.cpp:348
void animation()
Definition d_a_npc_cd.cpp:426
virtual ~daNpcCd_c()
Definition d_a_npc_cd.h:26
int drawObj(int, J3DModel *, f32)
Definition d_a_npc_cd.cpp:441
void setHitodamaParticle()
Definition d_a_npc_cd.cpp:504
s16 field_0x9e4
Definition d_a_npc_cd.h:45
int NpcCreate(int)
Definition d_a_npc_cd.cpp:176
request_of_phase_process_class mPhase4
Definition d_a_npc_cd.h:33
J3DModelData * getNpcMdlDataP(int)
Definition d_a_npc_cd.cpp:538
int field_0x9c8
Definition d_a_npc_cd.h:41
dBgS_AcchCir mAcchCir
Definition d_a_npc_cd.h:37
Definition f_op_actor.h:230
Definition m_Do_ext.h:331
static f32 HIO_jntTX(int param_1, int param_2)
Definition d_a_npc_cd.h:145
s16 HIO_jntRX(int param_1, int param_2)
Definition d_a_npc_cd.h:115
s16 HIO_jntRY(int param_1, int param_2)
Definition d_a_npc_cd.h:125
static f32 HIO_chkWallH(int param_1)
Definition d_a_npc_cd.h:185
static f32 HIO_cylH(int param_1)
Definition d_a_npc_cd.h:189
static f32 HIO_chkWallR(int param_1)
Definition d_a_npc_cd.h:183
static f32 HIO_cylR(int param_1)
Definition d_a_npc_cd.h:187
static f32 HIO_maxSpeed(int param_1)
Definition d_a_npc_cd.h:175
static f32 HIO_walkMaxSpeed(int param_1)
Definition d_a_npc_cd.h:179
static f32 HIO_jntTZ(int param_1, int param_2)
Definition d_a_npc_cd.h:165
daNpcCd_HIO_c l_Cd_HIO
Definition d_a_npc_cd.cpp:346
s16 HIO_jntRZ(int param_1, int param_2)
Definition d_a_npc_cd.h:135
f32 HIO_atnOfs(int param_1)
Definition d_a_npc_cd.h:105
static f32 HIO_anmPlaySpeed(int param_1)
Definition d_a_npc_cd.h:177
static f32 HIO_jntTY(int param_1, int param_2)
Definition d_a_npc_cd.h:155
static f32 HIO_walkAnmPlaySpeed(int param_1)
Definition d_a_npc_cd.h:181
static f32 HIO_objScale(int param_1)
Definition d_a_npc_cd.h:191
STATIC_ASSERT(sizeof(daNpcCd_c)==0x9EC)
int BOOL
Definition types.h:33
signed short int s16
Definition types.h:9
float f32
Definition types.h:25
unsigned char u8
Definition types.h:8
Definition c_sxyz.h:6
s16 x
Definition c_sxyz.h:7
s16 z
Definition c_sxyz.h:7
s16 y
Definition c_sxyz.h:7
Definition mtx.h:13
f32 z
Definition mtx.h:14
f32 x
Definition mtx.h:14
f32 y
Definition mtx.h:14
Definition c_xyz.h:7
Definition d_cc_d.h:104
Definition d_a_npc_cd.h:65
daNpcCd_HIO_Child_c()
Definition d_a_npc_cd.h:67
f32 mChkWallR
Definition d_a_npc_cd.h:84
f32 mCylR
Definition d_a_npc_cd.h:82
daNpcCd_HIO_Jnt_c field_0x4[12]
Definition d_a_npc_cd.h:73
f32 mObjScale
Definition d_a_npc_cd.h:75
f32 mMaxSpeed
Definition d_a_npc_cd.h:79
f32 mWalkAnmPlaySpeed
Definition d_a_npc_cd.h:78
f32 mAnmPlaySpeed
Definition d_a_npc_cd.h:77
f32 mWalkMaxSpeed
Definition d_a_npc_cd.h:80
f32 mCylH
Definition d_a_npc_cd.h:81
s16 field_0x124[0x0C]
Definition d_a_npc_cd.h:74
f32 mChkWallH
Definition d_a_npc_cd.h:83
virtual ~daNpcCd_HIO_Child_c()
Definition d_a_npc_cd.h:66
void genMessage(JORMContext *)
s16 mAtn
Definition d_a_npc_cd.h:76
Definition d_a_npc_cd.h:53
daNpcCd_HIO_Jnt_c()
Definition d_a_npc_cd.h:55
void genMessage(JORMContext *)
Vec jntT
Definition d_a_npc_cd.h:61
virtual ~daNpcCd_HIO_Jnt_c()
Definition d_a_npc_cd.h:54
SVec jntR
Definition d_a_npc_cd.h:62
Definition f_op_actor_mng.h:83
Definition c_phase.h:17