setFadeColor fix, some d_msg_flow functions (#339)

This commit is contained in:
hatal175 2023-05-28 10:21:28 +03:00 committed by GitHub
parent 2baa07dbf6
commit fcb6ae541f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
29 changed files with 166 additions and 686 deletions

View File

@ -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 | 26.824641% | 964760 | 3596544
.text | 26.866903% | 966280 | 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 | 34.538903% | 1388696 | 4020672
Total | 34.576708% | 1390216 | 4020672
## Total
Section | Percentage | Decompiled (bytes) | Total (bytes)
---|---|---|---
main.dol | 34.538903% | 1388696 | 4020672
main.dol | 34.576708% | 1390216 | 4020672
RELs | 33.578532% | 3861640 | 11500324
Total | 33.827314% | 5250336 | 15520996
Total | 33.837107% | 5251856 | 15520996
## RELs

View File

@ -1,30 +0,0 @@
lbl_801FCE78:
/* 801FCE78 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801FCE7C 7C 08 02 A6 */ mflr r0
/* 801FCE80 90 01 00 14 */ stw r0, 0x14(r1)
/* 801FCE84 80 6D 8C 40 */ lwz r3, sManager__10JFWDisplay(r13)
/* 801FCE88 80 63 00 04 */ lwz r3, 4(r3)
/* 801FCE8C 28 03 00 00 */ cmplwi r3, 0
/* 801FCE90 41 82 00 18 */ beq lbl_801FCEA8
/* 801FCE94 38 80 00 0D */ li r4, 0xd
/* 801FCE98 81 83 00 00 */ lwz r12, 0(r3)
/* 801FCE9C 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 801FCEA0 7D 89 03 A6 */ mtctr r12
/* 801FCEA4 4E 80 04 21 */ bctrl
lbl_801FCEA8:
/* 801FCEA8 80 0D 80 84 */ lwz r0, g_blackColor(r13)
/* 801FCEAC 90 01 00 0C */ stw r0, 0xc(r1)
/* 801FCEB0 90 01 00 08 */ stw r0, 8(r1)
/* 801FCEB4 80 6D 86 48 */ lwz r3, mFader__13mDoGph_gInf_c(r13)
/* 801FCEB8 88 01 00 08 */ lbz r0, 8(r1)
/* 801FCEBC 98 03 00 0C */ stb r0, 0xc(r3)
/* 801FCEC0 88 01 00 09 */ lbz r0, 9(r1)
/* 801FCEC4 98 03 00 0D */ stb r0, 0xd(r3)
/* 801FCEC8 88 01 00 0A */ lbz r0, 0xa(r1)
/* 801FCECC 98 03 00 0E */ stb r0, 0xe(r3)
/* 801FCED0 88 01 00 0B */ lbz r0, 0xb(r1)
/* 801FCED4 98 03 00 0F */ stb r0, 0xf(r3)
/* 801FCED8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801FCEDC 7C 08 03 A6 */ mtlr r0
/* 801FCEE0 38 21 00 10 */ addi r1, r1, 0x10
/* 801FCEE4 4E 80 00 20 */ blr

View File

@ -1,30 +0,0 @@
lbl_801FCE08:
/* 801FCE08 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801FCE0C 7C 08 02 A6 */ mflr r0
/* 801FCE10 90 01 00 14 */ stw r0, 0x14(r1)
/* 801FCE14 80 6D 8C 40 */ lwz r3, sManager__10JFWDisplay(r13)
/* 801FCE18 80 63 00 04 */ lwz r3, 4(r3)
/* 801FCE1C 28 03 00 00 */ cmplwi r3, 0
/* 801FCE20 41 82 00 18 */ beq lbl_801FCE38
/* 801FCE24 38 80 00 0D */ li r4, 0xd
/* 801FCE28 81 83 00 00 */ lwz r12, 0(r3)
/* 801FCE2C 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 801FCE30 7D 89 03 A6 */ mtctr r12
/* 801FCE34 4E 80 04 21 */ bctrl
lbl_801FCE38:
/* 801FCE38 80 0D 80 84 */ lwz r0, g_blackColor(r13)
/* 801FCE3C 90 01 00 0C */ stw r0, 0xc(r1)
/* 801FCE40 90 01 00 08 */ stw r0, 8(r1)
/* 801FCE44 80 6D 86 48 */ lwz r3, mFader__13mDoGph_gInf_c(r13)
/* 801FCE48 88 01 00 08 */ lbz r0, 8(r1)
/* 801FCE4C 98 03 00 0C */ stb r0, 0xc(r3)
/* 801FCE50 88 01 00 09 */ lbz r0, 9(r1)
/* 801FCE54 98 03 00 0D */ stb r0, 0xd(r3)
/* 801FCE58 88 01 00 0A */ lbz r0, 0xa(r1)
/* 801FCE5C 98 03 00 0E */ stb r0, 0xe(r3)
/* 801FCE60 88 01 00 0B */ lbz r0, 0xb(r1)
/* 801FCE64 98 03 00 0F */ stb r0, 0xf(r3)
/* 801FCE68 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801FCE6C 7C 08 03 A6 */ mtlr r0
/* 801FCE70 38 21 00 10 */ addi r1, r1, 0x10
/* 801FCE74 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_8024DAB0:
/* 8024DAB0 80 83 00 00 */ lwz r4, 0(r3)
/* 8024DAB4 2C 04 00 00 */ cmpwi r4, 0
/* 8024DAB8 41 82 00 0C */ beq lbl_8024DAC4
/* 8024DABC 38 04 FF FF */ addi r0, r4, -1
/* 8024DAC0 90 03 00 00 */ stw r0, 0(r3)
lbl_8024DAC4:
/* 8024DAC4 80 63 00 00 */ lwz r3, 0(r3)
/* 8024DAC8 4E 80 00 20 */ blr

View File

@ -1,40 +0,0 @@
lbl_8024BDB0:
/* 8024BDB0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024BDB4 7C 08 02 A6 */ mflr r0
/* 8024BDB8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024BDBC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8024BDC0 93 C1 00 08 */ stw r30, 8(r1)
/* 8024BDC4 A3 C4 00 04 */ lhz r30, 4(r4)
/* 8024BDC8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8024BDCC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8024BDD0 38 63 0D D8 */ addi r3, r3, 0xdd8
/* 8024BDD4 3C 80 00 01 */ lis r4, 0x0001 /* 0x0000FBFF@ha */
/* 8024BDD8 38 84 FB FF */ addi r4, r4, 0xFBFF /* 0x0000FBFF@l */
/* 8024BDDC 4B DE 8C 29 */ bl getEventReg__11dSv_event_cCFUs
/* 8024BDE0 7C 64 1B 78 */ mr r4, r3
/* 8024BDE4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8024BDE8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8024BDEC 38 63 00 EC */ addi r3, r3, 0xec
/* 8024BDF0 38 04 FF FF */ addi r0, r4, -1
/* 8024BDF4 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 8024BDF8 4B DE 81 85 */ bl getBombNum__24dSv_player_item_record_cCFUc
/* 8024BDFC 7C 7F 1B 78 */ mr r31, r3
/* 8024BE00 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8024BE04 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8024BE08 38 63 00 F8 */ addi r3, r3, 0xf8
/* 8024BE0C 38 80 00 70 */ li r4, 0x70
/* 8024BE10 4B DE 82 E9 */ bl getBombNum__21dSv_player_item_max_cCFUc
/* 8024BE14 54 65 06 3E */ clrlwi r5, r3, 0x18
/* 8024BE18 57 E0 06 3E */ clrlwi r0, r31, 0x18
/* 8024BE1C 7C 00 F2 14 */ add r0, r0, r30
/* 8024BE20 7C A4 FE 70 */ srawi r4, r5, 0x1f
/* 8024BE24 54 03 0F FE */ srwi r3, r0, 0x1f
/* 8024BE28 7C 00 28 10 */ subfc r0, r0, r5
/* 8024BE2C 7C 04 19 14 */ adde r0, r4, r3
/* 8024BE30 54 03 06 3E */ clrlwi r3, r0, 0x18
/* 8024BE34 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8024BE38 83 C1 00 08 */ lwz r30, 8(r1)
/* 8024BE3C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024BE40 7C 08 03 A6 */ mtlr r0
/* 8024BE44 38 21 00 10 */ addi r1, r1, 0x10
/* 8024BE48 4E 80 00 20 */ blr

View File

@ -1,72 +0,0 @@
lbl_8024BE4C:
/* 8024BE4C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024BE50 7C 08 02 A6 */ mflr r0
/* 8024BE54 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024BE58 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8024BE5C 93 C1 00 08 */ stw r30, 8(r1)
/* 8024BE60 A0 64 00 04 */ lhz r3, 4(r4)
/* 8024BE64 2C 03 00 01 */ cmpwi r3, 1
/* 8024BE68 41 80 00 18 */ blt lbl_8024BE80
/* 8024BE6C 2C 03 00 04 */ cmpwi r3, 4
/* 8024BE70 40 80 00 10 */ bge lbl_8024BE80
/* 8024BE74 38 03 FF FF */ addi r0, r3, -1
/* 8024BE78 54 1E 06 3E */ clrlwi r30, r0, 0x18
/* 8024BE7C 48 00 00 48 */ b lbl_8024BEC4
lbl_8024BE80:
/* 8024BE80 2C 03 00 04 */ cmpwi r3, 4
/* 8024BE84 40 82 00 20 */ bne lbl_8024BEA4
/* 8024BE88 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */
/* 8024BE8C 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */
/* 8024BE90 88 03 00 DC */ lbz r0, 0xdc(r3)
/* 8024BE94 28 00 00 FF */ cmplwi r0, 0xff
/* 8024BE98 41 82 00 2C */ beq lbl_8024BEC4
/* 8024BE9C 7C 1E 03 78 */ mr r30, r0
/* 8024BEA0 48 00 00 24 */ b lbl_8024BEC4
lbl_8024BEA4:
/* 8024BEA4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8024BEA8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8024BEAC 38 63 0D D8 */ addi r3, r3, 0xdd8
/* 8024BEB0 3C 80 00 01 */ lis r4, 0x0001 /* 0x0000FBFF@ha */
/* 8024BEB4 38 84 FB FF */ addi r4, r4, 0xFBFF /* 0x0000FBFF@l */
/* 8024BEB8 4B DE 8B 4D */ bl getEventReg__11dSv_event_cCFUs
/* 8024BEBC 38 03 FF FF */ addi r0, r3, -1
/* 8024BEC0 54 1E 06 3E */ clrlwi r30, r0, 0x18
lbl_8024BEC4:
/* 8024BEC4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8024BEC8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8024BECC 38 63 00 EC */ addi r3, r3, 0xec
/* 8024BED0 7F C4 F3 78 */ mr r4, r30
/* 8024BED4 4B DE 80 A9 */ bl getBombNum__24dSv_player_item_record_cCFUc
/* 8024BED8 7C 7F 1B 78 */ mr r31, r3
/* 8024BEDC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8024BEE0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8024BEE4 38 63 00 9C */ addi r3, r3, 0x9c
/* 8024BEE8 38 1E 00 0F */ addi r0, r30, 0xf
/* 8024BEEC 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 8024BEF0 38 A0 00 00 */ li r5, 0
/* 8024BEF4 4B DE 71 3D */ bl getItem__17dSv_player_item_cCFib
/* 8024BEF8 7C 64 1B 78 */ mr r4, r3
/* 8024BEFC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8024BF00 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8024BF04 38 63 00 F8 */ addi r3, r3, 0xf8
/* 8024BF08 4B DE 81 F1 */ bl getBombNum__21dSv_player_item_max_cCFUc
/* 8024BF0C 57 E4 06 3F */ clrlwi. r4, r31, 0x18
/* 8024BF10 40 82 00 0C */ bne lbl_8024BF1C
/* 8024BF14 38 00 00 00 */ li r0, 0
/* 8024BF18 48 00 00 1C */ b lbl_8024BF34
lbl_8024BF1C:
/* 8024BF1C 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8024BF20 7C 04 00 40 */ cmplw r4, r0
/* 8024BF24 41 80 00 0C */ blt lbl_8024BF30
/* 8024BF28 38 00 00 02 */ li r0, 2
/* 8024BF2C 48 00 00 08 */ b lbl_8024BF34
lbl_8024BF30:
/* 8024BF30 38 00 00 01 */ li r0, 1
lbl_8024BF34:
/* 8024BF34 54 03 06 3E */ clrlwi r3, r0, 0x18
/* 8024BF38 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8024BF3C 83 C1 00 08 */ lwz r30, 8(r1)
/* 8024BF40 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024BF44 7C 08 03 A6 */ mtlr r0
/* 8024BF48 38 21 00 10 */ addi r1, r1, 0x10
/* 8024BF4C 4E 80 00 20 */ blr

View File

@ -1,40 +0,0 @@
lbl_8024BF50:
/* 8024BF50 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024BF54 7C 08 02 A6 */ mflr r0
/* 8024BF58 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024BF5C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8024BF60 93 C1 00 08 */ stw r30, 8(r1)
/* 8024BF64 A3 C4 00 04 */ lhz r30, 4(r4)
/* 8024BF68 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8024BF6C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8024BF70 38 63 0D D8 */ addi r3, r3, 0xdd8
/* 8024BF74 3C 80 00 01 */ lis r4, 0x0001 /* 0x0000FBFF@ha */
/* 8024BF78 38 84 FB FF */ addi r4, r4, 0xFBFF /* 0x0000FBFF@l */
/* 8024BF7C 4B DE 8A 89 */ bl getEventReg__11dSv_event_cCFUs
/* 8024BF80 7C 64 1B 78 */ mr r4, r3
/* 8024BF84 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8024BF88 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8024BF8C 38 63 00 EC */ addi r3, r3, 0xec
/* 8024BF90 38 04 FF FF */ addi r0, r4, -1
/* 8024BF94 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 8024BF98 4B DE 7F E5 */ bl getBombNum__24dSv_player_item_record_cCFUc
/* 8024BF9C 7C 7F 1B 78 */ mr r31, r3
/* 8024BFA0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8024BFA4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8024BFA8 38 63 00 F8 */ addi r3, r3, 0xf8
/* 8024BFAC 38 80 00 71 */ li r4, 0x71
/* 8024BFB0 4B DE 81 49 */ bl getBombNum__21dSv_player_item_max_cCFUc
/* 8024BFB4 54 65 06 3E */ clrlwi r5, r3, 0x18
/* 8024BFB8 57 E0 06 3E */ clrlwi r0, r31, 0x18
/* 8024BFBC 7C 00 F2 14 */ add r0, r0, r30
/* 8024BFC0 7C A4 FE 70 */ srawi r4, r5, 0x1f
/* 8024BFC4 54 03 0F FE */ srwi r3, r0, 0x1f
/* 8024BFC8 7C 00 28 10 */ subfc r0, r0, r5
/* 8024BFCC 7C 04 19 14 */ adde r0, r4, r3
/* 8024BFD0 54 03 06 3E */ clrlwi r3, r0, 0x18
/* 8024BFD4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8024BFD8 83 C1 00 08 */ lwz r30, 8(r1)
/* 8024BFDC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024BFE0 7C 08 03 A6 */ mtlr r0
/* 8024BFE4 38 21 00 10 */ addi r1, r1, 0x10
/* 8024BFE8 4E 80 00 20 */ blr

View File

@ -1,41 +0,0 @@
lbl_8024C18C:
/* 8024C18C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024C190 7C 08 02 A6 */ mflr r0
/* 8024C194 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024C198 4B DE 22 91 */ bl dComIfGs_checkGetInsectNum__Fv
/* 8024C19C 38 80 00 00 */ li r4, 0
/* 8024C1A0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8024C1A4 40 82 00 0C */ bne lbl_8024C1B0
/* 8024C1A8 38 80 00 00 */ li r4, 0
/* 8024C1AC 48 00 00 58 */ b lbl_8024C204
lbl_8024C1B0:
/* 8024C1B0 28 00 00 01 */ cmplwi r0, 1
/* 8024C1B4 41 80 00 14 */ blt lbl_8024C1C8
/* 8024C1B8 28 00 00 0B */ cmplwi r0, 0xb
/* 8024C1BC 41 81 00 0C */ bgt lbl_8024C1C8
/* 8024C1C0 38 80 00 01 */ li r4, 1
/* 8024C1C4 48 00 00 40 */ b lbl_8024C204
lbl_8024C1C8:
/* 8024C1C8 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8024C1CC 28 00 00 0C */ cmplwi r0, 0xc
/* 8024C1D0 41 80 00 14 */ blt lbl_8024C1E4
/* 8024C1D4 28 00 00 16 */ cmplwi r0, 0x16
/* 8024C1D8 41 81 00 0C */ bgt lbl_8024C1E4
/* 8024C1DC 38 80 00 02 */ li r4, 2
/* 8024C1E0 48 00 00 24 */ b lbl_8024C204
lbl_8024C1E4:
/* 8024C1E4 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8024C1E8 28 00 00 17 */ cmplwi r0, 0x17
/* 8024C1EC 40 82 00 0C */ bne lbl_8024C1F8
/* 8024C1F0 38 80 00 03 */ li r4, 3
/* 8024C1F4 48 00 00 10 */ b lbl_8024C204
lbl_8024C1F8:
/* 8024C1F8 28 00 00 18 */ cmplwi r0, 0x18
/* 8024C1FC 40 82 00 08 */ bne lbl_8024C204
/* 8024C200 38 80 00 04 */ li r4, 4
lbl_8024C204:
/* 8024C204 54 83 06 3E */ clrlwi r3, r4, 0x18
/* 8024C208 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024C20C 7C 08 03 A6 */ mtlr r0
/* 8024C210 38 21 00 10 */ addi r1, r1, 0x10
/* 8024C214 4E 80 00 20 */ blr

View File

@ -1,10 +0,0 @@
lbl_80258420:
/* 80258420 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80258424 7C 08 02 A6 */ mflr r0
/* 80258428 90 01 00 14 */ stw r0, 0x14(r1)
/* 8025842C 28 03 00 00 */ cmplwi r3, 0
/* 80258430 4B FF F6 B1 */ bl create__10dScnLogo_cFv
/* 80258434 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80258438 7C 08 03 A6 */ mtlr r0
/* 8025843C 38 21 00 10 */ addi r1, r1, 0x10
/* 80258440 4E 80 00 20 */ blr

View File

@ -1,44 +0,0 @@
lbl_80257910:
/* 80257910 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80257914 7C 08 02 A6 */ mflr r0
/* 80257918 90 01 00 24 */ stw r0, 0x24(r1)
/* 8025791C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80257920 7C 7F 1B 78 */ mr r31, r3
/* 80257924 80 0D 80 84 */ lwz r0, g_blackColor(r13)
/* 80257928 90 01 00 0C */ stw r0, 0xc(r1)
/* 8025792C 90 01 00 08 */ stw r0, 8(r1)
/* 80257930 80 6D 86 48 */ lwz r3, mFader__13mDoGph_gInf_c(r13)
/* 80257934 88 01 00 08 */ lbz r0, 8(r1)
/* 80257938 98 03 00 0C */ stb r0, 0xc(r3)
/* 8025793C 88 01 00 09 */ lbz r0, 9(r1)
/* 80257940 98 03 00 0D */ stb r0, 0xd(r3)
/* 80257944 88 01 00 0A */ lbz r0, 0xa(r1)
/* 80257948 98 03 00 0E */ stb r0, 0xe(r3)
/* 8025794C 88 01 00 0B */ lbz r0, 0xb(r1)
/* 80257950 98 03 00 0F */ stb r0, 0xf(r3)
/* 80257954 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80257958 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8025795C 38 63 0F 38 */ addi r3, r3, 0xf38
/* 80257960 4B DD 50 79 */ bl createParticle__14dComIfG_play_cFv
/* 80257964 4B DB 73 ED */ bl mDoExt_getGameHeap__Fv
/* 80257968 3C 80 00 34 */ lis r4, 0x34
/* 8025796C 38 A0 FF F0 */ li r5, -16
/* 80257970 48 07 6B 65 */ bl alloc__7JKRHeapFUli
/* 80257974 90 7F 02 1C */ stw r3, 0x21c(r31)
/* 80257978 80 7F 02 1C */ lwz r3, 0x21c(r31)
/* 8025797C 3C 80 00 34 */ lis r4, 0x34
/* 80257980 38 A0 00 00 */ li r5, 0
/* 80257984 38 C0 00 00 */ li r6, 0
/* 80257988 48 07 75 79 */ bl create__10JKRExpHeapFPvUlP7JKRHeapb
/* 8025798C 90 7F 01 D0 */ stw r3, 0x1d0(r31)
/* 80257990 3C 60 00 13 */ lis r3, 0x13
/* 80257994 80 9F 01 D0 */ lwz r4, 0x1d0(r31)
/* 80257998 38 A0 00 00 */ li r5, 0
/* 8025799C 48 07 74 91 */ bl create__10JKRExpHeapFUlP7JKRHeapb
/* 802579A0 90 7F 01 D4 */ stw r3, 0x1d4(r31)
/* 802579A4 38 60 00 02 */ li r3, 2
/* 802579A8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802579AC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802579B0 7C 08 03 A6 */ mtlr r0
/* 802579B4 38 21 00 20 */ addi r1, r1, 0x20
/* 802579B8 4E 80 00 20 */ blr

View File

@ -1,48 +0,0 @@
lbl_80258F20:
/* 80258F20 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80258F24 7C 08 02 A6 */ mflr r0
/* 80258F28 90 01 00 24 */ stw r0, 0x24(r1)
/* 80258F2C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80258F30 7C 7F 1B 78 */ mr r31, r3
/* 80258F34 88 63 04 1E */ lbz r3, 0x41e(r3)
/* 80258F38 38 03 FF FF */ addi r0, r3, -1
/* 80258F3C 98 1F 04 1E */ stb r0, 0x41e(r31)
/* 80258F40 88 1F 04 1E */ lbz r0, 0x41e(r31)
/* 80258F44 28 00 00 00 */ cmplwi r0, 0
/* 80258F48 40 82 00 78 */ bne lbl_80258FC0
/* 80258F4C 38 00 00 03 */ li r0, 3
/* 80258F50 98 1F 04 1D */ stb r0, 0x41d(r31)
/* 80258F54 38 00 00 0F */ li r0, 0xf
/* 80258F58 98 1F 04 1E */ stb r0, 0x41e(r31)
/* 80258F5C 38 00 00 01 */ li r0, 1
/* 80258F60 98 1F 04 1C */ stb r0, 0x41c(r31)
/* 80258F64 80 0D 80 84 */ lwz r0, g_blackColor(r13)
/* 80258F68 90 01 00 0C */ stw r0, 0xc(r1)
/* 80258F6C 90 01 00 08 */ stw r0, 8(r1)
/* 80258F70 80 6D 86 48 */ lwz r3, mFader__13mDoGph_gInf_c(r13)
/* 80258F74 88 01 00 08 */ lbz r0, 8(r1)
/* 80258F78 98 03 00 0C */ stb r0, 0xc(r3)
/* 80258F7C 88 01 00 09 */ lbz r0, 9(r1)
/* 80258F80 98 03 00 0D */ stb r0, 0xd(r3)
/* 80258F84 88 01 00 0A */ lbz r0, 0xa(r1)
/* 80258F88 98 03 00 0E */ stb r0, 0xe(r3)
/* 80258F8C 88 01 00 0B */ lbz r0, 0xb(r1)
/* 80258F90 98 03 00 0F */ stb r0, 0xf(r3)
/* 80258F94 80 6D 8C 40 */ lwz r3, sManager__10JFWDisplay(r13)
/* 80258F98 80 63 00 04 */ lwz r3, 4(r3)
/* 80258F9C 28 03 00 00 */ cmplwi r3, 0
/* 80258FA0 41 82 00 18 */ beq lbl_80258FB8
/* 80258FA4 38 80 00 0F */ li r4, 0xf
/* 80258FA8 81 83 00 00 */ lwz r12, 0(r3)
/* 80258FAC 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80258FB0 7D 89 03 A6 */ mtctr r12
/* 80258FB4 4E 80 04 21 */ bctrl
lbl_80258FB8:
/* 80258FB8 38 00 00 00 */ li r0, 0
/* 80258FBC 98 1F 04 20 */ stb r0, 0x420(r31)
lbl_80258FC0:
/* 80258FC0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80258FC4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80258FC8 7C 08 03 A6 */ mtlr r0
/* 80258FCC 38 21 00 20 */ addi r1, r1, 0x20
/* 80258FD0 4E 80 00 20 */ blr

View File

@ -1,46 +0,0 @@
lbl_80258E78:
/* 80258E78 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80258E7C 7C 08 02 A6 */ mflr r0
/* 80258E80 90 01 00 24 */ stw r0, 0x24(r1)
/* 80258E84 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80258E88 7C 7F 1B 78 */ mr r31, r3
/* 80258E8C 80 63 04 14 */ lwz r3, 0x414(r3)
/* 80258E90 88 03 02 70 */ lbz r0, 0x270(r3)
/* 80258E94 2C 00 00 01 */ cmpwi r0, 1
/* 80258E98 41 82 00 08 */ beq lbl_80258EA0
/* 80258E9C 48 00 00 70 */ b lbl_80258F0C
lbl_80258EA0:
/* 80258EA0 38 00 00 0F */ li r0, 0xf
/* 80258EA4 98 1F 04 1E */ stb r0, 0x41e(r31)
/* 80258EA8 80 0D 80 84 */ lwz r0, g_blackColor(r13)
/* 80258EAC 90 01 00 0C */ stw r0, 0xc(r1)
/* 80258EB0 90 01 00 08 */ stw r0, 8(r1)
/* 80258EB4 80 6D 86 48 */ lwz r3, mFader__13mDoGph_gInf_c(r13)
/* 80258EB8 88 01 00 08 */ lbz r0, 8(r1)
/* 80258EBC 98 03 00 0C */ stb r0, 0xc(r3)
/* 80258EC0 88 01 00 09 */ lbz r0, 9(r1)
/* 80258EC4 98 03 00 0D */ stb r0, 0xd(r3)
/* 80258EC8 88 01 00 0A */ lbz r0, 0xa(r1)
/* 80258ECC 98 03 00 0E */ stb r0, 0xe(r3)
/* 80258ED0 88 01 00 0B */ lbz r0, 0xb(r1)
/* 80258ED4 98 03 00 0F */ stb r0, 0xf(r3)
/* 80258ED8 80 6D 8C 40 */ lwz r3, sManager__10JFWDisplay(r13)
/* 80258EDC 80 63 00 04 */ lwz r3, 4(r3)
/* 80258EE0 28 03 00 00 */ cmplwi r3, 0
/* 80258EE4 41 82 00 18 */ beq lbl_80258EFC
/* 80258EE8 38 80 00 0F */ li r4, 0xf
/* 80258EEC 81 83 00 00 */ lwz r12, 0(r3)
/* 80258EF0 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 80258EF4 7D 89 03 A6 */ mtctr r12
/* 80258EF8 4E 80 04 21 */ bctrl
lbl_80258EFC:
/* 80258EFC 38 00 00 02 */ li r0, 2
/* 80258F00 98 1F 04 1D */ stb r0, 0x41d(r31)
/* 80258F04 38 00 00 01 */ li r0, 1
/* 80258F08 98 1F 04 20 */ stb r0, 0x420(r31)
lbl_80258F0C:
/* 80258F0C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80258F10 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80258F14 7C 08 03 A6 */ mtlr r0
/* 80258F18 38 21 00 20 */ addi r1, r1, 0x20
/* 80258F1C 4E 80 00 20 */ blr

View File

@ -21,7 +21,7 @@ public:
/* 802E56DC */ virtual void draw();
s32 getStatus() const { return mStatus; }
void setColor(JUtility::TColor color) { mColor.set(color); }
void setColor(JUtility::TColor& color) { mColor.set(color); }
/* 0x04 */ s32 mStatus;
/* 0x08 */ u16 field_0x8;

View File

@ -87,7 +87,12 @@ inline T cLib_maxLimit(T val, T max) {
}
template <typename T>
T cLib_calcTimer(T* val);
T cLib_calcTimer(T* value) {
if (*value != 0) {
*value = *value - 1;
}
return *value;
}
void MtxInit(void);
void MtxTrans(f32, f32, f32, u8);

View File

@ -1744,6 +1744,11 @@ static dAttCatch_c* dComIfGp_att_getCatghTarget();
static void dComIfGp_setBottleStatus(u8 param_0, u8 param_1);
bool dComIfGp_getMapTrans(int i_roomNo, f32* o_transX, f32* o_transY, s16* o_angle);
inline void dComIfGp_itemDataInit() {
g_dComIfG_gameInfo.play.itemInit();
}
inline bool i_dComIfGp_checkPlayerStatus0(int param_0, u32 flag) {
return g_dComIfG_gameInfo.play.checkPlayerStatus(param_0, 0, flag);
}

View File

@ -46,7 +46,7 @@ public:
/* 8009C8D8 */ dMdl_c* entry(J3DModelData*, u16, int);
/* 8009C7AC */ static void create();
/* 8009C864 */ void remove();
/* 8009C8C0 */ void reset();
/* 8009C8C0 */ static void reset();
static dMdl_mng_c* m_myObj;

View File

@ -395,8 +395,8 @@ public:
/* 0x0250 */ char* field_0x0250;
/* 0x0254 */ STControl* mStick;
/* 0x0258 */ u8 mDataNew[3];
/* 0x025B */ u8 field_0x025b;
/* 0x025C */ u8 field_0x025c[0x0264 - 0x025C];
/* 0x025B */ u8 field_0x025b[3];
/* 0x025C */ u8 field_0x025e[0x0264 - 0x025E];
/* 0x0264 */ u8 field_0x0264;
/* 0x0265 */ u8 mSelectNum;
/* 0x0266 */ u8 field_0x0266;

View File

@ -39,6 +39,7 @@ public:
/* 0xF */ EXEC_SCENE_CHANGE,
};
dScnLogo_c() {}
/* 802560B4 */ void preLoad_dyl_create();
/* 802560F8 */ void preLoad_dyl_remove();
/* 8025611C */ bool preLoad_dyl();
@ -128,4 +129,6 @@ static int phase_0(dScnLogo_c* logo);
static int phase_1(dScnLogo_c* logo);
static int phase_2(dScnLogo_c* logo);
typedef int (*dScnLogo_Method)(dScnLogo_c*);;
#endif /* D_S_D_S_LOGO_H */

