1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
|
#ifndef D_METER_D_METER2_DRAW_H
#define D_METER_D_METER2_DRAW_H
#include "d/d_drawlist.h"
class CPaneMgr;
class CPaneMgrAlpha;
class J2DAnmColorKey;
class J2DAnmTransformKey;
class JKRExpHeap;
class JKRHeap;
class dKantera_icon_c;
class dMeter2Draw_c : public dDlst_base_c {
public:
enum {
SELECT_X_e,
SELECT_Y_e,
SELECT_Z_e,
SELECT_MAX_e = 2,
};
struct item_params {
/* 0x00 */ f32 pos_x;
/* 0x04 */ f32 pos_y;
/* 0x08 */ f32 scale;
/* 0x0C */ f32 rotation;
/* 0x10 */ f32 num_pos_x;
/* 0x14 */ f32 num_pos_y;
/* 0x18 */ f32 num_scale;
};
dMeter2Draw_c(JKRExpHeap*);
void init();
void exec(u32);
void draw();
void initLife();
void initMagic();
void initLightDrop();
void initRupeeKey();
void initButton();
void initButtonCross();
void playPikariBckAnimation(f32);
void setPikariBpkAnimation(J2DAnmColor*);
void playPikariBpkAnimation(f32);
void playOxygenBpkAnimation(J2DAnmColor*);
void drawPikari(f32, f32, f32*, f32, JUtility::TColor, JUtility::TColor,
JUtility::TColor, JUtility::TColor, f32, u8);
void drawPikari(CPaneMgr*, f32*, f32, JUtility::TColor, JUtility::TColor,
JUtility::TColor, JUtility::TColor, f32, u8);
void drawPikariHakusha(f32, f32, f32, f32, JUtility::TColor, JUtility::TColor,
JUtility::TColor, JUtility::TColor);
void changeTextureLife(int, bool, u8);
void drawLife(s16, s16, f32, f32);
void setAlphaLifeChange(bool);
void setAlphaLifeAnimeMin();
void setAlphaLifeAnimeMax();
void drawKanteraScreen(u8);
void drawMagic(s16, s16, f32, f32);
void setAlphaMagicChange(bool);
void drawKantera(s32, s32, f32, f32);
void setAlphaKanteraChange(bool);
void setAlphaKanteraAnimeMin();
void setAlphaKanteraAnimeMax();
void drawOxygen(s32, s32, f32, f32);
void setAlphaOxygenChange(bool);
void setAlphaOxygenAnimeMin();
void setAlphaOxygenAnimeMax();
void drawLightDrop(u8, u8, f32, f32, f32, f32, u8);
void setAlphaLightDropChange(bool);
f32 getNowLightDropRateCalc();
void setAlphaLightDropAnimeMin();
void setAlphaLightDropAnimeMax();
void drawRupee(s16);
void setAlphaRupeeChange(bool);
void setAlphaRupeeAnimeMin();
void setAlphaRupeeAnimeMax();
void drawKey(s16);
void setAlphaKeyChange(bool);
void setAlphaKeyAnimeMin();
void setAlphaKeyAnimeMax();
void drawButtonA(u8, f32, f32, f32, f32, f32, bool, bool);
void drawButtonB(u8, bool, f32, f32, f32, f32, f32, bool);
void drawButtonR(u8, u8, bool, bool);
void drawButtonZ(u8);
void drawButton3D(u8);
void drawButtonC(u8, bool);
void drawButtonS(u8);
void drawButtonBin(u8);
void drawButtonXY(int, u8, u8, bool, bool);
f32 getButtonCrossParentInitTransY();
void drawButtonCross(f32, f32);
void setAlphaButtonCrossAnimeMin();
void setAlphaButtonCrossAnimeMax();
void setAlphaButtonCrossItemAnimeMin();
void setAlphaButtonCrossItemAnimeMax();
void setAlphaButtonCrossMapAnimeMin();
void setAlphaButtonCrossMapAnimeMax();
void setAlphaButtonChange(bool);
void setAlphaButtonAnimeMin();
void setAlphaButtonAnimeMax();
void setAlphaButtonAAnimeMin();
void setAlphaButtonAAnimeMax();
void setAlphaButtonBAnimeMin();
void setAlphaButtonBAnimeMax();
void setButtonIconAAlpha(u8, u32, bool);
void setButtonIconBAlpha(u8, u32, bool);
void setButtonIconMidonaAlpha(u32);
void setButtonIconAlpha(int, u8, u32, bool);
ResTIMG* getNumberTexture(int);
char* getActionString(u8, u8, u8*);
void changeTextureItemB(u8);
void changeTextureItemXY(int, u8);
void setAlphaAnimeMin(CPaneMgrAlpha*, s16);
void setAlphaAnimeMax(CPaneMgrAlpha*, s16);
void setItemNum(u8, u8, u8);
void drawItemNum(u8, f32);
void drawKanteraMeter(u8, f32);
u8 isButtonVisible();
void setItemParamX(u8);
void setItemParamY(u8);
void setItemParamZ(u8);
void setItemParamB(u8);
bool getFishingType();
u8 getCanoeFishing();
bool getCameraSubject();
bool getItemSubject();
bool getPlayerSubject();
bool isBButtonShow(bool);
s16 getButtonTimer();
virtual ~dMeter2Draw_c();
J2DScreen* getMainScreenPtr() { return mpScreen; }
bool isEmphasisC() { return field_0x766 == 7 ? true : false; }
f32 getMeterGaugeAlphaRate(u8 i_no) { return mMeterAlphaRate[i_no]; }
bool isEmphasisA() { return field_0x761 == 7 ? true : false; }
bool isEmphasisB() { return field_0x762 == 7 ? true : false; }
bool isEmphasisBin() { return field_0x763 == 7 ? true : false; }
bool isEmphasisZ() { return field_0x764 == 7 ? true : false; }
bool isEmphasis3D() { return field_0x765 == 7 ? true : false; }
bool isEmphasisS() { return field_0x767 == 7 ? true : false; }
bool isEmphasisX() { return field_0x768[0] == 7 ? true : false; }
bool isEmphasisY() { return field_0x768[1] == 7 ? true : false; }
bool isEmphasisR() { return field_0x768[2] == 7 ? true : false; }
void setEmphasisA(u8 param_0) { field_0x761 = param_0; }
void setEmphasisB(u8 param_0) { field_0x762 = param_0; }
u8 getInsideObjCheck() { return field_0x772; }
private:
/* 0x004 */ item_params mItemParams[4];
/* 0x074 */ JKRExpHeap* heap;
/* 0x078 */ J2DScreen* mpScreen;
/* 0x07C */ J2DScreen* mpKanteraScreen;
/* 0x080 */ J2DScreen* mpPikariScreen;
/* 0x084 */ J2DPicture* mpItemNumTex[2][3];
/* 0x09C */ CPaneMgr* field_0x9c[3];
/* 0x0A8 */ int field_0xa8;
/* 0x0AC */ dKantera_icon_c* mpKanteraMeter[2];
/* 0x0B4 */ u8 field_0xb4[8];
/* 0x0BC */ CPaneMgr* mpParent;
/* 0x0C0 */ CPaneMgr* mpAText[5];
/* 0x0D4 */ CPaneMgr* mpBText[5];
/* 0x0E8 */ CPaneMgr* mpXYText[5][3];
/* 0x124 */ CPaneMgr* mpLifeParent;
/* 0x128 */ CPaneMgr* mpLifeParts[20];
/* 0x178 */ CPaneMgr* mpHeartMark[20];
/* 0x1C8 */ CPaneMgr* mpBigHeart;
/* 0x1CC */ CPaneMgr* mpMagicParent;
/* 0x1D0 */ CPaneMgr* mpMagicBase;
/* 0x1D4 */ CPaneMgr* mpMagicFrameL;
/* 0x1D8 */ CPaneMgr* mpMagicMeter;
/* 0x1DC */ CPaneMgr* mpMagicFrameR;
/* 0x1E0 */ CPaneMgr* mpLightDropParent;
/* 0x1E4 */ int field_0x1e4;
/* 0x1E8 */ CPaneMgr* mpSIParent[2];
/* 0x1F0 */ CPaneMgr* mpSIParts[16][3];
/* 0x2B0 */ CPaneMgr* mpRupeeKeyParent;
/* 0x2B4 */ CPaneMgr* mpRupeeParent[3];
/* 0x2C0 */ CPaneMgr* mpRupeeTexture[4][2];
/* 0x2E0 */ CPaneMgr* mpKeyParent;
/* 0x2E4 */ CPaneMgr* mpKeyTexture[5];
/* 0x2F8 */ CPaneMgr* mpButtonParent;
/* 0x2FC */ int field_0x2fc;
/* 0x300 */ CPaneMgr* mpButtonA;
/* 0x304 */ CPaneMgr* mpButtonB;
/* 0x308 */ CPaneMgr* mpButtonMidona;
/* 0x30C */ CPaneMgr* mpButtonXY[3];
/* 0x318 */ CPaneMgr* mpLightB;
/* 0x31C */ CPaneMgr* mpLightXY[3];
/* 0x328 */ CPaneMgr* mpItemB;
/* 0x32C */ CPaneMgr* mpItemXY[2];
/* 0x334 */ CPaneMgr* mpItemR;
/* 0x338 */ CPaneMgr* mpBTextA;
/* 0x33C */ CPaneMgr* mpBTextB;
/* 0x340 */ CPaneMgr* mpBTextXY[3];
/* 0x34C */ CPaneMgr* mpTextA;
/* 0x350 */ CPaneMgr* mpTextB;
/* 0x354 */ CPaneMgr* mpTextXY[3];
/* 0x360 */ CPaneMgr* mpTextI;
/* 0x364 */ CPaneMgr* mpTextM;
/* 0x368 */ CPaneMgr* mpButtonCrossParent;
/* 0x36C */ int field_0x36c;
/* 0x370 */ u8 field_0x370[0x2C];
/* 0x39C */ CPaneMgr* mpPikariParent;
/* 0x3A0 */ CPaneMgrAlpha* mpLifeTexture[20][2];
/* 0x440 */ CPaneMgrAlpha* mpHeartBase[20];
/* 0x490 */ CPaneMgr* mpJujiI[5];
/* 0x4A4 */ CPaneMgr* mpJujiM[5];
/* 0x4B8 */ CPaneMgrAlpha* mpUzu;
/* 0x4BC */ u8 field_0x4bc[0x28];
/* 0x4E4 */ ResTIMG* mpItemBTex[2][2];
/* 0x4F4 */ ResTIMG* mpItemXYTex[2][2][2];
/* 0x514 */ J2DPicture* mpItemBPane;
/* 0x518 */ J2DPicture* mpItemXYPane[3];
/* 0x524 */ int field_0x524[2][2];
/* 0x534 */ J2DAnmTransformKey* mPikariBck;
/* 0x538 */ J2DAnmColor* mPikariBpk;
/* 0x53C */ J2DAnmColor* mpOxygenBpk[3];
/* 0x548 */ JUtility::TColor mPikariBlack;
/* 0x54C */ JUtility::TColor mPikariWhite;
/* 0x550 */ f32 field_0x550;
/* 0x554 */ f32 field_0x554;
/* 0x558 */ f32 field_0x558;
/* 0x55C */ f32 field_0x55c;
/* 0x560 */ f32 field_0x560;
/* 0x564 */ f32 field_0x564;
/* 0x568 */ f32 field_0x568;
/* 0x56C */ f32 field_0x56c;
/* 0x570 */ f32 field_0x570;
/* 0x574 */ f32 field_0x574;
/* 0x578 */ f32 field_0x578;
/* 0x57C */ f32 field_0x57c;
/* 0x580 */ f32 field_0x580;
/* 0x584 */ f32 field_0x584[3];
/* 0x590 */ f32 field_0x590[3];
/* 0x59C */ f32 field_0x59c[3];
/* 0x5A8 */ f32 field_0x5a8[3];
/* 0x5B4 */ f32 field_0x5b4[3];
/* 0x5C0 */ f32 field_0x5c0[3];
/* 0x5CC */ f32 field_0x5cc[3];
/* 0x5D8 */ f32 field_0x5d8[3];
/* 0x5E4 */ f32 field_0x5e4[3];
/* 0x5F0 */ f32 field_0x5f0[3];
/* 0x5FC */ f32 mMeterAlphaRate[3];
/* 0x608 */ f32 field_0x608;
/* 0x60C */ f32 field_0x60c;
/* 0x610 */ f32 field_0x610[3];
/* 0x61C */ f32 field_0x61c;
/* 0x620 */ f32 field_0x620[3];
/* 0x62C */ f32 field_0x62c[16];
/* 0x66C */ f32 field_0x66c[16];
/* 0x6AC */ f32 field_0x6ac[3];
/* 0x6B8 */ f32 field_0x6b8[3];
/* 0x6C4 */ f32 field_0x6c4[3];
/* 0x6D0 */ f32 field_0x6d0[3];
/* 0x6DC */ f32 field_0x6dc;
/* 0x6E0 */ f32 field_0x6e0;
/* 0x6E4 */ f32 field_0x6e4;
/* 0x6E8 */ f32 field_0x6e8;
/* 0x6EC */ f32 field_0x6ec;
/* 0x6F0 */ f32 field_0x6f0;
/* 0x6F4 */ f32 mLightDropVesselScale;
/* 0x6F8 */ f32 field_0x6f8;
/* 0x6FC */ f32 field_0x6fc;
/* 0x700 */ u8 field_0x700[0x18];
/* 0x718 */ f32 field_0x718;
/* 0x71C */ u8 field_0x71c[4];
/* 0x720 */ f32 mButtonZAlpha;
/* 0x724 */ f32 field_0x724;
/* 0x728 */ f32 field_0x728;
/* 0x72C */ f32 field_0x72c;
/* 0x730 */ f32 field_0x730;
/* 0x734 */ f32 field_0x734;
/* 0x738 */ f32 field_0x738;
/* 0x73C */ f32 field_0x73c;
/* 0x740 */ u16 field_0x740;
/* 0x742 */ s16 field_0x742[3];
/* 0x748 */ u8 field_0x748[0xC];
/* 0x756 */ u16 field_0x754;
/* 0x756 */ s16 field_0x756;
/* 0x758 */ u8 field_0x758;
/* 0x759 */ u8 field_0x759;
/* 0x75A */ u8 field_0x75a;
/* 0x75B */ u8 field_0x75b;
/* 0x75C */ u8 field_0x75c[3];
/* 0x75F */ u8 field_0x75f;
/* 0x760 */ u8 field_0x760;
/* 0x761 */ u8 field_0x761;
/* 0x762 */ u8 field_0x762;
/* 0x763 */ u8 field_0x763;
/* 0x764 */ u8 field_0x764;
/* 0x765 */ u8 field_0x765;
/* 0x766 */ u8 field_0x766;
/* 0x767 */ u8 field_0x767;
/* 0x768 */ u8 field_0x768[3];
/* 0x76B */ u8 field_0x76b;
/* 0x76C */ u8 field_0x76c[2];
/* 0x76E */ u8 field_0x76e;
/* 0x76F */ u8 mButtonBItem;
/* 0x770 */ u8 field_0x770;
/* 0x771 */ u8 field_0x771;
/* 0x772 */ u8 field_0x772;
/* 0x773 */ u8 field_0x773[2];
/* 0x778 */ f32 mParentScale;
/* 0x77C */ f32 mParentAlpha;
/* 0x780 */ f32 mButtonsPosX;
/* 0x784 */ f32 mButtonsPosY;
/* 0x788 */ f32 mButtonsScale;
/* 0x78C */ f32 field_0x78c;
/* 0x790 */ f32 mLifeParentAlpha;
/* 0x794 */ f32 mLifeParentHeartAlpha;
/* 0x798 */ f32 mHeartBaseAlpha;
/* 0x79C */ f32 mHeartAlpha;
/* 0x7A0 */ f32 mBigHeartAlpha;
/* 0x7A4 */ f32 field_0x7a4;
/* 0x7A8 */ f32 mMagicMeterAlpha;
/* 0x7AC */ f32 mMagicMeterFrameAlpha;
/* 0x7B0 */ f32 field_0x7b0;
/* 0x7B4 */ f32 mLanternMeterAlpha;
/* 0x7B8 */ f32 mLanternMeterFrameAlpha;
/* 0x7BC */ f32 field_0x7bc;
/* 0x7C0 */ f32 mOxygenMeterAlpha;
/* 0x7C4 */ f32 mOxygenMeterFrameAlpha;
/* 0x7C8 */ f32 field_0x7c8;
/* 0x7CC */ f32 field_0x7cc;
/* 0x7D0 */ f32 field_0x7d0;
/* 0x7D4 */ f32 mRupeeAlpha;
/* 0x7D8 */ f32 mRupeeFrameAlpha;
/* 0x7DC */ f32 mRupeeCountAlpha;
/* 0x7E0 */ f32 field_0x7e0;
/* 0x7E4 */ f32 field_0x7e4;
/* 0x7E8 */ f32 mKeyAlpha;
/* 0x7EC */ f32 mKeyNumAlpha;
/* 0x7F0 */ f32 field_0x7f0;
/* 0x7F4 */ f32 mMainHUDButtonsAlpha;
/* 0x7F8 */ f32 mButtonDisplayBackAlpha;
/* 0x7FC */ f32 mButtonAAlpha;
/* 0x800 */ f32 mButtonBAlpha;
/* 0x804 */ f32 mButtonXAlpha;
/* 0x808 */ f32 mButtonYAlpha;
/* 0x80C */ f32 field_0x80c;
/* 0x810 */ f32 field_0x810;
/* 0x814 */ f32 mItemBBaseAlpha[2];
/* 0x81C */ f32 mButtonXItemBaseAlpha[2];
/* 0x824 */ f32 mButtonYItemBaseAlpha[2];
/* 0x82C */ f32 field_0x82c[2];
/* 0x834 */ f32 mButtonZItemBaseAlpha;
/* 0x838 */ f32 mButtonBaseAlpha;
/* 0x83C */ f32 mButtonATextSpacing;
/* 0x840 */ f32 mButtonCrossAlpha;
/* 0x844 */ f32 mButtonCrossITEMAlpha;
/* 0x848 */ f32 mButtonCrossMAPAlpha;
/* 0x84C */ GXColor mButtonATextColor;
/* 0x850 */ GXColor mButtonBTextColor;
/* 0x854 */ GXColor field_0x854;
/* 0x858 */ GXColor mButtonZTextColor;
/* 0x85C */ GXColor mButtonXYTextColor;
/* 0x860 */ u8 field_0x860[2];
};
#endif /* D_METER_D_METER2_DRAW_H */
|