Loading [MathJax]/extensions/tex2jax.js
Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
d_a_obj_lv3Water2.h
Go to the documentation of this file.
1#ifndef D_A_OBJ_LV3WATER2_H
2#define D_A_OBJ_LV3WATER2_H
3
5#include "d/d_event_lib.h"
7
9 u8 a[8];
10};
11
21public:
24
25 /* 80C5A478 */ void setBaseMtx();
26 /* 80C5A4F8 */ int CreateHeap();
27 /* 80C5A5E4 */ cPhs__Step create();
28 /* 80C5A844 */ int Execute(Mtx**);
29 /* 80C5AC10 */ void mode_proc_wait();
30 /* 80C5ACB8 */ void mode_init_levelCtrl();
31 /* 80C5ACE4 */ void mode_proc_levelCtrl();
32 /* 80C5ADA4 */ int Draw();
33 /* 80C5AEFC */ int Delete();
34 /* 80C5AF3C */ bool eventStart();
35
36private:
38 /* 0x5C0 */ J3DModel* mpModel;
40 /* 0x5DC */ u8 mMode;
41 /* 0x5DD */ u8 mResourceIndex;
42 /* 0x5E0 */ f32 mWaterLv;
44 /* 0x5E5 */ u8 mWaterLvFrame;
45 /* 0x5E6 */ u8 mFullRatio;
46 /* 0x5E7 */ u8 mEastSwInitialStatus; // East SW is the lever in the east-most room on 2F, which can only be pulled after raising the water level in that room by pulling the lever in 4F
47 /* 0x5E8 */ u8 mWestSwInitialStatus; // West SW is the lever in the west-most room on 2F, which can only be pulled after raising the water level in that room by pulling the lever in 4F
51 /* 0x5EC */ f32 mBaseYPos;
52 /* 0x5F0 */ u32 mEastWaterParticles[4]; // If the central staircase isn't rotated to allow water from the east to flow down it, the water falls into the basin; these are the splash particles where the basin water and falling water meet
53 /* 0x600 */ u32 mWestWaterParticles[4]; // If the central staircase isn't rotated to allow water from the west to flow down it, the water falls into the basin; these are the splash particles where the basin water and falling water meet
54
58
60 return fopAcM_GetParamBit(this, 4, 12);
61 }
62
64 return (shape_angle.x & 0xFF00) >> 8;
65 }
66
68 return shape_angle.x & 0xFF;
69 }
70
71 u32 getParam(int shift, int bit) {
72 return fopAcM_GetParamBit(this, shift, bit);
73 }
74
76 return fopAcM_GetParamBit(this, 24, 8);
77 }
78
80 return fopAcM_GetParamBit(this, 16, 8);
81 }
82
84 return (shape_angle.z & 0xFF00) >> 8;
85 }
86
88 return shape_angle.z & 0xFF;
89 }
90};
91
92STATIC_ASSERT(sizeof(daLv3Water2_c) == 0x610);
93
95 /* 80C5A40C */ daLv3Water2_HIO_c();
96 /* 80C5B14C */ ~daLv3Water2_HIO_c() {}
97
99
101};
102
103
104#endif /* D_A_OBJ_LV3WATER2_H */
u32 shift
Definition GXTev.c:9
cPhs__Step
Definition c_phase.h:8
Definition JORMContext.h:96
Definition d_bg_s_movebg_actor.h:10
Definition d_event_lib.h:24
Lakebed Temple Central Room Water.
Definition d_a_obj_lv3Water2.h:20
J3DModel * mpModel
Definition d_a_obj_lv3Water2.h:38
cPhs__Step create()
Definition d_a_obj_lv3Water2.cpp:103
u8 mMode
Definition d_a_obj_lv3Water2.h:40
u8 mWestSwInitialStatus
Definition d_a_obj_lv3Water2.h:47
void mode_init_levelCtrl()
Definition d_a_obj_lv3Water2.cpp:185
u8 mWestSwCurrentStatus
Definition d_a_obj_lv3Water2.h:49
int getParamEvent2()
Definition d_a_obj_lv3Water2.h:75
int getParamEvent()
Definition d_a_obj_lv3Water2.h:79
u8 mWaterLvFrame
Definition d_a_obj_lv3Water2.h:44
u8 mEastSwCurrentStatus
Definition d_a_obj_lv3Water2.h:48
int Execute(Mtx **)
Definition d_a_obj_lv3Water2.cpp:137
int getParamLevel1()
Definition d_a_obj_lv3Water2.h:59
int Delete()
Definition d_a_obj_lv3Water2.cpp:249
daLv3Water2_c()
Definition d_a_obj_lv3Water2.h:22
int getParamSw1()
Definition d_a_obj_lv3Water2.h:67
int Draw()
Definition d_a_obj_lv3Water2.cpp:215
u8 mCurrentWaterLvFrame
Definition d_a_obj_lv3Water2.h:43
u8 mFullRatio
Definition d_a_obj_lv3Water2.h:45
f32 mBaseYPos
Definition d_a_obj_lv3Water2.h:51
bool eventStart()
Definition d_a_obj_lv3Water2.cpp:260
void mode_proc_wait()
Definition d_a_obj_lv3Water2.cpp:169
u8 mResourceIndex
Definition d_a_obj_lv3Water2.h:41
request_of_phase_process_class mPhase
Definition d_a_obj_lv3Water2.h:37
u8 mEastSwInitialStatus
Definition d_a_obj_lv3Water2.h:46
u32 mEastWaterParticles[4]
Definition d_a_obj_lv3Water2.h:52
int getParamFrame2()
Definition d_a_obj_lv3Water2.h:83
u8 mLevelControlWaitFrames
Definition d_a_obj_lv3Water2.h:50
mDoExt_btkAnm mWaterSurfaceRefractionAnm
Definition d_a_obj_lv3Water2.h:39
void setBaseMtx()
Definition d_a_obj_lv3Water2.cpp:70
~daLv3Water2_c()
Definition d_a_obj_lv3Water2.h:23
void mode_proc_levelCtrl()
Definition d_a_obj_lv3Water2.cpp:193
Mode_e
Definition d_a_obj_lv3Water2.h:55
@ WAIT
Definition d_a_obj_lv3Water2.h:56
@ LEVEL_CTRL
Definition d_a_obj_lv3Water2.h:56
int getParamFrame1()
Definition d_a_obj_lv3Water2.h:87
u32 mWestWaterParticles[4]
Definition d_a_obj_lv3Water2.h:53
u32 getParam(int shift, int bit)
Definition d_a_obj_lv3Water2.h:71
f32 mWaterLv
Definition d_a_obj_lv3Water2.h:42
int CreateHeap()
Definition d_a_obj_lv3Water2.cpp:89
int getParamSw2()
Definition d_a_obj_lv3Water2.h:63
Definition m_Do_hostIO.h:27
STATIC_ASSERT(sizeof(daLv3Water2_c)==0x610)
u32 fopAcM_GetParamBit(void *ac, u8 shift, u8 bit)
Definition f_op_actor_mng.h:190
f32 Mtx[3][4]
Definition mtx.h:22
Definition d_a_hozelda.cpp:146
s16 x
Definition c_sxyz.h:7
s16 z
Definition c_sxyz.h:7
Definition d_a_obj_lv3Water2.h:94
u8 mLevelControlWaitFrames
Definition d_a_obj_lv3Water2.h:100
void genMessage(JORMContext *)
Definition d_a_obj_lv3Water2.cpp:26
~daLv3Water2_HIO_c()
Definition d_a_obj_lv3Water2.h:96
daLv3Water2_HIO_c()
Definition d_a_obj_lv3Water2.cpp:21
Definition d_a_obj_lv3Water2.h:8
u8 a[8]
Definition d_a_obj_lv3Water2.h:9
csXyz shape_angle
Definition f_op_actor.h:222
Definition d_a_hozelda.cpp:47
Definition d_a_hozelda.cpp:14
unsigned long u32
Definition types.h:9
float f32
Definition types.h:22
unsigned char u8
Definition types.h:5