Loading [MathJax]/extensions/MathMenu.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_amiShutter.h
Go to the documentation of this file.
1#ifndef D_A_OBJ_AMISHUTTER_H
2#define D_A_OBJ_AMISHUTTER_H
3
5#include "d/d_event_lib.h"
7
8
20
22public:
23 typedef void (daAmiShutter_c::*modeProc)();
24
33
35 /* 80BA22E8 */ ~daAmiShutter_c() {};
36
37 /* 80BA155C */ void setBaseMtx();
38 /* 80BA15E4 */ int CreateHeap();
39 /* 80BA1650 */ cPhs__Step create();
40 /* 80BA182C */ int Execute(Mtx**);
41 /* 80BA1888 */ void moveShutter();
42 /* 80BA1974 */ BOOL playerAreaCheck();
43 /* 80BA1B4C */ void init_modeWait();
44 /* 80BA1B58 */ void modeWait();
45 /* 80BA1BCC */ void init_modeWaitEvent();
46 /* 80BA1BD8 */ void modeWaitEvent();
47 /* 80BA1C90 */ bool eventStart();
48 /* 80BA1CB4 */ void init_modeClose();
49 /* 80BA1D48 */ void modeClose();
50 /* 80BA1DCC */ void init_modeCloseEvent();
51 /* 80BA1E60 */ void modeCloseEvent();
52 /* 80BA1EEC */ void init_modeCloseEnd();
53 /* 80BA1F7C */ void modeCloseEnd();
54 /* 80BA1F80 */ void init_modeOpen();
55 /* 80BA2004 */ void modeOpen();
56 /* 80BA2080 */ int Draw();
57 /* 80BA2124 */ int Delete();
58
59
60 u8 getType() { return fopAcM_GetParamBit(this, 16, 4); }
61
62 u8 getSwBit() { return fopAcM_GetParamBit(this, 8, 8); }
63
64 int getEvent() { return fopAcM_GetParamBit(this, 0, 8); }
65
66 bool isShutterOpen() { return mOpen; }
67
68private:
70 /* 0x5c0 */ J3DModel* mpModel;
71 /* 0x5c4 */ u8 mMode;
72 /* 0x5c5 */ u8 mType;
73 /* 0x5c6 */ u8 mSwBit;
74 /* 0x5c7 */ u8 mSwitch;
75 /* 0x5c8 */ f32 mPosZ;
76 /* 0x5cc */ cXyz mPos;
77 /* 0x5d8 */ u8 mWaitTime;
78 /* 0x5d9 */ bool mOpen;
79};
80
81STATIC_ASSERT(sizeof(daAmiShutter_c) == 0x5dc);
82
84 /* 0x04 */ f32 mRange;
85 /* 0x08 */ f32 mMaxOpenSpeed;
86 /* 0x0c */ f32 mMaxCloseSpeed;
87 /* 0x10 */ u8 mWaitTime;
88 /* 0x11 */ u8 field_0x11;
89
90 /* 80BA14CC */ daAmiShutter_HIO_c();
91 /* 80BA21E0 */ ~daAmiShutter_HIO_c() {};
92
94};
95
96
97#endif /* D_A_OBJ_AMISHUTTER_H */
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
Drain Gate.
Definition d_a_obj_amiShutter.h:21
void modeWaitEvent()
Definition d_a_obj_amiShutter.cpp:181
f32 mPosZ
Definition d_a_obj_amiShutter.h:75
int Delete()
Definition d_a_obj_amiShutter.cpp:294
int Draw()
Definition d_a_obj_amiShutter.cpp:284
void modeCloseEvent()
Definition d_a_obj_amiShutter.cpp:236
bool isShutterOpen()
Definition d_a_obj_amiShutter.h:66
u8 mWaitTime
Definition d_a_obj_amiShutter.h:77
void init_modeWait()
Definition d_a_obj_amiShutter.cpp:161
int Execute(Mtx **)
Definition d_a_obj_amiShutter.cpp:114
void(daAmiShutter_c::*) modeProc()
Definition d_a_obj_amiShutter.h:23
~daAmiShutter_c()
Definition d_a_obj_amiShutter.h:35
bool mOpen
Definition d_a_obj_amiShutter.h:78
BOOL playerAreaCheck()
Definition d_a_obj_amiShutter.cpp:142
void init_modeClose()
Definition d_a_obj_amiShutter.cpp:205
u8 mSwitch
Definition d_a_obj_amiShutter.h:74
daAmiShutter_c()
Definition d_a_obj_amiShutter.h:34
void modeWait()
Definition d_a_obj_amiShutter.cpp:166
int getEvent()
Definition d_a_obj_amiShutter.h:64
void init_modeOpen()
Definition d_a_obj_amiShutter.cpp:267
u8 mType
Definition d_a_obj_amiShutter.h:72
void init_modeCloseEnd()
Definition d_a_obj_amiShutter.cpp:251
u8 mSwBit
Definition d_a_obj_amiShutter.h:73
cXyz mPos
Definition d_a_obj_amiShutter.h:76
void init_modeCloseEvent()
Definition d_a_obj_amiShutter.cpp:225
void modeOpen()
Definition d_a_obj_amiShutter.cpp:274
u8 mMode
Definition d_a_obj_amiShutter.h:71
bool eventStart()
Definition d_a_obj_amiShutter.cpp:196
void setBaseMtx()
Definition d_a_obj_amiShutter.cpp:45
u8 getSwBit()
Definition d_a_obj_amiShutter.h:62
void init_modeWaitEvent()
Definition d_a_obj_amiShutter.cpp:175
u8 getType()
Definition d_a_obj_amiShutter.h:60
request_of_phase_process_class mPhaseReq
Definition d_a_obj_amiShutter.h:69
J3DModel * mpModel
Definition d_a_obj_amiShutter.h:70
void modeClose()
Definition d_a_obj_amiShutter.cpp:214
cPhs__Step create()
Definition d_a_obj_amiShutter.cpp:70
Mode
Definition d_a_obj_amiShutter.h:25
@ MODE_CLOSE
Definition d_a_obj_amiShutter.h:28
@ MODE_OPEN
Definition d_a_obj_amiShutter.h:31
@ MODE_CLOSE_EVENT
Definition d_a_obj_amiShutter.h:29
@ MODE_WAIT
Definition d_a_obj_amiShutter.h:26
@ MODE_CLOSE_END
Definition d_a_obj_amiShutter.h:30
@ MODE_WAIT_EVENT
Definition d_a_obj_amiShutter.h:27
void modeCloseEnd()
Definition d_a_obj_amiShutter.cpp:261
void moveShutter()
Definition d_a_obj_amiShutter.cpp:125
int CreateHeap()
Definition d_a_obj_amiShutter.cpp:55
Definition m_Do_hostIO.h:27
STATIC_ASSERT(sizeof(daAmiShutter_c)==0x5dc)
u32 fopAcM_GetParamBit(void *ac, u8 shift, u8 bit)
Definition f_op_actor_mng.h:186
f32 Mtx[3][4]
Definition mtx.h:22
Definition d_a_hozelda.cpp:146
Definition d_a_hozelda.cpp:20
Definition d_a_obj_amiShutter.h:83
~daAmiShutter_HIO_c()
Definition d_a_obj_amiShutter.h:91
f32 mMaxOpenSpeed
Definition d_a_obj_amiShutter.h:85
daAmiShutter_HIO_c()
Definition d_a_obj_amiShutter.cpp:20
f32 mMaxCloseSpeed
Definition d_a_obj_amiShutter.h:86
f32 mRange
Definition d_a_obj_amiShutter.h:84
u8 mWaitTime
Definition d_a_obj_amiShutter.h:87
u8 field_0x11
Definition d_a_obj_amiShutter.h:88
void genMessage(JORMContext *)
Definition d_a_obj_amiShutter.cpp:29
Definition d_a_obj_amiShutter.h:17
u8 padding[8]
Definition d_a_obj_amiShutter.h:18
Definition d_a_hozelda.cpp:14
int BOOL
Definition types.h:30
float f32
Definition types.h:22
unsigned char u8
Definition types.h:5