Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_obj_lv3Water.h
Go to the documentation of this file.
1#ifndef D_A_OBJ_LV3WATER_H
2#define D_A_OBJ_LV3WATER_H
3
5#include "d/d_event_lib.h"
7
18 public dEvLib_callback_c {
19public:
20 typedef void (daLv3Water_c::*modeFunc)();
21
22 enum Mode {
25 };
26
28
29 void setBaseMtx();
30 virtual int CreateHeap();
31 int create();
32 virtual int Execute(Mtx**);
33 void effectSet();
34 void mode_proc_wait();
37 virtual int Draw();
38 virtual int Delete();
39
40 virtual ~daLv3Water_c() {}
41 virtual bool eventStart();
42
43 int getParam(int shift, int bit) { return fopAcM_GetParamBit(this, shift, bit); }
44 int getParamEvent() { return shape_angle.x & 0xFF; }
45 int getParamType() { return (shape_angle.x & 0xFF00) >> 8; }
46 u8 getType() { return mType; }
47
48private:
50 /* 0x5C0 */ J3DModel* mpModel1;
51 /* 0x5C4 */ J3DModel* mpModel2;
52 /* 0x5C8 */ mDoExt_btkAnm mBtk1;
53 /* 0x5E0 */ mDoExt_btkAnm mBtk2;
54 /* 0x5F8 */ u8 mMode;
55 /* 0x5F9 */ u8 mType;
56 /* 0x5FC */ f32 mWaterLv; // Amount that the water's y coodinate should increase
57 /* 0x600 */ u8 mCurrentWaterLvFrame; // Number of frames that the water level has been changing
58 /* 0x601 */ u8 mWaterLvFrame; // Number of frames that should be taken for the water level to change
59 /* 0x602 */ u8 mSwInitialState;
60 /* 0x603 */ u8 mSwCurrentState;
62 /* 0x605 */ u8 mSwStatePostEvent; // Only when true (i.e event initiated water raising instead of lowering) should anything be drawn
63 /* 0x608 */ u32 mEmitterIDs[8];
64};
65
66STATIC_ASSERT(sizeof(daLv3Water_c) == 0x628);
67
68#endif /* D_A_OBJ_LV3WATER_H */
Definition J3DModel.h:43
Definition d_bg_s_movebg_actor.h:11
Definition d_event_lib.h:24
Lakebed Temple Water.
Definition d_a_obj_lv3Water.h:18
virtual bool eventStart()
Definition d_a_obj_lv3Water.cpp:417
u8 mSwCurrentState
Definition d_a_obj_lv3Water.h:60
mDoExt_btkAnm mBtk2
Definition d_a_obj_lv3Water.h:53
void(daLv3Water_c::*) modeFunc()
Definition d_a_obj_lv3Water.h:20
virtual ~daLv3Water_c()
Definition d_a_obj_lv3Water.h:40
int create()
Definition d_a_obj_lv3Water.cpp:124
int getParamType()
Definition d_a_obj_lv3Water.h:45
request_of_phase_process_class mPhase
Definition d_a_obj_lv3Water.h:49
virtual int Execute(Mtx **)
Definition d_a_obj_lv3Water.cpp:199
u8 mCurrentWaterLvFrame
Definition d_a_obj_lv3Water.h:57
u8 mSwStatePostEvent
Definition d_a_obj_lv3Water.h:62
u8 mMode
Definition d_a_obj_lv3Water.h:54
u8 mWaterLvFrame
Definition d_a_obj_lv3Water.h:58
void mode_init_levelCtrl()
Definition d_a_obj_lv3Water.cpp:301
mDoExt_btkAnm mBtk1
Definition d_a_obj_lv3Water.h:52
u8 getType()
Definition d_a_obj_lv3Water.h:46
u8 mSwInitialState
Definition d_a_obj_lv3Water.h:59
virtual int Draw()
Definition d_a_obj_lv3Water.cpp:336
u32 mEmitterIDs[8]
Definition d_a_obj_lv3Water.h:63
virtual int CreateHeap()
Definition d_a_obj_lv3Water.cpp:87
J3DModel * mpModel2
Definition d_a_obj_lv3Water.h:51
daLv3Water_c()
Definition d_a_obj_lv3Water.h:27
u8 mType
Definition d_a_obj_lv3Water.h:55
void effectSet()
Definition d_a_obj_lv3Water.cpp:216
f32 mWaterLv
Definition d_a_obj_lv3Water.h:56
J3DModel * mpModel1
Definition d_a_obj_lv3Water.h:50
u8 mLvControlWaitFrames
Definition d_a_obj_lv3Water.h:61
void mode_proc_wait()
Definition d_a_obj_lv3Water.cpp:290
void mode_proc_levelCtrl()
Definition d_a_obj_lv3Water.cpp:313
Mode
Definition d_a_obj_lv3Water.h:22
@ WAIT
Definition d_a_obj_lv3Water.h:23
@ LEVEL_CTRL
Definition d_a_obj_lv3Water.h:24
void setBaseMtx()
Definition d_a_obj_lv3Water.cpp:45
int getParam(int shift, int bit)
Definition d_a_obj_lv3Water.h:43
virtual int Delete()
Definition d_a_obj_lv3Water.cpp:407
int getParamEvent()
Definition d_a_obj_lv3Water.h:44
csXyz shape_angle
Definition f_op_actor.h:265
Definition m_Do_ext.h:63
STATIC_ASSERT(sizeof(daLv3Water_c)==0x628)
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
Definition c_phase.h:19