Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_e_oc.h
Go to the documentation of this file.
1#ifndef D_A_E_OC_H
2#define D_A_E_OC_H
3
5#include "d/d_bg_s_acch.h"
6#include "d/d_cc_d.h"
7
8
17class daRotBridge_c;
18
19class daE_OC_c : public fopEn_enemy_c {
20public:
21 /* 8072C630 */ int ctrlJoint(J3DJoint*, J3DModel*);
22 /* 8072C6E8 */ static int JointCallBack(J3DJoint*, int);
23 /* 8072C734 */ int draw();
24 /* 8072CBD4 */ int getVisionAngle(fopAc_ac_c*);
25 /* 8072CC10 */ void searchOtherOc();
26 /* 8072CDA8 */ int setWatchMode();
27 /* 8072CE00 */ int searchPlayer();
28 /* 8072CF90 */ int searchPlayer2();
29 /* 8072D100 */ int searchPlayerShakeHead();
30 /* 8072D1DC */ int searchSound();
31 /* 8072D364 */ int checkBeforeBg();
32 /* 8072D640 */ int checkBeforeBgFind();
33 /* 8072D87C */ int checkBeforeFloorBg(f32);
34 /* 8072D994 */ void checkDamageBg();
35 /* 8072DB10 */ void setGroundAngle();
36 /* 8072DCBC */ void setActionMode(int, int);
37 /* 8072DD18 */ int getCutType();
38 /* 8072DD8C */ void offTgSph();
39 /* 8072DDF4 */ void damage_check();
40 /* 8072E274 */ void setBck(int, u8, f32, f32);
41 /* 8072E31C */ bool checkBck(int);
42 /* 8072E37C */ void setSpitEffect();
43 /* 8072E42C */ s16 getHeadAngle();
44 /* 8072E498 */ void setStabPos();
45 /* 8072E528 */ void setWaitSound();
46 /* 8072E5A4 */ void setWalkSound();
47 /* 8072E670 */ void setWalkStSound();
48 /* 8072E788 */ void setDashSound();
49 /* 8072E910 */ void setWaitStSound();
50 /* 8072EA58 */ void setFootNoteSound();
51 /* 8072EAA4 */ void executeWait();
52 /* 8072F1A8 */ void executeWalk();
53 /* 8072F5E0 */ void executeTalk();
54 /* 8072F914 */ void executeFind();
55 /* 807302E8 */ void setWeaponGroundAngle();
56 /* 807305C0 */ void executeAttack();
57 /* 80730DC0 */ void executeDamage();
58 /* 80731124 */ void executeBigDamage();
59 /* 807316F8 */ void executeWatch();
60 /* 807319E4 */ void executeSoundWatch();
61 /* 80731D18 */ int checkBeforeDeath();
62 /* 80731D4C */ void executeDeath();
63 /* 80731F5C */ void setWaterEffect();
64 /* 80732074 */ void executeWaterDeath();
65 /* 807323A4 */ void executeDemoMaster();
66 /* 80732B04 */ void executeDemoChild();
67 /* 80732E64 */ void checkFall();
68 /* 8073301C */ void executeFallDead();
69 /* 807331CC */ void executeFall();
70 /* 8073332C */ void executeFindStay();
71 /* 807335B4 */ void executeMoveOut();
72 /* 80733E48 */ bool checkWaterSurface();
73 /* 80733F20 */ void action();
74 /* 807345D8 */ void mtx_set();
75 /* 80734698 */ void cc_set();
76 /* 807348DC */ int execute();
77 /* 80734B6C */ int _delete();
78 /* 80734C10 */ int CreateHeap();
79 /* 80734DA8 */ cPhs__Step create();
80
81 u8 isHomeWait() const { return mIsHomeWait; }
82 u8 isBattleOn() const { return mBattleOn; }
83 f32 getMoveRange() const { return mMoveRange; }
84 f32 getPlayerRange() const { return mPlayerRange; }
85 int getActionMode() const { return mActionMode; }
86 daE_OC_c* getTalkOc() const { return mpTalk; }
87
88private:
91 /* 0x5c0 */ J3DModel* mpModel;
93 /* 0x668 */ daE_OC_c* mpBattle;
94 /* 0x66c */ daE_OC_c* mpDamage;
95 /* 0x670 */ daE_OC_c* mpTalk;
96 /* 0x674 */ daE_OC_c* mpParent;
97 /* 0x678 */ daRotBridge_c* mpBridge;
98 /* 0x67c */ cXyz field_0x67c;
99 /* 0x688 */ csXyz field_0x688;
100 /* 0x690 */ f32 mMoveRange;
101 /* 0x690 */ f32 mPlayerRange;
102 /* 0x698 */ f32 mWaterLvl;
103 /* 0x69c */ f32 field_0x69c;
104 /* 0x6a0 */ f32 field_0x6a0;
105 /* 0x6a4 */ const char* mName;
106 /* 0x6a8 */ int mActionMode;
107 /* 0x6ac */ int mOldActionMode;
108 /* 0x6b0 */ int mOcState;
109 /* 0x6b4 */ s32 field_0x6b4;
110 /* 0x6b8 */ u32 mShadowKey;
111 /* 0x6bc */ s16 field_0x6bc;
112 /* 0x6be */ s16 field_0x6be;
113 /* 0x6c0 */ s16 field_0x6c0;
114 /* 0x6c2 */ s16 field_0x6c2;
115 /* 0x6c4 */ s16 field_0x6c4;
116 /* 0x6c6 */ s16 field_0x6c6;
117 /* 0x6c8 */ s16 field_0x6c8;
118 /* 0x6ca */ s16 field_0x6ca;
119 /* 0x6cc */ s16 field_0x6cc;
120 /* 0x6ce */ s16 field_0x6ce;
121 /* 0x6d0 */ s16 field_0x6d0;
122 /* 0x6d2 */ s16 field_0x6d2;
123 /* 0x6d4 */ s16 mPrevShapeAngle;
124 /* 0x6d6 */ s16 field_0x6d6;
125 /* 0x6d8 */ s16 field_0x6d8;
126 /* 0x6da */ s16 field_0x6da;
127 /* 0x6dc */ u8 field_0x6dc;
128 /* 0x6dd */ u8 field_0x6dd;
129 /* 0x6de */ u8 field_0x6de;
130 /* 0x6df */ u8 field_0x6df;
131 /* 0x6e0 */ u8 field_0x6e0;
132 /* 0x6e1 */ u8 field_0x6e1;
133 /* 0x6e2 */ u8 field_0x6e2;
134 /* 0x6e3 */ u8 field_0x6e3;
135 /* 0x6e4 */ f32 field_0x6e4;
136 /* 0x6e8 */ u8 field_0x6e8;
137 /* 0x6e9 */ u8 mIsHomeWait;
138 /* 0x6ea */ u8 mBattleOn;
139 /* 0x6eb */ u8 field_0x6eb;
140 /* 0x6ec */ cXyz mPlayerPos;
141 /* 0x6f8 */ cXyz field_0x6f8;
142 /* 0x704 */ f32 field_0x704;
144 /* 0x748 */ dBgS_ObjAcch mAcch;
145 /* 0x920 */ dCcD_Stts mStts;
146 /* 0x95c */ dCcD_Sph mSphs_cc[2];
147 /* 0xbcc */ dCcD_Sph mSphs_at[2];
148 /* 0xe3c */ cCcD_Obj* mpTgHitObj;
149 /* 0xe40 */ u8 field_0xe40[0xe44 - 0xe40];
151 /* 0xe48 */ u8 field_0xe48[0xe4a - 0xe48];
152 /* 0xe4a */ s16 field_0xe4a;
153 /* 0xe4c */ u8 field_0xe4c[0xe58 - 0xe4c];
154 /* 0xe58 */ u16 field_0xe58;
155 /* 0xe5a */ u8 field_0xe5a;
156 /* 0xe5b */ u8 field_0xe5b; // might be unused.
157 /* 0xe5c */ u8 field_0xe5c[0xe60 - 0xe5c];
158 /* 0xe60 */ u32 field_0xe60;
159 /* 0xe64 */ u32 field_0xe64;
160 /* 0xe68 */ u32 mParticleKey;
161 /* 0xe6c */ u32 field_0xe6c;
162 /* 0xe70 */ u32 field_0xe70[4];
163 /* 0xe80 */ u32 mRippleKey;
164 /* 0xe84 */ u8 field_0xe84;
165};
166
167STATIC_ASSERT(sizeof(daE_OC_c) == 0xe88);
168
170public:
171 /* 8072C5CC */ daE_OC_HIO_c();
172 /* 80735630 */ virtual ~daE_OC_HIO_c() {}
173
174 /* 0x04 */ s8 field_0x04;
175 /* 0x05 */ u8 field_0x05;
176 /* 0x08 */ f32 field_0x08;
177 /* 0x0c */ f32 field_0x0c;
178 /* 0x10 */ f32 field_0x10;
179 /* 0x14 */ f32 field_0x14;
180 /* 0x18 */ f32 field_0x18;
181 /* 0x1c */ f32 field_0x1c;
182 /* 0x20 */ f32 field_0x20;
183 /* 0x24 */ f32 field_0x24;
184};
185
186struct E_OC_n {
187 static f32 const oc_attackb_trans[10];
188 static f32 const oc_attackc_trans[10];
189 static dCcD_SrcSph cc_sph_src;
190 static dCcD_SrcSph at_sph_src;
195};
196
197
198#endif /* D_A_E_OC_H */
cPhs__Step
Definition c_phase.h:8
Definition Z2Creature.h:154
Definition d_cc_d.h:432
Definition d_a_e_oc.h:169
s8 field_0x04
Definition d_a_e_oc.h:174
f32 field_0x24
Definition d_a_e_oc.h:183
f32 field_0x18
Definition d_a_e_oc.h:180
f32 field_0x0c
Definition d_a_e_oc.h:177
u8 field_0x05
Definition d_a_e_oc.h:175
f32 field_0x08
Definition d_a_e_oc.h:176
f32 field_0x1c
Definition d_a_e_oc.h:181
f32 field_0x20
Definition d_a_e_oc.h:182
daE_OC_HIO_c()
Definition d_a_e_oc.cpp:60
f32 field_0x14
Definition d_a_e_oc.h:179
f32 field_0x10
Definition d_a_e_oc.h:178
virtual ~daE_OC_HIO_c()
Definition d_a_e_oc.h:172
Bokoblin.
Definition d_a_e_oc.h:19
void executeSoundWatch()
Definition d_a_e_oc.cpp:1630
s16 field_0x6cc
Definition d_a_e_oc.h:119
s16 field_0x6d2
Definition d_a_e_oc.h:122
u8 field_0xe5b
Definition d_a_e_oc.h:156
u32 mParticleKey
Definition d_a_e_oc.h:160
u8 field_0xe4c[0xe58 - 0xe4c]
Definition d_a_e_oc.h:153
bool checkWaterSurface()
Definition d_a_e_oc.cpp:2246
dBgS_ObjAcch mAcch
Definition d_a_e_oc.h:144
void executeFallDead()
Definition d_a_e_oc.cpp:2024
f32 field_0x704
Definition d_a_e_oc.h:142
void executeWatch()
Definition d_a_e_oc.cpp:1577
u8 field_0x6e0
Definition d_a_e_oc.h:131
bool checkBck(int)
Definition d_a_e_oc.cpp:698
int searchPlayer2()
Definition d_a_e_oc.cpp:301
dCcD_Stts mStts
Definition d_a_e_oc.h:145
f32 field_0x69c
Definition d_a_e_oc.h:103
request_of_phase_process_class mPhaseReqs[2]
Definition d_a_e_oc.h:89
cXyz mPlayerPos
Definition d_a_e_oc.h:140
int checkBeforeFloorBg(f32)
Definition d_a_e_oc.cpp:443
f32 mWaterLvl
Definition d_a_e_oc.h:102
static int JointCallBack(J3DJoint *, int)
Definition d_a_e_oc.cpp:89
u8 field_0x6e3
Definition d_a_e_oc.h:134
csXyz field_0x688
Definition d_a_e_oc.h:99
int checkBeforeDeath()
Definition d_a_e_oc.cpp:1680
daE_OC_c * mpParent
Definition d_a_e_oc.h:96
u32 field_0xe64
Definition d_a_e_oc.h:159
void setActionMode(int, int)
Definition d_a_e_oc.cpp:517
u8 isHomeWait() const
Definition d_a_e_oc.h:81
void setBck(int, u8, f32, f32)
Definition d_a_e_oc.cpp:692
int checkBeforeBg()
Definition d_a_e_oc.cpp:382
void executeDemoChild()
Definition d_a_e_oc.cpp:1932
cPhs__Step create()
Definition d_a_e_oc.cpp:2510
u32 field_0xe60
Definition d_a_e_oc.h:158
f32 mPlayerRange
Definition d_a_e_oc.h:101
int searchSound()
Definition d_a_e_oc.cpp:354
const char * mName
Definition d_a_e_oc.h:105
J3DModel * mpModel
Definition d_a_e_oc.h:91
void cc_set()
Definition d_a_e_oc.cpp:2359
void setWeaponGroundAngle()
Definition d_a_e_oc.cpp:1215
void executeMoveOut()
Definition d_a_e_oc.cpp:2151
s16 field_0x6c8
Definition d_a_e_oc.h:117
s16 field_0x6d0
Definition d_a_e_oc.h:121
daE_OC_c * mpBattle
Definition d_a_e_oc.h:93
u8 field_0x6dd
Definition d_a_e_oc.h:128
void setWalkSound()
Definition d_a_e_oc.cpp:739
s16 field_0x6c4
Definition d_a_e_oc.h:115
s32 field_0x6b4
Definition d_a_e_oc.h:109
u8 field_0x6de
Definition d_a_e_oc.h:129
dCcD_Sph mSphs_cc[2]
Definition d_a_e_oc.h:146
mDoExt_McaMorfSO * mpMorf
Definition d_a_e_oc.h:90
u8 mBattleOn
Definition d_a_e_oc.h:138
dBgS_AcchCir mAcchCir
Definition d_a_e_oc.h:143
void setWaitStSound()
Definition d_a_e_oc.cpp:781
void offTgSph()
Definition d_a_e_oc.cpp:567
f32 getPlayerRange() const
Definition d_a_e_oc.h:84
s16 getHeadAngle()
Definition d_a_e_oc.cpp:711
void setGroundAngle()
Definition d_a_e_oc.cpp:488
void setStabPos()
Definition d_a_e_oc.cpp:722
u32 mShadowKey
Definition d_a_e_oc.h:110
int mOldActionMode
Definition d_a_e_oc.h:107
void action()
Definition d_a_e_oc.cpp:2263
daE_OC_c * mpTalk
Definition d_a_e_oc.h:95
s16 mPrevShapeAngle
Definition d_a_e_oc.h:123
void setWalkStSound()
Definition d_a_e_oc.cpp:750
Z2CreatureEnemy mSound
Definition d_a_e_oc.h:92
void executeAttack()
Definition d_a_e_oc.cpp:1248
void executeFindStay()
Definition d_a_e_oc.cpp:2091
int getActionMode() const
Definition d_a_e_oc.h:85
f32 field_0x6e4
Definition d_a_e_oc.h:135
s16 field_0x6be
Definition d_a_e_oc.h:112
f32 mMoveRange
Definition d_a_e_oc.h:100
void executeWalk()
Definition d_a_e_oc.cpp:887
u8 field_0x6e2
Definition d_a_e_oc.h:133
int searchPlayerShakeHead()
Definition d_a_e_oc.cpp:338
s16 field_0x6c6
Definition d_a_e_oc.h:116
u8 isBattleOn() const
Definition d_a_e_oc.h:82
u32 mRippleKey
Definition d_a_e_oc.h:163
u8 mIsHomeWait
Definition d_a_e_oc.h:137
void executeDeath()
Definition d_a_e_oc.cpp:1688
int getVisionAngle(fopAc_ac_c *)
Definition d_a_e_oc.cpp:213
s16 field_0x6c2
Definition d_a_e_oc.h:114
void setFootNoteSound()
Definition d_a_e_oc.cpp:794
void searchOtherOc()
Definition d_a_e_oc.cpp:219
void executeDemoMaster()
Definition d_a_e_oc.cpp:1809
daE_OC_c * getTalkOc() const
Definition d_a_e_oc.h:86
u8 field_0x6df
Definition d_a_e_oc.h:130
int draw()
Definition d_a_e_oc.cpp:100
u16 field_0xe58
Definition d_a_e_oc.h:154
u8 field_0xe5c[0xe60 - 0xe5c]
Definition d_a_e_oc.h:157
s16 field_0x6d6
Definition d_a_e_oc.h:124
daRotBridge_c * mpBridge
Definition d_a_e_oc.h:97
dCcD_Sph mSphs_at[2]
Definition d_a_e_oc.h:147
int ctrlJoint(J3DJoint *, J3DModel *)
Definition d_a_e_oc.cpp:74
void executeBigDamage()
Definition d_a_e_oc.cpp:1452
u8 field_0xe40[0xe44 - 0xe40]
Definition d_a_e_oc.h:149
s16 field_0x6da
Definition d_a_e_oc.h:126
u32 field_0xe6c
Definition d_a_e_oc.h:161
u8 field_0xe48[0xe4a - 0xe48]
Definition d_a_e_oc.h:151
int searchPlayer()
Definition d_a_e_oc.cpp:267
void executeFind()
Definition d_a_e_oc.cpp:1028
void executeFall()
Definition d_a_e_oc.cpp:2063
void executeWait()
Definition d_a_e_oc.cpp:803
f32 getMoveRange() const
Definition d_a_e_oc.h:83
u8 field_0x6e1
Definition d_a_e_oc.h:132
int setWatchMode()
Definition d_a_e_oc.cpp:255
cXyz field_0x67c
Definition d_a_e_oc.h:98
void checkDamageBg()
Definition d_a_e_oc.cpp:460
s16 field_0x6bc
Definition d_a_e_oc.h:111
void setDashSound()
Definition d_a_e_oc.cpp:763
cXyz field_0x6f8
Definition d_a_e_oc.h:141
u8 field_0x6e8
Definition d_a_e_oc.h:136
s16 field_0xe4a
Definition d_a_e_oc.h:152
void executeTalk()
Definition d_a_e_oc.cpp:954
daE_OC_c * mpDamage
Definition d_a_e_oc.h:94
cCcD_Obj * mpTgHitObj
Definition d_a_e_oc.h:148
void setWaitSound()
Definition d_a_e_oc.cpp:732
s16 field_0x6c0
Definition d_a_e_oc.h:113
u8 field_0xe84
Definition d_a_e_oc.h:164
u8 field_0xe5a
Definition d_a_e_oc.h:155
int mOcState
Definition d_a_e_oc.h:108
int _delete()
Definition d_a_e_oc.cpp:2460
int checkBeforeBgFind()
Definition d_a_e_oc.cpp:408
void damage_check()
Definition d_a_e_oc.cpp:575
void executeWaterDeath()
Definition d_a_e_oc.cpp:1749
int mActionMode
Definition d_a_e_oc.h:106
void executeDamage()
Definition d_a_e_oc.cpp:1378
void checkFall()
Definition d_a_e_oc.cpp:1999
u8 field_0x6dc
Definition d_a_e_oc.h:127
void setWaterEffect()
Definition d_a_e_oc.cpp:1735
s16 field_0x6d8
Definition d_a_e_oc.h:125
s16 field_0x6ce
Definition d_a_e_oc.h:120
void mtx_set()
Definition d_a_e_oc.cpp:2344
int getCutType()
Definition d_a_e_oc.cpp:531
Z2CreatureEnemy * mpSound
Definition d_a_e_oc.h:150
s16 field_0x6ca
Definition d_a_e_oc.h:118
int execute()
Definition d_a_e_oc.cpp:2395
int CreateHeap()
Definition d_a_e_oc.cpp:2478
u32 field_0xe70[4]
Definition d_a_e_oc.h:162
void setSpitEffect()
Definition d_a_e_oc.cpp:703
u8 field_0x6eb
Definition d_a_e_oc.h:139
f32 field_0x6a0
Definition d_a_e_oc.h:104
Rotating Bridge.
Definition d_a_obj_rotBridge.h:14
Definition f_op_actor.h:254
STATIC_ASSERT(sizeof(daE_OC_c)==0xe88)
Definition d_a_e_oc.h:186
static daE_OC_c * m_damage_oc
Definition d_a_e_oc.h:192
static dCcD_SrcSph at_sph_src
Definition d_a_e_oc.h:47
static f32 const oc_attackb_trans[10]
Definition d_a_e_oc.h:22
static f32 const oc_attackc_trans[10]
Definition d_a_e_oc.h:28
static dCcD_SrcSph cc_sph_src
Definition d_a_e_oc.h:34
static daE_OC_c * m_battle_oc
Definition d_a_e_oc.h:191
static daE_OC_c * m_talk_oc
Definition d_a_e_oc.h:194
static daE_OC_c * m_death_oc
Definition d_a_e_oc.h:193
Definition d_a_hozelda.cpp:239
Definition d_a_ep.cpp:151
Definition d_a_npc_fguard.cpp:141
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_cc_d.h:92
Definition d_a_npc_fguard.cpp:70
Definition d_a_ep.cpp:19
Definition d_a_npc_fguard.cpp:23
Definition d_a_hozelda.cpp:14
signed char s8
Definition types.h:4
unsigned long u32
Definition types.h:9
signed short int s16
Definition types.h:6
float f32
Definition types.h:22
unsigned short int u16
Definition types.h:7
signed long s32
Definition types.h:8
unsigned char u8
Definition types.h:5