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 {
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();
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);
109 int checkEndAnm(f32);
111 u8 getItemType(void*);
113 void checkDead();
115 void animeControl();
116 void setAnimeType(u8, f32);
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); }
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 */
static BOOL flag
Definition DEMOAVX.c:20
Definition J3DAnimation.h:642
Definition J3DAnimation.h:525
Definition J3DAnimation.h:919
Definition J3DJoint.h:63
Definition J3DModelData.h:17
Definition J3DModel.h:43
Definition Z2Creature.h:7
Definition c_bg_s_gnd_chk.h:8
Definition d_cc_d.h:473
Definition d_cc_d.h:269
Definition d_msg_flow.h:49
Trill.
Definition d_a_myna.h:30
void turn_on_end2_move()
Definition d_a_myna.cpp:946
void initiate()
Definition d_a_myna.cpp:1305
void attack_before_talk2_move()
Definition d_a_myna.cpp:1043
fopAc_ac_c * getSpeakActorPtr()
Definition d_a_myna.h:129
bool fly_attack_move()
Definition d_a_myna.cpp:1142
void greet_wait_move()
Definition d_a_myna.cpp:596
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:968
void setBtpAnm(J3DAnmTexPattern *, J3DModelData *, f32, int)
Definition d_a_myna.cpp:1460
int execute()
Definition d_a_myna.cpp:387
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:940
void turn_on_start_init()
Definition d_a_myna.cpp:877
J3DAnmTransformKey * getTrnsfrmKeyAnm(char *)
Definition d_a_myna.cpp:1465
u8 field_0x932
Definition d_a_myna.h:176
void checkDead()
Definition d_a_myna.cpp:1585
void turn_on_start_move()
Definition d_a_myna.cpp:886
void attack2_move()
Definition d_a_myna.cpp:1093
int chkPlayerInEvtArea(fopAc_ac_c *, cXyz)
Definition d_a_myna.cpp:1608
int createHeap()
Definition d_a_myna.cpp:441
bool fly_return_move()
Definition d_a_myna.cpp:1169
void attack_after_talk_init()
Definition d_a_myna.cpp:579
void attack_before_talk2_init()
Definition d_a_myna.cpp:1038
void attack_fly_move()
Definition d_a_myna.cpp:543
void shopping_talk_init()
Definition d_a_myna.cpp:776
int chkEvent()
Definition d_a_myna.cpp:1240
int draw()
Definition d_a_myna.cpp:371
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:1055
void attack_wait_init()
Definition d_a_myna.cpp:486
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:1512
void attack_fly2_init()
Definition d_a_myna.cpp:1050
void attack_wait_move()
Definition d_a_myna.cpp:491
u8 mNumShopItems
Definition d_a_myna.h:174
void shopping_wait_init()
Definition d_a_myna.cpp:672
void attack_wait2_move()
Definition d_a_myna.cpp:999
u8 field_0x935
Definition d_a_myna.h:179
void deleteItem(int)
Definition d_a_myna.cpp:1285
void setDefaultWaitAnime(u8)
Definition d_a_myna.cpp:1755
s16 field_0x922
Definition d_a_myna.h:165
int baseMotion03(int)
Definition d_a_myna.cpp:284
static dCcD_SrcSph const mCcDSph
Definition d_a_myna.h:256
int setMcaMorfAnm(J3DAnmTransformKey *, f32, f32, int, int, int)
Definition d_a_myna.cpp:1450
void wolf_talk_move()
Definition d_a_myna.cpp:986
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:1403
void attack_wait2_init()
Definition d_a_myna.cpp:993
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:1635
void byebye_talk_move()
Definition d_a_myna.cpp:846
int destroy()
Definition d_a_myna.cpp:359
int baseMotion06(int)
Definition d_a_myna.cpp:320
void attack2_talk_move()
Definition d_a_myna.cpp:1118
int orderEvent()
Definition d_a_myna.cpp:1263
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:1212
void attack_fly_init()
Definition d_a_myna.cpp:538
u8 field_0x92D
Definition d_a_myna.h:171
void turn_on_end1_move()
Definition d_a_myna.cpp:928
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:1391
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:583
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:782
void thanks_talk_init()
Definition d_a_myna.cpp:790
static daMyna_c::BaseMotionFunc mBaseMotionTBL[7]
Definition d_a_myna.h:328
void greet_wait_init()
Definition d_a_myna.cpp:592
u8 field_0x933
Definition d_a_myna.h:177
void byebye_talk_init()
Definition d_a_myna.cpp:810
void playDefaultWaitAnime()
Definition d_a_myna.cpp:1690
dMsgFlow_c mMsgFlow
Definition d_a_myna.h:141
u16 getFlowNodeNum()
Definition d_a_myna.cpp:1580
int baseMotion01(int)
Definition d_a_myna.cpp:268
void thanks_talk_move()
Definition d_a_myna.cpp:803
void attack2_talk_init()
Definition d_a_myna.cpp:1113
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:1368
void shopping_wait_move()
Definition d_a_myna.cpp:676
void turn_on_end3_move()
Definition d_a_myna.cpp:972
void attack_move()
Definition d_a_myna.cpp:568
int create()
Definition d_a_myna.cpp:334
void turn_on_move()
Definition d_a_myna.cpp:917
void attack_before_talk_init()
Definition d_a_myna.cpp:525
void fly_body_wave()
Definition d_a_myna.cpp:1203
void attack_before_talk_move()
Definition d_a_myna.cpp:530
Z2Creature mCreature
Definition d_a_myna.h:140
int jntNodeCB(J3DJoint *, J3DModel *)
Definition d_a_myna.cpp:476
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:1088
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:1517
s16 field_0x92A
Definition d_a_myna.h:169
void attack_init()
Definition d_a_myna.cpp:563
cXyz field_0x82C
Definition d_a_myna.h:149
int baseMotion05(int)
Definition d_a_myna.cpp:308
s32 field_0x81C
Definition d_a_myna.h:145
void greet_talk_init()
Definition d_a_myna.cpp:635
cBgS_GndChk mGndChk
Definition d_a_myna.h:142
void setCollision()
Definition d_a_myna.cpp:1397
request_of_phase_process_class mPhase
Definition d_a_myna.h:137
int baseMotion00(int)
Definition d_a_myna.cpp:260
void(daMyna_c::*) ProcFunc()
Definition d_a_myna.h:131
void setAnimeType(u8, f32)
Definition d_a_myna.cpp:1680
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:1473
s16 field_0x920
Definition d_a_myna.h:164
void wolf_talk_init()
Definition d_a_myna.cpp:982
int baseMotion02(int)
Definition d_a_myna.cpp:276
u16 field_0x914
Definition d_a_myna.h:158
void soldoutItem(fpc_ProcID)
Definition d_a_myna.cpp:1134
mDoExt_btpAnm mBtpAnm
Definition d_a_myna.h:139
int checkEndAnm(J3DFrameCtrl *)
Definition d_a_myna.cpp:1497
void greet_talk_move()
Definition d_a_myna.cpp:659
u8 field_0x938
Definition d_a_myna.h:182
void animePlay()
Definition d_a_myna.cpp:1422
mDoExt_McaMorfSO * mpMorf
Definition d_a_myna.h:138
int baseMotion04(int)
Definition d_a_myna.cpp:296
void offEventFlag(u8 flag)
Definition d_a_myna.h:124
void turn_on_end1_init()
Definition d_a_myna.cpp:924
u8 field_0x92C
Definition d_a_myna.h:170
void turn_on_init()
Definition d_a_myna.cpp:913
s16 mDamageTimer
Definition d_a_myna.h:167
Definition f_op_actor.h:230
Definition m_Do_ext.h:331
Definition m_Do_ext.h:182
STATIC_ASSERT(sizeof(ShopItem)==0x10)
unsigned long u32
Definition types.h:12
signed short int s16
Definition types.h:9
float f32
Definition types.h:25
unsigned short int u16
Definition types.h:10
signed long s32
Definition types.h:11
unsigned char u8
Definition types.h:8
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:17