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 /* 80BB6914 */ _pieceData() { mMdlObj.mpObj = NULL; }
21
22 /* 0x00 */ dMdl_obj_c mMdlObj;
23 /* 0x34 */ Vec position;
24 /* 0x40 */ f32 targetX;
25 /* 0x44 */ f32 targetZ;
26 /* 0x48 */ f32 scale;
27 /* 0x4C */ f32 speedY;
28 /* 0x50 */ s16 rotationX;
29 /* 0x52 */ s16 rotationZ;
30 /* 0x54 */ s16 rotationSpeed;
31 };
32
33 typedef void (daBkyRock_c::*exeProc)();
34
41 /* 80BB6858 */ daBkyRock_c();
42 /* 80BB6B5C */ virtual ~daBkyRock_c();
43 /* 80BB6C4C */ int create();
44 /* 80BB6D60 */ int execute();
45 /* 80BB6D84 */ int draw();
46 /* 80BB6EB8 */ int Delete();
47 /* 80BB6F64 */ void setModelMtx();
48 /* 80BB6FD4 */ int createHeap();
49 /* 80BB7144 */ void init();
50 /* 80BB72FC */ void middleExe();
51 /* 80BB7364 */ void exeModeNoDamage();
52 /* 80BB7458 */ void exeModeDamage();
53 /* 80BB75D8 */ void exeModePiece();
54 /* 80BB7690 */ bool chkHitBombArrow();
55 /* 80BB776C */ void initChangeModeBefore();
56 /* 80BB77FC */ void initChangeModeAfter();
57 /* 80BB7818 */ void pieceMove();
58 /* 80BB7988 */ void pieceMoveInit();
59 /* 80BB7C18 */ void callBombEmt(int, u16 const*);
60
61 u8 getSwBit0() { return fopAcM_GetParamBit(this, 4, 8); }
62 u8 getSwBit1() { return fopAcM_GetParamBit(this, 12, 8); }
63 s8 getNameNo() { return fopAcM_GetParamBit(this, 0, 4); }
64
65 static dCcD_SrcCyl const s_CcDCyl;
66 static exeProc s_exeProc[3];
67
68private:
69 /* 0x568 */ int mVibrationTimer;
70 /* 0x578 */ u8 mMode;
71 /* 0x579 */ bool field_0x579;
72 /* 0x57A */ bool field_0x57a;
73 /* 0x57B */ Mtx mMtx;
74 /* 0x5AC */ dBgW* mBgW;
75 /* 0x5B0 */ dCcD_Stts mStts;
76 /* 0x5EC */ dCcD_Cyl mCyls[2];
77 /* 0x864 */ J3DModel* mModels[3];
78 /* 0x870 */ _pieceData mPieces[20];
79};
80
81//STATIC_ASSERT(sizeof(daBkyRock_c) == 0xf50);
82
83
84#endif /* D_A_OBJ_BKY_ROCK_H */
T cLib_calcTimer(T *value)
Definition c_lib.h:79
Definition d_bg_w.h:252
Definition d_model.h:10
dMdl_obj_c * mpObj
Definition d_model.h:16
Bomb Shack Rock.
Definition d_a_obj_bky_rock.h:16
int createHeap()
Definition d_a_obj_bky_rock.cpp:180
int Delete()
Definition d_a_obj_bky_rock.cpp:115
void setModelMtx()
Definition d_a_obj_bky_rock.cpp:127
_pieceData mPieces[20]
Definition d_a_obj_bky_rock.h:78
dCcD_Stts mStts
Definition d_a_obj_bky_rock.h:75
int create()
Definition d_a_obj_bky_rock.cpp:59
int mVibrationTimer
Definition d_a_obj_bky_rock.h:69
dBgW * mBgW
Definition d_a_obj_bky_rock.h:74
bool chkHitBombArrow()
Definition d_a_obj_bky_rock.cpp:317
void init()
Definition d_a_obj_bky_rock.cpp:225
static dCcD_SrcCyl const s_CcDCyl
Definition d_a_obj_bky_rock.h:159
u8 mMode
Definition d_a_obj_bky_rock.h:70
int execute()
Definition d_a_obj_bky_rock.cpp:82
dCcD_Cyl mCyls[2]
Definition d_a_obj_bky_rock.h:76
virtual ~daBkyRock_c()
Definition d_a_obj_bky_rock.cpp:54
void initChangeModeBefore()
Definition d_a_obj_bky_rock.cpp:343
u8 getSwBit0()
Definition d_a_obj_bky_rock.h:61
void pieceMoveInit()
Definition d_a_obj_bky_rock.cpp:411
void exeModeNoDamage()
Definition d_a_obj_bky_rock.cpp:257
void middleExe()
Definition d_a_obj_bky_rock.cpp:250
Mode
Definition d_a_obj_bky_rock.h:35
@ MODE_1
Definition d_a_obj_bky_rock.h:37
@ MODE_0
Definition d_a_obj_bky_rock.h:36
@ MODE_2
Definition d_a_obj_bky_rock.h:38
s8 getNameNo()
Definition d_a_obj_bky_rock.h:63
void callBombEmt(int, u16 const *)
Definition d_a_obj_bky_rock.cpp:446
J3DModel * mModels[3]
Definition d_a_obj_bky_rock.h:77
void exeModeDamage()
Definition d_a_obj_bky_rock.cpp:272
int draw()
Definition d_a_obj_bky_rock.cpp:88
bool field_0x57a
Definition d_a_obj_bky_rock.h:72
void pieceMove()
Definition d_a_obj_bky_rock.cpp:355
static exeProc s_exeProc[3]
Definition d_a_obj_bky_rock.h:40
u8 getSwBit1()
Definition d_a_obj_bky_rock.h:62
bool field_0x579
Definition d_a_obj_bky_rock.h:71
void exeModePiece()
Definition d_a_obj_bky_rock.cpp:302
Mtx mMtx
Definition d_a_obj_bky_rock.h:73
void(daBkyRock_c::* exeProc)()
Definition d_a_obj_bky_rock.h:33
void initChangeModeAfter()
Definition d_a_obj_bky_rock.cpp:350
daBkyRock_c()
Definition d_a_obj_bky_rock.cpp:47
u32 fopAcM_GetParamBit(void *ac, u8 shift, u8 bit)
Definition f_op_actor_mng.h:170
f32 Mtx[3][4]
Definition mtx.h:15
Definition d_a_ep.cpp:155
Definition d_a_hozelda.cpp:18
Definition d_a_npc_fguard.cpp:86
Definition d_a_npc_fguard.cpp:74
Definition d_a_npc_fguard.cpp:70
Definition d_a_obj_bky_rock.h:18
f32 speedY
Definition d_a_obj_bky_rock.h:27
f32 scale
Definition d_a_obj_bky_rock.h:26
_pieceData()
Definition d_a_obj_bky_rock.h:20
f32 targetZ
Definition d_a_obj_bky_rock.h:25
f32 targetX
Definition d_a_obj_bky_rock.h:24
s16 rotationX
Definition d_a_obj_bky_rock.h:28
s16 rotationZ
Definition d_a_obj_bky_rock.h:29
Vec position
Definition d_a_obj_bky_rock.h:23
dMdl_obj_c mMdlObj
Definition d_a_obj_bky_rock.h:22
s16 rotationSpeed
Definition d_a_obj_bky_rock.h:30
Definition d_a_ep.cpp:19
Definition d_a_hozelda.cpp:14
signed char s8
Definition types.h:4
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