Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
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
17public:
20
21 void setBaseMtx();
22 int CreateHeap();
24 int Execute(Mtx**);
25 void mode_proc_wait();
28 int Draw();
29 int Delete();
30 bool eventStart();
31
32private:
34 /* 0x5C0 */ J3DModel* mpModel;
35 /* 0x5C4 */ mDoExt_btkAnm mRefractionAnm; // Applied to water surface
36 /* 0x5DC */ u8 mMode;
37 /* 0x5DD */ u8 mResIdx;
38 /* 0x5E0 */ f32 mWaterLv; // Amount that the water's y coodinate should increase
39 /* 0x5E4 */ u8 mCurrentWaterLvFrame; // Number of frames that the water level has been changing
40 /* 0x5E5 */ u8 mWaterLvFrame; // Number of frames that should be taken for the water level to change
42 /* 0x5E7 */ u8 mEastSwInitialState; // 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
43 /* 0x5E8 */ u8 mWestSwInitialState; // 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
47 /* 0x5EC */ f32 mBaseYPos;
48 /* 0x5F0 */ u32 mEastParticles[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
49 /* 0x600 */ u32 mWestParticles[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
50
54
56 return fopAcM_GetParamBit(this, 4, 12);
57 }
58
60 return (shape_angle.x & 0xFF00) >> 8;
61 }
62
64 return shape_angle.x & 0xFF;
65 }
66
67 u32 getParam(int shift, int bit) {
68 return fopAcM_GetParamBit(this, shift, bit);
69 }
70
72 return fopAcM_GetParamBit(this, 24, 8);
73 }
74
76 return fopAcM_GetParamBit(this, 16, 8);
77 }
78
80 return (shape_angle.z & 0xFF00) >> 8;
81 }
82
84 return shape_angle.z & 0xFF;
85 }
86};
87
88STATIC_ASSERT(sizeof(daLv3Water2_c) == 0x610);
89
90#endif /* D_A_OBJ_LV3WATER2_H */
int cPhs_Step
Definition c_phase.h:8
Definition J3DModel.h:43
Definition d_bg_s_movebg_actor.h:11
Definition d_event_lib.h:24
Lakebed Temple Central Room Water.
Definition d_a_obj_lv3Water2.h:16
u8 mEvActivatorSwState
Definition d_a_obj_lv3Water2.h:41
J3DModel * mpModel
Definition d_a_obj_lv3Water2.h:34
u8 mMode
Definition d_a_obj_lv3Water2.h:36
u8 mWestSwCurrentState
Definition d_a_obj_lv3Water2.h:45
u32 mEastParticles[4]
Definition d_a_obj_lv3Water2.h:48
void mode_init_levelCtrl()
Definition d_a_obj_lv3Water2.cpp:152
mDoExt_btkAnm mRefractionAnm
Definition d_a_obj_lv3Water2.h:35
u8 mWestSwInitialState
Definition d_a_obj_lv3Water2.h:43
int getParamEvent2()
Definition d_a_obj_lv3Water2.h:71
int getParamEvent()
Definition d_a_obj_lv3Water2.h:75
u8 mWaterLvFrame
Definition d_a_obj_lv3Water2.h:40
int Execute(Mtx **)
Definition d_a_obj_lv3Water2.cpp:107
int getParamLevel1()
Definition d_a_obj_lv3Water2.h:55
int Delete()
Definition d_a_obj_lv3Water2.cpp:232
daLv3Water2_c()
Definition d_a_obj_lv3Water2.h:18
int getParamSw1()
Definition d_a_obj_lv3Water2.h:63
int Draw()
Definition d_a_obj_lv3Water2.cpp:182
u8 mCurrentWaterLvFrame
Definition d_a_obj_lv3Water2.h:39
f32 mBaseYPos
Definition d_a_obj_lv3Water2.h:47
bool eventStart()
Definition d_a_obj_lv3Water2.cpp:242
void mode_proc_wait()
Definition d_a_obj_lv3Water2.cpp:137
request_of_phase_process_class mPhase
Definition d_a_obj_lv3Water2.h:33
u32 mWestParticles[4]
Definition d_a_obj_lv3Water2.h:49
int getParamFrame2()
Definition d_a_obj_lv3Water2.h:79
u8 mEastSwInitialState
Definition d_a_obj_lv3Water2.h:42
u8 mEastSwCurrentState
Definition d_a_obj_lv3Water2.h:44
u8 mLvControlWaitFrames
Definition d_a_obj_lv3Water2.h:46
void setBaseMtx()
Definition d_a_obj_lv3Water2.cpp:44
~daLv3Water2_c()
Definition d_a_obj_lv3Water2.h:19
void mode_proc_levelCtrl()
Definition d_a_obj_lv3Water2.cpp:159
Mode_e
Definition d_a_obj_lv3Water2.h:51
@ WAIT
Definition d_a_obj_lv3Water2.h:52
@ LEVEL_CTRL
Definition d_a_obj_lv3Water2.h:52
cPhs_Step create()
Definition d_a_obj_lv3Water2.cpp:71
int getParamFrame1()
Definition d_a_obj_lv3Water2.h:83
u8 mResIdx
Definition d_a_obj_lv3Water2.h:37
u32 getParam(int shift, int bit)
Definition d_a_obj_lv3Water2.h:67
f32 mWaterLv
Definition d_a_obj_lv3Water2.h:38
int CreateHeap()
Definition d_a_obj_lv3Water2.cpp:58
int getParamSw2()
Definition d_a_obj_lv3Water2.h:59
csXyz shape_angle
Definition f_op_actor.h:265
Definition m_Do_ext.h:63
STATIC_ASSERT(sizeof(daLv3Water2_c)==0x610)
u32 shift
Definition GXTev.c:9
f32 Mtx[3][4]
Definition mtx.h:25
u32 fopAcM_GetParamBit(void *ac, u8 shift, u8 bit)
Definition f_op_actor_mng.h:208
unsigned long u32
Definition types.h:12
float f32
Definition types.h:25
unsigned char u8
Definition types.h:8
s16 x
Definition c_sxyz.h:7
s16 z
Definition c_sxyz.h:7
Definition c_phase.h:19