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;
9typedef void (daTagTWGate_c::*actionFunc)();
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 Mode_e {
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 void initWait();
39 void executeWait();
40 void initDemoFilone1();
41 void executeDemoFilone1();
42 void initDemoFilone2();
43 void executeDemoFilone2();
44 void initDemoFilone3();
45 void executeDemoFilone3();
46 void initDemoOrdin1();
47 void executeDemoOrdin1();
48 void initDemoOrdin2();
49 void executeDemoOrdin2();
50 void initDemoOrdin3();
51 void executeDemoOrdin3();
52 void initDemoRanail1();
53 void executeDemoRanail1();
54 void initDemoRanail2();
55 void executeDemoRanail2();
56 void initDemoRanail3();
57 void executeDemoRanail3();
58 void initDemoHyral1();
59 void executeDemoHyral1();
60 void initDemoHyral2();
61 void executeDemoHyral2();
62 void initDemoHyral3();
63 void executeDemoHyral3();
64 void initBaseMtx();
65 int downloadModels();
66 void initTalk(int, fopAc_ac_c**);
67 bool talkProc(int*, int, fopAc_ac_c**);
68 static int createHeapCallBack(fopAc_ac_c*);
69 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;
103 }
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:3594
Definition d_msg_flow.h:49
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:822
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:30
void executeDemoOrdin2()
Definition d_a_tag_TWgate.cpp:409
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:732
void initDemoRanail2()
Definition d_a_tag_TWgate.cpp:579
int downloadModels()
Definition d_a_tag_TWgate.cpp:921
bool talkProc(int *, int, fopAc_ac_c **)
Definition d_a_tag_TWgate.cpp:943
void initTalk(int, fopAc_ac_c **)
Definition d_a_tag_TWgate.cpp:939
void executeDemoFilone2()
Definition d_a_tag_TWgate.cpp:218
void setAction(Mode_e action)
Definition d_a_tag_TWgate.h:109
void executeDemoRanail3()
Definition d_a_tag_TWgate.cpp:651
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_tag_TWgate.cpp:968
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:165
void initDemoFilone1()
Definition d_a_tag_TWgate.cpp:159
void executeDemoFilone3()
Definition d_a_tag_TWgate.cpp:274
void executeDemoRanail1()
Definition d_a_tag_TWgate.cpp:552
void initDemoOrdin2()
Definition d_a_tag_TWgate.cpp:394
void executeDemoHyral2()
Definition d_a_tag_TWgate.cpp:780
u8 field_0x5e0
Definition d_a_tag_TWgate.h:130
void initDemoRanail1()
Definition d_a_tag_TWgate.cpp:546
u8 field_0x5d8[4]
Definition d_a_tag_TWgate.h:126
void initDemoHyral2()
Definition d_a_tag_TWgate.cpp:765
int execute()
Definition d_a_tag_TWgate.h:88
void initDemoFilone3()
Definition d_a_tag_TWgate.cpp:263
void executeDemoOrdin3()
Definition d_a_tag_TWgate.cpp:464
void initBaseMtx()
Definition d_a_tag_TWgate.cpp:905
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:26
u8 field_0x5de
Definition d_a_tag_TWgate.h:128
Mode_e
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
void executeDemoRanail2()
Definition d_a_tag_TWgate.cpp:594
u8 getSwitch()
Definition d_a_tag_TWgate.h:71
void initDemoOrdin1()
Definition d_a_tag_TWgate.cpp:361
void initDemoOrdin3()
Definition d_a_tag_TWgate.cpp:453
void initDemoRanail3()
Definition d_a_tag_TWgate.cpp:638
void executeWait()
Definition d_a_tag_TWgate.cpp:99
int create()
Definition d_a_tag_TWgate.cpp:991
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:972
s16 mEventID
Definition d_a_tag_TWgate.h:127
~daTagTWGate_c()
Definition d_a_tag_TWgate.cpp:1013
void executeDemoOrdin1()
Definition d_a_tag_TWgate.cpp:367
void executeDemoHyral3()
Definition d_a_tag_TWgate.cpp:833
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:83
void executeDemoHyral1()
Definition d_a_tag_TWgate.cpp:738
void initDemoFilone2()
Definition d_a_tag_TWgate.cpp:201
actionFunc * mAction
Definition d_a_tag_TWgate.h:123
Definition f_op_actor.h:230
actor_place current
Definition f_op_actor.h:251
Definition m_Do_ext.h:331
int play(u32, s8)
Definition m_Do_ext.cpp:1556
void entryDL()
Definition m_Do_ext.cpp:1582
void modelCalc()
Definition m_Do_ext.cpp:1588
static void action(b_bh_class *i_this)
Definition d_a_b_bh.cpp:1017
void(daTagTWGate_c::* actionFunc)()
Definition d_a_tag_TWgate.h:9
signed short int s16
Definition types.h:9
unsigned char u8
Definition types.h:8
u32 fopAcM_GetParam(const void *i_actor)
Definition f_op_actor_mng.h:192
void mDoAud_seStartLevel(u32 i_sfxID, const Vec *i_sePos, u32 param_2, s8 i_reverb)
Definition m_Do_audio.h:107
cXyz pos
Definition f_op_actor.h:205
Definition c_phase.h:17