mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-07-31 07:45:48 -04:00
Some work on d_menu_fishing (#304)
* Some work on d_menu_fishing * pr improved based on comments * forgot ./tp pull-request
This commit is contained in:
+4
-4
@@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes)
|
||||
.init | 97.972973% | 9280 | 9472
|
||||
.extab | 100.000000% | 96 | 96
|
||||
.extabindex | 100.000000% | 96 | 96
|
||||
.text | 25.173611% | 905380 | 3596544
|
||||
.text | 25.184399% | 905768 | 3596544
|
||||
.ctors | 100.000000% | 448 | 448
|
||||
.dtors | 100.000000% | 32 | 32
|
||||
.rodata | 100.000000% | 193856 | 193856
|
||||
.data | 100.000000% | 197632 | 197632
|
||||
.sdata | 100.000000% | 1408 | 1408
|
||||
.sdata2 | 100.000000% | 20832 | 20832
|
||||
Total | 33.062035% | 1329316 | 4020672
|
||||
Total | 33.071686% | 1329704 | 4020672
|
||||
|
||||
## Total
|
||||
|
||||
Section | Percentage | Decompiled (bytes) | Total (bytes)
|
||||
---|---|---|---
|
||||
main.dol | 33.062035% | 1329316 | 4020672
|
||||
main.dol | 33.071686% | 1329704 | 4020672
|
||||
RELs | 33.385425% | 3839432 | 11500324
|
||||
Total | 33.301652% | 5168748 | 15520996
|
||||
Total | 33.304151% | 5169136 | 15520996
|
||||
|
||||
## RELs
|
||||
|
||||
|
||||
-18
@@ -1,18 +0,0 @@
|
||||
lbl_801C4D54:
|
||||
/* 801C4D54 3C E0 80 3A */ lis r7, __vt__12dDlst_base_c@ha /* 0x803A6F88@ha */
|
||||
/* 801C4D58 38 07 6F 88 */ addi r0, r7, __vt__12dDlst_base_c@l /* 0x803A6F88@l */
|
||||
/* 801C4D5C 90 03 00 00 */ stw r0, 0(r3)
|
||||
/* 801C4D60 3C E0 80 3C */ lis r7, __vt__15dMenu_Fishing_c@ha /* 0x803BD074@ha */
|
||||
/* 801C4D64 38 07 D0 74 */ addi r0, r7, __vt__15dMenu_Fishing_c@l /* 0x803BD074@l */
|
||||
/* 801C4D68 90 03 00 00 */ stw r0, 0(r3)
|
||||
/* 801C4D6C 90 83 00 04 */ stw r4, 4(r3)
|
||||
/* 801C4D70 38 80 00 00 */ li r4, 0
|
||||
/* 801C4D74 90 83 00 08 */ stw r4, 8(r3)
|
||||
/* 801C4D78 90 83 00 14 */ stw r4, 0x14(r3)
|
||||
/* 801C4D7C 90 A3 00 0C */ stw r5, 0xc(r3)
|
||||
/* 801C4D80 90 C3 00 10 */ stw r6, 0x10(r3)
|
||||
/* 801C4D84 38 00 00 01 */ li r0, 1
|
||||
/* 801C4D88 98 03 01 FA */ stb r0, 0x1fa(r3)
|
||||
/* 801C4D8C 98 83 01 FB */ stb r4, 0x1fb(r3)
|
||||
/* 801C4D90 B0 83 01 F8 */ sth r4, 0x1f8(r3)
|
||||
/* 801C4D94 4E 80 00 20 */ blr
|
||||
@@ -1,28 +0,0 @@
|
||||
lbl_801C504C:
|
||||
/* 801C504C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 801C5050 7C 08 02 A6 */ mflr r0
|
||||
/* 801C5054 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 801C5058 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 801C505C 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 801C5060 38 60 00 2C */ li r3, 0x2c
|
||||
/* 801C5064 48 10 9B E9 */ bl __nw__FUl
|
||||
/* 801C5068 7C 60 1B 79 */ or. r0, r3, r3
|
||||
/* 801C506C 41 82 00 0C */ beq lbl_801C5078
|
||||
/* 801C5070 48 08 4B B1 */ bl __ct__12dMsgString_cFv
|
||||
/* 801C5074 7C 60 1B 78 */ mr r0, r3
|
||||
lbl_801C5078:
|
||||
/* 801C5078 90 1F 01 F4 */ stw r0, 0x1f4(r31)
|
||||
/* 801C507C 7F E3 FB 78 */ mr r3, r31
|
||||
/* 801C5080 48 00 05 59 */ bl screenSetBase__15dMenu_Fishing_cFv
|
||||
/* 801C5084 7F E3 FB 78 */ mr r3, r31
|
||||
/* 801C5088 48 00 0C B5 */ bl screenSetDoIcon__15dMenu_Fishing_cFv
|
||||
/* 801C508C 7F E3 FB 78 */ mr r3, r31
|
||||
/* 801C5090 38 80 00 01 */ li r4, 1
|
||||
/* 801C5094 48 00 11 7D */ bl setHIO__15dMenu_Fishing_cFb
|
||||
/* 801C5098 7F E3 FB 78 */ mr r3, r31
|
||||
/* 801C509C 48 00 01 91 */ bl init__15dMenu_Fishing_cFv
|
||||
/* 801C50A0 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 801C50A4 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 801C50A8 7C 08 03 A6 */ mtlr r0
|
||||
/* 801C50AC 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 801C50B0 4E 80 00 20 */ blr
|
||||
@@ -1,21 +0,0 @@
|
||||
lbl_801C6018:
|
||||
/* 801C6018 2C 04 00 00 */ cmpwi r4, 0
|
||||
/* 801C601C 40 80 00 08 */ bge lbl_801C6024
|
||||
/* 801C6020 1C 84 FF FF */ mulli r4, r4, -1
|
||||
lbl_801C6024:
|
||||
/* 801C6024 2C 04 03 E8 */ cmpwi r4, 0x3e8
|
||||
/* 801C6028 41 80 00 08 */ blt lbl_801C6030
|
||||
/* 801C602C 38 80 03 E7 */ li r4, 0x3e7
|
||||
lbl_801C6030:
|
||||
/* 801C6030 2C 04 00 64 */ cmpwi r4, 0x64
|
||||
/* 801C6034 41 80 00 0C */ blt lbl_801C6040
|
||||
/* 801C6038 38 60 00 03 */ li r3, 3
|
||||
/* 801C603C 4E 80 00 20 */ blr
|
||||
lbl_801C6040:
|
||||
/* 801C6040 38 00 00 0A */ li r0, 0xa
|
||||
/* 801C6044 7C 85 FE 70 */ srawi r5, r4, 0x1f
|
||||
/* 801C6048 54 03 0F FE */ srwi r3, r0, 0x1f
|
||||
/* 801C604C 7C 00 20 10 */ subfc r0, r0, r4
|
||||
/* 801C6050 7C 65 19 14 */ adde r3, r5, r3
|
||||
/* 801C6054 38 63 00 01 */ addi r3, r3, 1
|
||||
/* 801C6058 4E 80 00 20 */ blr
|
||||
@@ -1,12 +0,0 @@
|
||||
lbl_801C5204:
|
||||
/* 801C5204 80 63 00 14 */ lwz r3, 0x14(r3)
|
||||
/* 801C5208 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 801C520C 41 82 00 18 */ beq lbl_801C5224
|
||||
/* 801C5210 88 03 00 0C */ lbz r0, 0xc(r3)
|
||||
/* 801C5214 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 801C5218 40 82 00 0C */ bne lbl_801C5224
|
||||
/* 801C521C 38 60 00 00 */ li r3, 0
|
||||
/* 801C5220 4E 80 00 20 */ blr
|
||||
lbl_801C5224:
|
||||
/* 801C5224 38 60 00 01 */ li r3, 1
|
||||
/* 801C5228 4E 80 00 20 */ blr
|
||||
@@ -1,16 +0,0 @@
|
||||
lbl_801C556C:
|
||||
/* 801C556C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 801C5570 7C 08 02 A6 */ mflr r0
|
||||
/* 801C5574 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 801C5578 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 801C557C 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 801C5580 38 80 00 00 */ li r4, 0
|
||||
/* 801C5584 48 00 09 35 */ bl setAButtonString__15dMenu_Fishing_cFUs
|
||||
/* 801C5588 7F E3 FB 78 */ mr r3, r31
|
||||
/* 801C558C 38 80 03 F9 */ li r4, 0x3f9
|
||||
/* 801C5590 48 00 09 D9 */ bl setBButtonString__15dMenu_Fishing_cFUs
|
||||
/* 801C5594 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 801C5598 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 801C559C 7C 08 03 A6 */ mtlr r0
|
||||
/* 801C55A0 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 801C55A4 4E 80 00 20 */ blr
|
||||
@@ -1,13 +0,0 @@
|
||||
lbl_801C55A8:
|
||||
/* 801C55A8 80 8D 86 48 */ lwz r4, mFader__13mDoGph_gInf_c(r13)
|
||||
/* 801C55AC 80 04 00 04 */ lwz r0, 4(r4)
|
||||
/* 801C55B0 2C 00 00 01 */ cmpwi r0, 1
|
||||
/* 801C55B4 4C 82 00 20 */ bnelr
|
||||
/* 801C55B8 3C 80 80 3E */ lis r4, m_cpadInfo__8mDoCPd_c@ha /* 0x803DD2E8@ha */
|
||||
/* 801C55BC 38 84 D2 E8 */ addi r4, r4, m_cpadInfo__8mDoCPd_c@l /* 0x803DD2E8@l */
|
||||
/* 801C55C0 80 04 00 34 */ lwz r0, 0x34(r4)
|
||||
/* 801C55C4 54 00 05 AD */ rlwinm. r0, r0, 0, 0x16, 0x16
|
||||
/* 801C55C8 4D 82 00 20 */ beqlr
|
||||
/* 801C55CC 38 00 00 03 */ li r0, 3
|
||||
/* 801C55D0 98 03 01 FA */ stb r0, 0x1fa(r3)
|
||||
/* 801C55D4 4E 80 00 20 */ blr
|
||||
@@ -5,9 +5,10 @@
|
||||
#include "d/d_lib.h"
|
||||
#include "d/d_select_cursor.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "m_Do/m_Do_dvd_thread.h"
|
||||
#include "d/msg/d_msg_string.h"
|
||||
|
||||
|
||||
class mDoDvdThd_mountArchive_c;
|
||||
class dMsgString_c;
|
||||
|
||||
class dMenu_Fishing_c : public dDlst_base_c {
|
||||
public:
|
||||
@@ -25,7 +26,7 @@ public:
|
||||
/* 801C5D3C */ void screenSetDoIcon();
|
||||
/* 801C5EB8 */ void setAButtonString(u16);
|
||||
/* 801C5F68 */ void setBButtonString(u16);
|
||||
/* 801C6018 */ void getFigure(int);
|
||||
/* 801C6018 */ int getFigure(int);
|
||||
/* 801C605C */ void setFishParam(int, u16, u8);
|
||||
/* 801C6210 */ void setHIO(bool);
|
||||
|
||||
|
||||
@@ -1,38 +1,14 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: d/menu/d_menu_fishing
|
||||
//
|
||||
/**
|
||||
* d_menu_fishing.cpp
|
||||
* Fish Journal
|
||||
*/
|
||||
|
||||
#include "d/menu/d_menu_fishing.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "m_Do/m_Do_controller_pad.h"
|
||||
#include "m_Do/m_Do_graphic.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct mDoGph_gInf_c {
|
||||
static u8 mFader[4];
|
||||
};
|
||||
|
||||
struct mDoDvdThd_mountArchive_c {
|
||||
/* 80015E14 */ void create(char const*, u8, JKRHeap*);
|
||||
};
|
||||
|
||||
struct mDoCPd_c {
|
||||
static u8 m_cpadInfo[256];
|
||||
};
|
||||
|
||||
struct dMsgString_c {
|
||||
/* 80249C20 */ dMsgString_c();
|
||||
/* 80249D28 */ ~dMsgString_c();
|
||||
};
|
||||
|
||||
struct JMSMesgEntry_c {};
|
||||
|
||||
struct dMeter2Info_c {
|
||||
/* 8021C544 */ void getStringKanji(u32, char*, JMSMesgEntry_c*);
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
@@ -102,9 +78,9 @@ extern "C" void _restgpr_28();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" extern void* __vt__12dDlst_base_c[3];
|
||||
extern "C" u8 m_cpadInfo__8mDoCPd_c[256];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
|
||||
extern "C" extern u8 g_drawHIO[3880];
|
||||
extern "C" extern u8 g_meter2_info[248];
|
||||
|
||||
extern "C" u8 mFader__13mDoGph_gInf_c[4];
|
||||
|
||||
//
|
||||
@@ -161,14 +137,17 @@ SECTION_DATA extern void* __vt__15dMenu_Fishing_c[4 + 3 /* padding */] = {
|
||||
|
||||
/* 801C4D54-801C4D98 1BF694 0044+00 0/0 2/2 0/0 .text
|
||||
* __ct__15dMenu_Fishing_cFP10JKRExpHeapP9STControlP10CSTControl */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dMenu_Fishing_c::dMenu_Fishing_c(JKRExpHeap* param_0, STControl* param_1, CSTControl* param_2) {
|
||||
nofralloc
|
||||
#include "asm/d/menu/d_menu_fishing/__ct__15dMenu_Fishing_cFP10JKRExpHeapP9STControlP10CSTControl.s"
|
||||
dMenu_Fishing_c::dMenu_Fishing_c(JKRExpHeap* heap, STControl* stControl, CSTControl* cstControl) {
|
||||
mpHeap = heap;
|
||||
field_0x8 = 0;
|
||||
field_0x14 = 0;
|
||||
mpStick = stControl;
|
||||
mpCStick = cstControl;
|
||||
mStatus = 1;
|
||||
field_0x1fb = 0;
|
||||
field_0x1f8 = 0;
|
||||
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 801C4D98-801C504C 1BF6D8 02B4+00 1/0 0/0 0/0 .text __dt__15dMenu_Fishing_cFv */
|
||||
#pragma push
|
||||
@@ -178,17 +157,16 @@ asm dMenu_Fishing_c::~dMenu_Fishing_c() {
|
||||
nofralloc
|
||||
#include "asm/d/menu/d_menu_fishing/__dt__15dMenu_Fishing_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#pragma pop
|
||||
|
||||
/* 801C504C-801C50B4 1BF98C 0068+00 1/1 0/0 0/0 .text _create__15dMenu_Fishing_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMenu_Fishing_c::_create() {
|
||||
nofralloc
|
||||
#include "asm/d/menu/d_menu_fishing/_create__15dMenu_Fishing_cFv.s"
|
||||
void dMenu_Fishing_c::_create() {
|
||||
mpString = new dMsgString_c();
|
||||
screenSetBase();
|
||||
screenSetDoIcon();
|
||||
setHIO(true);
|
||||
init();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 801C50B4-801C514C 1BF9F4 0098+00 0/0 2/2 0/0 .text _move__15dMenu_Fishing_cFv */
|
||||
#pragma push
|
||||
@@ -216,6 +194,18 @@ SECTION_SDATA2 static f32 lit_3905 = 608.0f;
|
||||
SECTION_SDATA2 static f32 lit_3906 = 448.0f;
|
||||
|
||||
/* 801C514C-801C5204 1BFA8C 00B8+00 1/1 1/1 0/0 .text _draw__15dMenu_Fishing_cFv */
|
||||
#ifdef NONMATCHING
|
||||
// u8 lit_3904
|
||||
void dMenu_Fishing_c::_draw() {
|
||||
if (field_0x8) {
|
||||
J2DGrafContext* pJVar1 = dComIfGp_getCurrentGrafPort();
|
||||
mpBlackTex->setAlpha(0xff);
|
||||
mpBlackTex->draw(0,0,lit_3905,lit_3906,0,0,0);
|
||||
mpScreen->draw(0,0,pJVar1);
|
||||
mpIconScreen->draw(0,0,pJVar1);
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -224,16 +214,15 @@ asm void dMenu_Fishing_c::_draw() {
|
||||
#include "asm/d/menu/d_menu_fishing/_draw__15dMenu_Fishing_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 801C5204-801C522C 1BFB44 0028+00 0/0 2/2 0/0 .text isSync__15dMenu_Fishing_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm bool dMenu_Fishing_c::isSync() {
|
||||
nofralloc
|
||||
#include "asm/d/menu/d_menu_fishing/isSync__15dMenu_Fishing_cFv.s"
|
||||
bool dMenu_Fishing_c::isSync() {
|
||||
if (field_0x14 && !field_0x14->sync()) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 801C522C-801C52E4 1BFB6C 00B8+00 1/1 0/0 0/0 .text init__15dMenu_Fishing_cFv */
|
||||
#pragma push
|
||||
@@ -243,7 +232,7 @@ asm void dMenu_Fishing_c::init() {
|
||||
nofralloc
|
||||
#include "asm/d/menu/d_menu_fishing/init__15dMenu_Fishing_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80396068-80396068 0226C8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
@@ -279,24 +268,17 @@ asm void dMenu_Fishing_c::_close() {
|
||||
#pragma pop
|
||||
|
||||
/* 801C556C-801C55A8 1BFEAC 003C+00 1/0 0/0 0/0 .text wait_init__15dMenu_Fishing_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMenu_Fishing_c::wait_init() {
|
||||
nofralloc
|
||||
#include "asm/d/menu/d_menu_fishing/wait_init__15dMenu_Fishing_cFv.s"
|
||||
void dMenu_Fishing_c::wait_init() {
|
||||
setAButtonString(0);
|
||||
setBButtonString(0x3f9);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 801C55A8-801C55D8 1BFEE8 0030+00 1/0 0/0 0/0 .text wait_move__15dMenu_Fishing_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMenu_Fishing_c::wait_move() {
|
||||
nofralloc
|
||||
#include "asm/d/menu/d_menu_fishing/wait_move__15dMenu_Fishing_cFv.s"
|
||||
void dMenu_Fishing_c::wait_move() {
|
||||
if (mDoGph_gInf_c::getFader()->getStatus() == 1 && mDoCPd_c::getTrigB(0)) {
|
||||
mStatus = 3;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80395D90-80395DC0 0223F0 0030+00 1/1 0/0 0/0 .rodata fish_n$4060 */
|
||||
@@ -524,14 +506,19 @@ asm void dMenu_Fishing_c::setBButtonString(u16 param_0) {
|
||||
#pragma pop
|
||||
|
||||
/* 801C6018-801C605C 1C0958 0044+00 1/1 0/0 0/0 .text getFigure__15dMenu_Fishing_cFi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMenu_Fishing_c::getFigure(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/menu/d_menu_fishing/getFigure__15dMenu_Fishing_cFi.s"
|
||||
int dMenu_Fishing_c::getFigure(int param_0) {
|
||||
|
||||
if (param_0 < 0) {
|
||||
param_0 *= -1;
|
||||
}
|
||||
if (1000 <= param_0) {
|
||||
param_0 = 999;
|
||||
}
|
||||
if (100 <= param_0) {
|
||||
return 3;
|
||||
}
|
||||
return (param_0 >= 10) ? 2 : 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 801C605C-801C6210 1C099C 01B4+00 1/1 0/0 0/0 .text setFishParam__15dMenu_Fishing_cFiUsUc */
|
||||
#pragma push
|
||||
@@ -562,7 +549,7 @@ extern "C" asm void draw__15dMenu_Fishing_cFv() {
|
||||
nofralloc
|
||||
#include "asm/d/menu/d_menu_fishing/draw__15dMenu_Fishing_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#pragma pop
|
||||
|
||||
/* 801C65BC-801C65F8 1C0EFC 003C+00 0/0 1/0 0/0 .text __sinit_d_menu_fishing_cpp */
|
||||
#pragma push
|
||||
|
||||
Reference in New Issue
Block a user