View File

@ -1111,7 +1111,7 @@ public:
void removeZone(int zoneNo) { mZone[zoneNo].reset(); }
void setNoFile(u8 file) { mNoFile = file; }
u8 getNewFile() const { return mNewFile; }
void setNewFile(u8 file) { mNewFile |= file; }
void setNewFile(u8 file) { mNewFile = file; }
static const int MEMORY_SWITCH = 0x80;
static const int DAN_SWITCH = 0x40;

View File

@ -52,6 +52,7 @@ void* VIGetNextFrameBuffer();
void* VIGetCurrentFrameBuffer();
void VISetBlack(BOOL);
u32 VIGetRetraceCount();
u32 VIGetDTVStatus();
vu16 __VIRegs[59] : 0xCC002000;

View File

@ -55,7 +55,7 @@ public:
static int startFadeOut(int param_0) { return JFWDisplay::getManager()->startFadeOut(param_0); }
static int startFadeIn(int param_0) { return JFWDisplay::getManager()->startFadeIn(param_0); }
static void setFadeColor(JUtility::TColor& color) { mFader->setColor(color); }
static void setFadeColor(JUtility::TColor color) { mFader->mColor.set(color); }
static void setClearColor(JUtility::TColor color) { JFWDisplay::getManager()->setClearColor(color); }
static void setBackColor(GXColor& color) { mBackColor = color; }
static void endFrame() { JFWDisplay::getManager()->endFrame(); }

