Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_myna.h
Go to the documentation of this file.
1#ifndef D_A_MYNA_H
2#define D_A_MYNA_H
3
5#include "d/d_cc_d.h"
6#include "d/d_msg_flow.h"
8#include "m_Do/m_Do_ext.h"
9
10// This struct may end up belonging elsewhere
11struct ShopItem {
12 /* 0x0 */ u32 mTargetActorID;
13 /* 0x4 */ u32 mSubActorID;
14 /* 0x8 */ u16 mFlowNodeNum;
15 /* 0xA */ u16 mValueNum;
16 /* 0xC */ u8 mItemType;
17 /* 0xD */ u8 mItemStatus;
18};
19
20STATIC_ASSERT(sizeof(ShopItem) == 0x10);
21
30class daMyna_c : public fopAc_ac_c {
31public:
32 int baseMotion00(int);
33 int baseMotion01(int);
34 int baseMotion02(int);
35 int baseMotion03(int);
36 int baseMotion04(int);
37 int baseMotion05(int);
38 int baseMotion06(int);
39 int create();
40 int destroy();
41 int draw();
42 int execute();
43 int createHeap();
44 int jntNodeCB(J3DJoint*, J3DModel*);
45 void attack_wait_init();
46 void attack_wait_move();
49 void attack_fly_init();
50 void attack_fly_move();
51 void attack_init();
52 void attack_move();
55 void greet_wait_init();
56 void greet_wait_move();
57 void greet_talk_init();
58 void greet_talk_move();
59 void shopping_wait_init();
60 void shopping_wait_move();
61 void shopping_talk_init();
62 void shopping_talk_move();
63 void thanks_talk_init();
64 void thanks_talk_move();
65 void byebye_talk_init();
66 void byebye_talk_move();
67 void turn_on_start_init();
68 void turn_on_start_move();
69 void turn_on_init();
70 void turn_on_move();
71 void turn_on_end1_init();
72 void turn_on_end1_move();
73 void turn_on_end2_init();
74 void turn_on_end2_move();
75 void turn_on_end3_init();
76 void turn_on_end3_move();
77 void wolf_talk_init();
78 void wolf_talk_move();
79 void attack_wait2_init();
80 void attack_wait2_move();
83 void attack_fly2_init();
84 void attack_fly2_move();
85 void attack2_init();
86 void attack2_move();
87 void attack2_talk_init();
88 void attack2_talk_move();
90 bool fly_attack_move();
91 bool fly_return_move();
92 void fly_body_wave();
93 void talkAnime(msg_class*);
94 int chkEvent();
95 int orderEvent();
96 void deleteItem(int);
98 void initiate();
99 void setItemInfo();
100 void setRoomNo();
101 void setCollision();
102 void set_mtx();
103 void animePlay();
104 int setMcaMorfAnm(J3DAnmTransformKey*, f32, f32, int, int, int);
105 void setBtpAnm(J3DAnmTexPattern*, J3DModelData*, f32, int);
106 J3DAnmTransformKey* getTrnsfrmKeyAnm(char*);
107 J3DAnmTexPattern* getTexPtrnAnm(char*);
108 int checkEndAnm(J3DFrameCtrl*);
109 int checkEndAnm(f32);
110 u8 getItemNumMax();
111 u8 getItemType(void*);
112 u16 getFlowNodeNum();
113 void checkDead();
115 void animeControl();
116 void setAnimeType(u8, f32);
118 void setDefaultWaitAnime(u8);
119 virtual ~daMyna_c() {}
120
122
123 void onEventFlag(u8 flag) { field_0x92F |= (u8)(1 << flag); }
124 void offEventFlag(u8 flag) { field_0x92F &= (u8)~(u8)(1 << flag); }
125 bool isEventFlag(u8 flag) {
126 return (field_0x92F & (u8)(1 << flag)) ? true : false;
127 }
128
130
131 typedef void (daMyna_c::*ProcFunc)();
132 typedef int (daMyna_c::*BaseMotionFunc)(int);
133
134 static dCcD_SrcSph const mCcDSph;
136
141 /* 0x620 */ dMsgFlow_c mMsgFlow;
142 /* 0x66C */ cBgS_GndChk mGndChk;
143 /* 0x6A8 */ dCcD_Stts mStatus;
144 /* 0x6E4 */ dCcD_Sph mSph;
145 /* 0x81C */ s32 field_0x81C;
146 /* 0x820 */ s32 field_0x820;
147 /* 0x824 */ u32 field_0x824;
149 /* 0x82C */ cXyz field_0x82C;
150 /* 0x838 */ cXyz field_0x838;
151 /* 0x844 */ cXyz field_0x844;
152 /* 0x850 */ cXyz field_0x850;
153 /* 0x85C */ cXyz field_0x85C;
154 /* 0x868 */ ShopItem mShopItems[10];
155 /* 0x908 */ s32 field_0x908;
156 /* 0x90C */ f32 field_0x90C;
157 /* 0x910 */ f32 field_0x910;
158 /* 0x914 */ u16 field_0x914;
159 /* 0x916 */ s16 field_0x916;
160 /* 0x918 */ s16 field_0x918;
161 /* 0x91A */ s16 field_0x91A;
162 /* 0x91C */ u16 field_0x91C;
163 /* 0x91E */ u16 field_0x91E;
164 /* 0x920 */ s16 field_0x920;
165 /* 0x922 */ s16 field_0x922;
166 /* 0x924 */ s16 field_0x924;
167 /* 0x926 */ s16 mDamageTimer;
168 /* 0x928 */ s16 field_0x928;
169 /* 0x92A */ s16 field_0x92A;
170 /* 0x92C */ u8 field_0x92C;
171 /* 0x92D */ u8 field_0x92D;
172 /* 0x92E */ u8 field_0x92E;
173 /* 0x92F */ u8 field_0x92F;
174 /* 0x930 */ u8 mNumShopItems;
175 /* 0x931 */ u8 field_0x931;
176 /* 0x932 */ u8 field_0x932;
177 /* 0x933 */ u8 field_0x933;
178 /* 0x934 */ u8 field_0x934;
179 /* 0x935 */ u8 field_0x935;
180 /* 0x936 */ u8 field_0x936;
181 /* 0x937 */ u8 field_0x937;
182 /* 0x938 */ u8 field_0x938;
183 /* 0x939 */ u8 field_0x939;
184};
185
186STATIC_ASSERT(sizeof(daMyna_c) == 0x93C);
187
188
189#endif /* D_A_MYNA_H */
Definition Z2Creature.h:7
Definition c_bg_s_gnd_chk.h:8
Definition d_cc_d.h:487
Definition d_cc_d.h:273
Definition d_msg_flow.h:49
Trill.
Definition d_a_myna.h:30
void turn_on_end2_move()
Definition d_a_myna.cpp:947
void initiate()
Definition d_a_myna.cpp:1306
void attack_before_talk2_move()
Definition d_a_myna.cpp:1044
fopAc_ac_c * getSpeakActorPtr()
Definition d_a_myna.h:129
bool fly_attack_move()
Definition d_a_myna.cpp:1143
void greet_wait_move()
Definition d_a_myna.cpp:597
daMyna_c()
Definition d_a_myna.h:121
cXyz field_0x850
Definition d_a_myna.h:152
void turn_on_end3_init()
Definition d_a_myna.cpp:969
void setBtpAnm(J3DAnmTexPattern *, J3DModelData *, f32, int)
Definition d_a_myna.cpp:1461
int execute()
Definition d_a_myna.cpp:388
s32 field_0x908
Definition d_a_myna.h:155
cXyz field_0x838
Definition d_a_myna.h:150
void turn_on_end2_init()
Definition d_a_myna.cpp:941
void turn_on_start_init()
Definition d_a_myna.cpp:878
J3DAnmTransformKey * getTrnsfrmKeyAnm(char *)
Definition d_a_myna.cpp:1466
u8 field_0x932
Definition d_a_myna.h:176
void checkDead()
Definition d_a_myna.cpp:1586
void turn_on_start_move()
Definition d_a_myna.cpp:887
void attack2_move()
Definition d_a_myna.cpp:1094
int chkPlayerInEvtArea(fopAc_ac_c *, cXyz)
Definition d_a_myna.cpp:1609
int createHeap()
Definition d_a_myna.cpp:442
bool fly_return_move()
Definition d_a_myna.cpp:1170
void attack_after_talk_init()
Definition d_a_myna.cpp:580
void attack_before_talk2_init()
Definition d_a_myna.cpp:1039
void attack_fly_move()
Definition d_a_myna.cpp:544
void shopping_talk_init()
Definition d_a_myna.cpp:777
int chkEvent()
Definition d_a_myna.cpp:1241
int draw()
Definition d_a_myna.cpp:372
cXyz field_0x85C
Definition d_a_myna.h:153
u16 field_0x91C
Definition d_a_myna.h:162
u8 field_0x934
Definition d_a_myna.h:178
void attack_fly2_move()
Definition d_a_myna.cpp:1056
void attack_wait_init()
Definition d_a_myna.cpp:487
u8 field_0x939
Definition d_a_myna.h:183
u16 field_0x91E
Definition d_a_myna.h:163
int(daMyna_c::*) BaseMotionFunc(int)
Definition d_a_myna.h:132
u8 getItemNumMax()
Definition d_a_myna.cpp:1513
void attack_fly2_init()
Definition d_a_myna.cpp:1051
void attack_wait_move()
Definition d_a_myna.cpp:492
u8 mNumShopItems
Definition d_a_myna.h:174
void shopping_wait_init()
Definition d_a_myna.cpp:673
void attack_wait2_move()
Definition d_a_myna.cpp:1000
u8 field_0x935
Definition d_a_myna.h:179
void deleteItem(int)
Definition d_a_myna.cpp:1286
void setDefaultWaitAnime(u8)
Definition d_a_myna.cpp:1756
s16 field_0x922
Definition d_a_myna.h:165
int baseMotion03(int)
Definition d_a_myna.cpp:285
static dCcD_SrcSph const mCcDSph
Definition d_a_myna.h:257
int setMcaMorfAnm(J3DAnmTransformKey *, f32, f32, int, int, int)
Definition d_a_myna.cpp:1451
void wolf_talk_move()
Definition d_a_myna.cpp:987
dCcD_Stts mStatus
Definition d_a_myna.h:143
s16 field_0x916
Definition d_a_myna.h:159
void set_mtx()
Definition d_a_myna.cpp:1404
void attack_wait2_init()
Definition d_a_myna.cpp:994
s16 field_0x924
Definition d_a_myna.h:166
virtual ~daMyna_c()
Definition d_a_myna.h:119
void animeControl()
Definition d_a_myna.cpp:1636
void byebye_talk_move()
Definition d_a_myna.cpp:847
int destroy()
Definition d_a_myna.cpp:360
int baseMotion06(int)
Definition d_a_myna.cpp:321
void attack2_talk_move()
Definition d_a_myna.cpp:1119
int orderEvent()
Definition d_a_myna.cpp:1264
u8 field_0x931
Definition d_a_myna.h:175
s16 field_0x918
Definition d_a_myna.h:160
void talkAnime(msg_class *)
Definition d_a_myna.cpp:1213
void attack_fly_init()
Definition d_a_myna.cpp:539
u8 field_0x92D
Definition d_a_myna.h:171
void turn_on_end1_move()
Definition d_a_myna.cpp:929
ShopItem mShopItems[10]
Definition d_a_myna.h:154
bool isEventFlag(u8 flag)
Definition d_a_myna.h:125
void setRoomNo()
Definition d_a_myna.cpp:1392
cXyz field_0x844
Definition d_a_myna.h:151
void onEventFlag(u8 flag)
Definition d_a_myna.h:123
void attack_after_talk_move()
Definition d_a_myna.cpp:584
u8 field_0x937
Definition d_a_myna.h:181
u8 field_0x936
Definition d_a_myna.h:180
f32 field_0x910
Definition d_a_myna.h:157
void shopping_talk_move()
Definition d_a_myna.cpp:783
void thanks_talk_init()
Definition d_a_myna.cpp:791
static daMyna_c::BaseMotionFunc mBaseMotionTBL[7]
Definition d_a_myna.h:329
void greet_wait_init()
Definition d_a_myna.cpp:593
u8 field_0x933
Definition d_a_myna.h:177
void byebye_talk_init()
Definition d_a_myna.cpp:811
void playDefaultWaitAnime()
Definition d_a_myna.cpp:1691
dMsgFlow_c mMsgFlow
Definition d_a_myna.h:141
u16 getFlowNodeNum()
Definition d_a_myna.cpp:1581
int baseMotion01(int)
Definition d_a_myna.cpp:269
void thanks_talk_move()
Definition d_a_myna.cpp:804
void attack2_talk_init()
Definition d_a_myna.cpp:1114
s16 field_0x928
Definition d_a_myna.h:168
fopAc_ac_c * field_0x828
Definition d_a_myna.h:148
void setItemInfo()
Definition d_a_myna.cpp:1369
void shopping_wait_move()
Definition d_a_myna.cpp:677
void turn_on_end3_move()
Definition d_a_myna.cpp:973
void attack_move()
Definition d_a_myna.cpp:569
int create()
Definition d_a_myna.cpp:335
void turn_on_move()
Definition d_a_myna.cpp:918
void attack_before_talk_init()
Definition d_a_myna.cpp:526
void fly_body_wave()
Definition d_a_myna.cpp:1204
void attack_before_talk_move()
Definition d_a_myna.cpp:531
Z2Creature mCreature
Definition d_a_myna.h:140
int jntNodeCB(J3DJoint *, J3DModel *)
Definition d_a_myna.cpp:477
f32 field_0x90C
Definition d_a_myna.h:156
u8 field_0x92F
Definition d_a_myna.h:173
void attack2_init()
Definition d_a_myna.cpp:1089
u8 field_0x92E
Definition d_a_myna.h:172
u32 field_0x824
Definition d_a_myna.h:147
s32 field_0x820
Definition d_a_myna.h:146
u8 getItemType(void *)
Definition d_a_myna.cpp:1518
s16 field_0x92A
Definition d_a_myna.h:169
void attack_init()
Definition d_a_myna.cpp:564
cXyz field_0x82C
Definition d_a_myna.h:149
int baseMotion05(int)
Definition d_a_myna.cpp:309
s32 field_0x81C
Definition d_a_myna.h:145
void greet_talk_init()
Definition d_a_myna.cpp:636
cBgS_GndChk mGndChk
Definition d_a_myna.h:142
void setCollision()
Definition d_a_myna.cpp:1398
request_of_phase_process_class mPhase
Definition d_a_myna.h:137
int baseMotion00(int)
Definition d_a_myna.cpp:261
void(daMyna_c::*) ProcFunc()
Definition d_a_myna.h:131
void setAnimeType(u8, f32)
Definition d_a_myna.cpp:1681
s16 field_0x91A
Definition d_a_myna.h:161
dCcD_Sph mSph
Definition d_a_myna.h:144
J3DAnmTexPattern * getTexPtrnAnm(char *)
Definition d_a_myna.cpp:1474
s16 field_0x920
Definition d_a_myna.h:164
void wolf_talk_init()
Definition d_a_myna.cpp:983
int baseMotion02(int)
Definition d_a_myna.cpp:277
u16 field_0x914
Definition d_a_myna.h:158
void soldoutItem(fpc_ProcID)
Definition d_a_myna.cpp:1135
mDoExt_btpAnm mBtpAnm
Definition d_a_myna.h:139
int checkEndAnm(J3DFrameCtrl *)
Definition d_a_myna.cpp:1498
void greet_talk_move()
Definition d_a_myna.cpp:660
u8 field_0x938
Definition d_a_myna.h:182
void animePlay()
Definition d_a_myna.cpp:1423
mDoExt_McaMorfSO * mpMorf
Definition d_a_myna.h:138
int baseMotion04(int)
Definition d_a_myna.cpp:297
void offEventFlag(u8 flag)
Definition d_a_myna.h:124
void turn_on_end1_init()
Definition d_a_myna.cpp:925
u8 field_0x92C
Definition d_a_myna.h:170
void turn_on_init()
Definition d_a_myna.cpp:914
s16 mDamageTimer
Definition d_a_myna.h:167
Definition f_op_actor.h:271
Definition m_Do_ext.h:408
Definition m_Do_ext.h:180
STATIC_ASSERT(sizeof(ShopItem)==0x10)
unsigned int fpc_ProcID
Definition f_pc_base.h:10
Definition d_a_myna.h:11
u8 mItemStatus
Definition d_a_myna.h:17
u32 mTargetActorID
Definition d_a_myna.h:12
u8 mItemType
Definition d_a_myna.h:16
u16 mFlowNodeNum
Definition d_a_myna.h:14
u16 mValueNum
Definition d_a_myna.h:15
u32 mSubActorID
Definition d_a_myna.h:13
Definition c_xyz.h:7
Definition d_cc_d.h:94
Definition f_op_msg.h:25
Definition c_phase.h:19