Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_obj_Lv5Key.h
Go to the documentation of this file.
1#ifndef D_A_OBJ_LV5KEY_H
2#define D_A_OBJ_LV5KEY_H
3
4#include "d/d_bg_s_acch.h"
5#include "d/d_cc_d.h"
7
16class daObjLv5Key_c : public fopAc_ac_c {
17public:
18 typedef void (daObjLv5Key_c::*actionFunc)(int);
19
26
27 int CreateHeap();
28 int Init();
29 void setBgc();
30 void initCcSph();
31 void setCcSph();
32 void setAction(actionFunc, int);
33 void Action();
34 void Wait(int);
35 void Open(int);
36 void Fall(int);
37 void Land(int);
38 void Shake(int);
40 int Execute();
41 int Draw();
42 int Delete();
43 void setBaseMtx();
44 int create_1st();
45
51
52 void setTimer(s16 timer) { mTimer = timer; }
53 void setShakeNum(s8 num) { mShakeNum = num; }
54 void decShakeNum() { mShakeNum--; }
55
56 bool countdown() { return --mTimer <= 0; }
57
61 bool is_open() { return mStatus == STATUS_OPEN; }
64 bool is_shake_end() { return mShakeNum <= 0; }
65
67
68private:
69 /* 0x568 */ u8 field_0x568[0x56C - 0x568];
71 /* 0x58C */ u8 field_0x58C[0x590 - 0x58C];
72 /* 0x590 */ J3DModel* mpModel;
73 /* 0x594 */ mDoExt_bckAnm mBck;
76 /* 0x5F8 */ dBgS_ObjAcch mAcch;
77 /* 0x7D0 */ dCcD_Stts mCcStts;
78 /* 0x80C */ dCcD_Sph mCcSph;
79 /* 0x944 */ u8 field_0x944;
80 /* 0x945 */ s8 mStatus;
81 /* 0x948 */ actionFunc mAction;
82 /* 0x954 */ s16 mMode;
83 /* 0x956 */ s16 mTimer;
84 /* 0x958 */ cXyz mLocalOffset;
85 /* 0x964 */ csXyz mRotateSpd;
86 /* 0x96A */ csXyz mRotateAccel;
87 /* 0x970 */ s8 mShakeNum;
88 /* 0x971 */ u8 field_0x971[0x97c - 0x971];
89};
90
91STATIC_ASSERT(sizeof(daObjLv5Key_c) == 0x97c);
92
93#endif /* D_A_OBJ_LV5KEY_H */
Definition J3DModel.h:43
Definition Z2SoundObject.h:38
Definition c_sxyz.h:10
void set(s16 oX, s16 oY, s16 oZ)
Definition c_sxyz.h:24
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
Snowpeak Ruins Key Lock.
Definition d_a_obj_Lv5Key.h:16
u8 field_0x971[0x97c - 0x971]
Definition d_a_obj_Lv5Key.h:88
dBgS_ObjAcch mAcch
Definition d_a_obj_Lv5Key.h:76
int CreateHeap()
Definition d_a_obj_Lv5Key.cpp:15
bool is_open_start()
Definition d_a_obj_Lv5Key.h:62
void Shake(int)
Definition d_a_obj_Lv5Key.cpp:227
u8 field_0x58C[0x590 - 0x58C]
Definition d_a_obj_Lv5Key.h:71
void RotateAngle()
Definition d_a_obj_Lv5Key.h:49
bool is_shake_start()
Definition d_a_obj_Lv5Key.h:63
cXyz mLocalOffset
Definition d_a_obj_Lv5Key.h:84
void setAction(actionFunc, int)
Definition d_a_obj_Lv5Key.cpp:94
void setShakeNum(s8 num)
Definition d_a_obj_Lv5Key.h:53
int create_1st()
Definition d_a_obj_Lv5Key.cpp:311
s8 mStatus
Definition d_a_obj_Lv5Key.h:80
int Delete()
Definition d_a_obj_Lv5Key.cpp:287
dBgS_AcchCir mAcchCir
Definition d_a_obj_Lv5Key.h:75
u8 field_0x944
Definition d_a_obj_Lv5Key.h:79
J3DModel * mpModel
Definition d_a_obj_Lv5Key.h:72
void(daObjLv5Key_c::*) actionFunc(int)
Definition d_a_obj_Lv5Key.h:18
void keylock_shake_start()
Definition d_a_obj_Lv5Key.h:60
dCcD_Stts mCcStts
Definition d_a_obj_Lv5Key.h:77
void setBaseMtx()
Definition d_a_obj_Lv5Key.cpp:292
cXyz & getLocalOffset()
Definition d_a_obj_Lv5Key.h:66
void setCcSph()
Definition d_a_obj_Lv5Key.cpp:70
void setTimer(s16 timer)
Definition d_a_obj_Lv5Key.h:52
void Open(int)
Definition d_a_obj_Lv5Key.cpp:134
csXyz mRotateAccel
Definition d_a_obj_Lv5Key.h:86
void setRotateAccel(s16 x, s16 y, s16 z)
Definition d_a_obj_Lv5Key.h:48
void Action()
Definition d_a_obj_Lv5Key.cpp:107
daObjLv5Key_STATUS
Definition d_a_obj_Lv5Key.h:20
@ STATUS_SHAKE_START
Definition d_a_obj_Lv5Key.h:22
@ STATUS_WAIT
Definition d_a_obj_Lv5Key.h:21
@ STATUS_OPEN
Definition d_a_obj_Lv5Key.h:24
@ STATUS_OPEN_START
Definition d_a_obj_Lv5Key.h:23
void Fall(int)
Definition d_a_obj_Lv5Key.cpp:152
void TranslateByNowDirect(f32, f32, f32)
Definition d_a_obj_Lv5Key.cpp:260
void setLocalOffset(f32 x, f32 y, f32 z)
Definition d_a_obj_Lv5Key.h:46
int Execute()
Definition d_a_obj_Lv5Key.cpp:269
void setRotateSpd(s16 x, s16 y, s16 z)
Definition d_a_obj_Lv5Key.h:47
bool countdown()
Definition d_a_obj_Lv5Key.h:56
int Draw()
Definition d_a_obj_Lv5Key.cpp:276
int Init()
Definition d_a_obj_Lv5Key.cpp:32
bool is_open()
Definition d_a_obj_Lv5Key.h:61
s8 mShakeNum
Definition d_a_obj_Lv5Key.h:87
void setStatus(s8 status)
Definition d_a_obj_Lv5Key.h:58
void Land(int)
Definition d_a_obj_Lv5Key.cpp:201
s16 mMode
Definition d_a_obj_Lv5Key.h:82
Z2SoundObjSimple mSound
Definition d_a_obj_Lv5Key.h:70
csXyz mRotateSpd
Definition d_a_obj_Lv5Key.h:85
void calcRotateSpd()
Definition d_a_obj_Lv5Key.h:50
void decShakeNum()
Definition d_a_obj_Lv5Key.h:54
u8 field_0x568[0x56C - 0x568]
Definition d_a_obj_Lv5Key.h:69
request_of_phase_process_class mPhase
Definition d_a_obj_Lv5Key.h:74
dCcD_Sph mCcSph
Definition d_a_obj_Lv5Key.h:78
mDoExt_bckAnm mBck
Definition d_a_obj_Lv5Key.h:73
void setBgc()
Definition d_a_obj_Lv5Key.cpp:43
void keylock_open_start()
Definition d_a_obj_Lv5Key.h:59
bool is_shake_end()
Definition d_a_obj_Lv5Key.h:64
void Wait(int)
Definition d_a_obj_Lv5Key.cpp:115
s16 mTimer
Definition d_a_obj_Lv5Key.h:83
actionFunc mAction
Definition d_a_obj_Lv5Key.h:81
void initCcSph()
Definition d_a_obj_Lv5Key.cpp:51
Definition f_op_actor.h:230
csXyz shape_angle
Definition f_op_actor.h:252
Definition m_Do_ext.h:151
STATIC_ASSERT(sizeof(daObjLv5Key_c)==0x97c)
signed char s8
Definition types.h:7
signed short int s16
Definition types.h:9
float f32
Definition types.h:25
unsigned char u8
Definition types.h:8
double x double x
Definition e_atan2.c:58
double x double y
Definition e_atan2.c:58
z
Definition e_pow.c:390
static u32 status
Definition fstload.c:9
Definition c_xyz.h:7
void set(f32 pX, f32 pY, f32 pZ)
Definition c_xyz.h:97
Definition c_phase.h:17