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_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
23class daObjCatDoor_c : public fopAc_ac_c {
24public:
25 inline ~daObjCatDoor_c();
26
27 /* 80BC42B8 */ const s16* attr() const;
28 /* 80BC43F4 */ void initBaseMtx();
29 /* 80BC4454 */ void setBaseMtx();
30 /* 80BC4560 */ void calcOpen();
31
32 u8 getSwitchNo() { return fopAcM_GetParam(this); }
33
34 inline int createHeap();
35 inline int draw();
36 inline int execute();
37 inline int create();
38 inline void create_init();
39
41 mDoor1.angle = 0x8800;
42 mDoor2.angle = 0x7800;
43 setBaseMtx();
45 }
46
47 void setDoorOpen() {
48 mRotSpeed = attr()[1];
49 dBgW* bgw1 = &mDoor1.bgw;
50 if (bgw1->ChkUsed()) {
51 dComIfG_Bgsp().Release(bgw1);
52 }
53
54 dBgW* bgw2 = &mDoor2.bgw;
55 if (bgw2->ChkUsed()) {
56 dComIfG_Bgsp().Release(bgw2);
57 }
58
59 Z2GetAudioMgr()->seStart(Z2SE_OBJ_GZ_NE_DOOR_OP, &current.pos, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
60 }
61
62private:
66 /* 0x760 */ Mtx mMtx;
67 /* 0x790 */ s16 mRotSpeed;
68
69public:
70 static u32 const M_attr;
71};
72
73#endif /* D_A_OBJ_CATDOOR_H */
Z2AudioMgr * Z2GetAudioMgr()
Definition Z2AudioMgr.h:53
@ Z2SE_OBJ_GZ_NE_DOOR_OP
Definition Z2SeMgr.h:3971
bool seStart(JAISoundID, Vec const *, u32, s8, f32, f32, f32, f32, u8)
Definition Z2SeMgr.cpp:113
bool ChkUsed() const
Definition c_bg_w.cpp:19
Definition d_bg_w.h:254
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
Cat Door.
Definition d_a_obj_catdoor.h:23
s16 mRotSpeed
Definition d_a_obj_catdoor.h:67
void calcOpen()
Definition d_a_obj_catdoor.cpp:144
Mtx mMtx
Definition d_a_obj_catdoor.h:66
request_of_phase_process_class mPhaseReq
Definition d_a_obj_catdoor.h:63
u8 getSwitchNo()
Definition d_a_obj_catdoor.h:32
void create_init()
Definition d_a_obj_catdoor.cpp:99
int execute()
Definition d_a_obj_catdoor.cpp:64
void setBaseMtx()
Definition d_a_obj_catdoor.cpp:126
int draw()
Definition d_a_obj_catdoor.cpp:50
void initBaseMtx()
Definition d_a_obj_catdoor.cpp:117
void _toDoorOpened()
Definition d_a_obj_catdoor.h:40
const s16 * attr() const
Definition d_a_obj_catdoor.cpp:76
daObjCatDoor_Door_c mDoor2
Definition d_a_obj_catdoor.h:65
int create()
Definition d_a_obj_catdoor.cpp:85
~daObjCatDoor_c()
Definition d_a_obj_catdoor.cpp:17
daObjCatDoor_Door_c mDoor1
Definition d_a_obj_catdoor.h:64
void setDoorOpen()
Definition d_a_obj_catdoor.h:47
int createHeap()
Definition d_a_obj_catdoor.cpp:27
static u32 const M_attr
Definition d_a_obj_catdoor.h:70
dBgS & dComIfG_Bgsp()
Definition d_com_inf_game.h:965
u32 fopAcM_GetParam(const void *i_actor)
Definition f_op_actor_mng.h:182
void fopAcM_onSwitch(const fopAc_ac_c *i_actor, int sw)
Definition f_op_actor_mng.h:407
f32 Mtx[3][4]
Definition mtx.h:22
Definition d_a_hozelda.cpp:146
cXyz pos
Definition f_op_actor.h:171
bool Release(dBgW_Base *)
Definition d_bg_s.cpp:73
Definition d_a_hozelda.cpp:74
actor_place current
Definition f_op_actor.h:221
Definition d_a_hozelda.cpp:14
unsigned long u32
Definition types.h:9
signed short int s16
Definition types.h:6
unsigned char u8
Definition types.h:5