Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_e_wb.h
Go to the documentation of this file.
1#ifndef D_A_E_WB_H
2#define D_A_E_WB_H
3
5#include "d/actor/d_a_horse.h"
7#include "d/d_cc_uty.h"
8
10 /* 0x00 */ ACT_WAIT,
11 /* 0x15 */ ACT_S_DAMAGE = 0x15,
12 /* 0x65 */ ACT_PL_RIDE = 0x65,
13 /* 0x67 */ ACT_PL_RIDE_NOW = 0x67,
14};
15
24class e_wb_class : public fopEn_enemy_c {
25public:
27 void setPlayerRideNow();
28 void setPlayerRide();
29 void getOff();
32 void setRunRideMode();
33
35 f32 nowAnimeFrame() const { return field_0x5e0->getFrame(); }
37 bool checkGetOff() const { return speedF < 3.0f; }
38 f32 rideSpeedRate() const { return speedF / mSpeedRate; }
41
43 if (field_0x5e0 != NULL) {
44 return field_0x5e0->getModel();
45 }
46
47 return NULL;
48 }
49
50private:
52 /* 0x05B4 */ s16 field_0x5b4;
53 /* 0x05B8 */ char* mResName;
54 /* 0x05BC */ u8 field_0x5bc;
55 /* 0x05BD */ u8 field_0x5bd;
56 /* 0x05BE */ u8 field_0x5be;
57 /* 0x05BF */ bool field_0x5bf;
58 /* 0x05C0 */ u8 field_0x5c0;
59 /* 0x05C4 */ cXyz field_0x5c4;
60 /* 0x05D0 */ cXyz field_0x5d0;
61 /* 0x05DC */ s16 field_0x5dc;
62 /* 0x05DE */ s16 field_0x5de;
64 /* 0x05E4 */ f32 field_0x5e4;
65 /* 0x05E8 */ int mAnmID;
66 /* 0x05EC */ Z2CreatureRide mZ2Ride;
67 /* 0x0688 */ u8 field_0x688[4];
68 /* 0x068C */ s8 field_0x68c;
69 /* 0x068E */ s16 field_0x68e;
70 /* 0x0690 */ s16 mActionID;
71 /* 0x0692 */ u16 field_0x692;
72 /* 0x0694 */ u32 field_0x694;
73 /* 0x0698 */ s16 field_0x698[4];
74 /* 0x06A0 */ s16 field_0x6a0;
75 /* 0x06A2 */ u8 field_0x6a2[0x6ae - 0x6a2];
76 /* 0x06AE */ s16 field_0x6ae;
77 /* 0x06B0 */ s16 field_0x6b0;
78 /* 0x06B2 */ s16 field_0x6b2;
79 /* 0x06B4 */ u8 field_0x6b4[0x6b6 - 0x6b4];
80 /* 0x06B6 */ s16 field_0x6b6;
81 /* 0x06B8 */ u8 field_0x6b8[0x6ba - 0x6b8];
82 /* 0x06BA */ s16 field_0x6ba;
83 /* 0x06BC */ u8 field_0x6bc;
84 /* 0x06BD */ u8 field_0x6bd;
85 /* 0x06BE */ u16 field_0x6be;
86 /* 0x06C0 */ s8 field_0x6c0;
87 /* 0x06C4 */ cXyz field_0x6c4;
88 /* 0x06D0 */ s16 field_0x6d0;
89 /* 0x06D2 */ s16 field_0x6d2;
90 /* 0x06D4 */ s16 field_0x6d4;
91 /* 0x06D6 */ s16 field_0x6d6;
92 /* 0x06D8 */ u8 field_0x6d8[0x6da - 0x6d8];
93 /* 0x06DA */ s16 field_0x6da;
94 /* 0x06DC */ s16 field_0x6dc;
95 /* 0x06DE */ u8 field_0x6de[0x6e4 - 0x6de];
96 /* 0x06E4 */ u8 field_0x6e4;
97 /* 0x06E5 */ u8 field_0x6e5[0x79a - 0x6e5];
98 /* 0x079A */ s16 field_0x79a;
99 /* 0x079C */ u8 field_0x79c;
100 /* 0x079D */ s8 field_0x79d;
101 /* 0x079E */ s8 field_0x79e;
102 /* 0x079F */ s8 field_0x79f;
103 /* 0x07A0 */ s16 field_0x7a0;
104 /* 0x07A2 */ s8 field_0x7a2;
105 /* 0x07A4 */ s16 field_0x7a4;
106 /* 0x07A6 */ s8 field_0x7a6;
107 /* 0x07A7 */ s8 field_0x7a7;
108 /* 0x07A8 */ f32 field_0x7a8;
110 /* 0x07EC */ dBgS_Acch field_0x7ec;
111 /* 0x09C4 */ dCcD_Stts field_0x9c4;
112 /* 0x0A00 */ dCcD_Sph field_0xa00[7];
113 /* 0x1288 */ dCcD_Sph field_0x1288;
115 /* 0x13E4 */ u8 field_0x13e4;
116 /* 0x13E8 */ u32 field_0x13e8;
117 /* 0x13EC */ u32 field_0x13ec;
118 /* 0x13F0 */ u32 field_0x13f0;
119 /* 0x13F4 */ u32 field_0x13f4;
120 /* 0x13F8 */ u32 field_0x13f8;
121 /* 0x13FC */ u32 field_0x13fc;
122 /* 0x1400 */ u32 field_0x1400;
123 /* 0x1404 */ u32 field_0x1404;
124 /* 0x1408 */ u32 field_0x1408;
125 /* 0x140C */ u32 field_0x140c;
126 /* 0x1410 */ u32 field_0x1410;
127 /* 0x1414 */ u32 field_0x1414;
128 /* 0x1418 */ u32 field_0x1418;
129 /* 0x141C */ u32 field_0x141c;
130 /* 0x1420 */ u32 field_0x1420[3];
131 /* 0x142C */ u8 field_0x142c;
132 /* 0x142D */ u8 field_0x142d;
133 /* 0x142E */ u8 field_0x142e;
134 /* 0x142F */ s8 field_0x142f;
135 /* 0x1430 */ s8 field_0x1430;
136 /* 0x1432 */ s16 field_0x1432;
137 /* 0x1434 */ u32 field_0x1434; // Some actor ID
138 /* 0x1438 */ cXyz field_0x1438;
139 /* 0x1444 */ cXyz field_0x1444;
140 /* 0x1450 */ u8 field_0x1450[0x15d0 - 0x1450];
144 /* 0x1684 */ f32 field_0x1684;
145 /* 0x1688 */ u8 field_0x1688;
146 /* 0x168A */ u16 field_0x168a;
147 /* 0x168C */ f32 field_0x168c;
148 /* 0x1690 */ f32 field_0x1690;
149 /* 0x1694 */ u8 field_0x1694[0x169e - 0x1694];
150 /* 0x169E */ s16 field_0x169e;
151 /* 0x16A0 */ s16 field_0x16a0;
152 /* 0x16A4 */ cXyz field_0x16a4;
153 /* 0x16B0 */ cXyz field_0x16b0;
154 /* 0x16BC */ cXyz field_0x16bc;
155 /* 0x16C8 */ cXyz field_0x16c8;
156 /* 0x16D4 */ cXyz field_0x16d4;
157 /* 0x16E0 */ cXyz field_0x16e0;
158 /* 0x16EC */ cXyz field_0x16ec;
159 /* 0x16F8 */ cXyz field_0x16f8;
160 /* 0x1704 */ s16 field_0x1704;
161 /* 0x1708 */ f32 field_0x1708;
162 /* 0x170C */ f32 field_0x170c;
163 /* 0x1710 */ f32 field_0x1710;
164 /* 0x1714 */ f32 field_0x1714;
165 /* 0x1718 */ f32 field_0x1718;
166 /* 0x171C */ u8 field_0x171c[0x1720 - 0x171c];
167 /* 0x1720 */ s8 field_0x1720;
168 /* 0x1721 */ s8 field_0x1721;
169 /* 0x1722 */ s8 field_0x1722;
170 /* 0x1723 */ u8 field_0x1723[0x17c4 - 0x1723];
171 /* 0x17C4 */ u32 field_0x17c4;
172 /* 0x17C8 */ u8 field_0x17c8[0x17D0 - 0x17C8];
173 /* 0x17D0 */ u32 field_0x17d0[4];
174 /* 0x17E0 */ u8 field_0x17e0;
175 /* 0x17E1 */ u8 field_0x17e1;
176 /* 0x17E2 */ s16 mWaitRollAngle;
177 /* 0x17E4 */ u8 field_0x17e4[0x17e8 - 0x17e4];
178 /* 0x17E8 */ f32 mSpeedRate;
179};
180
181STATIC_ASSERT(sizeof(e_wb_class) == 0x17EC);
182
183struct himo_s {
184 /* 807E1CCC */ ~himo_s();
185 /* 807E1D2C */ himo_s();
186};
187
189 /* 807D248C */ daE_WB_HIO_c();
190 /* 807E20DC */ ~daE_WB_HIO_c();
191};
192
193
194#endif /* D_A_E_WB_H */
T cLib_calcTimer(T *value)
Definition c_lib.h:74
Definition Z2Creature.h:140
Definition d_cc_d.h:432
Definition d_a_e_wb.h:188
~daE_WB_HIO_c()
Definition d_a_e_wb.cpp:4075
daE_WB_HIO_c()
Definition d_a_e_wb.cpp:1023
Bullbo.
Definition d_a_e_wb.h:24
u16 field_0x168a
Definition d_a_e_wb.h:146
request_of_phase_process_class mPhase
Definition d_a_e_wb.h:51
char * mResName
Definition d_a_e_wb.h:53
u32 field_0x13f0
Definition d_a_e_wb.h:118
u8 field_0x17e4[0x17e8 - 0x17e4]
Definition d_a_e_wb.h:177
s16 field_0x698[4]
Definition d_a_e_wb.h:73
cXyz field_0x16e0
Definition d_a_e_wb.h:157
void setRunRideMode()
Definition d_a_horse_static.cpp:48
u32 field_0x13fc
Definition d_a_e_wb.h:121
u32 field_0x1414
Definition d_a_e_wb.h:127
s16 field_0x68e
Definition d_a_e_wb.h:69
u8 field_0x142d
Definition d_a_e_wb.h:132
f32 rideSpeedRate() const
Definition d_a_e_wb.h:38
void setPlayerRide()
Definition d_a_horse_static.cpp:20
mDoExt_McaMorfSO * field_0x5e0
Definition d_a_e_wb.h:63
u32 field_0x1418
Definition d_a_e_wb.h:128
s16 field_0x6a0
Definition d_a_e_wb.h:74
s16 field_0x79a
Definition d_a_e_wb.h:98
f32 field_0x168c
Definition d_a_e_wb.h:147
mDoExt_3DlineMat1_c field_0x1648
Definition d_a_e_wb.h:143
u8 field_0x688[4]
Definition d_a_e_wb.h:67
u8 field_0x1694[0x169e - 0x1694]
Definition d_a_e_wb.h:149
s16 field_0x5b4
Definition d_a_e_wb.h:52
s8 field_0x7a7
Definition d_a_e_wb.h:107
s8 field_0x142f
Definition d_a_e_wb.h:134
u32 field_0x13e8
Definition d_a_e_wb.h:116
u32 field_0x13f8
Definition d_a_e_wb.h:120
f32 field_0x5e4
Definition d_a_e_wb.h:64
s8 field_0x79d
Definition d_a_e_wb.h:100
BOOL checkAnmLoopFrame()
Definition d_a_e_wb.h:40
cXyz field_0x1438
Definition d_a_e_wb.h:138
u32 field_0x1404
Definition d_a_e_wb.h:123
BOOL checkWait()
Definition d_a_horse_static.cpp:10
bool field_0x5bf
Definition d_a_e_wb.h:57
cXyz field_0x5d0
Definition d_a_e_wb.h:60
u16 field_0x692
Definition d_a_e_wb.h:71
u32 field_0x17d0[4]
Definition d_a_e_wb.h:173
u8 field_0x142c
Definition d_a_e_wb.h:131
s16 field_0x6da
Definition d_a_e_wb.h:93
s16 field_0x6d4
Definition d_a_e_wb.h:90
f32 field_0x7a8
Definition d_a_e_wb.h:108
f32 field_0x1690
Definition d_a_e_wb.h:148
s8 field_0x1430
Definition d_a_e_wb.h:135
bool checkGetOff() const
Definition d_a_e_wb.h:37
MtxP getRideMtx()
Definition d_a_e_wb.h:34
s8 field_0x7a6
Definition d_a_e_wb.h:106
BOOL checkDownDamage()
Definition d_a_horse_static.cpp:40
s8 field_0x7a2
Definition d_a_e_wb.h:104
dCcD_Sph field_0x1288
Definition d_a_e_wb.h:113
f32 field_0x1718
Definition d_a_e_wb.h:165
f32 field_0x170c
Definition d_a_e_wb.h:162
cXyz field_0x16b0
Definition d_a_e_wb.h:153
u8 field_0x1723[0x17c4 - 0x1723]
Definition d_a_e_wb.h:170
dCcU_AtInfo field_0x13c0
Definition d_a_e_wb.h:114
s16 field_0x6d6
Definition d_a_e_wb.h:91
u8 field_0x17e1
Definition d_a_e_wb.h:175
u32 field_0x1420[3]
Definition d_a_e_wb.h:130
s16 field_0x5de
Definition d_a_e_wb.h:62
f32 getAnimeFrameRate()
Definition d_a_e_wb.h:39
s16 field_0x169e
Definition d_a_e_wb.h:150
cXyz field_0x16d4
Definition d_a_e_wb.h:156
u32 field_0x140c
Definition d_a_e_wb.h:125
s16 field_0x1432
Definition d_a_e_wb.h:136
s16 field_0x6d2
Definition d_a_e_wb.h:89
u32 field_0x1410
Definition d_a_e_wb.h:126
s16 field_0x16a0
Definition d_a_e_wb.h:151
J3DModel * getModel()
Definition d_a_e_wb.h:42
s16 getWaitRollAngle() const
Definition d_a_e_wb.h:36
cXyz field_0x16ec
Definition d_a_e_wb.h:158
u8 field_0x5be
Definition d_a_e_wb.h:56
u8 field_0x13e4
Definition d_a_e_wb.h:115
u8 field_0x1688
Definition d_a_e_wb.h:145
s16 field_0x6dc
Definition d_a_e_wb.h:94
u8 field_0x171c[0x1720 - 0x171c]
Definition d_a_e_wb.h:166
s16 mActionID
Definition d_a_e_wb.h:70
u32 field_0x141c
Definition d_a_e_wb.h:129
u8 field_0x5bc
Definition d_a_e_wb.h:54
cXyz field_0x6c4
Definition d_a_e_wb.h:87
s16 field_0x7a0
Definition d_a_e_wb.h:103
u8 field_0x17e0
Definition d_a_e_wb.h:174
u8 field_0x6a2[0x6ae - 0x6a2]
Definition d_a_e_wb.h:75
mDoExt_3DlineMat1_c field_0x15d0
Definition d_a_e_wb.h:141
f32 field_0x1714
Definition d_a_e_wb.h:164
s16 field_0x7a4
Definition d_a_e_wb.h:105
f32 field_0x1684
Definition d_a_e_wb.h:144
u8 field_0x6e4
Definition d_a_e_wb.h:96
cXyz field_0x5c4
Definition d_a_e_wb.h:59
f32 field_0x1708
Definition d_a_e_wb.h:161
s16 field_0x1704
Definition d_a_e_wb.h:160
s8 field_0x1721
Definition d_a_e_wb.h:168
u32 field_0x17c4
Definition d_a_e_wb.h:171
u32 field_0x13ec
Definition d_a_e_wb.h:117
u32 field_0x1408
Definition d_a_e_wb.h:124
u8 field_0x17c8[0x17D0 - 0x17C8]
Definition d_a_e_wb.h:172
u8 field_0x6bc
Definition d_a_e_wb.h:83
void getOff()
Definition d_a_horse_static.cpp:28
void setPlayerRideNow()
Definition d_a_horse_static.cpp:14
s8 field_0x1720
Definition d_a_e_wb.h:167
u32 field_0x1400
Definition d_a_e_wb.h:122
cXyz field_0x16bc
Definition d_a_e_wb.h:154
u32 field_0x13f4
Definition d_a_e_wb.h:119
int mAnmID
Definition d_a_e_wb.h:65
s8 field_0x79f
Definition d_a_e_wb.h:102
u16 field_0x6be
Definition d_a_e_wb.h:85
dBgS_AcchCir field_0x7ac
Definition d_a_e_wb.h:109
u8 field_0x6de[0x6e4 - 0x6de]
Definition d_a_e_wb.h:95
dBgS_Acch field_0x7ec
Definition d_a_e_wb.h:110
s16 field_0x6b2
Definition d_a_e_wb.h:78
Z2CreatureRide mZ2Ride
Definition d_a_e_wb.h:66
u8 field_0x6bd
Definition d_a_e_wb.h:84
mDoExt_3DlineMat1_c field_0x160c
Definition d_a_e_wb.h:142
f32 field_0x1710
Definition d_a_e_wb.h:163
s8 field_0x79e
Definition d_a_e_wb.h:101
s8 field_0x1722
Definition d_a_e_wb.h:169
s16 mWaitRollAngle
Definition d_a_e_wb.h:176
u8 field_0x79c
Definition d_a_e_wb.h:99
s16 field_0x6d0
Definition d_a_e_wb.h:88
BOOL checkNormalRideMode() const
Definition d_a_horse_static.cpp:44
cXyz field_0x16a4
Definition d_a_e_wb.h:152
s16 field_0x6ae
Definition d_a_e_wb.h:76
s16 field_0x6b6
Definition d_a_e_wb.h:80
u32 field_0x1434
Definition d_a_e_wb.h:137
u8 field_0x6d8[0x6da - 0x6d8]
Definition d_a_e_wb.h:92
u8 field_0x5c0
Definition d_a_e_wb.h:58
s8 field_0x6c0
Definition d_a_e_wb.h:86
u8 field_0x6e5[0x79a - 0x6e5]
Definition d_a_e_wb.h:97
dCcD_Sph field_0xa00[7]
Definition d_a_e_wb.h:112
u8 field_0x142e
Definition d_a_e_wb.h:133
u8 field_0x1450[0x15d0 - 0x1450]
Definition d_a_e_wb.h:140
s16 field_0x6ba
Definition d_a_e_wb.h:82
dCcD_Stts field_0x9c4
Definition d_a_e_wb.h:111
s16 field_0x5dc
Definition d_a_e_wb.h:61
cXyz field_0x16c8
Definition d_a_e_wb.h:155
u8 field_0x6b4[0x6b6 - 0x6b4]
Definition d_a_e_wb.h:79
u32 field_0x694
Definition d_a_e_wb.h:72
s8 field_0x68c
Definition d_a_e_wb.h:68
u8 field_0x6b8[0x6ba - 0x6b8]
Definition d_a_e_wb.h:81
s16 field_0x6b0
Definition d_a_e_wb.h:77
cXyz field_0x16f8
Definition d_a_e_wb.h:159
f32 mSpeedRate
Definition d_a_e_wb.h:178
u8 field_0x5bd
Definition d_a_e_wb.h:55
f32 nowAnimeFrame() const
Definition d_a_e_wb.h:35
cXyz field_0x1444
Definition d_a_e_wb.h:139
Definition f_op_actor.h:249
Definition m_Do_ext.h:519
STATIC_ASSERT(sizeof(e_wb_class)==0x17EC)
daE_wb_ACT
Definition d_a_e_wb.h:9
@ ACT_S_DAMAGE
Definition d_a_e_wb.h:11
@ ACT_PL_RIDE
Definition d_a_e_wb.h:12
@ ACT_PL_RIDE_NOW
Definition d_a_e_wb.h:13
@ ACT_WAIT
Definition d_a_e_wb.h:10
f32(* MtxP)[4]
Definition mtx.h:18
Definition d_a_ep.cpp:155
MtxP getAnmMtx(int jointNo)
Definition J3DModel.h:101
Definition d_a_hozelda.cpp:20
Definition d_a_npc_fguard.cpp:98
Definition d_a_npc_fguard.cpp:115
Definition d_a_npc_fguard.cpp:70
Definition d_a_ep.cpp:99
f32 speedF
Definition f_op_actor.h:227
Definition d_a_e_wb.h:183
~himo_s()
Definition d_a_e_wb.cpp:4011
himo_s()
Definition d_a_e_wb.cpp:4016
Definition d_a_npc_fguard.cpp:23
J3DModel * getModel()
Definition m_Do_ext.h:328
BOOL checkFrame(f32 frame)
Definition m_Do_ext.h:295
f32 getFrame()
Definition m_Do_ext.h:292
f32 getEndFrame()
Definition m_Do_ext.h:286
Definition d_a_hozelda.cpp:14
int BOOL
Definition types.h:27
signed char s8
Definition types.h:4
unsigned long u32
Definition types.h:10
float f32
Definition types.h:22
signed short s16
Definition types.h:5
unsigned short u16
Definition types.h:9
unsigned char u8
Definition types.h:8