View File

@ -4,7 +4,11 @@
//
#include "rel/d/a/d_a_title/d_a_title.h"
#include "JSystem/J2DGraph/J2DScreen.h"
#include "JSystem/J2DGraph/J2DTextBox.h"
#include "JSystem/JKernel/JKRExpHeap.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "JSystem/JKernel/JKRMemArchive.h"
#include "JSystem/JStudio/JStudio/stb.h"
#include "dol2asm.h"
#include "dolphin/types.h"
@ -12,6 +16,10 @@
#include "f_op/f_op_actor_mng.h"
#include "f_op/f_op_overlap_mng.h"
#include "f_op/f_op_msg_mng.h"
#include "d/pane/d_pane_class_alpha.h"
#include "d/menu/d_menu_collect.h"
#include "m_Do/m_Do_Reset.h"
#include "m_Do/m_Do_controller_pad.h"
//
// Types:
@ -186,7 +194,6 @@ extern "C" void _savegpr_26();
extern "C" void _savegpr_29();
extern "C" void _restgpr_26();
extern "C" void _restgpr_29();
extern "C" extern void* g_fopAc_Method[8];
extern "C" u8 m_cpadInfo__8mDoCPd_c[256];
extern "C" f32 mViewOffsetY__17dMenu_Collect3D_c[1 + 1 /* padding */];
extern "C" u8 mFader__13mDoGph_gInf_c[4];
@ -468,8 +475,6 @@ void daTitle_c::nextScene_init() {
}
/* 80D67550-80D675EC 000B30 009C+00 1/0 0/0 0/0 .text nextScene_proc__9daTitle_cFv */
// setFadeColor store order issue
#ifdef NONMATCHING
void daTitle_c::nextScene_proc() {
if (!fopOvlpM_IsPeek() && !mDoRst::isReset()) {
scene_class* playScene = fopScnM_SearchByID(dStage_roomControl_c::getProcID());
@ -477,16 +482,6 @@ void daTitle_c::nextScene_proc() {
mDoGph_gInf_c::setFadeColor(*(JUtility::TColor*)&g_blackColor);
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTitle_c::nextScene_proc() {
nofralloc
#include "asm/rel/d/a/d_a_title/d_a_title/nextScene_proc__9daTitle_cFv.s"
}
#pragma pop
#endif
/* 80D675EC-80D676AC 000BCC 00C0+00 1/1 0/0 0/0 .text fastLogoDispInit__9daTitle_cFv */
void daTitle_c::fastLogoDispInit() {

View File

@ -19,6 +19,7 @@
#include "dolphin/types.h"
#include "m_Do/m_Do_MemCard.h"
#include "m_Do/m_Do_controller_pad.h"
#include "m_Do/m_Do_graphic.h"
//
@ -1904,11 +1905,28 @@ SECTION_SDATA2 static f32 lit_4166[1 + 1 /* padding */] = {
};
/* 801843CC-801844FC 17ED0C 0130+00 0/0 1/1 0/0 .text _create__14dFile_select_cFv */
// Matches with literals
#ifdef NONMATCHING
void dFile_select_c::_create() {
mDoGph_gInf_c::setFadeColor(static_cast<JUtility::TColor&>(g_blackColor));
mStick = new STControl();
mStick = new STControl(2, 2, 1, 1, 0.9f, 0.5f, 0, 0x2000);
g_fsHIO.field_0x0004 = -1;
for (int iVar2 = 0; iVar2 < 3; iVar2++) {
mDataNew[iVar2] = 0;
field_0x025b[iVar2] = 0;
}
mSelectNum = 0;
dComIfGs_init();
dComIfGp_itemDataInit();
dComIfGs_setNewFile(0);
mHasDrawn = 0;
screenSet();
screenSetCopySel();
screenSet3Menu();
screenSetYesNo();
screenSetDetail();
displayInit();
}
#else
#pragma push

View File

@ -1883,7 +1883,7 @@ void dMenu_save_c::memCardMakeGameFileWait() {
errorTxtSet(0x3C6); // An error might have occurred when creating a save file.
mMenuProc = PROC_MEMCARD_COMMAND_END;
} else if (mCmdState == 1) {
dComIfGs_setNewFile(1);
dComIfGs_setNewFile(dComIfGs_getNewFile() | 1);
errorTxtSet(0x3C7); // A save file has been created.
mMenuProc = PROC_MEMCARD_COMMAND_END;
}

View File

@ -2436,39 +2436,16 @@ bool dMw_c::isPauseReady() {
}
/* 801FCE08-801FCE78 1F7748 0070+00 10/10 3/3 0/0 .text dMw_fade_out__5dMw_cFv */
// instructions switched
#ifdef NONMATCHING
void dMw_c::dMw_fade_out() {
mDoGph_gInf_c::startFadeOut(13);
mDoGph_gInf_c::setFadeColor(static_cast<JUtility::TColor&>(g_blackColor));
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMw_c::dMw_fade_out() {
nofralloc
#include "asm/d/menu/d_menu_window/dMw_fade_out__5dMw_cFv.s"
}
#pragma pop
#endif
/* 801FCE78-801FCEE8 1F77B8 0070+00 9/9 4/4 0/0 .text dMw_fade_in__5dMw_cFv */
#ifdef NONMATCHING
void dMw_c::dMw_fade_in() {
mDoGph_gInf_c::startFadeIn(13);
mDoGph_gInf_c::setFadeColor(static_cast<JUtility::TColor&>(g_blackColor));
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMw_c::dMw_fade_in() {
nofralloc
#include "asm/d/menu/d_menu_window/dMw_fade_in__5dMw_cFv.s"
}
#pragma pop
#endif
/* 801FCEE8-801FCF84 1F7828 009C+00 1/1 0/0 0/0 .text checkCStickTrigger__5dMw_cFv */
int dMw_c::checkCStickTrigger() {

View File

@ -18,6 +18,7 @@
#include "f_op/f_op_actor_mng.h"
#include "f_op/f_op_msg_mng.h"
#include "m_Do/m_Do_audio.h"
#include "m_Do/m_Do_graphic.h"
//
// Forward References:
@ -1559,36 +1560,50 @@ int dMsgFlow_c::query038(mesg_flow_node_branch* param_0, fopAc_ac_c* param_1, in
/* 8024BDB0-8024BE4C 2466F0 009C+00 1/0 0/0 0/0 .text
* query039__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int dMsgFlow_c::query039(mesg_flow_node_branch* param_0, fopAc_ac_c* param_1, int param_2) {
nofralloc
#include "asm/d/msg/d_msg_flow/query039__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s"
int dMsgFlow_c::query039(mesg_flow_node_branch* param_0, fopAc_ac_c* param_1, int param_2) {
u16 uVar2 = *(u16*)param_0->params;
u8 iVar4 = dComIfGs_getTmpReg(0xfbff);
u8 bombNum = dComIfGs_getBombNum(iVar4 - 1);
return dComIfGs_getBombMax(NORMAL_BOMB) >= bombNum + uVar2;
}
#pragma pop
/* 8024BE4C-8024BF50 24678C 0104+00 1/0 0/0 0/0 .text
* query040__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int dMsgFlow_c::query040(mesg_flow_node_branch* param_0, fopAc_ac_c* param_1, int param_2) {
nofralloc
#include "asm/d/msg/d_msg_flow/query040__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s"
int dMsgFlow_c::query040(mesg_flow_node_branch* param_0, fopAc_ac_c* param_1, int param_2) {
s32 uVar7 = *(u16*)param_0->params;
u8 unaff_r30;
if (uVar7 >= 1 && uVar7 < 4) {
unaff_r30 = uVar7 - 1;
} else if (uVar7 == 4) {
if (dMeter2Info_getRentalBombBag() != 0xff) {
unaff_r30 = dMeter2Info_getRentalBombBag();
}
} else {
unaff_r30 = dComIfGs_getTmpReg(0xfbff) - 1;
}
u8 bombNum = dComIfGs_getBombNum(unaff_r30);
u8 uVar4 = dComIfGs_getItem((u8)(unaff_r30 + SLOT_15), 0);
u8 bombMax = dComIfGs_getBombMax(uVar4);
u8 rv;
if (bombNum == 0) {
rv = 0;
} else if (bombNum >= bombMax) {
rv = 2;
} else {
rv = 1;
}
return rv;
}
#pragma pop
/* 8024BF50-8024BFEC 246890 009C+00 1/0 0/0 0/0 .text
* query041__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int dMsgFlow_c::query041(mesg_flow_node_branch* param_0, fopAc_ac_c* param_1, int param_2) {
nofralloc
#include "asm/d/msg/d_msg_flow/query041__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s"
int dMsgFlow_c::query041(mesg_flow_node_branch* param_0, fopAc_ac_c* param_1, int param_2) {
u16 uVar2 = *(u16*)param_0->params;
u8 iVar4 = dComIfGs_getTmpReg(0xfbff);
u8 bombNum = dComIfGs_getBombNum(iVar4 - 1);
return dComIfGs_getBombMax(WATER_BOMB) >= bombNum + uVar2;
}
#pragma pop
/* 8024BFEC-8024C0A8 24692C 00BC+00 1/0 0/0 0/0 .text
* query042__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
@ -1627,14 +1642,23 @@ int dMsgFlow_c::query044(mesg_flow_node_branch*, fopAc_ac_c*, int) {
/* 8024C18C-8024C218 246ACC 008C+00 1/0 0/0 0/0 .text
* query045__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int dMsgFlow_c::query045(mesg_flow_node_branch* param_0, fopAc_ac_c* param_1, int param_2) {
nofralloc
#include "asm/d/msg/d_msg_flow/query045__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s"
int dMsgFlow_c::query045(mesg_flow_node_branch* param_0, fopAc_ac_c* param_1, int param_2) {
u8 insectNum = dComIfGs_checkGetInsectNum();
u8 rv = 0;
if (insectNum == 0) {
rv = 0;
} else if (insectNum >= 1 && insectNum <= 11) {
rv = 1;
} else if (insectNum >= 12 && insectNum <= 22) {
rv = 2;
} else if (insectNum == 23) {
rv = 3;
} else if (insectNum == 24) {
rv = 4;
}
return rv;
}
#pragma pop
/* 8024C218-8024C248 246B58 0030+00 1/0 0/0 0/0 .text
* query046__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
@ -2094,6 +2118,12 @@ int dMsgFlow_c::event020(mesg_flow_node_event* flow_node, fopAc_ac_c* actor) {
/* 8024CD84-8024CDAC 2476C4 0028+00 1/0 0/0 0/0 .text
* event021__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
#ifndef NONMATCHING
int dMsgFlow_c::event021(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) {
cLib_calcTimer(&field_0x3c);
return 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@ -2102,6 +2132,7 @@ asm int dMsgFlow_c::event021(mesg_flow_node_event* param_0, fopAc_ac_c* param_1)
#include "asm/d/msg/d_msg_flow/event021__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c.s"
}
#pragma pop
#endif
/* ############################################################################################## */
/* 80454DA8-80454DAC 0033A8 0004+00 1/1 0/0 0/0 .sdata2 @6273 */
@ -2401,7 +2432,7 @@ SECTION_SDATA2 static f32 lit_6613 = 1.0f;
/* 8024D5EC-8024D6BC 247F2C 00D0+00 1/0 0/0 0/0 .text
* event032__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
#ifdef NONMATCHING
// Matches with literals and cLib_calcTimer implementation in the end
// Matches with literals
int dMsgFlow_c::event032(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) {
u16 uVar1;
u16 uVar2;
@ -2435,6 +2466,29 @@ asm int dMsgFlow_c::event032(mesg_flow_node_event* param_0, fopAc_ac_c* param_1)
/* 8024D6BC-8024D788 247FFC 00CC+00 1/0 0/0 0/0 .text
* event033__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
#ifdef NONMATCHING
// Matches with literals
int dMsgFlow_c::event033(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) {
u16 uVar1;
u16 uVar2;
GXColor color;
getParam(&uVar2, &uVar1, param_0->params);
if (uVar1 + 1 == field_0x3c) {
if (uVar2 == 0) {
color.r = 0;
color.g = 0;
color.b = 0;
color.a = 0;
} else {
color = g_saftyWhiteColor;
}
mDoGph_gInf_c::fadeOut(1.0f / uVar1, color);
}
cLib_calcTimer(&field_0x3c);
return 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@ -2443,6 +2497,7 @@ asm int dMsgFlow_c::event033(mesg_flow_node_event* param_0, fopAc_ac_c* param_1)
#include "asm/d/msg/d_msg_flow/event033__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c.s"
}
#pragma pop
#endif
/* 8024D788-8024D7C8 2480C8 0040+00 1/0 0/0 0/0 .text
* event034__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
@ -2566,13 +2621,5 @@ int dMsgFlow_c::event042(mesg_flow_node_event*, fopAc_ac_c*) {
}
/* 8024DAB0-8024DACC 2483F0 001C+00 3/3 0/0 0/0 .text cLib_calcTimer<l>__FPl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
extern "C" asm void func_8024DAB0(void* _this, s32* param_0) {
nofralloc
#include "asm/d/msg/d_msg_flow/func_8024DAB0.s"
}
#pragma pop
/* 80399CB0-80399CB0 026310 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */

View File

@ -18,6 +18,8 @@
#include "m_Do/m_Do_controller_pad.h"
#include "m_Do/m_Do_graphic.h"
#include "m_Do/m_Do_machine.h"
#include "dolphin/os/OSRtc.h"
#include "dolphin/vi/vi.h"
//
// Types:
@ -34,123 +36,10 @@ public:
// Forward References:
//
extern "C" void __ct__10dLog_HIO_cFv();
extern "C" void preLoad_dyl_create__10dScnLogo_cFv();
extern "C" void preLoad_dyl_remove__10dScnLogo_cFv();
extern "C" void preLoad_dyl__10dScnLogo_cFv();
extern "C" void checkProgSelect__10dScnLogo_cFv();
extern "C" void draw__10dScnLogo_cFv();
extern "C" void progInDraw__10dScnLogo_cFv();
extern "C" void progSelDraw__10dScnLogo_cFv();
extern "C" void progOutDraw__10dScnLogo_cFv();
extern "C" void progSetDraw__10dScnLogo_cFv();
extern "C" void progSet2Draw__10dScnLogo_cFv();
extern "C" void progChangeDraw__10dScnLogo_cFv();
extern "C" void warningInDraw__10dScnLogo_cFv();
extern "C" void warningDispDraw__10dScnLogo_cFv();
extern "C" void warningOutDraw__10dScnLogo_cFv();
extern "C" void nintendoInDraw__10dScnLogo_cFv();
extern "C" void nintendoOutDraw__10dScnLogo_cFv();
extern "C" void dolbyInDraw__10dScnLogo_cFv();
extern "C" void dolbyOutDraw__10dScnLogo_cFv();
extern "C" void dolbyOutDraw2__10dScnLogo_cFv();
extern "C" void dvdWaitDraw__10dScnLogo_cFv();
extern "C" void nextSceneChange__10dScnLogo_cFv();
extern "C" void __dt__10dScnLogo_cFv();
extern "C" static void phase_0__FP10dScnLogo_c();
extern "C" static void phase_1__FP10dScnLogo_c();
extern "C" static void phase_2__FP10dScnLogo_c();
extern "C" static void resLoad__FP30request_of_phase_process_classP10dScnLogo_c();
extern "C" void create__10dScnLogo_cFv();
extern "C" void logoInitGC__10dScnLogo_cFv();
extern "C" void dvdDataLoad__10dScnLogo_cFv();
extern "C" static void dScnLogo_Create__FP11scene_class();
extern "C" static void dScnLogo_Execute__FP10dScnLogo_c();
extern "C" static void dScnLogo_Draw__FP10dScnLogo_c();
extern "C" static void dScnLogo_Delete__FP10dScnLogo_c();
extern "C" static bool dScnLogo_IsDelete__FP10dScnLogo_c();
extern "C" void setProgressiveMode__10dScnLogo_cFUc();
extern "C" void getProgressiveMode__10dScnLogo_cFv();
extern "C" void isProgressiveMode__10dScnLogo_cFv();
extern "C" void setRenderMode__10dScnLogo_cFv();
extern "C" void __dt__10dLog_HIO_cFv();
extern "C" void func_802585A4(u16*);
extern "C" void __sinit_d_s_logo_cpp();
extern "C" extern char const* const d_s_d_s_logo__stringBase0;
//
// External References:
//
extern "C" void mDoExt_getGameHeap__Fv();
extern "C" void mDoExt_getJ2dHeap__Fv();
extern "C" void mDoExt_setCurrentHeap__FP7JKRHeap();
extern "C" void mDoExt_getMesgFont__Fv();
extern "C" void mDoExt_getRubyFont__Fv();
extern "C" void mDoExt_getSubFont__Fv();
extern "C" void mDoExt_setAraCacheSize__FUl();
extern "C" void mDoRst_reset__FiUli();
extern "C" void mDoRst_resetCallBack__FiPv();
extern "C" void create__25mDoDvdThd_mountXArchive_cFPCcUcQ210JKRArchive10EMountModeP7JKRHeap();
extern "C" void create__21mDoDvdThd_toMainRam_cFPCcUcP7JKRHeap();
extern "C" void cDyl_InitAsyncIsDone__Fv();
extern "C" void Link__7cDylPhsFP30request_of_phase_process_classs();
extern "C" void fopScnM_ChangeReq__FP11scene_classssUs();
extern "C" void createParticle__14dComIfG_play_cFv();
extern "C" void dComIfG_changeOpeningScene__FP11scene_classs();
extern "C" void dComLbG_PhaseHandler__FP30request_of_phase_process_classPPFPv_iPv();
extern "C" void setRes__14dRes_control_cFPCcP11dRes_info_ciPCcUcP7JKRHeap();
extern "C" void deleteRes__14dRes_control_cFPCcP11dRes_info_ci();
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
extern "C" void syncAllRes__14dRes_control_cFP11dRes_info_ci();
extern "C" void createWork__8dMpath_cFv();
extern "C" void createCommon__13dPa_control_cFPCv();
extern "C" void __ct__10dDlst_2D_cFP7ResTIMGssssUc();
extern "C" void setSimpleTex__21dDlst_shadowControl_cFPC7ResTIMG();
extern "C" void set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c();
extern "C" void createWork__7dTres_cFv();
extern "C" void waitBlanking__10JFWDisplayFi();
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
extern "C" void loadStaticWaves__10Z2SceneMgrFv();
extern "C" bool checkFirstWaves__10Z2SceneMgrFv();
extern "C" void resetProcess__10Z2AudioMgrFUlb();
extern "C" void becomeCurrentHeap__7JKRHeapFv();
extern "C" void destroy__7JKRHeapFv();
extern "C" void alloc__7JKRHeapFUli();
extern "C" void free__7JKRHeapFPvP7JKRHeap();
extern "C" void* __nw__FUl();
extern "C" void* __nwa__FUl();
extern "C" void __dl__FPv();
extern "C" void __dla__FPv();
extern "C" void create__10JKRExpHeapFUlP7JKRHeapb();
extern "C" void create__10JKRExpHeapFPvUlP7JKRHeapb();
extern "C" void getTotalFreeSize__11JKRAramHeapFv();
extern "C" void __dt__10J2DPictureFv();
extern "C" u32 OSGetProgressiveMode();
extern "C" void OSSetProgressiveMode(u32);
extern "C" u32 VIGetDTVStatus();
extern "C" void __register_global_object();
extern "C" void __ptmf_scall();
extern "C" void _savegpr_26();
extern "C" void _savegpr_27();
extern "C" void _savegpr_28();
extern "C" void _savegpr_29();
extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern void* __vt__10dDlst_2D_c[3];
extern "C" u8 m_cpadInfo__8mDoCPd_c[256];
extern "C" void* mRenderModeObj__15mDoMch_render_c[1 + 1 /* padding */];
extern "C" extern u8 mInitFlag__17mDoAud_zelAudio_c[4];
extern "C" u8 mFader__13mDoGph_gInf_c[4];
extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */];
extern "C" u8 mData__12dEnemyItem_c[4 + 4 /* padding */];
extern "C" u8 sManager__10JFWDisplay[4];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
extern "C" u8 sAramObject__7JKRAram[4];
extern "C" u8 sCallback__Q210JUTGamePad13C3ButtonReset[4];
extern "C" u8 sCallbackArg__Q210JUTGamePad13C3ButtonReset[4 + 4 /* padding */];
//
// Declarations:
@ -158,7 +47,7 @@ extern "C" u8 sCallbackArg__Q210JUTGamePad13C3ButtonReset[4 + 4 /* padding */];
/* ############################################################################################## */
/* 803C2E38-803C2E44 01FF58 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */
SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
static u8 cNullVec__6Z2Calc[12] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
@ -166,7 +55,7 @@ SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
static dLog_HIO_c g_LogHIO;
typedef void (dScnLogo_c::*execFunc)();
SECTION_DATA static execFunc l_execFunc[16] = {
static execFunc l_execFunc[16] = {
&dScnLogo_c::warningInDraw, &dScnLogo_c::warningDispDraw, &dScnLogo_c::warningOutDraw,
&dScnLogo_c::nintendoInDraw, &dScnLogo_c::nintendoOutDraw, &dScnLogo_c::dolbyInDraw,
&dScnLogo_c::dolbyOutDraw, &dScnLogo_c::dolbyOutDraw2, &dScnLogo_c::progInDraw,
@ -632,8 +521,6 @@ dScnLogo_c::~dScnLogo_c() {
}
/* 80257910-802579BC 252250 00AC+00 1/0 0/0 0/0 .text phase_0__FP10dScnLogo_c */
// setFadeColor instruction reordering
#ifdef NONMATCHING
static int phase_0(dScnLogo_c* logo) {
mDoGph_gInf_c::setFadeColor(*(JUtility::TColor*)&g_blackColor);
dComIfGp_particle_create();
@ -644,16 +531,6 @@ static int phase_0(dScnLogo_c* logo) {
return 2;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm int phase_0(dScnLogo_c* param_0) {
nofralloc
#include "asm/d/s/d_s_logo/phase_0__FP10dScnLogo_c.s"
}
#pragma pop
#endif
/* 802579BC-80257A70 2522FC 00B4+00 1/0 0/0 0/0 .text phase_1__FP10dScnLogo_c */
static int phase_1(dScnLogo_c* logo) {
@ -822,20 +699,9 @@ void dScnLogo_c::dvdDataLoad() {
}
/* 80258420-80258444 252D60 0024+00 1/0 0/0 0/0 .text dScnLogo_Create__FP11scene_class */
#ifdef NONMATCHING
static int dScnLogo_Create(scene_class* scn) {
return static_cast<dScnLogo_c*>(scn)->create();
return (new (scn) dScnLogo_c())->create();
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void dScnLogo_Create(scene_class* param_0) {
nofralloc
#include "asm/d/s/d_s_logo/dScnLogo_Create__FP11scene_class.s"
}
#pragma pop
#endif
/* 80258444-80258484 252D84 0040+00 1/0 0/0 0/0 .text dScnLogo_Execute__FP10dScnLogo_c */
static int dScnLogo_Execute(dScnLogo_c* logo) {
@ -889,34 +755,26 @@ void dScnLogo_c::setRenderMode() {
/* 8025855C-802585A4 252E9C 0048+00 2/1 0/0 0/0 .text __dt__10dLog_HIO_cFv */
dLog_HIO_c::~dLog_HIO_c() {}
/* 802585A4-802585C0 252EE4 001C+00 1/1 0/0 0/0 .text cLib_calcTimer<Us>__FPUs */
template <typename T>
T cLib_calcTimer(T* value) {
if (*value != 0) {
*value = *value - 1;
}
return *value;
}
/* 803C2FD0-803C2FE4 -00001 0014+00 1/0 0/0 0/0 .data l_dScnLogo_Method */
SECTION_DATA static void* l_dScnLogo_Method[5] = {
(void*)dScnLogo_Create__FP11scene_class, (void*)dScnLogo_Delete__FP10dScnLogo_c,
(void*)dScnLogo_Execute__FP10dScnLogo_c, (void*)dScnLogo_IsDelete__FP10dScnLogo_c,
(void*)dScnLogo_Draw__FP10dScnLogo_c,
static dScnLogo_Method l_dScnLogo_Method[5] = {
(dScnLogo_Method) dScnLogo_Create, dScnLogo_Delete,
dScnLogo_Execute, dScnLogo_IsDelete,
dScnLogo_Draw,
};
/* 803C2FE4-803C300C -00001 0028+00 0/0 0/0 1/0 .data g_profile_LOGO_SCENE */
SECTION_DATA extern void* g_profile_LOGO_SCENE[10] = {
(void*)NULL,
(void*)0x0001FFFD,
(void*)0x00090000,
(void*)&g_fpcNd_Method,
(void*)0x000002A8,
(void*)NULL,
(void*)NULL,
(void*)&g_fopScn_Method,
(void*)&l_dScnLogo_Method,
(void*)NULL,
extern scene_process_profile_definition g_profile_LOGO_SCENE = {
0,
1,
-3,
PROC_LOGO_SCENE,
&g_fpcNd_Method.mBase,
sizeof(dScnLogo_c),
0,
0,
&g_fopScn_Method.mBase,
(process_method_class*)&l_dScnLogo_Method,
NULL,
};
/* 80399FFC-80399FFC 02665C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */

View File

@ -474,29 +474,19 @@ void dScnName_c::FileSelectMain() {
}
/* 80258E78-80258F20 2537B8 00A8+00 1/1 0/0 0/0 .text FileSelectMainNormal__10dScnName_cFv */
#ifdef NONMATCHING
void dScnName_c::FileSelectMainNormal() {
if (dFs_c->isSelectEnd() == true) {
switch(dFs_c->isSelectEnd()) {
case 1:
field_0x41e = 15;
mDoGph_gInf_c::setFadeColor(*(JUtility::TColor*)&g_blackColor);
mDoGph_gInf_c::startFadeOut(15);
field_0x41d = 2;
field_0x420 = 1;
break;
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dScnName_c::FileSelectMainNormal() {
nofralloc
#include "asm/d/s/d_s_name/FileSelectMainNormal__10dScnName_cFv.s"
}
#pragma pop
#endif
/* 80258F20-80258FD4 253860 00B4+00 1/0 0/0 0/0 .text FileSelectClose__10dScnName_cFv */
#ifdef NONMATCHING
void dScnName_c::FileSelectClose() {
field_0x41e--;
@ -509,16 +499,6 @@ void dScnName_c::FileSelectClose() {
field_0x420 = 0;
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dScnName_c::FileSelectClose() {
nofralloc
#include "asm/d/s/d_s_name/FileSelectClose__10dScnName_cFv.s"
}
#pragma pop
#endif
/* 80258FD4-80259008 253914 0034+00 1/0 0/0 0/0 .text brightCheckOpen__10dScnName_cFv */
void dScnName_c::brightCheckOpen() {

View File

@ -24,6 +24,7 @@
#include "m_Do/m_Do_Reset.h"
#include "m_Do/m_Do_audio.h"
#include "m_Do/m_Do_graphic.h"
#include "d/d_eye_hl.h"
//
// Types:
@ -387,7 +388,7 @@ asm dScnPly_env_debugHIO_c::dScnPly_env_debugHIO_c() {
SECTION_SDATA2 static u32 lit_4100 = 0x2A1E46FF;
/* 802594AC-802597B8 253DEC 030C+00 1/0 0/0 0/0 .text dScnPly_Draw__FP9dScnPly_c */
// some small issues like instruction reordering
// bool comparison issues
#ifdef NONMATCHING
static int dScnPly_Draw(dScnPly_c* scn) {
dComIfG_Ccsp()->Move();
@ -425,7 +426,7 @@ static int dScnPly_Draw(dScnPly_c* scn) {
}
dMdl_mng_c::reset();
if (!dComIfGp_isPauseFlag() && pauseTimer == 0) {
if (!dComIfGp_isPauseFlag() && dScnPly_c::pauseTimer == 0) {
if (fpcM_GetName(scn) == PROC_PLAY_SCENE) {
dComIfGp_getVibration().Run();
}
@ -436,9 +437,9 @@ static int dScnPly_Draw(dScnPly_c* scn) {
cCt_execCounter();
} else {
dPa_control_c::onStatus(1);
if (pauseTimer == 0) {
if (dScnPly_c::pauseTimer == 0) {
dPa_control_c::onStatus(2);
if (pauseTimer == 0) {
if (dScnPly_c::pauseTimer == 0) {
dComIfGp_getVibration().Pause();
}
}