Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_b_ob.h
Go to the documentation of this file.
1#ifndef D_A_B_OB_H
2#define D_A_B_OB_H
3
6#include "f_op/f_op_actor.h"
7#include "d/d_bg_s_acch.h"
8#include "d/d_cc_d.h"
9#include "d/d_cc_uty.h"
10
25
41
42struct ob_part_s {
48 /* 0x14 */ cXyz mPos;
49 /* 0x20 */ csXyz mAngle;
50 /* 0x26 */ s16 field_0x26;
51 /* 0x28 */ f32 mSize;
52 /* 0x2C */ csXyz mFinARot;
53 /* 0x32 */ csXyz mFinBRot;
54 /* 0x38 */ csXyz mFinCRot;
55 /* 0x3E */ s8 field_0x3e;
56 /* 0x3F */ s8 mHide;
57 /* 0x40 */ dCcD_Sph mSph;
58}; // Size: 0x178
59
60struct ob_ke_s {
61 /* 0x000 */ cXyz field_0x0[20];
62 /* 0x0F0 */ cXyz field_0xf0[20];
63 /* 0x1E0 */ cXyz field_0x1e0;
64}; // Size: 0x1EC
65
74class b_ob_class : public fopEn_enemy_c {
75public:
78 /* 0x05B8 */ s8 mHideCore;
79 /* 0x05BC */ f32 mBossLightScale;
80 /* 0x05C0 */ ob_part_s mBodyParts[20];
81 /* 0x2320 */ int field_0x2320;
82 /* 0x2324 */ cXyz field_0x2324[512];
83 /* 0x3B24 */ csXyz field_0x3b24[512];
84 /* 0x4724 */ J3DModel* mpSuiModel;
85 /* 0x4728 */ mDoExt_btkAnm* mpSuiBtk;
86 /* 0x472C */ mDoExt_brkAnm* mpSuiBrk;
87 /* 0x4730 */ f32 mSuiBrkFrame;
88 /* 0x4734 */ int mAnmID;
89 /* 0x4738 */ int mCoreAnm;
90 /* 0x473C */ u8 mCoreAnmMode;
91 /* 0x4740 */ f32 field_0x4740;
92 /* 0x4744 */ s8 field_0x4744;
93 /* 0x4745 */ s8 mDrawShadow;
94 /* 0x4748 */ u32 mShadowKey;
95 /* 0x474C */ s8 mCoreBattleMode;
96 /* 0x474D */ s8 mFishBattleMode;
97 /* 0x474E */ u8 mAttnOffTimer;
98 /* 0x4750 */ s16 field_0x4750;
99 /* 0x4752 */ s16 mAction;
100 /* 0x4754 */ s16 mMode;
101 /* 0x4756 */ s16 field_0x4756;
102 /* 0x4758 */ cXyz mTargetMovePos;
103 /* 0x4764 */ csXyz mMoveAngle;
104 /* 0x476A */ s16 field_0x476a;
105 /* 0x476C */ s16 mYAngleToPlayer;
106 /* 0x476E */ s16 mXAngleToPlayer;
107 /* 0x4770 */ f32 mDistToPlayer;
108 /* 0x4774 */ u8 field_0x4774[0x4778 - 0x4774];
109 /* 0x4778 */ s16 mTimers[6];
110 /* 0x05AC */ s16 mHitIFrameTimer;
111 /* 0x4786 */ u8 field_0x4786[0x4788 - 0x4786];
112 /* 0x4788 */ int mCoreHandNo;
113 /* 0x478C */ int field_0x478c;
114 /* 0x4790 */ int field_0x4790;
115 /* 0x4794 */ s16 field_0x4794;
116 /* 0x4798 */ f32 field_0x4798;
117 /* 0x479C */ f32 field_0x479c;
118 /* 0x47A0 */ f32 field_0x47a0;
119 /* 0x47A4 */ s16 field_0x47a4[3];
120 /* 0x47AA */ s16 field_0x47aa;
121 /* 0x47AC */ s16 field_0x47ac;
122 /* 0x47AE */ s16 field_0x47ae;
123 /* 0x47B0 */ s16 field_0x47b0;
124 /* 0x47B4 */ int field_0x47b4;
125 /* 0x47B8 */ s16 mHangTimer;
126 /* 0x47BA */ s16 field_0x47ba;
127 /* 0x47BC */ s16 field_0x47bc;
128 /* 0x47C0 */ f32 field_0x47c0;
129 /* 0x47C4 */ s16 field_0x47c4;
130 /* 0x47C8 */ int mDemoMovePosIdx;
131 /* 0x47CC */ dCcD_Stts mCoreCcStts;
132 /* 0x4808 */ dCcD_Sph mCcSph;
133 /* 0x4940 */ dCcD_Sph mCoreSph;
134 /* 0x4A78 */ dCcU_AtInfo mAtInfo;
135 /* 0x4A9C */ u8 field_0x4a9c[0x4aa0 - 0x4a9c];
136 /* 0x4AA0 */ dCcD_Stts mBodyCcStts;
137 /* 0x4ADC */ dCcD_Sph mBodySph;
138 /* 0x4C14 */ dCcD_Sph mFishHeadSph;
139 /* 0x4D4C */ dBgS_AcchCir mAcchCir;
140 /* 0x4D8C */ dBgS_ObjAcch mAcch;
141 /* 0x4F64 */ u32 mTentacleActorIDs[8];
142 /* 0x4F84 */ ob_ke_s field_0x4f84[5];
145 /* 0x59E0 */ Z2CreatureOI mOISound;
146 /* 0x5BE4 */ cXyz field_0x5be4[13];
147 /* 0x5C80 */ s16 mDemoAction;
148 /* 0x5C82 */ s16 mDemoActionTimer;
149 /* 0x5C84 */ cXyz mDemoCamEye;
150 /* 0x5C90 */ cXyz mDemoCamCenter;
153 /* 0x5CB4 */ f32 field_0x5cb4;
154 /* 0x5CB8 */ f32 field_0x5cb8;
155 /* 0x5CBC */ f32 field_0x5cbc;
156 /* 0x5CC0 */ f32 field_0x5cc0;
157 /* 0x5CC4 */ f32 field_0x5cc4;
158 /* 0x5CC8 */ f32 field_0x5cc8;
159 /* 0x5CCC */ f32 mDemoCamFovy;
160 /* 0x5CD0 */ f32 field_0x5cd0;
161 /* 0x5CD4 */ f32 field_0x5cd4;
162 /* 0x5CD8 */ f32 field_0x5cd8;
163 /* 0x5CDC */ f32 field_0x5cdc;
164 /* 0x5CE0 */ s16 field_0x5ce0;
165 /* 0x5CE4 */ f32 field_0x5ce4;
166 /* 0x5CE8 */ int field_0x5ce8;
167 /* 0x5CEC */ cXyz field_0x5cec;
168 /* 0x5CF8 */ s16 field_0x5cf8;
169 /* 0x5CFC */ f32 field_0x5cfc;
170 /* 0x5D00 */ f32 field_0x5d00;
171 /* 0x5D04 */ f32 field_0x5d04;
172 /* 0x5D08 */ s16 field_0x5d08;
173 /* 0x5D0A */ s16 mBlureRate;
174 /* 0x5D0C */ s16 mBlureRateTarget;
175 /* 0x5D0E */ u8 field_0x5d0e[0x5d10 - 0x5d0e];
176 /* 0x5D10 */ u8 field_0x5d10;
177 /* 0x5D11 */ s8 mHangHitCount;
178 /* 0x5D12 */ s8 mHangFinishCount;
179 /* 0x5D12 */ s8 field_0x5d13;
180 /* 0x5D14 */ f32 field_0x5d14;
181 /* 0x5D18 */ u8 field_0x5d18;
182 /* 0x5D19 */ u8 field_0x5d19[0x5d24 - 0x5d19];
183 /* 0x5D24 */ u32 field_0x5d24[5];
184 /* 0x5D38 */ u32 field_0x5d38;
185 /* 0x5D3C */ s16 mZoneSwTimer;
186 /* 0x5D40 */ JPABaseEmitter* field_0x5d40[2][19];
187 /* 0x5DD8 */ int field_0x5dd8;
188 /* 0x5DDC */ f32 mColsetBlend;
189 /* 0x5DE0 */ u8 mHIOInit;
190};
191
192STATIC_ASSERT(sizeof(b_ob_class) == 0x5DE4);
193
195public:
196public:
197 /* 8061056C */ daB_OB_HIO_c();
198 /* 8061A808 */ virtual ~daB_OB_HIO_c();
199
200 /* 0x04 */ s8 field_0x04;
201 /* 0x08 */ f32 mCoreSize;
202 /* 0x0C */ f32 mCoreMoveSpeed;
203 /* 0x10 */ f32 mBodySize;
204 /* 0x14 */ s16 mLightR;
205 /* 0x16 */ s16 mLightG;
206 /* 0x18 */ s16 mLightB;
207 /* 0x1C */ f32 mRange;
208};
209
210
211#endif /* D_A_B_OB_H */
Definition JPAEmitter.h:94
Definition Z2Creature.h:154
Definition Z2Creature.h:229
Morpheel (body)
Definition d_a_b_ob.h:74
s16 mBlureRateTarget
Definition d_a_b_ob.h:174
s16 mBlureRate
Definition d_a_b_ob.h:173
u8 field_0x4774[0x4778 - 0x4774]
Definition d_a_b_ob.h:108
f32 mDemoCamFovy
Definition d_a_b_ob.h:159
s16 field_0x47a4[3]
Definition d_a_b_ob.h:119
dCcD_Sph mCcSph
Definition d_a_b_ob.h:132
dCcU_AtInfo mAtInfo
Definition d_a_b_ob.h:134
s16 field_0x47b0
Definition d_a_b_ob.h:123
s16 field_0x5d08
Definition d_a_b_ob.h:172
s16 field_0x47ba
Definition d_a_b_ob.h:126
f32 field_0x479c
Definition d_a_b_ob.h:117
cXyz mDemoCamCenter
Definition d_a_b_ob.h:150
s8 mHideCore
Definition d_a_b_ob.h:78
csXyz mMoveAngle
Definition d_a_b_ob.h:103
f32 field_0x5cc8
Definition d_a_b_ob.h:158
f32 mColsetBlend
Definition d_a_b_ob.h:188
cXyz mDemoCamEye
Definition d_a_b_ob.h:149
s16 mTimers[6]
Definition d_a_b_ob.h:109
int field_0x5dd8
Definition d_a_b_ob.h:187
dBgS_ObjAcch mAcch
Definition d_a_b_ob.h:140
cXyz field_0x2324[512]
Definition d_a_b_ob.h:82
int field_0x47b4
Definition d_a_b_ob.h:124
f32 field_0x5d00
Definition d_a_b_ob.h:170
f32 field_0x5d04
Definition d_a_b_ob.h:171
ob_part_s mBodyParts[20]
Definition d_a_b_ob.h:80
mDoExt_3DlineMat0_c field_0x5920
Definition d_a_b_ob.h:143
u8 mHIOInit
Definition d_a_b_ob.h:189
f32 field_0x5cd8
Definition d_a_b_ob.h:162
f32 field_0x4740
Definition d_a_b_ob.h:91
u8 field_0x5d18
Definition d_a_b_ob.h:181
s8 field_0x4744
Definition d_a_b_ob.h:92
int mCoreHandNo
Definition d_a_b_ob.h:112
int field_0x478c
Definition d_a_b_ob.h:113
f32 field_0x5cd4
Definition d_a_b_ob.h:161
u32 field_0x5d24[5]
Definition d_a_b_ob.h:183
cXyz mDemoCamCenterTarget
Definition d_a_b_ob.h:152
s8 mHangHitCount
Definition d_a_b_ob.h:177
s8 mCoreBattleMode
Definition d_a_b_ob.h:95
s16 mHitIFrameTimer
Definition d_a_b_ob.h:110
cXyz field_0x5cec
Definition d_a_b_ob.h:167
f32 field_0x5cc4
Definition d_a_b_ob.h:157
mDoExt_btkAnm * mpSuiBtk
Definition d_a_b_ob.h:85
s16 field_0x4794
Definition d_a_b_ob.h:115
f32 field_0x5d14
Definition d_a_b_ob.h:180
request_of_phase_process_class mPhase
Definition d_a_b_ob.h:76
dCcD_Sph mCoreSph
Definition d_a_b_ob.h:133
s16 field_0x5ce0
Definition d_a_b_ob.h:164
f32 field_0x5cfc
Definition d_a_b_ob.h:169
csXyz field_0x3b24[512]
Definition d_a_b_ob.h:83
JPABaseEmitter * field_0x5d40[2][19]
Definition d_a_b_ob.h:186
u8 mCoreAnmMode
Definition d_a_b_ob.h:90
s8 mHangFinishCount
Definition d_a_b_ob.h:178
u8 field_0x4a9c[0x4aa0 - 0x4a9c]
Definition d_a_b_ob.h:135
f32 field_0x5cdc
Definition d_a_b_ob.h:163
dBgS_AcchCir mAcchCir
Definition d_a_b_ob.h:139
s16 field_0x4750
Definition d_a_b_ob.h:98
s16 field_0x4756
Definition d_a_b_ob.h:101
s16 mHangTimer
Definition d_a_b_ob.h:125
cXyz mTargetMovePos
Definition d_a_b_ob.h:102
f32 mSuiBrkFrame
Definition d_a_b_ob.h:87
dCcD_Sph mFishHeadSph
Definition d_a_b_ob.h:138
int field_0x4790
Definition d_a_b_ob.h:114
f32 field_0x5ce4
Definition d_a_b_ob.h:165
s16 mZoneSwTimer
Definition d_a_b_ob.h:185
f32 field_0x4798
Definition d_a_b_ob.h:116
s16 field_0x476a
Definition d_a_b_ob.h:104
u32 mShadowKey
Definition d_a_b_ob.h:94
s16 field_0x47bc
Definition d_a_b_ob.h:127
mDoExt_McaMorfSO * mpCoreMorf
Definition d_a_b_ob.h:77
s16 field_0x47aa
Definition d_a_b_ob.h:120
u32 field_0x5d38
Definition d_a_b_ob.h:184
u8 mAttnOffTimer
Definition d_a_b_ob.h:97
u8 field_0x5d0e[0x5d10 - 0x5d0e]
Definition d_a_b_ob.h:175
s16 mMode
Definition d_a_b_ob.h:100
s8 mFishBattleMode
Definition d_a_b_ob.h:96
s16 field_0x47c4
Definition d_a_b_ob.h:129
s16 mAction
Definition d_a_b_ob.h:99
s16 mDemoAction
Definition d_a_b_ob.h:147
mDoExt_brkAnm * mpSuiBrk
Definition d_a_b_ob.h:86
dCcD_Sph mBodySph
Definition d_a_b_ob.h:137
s16 field_0x5cf8
Definition d_a_b_ob.h:168
cXyz mDemoCamEyeTarget
Definition d_a_b_ob.h:151
int mCoreAnm
Definition d_a_b_ob.h:89
s16 field_0x47ae
Definition d_a_b_ob.h:122
s16 mYAngleToPlayer
Definition d_a_b_ob.h:105
s16 mDemoActionTimer
Definition d_a_b_ob.h:148
int mAnmID
Definition d_a_b_ob.h:88
int field_0x5ce8
Definition d_a_b_ob.h:166
f32 field_0x47a0
Definition d_a_b_ob.h:118
Z2CreatureEnemy mSound
Definition d_a_b_ob.h:144
s8 field_0x5d13
Definition d_a_b_ob.h:179
s8 mDrawShadow
Definition d_a_b_ob.h:93
s16 field_0x47ac
Definition d_a_b_ob.h:121
Z2CreatureOI mOISound
Definition d_a_b_ob.h:145
dCcD_Stts mBodyCcStts
Definition d_a_b_ob.h:136
f32 field_0x5cbc
Definition d_a_b_ob.h:155
int field_0x2320
Definition d_a_b_ob.h:81
f32 mDistToPlayer
Definition d_a_b_ob.h:107
u32 mTentacleActorIDs[8]
Definition d_a_b_ob.h:141
u8 field_0x4786[0x4788 - 0x4786]
Definition d_a_b_ob.h:111
f32 field_0x47c0
Definition d_a_b_ob.h:128
f32 field_0x5cb8
Definition d_a_b_ob.h:154
f32 field_0x5cc0
Definition d_a_b_ob.h:156
u8 field_0x5d10
Definition d_a_b_ob.h:176
J3DModel * mpSuiModel
Definition d_a_b_ob.h:84
cXyz field_0x5be4[13]
Definition d_a_b_ob.h:146
u8 field_0x5d19[0x5d24 - 0x5d19]
Definition d_a_b_ob.h:182
f32 mBossLightScale
Definition d_a_b_ob.h:79
f32 field_0x5cb4
Definition d_a_b_ob.h:153
s16 mXAngleToPlayer
Definition d_a_b_ob.h:106
f32 field_0x5cd0
Definition d_a_b_ob.h:160
ob_ke_s field_0x4f84[5]
Definition d_a_b_ob.h:142
dCcD_Stts mCoreCcStts
Definition d_a_b_ob.h:131
int mDemoMovePosIdx
Definition d_a_b_ob.h:130
Definition d_cc_d.h:432
Definition d_a_b_ob.h:194
s16 mLightG
Definition d_a_b_ob.h:205
f32 mCoreMoveSpeed
Definition d_a_b_ob.h:202
f32 mCoreSize
Definition d_a_b_ob.h:201
f32 mRange
Definition d_a_b_ob.h:207
s16 mLightR
Definition d_a_b_ob.h:204
daB_OB_HIO_c()
Definition d_a_b_ob.cpp:322
f32 mBodySize
Definition d_a_b_ob.h:203
s16 mLightB
Definition d_a_b_ob.h:206
s8 field_0x04
Definition d_a_b_ob.h:200
virtual ~daB_OB_HIO_c()
Definition f_op_actor.h:249
Definition m_Do_ext.h:542
Definition m_Do_ext.h:344
STATIC_ASSERT(sizeof(b_ob_class)==0x5DE4)
b_oh_anm
Definition d_a_b_ob.h:26
@ OB_ANM_APPEAR_2
Definition d_a_b_ob.h:28
@ OB_ANM_LAST_DAMAGE
Definition d_a_b_ob.h:32
@ OB_ANM_SWALLOW
Definition d_a_b_ob.h:35
@ OB_ANM_TENTACLE_END
Definition d_a_b_ob.h:37
@ OB_ANM_THROWUP
Definition d_a_b_ob.h:38
@ OB_ANM_APPEAR
Definition d_a_b_ob.h:27
@ OB_ANM_OPEN_MOUTH
Definition d_a_b_ob.h:33
@ OB_ANM_WAIT
Definition d_a_b_ob.h:39
@ OB_ANM_EAT
Definition d_a_b_ob.h:30
@ OB_ANM_OPEN_MOUTH_WAIT
Definition d_a_b_ob.h:34
@ OB_ANM_EAT_2
Definition d_a_b_ob.h:31
@ OB_ANM_DEAD
Definition d_a_b_ob.h:29
@ OB_ANM_SWIM_WAIT
Definition d_a_b_ob.h:36
b_ob_action
Definition d_a_b_ob.h:11
@ OB_ACTION_FISH_END
Definition d_a_b_ob.h:23
@ OB_ACTION_CORE_HOOK
Definition d_a_b_ob.h:16
@ OB_ACTION_CORE_HAND_MOVE
Definition d_a_b_ob.h:14
@ OB_ACTION_CORE_END
Definition d_a_b_ob.h:18
@ OB_ACTION_FISH_NORMAL
Definition d_a_b_ob.h:21
@ OB_ACTION_CORE_CHANCE
Definition d_a_b_ob.h:17
@ OB_ACTION_CORE_START
Definition d_a_b_ob.h:13
@ OB_ACTION_FISH_VACUME
Definition d_a_b_ob.h:22
@ OB_ACTION_BOMBFISH_SET
Definition d_a_b_ob.h:15
Definition d_a_ep.cpp:155
Definition d_a_hozelda.cpp:20
Definition d_a_ep.cpp:66
Definition d_a_npc_fguard.cpp:98
Definition d_a_npc_fguard.cpp:94
Definition d_a_npc_fguard.cpp:70
Definition d_a_ep.cpp:99
Definition d_a_npc_fguard.cpp:23
Definition d_a_obj_sekizoa.cpp:56
Definition d_a_hozelda.cpp:47
Definition d_a_b_ob.h:60
cXyz field_0x0[20]
Definition d_a_b_ob.h:61
cXyz field_0x1e0
Definition d_a_b_ob.h:63
cXyz field_0xf0[20]
Definition d_a_b_ob.h:62
Definition d_a_b_ob.h:42
mDoExt_McaMorf * mpMorf
Definition d_a_b_ob.h:43
s8 mHide
Definition d_a_b_ob.h:56
cXyz mPos
Definition d_a_b_ob.h:48
s16 field_0x26
Definition d_a_b_ob.h:50
f32 mSize
Definition d_a_b_ob.h:51
mDoExt_McaMorf * mpFinMorf
Definition d_a_b_ob.h:44
csXyz mFinARot
Definition d_a_b_ob.h:52
csXyz mAngle
Definition d_a_b_ob.h:49
mDoExt_McaMorf * mpFinCMorf
Definition d_a_b_ob.h:47
csXyz mFinCRot
Definition d_a_b_ob.h:54
mDoExt_McaMorf * mpFinUnkMorf
Definition d_a_b_ob.h:45
mDoExt_McaMorf * mpFinBMorf
Definition d_a_b_ob.h:46
s8 field_0x3e
Definition d_a_b_ob.h:55
dCcD_Sph mSph
Definition d_a_b_ob.h:57
csXyz mFinBRot
Definition d_a_b_ob.h:53
Definition d_a_hozelda.cpp:14
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 char u8
Definition types.h:8