Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_obj_catdoor.h
Go to the documentation of this file.
1#ifndef D_A_OBJ_CATDOOR_H
2#define D_A_OBJ_CATDOOR_H
3
5#include "d/d_bg_w.h"
6
8public:
9 /* 0x00 */ J3DModel* pmodel;
10 /* 0x04 */ dBgW bgw;
11 /* 0xe0 */ Mtx mtx;
12 /* 0xf4 */ s16 angle;
13};
14
16public:
17 /* 0x0 */ s16 speed;
18 /* 0x2 */ s16 decay_rate;
19};
20
22public:
25
26 void genMessage(JORMContext*);
27
28 void ct();
29 void dt();
31
32 /* 0x8 */ int field_0x8;
34};
35
44class daObjCatDoor_c : public fopAc_ac_c {
45public:
46 inline ~daObjCatDoor_c();
47
48 const daObjCatDoor_Attr_c* attr() const;
49 void initBaseMtx();
50 void setBaseMtx();
51 void calcOpen();
52
53 u8 getSwitchNo() { return fopAcM_GetParam(this); }
54
55 inline int createHeap();
56 inline int draw();
57 inline int execute();
58 inline int create();
59 inline void create_init();
60
62 mDoor1.angle = 0x8800;
63 mDoor2.angle = 0x7800;
64 setBaseMtx();
66 }
67
68 void setDoorOpen() {
70 dBgW* bgw1 = &mDoor1.bgw;
71 if (bgw1->ChkUsed()) {
72 dComIfG_Bgsp().Release(bgw1);
73 }
74
75 dBgW* bgw2 = &mDoor2.bgw;
76 if (bgw2->ChkUsed()) {
77 dComIfG_Bgsp().Release(bgw2);
78 }
79
80 Z2GetAudioMgr()->seStart(Z2SE_OBJ_GZ_NE_DOOR_OP, &current.pos, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
81 }
82
83private:
87 /* 0x760 */ Mtx mMtx;
88 /* 0x790 */ s16 mRotSpeed;
89
90public:
91 static const daObjCatDoor_Attr_c M_attr;
92};
93
94#endif /* D_A_OBJ_CATDOOR_H */
Z2AudioMgr * Z2GetAudioMgr()
Definition Z2AudioMgr.h:58
@ Z2SE_OBJ_GZ_NE_DOOR_OP
Definition Z2SeMgr.h:3979
bool seStart(JAISoundID soundID, const Vec *posPtr, u32, s8 reverb, f32 pitch, f32 volume, f32 pan, f32 dolby, u8)
Definition Z2SeMgr.cpp:117
bool Release(dBgW_Base *)
Definition d_bg_s.cpp:197
bool ChkUsed() const
Definition c_bg_w.cpp:16
Definition d_bg_w.h:262
Definition d_a_obj_catdoor.h:15
s16 speed
Definition d_a_obj_catdoor.h:17
s16 decay_rate
Definition d_a_obj_catdoor.h:18
Definition d_a_obj_catdoor.h:7
Mtx mtx
Definition d_a_obj_catdoor.h:11
dBgW bgw
Definition d_a_obj_catdoor.h:10
J3DModel * pmodel
Definition d_a_obj_catdoor.h:9
s16 angle
Definition d_a_obj_catdoor.h:12
Definition d_a_obj_catdoor.h:21
void genMessage(JORMContext *)
int field_0x8
Definition d_a_obj_catdoor.h:32
daObjCatDoor_Attr_c m_attr
Definition d_a_obj_catdoor.h:33
Cat Door.
Definition d_a_obj_catdoor.h:44
s16 mRotSpeed
Definition d_a_obj_catdoor.h:88
void calcOpen()
Definition d_a_obj_catdoor.cpp:144
Mtx mMtx
Definition d_a_obj_catdoor.h:87
request_of_phase_process_class mPhaseReq
Definition d_a_obj_catdoor.h:84
u8 getSwitchNo()
Definition d_a_obj_catdoor.h:53
void create_init()
Definition d_a_obj_catdoor.cpp:98
int execute()
Definition d_a_obj_catdoor.cpp:65
void setBaseMtx()
Definition d_a_obj_catdoor.cpp:125
int draw()
Definition d_a_obj_catdoor.cpp:51
void initBaseMtx()
Definition d_a_obj_catdoor.cpp:117
static const daObjCatDoor_Attr_c M_attr
Definition d_a_obj_catdoor.h:13
const daObjCatDoor_Attr_c * attr() const
Definition d_a_obj_catdoor.cpp:75
void _toDoorOpened()
Definition d_a_obj_catdoor.h:61
daObjCatDoor_Door_c mDoor2
Definition d_a_obj_catdoor.h:86
int create()
Definition d_a_obj_catdoor.cpp:84
~daObjCatDoor_c()
Definition d_a_obj_catdoor.cpp:18
daObjCatDoor_Door_c mDoor1
Definition d_a_obj_catdoor.h:85
void setDoorOpen()
Definition d_a_obj_catdoor.h:68
int createHeap()
Definition d_a_obj_catdoor.cpp:30
Definition f_op_actor.h:271
actor_place current
Definition f_op_actor.h:292
Definition m_Do_hostIO.h:26
dBgS & dComIfG_Bgsp()
Definition d_com_inf_game.h:4293
u32 fopAcM_GetParam(const void *i_actor)
Definition f_op_actor_mng.h:172
void fopAcM_onSwitch(const fopAc_ac_c *i_actor, int sw)
Definition f_op_actor_mng.h:434
cXyz pos
Definition f_op_actor.h:246
Definition c_phase.h:19