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#include "m_Do/m_Do_hostIO.h"
10
11// This struct may end up belonging elsewhere
12struct ShopItem {
14 /* 0x4 */ u32 mSubActorID;
15 /* 0x8 */ u16 mFlowNodeNum;
16 /* 0xA */ u16 mValueNum;
17 /* 0xC */ u8 mItemType;
18 /* 0xD */ u8 mItemStatus;
19};
20
21STATIC_ASSERT(sizeof(ShopItem) == 0x10);
22
31class daMyna_c : public fopAc_ac_c {
32public:
33 /* 80945E80 */ int baseMotion00(int);
34 /* 80945EC0 */ int baseMotion01(int);
35 /* 80945F00 */ int baseMotion02(int);
36 /* 80945F40 */ int baseMotion03(int);
37 /* 80945FA0 */ int baseMotion04(int);
38 /* 80946000 */ int baseMotion05(int);
39 /* 80946060 */ int baseMotion06(int);
40 /* 809460A0 */ int create();
41 /* 809463B8 */ int destroy();
42 /* 8094640C */ int draw();
43 /* 809464CC */ int execute();
44 /* 809466D8 */ int createHeap();
45 /* 8094686C */ int jntNodeCB(J3DJoint*, J3DModel*);
46 /* 809468EC */ void attack_wait_init();
47 /* 8094692C */ void attack_wait_move();
48 /* 80946AEC */ void attack_before_talk_init();
49 /* 80946B40 */ void attack_before_talk_move();
50 /* 80946BB4 */ void attack_fly_init();
51 /* 80946BF4 */ void attack_fly_move();
52 /* 80946D20 */ void attack_init();
53 /* 80946D64 */ void attack_move();
54 /* 80946DD4 */ void attack_after_talk_init();
55 /* 80946E08 */ void attack_after_talk_move();
56 /* 80946E84 */ void greet_wait_init();
57 /* 80946EB0 */ void greet_wait_move();
58 /* 80947030 */ void greet_talk_init();
59 /* 8094711C */ void greet_talk_move();
60 /* 809471BC */ void shopping_wait_init();
61 /* 809471E8 */ void shopping_wait_move();
62 /* 809475B4 */ void shopping_talk_init();
63 /* 80947630 */ void shopping_talk_move();
64 /* 809476A0 */ void thanks_talk_init();
65 /* 8094772C */ void thanks_talk_move();
66 /* 80947794 */ void byebye_talk_init();
67 /* 809478D0 */ void byebye_talk_move();
68 /* 80947A00 */ void turn_on_start_init();
69 /* 80947AA4 */ void turn_on_start_move();
70 /* 80947CD0 */ void turn_on_init();
71 /* 80947CFC */ void turn_on_move();
72 /* 80947D48 */ void turn_on_end1_init();
73 /* 80947D74 */ void turn_on_end1_move();
74 /* 80947E18 */ void turn_on_end2_init();
75 /* 80947E50 */ void turn_on_end2_move();
76 /* 80948070 */ void turn_on_end3_init();
77 /* 80948074 */ void turn_on_end3_move();
78 /* 809480E4 */ void wolf_talk_init();
79 /* 80948118 */ void wolf_talk_move();
80 /* 80948174 */ void attack_wait2_init();
81 /* 809481B4 */ void attack_wait2_move();
82 /* 80948388 */ void attack_before_talk2_init();
83 /* 809483DC */ void attack_before_talk2_move();
84 /* 80948444 */ void attack_fly2_init();
85 /* 80948484 */ void attack_fly2_move();
86 /* 80948600 */ void attack2_init();
87 /* 80948644 */ void attack2_move();
88 /* 809486F8 */ void attack2_talk_init();
89 /* 80948734 */ void attack2_talk_move();
90 /* 809487EC */ void soldoutItem(fpc_ProcID);
91 /* 80948828 */ bool fly_attack_move();
92 /* 80948ADC */ bool fly_return_move();
93 /* 80948DFC */ void fly_body_wave();
94 /* 80948E84 */ void talkAnime(msg_class*);
95 /* 80948FAC */ int chkEvent();
96 /* 809490B8 */ int orderEvent();
97 /* 80949128 */ void deleteItem(int);
98 /* 80949144 */ void deleteItem(fpc_ProcID);
99 /* 80949190 */ void initiate();
100 /* 80949408 */ void setItemInfo();
101 /* 80949544 */ void setRoomNo();
102 /* 80949588 */ void setCollision();
103 /* 809495E0 */ void set_mtx();
104 /* 80949744 */ void animePlay();
105 /* 8094983C */ int setMcaMorfAnm(J3DAnmTransformKey*, f32, f32, int, int, int);
106 /* 809498B8 */ void setBtpAnm(J3DAnmTexPattern*, J3DModelData*, f32, int);
107 /* 809498F8 */ J3DAnmTransformKey* getTrnsfrmKeyAnm(char*);
108 /* 80949948 */ J3DAnmTexPattern* getTexPtrnAnm(char*);
109 /* 80949A70 */ int checkEndAnm(J3DFrameCtrl*);
110 /* 80949998 */ int checkEndAnm(f32);
111 /* 80949AD4 */ int getItemNumMax();
112 /* 80949AE0 */ int getItemType(void*);
113 /* 80949C0C */ u16 getFlowNodeNum();
114 /* 80949C44 */ void checkDead();
115 /* 80949D54 */ int chkPlayerInEvtArea(fopAc_ac_c*, cXyz);
116 /* 80949EE8 */ void animeControl();
117 /* 8094A054 */ void setAnimeType(u8, f32);
118 /* 8094A098 */ void playDefaultWaitAnime();
119 /* 8094A608 */ void setDefaultWaitAnime(u8);
120 /* 8094AA20 */ virtual ~daMyna_c() {}
121
123
124 void onEventFlag(u8 flag) { field_0x92F |= (1 << flag); }
125 void offEventFlag(u8 flag) { field_0x92F &= ~(1 << flag); }
126 bool isEventFlag(u8 flag) { return field_0x92F & (1 << flag); }
127
128 typedef void (daMyna_c::*ProcFunc)();
130
131 static dCcD_SrcSph const mCcDSph;
133
138 /* 0x620 */ dMsgFlow_c mMsgFlow;
139 /* 0x66C */ cBgS_GndChk mGndChk;
140 /* 0x6A8 */ dCcD_Stts mStatus;
141 /* 0x6E4 */ dCcD_Sph mSph;
142 /* 0x81C */ s32 field_0x81C;
143 /* 0x820 */ s32 field_0x820;
144 /* 0x824 */ u32 field_0x824;
146 /* 0x82C */ cXyz field_0x82C;
147 /* 0x838 */ cXyz field_0x838;
148 /* 0x844 */ cXyz field_0x844;
149 /* 0x850 */ cXyz field_0x850;
150 /* 0x85C */ cXyz field_0x85C;
151 /* 0x868 */ ShopItem mShopItems[10];
152 /* 0x908 */ s32 field_0x908;
153 /* 0x90C */ f32 field_0x90C;
154 /* 0x910 */ f32 field_0x910;
155 /* 0x914 */ u16 field_0x914;
156 /* 0x916 */ s16 field_0x916;
157 /* 0x918 */ s16 field_0x918;
158 /* 0x91A */ s16 field_0x91A;
159 /* 0x91C */ u16 field_0x91C;
160 /* 0x91E */ u16 field_0x91E;
161 /* 0x920 */ s16 field_0x920;
162 /* 0x922 */ s16 field_0x922;
163 /* 0x924 */ s16 field_0x924;
164 /* 0x926 */ s16 field_0x926;
165 /* 0x928 */ s16 field_0x928;
166 /* 0x92A */ s16 field_0x92A;
167 /* 0x92C */ u8 field_0x92C;
168 /* 0x92D */ u8 field_0x92D;
169 /* 0x92E */ u8 field_0x92E;
170 /* 0x92F */ u8 field_0x92F;
171 /* 0x930 */ u8 mNumShopItems;
172 /* 0x931 */ u8 field_0x931;
173 /* 0x932 */ u8 field_0x932;
174 /* 0x933 */ u8 field_0x933;
175 /* 0x934 */ u8 field_0x934;
176 /* 0x935 */ u8 field_0x935;
177 /* 0x936 */ u8 field_0x936;
178 /* 0x937 */ u8 field_0x937;
179 /* 0x938 */ u8 field_0x938;
180 /* 0x939 */ u8 field_0x939;
181};
182
183STATIC_ASSERT(sizeof(daMyna_c) == 0x93C);
184
186public:
187 /* 8094A960 */ virtual ~daMyna_HIO_c() {}
188
189 // Must be inlined but defined in .cpp for sinit to match
190 inline daMyna_HIO_c();
191
192 /* 0x04 */ f32 field_0x04; // DAT_8094ba40
193 /* 0x08 */ f32 field_0x08; // DAT_8094ba44
194 /* 0x0C */ f32 field_0x0C; // DAT_8094ba48
195 /* 0x10 */ f32 field_0x10; // DAT_8094ba4c
196 /* 0x14 */ f32 field_0x14; // DAT_8094ba50
197 /* 0x18 */ f32 field_0x18; // DAT_8094ba54
198 /* 0x1C */ f32 field_0x1C; // DAT_8094ba58
199 /* 0x20 */ f32 field_0x20; // DAT_8094ba5c
200 /* 0x24 */ s16 field_0x24; // DAT_8094ba60
201 /* 0x26 */ s16 field_0x26; // DAT_8094ba62
202 /* 0x28 */ s16 field_0x28; // DAT_8094ba64
203 /* 0x2A */ s16 field_0x2A; // DAT_8094ba66
204 /* 0x2C */ s16 field_0x2C; // DAT_8094ba68
205 /* 0x2E */ s16 field_0x2E; // DAT_8094ba6a
206 /* 0x30 */ s16 field_0x30; // DAT_8094ba6c
207};
208
210
211#endif /* D_A_MYNA_H */
T cLib_calcTimer(T *value)
Definition c_lib.h:74
Definition d_cc_d.h:432
Definition d_a_myna.h:185
s16 field_0x26
Definition d_a_myna.h:201
s16 field_0x30
Definition d_a_myna.h:206
daMyna_HIO_c()
Definition d_a_myna.cpp:354
f32 field_0x08
Definition d_a_myna.h:193
s16 field_0x2C
Definition d_a_myna.h:204
s16 field_0x2E
Definition d_a_myna.h:205
f32 field_0x18
Definition d_a_myna.h:197
f32 field_0x10
Definition d_a_myna.h:195
s16 field_0x28
Definition d_a_myna.h:202
f32 field_0x14
Definition d_a_myna.h:196
f32 field_0x04
Definition d_a_myna.h:192
f32 field_0x1C
Definition d_a_myna.h:198
f32 field_0x0C
Definition d_a_myna.h:194
s16 field_0x2A
Definition d_a_myna.h:203
f32 field_0x20
Definition d_a_myna.h:199
virtual ~daMyna_HIO_c()
Definition d_a_myna.h:187
s16 field_0x24
Definition d_a_myna.h:200
Trill.
Definition d_a_myna.h:31
void turn_on_end2_move()
Definition d_a_myna.cpp:1002
void initiate()
Definition d_a_myna.cpp:1376
void attack_before_talk2_move()
Definition d_a_myna.cpp:1107
bool fly_attack_move()
Definition d_a_myna.cpp:1211
void greet_wait_move()
Definition d_a_myna.cpp:647
daMyna_c()
Definition d_a_myna.h:122
cXyz field_0x850
Definition d_a_myna.h:149
void turn_on_end3_init()
Definition d_a_myna.cpp:1026
void setBtpAnm(J3DAnmTexPattern *, J3DModelData *, f32, int)
Definition d_a_myna.cpp:1532
int execute()
Definition d_a_myna.cpp:438
void(daMyna_c::* ProcFunc)()
Definition d_a_myna.h:128
s32 field_0x908
Definition d_a_myna.h:152
cXyz field_0x838
Definition d_a_myna.h:147
void turn_on_end2_init()
Definition d_a_myna.cpp:995
int getItemType(void *)
Definition d_a_myna.cpp:1600
void turn_on_start_init()
Definition d_a_myna.cpp:925
J3DAnmTransformKey * getTrnsfrmKeyAnm(char *)
Definition d_a_myna.cpp:1538
u8 field_0x932
Definition d_a_myna.h:173
void checkDead()
Definition d_a_myna.cpp:1682
void turn_on_start_move()
Definition d_a_myna.cpp:935
void attack2_move()
Definition d_a_myna.cpp:1159
int chkPlayerInEvtArea(fopAc_ac_c *, cXyz)
Definition d_a_myna.cpp:1704
int createHeap()
Definition d_a_myna.cpp:485
bool fly_return_move()
Definition d_a_myna.cpp:1237
void attack_after_talk_init()
Definition d_a_myna.cpp:626
void attack_before_talk2_init()
Definition d_a_myna.cpp:1101
void attack_fly_move()
Definition d_a_myna.cpp:586
void shopping_talk_init()
Definition d_a_myna.cpp:822
int chkEvent()
Definition d_a_myna.cpp:1312
int draw()
Definition d_a_myna.cpp:421
cXyz field_0x85C
Definition d_a_myna.h:150
u16 field_0x91C
Definition d_a_myna.h:159
u8 field_0x934
Definition d_a_myna.h:175
void attack_fly2_move()
Definition d_a_myna.cpp:1121
void attack_wait_init()
Definition d_a_myna.cpp:524
u8 field_0x939
Definition d_a_myna.h:180
u16 field_0x91E
Definition d_a_myna.h:160
void attack_fly2_init()
Definition d_a_myna.cpp:1115
void attack_wait_move()
Definition d_a_myna.cpp:530
u8 mNumShopItems
Definition d_a_myna.h:171
void shopping_wait_init()
Definition d_a_myna.cpp:724
void attack_wait2_move()
Definition d_a_myna.cpp:1062
u8 field_0x935
Definition d_a_myna.h:176
void deleteItem(int)
Definition d_a_myna.cpp:1359
void setDefaultWaitAnime(u8)
Definition d_a_myna.cpp:1848
s16 field_0x922
Definition d_a_myna.h:162
int baseMotion03(int)
Definition d_a_myna.cpp:294
static dCcD_SrcSph const mCcDSph
Definition d_a_myna.h:262
int setMcaMorfAnm(J3DAnmTransformKey *, f32, f32, int, int, int)
Definition d_a_myna.cpp:1522
void wolf_talk_move()
Definition d_a_myna.cpp:1047
dCcD_Stts mStatus
Definition d_a_myna.h:140
s16 field_0x916
Definition d_a_myna.h:156
void set_mtx()
Definition d_a_myna.cpp:1476
void attack_wait2_init()
Definition d_a_myna.cpp:1055
s16 field_0x924
Definition d_a_myna.h:163
virtual ~daMyna_c()
Definition d_a_myna.h:120
void animeControl()
Definition d_a_myna.cpp:1732
void byebye_talk_move()
Definition d_a_myna.cpp:894
int(daMyna_c::* BaseMotionFunc)(int)
Definition d_a_myna.h:129
int destroy()
Definition d_a_myna.cpp:412
int baseMotion06(int)
Definition d_a_myna.cpp:333
void attack2_talk_move()
Definition d_a_myna.cpp:1185
int orderEvent()
Definition d_a_myna.cpp:1336
u8 field_0x931
Definition d_a_myna.h:172
s16 field_0x918
Definition d_a_myna.h:157
void talkAnime(msg_class *)
Definition d_a_myna.cpp:1283
int getItemNumMax()
Definition d_a_myna.cpp:1595
void attack_fly_init()
Definition d_a_myna.cpp:580
u8 field_0x92D
Definition d_a_myna.h:168
void turn_on_end1_move()
Definition d_a_myna.cpp:982
ShopItem mShopItems[10]
Definition d_a_myna.h:151
bool isEventFlag(u8 flag)
Definition d_a_myna.h:126
void setRoomNo()
Definition d_a_myna.cpp:1462
cXyz field_0x844
Definition d_a_myna.h:148
void onEventFlag(u8 flag)
Definition d_a_myna.h:124
void attack_after_talk_move()
Definition d_a_myna.cpp:632
u8 field_0x937
Definition d_a_myna.h:178
u8 field_0x936
Definition d_a_myna.h:177
f32 field_0x910
Definition d_a_myna.h:154
void shopping_talk_move()
Definition d_a_myna.cpp:829
void thanks_talk_init()
Definition d_a_myna.cpp:838
static daMyna_c::BaseMotionFunc mBaseMotionTBL[7]
Definition d_a_myna.h:383
void greet_wait_init()
Definition d_a_myna.cpp:642
u8 field_0x933
Definition d_a_myna.h:174
void byebye_talk_init()
Definition d_a_myna.cpp:860
void playDefaultWaitAnime()
Definition d_a_myna.cpp:1786
dMsgFlow_c mMsgFlow
Definition d_a_myna.h:138
u16 getFlowNodeNum()
Definition d_a_myna.cpp:1664
int baseMotion01(int)
Definition d_a_myna.cpp:276
void thanks_talk_move()
Definition d_a_myna.cpp:852
void attack2_talk_init()
Definition d_a_myna.cpp:1179
s16 field_0x928
Definition d_a_myna.h:165
fopAc_ac_c * field_0x828
Definition d_a_myna.h:145
void setItemInfo()
Definition d_a_myna.cpp:1438
void shopping_wait_move()
Definition d_a_myna.cpp:729
void turn_on_end3_move()
Definition d_a_myna.cpp:1031
void attack_move()
Definition d_a_myna.cpp:613
int create()
Definition d_a_myna.cpp:390
void turn_on_move()
Definition d_a_myna.cpp:969
void attack_before_talk_init()
Definition d_a_myna.cpp:565
void fly_body_wave()
Definition d_a_myna.cpp:1273
void attack_before_talk_move()
Definition d_a_myna.cpp:571
Z2Creature mCreature
Definition d_a_myna.h:137
int jntNodeCB(J3DJoint *, J3DModel *)
Definition d_a_myna.cpp:515
f32 field_0x90C
Definition d_a_myna.h:153
u8 field_0x92F
Definition d_a_myna.h:170
void attack2_init()
Definition d_a_myna.cpp:1153
u8 field_0x92E
Definition d_a_myna.h:169
u32 field_0x824
Definition d_a_myna.h:144
s32 field_0x820
Definition d_a_myna.h:143
s16 field_0x92A
Definition d_a_myna.h:166
void attack_init()
Definition d_a_myna.cpp:607
cXyz field_0x82C
Definition d_a_myna.h:146
int baseMotion05(int)
Definition d_a_myna.cpp:320
s32 field_0x81C
Definition d_a_myna.h:142
void greet_talk_init()
Definition d_a_myna.cpp:686
cBgS_GndChk mGndChk
Definition d_a_myna.h:139
void setCollision()
Definition d_a_myna.cpp:1469
request_of_phase_process_class mPhase
Definition d_a_myna.h:134
int baseMotion00(int)
Definition d_a_myna.cpp:267
void setAnimeType(u8, f32)
Definition d_a_myna.cpp:1774
s16 field_0x91A
Definition d_a_myna.h:158
dCcD_Sph mSph
Definition d_a_myna.h:141
J3DAnmTexPattern * getTexPtrnAnm(char *)
Definition d_a_myna.cpp:1549
s16 field_0x920
Definition d_a_myna.h:161
void wolf_talk_init()
Definition d_a_myna.cpp:1042
int baseMotion02(int)
Definition d_a_myna.cpp:285
u16 field_0x914
Definition d_a_myna.h:155
void soldoutItem(fpc_ProcID)
Definition d_a_myna.cpp:1202
mDoExt_btpAnm mBtpAnm
Definition d_a_myna.h:136
int checkEndAnm(J3DFrameCtrl *)
Definition d_a_myna.cpp:1577
void greet_talk_move()
Definition d_a_myna.cpp:711
u8 field_0x938
Definition d_a_myna.h:179
void animePlay()
Definition d_a_myna.cpp:1496
mDoExt_McaMorfSO * mpMorf
Definition d_a_myna.h:135
int baseMotion04(int)
Definition d_a_myna.cpp:307
s16 field_0x926
Definition d_a_myna.h:164
void offEventFlag(u8 flag)
Definition d_a_myna.h:125
void turn_on_end1_init()
Definition d_a_myna.cpp:977
u8 field_0x92C
Definition d_a_myna.h:167
void turn_on_init()
Definition d_a_myna.cpp:964
Definition m_Do_hostIO.h:5
Definition f_op_msg.h:9
STATIC_ASSERT(sizeof(ShopItem)==0x10)
static volatile BOOL flag
Definition dspproc.cpp:20
unsigned int fpc_ProcID
Definition f_pc_base.h:10
Definition d_a_hozelda.cpp:36
Definition d_a_npc_fguard.cpp:44
Definition d_a_hozelda.cpp:241
Definition d_a_hozelda.cpp:239
Definition d_a_ep.cpp:51
Definition d_a_ep.cpp:155
Definition d_a_myna.h:12
u8 mItemStatus
Definition d_a_myna.h:18
u32 mTargetActorID
Definition d_a_myna.h:13
u8 mItemType
Definition d_a_myna.h:17
u16 mFlowNodeNum
Definition d_a_myna.h:15
u16 mValueNum
Definition d_a_myna.h:16
u32 mSubActorID
Definition d_a_myna.h:14
Definition d_a_hozelda.cpp:163
Definition d_a_ep.cpp:138
Definition d_a_hozelda.cpp:20
Definition d_cc_d.h:92
Definition d_a_npc_fguard.cpp:70
Definition d_a_obj_sekizoa.cpp:318
Definition d_a_ep.cpp:19
Definition d_a_npc_fguard.cpp:23
Definition d_a_hozelda.cpp:40
Definition d_a_hozelda.cpp:14
unsigned long u32
Definition types.h:10
float f32
Definition types.h:22
signed short s16
Definition types.h:5
unsigned short u16
Definition types.h:9
signed long s32
Definition types.h:6
unsigned char u8
Definition types.h:8