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
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
|
//
// Generated By: dol2asm
// Translation Unit: d/meter/d_meter_haihai
//
#include "d/meter/d_meter_haihai.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct dMeterSub_c {
/* 80194138 */ bool isDead();
};
struct J2DAnmColor {};
struct J2DAnmTransformKey {};
struct J2DAnmTextureSRTKey {};
struct dMeterHaihai_c {
/* 8020AE8C */ dMeterHaihai_c(u8);
/* 8020AEF0 */ ~dMeterHaihai_c();
/* 8020AF6C */ void _create();
/* 8020B0F4 */ void _execute(u32);
/* 8020B140 */ void draw();
/* 8020B814 */ void drawHaihai(u8, f32, f32, f32, f32);
/* 8020B518 */ void drawHaihai(u8);
/* 8020B9B0 */ void drawHaihaiLeft(f32, f32);
/* 8020BA4C */ void drawHaihaiRight(f32, f32);
/* 8020BAE8 */ void drawHaihaiTop(f32, f32);
/* 8020BB84 */ void drawHaihaiBottom(f32, f32);
/* 8020BC20 */ void setScale(f32);
/* 8020BDAC */ void _delete();
/* 8020BEA0 */ void alphaAnimeHaihai(u32);
/* 8020BEA4 */ void updateHaihai();
/* 8020BF00 */ void playBckAnime(J2DAnmTransformKey*);
/* 8020C078 */ void playBtkAnime(J2DAnmTextureSRTKey*);
/* 8020C1CC */ void playBpkAnime(J2DAnmColor*);
};
struct JKRFileLoader {
/* 802D4270 */ void getGlbResource(char const*, JKRFileLoader*);
};
struct JKRExpHeap {};
struct JKRArchive {};
struct J2DGrafContext {};
struct J2DScreen {
/* 802F8498 */ J2DScreen();
/* 802F8648 */ void setPriority(char const*, u32, JKRArchive*);
/* 802F8ED4 */ void draw(f32, f32, J2DGrafContext const*);
/* 802F9690 */ void animation();
};
struct J2DRotateAxis {};
struct J2DPane {
/* 802F71DC */ void rotate(f32, f32, J2DRotateAxis, f32);
/* 802F7FCC */ void animationTransform();
};
struct J2DAnmLoaderDataBase {
/* 80308A6C */ void load(void const*);
};
struct CPaneMgr {
/* 80253984 */ CPaneMgr(J2DScreen*, u64, u8, JKRExpHeap*);
};
//
// Forward References:
//
extern "C" void __ct__14dMeterHaihai_cFUc();
extern "C" void __dt__14dMeterHaihai_cFv();
extern "C" void _create__14dMeterHaihai_cFv();
extern "C" void _execute__14dMeterHaihai_cFUl();
extern "C" void draw__14dMeterHaihai_cFv();
extern "C" void drawHaihai__14dMeterHaihai_cFUc();
extern "C" void drawHaihai__14dMeterHaihai_cFUcffff();
extern "C" void drawHaihaiLeft__14dMeterHaihai_cFff();
extern "C" void drawHaihaiRight__14dMeterHaihai_cFff();
extern "C" void drawHaihaiTop__14dMeterHaihai_cFff();
extern "C" void drawHaihaiBottom__14dMeterHaihai_cFff();
extern "C" void setScale__14dMeterHaihai_cFf();
extern "C" void _delete__14dMeterHaihai_cFv();
extern "C" void alphaAnimeHaihai__14dMeterHaihai_cFUl();
extern "C" void updateHaihai__14dMeterHaihai_cFv();
extern "C" void playBckAnime__14dMeterHaihai_cFP18J2DAnmTransformKey();
extern "C" void playBtkAnime__14dMeterHaihai_cFP19J2DAnmTextureSRTKey();
extern "C" void playBpkAnime__14dMeterHaihai_cFP11J2DAnmColor();
extern "C" extern char const* const d_meter_d_meter_haihai__stringBase0;
//
// External References:
//
extern "C" bool isDead__11dMeterSub_cFv();
extern "C" void __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap();
extern "C" void dPaneClass_showNullPane__FP9J2DScreen();
extern "C" void* __nw__FUl();
extern "C" void __dl__FPv();
extern "C" void getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader();
extern "C" void rotate__7J2DPaneFff13J2DRotateAxisf();
extern "C" void animationTransform__7J2DPaneFv();
extern "C" void __ct__9J2DScreenFv();
extern "C" void setPriority__9J2DScreenFPCcUlP10JKRArchive();
extern "C" void draw__9J2DScreenFffPC14J2DGrafContext();
extern "C" void animation__9J2DScreenFv();
extern "C" void load__20J2DAnmLoaderDataBaseFPCv();
extern "C" void _savegpr_29();
extern "C" void _restgpr_29();
extern "C" extern void* __vt__12dDlst_base_c[3];
extern "C" extern void* __vt__11dMeterSub_c[8 + 3 /* padding */];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u8 g_drawHIO[3880];
//
// Declarations:
//
/* ############################################################################################## */
/* 803BF268-803BF288 01C388 0020+00 2/2 0/0 0/0 .data __vt__14dMeterHaihai_c */
SECTION_DATA extern void* __vt__14dMeterHaihai_c[8] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)draw__14dMeterHaihai_cFv,
(void*)__dt__14dMeterHaihai_cFv,
(void*)_create__14dMeterHaihai_cFv,
(void*)_execute__14dMeterHaihai_cFUl,
(void*)_delete__14dMeterHaihai_cFv,
(void*)isDead__11dMeterSub_cFv,
};
/* 8020AE8C-8020AEF0 2057CC 0064+00 0/0 4/4 0/0 .text __ct__14dMeterHaihai_cFUc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dMeterHaihai_c::dMeterHaihai_c(u8 param_0) {
nofralloc
#include "asm/d/meter/d_meter_haihai/__ct__14dMeterHaihai_cFUc.s"
}
#pragma pop
/* 8020AEF0-8020AF6C 205830 007C+00 1/0 0/0 0/0 .text __dt__14dMeterHaihai_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dMeterHaihai_c::~dMeterHaihai_c() {
nofralloc
#include "asm/d/meter/d_meter_haihai/__dt__14dMeterHaihai_cFv.s"
}
#pragma pop
/* ############################################################################################## */
/* 80398158-80398158 0247B8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_80398158 = "zelda_hihi_cursor.blo";
SECTION_DEAD static char const* const stringBase_8039816E = "zelda_hihi_cursor.bck";
SECTION_DEAD static char const* const stringBase_80398184 = "zelda_hihi_cursor.btk";
SECTION_DEAD static char const* const stringBase_8039819A = "zelda_hihi_cursor.bpk";
#pragma pop
/* 804547B0-804547B4 002DB0 0004+00 6/6 0/0 0/0 .sdata2 @3742 */
SECTION_SDATA2 static u8 lit_3742[4] = {
0x00,
0x00,
0x00,
0x00,
};
/* 8020AF6C-8020B0F4 2058AC 0188+00 1/0 0/0 0/0 .text _create__14dMeterHaihai_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterHaihai_c::_create() {
nofralloc
#include "asm/d/meter/d_meter_haihai/_create__14dMeterHaihai_cFv.s"
}
#pragma pop
/* 8020B0F4-8020B140 205A34 004C+00 1/0 0/0 0/0 .text _execute__14dMeterHaihai_cFUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterHaihai_c::_execute(u32 param_0) {
nofralloc
#include "asm/d/meter/d_meter_haihai/_execute__14dMeterHaihai_cFUl.s"
}
#pragma pop
/* ############################################################################################## */
/* 804547B4-804547B8 002DB4 0004+00 2/2 0/0 0/0 .sdata2 @3890 */
SECTION_SDATA2 static f32 lit_3890 = 13.0f / 5.0f;
/* 804547B8-804547BC 002DB8 0004+00 2/2 0/0 0/0 .sdata2 @3891 */
SECTION_SDATA2 static f32 lit_3891 = 39.0f;
/* 804547BC-804547C0 002DBC 0004+00 2/2 0/0 0/0 .sdata2 @3892 */
SECTION_SDATA2 static f32 lit_3892 = 58.0f;
/* 804547C0-804547C4 002DC0 0004+00 2/2 0/0 0/0 .sdata2 @3893 */
SECTION_SDATA2 static f32 lit_3893 = 304.0f;
/* 804547C4-804547C8 002DC4 0004+00 2/2 0/0 0/0 .sdata2 @3894 */
SECTION_SDATA2 static f32 lit_3894 = 224.0f;
/* 804547C8-804547CC 002DC8 0004+00 6/6 0/0 0/0 .sdata2 @3895 */
SECTION_SDATA2 static f32 lit_3895 = 0.5f;
/* 804547CC-804547D0 002DCC 0004+00 2/2 0/0 0/0 .sdata2 @3896 */
SECTION_SDATA2 static f32 lit_3896 = 90.0f;
/* 804547D0-804547D4 002DD0 0004+00 2/2 0/0 0/0 .sdata2 @3897 */
SECTION_SDATA2 static f32 lit_3897 = 180.0f;
/* 804547D4-804547D8 002DD4 0004+00 2/2 0/0 0/0 .sdata2 @3898 */
SECTION_SDATA2 static f32 lit_3898 = 270.0f;
/* 8020B140-8020B518 205A80 03D8+00 1/0 0/0 0/0 .text draw__14dMeterHaihai_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterHaihai_c::draw() {
nofralloc
#include "asm/d/meter/d_meter_haihai/draw__14dMeterHaihai_cFv.s"
}
#pragma pop
/* ############################################################################################## */
/* 804547D8-804547DC 002DD8 0004+00 2/2 0/0 0/0 .sdata2 @3940 */
SECTION_SDATA2 static f32 lit_3940 = 3.0f;
/* 804547DC-804547E0 002DDC 0004+00 2/2 0/0 0/0 .sdata2 @3941 */
SECTION_SDATA2 static f32 lit_3941 = 5.0f;
/* 804547E0-804547E4 002DE0 0004+00 1/1 0/0 0/0 .sdata2 @3942 */
SECTION_SDATA2 static f32 lit_3942 = 70.0f;
/* 804547E4-804547E8 002DE4 0004+00 1/1 0/0 0/0 .sdata2 @3943 */
SECTION_SDATA2 static f32 lit_3943 = 50.0f;
/* 8020B518-8020B814 205E58 02FC+00 0/0 1/1 0/0 .text drawHaihai__14dMeterHaihai_cFUc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterHaihai_c::drawHaihai(u8 param_0) {
nofralloc
#include "asm/d/meter/d_meter_haihai/drawHaihai__14dMeterHaihai_cFUc.s"
}
#pragma pop
/* 8020B814-8020B9B0 206154 019C+00 0/0 2/2 0/0 .text drawHaihai__14dMeterHaihai_cFUcffff
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterHaihai_c::drawHaihai(u8 param_0, f32 param_1, f32 param_2, f32 param_3,
f32 param_4) {
nofralloc
#include "asm/d/meter/d_meter_haihai/drawHaihai__14dMeterHaihai_cFUcffff.s"
}
#pragma pop
/* 8020B9B0-8020BA4C 2062F0 009C+00 2/2 0/0 0/0 .text drawHaihaiLeft__14dMeterHaihai_cFff
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterHaihai_c::drawHaihaiLeft(f32 param_0, f32 param_1) {
nofralloc
#include "asm/d/meter/d_meter_haihai/drawHaihaiLeft__14dMeterHaihai_cFff.s"
}
#pragma pop
/* 8020BA4C-8020BAE8 20638C 009C+00 2/2 0/0 0/0 .text drawHaihaiRight__14dMeterHaihai_cFff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterHaihai_c::drawHaihaiRight(f32 param_0, f32 param_1) {
nofralloc
#include "asm/d/meter/d_meter_haihai/drawHaihaiRight__14dMeterHaihai_cFff.s"
}
#pragma pop
/* 8020BAE8-8020BB84 206428 009C+00 2/2 0/0 0/0 .text drawHaihaiTop__14dMeterHaihai_cFff
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterHaihai_c::drawHaihaiTop(f32 param_0, f32 param_1) {
nofralloc
#include "asm/d/meter/d_meter_haihai/drawHaihaiTop__14dMeterHaihai_cFff.s"
}
#pragma pop
/* 8020BB84-8020BC20 2064C4 009C+00 2/2 0/0 0/0 .text drawHaihaiBottom__14dMeterHaihai_cFff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterHaihai_c::drawHaihaiBottom(f32 param_0, f32 param_1) {
nofralloc
#include "asm/d/meter/d_meter_haihai/drawHaihaiBottom__14dMeterHaihai_cFff.s"
}
#pragma pop
/* ############################################################################################## */
/* 804547E8-804547EC 002DE8 0004+00 1/1 0/0 0/0 .sdata2 @4116 */
SECTION_SDATA2 static f32 lit_4116 = 4.0f / 5.0f;
/* 804547EC-804547F0 002DEC 0004+00 1/1 0/0 0/0 .sdata2 @4117 */
SECTION_SDATA2 static f32 lit_4117 = 3.0f / 5.0f;
/* 8020BC20-8020BDAC 206560 018C+00 1/1 1/1 0/0 .text setScale__14dMeterHaihai_cFf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterHaihai_c::setScale(f32 param_0) {
nofralloc
#include "asm/d/meter/d_meter_haihai/setScale__14dMeterHaihai_cFf.s"
}
#pragma pop
/* 8020BDAC-8020BEA0 2066EC 00F4+00 1/0 0/0 0/0 .text _delete__14dMeterHaihai_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterHaihai_c::_delete() {
nofralloc
#include "asm/d/meter/d_meter_haihai/_delete__14dMeterHaihai_cFv.s"
}
#pragma pop
/* 8020BEA0-8020BEA4 2067E0 0004+00 1/1 0/0 0/0 .text alphaAnimeHaihai__14dMeterHaihai_cFUl */
void dMeterHaihai_c::alphaAnimeHaihai(u32 param_0) {
/* empty function */
}
/* ############################################################################################## */
/* 804547F0-804547F8 002DF0 0004+04 4/4 0/0 0/0 .sdata2 @4165 */
SECTION_SDATA2 static f32 lit_4165[1 + 1 /* padding */] = {
1.0f,
/* padding */
0.0f,
};
/* 8020BEA4-8020BF00 2067E4 005C+00 1/1 0/0 0/0 .text updateHaihai__14dMeterHaihai_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterHaihai_c::updateHaihai() {
nofralloc
#include "asm/d/meter/d_meter_haihai/updateHaihai__14dMeterHaihai_cFv.s"
}
#pragma pop
/* ############################################################################################## */
/* 804547F8-80454800 002DF8 0008+00 3/3 0/0 0/0 .sdata2 @4189 */
SECTION_SDATA2 static f64 lit_4189 = 4503601774854144.0 /* cast s32 to float */;
/* 8020BF00-8020C078 206840 0178+00 1/1 0/0 0/0 .text
* playBckAnime__14dMeterHaihai_cFP18J2DAnmTransformKey */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterHaihai_c::playBckAnime(J2DAnmTransformKey* param_0) {
nofralloc
#include "asm/d/meter/d_meter_haihai/playBckAnime__14dMeterHaihai_cFP18J2DAnmTransformKey.s"
}
#pragma pop
/* 8020C078-8020C1CC 2069B8 0154+00 1/1 0/0 0/0 .text
* playBtkAnime__14dMeterHaihai_cFP19J2DAnmTextureSRTKey */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterHaihai_c::playBtkAnime(J2DAnmTextureSRTKey* param_0) {
nofralloc
#include "asm/d/meter/d_meter_haihai/playBtkAnime__14dMeterHaihai_cFP19J2DAnmTextureSRTKey.s"
}
#pragma pop
/* 8020C1CC-8020C320 206B0C 0154+00 1/1 0/0 0/0 .text
* playBpkAnime__14dMeterHaihai_cFP11J2DAnmColor */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterHaihai_c::playBpkAnime(J2DAnmColor* param_0) {
nofralloc
#include "asm/d/meter/d_meter_haihai/playBpkAnime__14dMeterHaihai_cFP11J2DAnmColor.s"
}
#pragma pop
/* 80398158-80398158 0247B8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|