Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_obj_bky_rock.h
Go to the documentation of this file.
1#ifndef D_A_OBJ_BKY_ROCK_H
2#define D_A_OBJ_BKY_ROCK_H
3
4#include "d/d_cc_d.h"
5#include "d/d_model.h"
7
17public:
18 struct _pieceData {
19 public:
20 /* 0x00 */ dMdl_obj_c mMdlObj;
21 /* 0x34 */ Vec position;
22 /* 0x40 */ f32 targetX;
23 /* 0x44 */ f32 targetZ;
24 /* 0x48 */ f32 scale;
25 /* 0x4C */ f32 speedY;
26 /* 0x50 */ s16 rotationX;
27 /* 0x52 */ s16 rotationZ;
28 /* 0x54 */ s16 rotationSpeed;
29 };
30
31 typedef void (daBkyRock_c::*exeProc)();
32
38
40 virtual ~daBkyRock_c();
41 int create();
42 int execute();
43 int draw();
44 int Delete();
45 void setModelMtx();
46 int createHeap();
47 void init();
48 void middleExe();
49 void exeModeNoDamage();
50 void exeModeDamage();
51 void exeModePiece();
52 bool chkHitBombArrow();
55 void pieceMove();
56 void pieceMoveInit();
57 void callBombEmt(int, u16 const*);
58
59 u8 getSwBit0() { return fopAcM_GetParamBit(this, 4, 8); }
60 u8 getSwBit1() { return fopAcM_GetParamBit(this, 12, 8); }
61 s8 getNameNo() { return fopAcM_GetParamBit(this, 0, 4); }
62
63 static dCcD_SrcCyl const s_CcDCyl;
64 static exeProc s_exeProc[3];
65
66private:
67 /* 0x568 */ int mVibrationTimer;
68 /* 0x578 */ u8 mMode;
69 /* 0x579 */ bool field_0x579;
70 /* 0x57A */ bool field_0x57a;
71 /* 0x57B */ Mtx mMtx;
72 /* 0x5AC */ dBgW* mBgW;
73 /* 0x5B0 */ dCcD_Stts mStts;
74 /* 0x5EC */ dCcD_Cyl mCyls[2];
75 /* 0x864 */ J3DModel* mModels[3];
76 /* 0x870 */ _pieceData mPieces[20];
77};
78
79//STATIC_ASSERT(sizeof(daBkyRock_c) == 0xf50);
80
81
82#endif /* D_A_OBJ_BKY_ROCK_H */
Definition J3DModel.h:43
Definition d_bg_w.h:257
Definition d_cc_d.h:461
Definition d_cc_d.h:269
Definition d_model.h:10
Bomb Shack Rock.
Definition d_a_obj_bky_rock.h:16
int createHeap()
Definition d_a_obj_bky_rock.cpp:145
int Delete()
Definition d_a_obj_bky_rock.cpp:89
void setModelMtx()
Definition d_a_obj_bky_rock.cpp:100
_pieceData mPieces[20]
Definition d_a_obj_bky_rock.h:76
dCcD_Stts mStts
Definition d_a_obj_bky_rock.h:73
int create()
Definition d_a_obj_bky_rock.cpp:36
int mVibrationTimer
Definition d_a_obj_bky_rock.h:67
dBgW * mBgW
Definition d_a_obj_bky_rock.h:72
bool chkHitBombArrow()
Definition d_a_obj_bky_rock.cpp:272
void init()
Definition d_a_obj_bky_rock.cpp:185
static dCcD_SrcCyl const s_CcDCyl
Definition d_a_obj_bky_rock.h:126
u8 mMode
Definition d_a_obj_bky_rock.h:68
int execute()
Definition d_a_obj_bky_rock.cpp:58
dCcD_Cyl mCyls[2]
Definition d_a_obj_bky_rock.h:74
virtual ~daBkyRock_c()
Definition d_a_obj_bky_rock.cpp:32
void initChangeModeBefore()
Definition d_a_obj_bky_rock.cpp:295
u8 getSwBit0()
Definition d_a_obj_bky_rock.h:59
void pieceMoveInit()
Definition d_a_obj_bky_rock.cpp:354
void exeModeNoDamage()
Definition d_a_obj_bky_rock.cpp:215
void middleExe()
Definition d_a_obj_bky_rock.cpp:209
Mode
Definition d_a_obj_bky_rock.h:33
@ MODE_1
Definition d_a_obj_bky_rock.h:35
@ MODE_0
Definition d_a_obj_bky_rock.h:34
@ MODE_2
Definition d_a_obj_bky_rock.h:36
s8 getNameNo()
Definition d_a_obj_bky_rock.h:61
void callBombEmt(int, u16 const *)
Definition d_a_obj_bky_rock.cpp:388
J3DModel * mModels[3]
Definition d_a_obj_bky_rock.h:75
void exeModeDamage()
Definition d_a_obj_bky_rock.cpp:229
int draw()
Definition d_a_obj_bky_rock.cpp:63
bool field_0x57a
Definition d_a_obj_bky_rock.h:70
void pieceMove()
Definition d_a_obj_bky_rock.cpp:305
static exeProc s_exeProc[3]
Definition d_a_obj_bky_rock.h:20
u8 getSwBit1()
Definition d_a_obj_bky_rock.h:60
bool field_0x579
Definition d_a_obj_bky_rock.h:69
void(daBkyRock_c::*) exeProc()
Definition d_a_obj_bky_rock.h:31
void exeModePiece()
Definition d_a_obj_bky_rock.cpp:258
Mtx mMtx
Definition d_a_obj_bky_rock.h:71
void initChangeModeAfter()
Definition d_a_obj_bky_rock.cpp:301
daBkyRock_c()
Definition d_a_obj_bky_rock.cpp:26
Definition f_op_actor.h:230
f32 Mtx[3][4]
Definition mtx.h:25
signed char s8
Definition types.h:7
signed short int s16
Definition types.h:9
float f32
Definition types.h:25
unsigned short int u16
Definition types.h:10
unsigned char u8
Definition types.h:8
u32 fopAcM_GetParamBit(void *ac, u8 shift, u8 bit)
Definition f_op_actor_mng.h:196
Definition mtx.h:13
Definition d_cc_d.h:104
Definition d_a_obj_bky_rock.h:18
f32 speedY
Definition d_a_obj_bky_rock.h:25
f32 scale
Definition d_a_obj_bky_rock.h:24
f32 targetZ
Definition d_a_obj_bky_rock.h:23
f32 targetX
Definition d_a_obj_bky_rock.h:22
s16 rotationX
Definition d_a_obj_bky_rock.h:26
s16 rotationZ
Definition d_a_obj_bky_rock.h:27
Vec position
Definition d_a_obj_bky_rock.h:21
dMdl_obj_c mMdlObj
Definition d_a_obj_bky_rock.h:20
s16 rotationSpeed
Definition d_a_obj_bky_rock.h:28
Definition c_phase.h:17