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#include "d/d_cc_uty.h"
8
9
18class daRotBridge_c;
19
20class daE_OC_c : public fopEn_enemy_c {
21public:
23 static int JointCallBack(J3DJoint*, int);
24 int draw();
26 void searchOtherOc();
27 bool setWatchMode();
28 bool searchPlayer();
29 bool searchPlayer2();
31 bool searchSound();
32 int checkBeforeBg();
33 bool checkBeforeBgFind();
35 void checkDamageBg();
36 void setGroundAngle();
37 void setActionMode(int, int);
38 int getCutType();
39 void offTgSph();
40 void damage_check();
41 void setBck(int, u8, f32, f32);
42 bool checkBck(int);
43 void setSpitEffect();
45 void setStabPos();
46 void setWaitSound();
47 void setWalkSound();
48 void setWalkStSound();
49 void setDashSound();
50 void setWaitStSound();
51 void setFootNoteSound();
52 void executeWait();
53 void executeWalk();
54 void executeTalk();
55 void executeFind();
57 void executeAttack();
58 void executeDamage();
59 void executeBigDamage();
61 void executeSoundWatch();
62 bool checkBeforeDeath();
63 void executeDeath();
64 void setWaterEffect();
66 void executeDemoMaster();
67 void executeDemoChild();
68 void checkFall();
69 void executeFallDead();
71 void executeFindStay();
72 void executeMoveOut();
73 bool checkWaterSurface();
74 void action();
75 void mtx_set();
76 void cc_set();
77 int execute();
78 int _delete();
79 int CreateHeap();
81
82 bool isHomeWait() { return mIsHomeWait; }
83 bool isBattleOn() { return mBattleOn; }
86 int getActionMode() { return mActionMode; }
87 daE_OC_c* getTalkOc() { return mpTalk; }
89
90private:
93 /* 0x5c0 */ J3DModel* mpModel;
95 /* 0x668 */ daE_OC_c* mpBattle;
96 /* 0x66c */ daE_OC_c* mpDamage;
97 /* 0x670 */ daE_OC_c* mpTalk;
98 /* 0x674 */ daE_OC_c* mpParent;
99 /* 0x678 */ daRotBridge_c* mpBridge;
100 /* 0x67c */ cXyz mWatchPos;
101 /* 0x688 */ csXyz field_0x688;
102 /* 0x690 */ f32 mMoveRange;
103 /* 0x690 */ f32 mPlayerRange;
104 /* 0x698 */ f32 mWaterLvl;
105 /* 0x69c */ f32 field_0x69c;
106 /* 0x6a0 */ f32 field_0x6a0;
107 /* 0x6a4 */ const char* mName;
108 /* 0x6a8 */ int mActionMode;
109 /* 0x6ac */ int mOldActionMode;
110 /* 0x6b0 */ int mOcState;
111 /* 0x6b4 */ s32 field_0x6b4;
112 /* 0x6b8 */ u32 mShadowKey;
113 /* 0x6bc */ s16 field_0x6bc;
114 /* 0x6be */ s16 field_0x6be;
115 /* 0x6c0 */ s16 field_0x6c0;
116 /* 0x6c2 */ s16 field_0x6c2;
117 /* 0x6c4 */ s16 field_0x6c4;
118 /* 0x6c6 */ s16 field_0x6c6;
119 /* 0x6c8 */ s16 field_0x6c8;
120 /* 0x6ca */ s16 field_0x6ca;
121 /* 0x6cc */ s16 field_0x6cc;
122 /* 0x6ce */ s16 field_0x6ce;
123 /* 0x6d0 */ s16 field_0x6d0;
124 /* 0x6d2 */ s16 field_0x6d2;
125 /* 0x6d4 */ s16 mPrevShapeAngle;
126 /* 0x6d6 */ s16 field_0x6d6;
127 /* 0x6d8 */ s16 field_0x6d8;
128 /* 0x6da */ s16 field_0x6da;
129 /* 0x6dc */ u8 field_0x6dc;
130 /* 0x6dd */ u8 field_0x6dd;
131 /* 0x6de */ u8 field_0x6de;
132 /* 0x6df */ u8 field_0x6df;
133 /* 0x6e0 */ u8 mDefeatedSwitch;
134 /* 0x6e1 */ u8 field_0x6e1;
135 /* 0x6e2 */ u8 field_0x6e2;
136 /* 0x6e3 */ u8 field_0x6e3;
137 /* 0x6e4 */ f32 field_0x6e4;
138 /* 0x6e8 */ u8 field_0x6e8;
139 /* 0x6e9 */ u8 mIsHomeWait;
140 /* 0x6ea */ u8 mBattleOn;
141 /* 0x6eb */ bool mHide;
142 /* 0x6ec */ cXyz mPlayerPos;
143 /* 0x6f8 */ cXyz field_0x6f8;
144 /* 0x704 */ f32 field_0x704;
146 /* 0x748 */ dBgS_ObjAcch mAcch;
147 /* 0x920 */ dCcD_Stts mStts;
148 /* 0x95c */ dCcD_Sph mSphs_cc[2];
149 /* 0xbcc */ dCcD_Sph mSphs_at[2];
150 /* 0xe3c */ dCcU_AtInfo mAtInfo;
151 /* 0xe60 */ u32 field_0xe60;
152 /* 0xe64 */ u32 field_0xe64;
153 /* 0xe68 */ u32 mParticleKeys[2];
154 /* 0xe70 */ u32 mWaterEffects[4];
155 /* 0xe80 */ u32 mRippleKey;
156 /* 0xe84 */ u8 field_0xe84;
157};
158
159STATIC_ASSERT(sizeof(daE_OC_c) == 0xe88);
160
161struct E_OC_n {
162 static f32 const oc_attackb_trans[10];
163 static f32 const oc_attackc_trans[10];
164 static dCcD_SrcSph cc_sph_src;
165 static dCcD_SrcSph at_sph_src;
170};
171
172#endif /* D_A_E_OC_H */
cPhs__Step
Definition c_phase.h:8
Definition J3DJoint.h:63
Definition J3DModel.h:43
Definition Z2Creature.h:37
Definition c_sxyz.h:10
Definition d_bg_s_acch.h:15
Definition d_bg_s_acch.h:247
Definition d_cc_d.h:473
Definition d_cc_d.h:269
Bokoblin.
Definition d_a_e_oc.h:20
void executeSoundWatch()
Definition d_a_e_oc.cpp:1757
s16 field_0x6cc
Definition d_a_e_oc.h:121
s16 field_0x6d2
Definition d_a_e_oc.h:124
J3DModel * getOcModel()
Definition d_a_e_oc.h:88
bool checkWaterSurface()
Definition d_a_e_oc.cpp:2366
dBgS_ObjAcch mAcch
Definition d_a_e_oc.h:146
void executeFallDead()
Definition d_a_e_oc.cpp:2150
f32 field_0x704
Definition d_a_e_oc.h:144
void executeWatch()
Definition d_a_e_oc.cpp:1705
bool checkBck(int)
Definition d_a_e_oc.cpp:785
dCcD_Stts mStts
Definition d_a_e_oc.h:147
f32 field_0x69c
Definition d_a_e_oc.h:105
request_of_phase_process_class mPhaseReqs[2]
Definition d_a_e_oc.h:91
cXyz mPlayerPos
Definition d_a_e_oc.h:142
f32 mWaterLvl
Definition d_a_e_oc.h:104
bool checkBeforeBgFind()
Definition d_a_e_oc.cpp:471
static int JointCallBack(J3DJoint *, int)
Definition d_a_e_oc.cpp:146
u8 field_0x6e3
Definition d_a_e_oc.h:136
csXyz field_0x688
Definition d_a_e_oc.h:101
daE_OC_c * mpParent
Definition d_a_e_oc.h:98
u32 field_0xe64
Definition d_a_e_oc.h:152
void setActionMode(int, int)
Definition d_a_e_oc.cpp:583
void setBck(int, u8, f32, f32)
Definition d_a_e_oc.cpp:780
int checkBeforeBg()
Definition d_a_e_oc.cpp:440
void executeDemoChild()
Definition d_a_e_oc.cpp:2057
cPhs__Step create()
Definition d_a_e_oc.cpp:2672
u32 field_0xe60
Definition d_a_e_oc.h:151
f32 mPlayerRange
Definition d_a_e_oc.h:103
const char * mName
Definition d_a_e_oc.h:107
u32 mParticleKeys[2]
Definition d_a_e_oc.h:153
bool searchPlayer()
Definition d_a_e_oc.cpp:306
J3DModel * mpModel
Definition d_a_e_oc.h:93
bool checkBeforeDeath()
Definition d_a_e_oc.cpp:1806
void cc_set()
Definition d_a_e_oc.cpp:2519
void setWeaponGroundAngle()
Definition d_a_e_oc.cpp:1334
f32 getPlayerRange()
Definition d_a_e_oc.h:85
void executeMoveOut()
Definition d_a_e_oc.cpp:2273
s16 field_0x6c8
Definition d_a_e_oc.h:119
s16 field_0x6d0
Definition d_a_e_oc.h:123
daE_OC_c * mpBattle
Definition d_a_e_oc.h:95
u8 field_0x6dd
Definition d_a_e_oc.h:130
void setWalkSound()
Definition d_a_e_oc.cpp:826
bool mHide
Definition d_a_e_oc.h:141
s16 getVisionAngle(fopAc_ac_c *)
Definition d_a_e_oc.cpp:250
s16 field_0x6c4
Definition d_a_e_oc.h:117
bool searchPlayer2()
Definition d_a_e_oc.cpp:343
s32 field_0x6b4
Definition d_a_e_oc.h:111
u8 field_0x6de
Definition d_a_e_oc.h:131
dCcD_Sph mSphs_cc[2]
Definition d_a_e_oc.h:148
int getActionMode()
Definition d_a_e_oc.h:86
mDoExt_McaMorfSO * mpMorf
Definition d_a_e_oc.h:92
u8 mBattleOn
Definition d_a_e_oc.h:140
dBgS_AcchCir mAcchCir
Definition d_a_e_oc.h:145
void setWaitStSound()
Definition d_a_e_oc.cpp:865
void offTgSph()
Definition d_a_e_oc.cpp:630
s16 getHeadAngle()
Definition d_a_e_oc.cpp:801
f32 getMoveRange()
Definition d_a_e_oc.h:84
void setGroundAngle()
Definition d_a_e_oc.cpp:555
void setStabPos()
Definition d_a_e_oc.cpp:811
u32 mShadowKey
Definition d_a_e_oc.h:112
int mOldActionMode
Definition d_a_e_oc.h:109
bool searchSound()
Definition d_a_e_oc.cpp:408
void action()
Definition d_a_e_oc.cpp:2383
daE_OC_c * getTalkOc()
Definition d_a_e_oc.h:87
daE_OC_c * mpTalk
Definition d_a_e_oc.h:97
s16 mPrevShapeAngle
Definition d_a_e_oc.h:125
void setWalkStSound()
Definition d_a_e_oc.cpp:836
bool isBattleOn()
Definition d_a_e_oc.h:83
Z2CreatureEnemy mSound
Definition d_a_e_oc.h:94
void executeAttack()
Definition d_a_e_oc.cpp:1367
void executeFindStay()
Definition d_a_e_oc.cpp:2213
bool setWatchMode()
Definition d_a_e_oc.cpp:292
f32 field_0x6e4
Definition d_a_e_oc.h:137
s16 field_0x6be
Definition d_a_e_oc.h:114
f32 mMoveRange
Definition d_a_e_oc.h:102
void executeWalk()
Definition d_a_e_oc.cpp:975
u8 field_0x6e2
Definition d_a_e_oc.h:135
s16 field_0x6c6
Definition d_a_e_oc.h:118
u32 mRippleKey
Definition d_a_e_oc.h:155
u8 mIsHomeWait
Definition d_a_e_oc.h:139
void executeDeath()
Definition d_a_e_oc.cpp:1814
s16 field_0x6c2
Definition d_a_e_oc.h:116
void setFootNoteSound()
Definition d_a_e_oc.cpp:877
void searchOtherOc()
Definition d_a_e_oc.cpp:254
void executeDemoMaster()
Definition d_a_e_oc.cpp:1937
u8 field_0x6df
Definition d_a_e_oc.h:132
int draw()
Definition d_a_e_oc.cpp:157
s16 field_0x6d6
Definition d_a_e_oc.h:126
daRotBridge_c * mpBridge
Definition d_a_e_oc.h:99
dCcD_Sph mSphs_at[2]
Definition d_a_e_oc.h:149
int ctrlJoint(J3DJoint *, J3DModel *)
Definition d_a_e_oc.cpp:132
void executeBigDamage()
Definition d_a_e_oc.cpp:1582
s16 field_0x6da
Definition d_a_e_oc.h:128
cXyz mWatchPos
Definition d_a_e_oc.h:100
void executeFind()
Definition d_a_e_oc.cpp:1126
void executeFall()
Definition d_a_e_oc.cpp:2186
void executeWait()
Definition d_a_e_oc.cpp:885
u8 field_0x6e1
Definition d_a_e_oc.h:134
u8 mDefeatedSwitch
Definition d_a_e_oc.h:133
void checkDamageBg()
Definition d_a_e_oc.cpp:526
s16 field_0x6bc
Definition d_a_e_oc.h:113
void setDashSound()
Definition d_a_e_oc.cpp:848
dCcU_AtInfo mAtInfo
Definition d_a_e_oc.h:150
cXyz field_0x6f8
Definition d_a_e_oc.h:143
u8 field_0x6e8
Definition d_a_e_oc.h:138
void executeTalk()
Definition d_a_e_oc.cpp:1050
daE_OC_c * mpDamage
Definition d_a_e_oc.h:96
bool isHomeWait()
Definition d_a_e_oc.h:82
void setWaitSound()
Definition d_a_e_oc.cpp:820
s16 field_0x6c0
Definition d_a_e_oc.h:115
u8 field_0xe84
Definition d_a_e_oc.h:156
int mOcState
Definition d_a_e_oc.h:110
int _delete()
Definition d_a_e_oc.cpp:2618
void damage_check()
Definition d_a_e_oc.cpp:637
void executeWaterDeath()
Definition d_a_e_oc.cpp:1878
int mActionMode
Definition d_a_e_oc.h:108
void executeDamage()
Definition d_a_e_oc.cpp:1513
void checkFall()
Definition d_a_e_oc.cpp:2120
u8 field_0x6dc
Definition d_a_e_oc.h:129
void setWaterEffect()
Definition d_a_e_oc.cpp:1861
s16 field_0x6d8
Definition d_a_e_oc.h:127
s16 field_0x6ce
Definition d_a_e_oc.h:122
bool checkBeforeFloorBg(f32)
Definition d_a_e_oc.cpp:507
void mtx_set()
Definition d_a_e_oc.cpp:2505
int getCutType()
Definition d_a_e_oc.cpp:595
s16 field_0x6ca
Definition d_a_e_oc.h:120
int execute()
Definition d_a_e_oc.cpp:2554
int CreateHeap()
Definition d_a_e_oc.cpp:2638
void setSpitEffect()
Definition d_a_e_oc.cpp:793
bool searchPlayerShakeHead()
Definition d_a_e_oc.cpp:387
f32 field_0x6a0
Definition d_a_e_oc.h:106
u32 mWaterEffects[4]
Definition d_a_e_oc.h:154
Rotating Bridge.
Definition d_a_obj_rotBridge.h:16
Definition f_op_actor.h:230
Definition f_op_actor.h:285
Definition m_Do_ext.h:331
J3DModel * getModel()
Definition m_Do_ext.h:350
STATIC_ASSERT(sizeof(daE_OC_c)==0xe88)
unsigned long u32
Definition types.h:12
signed short int s16
Definition types.h:9
float f32
Definition types.h:25
signed long s32
Definition types.h:11
unsigned char u8
Definition types.h:8
Definition d_a_e_oc.h:161
static daE_OC_c * m_damage_oc
Definition d_a_e_oc.h:167
static dCcD_SrcSph at_sph_src
Definition d_a_e_oc.h:82
static f32 const oc_attackb_trans[10]
Definition d_a_e_oc.h:60
static f32 const oc_attackc_trans[10]
Definition d_a_e_oc.h:65
static dCcD_SrcSph cc_sph_src
Definition d_a_e_oc.h:70
static daE_OC_c * m_battle_oc
Definition d_a_e_oc.h:166
static daE_OC_c * m_talk_oc
Definition d_a_e_oc.h:169
static daE_OC_c * m_death_oc
Definition d_a_e_oc.h:168
Definition c_xyz.h:7
Definition d_cc_d.h:94
Definition d_cc_uty.h:20
Definition c_phase.h:17