// // Generated By: dol2asm // Translation Unit: d/meter/d_meter_string // #include "dol2asm.h" #include "dolphin/types.h" #include "d/meter/d_meter_string.h" // // Types: // struct dMeterSub_c { /* 80194138 */ // False False // bool False bool isDead(); }; struct dMeterString_c { /* 8020ED60 */ // False False // int False dMeterString_c(int); /* 8020EDF4 */ // True False ~dMeterString_c(); /* 8020EE70 */ // True False void _create(); /* 8020F150 */ // True False // u32 False void _execute(u32); /* 8020F1B0 */ // True False void draw(); /* 8020F49C */ // True False void _delete(); /* 8020F5A4 */ // False False // int False void createString(int); /* 8020F66C */ // True False // f32 False void playBckAnimation(f32); /* 8020F6EC */ // True False void drawPikari(); /* 8020FA88 */ // True False // int False void isLeadByte(int); }; struct JMSMesgEntry_c { }; struct dMeter2Info_c { /* 8021C250 */ // False False // u32 False // char* False // char False // JMSMesgEntry_c* False // JMSMesgEntry_c False void getString(u32, char*, JMSMesgEntry_c*); /* 8021CC00 */ // False False void resetMeterString(); }; struct JUtility { struct TColor { }; }; struct dMeter2Draw_c { /* 802140DC */ // False False // f32 False // f32 False // f32* False // f32 False // f32 False // JUtility::TColor False // JUtility::TColor False // JUtility::TColor False // JUtility::TColor False // f32 False // u8 False void drawPikari(f32, f32, f32*, f32, JUtility::TColor, JUtility::TColor, JUtility::TColor, JUtility::TColor, f32, u8); }; struct JKRFileLoader { /* 802D4270 */ // False False // char const* False // char const False // char False // JKRFileLoader* False // JKRFileLoader False void getGlbResource(char const*, JKRFileLoader*); }; struct JKRExpHeap { }; struct JKRArchive { }; struct J2DTextBox { /* 80300658 */ // False False void getStringPtr() const; /* 8030074C */ // False False // s16 False // char const* False // char const False // char False // ... False void setString(s16, char const*, ...); }; struct J2DGrafContext { }; struct J2DScreen { /* 802F8498 */ // False False J2DScreen(); /* 802F8648 */ // False False // char const* False // char const False // char False // u32 False // JKRArchive* False // JKRArchive False void setPriority(char const*, u32, JKRArchive*); /* 802F8ED4 */ // False False // f32 False // f32 False // J2DGrafContext const* False // J2DGrafContext const False // J2DGrafContext False void draw(f32, f32, J2DGrafContext const*); }; struct J2DPane { /* 802F7AFC */ // False False void getParentPane(); /* 802F7FCC */ // False False void animationTransform(); }; struct J2DAnmLoaderDataBase { /* 80308A6C */ // False False // void const* False // void const False // void False void load(void const*); }; struct CPaneMgrAlpha { /* 802557D0 */ // False False // f32 False void setAlphaRate(f32); }; struct CPaneMgr { /* 80253984 */ // False False // J2DScreen* False // J2DScreen False // u64 False // u8 False // JKRExpHeap* False // JKRExpHeap False CPaneMgr(J2DScreen*, u64, u8, JKRExpHeap*); /* 802545B0 */ // False False // f32 False // f32 False void paneTrans(f32, f32); /* 80254EBC */ // False False // J2DPane* False // J2DPane False // bool False // s16 False void getGlobalVtxCenter(J2DPane*, bool, s16); }; // // Forward References: // // False False // int False extern "C" void __ct__14dMeterString_cFi(); // True False extern "C" void __dt__14dMeterString_cFv(); // True False extern "C" void _create__14dMeterString_cFv(); // True False // u32 False extern "C" void _execute__14dMeterString_cFUl(); // True False extern "C" void draw__14dMeterString_cFv(); // True False extern "C" void _delete__14dMeterString_cFv(); // False False // int False extern "C" void createString__14dMeterString_cFi(); // True False // f32 False extern "C" void playBckAnimation__14dMeterString_cFf(); // True False extern "C" void drawPikari__14dMeterString_cFv(); // True False // int False extern "C" void isLeadByte__14dMeterString_cFi(); extern "C" extern char const* const d_meter_d_meter_string__stringBase0; extern "C" extern void* __vt__14dMeterString_c[8]; // // External References: // // False False void mDoExt_getMesgFont(); // False False // int False void dComIfG_TimerDeleteRequest(int); // False False // J2DScreen* False // J2DScreen False void dPaneClass_showNullPane(J2DScreen*); // False False // s32 False // u32 False // u8 False // u8 False // f32 False // f32 False // f32 False // f32 False void dTimer_createTimer(s32, u32, u8, u8, f32, f32, f32, f32); // False False // void* False // void False // u32 False void* operator new(u32); // False False // void False // void* False // void False void operator delete(void*); // False False extern "C" void mDoExt_getMesgFont__Fv(); // False False // int False extern "C" void dComIfG_TimerDeleteRequest__Fi(); // False False // bool False extern "C" bool isDead__11dMeterSub_cFv(); // False False // f32 False // f32 False // f32* False // f32 False // f32 False // JUtility::TColor False // JUtility::TColor False // JUtility::TColor False // JUtility::TColor False // f32 False // u8 False extern "C" void drawPikari__13dMeter2Draw_cFffPffQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColorfUc(); // False False // u32 False // char* False // char False // JMSMesgEntry_c* False // JMSMesgEntry_c False extern "C" void getString__13dMeter2Info_cFUlPcP14JMSMesgEntry_c(); // False False extern "C" void resetMeterString__13dMeter2Info_cFv(); // False False // J2DScreen* False // J2DScreen False // u64 False // u8 False // JKRExpHeap* False // JKRExpHeap False extern "C" void __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap(); // False False // f32 False // f32 False extern "C" void paneTrans__8CPaneMgrFff(); // False False // J2DPane* False // J2DPane False // bool False // s16 False extern "C" void getGlobalVtxCenter__8CPaneMgrFP7J2DPanebs(); // False False // J2DScreen* False // J2DScreen False extern "C" void dPaneClass_showNullPane__FP9J2DScreen(); // False False // f32 False extern "C" void setAlphaRate__13CPaneMgrAlphaFf(); // False False // s32 False // u32 False // u8 False // u8 False // f32 False // f32 False // f32 False // f32 False extern "C" void dTimer_createTimer__FlUlUcUcffff(); // False False // void* False // void False // u32 False extern "C" void* __nw__FUl(); // False False // void False // void* False // void False extern "C" void __dl__FPv(); // False False // char const* False // char const False // char False // JKRFileLoader* False // JKRFileLoader False extern "C" void getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader(); // False False extern "C" void getParentPane__7J2DPaneFv(); // False False extern "C" void animationTransform__7J2DPaneFv(); // False False extern "C" void __ct__9J2DScreenFv(); // False False // char const* False // char const False // char False // u32 False // JKRArchive* False // JKRArchive False extern "C" void setPriority__9J2DScreenFPCcUlP10JKRArchive(); // False False // f32 False // f32 False // J2DGrafContext const* False // J2DGrafContext const False // J2DGrafContext False extern "C" void draw__9J2DScreenFffPC14J2DGrafContext(); // False False extern "C" void getStringPtr__10J2DTextBoxCFv(); // False False // s16 False // char const* False // char const False // char False // ... False extern "C" void setString__10J2DTextBoxFsPCce(); // False False // void const* False // void const False // void False extern "C" void load__20J2DAnmLoaderDataBaseFPCv(); // False False extern "C" void _savegpr_23(); // False False extern "C" void _restgpr_23(); // False False extern "C" void strcpy(); 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]; extern "C" extern u8 g_meter2_info[248]; // // Declarations: // /* ############################################################################################## */ /* 803BF308-803BF328 0020+00 s=2 e=0 z=0 None .data __vt__14dMeterString_c */ SECTION_DATA void* __vt__14dMeterString_c[8] = { (void*)NULL /* RTTI */, (void*)NULL, (void*)draw__14dMeterString_cFv, (void*)__dt__14dMeterString_cFv, (void*)_create__14dMeterString_cFv, (void*)_execute__14dMeterString_cFUl, (void*)_delete__14dMeterString_cFv, (void*)isDead__11dMeterSub_cFv, }; /* 8020ED60-8020EDF4 0094+00 s=0 e=1 z=0 None .text __ct__14dMeterString_cFi */ // 8020ED74: 803A6F88 (__vt__12dDlst_base_c) // 8020ED78: 803A6F88 (__vt__12dDlst_base_c) // 8020ED80: 803BB6D4 (__vt__11dMeterSub_c) // 8020ED84: 803BB6D4 (__vt__11dMeterSub_c) // 8020ED8C: 803BF308 (__vt__14dMeterString_c) // 8020ED90: 803BF308 (__vt__14dMeterString_c) // 8020ED98: 804061C0 (g_dComIfG_gameInfo) // 8020ED9C: 804061C0 (g_dComIfG_gameInfo) // 8020EDD8: 8020F5A4 (createString__14dMeterString_cFi) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // int False asm dMeterString_c::dMeterString_c(int param_0) { nofralloc #include "asm/d/meter/d_meter_string/__ct__14dMeterString_cFi.s" } #pragma pop /* 8020EDF4-8020EE70 007C+00 s=1 e=0 z=0 None .text __dt__14dMeterString_cFv */ // 8020EE14: 803BF308 (__vt__14dMeterString_c) // 8020EE18: 803BF308 (__vt__14dMeterString_c) // 8020EE38: 803BB6D4 (__vt__11dMeterSub_c) // 8020EE3C: 803BB6D4 (__vt__11dMeterSub_c) // 8020EE50: 802CED3C (__dl__FPv) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False asm dMeterString_c::~dMeterString_c() { nofralloc #include "asm/d/meter/d_meter_string/__dt__14dMeterString_cFv.s" } #pragma pop /* ############################################################################################## */ /* 80398210-80398258 0041+07 s=1 e=0 z=0 None .rodata @stringBase0 */ #pragma push #pragma force_active on #pragma section ".dead" SECTION_DEAD char const* const stringBase_80398210 = "zelda_game_image_cow_get_in.blo"; SECTION_DEAD char const* const stringBase_80398230 = "zelda_game_image_cow_get_in.bck"; SECTION_DEAD char const* const stringBase_80398250 = ""; /* @stringBase0 padding */ SECTION_DEAD static char const* const pad_80398251 = "\0\0\0\0\0\0"; #pragma pop /* 80454848-8045484C 0004+00 s=1 e=0 z=0 None .sdata2 @3758 */ SECTION_SDATA2 static f32 lit_3758 = 210.0f; /* 8045484C-80454850 0004+00 s=1 e=0 z=0 None .sdata2 @3759 */ SECTION_SDATA2 static f32 lit_3759 = 410.0f; /* 80454850-80454854 0004+00 s=1 e=0 z=0 None .sdata2 @3760 */ SECTION_SDATA2 static f32 lit_3760 = 32.0f; /* 80454854-80454858 0004+00 s=1 e=0 z=0 None .sdata2 @3761 */ SECTION_SDATA2 static f32 lit_3761 = 419.0f; /* 80454858-8045485C 0004+00 s=3 e=0 z=0 None .sdata2 @3762 */ SECTION_SDATA2 static u8 lit_3762[4] = { 0x00, 0x00, 0x00, 0x00, }; /* 8020EE70-8020F150 02E0+00 s=1 e=0 z=0 None .text _create__14dMeterString_cFv */ // 8020EEB4: 80454848 (lit_3758) // 8020EEB8: 8045484C (lit_3759) // 8020EEBC: 80454850 (lit_3760) // 8020EEC0: 80454854 (lit_3761) // 8020EEC4: 80260F8C (dTimer_createTimer__FlUlUcUcffff) // 8020EED0: 804061C0 (g_dComIfG_gameInfo) // 8020EED4: 804061C0 (g_dComIfG_gameInfo) // 8020EEF4: 802CEC4C (__nw__FUl) // 8020EF00: 802F8498 (__ct__9J2DScreenFv) // 8020EF10: 80398210 (d_meter_d_meter_string__stringBase0) // 8020EF14: 80398210 (d_meter_d_meter_string__stringBase0) // 8020EF20: 802F8648 (setPriority__9J2DScreenFPCcUlP10JKRArchive) // 8020EF28: 802550E8 (dPaneClass_showNullPane__FP9J2DScreen) // 8020EF5C: 80398210 (d_meter_d_meter_string__stringBase0) // 8020EF60: 80398210 (d_meter_d_meter_string__stringBase0) // 8020EF6C: 802D4270 (getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader) // 8020EF70: 80308A6C (load__20J2DAnmLoaderDataBaseFPCv) // 8020EF7C: 802CEC4C (__nw__FUl) // 8020EFA4: 80253984 (__ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap) // 8020EFB4: 802CEC4C (__nw__FUl) // 8020EFD8: 80253984 (__ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap) // 8020EFE8: 802CEC4C (__nw__FUl) // 8020F00C: 80253984 (__ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap) // 8020F018: 800149F0 (mDoExt_getMesgFont__Fv) // 8020F058: 800149F0 (mDoExt_getMesgFont__Fv) // 8020F0BC: 80398210 (d_meter_d_meter_string__stringBase0) // 8020F0C0: 80398210 (d_meter_d_meter_string__stringBase0) // 8020F0CC: 8030074C (setString__10J2DTextBoxFsPCce) // 8020F0F4: 80398210 (d_meter_d_meter_string__stringBase0) // 8020F0F8: 80398210 (d_meter_d_meter_string__stringBase0) // 8020F104: 8030074C (setString__10J2DTextBoxFsPCce) // 8020F108: 80454858 (lit_3762) // 8020F130: 8020F66C (playBckAnimation__14dMeterString_cFf) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False asm void dMeterString_c::_create() { nofralloc #include "asm/d/meter/d_meter_string/_create__14dMeterString_cFv.s" } #pragma pop /* 8020F150-8020F1B0 0060+00 s=1 e=0 z=0 None .text _execute__14dMeterString_cFUl */ // 8020F194: 8020F5A4 (createString__14dMeterString_cFi) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // u32 False asm void dMeterString_c::_execute(u32 param_0) { nofralloc #include "asm/d/meter/d_meter_string/_execute__14dMeterString_cFUl.s" } #pragma pop /* ############################################################################################## */ /* 8045485C-80454860 0004+00 s=1 e=0 z=0 None .sdata2 @3819 */ SECTION_SDATA2 static f32 lit_3819 = 60.0f; /* 80454860-80454864 0004+00 s=2 e=0 z=0 None .sdata2 @3820 */ SECTION_SDATA2 static f32 lit_3820 = 1.0f; /* 80454864-80454868 0004+00 s=2 e=0 z=0 None .sdata2 @3821 */ SECTION_SDATA2 static f32 lit_3821 = -1.0f; /* 80454868-80454870 0004+04 s=1 e=0 z=0 None .sdata2 @3822 */ SECTION_SDATA2 static f32 lit_3822[1 + 1 /* padding */] = { 18.0f, /* padding */ 0.0f, }; /* 80454870-80454878 0008+00 s=2 e=0 z=0 None .sdata2 @3824 */ SECTION_SDATA2 static f64 lit_3824 = 4503601774854144.0 /* cast s32 to float */; /* 8020F1B0-8020F49C 02EC+00 s=1 e=0 z=0 None .text draw__14dMeterString_cFv */ // 8020F1E4: 804061C0 (g_dComIfG_gameInfo) // 8020F1E8: 804061C0 (g_dComIfG_gameInfo) // 8020F210: 8042EBC8 (g_drawHIO) // 8020F214: 8042EBC8 (g_drawHIO) // 8020F21C: 80454870 (lit_3824) // 8020F238: 8045485C (lit_3819) // 8020F260: 80454858 (lit_3762) // 8020F274: 80454860 (lit_3820) // 8020F2A4: 8020F66C (playBckAnimation__14dMeterString_cFf) // 8020F34C: 802557D0 (setAlphaRate__13CPaneMgrAlphaFf) // 8020F358: 80454870 (lit_3824) // 8020F374: 8042EBC8 (g_drawHIO) // 8020F378: 8042EBC8 (g_drawHIO) // 8020F3A4: 802545B0 (paneTrans__8CPaneMgrFff) // 8020F3A8: 8042EBC8 (g_drawHIO) // 8020F3AC: 8042EBC8 (g_drawHIO) // 8020F3DC: 80454858 (lit_3762) // 8020F3E8: 802F8ED4 (draw__9J2DScreenFffPC14J2DGrafContext) // 8020F3F0: 80454858 (lit_3762) // 8020F400: 8020F6EC (drawPikari__14dMeterString_cFv) // 8020F408: 80454864 (lit_3821) // 8020F418: 8042EBC8 (g_drawHIO) // 8020F41C: 8042EBC8 (g_drawHIO) // 8020F424: 80454870 (lit_3824) // 8020F448: 80454868 (lit_3822) // 8020F468: 80430188 (g_meter2_info) // 8020F46C: 80430188 (g_meter2_info) // 8020F470: 8021CC00 (resetMeterString__13dMeter2Info_cFv) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False asm void dMeterString_c::draw() { nofralloc #include "asm/d/meter/d_meter_string/draw__14dMeterString_cFv.s" } #pragma pop /* 8020F49C-8020F5A4 0108+00 s=1 e=0 z=0 None .text _delete__14dMeterString_cFv */ // 8020F588: 8002F79C (dComIfG_TimerDeleteRequest__Fi) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False asm void dMeterString_c::_delete() { nofralloc #include "asm/d/meter/d_meter_string/_delete__14dMeterString_cFv.s" } #pragma pop /* ############################################################################################## */ /* 80454878-8045487C 0004+00 s=1 e=0 z=0 None .sdata2 @3866 */ SECTION_SDATA2 static f32 lit_3866 = 40.0f; /* 8020F5A4-8020F66C 00C8+00 s=2 e=1 z=0 None .text createString__14dMeterString_cFi */ // 8020F5C0: 80430188 (g_meter2_info) // 8020F5C4: 80430188 (g_meter2_info) // 8020F5D0: 8021C250 (getString__13dMeter2Info_cFUlPcP14JMSMesgEntry_c) // 8020F5F8: 80300658 (getStringPtr__10J2DTextBoxCFv) // 8020F600: 80368B2C (strcpy) // 8020F624: 80300658 (getStringPtr__10J2DTextBoxCFv) // 8020F62C: 80368B2C (strcpy) // 8020F630: 80454878 (lit_3866) // 8020F638: 80454864 (lit_3821) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // int False asm void dMeterString_c::createString(int param_0) { nofralloc #include "asm/d/meter/d_meter_string/createString__14dMeterString_cFi.s" } #pragma pop /* 8020F66C-8020F6EC 0080+00 s=2 e=0 z=0 None .text playBckAnimation__14dMeterString_cFf */ // 8020F6B4: 802F7FCC (animationTransform__7J2DPaneFv) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // f32 False asm void dMeterString_c::playBckAnimation(f32 param_0) { nofralloc #include "asm/d/meter/d_meter_string/playBckAnimation__14dMeterString_cFf.s" } #pragma pop /* ############################################################################################## */ /* 8045487C-80454880 0004+00 s=1 e=0 z=0 None .sdata2 @3979 */ SECTION_SDATA2 static f32 lit_3979 = 0.5f; /* 8020F6EC-8020FA88 039C+00 s=1 e=0 z=0 None .text drawPikari__14dMeterString_cFv */ // 8020F73C: 803621C4 (_savegpr_23) // 8020F75C: 80254EBC (getGlobalVtxCenter__8CPaneMgrFP7J2DPanebs) // 8020F780: 80300658 (getStringPtr__10J2DTextBoxCFv) // 8020F78C: 80454858 (lit_3762) // 8020F7A0: 800149F0 (mDoExt_getMesgFont__Fv) // 8020F7A8: 80454860 (lit_3820) // 8020F7C0: 802F7AFC (getParentPane__7J2DPaneFv) // 8020F7CC: 80454870 (lit_3824) // 8020F7FC: 8020FA88 (isLeadByte__14dMeterString_cFi) // 8020F8AC: 8045487C (lit_3979) // 8020F8BC: 8042EBC8 (g_drawHIO) // 8020F8C0: 8042EBC8 (g_drawHIO) // 8020F8C4: 80430188 (g_meter2_info) // 8020F8C8: 80430188 (g_meter2_info) // 8020F8D0: 80454870 (lit_3824) // 8020F904: 8020FA88 (isLeadByte__14dMeterString_cFi) // 8020F9D8: 8045487C (lit_3979) // 8020FA0C: 802140DC (drawPikari__13dMeter2Draw_cFffPffQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColorfUc) // 8020FA74: 80362210 (_restgpr_23) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False asm void dMeterString_c::drawPikari() { nofralloc #include "asm/d/meter/d_meter_string/drawPikari__14dMeterString_cFv.s" } #pragma pop /* 8020FA88-8020FAB4 002C+00 s=1 e=0 z=0 None .text isLeadByte__14dMeterString_cFi */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // int False asm void dMeterString_c::isLeadByte(int param_0) { nofralloc #include "asm/d/meter/d_meter_string/isLeadByte__14dMeterString_cFi.s" } #pragma pop