Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_tag_TWgate.h
Go to the documentation of this file.
1#ifndef D_A_TAG_TWGATE_H
2#define D_A_TAG_TWGATE_H
3
4#include "d/d_msg_flow.h"
7
8class daTagTWGate_c;
10
11class daTagTWGate_c : public fopAc_ac_c {
12public:
13 enum EType {
14 /* 0x0 */ TYPE_FILONE,
15 /* 0x1 */ TYPE_ORDIN,
16 /* 0x2 */ TYPE_RANAIL,
17 /* 0x3 */ TYPE_HYRAL,
18 };
19
20 enum EAction {
21 /* 0x00 */ ACT_WAIT,
25 /* 0x04 */ ACT_DEMO_ORDIN_1,
26 /* 0x05 */ ACT_DEMO_ORDIN_2,
27 /* 0x06 */ ACT_DEMO_ORDIN_3,
31 /* 0x0A */ ACT_DEMO_HYRAL_1,
32 /* 0x0B */ ACT_DEMO_HYRAL_2,
33 /* 0x0C */ ACT_DEMO_HYRAL_3,
34 };
35
36 inline ~daTagTWGate_c();
37
38 /* 80D525F8 */ void initWait();
39 /* 80D52604 */ void executeWait();
40 /* 80D528F0 */ void initDemoFilone1();
41 /* 80D5297C */ void executeDemoFilone1();
42 /* 80D52AF4 */ void initDemoFilone2();
43 /* 80D52BF0 */ void executeDemoFilone2();
44 /* 80D52DB4 */ void initDemoFilone3();
45 /* 80D52E7C */ void executeDemoFilone3();
46 /* 80D53250 */ void initDemoOrdin1();
47 /* 80D532DC */ void executeDemoOrdin1();
48 /* 80D53454 */ void initDemoOrdin2();
49 /* 80D53550 */ void executeDemoOrdin2();
50 /* 80D53714 */ void initDemoOrdin3();
51 /* 80D537DC */ void executeDemoOrdin3();
52 /* 80D53BD0 */ void initDemoRanail1();
53 /* 80D53C5C */ void executeDemoRanail1();
54 /* 80D53DD4 */ void initDemoRanail2();
55 /* 80D53ED0 */ void executeDemoRanail2();
56 /* 80D54094 */ void initDemoRanail3();
57 /* 80D54178 */ void executeDemoRanail3();
58 /* 80D5456C */ void initDemoHyral1();
59 /* 80D545F8 */ void executeDemoHyral1();
60 /* 80D54770 */ void initDemoHyral2();
61 /* 80D5486C */ void executeDemoHyral2();
62 /* 80D54A30 */ void initDemoHyral3();
63 /* 80D54AF8 */ void executeDemoHyral3();
64 /* 80D54ECC */ void initBaseMtx();
65 /* 80D54F88 */ int downloadModels();
66 /* 80D5502C */ void initTalk(int, fopAc_ac_c**);
67 /* 80D55068 */ bool talkProc(int*, int, fopAc_ac_c**);
68 /* 80D55160 */ static int createHeapCallBack(fopAc_ac_c*);
69 /* 80D55180 */ int CreateHeap();
70
71 u8 getSwitch() { return fopAcM_GetParam(this) >> 8; }
72 u8 getType() { return fopAcM_GetParam(this); }
73
74 inline int create();
75
76 void create_init() {
77 field_0x5e0 = 0;
78 mActionID = 0;
80 (this->**mAction)();
81 }
82
83 void callExecute() {
84 (this->*mAction[1])();
86 }
87
88 int execute() {
90
91 if (field_0x5e0 != 0) {
92 mpMorf->play(0, 0);
94 }
95 return 1;
96 }
97
98 int draw() {
99 if (field_0x5e0 != 0) {
100 mpMorf->entryDL();
101 }
102 return 1;
104
105 void callInit() {
106 (this->*(*mAction))();
107 }
108
114
115 static u8 const mAttr[1];
116 static actionFunc ActionTable[13][2];
117
118private:
123 /* 0x584 */ actionFunc* mAction;
124 /* 0x588 */ int mActionID;
125 /* 0x58C */ dMsgFlow_c mMsgFlow;
126 /* 0x5D8 */ u8 field_0x5d8[4];
127 /* 0x5DC */ s16 mEventID;
128 /* 0x5DE */ u8 field_0x5de;
129 /* 0x5DF */ bool mIsWolf;
130 /* 0x5E0 */ u8 field_0x5e0;
131 /* 0x5E1 */ u8 field_0x5e1;
132 /* 0x5E2 */ u8 mType;
133};
134
135#endif /* D_A_TAG_TWGATE_H */
@ Z2SE_OBJ_DARK_GATE
Definition Z2SeMgr.h:3586
T cLib_calcTimer(T *value)
Definition c_lib.h:74
Definition d_a_tag_TWgate.h:11
u8 field_0x5e1
Definition d_a_tag_TWgate.h:131
void initDemoHyral3()
Definition d_a_tag_TWgate.cpp:873
u8 getType()
Definition d_a_tag_TWgate.h:72
request_of_phase_process_class mPhaseMdRes
Definition d_a_tag_TWgate.h:121
static u8 const mAttr[1]
Definition d_a_tag_TWgate.h:29
void executeDemoOrdin2()
Definition d_a_tag_TWgate.cpp:447
int mActionID
Definition d_a_tag_TWgate.h:124
void create_init()
Definition d_a_tag_TWgate.h:76
void initDemoHyral1()
Definition d_a_tag_TWgate.cpp:778
void setAction(EAction action)
Definition d_a_tag_TWgate.h:109
void initDemoRanail2()
Definition d_a_tag_TWgate.cpp:622
int downloadModels()
Definition d_a_tag_TWgate.cpp:975
bool talkProc(int *, int, fopAc_ac_c **)
Definition d_a_tag_TWgate.cpp:1000
void initTalk(int, fopAc_ac_c **)
Definition d_a_tag_TWgate.cpp:994
void executeDemoFilone2()
Definition d_a_tag_TWgate.cpp:245
void executeDemoRanail3()
Definition d_a_tag_TWgate.cpp:695
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_tag_TWgate.cpp:1027
request_of_phase_process_class mPhasePyRes
Definition d_a_tag_TWgate.h:122
request_of_phase_process_class mPhaseZevArc
Definition d_a_tag_TWgate.h:120
int draw()
Definition d_a_tag_TWgate.h:98
void executeDemoFilone1()
Definition d_a_tag_TWgate.cpp:189
void initDemoFilone1()
Definition d_a_tag_TWgate.cpp:182
void executeDemoFilone3()
Definition d_a_tag_TWgate.cpp:304
void executeDemoRanail1()
Definition d_a_tag_TWgate.cpp:593
void initDemoOrdin2()
Definition d_a_tag_TWgate.cpp:431
void executeDemoHyral2()
Definition d_a_tag_TWgate.cpp:830
u8 field_0x5e0
Definition d_a_tag_TWgate.h:130
void initDemoRanail1()
Definition d_a_tag_TWgate.cpp:586
u8 field_0x5d8[4]
Definition d_a_tag_TWgate.h:126
void initDemoHyral2()
Definition d_a_tag_TWgate.cpp:814
int execute()
Definition d_a_tag_TWgate.h:88
void initDemoFilone3()
Definition d_a_tag_TWgate.cpp:292
void executeDemoOrdin3()
Definition d_a_tag_TWgate.cpp:503
void initBaseMtx()
Definition d_a_tag_TWgate.cpp:957
bool mIsWolf
Definition d_a_tag_TWgate.h:129
dMsgFlow_c mMsgFlow
Definition d_a_tag_TWgate.h:125
void initWait()
Definition d_a_tag_TWgate.cpp:24
EAction
Definition d_a_tag_TWgate.h:20
@ ACT_DEMO_RANAIL_2
Definition d_a_tag_TWgate.h:29
@ ACT_DEMO_HYRAL_2
Definition d_a_tag_TWgate.h:32
@ ACT_DEMO_HYRAL_1
Definition d_a_tag_TWgate.h:31
@ ACT_DEMO_ORDIN_3
Definition d_a_tag_TWgate.h:27
@ ACT_DEMO_FILONE_2
Definition d_a_tag_TWgate.h:23
@ ACT_DEMO_FILONE_1
Definition d_a_tag_TWgate.h:22
@ ACT_WAIT
Definition d_a_tag_TWgate.h:21
@ ACT_DEMO_HYRAL_3
Definition d_a_tag_TWgate.h:33
@ ACT_DEMO_ORDIN_1
Definition d_a_tag_TWgate.h:25
@ ACT_DEMO_FILONE_3
Definition d_a_tag_TWgate.h:24
@ ACT_DEMO_ORDIN_2
Definition d_a_tag_TWgate.h:26
@ ACT_DEMO_RANAIL_1
Definition d_a_tag_TWgate.h:28
@ ACT_DEMO_RANAIL_3
Definition d_a_tag_TWgate.h:30
u8 field_0x5de
Definition d_a_tag_TWgate.h:128
void executeDemoRanail2()
Definition d_a_tag_TWgate.cpp:638
u8 getSwitch()
Definition d_a_tag_TWgate.h:71
void initDemoOrdin1()
Definition d_a_tag_TWgate.cpp:395
void initDemoOrdin3()
Definition d_a_tag_TWgate.cpp:491
void initDemoRanail3()
Definition d_a_tag_TWgate.cpp:682
void executeWait()
Definition d_a_tag_TWgate.cpp:120
int create()
Definition d_a_tag_TWgate.cpp:1051
mDoExt_McaMorfSO * mpMorf
Definition d_a_tag_TWgate.h:119
void callExecute()
Definition d_a_tag_TWgate.h:83
u8 mType
Definition d_a_tag_TWgate.h:132
int CreateHeap()
Definition d_a_tag_TWgate.cpp:1032
s16 mEventID
Definition d_a_tag_TWgate.h:127
~daTagTWGate_c()
Definition d_a_tag_TWgate.cpp:1075
void executeDemoOrdin1()
Definition d_a_tag_TWgate.cpp:402
void executeDemoHyral3()
Definition d_a_tag_TWgate.cpp:885
EType
Definition d_a_tag_TWgate.h:13
@ TYPE_HYRAL
Definition d_a_tag_TWgate.h:17
@ TYPE_ORDIN
Definition d_a_tag_TWgate.h:15
@ TYPE_RANAIL
Definition d_a_tag_TWgate.h:16
@ TYPE_FILONE
Definition d_a_tag_TWgate.h:14
void callInit()
Definition d_a_tag_TWgate.h:105
static actionFunc ActionTable[13][2]
Definition d_a_tag_TWgate.h:103
void executeDemoHyral1()
Definition d_a_tag_TWgate.cpp:785
void initDemoFilone2()
Definition d_a_tag_TWgate.cpp:227
actionFunc * mAction
Definition d_a_tag_TWgate.h:123
static void action(b_bh_class *param_0)
Definition d_a_b_bh.cpp:886
void(daTagTWGate_c::* actionFunc)()
Definition d_a_tag_TWgate.h:9
u32 fopAcM_GetParam(const void *pActor)
Definition f_op_actor_mng.h:224
void mDoAud_seStartLevel(u32 i_sfxID, const Vec *i_sePos, u32 param_2, s8 i_reverb)
Definition m_Do_audio.h:89
cXyz pos
Definition f_op_actor.h:170
Definition d_a_obj_sekizoa.cpp:318
Definition d_a_ep.cpp:19
actor_place current
Definition f_op_actor.h:215
Definition d_a_npc_fguard.cpp:23
void play(u32, s8)
Definition m_Do_ext.cpp:1542
void entryDL()
Definition m_Do_ext.cpp:1571
void modelCalc()
Definition m_Do_ext.cpp:1579
Definition d_a_hozelda.cpp:14
signed short s16
Definition types.h:5
unsigned char u8
Definition types.h:8