diff --git a/Progress.md b/Progress.md index 88aed9b53e2..b10c6a8625a 100644 --- a/Progress.md +++ b/Progress.md @@ -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.682615% | 959652 | 3596544 +.text | 26.773703% | 962928 | 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.411860% | 1383588 | 4020672 +Total | 34.493338% | 1386864 | 4020672 ## Total Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- -main.dol | 34.411860% | 1383588 | 4020672 +main.dol | 34.493338% | 1386864 | 4020672 RELs | 33.562950% | 3859848 | 11500324 -Total | 33.782858% | 5243436 | 15520996 +Total | 33.803965% | 5246712 | 15520996 ## RELs diff --git a/asm/JSystem/J3DGraphLoader/J3DShapeFactory/calcSize__15J3DShapeFactoryFiUl.s b/asm/JSystem/J3DGraphLoader/J3DShapeFactory/calcSize__15J3DShapeFactoryFiUl.s deleted file mode 100644 index 9674fbe7182..00000000000 --- a/asm/JSystem/J3DGraphLoader/J3DShapeFactory/calcSize__15J3DShapeFactoryFiUl.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_80337944: -/* 80337944 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80337948 7C 08 02 A6 */ mflr r0 -/* 8033794C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80337950 39 61 00 20 */ addi r11, r1, 0x20 -/* 80337954 48 02 A8 7D */ bl _savegpr_26 -/* 80337958 7C 7A 1B 78 */ mr r26, r3 -/* 8033795C 7C 9B 23 78 */ mr r27, r4 -/* 80337960 7C BC 2B 78 */ mr r28, r5 -/* 80337964 80 83 00 00 */ lwz r4, 0(r3) -/* 80337968 80 63 00 04 */ lwz r3, 4(r3) -/* 8033796C 57 60 08 3C */ slwi r0, r27, 1 -/* 80337970 7C 03 02 2E */ lhzx r0, r3, r0 -/* 80337974 1C 00 00 28 */ mulli r0, r0, 0x28 -/* 80337978 7C 64 02 14 */ add r3, r4, r0 -/* 8033797C A3 C3 00 02 */ lhz r30, 2(r3) -/* 80337980 57 C3 10 3A */ slwi r3, r30, 2 -/* 80337984 3B E3 00 68 */ addi r31, r3, 0x68 -/* 80337988 7F FF 1A 14 */ add r31, r31, r3 -/* 8033798C 3B A0 00 00 */ li r29, 0 -/* 80337990 48 00 00 24 */ b lbl_803379B4 -lbl_80337994: -/* 80337994 7F 43 D3 78 */ mr r3, r26 -/* 80337998 7F 84 E3 78 */ mr r4, r28 -/* 8033799C 7F 65 DB 78 */ mr r5, r27 -/* 803379A0 7F A6 EB 78 */ mr r6, r29 -/* 803379A4 48 00 00 45 */ bl calcSizeShapeMtx__15J3DShapeFactoryCFUlii -/* 803379A8 7F FF 1A 14 */ add r31, r31, r3 -/* 803379AC 3B FF 00 0C */ addi r31, r31, 0xc -/* 803379B0 3B BD 00 01 */ addi r29, r29, 1 -lbl_803379B4: -/* 803379B4 7C 1D F0 40 */ cmplw r29, r30 -/* 803379B8 41 80 FF DC */ blt lbl_80337994 -/* 803379BC 7F E3 FB 78 */ mr r3, r31 -/* 803379C0 39 61 00 20 */ addi r11, r1, 0x20 -/* 803379C4 48 02 A8 59 */ bl _restgpr_26 -/* 803379C8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 803379CC 7C 08 03 A6 */ mtlr r0 -/* 803379D0 38 21 00 20 */ addi r1, r1, 0x20 -/* 803379D4 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_flow/eventNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c.s b/asm/d/msg/d_msg_flow/eventNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c.s deleted file mode 100644 index 348db497fe7..00000000000 --- a/asm/d/msg/d_msg_flow/eventNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c.s +++ /dev/null @@ -1,142 +0,0 @@ -lbl_8024ADEC: -/* 8024ADEC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8024ADF0 7C 08 02 A6 */ mflr r0 -/* 8024ADF4 90 01 00 24 */ stw r0, 0x24(r1) -/* 8024ADF8 39 61 00 20 */ addi r11, r1, 0x20 -/* 8024ADFC 48 11 73 E1 */ bl _savegpr_29 -/* 8024AE00 7C 7E 1B 78 */ mr r30, r3 -/* 8024AE04 7C 86 23 78 */ mr r6, r4 -/* 8024AE08 7C BF 2B 78 */ mr r31, r5 -/* 8024AE0C 80 83 00 0C */ lwz r4, 0xc(r3) -/* 8024AE10 A0 03 00 10 */ lhz r0, 0x10(r3) -/* 8024AE14 54 00 18 38 */ slwi r0, r0, 3 -/* 8024AE18 7F A4 02 14 */ add r29, r4, r0 -/* 8024AE1C 7F A4 EB 78 */ mr r4, r29 -/* 8024AE20 7C C5 33 78 */ mr r5, r6 -/* 8024AE24 88 1D 00 01 */ lbz r0, 1(r29) -/* 8024AE28 1C E0 00 0C */ mulli r7, r0, 0xc -/* 8024AE2C 3C C0 80 3C */ lis r6, mEventList__10dMsgFlow_c@ha /* 0x803C1CCC@ha */ -/* 8024AE30 38 06 1C CC */ addi r0, r6, mEventList__10dMsgFlow_c@l /* 0x803C1CCC@l */ -/* 8024AE34 7D 80 3A 14 */ add r12, r0, r7 -/* 8024AE38 48 11 72 4D */ bl __ptmf_scall -/* 8024AE3C 60 00 00 00 */ nop -/* 8024AE40 88 1D 00 01 */ lbz r0, 1(r29) -/* 8024AE44 2C 00 00 15 */ cmpwi r0, 0x15 -/* 8024AE48 41 82 01 64 */ beq lbl_8024AFAC -/* 8024AE4C 40 80 00 1C */ bge lbl_8024AE68 -/* 8024AE50 2C 00 00 09 */ cmpwi r0, 9 -/* 8024AE54 41 82 00 84 */ beq lbl_8024AED8 -/* 8024AE58 40 80 01 68 */ bge lbl_8024AFC0 -/* 8024AE5C 2C 00 00 08 */ cmpwi r0, 8 -/* 8024AE60 40 80 00 1C */ bge lbl_8024AE7C -/* 8024AE64 48 00 01 5C */ b lbl_8024AFC0 -lbl_8024AE68: -/* 8024AE68 2C 00 00 22 */ cmpwi r0, 0x22 -/* 8024AE6C 40 80 01 54 */ bge lbl_8024AFC0 -/* 8024AE70 2C 00 00 20 */ cmpwi r0, 0x20 -/* 8024AE74 40 80 01 38 */ bge lbl_8024AFAC -/* 8024AE78 48 00 01 48 */ b lbl_8024AFC0 -lbl_8024AE7C: -/* 8024AE7C 7F C3 F3 78 */ mr r3, r30 -/* 8024AE80 38 9E 00 32 */ addi r4, r30, 0x32 -/* 8024AE84 38 BE 00 30 */ addi r5, r30, 0x30 -/* 8024AE88 38 DD 00 04 */ addi r6, r29, 4 -/* 8024AE8C 48 00 02 65 */ bl getParam__10dMsgFlow_cFPUsPUsPUc -/* 8024AE90 7F C3 F3 78 */ mr r3, r30 -/* 8024AE94 80 9E 00 14 */ lwz r4, 0x14(r30) -/* 8024AE98 A0 1D 00 02 */ lhz r0, 2(r29) -/* 8024AE9C 54 00 08 3C */ slwi r0, r0, 1 -/* 8024AEA0 7C 84 02 2E */ lhzx r4, r4, r0 -/* 8024AEA4 7F E5 FB 78 */ mr r5, r31 -/* 8024AEA8 4B FF F9 25 */ bl setNodeIndex__10dMsgFlow_cFUsPP10fopAc_ac_c -/* 8024AEAC 88 1E 00 26 */ lbz r0, 0x26(r30) -/* 8024AEB0 28 00 00 00 */ cmplwi r0, 0 -/* 8024AEB4 40 82 01 28 */ bne lbl_8024AFDC -/* 8024AEB8 A3 BE 00 10 */ lhz r29, 0x10(r30) -/* 8024AEBC 7F C3 F3 78 */ mr r3, r30 -/* 8024AEC0 3C 80 00 01 */ lis r4, 0x0001 /* 0x0000FFFF@ha */ -/* 8024AEC4 38 84 FF FF */ addi r4, r4, 0xFFFF /* 0x0000FFFF@l */ -/* 8024AEC8 7F E5 FB 78 */ mr r5, r31 -/* 8024AECC 4B FF F9 01 */ bl setNodeIndex__10dMsgFlow_cFUsPP10fopAc_ac_c -/* 8024AED0 B3 BE 00 10 */ sth r29, 0x10(r30) -/* 8024AED4 48 00 01 08 */ b lbl_8024AFDC -lbl_8024AED8: -/* 8024AED8 7F C3 F3 78 */ mr r3, r30 -/* 8024AEDC 38 9D 00 04 */ addi r4, r29, 4 -/* 8024AEE0 48 00 02 51 */ bl getParam__10dMsgFlow_cFPUc -/* 8024AEE4 2C 03 00 00 */ cmpwi r3, 0 -/* 8024AEE8 40 82 00 60 */ bne lbl_8024AF48 -/* 8024AEEC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8024AEF0 38 A3 61 C0 */ addi r5, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8024AEF4 80 65 5D B4 */ lwz r3, 0x5db4(r5) -/* 8024AEF8 A0 03 31 20 */ lhz r0, 0x3120(r3) -/* 8024AEFC 28 00 FF FF */ cmplwi r0, 0xffff -/* 8024AF00 40 82 00 2C */ bne lbl_8024AF2C -/* 8024AF04 88 8D 87 E4 */ lbz r4, mStayNo__20dStage_roomControl_c+0x0(r13) -/* 8024AF08 7C 84 07 74 */ extsb r4, r4 -/* 8024AF0C 38 65 4E C4 */ addi r3, r5, 0x4ec4 -/* 8024AF10 4B DD 94 75 */ bl getStatusRoomDt__20dStage_roomControl_cFi -/* 8024AF14 81 83 00 00 */ lwz r12, 0(r3) -/* 8024AF18 81 8C 01 0C */ lwz r12, 0x10c(r12) -/* 8024AF1C 7D 89 03 A6 */ mtctr r12 -/* 8024AF20 4E 80 04 21 */ bctrl -/* 8024AF24 A3 A3 00 1C */ lhz r29, 0x1c(r3) -/* 8024AF28 48 00 00 0C */ b lbl_8024AF34 -lbl_8024AF2C: -/* 8024AF2C 7C 1D 03 78 */ mr r29, r0 -/* 8024AF30 4B E6 9A 09 */ bl setMidnaMsg__9daAlink_cFv -lbl_8024AF34: -/* 8024AF34 7F C3 F3 78 */ mr r3, r30 -/* 8024AF38 7F A4 EB 78 */ mr r4, r29 -/* 8024AF3C 7F E5 FB 78 */ mr r5, r31 -/* 8024AF40 4B FF F6 D9 */ bl setInitValueGroupChange__10dMsgFlow_cFiPP10fopAc_ac_c -/* 8024AF44 48 00 00 98 */ b lbl_8024AFDC -lbl_8024AF48: -/* 8024AF48 7F C3 F3 78 */ mr r3, r30 -/* 8024AF4C 38 80 00 00 */ li r4, 0 -/* 8024AF50 4B FF F6 31 */ bl setInitValue__10dMsgFlow_cFi -/* 8024AF54 7F C3 F3 78 */ mr r3, r30 -/* 8024AF58 38 9D 00 04 */ addi r4, r29, 4 -/* 8024AF5C 48 00 01 D5 */ bl getParam__10dMsgFlow_cFPUc -/* 8024AF60 B0 7E 00 1C */ sth r3, 0x1c(r30) -/* 8024AF64 7F C3 F3 78 */ mr r3, r30 -/* 8024AF68 A0 9E 00 1C */ lhz r4, 0x1c(r30) -/* 8024AF6C 4B FF F8 19 */ bl getInitNodeIndex__10dMsgFlow_cFUs -/* 8024AF70 7C 64 1B 78 */ mr r4, r3 -/* 8024AF74 7F C3 F3 78 */ mr r3, r30 -/* 8024AF78 7F E5 FB 78 */ mr r5, r31 -/* 8024AF7C 4B FF F8 51 */ bl setNodeIndex__10dMsgFlow_cFUsPP10fopAc_ac_c -/* 8024AF80 88 1E 00 48 */ lbz r0, 0x48(r30) -/* 8024AF84 28 00 00 00 */ cmplwi r0, 0 -/* 8024AF88 40 82 00 54 */ bne lbl_8024AFDC -/* 8024AF8C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8024AF90 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8024AF94 80 63 5D BC */ lwz r3, 0x5dbc(r3) -/* 8024AF98 4B FE C1 65 */ bl isMidonaMessage__12dMsgObject_cFv -/* 8024AF9C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8024AFA0 40 82 00 3C */ bne lbl_8024AFDC -/* 8024AFA4 38 60 00 00 */ li r3, 0 -/* 8024AFA8 48 00 00 38 */ b lbl_8024AFE0 -lbl_8024AFAC: -/* 8024AFAC 80 1E 00 3C */ lwz r0, 0x3c(r30) -/* 8024AFB0 2C 00 00 00 */ cmpwi r0, 0 -/* 8024AFB4 41 82 00 0C */ beq lbl_8024AFC0 -/* 8024AFB8 38 60 00 00 */ li r3, 0 -/* 8024AFBC 48 00 00 24 */ b lbl_8024AFE0 -lbl_8024AFC0: -/* 8024AFC0 7F C3 F3 78 */ mr r3, r30 -/* 8024AFC4 80 9E 00 14 */ lwz r4, 0x14(r30) -/* 8024AFC8 A0 1D 00 02 */ lhz r0, 2(r29) -/* 8024AFCC 54 00 08 3C */ slwi r0, r0, 1 -/* 8024AFD0 7C 84 02 2E */ lhzx r4, r4, r0 -/* 8024AFD4 7F E5 FB 78 */ mr r5, r31 -/* 8024AFD8 4B FF F7 F5 */ bl setNodeIndex__10dMsgFlow_cFUsPP10fopAc_ac_c -lbl_8024AFDC: -/* 8024AFDC 38 60 00 01 */ li r3, 1 -lbl_8024AFE0: -/* 8024AFE0 39 61 00 20 */ addi r11, r1, 0x20 -/* 8024AFE4 48 11 72 45 */ bl _restgpr_29 -/* 8024AFE8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8024AFEC 7C 08 03 A6 */ mtlr r0 -/* 8024AFF0 38 21 00 20 */ addi r1, r1, 0x20 -/* 8024AFF4 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_flow/getInitNodeIndex__10dMsgFlow_cFUs.s b/asm/d/msg/d_msg_flow/getInitNodeIndex__10dMsgFlow_cFUs.s deleted file mode 100644 index c19500bdb0d..00000000000 --- a/asm/d/msg/d_msg_flow/getInitNodeIndex__10dMsgFlow_cFUs.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_8024A784: -/* 8024A784 3C A0 00 01 */ lis r5, 0x0001 /* 0x0000FFFF@ha */ -/* 8024A788 38 E5 FF FF */ addi r7, r5, 0xFFFF /* 0x0000FFFF@l */ -/* 8024A78C 80 A3 00 08 */ lwz r5, 8(r3) -/* 8024A790 38 C5 00 10 */ addi r6, r5, 0x10 -/* 8024A794 54 83 04 3E */ clrlwi r3, r4, 0x10 -/* 8024A798 A0 05 00 08 */ lhz r0, 8(r5) -/* 8024A79C 7C 09 03 A6 */ mtctr r0 -/* 8024A7A0 2C 00 00 00 */ cmpwi r0, 0 -/* 8024A7A4 40 81 00 20 */ ble lbl_8024A7C4 -lbl_8024A7A8: -/* 8024A7A8 80 06 00 00 */ lwz r0, 0(r6) -/* 8024A7AC 54 00 84 3E */ srwi r0, r0, 0x10 -/* 8024A7B0 7C 00 18 40 */ cmplw r0, r3 -/* 8024A7B4 40 82 00 08 */ bne lbl_8024A7BC -/* 8024A7B8 A0 E6 00 04 */ lhz r7, 4(r6) -lbl_8024A7BC: -/* 8024A7BC 38 C6 00 08 */ addi r6, r6, 8 -/* 8024A7C0 42 00 FF E8 */ bdnz lbl_8024A7A8 -lbl_8024A7C4: -/* 8024A7C4 7C E3 3B 78 */ mr r3, r7 -/* 8024A7C8 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_flow/getMsgDataBlock__10dMsgFlow_cFPCc.s b/asm/d/msg/d_msg_flow/getMsgDataBlock__10dMsgFlow_cFPCc.s deleted file mode 100644 index 8337311a3c0..00000000000 --- a/asm/d/msg/d_msg_flow/getMsgDataBlock__10dMsgFlow_cFPCc.s +++ /dev/null @@ -1,43 +0,0 @@ -lbl_8024A6EC: -/* 8024A6EC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8024A6F0 7C 08 02 A6 */ mflr r0 -/* 8024A6F4 90 01 00 24 */ stw r0, 0x24(r1) -/* 8024A6F8 39 61 00 20 */ addi r11, r1, 0x20 -/* 8024A6FC 48 11 7A DD */ bl _savegpr_28 -/* 8024A700 7C 9C 23 78 */ mr r28, r4 -/* 8024A704 80 02 D1 A0 */ lwz r0, lit_4765(r2) -/* 8024A708 90 01 00 08 */ stw r0, 8(r1) -/* 8024A70C 88 02 D1 A4 */ lbz r0, data_80456BA4(r2) -/* 8024A710 98 01 00 0C */ stb r0, 0xc(r1) -/* 8024A714 4B FE DA 61 */ bl getMsgDtPtr__12dMsgObject_cFv -/* 8024A718 83 C3 00 0C */ lwz r30, 0xc(r3) -/* 8024A71C 3B A0 00 00 */ li r29, 0 -/* 8024A720 3B E3 00 20 */ addi r31, r3, 0x20 -/* 8024A724 48 00 00 3C */ b lbl_8024A760 -lbl_8024A728: -/* 8024A728 38 61 00 08 */ addi r3, r1, 8 -/* 8024A72C 7F E4 FB 78 */ mr r4, r31 -/* 8024A730 38 A0 00 04 */ li r5, 4 -/* 8024A734 4B DB 8E 0D */ bl memcpy -/* 8024A738 38 61 00 08 */ addi r3, r1, 8 -/* 8024A73C 7F 84 E3 78 */ mr r4, r28 -/* 8024A740 48 11 E2 55 */ bl strcmp -/* 8024A744 2C 03 00 00 */ cmpwi r3, 0 -/* 8024A748 40 82 00 0C */ bne lbl_8024A754 -/* 8024A74C 7F E3 FB 78 */ mr r3, r31 -/* 8024A750 48 00 00 1C */ b lbl_8024A76C -lbl_8024A754: -/* 8024A754 80 1F 00 04 */ lwz r0, 4(r31) -/* 8024A758 7F FF 02 14 */ add r31, r31, r0 -/* 8024A75C 3B BD 00 01 */ addi r29, r29, 1 -lbl_8024A760: -/* 8024A760 7C 1D F0 40 */ cmplw r29, r30 -/* 8024A764 41 80 FF C4 */ blt lbl_8024A728 -/* 8024A768 38 60 00 00 */ li r3, 0 -lbl_8024A76C: -/* 8024A76C 39 61 00 20 */ addi r11, r1, 0x20 -/* 8024A770 48 11 7A B5 */ bl _restgpr_28 -/* 8024A774 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8024A778 7C 08 03 A6 */ mtlr r0 -/* 8024A77C 38 21 00 20 */ addi r1, r1, 0x20 -/* 8024A780 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_flow/init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c.s b/asm/d/msg/d_msg_flow/init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c.s deleted file mode 100644 index 7881e4dce26..00000000000 --- a/asm/d/msg/d_msg_flow/init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c.s +++ /dev/null @@ -1,115 +0,0 @@ -lbl_80249F90: -/* 80249F90 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80249F94 7C 08 02 A6 */ mflr r0 -/* 80249F98 90 01 00 24 */ stw r0, 0x24(r1) -/* 80249F9C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80249FA0 48 11 82 31 */ bl _savegpr_26 -/* 80249FA4 7C 7C 1B 78 */ mr r28, r3 -/* 80249FA8 7C 9D 23 78 */ mr r29, r4 -/* 80249FAC 7C BA 2B 78 */ mr r26, r5 -/* 80249FB0 7C DB 33 78 */ mr r27, r6 -/* 80249FB4 7C FE 3B 78 */ mr r30, r7 -/* 80249FB8 4B FE E2 75 */ bl getStatus__12dMsgObject_cFv -/* 80249FBC 54 60 04 3E */ clrlwi r0, r3, 0x10 -/* 80249FC0 20 60 00 01 */ subfic r3, r0, 1 -/* 80249FC4 30 03 FF FF */ addic r0, r3, -1 -/* 80249FC8 7C 00 19 10 */ subfe r0, r0, r3 -/* 80249FCC 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 80249FD0 40 82 01 54 */ bne lbl_8024A124 -/* 80249FD4 28 1E 00 00 */ cmplwi r30, 0 -/* 80249FD8 40 82 00 38 */ bne lbl_8024A010 -/* 80249FDC 38 00 00 00 */ li r0, 0 -/* 80249FE0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80249FE4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80249FE8 90 03 5E F0 */ stw r0, 0x5ef0(r3) -/* 80249FEC 90 03 5E F4 */ stw r0, 0x5ef4(r3) -/* 80249FF0 90 03 5E F8 */ stw r0, 0x5ef8(r3) -/* 80249FF4 90 03 5E FC */ stw r0, 0x5efc(r3) -/* 80249FF8 90 03 5F 00 */ stw r0, 0x5f00(r3) -/* 80249FFC 90 03 5F 04 */ stw r0, 0x5f04(r3) -/* 8024A000 90 03 5F 08 */ stw r0, 0x5f08(r3) -/* 8024A004 90 03 5F 0C */ stw r0, 0x5f0c(r3) -/* 8024A008 90 03 5F 10 */ stw r0, 0x5f10(r3) -/* 8024A00C 90 03 5F 14 */ stw r0, 0x5f14(r3) -lbl_8024A010: -/* 8024A010 2C 1B 00 00 */ cmpwi r27, 0 -/* 8024A014 40 82 00 1C */ bne lbl_8024A030 -/* 8024A018 3C 60 80 43 */ lis r3, g_MsgObject_HIO_c@ha /* 0x8043028C@ha */ -/* 8024A01C 38 63 02 8C */ addi r3, r3, g_MsgObject_HIO_c@l /* 0x8043028C@l */ -/* 8024A020 88 03 03 1F */ lbz r0, 0x31f(r3) -/* 8024A024 28 00 00 02 */ cmplwi r0, 2 -/* 8024A028 40 82 00 08 */ bne lbl_8024A030 -/* 8024A02C AB 43 02 F6 */ lha r26, 0x2f6(r3) -lbl_8024A030: -/* 8024A030 57 5F 04 3E */ clrlwi r31, r26, 0x10 -/* 8024A034 7F 43 D3 78 */ mr r3, r26 -/* 8024A038 4B FE E0 05 */ bl changeFlowGroup__12dMsgObject_cFl -/* 8024A03C 2C 1B 00 00 */ cmpwi r27, 0 -/* 8024A040 40 82 00 AC */ bne lbl_8024A0EC -/* 8024A044 7F 83 E3 78 */ mr r3, r28 -/* 8024A048 38 80 00 01 */ li r4, 1 -/* 8024A04C 48 00 05 35 */ bl setInitValue__10dMsgFlow_cFi -/* 8024A050 7F 83 E3 78 */ mr r3, r28 -/* 8024A054 3C 80 80 3A */ lis r4, d_msg_d_msg_flow__stringBase0@ha /* 0x80399CB0@ha */ -/* 8024A058 38 84 9C B0 */ addi r4, r4, d_msg_d_msg_flow__stringBase0@l /* 0x80399CB0@l */ -/* 8024A05C 48 00 06 91 */ bl getMsgDataBlock__10dMsgFlow_cFPCc -/* 8024A060 90 7C 00 04 */ stw r3, 4(r28) -/* 8024A064 7F 83 E3 78 */ mr r3, r28 -/* 8024A068 3C 80 80 3A */ lis r4, d_msg_d_msg_flow__stringBase0@ha /* 0x80399CB0@ha */ -/* 8024A06C 38 84 9C B0 */ addi r4, r4, d_msg_d_msg_flow__stringBase0@l /* 0x80399CB0@l */ -/* 8024A070 38 84 00 05 */ addi r4, r4, 5 -/* 8024A074 48 00 06 79 */ bl getMsgDataBlock__10dMsgFlow_cFPCc -/* 8024A078 90 7C 00 08 */ stw r3, 8(r28) -/* 8024A07C 80 7C 00 04 */ lwz r3, 4(r28) -/* 8024A080 38 03 00 10 */ addi r0, r3, 0x10 -/* 8024A084 90 1C 00 0C */ stw r0, 0xc(r28) -/* 8024A088 80 9C 00 0C */ lwz r4, 0xc(r28) -/* 8024A08C 80 7C 00 04 */ lwz r3, 4(r28) -/* 8024A090 A0 03 00 08 */ lhz r0, 8(r3) -/* 8024A094 54 00 18 38 */ slwi r0, r0, 3 -/* 8024A098 7C 04 02 14 */ add r0, r4, r0 -/* 8024A09C 90 1C 00 14 */ stw r0, 0x14(r28) -/* 8024A0A0 80 9C 00 14 */ lwz r4, 0x14(r28) -/* 8024A0A4 80 7C 00 04 */ lwz r3, 4(r28) -/* 8024A0A8 A0 03 00 08 */ lhz r0, 8(r3) -/* 8024A0AC 54 00 08 3C */ slwi r0, r0, 1 -/* 8024A0B0 7C 04 02 14 */ add r0, r4, r0 -/* 8024A0B4 90 1C 00 18 */ stw r0, 0x18(r28) -/* 8024A0B8 B3 FC 00 1C */ sth r31, 0x1c(r28) -/* 8024A0BC 28 1D 00 00 */ cmplwi r29, 0 -/* 8024A0C0 41 82 00 0C */ beq lbl_8024A0CC -/* 8024A0C4 7F A3 EB 78 */ mr r3, r29 -/* 8024A0C8 4B FE D9 AD */ bl setTalkPartner__12dMsgObject_cFP10fopAc_ac_c -lbl_8024A0CC: -/* 8024A0CC 7F 83 E3 78 */ mr r3, r28 -/* 8024A0D0 A0 9C 00 1C */ lhz r4, 0x1c(r28) -/* 8024A0D4 48 00 06 B1 */ bl getInitNodeIndex__10dMsgFlow_cFUs -/* 8024A0D8 7C 64 1B 78 */ mr r4, r3 -/* 8024A0DC 7F 83 E3 78 */ mr r3, r28 -/* 8024A0E0 7F C5 F3 78 */ mr r5, r30 -/* 8024A0E4 48 00 06 E9 */ bl setNodeIndex__10dMsgFlow_cFUsPP10fopAc_ac_c -/* 8024A0E8 48 00 00 34 */ b lbl_8024A11C -lbl_8024A0EC: -/* 8024A0EC A3 FC 00 10 */ lhz r31, 0x10(r28) -/* 8024A0F0 7F 83 E3 78 */ mr r3, r28 -/* 8024A0F4 38 80 00 00 */ li r4, 0 -/* 8024A0F8 48 00 04 89 */ bl setInitValue__10dMsgFlow_cFi -/* 8024A0FC 28 1D 00 00 */ cmplwi r29, 0 -/* 8024A100 41 82 00 0C */ beq lbl_8024A10C -/* 8024A104 7F A3 EB 78 */ mr r3, r29 -/* 8024A108 4B FE D9 6D */ bl setTalkPartner__12dMsgObject_cFP10fopAc_ac_c -lbl_8024A10C: -/* 8024A10C 7F 83 E3 78 */ mr r3, r28 -/* 8024A110 7F E4 FB 78 */ mr r4, r31 -/* 8024A114 7F C5 F3 78 */ mr r5, r30 -/* 8024A118 48 00 06 B5 */ bl setNodeIndex__10dMsgFlow_cFUsPP10fopAc_ac_c -lbl_8024A11C: -/* 8024A11C 38 60 00 00 */ li r3, 0 -/* 8024A120 4B FE E4 25 */ bl setSelectWordFlag__12dMsgObject_cFUc -lbl_8024A124: -/* 8024A124 39 61 00 20 */ addi r11, r1, 0x20 -/* 8024A128 48 11 80 F5 */ bl _restgpr_26 -/* 8024A12C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8024A130 7C 08 03 A6 */ mtlr r0 -/* 8024A134 38 21 00 20 */ addi r1, r1, 0x20 -/* 8024A138 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_flow/query009__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s b/asm/d/msg/d_msg_flow/query009__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s deleted file mode 100644 index b18f7cc4b5f..00000000000 --- a/asm/d/msg/d_msg_flow/query009__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8024B4A4: -/* 8024B4A4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8024B4A8 7C 08 02 A6 */ mflr r0 -/* 8024B4AC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8024B4B0 4B DE 62 69 */ bl daNpcKakashi_getSwdTutorialResult__Fv -/* 8024B4B4 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 8024B4B8 7C 00 00 34 */ cntlzw r0, r0 -/* 8024B4BC 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f -/* 8024B4C0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8024B4C4 7C 08 03 A6 */ mtlr r0 -/* 8024B4C8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8024B4CC 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_flow/query010__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s b/asm/d/msg/d_msg_flow/query010__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s deleted file mode 100644 index ac4b796a415..00000000000 --- a/asm/d/msg/d_msg_flow/query010__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8024B4D0: -/* 8024B4D0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8024B4D4 7C 08 02 A6 */ mflr r0 -/* 8024B4D8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8024B4DC 4B DE 62 C9 */ bl daNpcKakashi_getSuccessCount__Fv -/* 8024B4E0 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 8024B4E4 20 60 00 01 */ subfic r3, r0, 1 -/* 8024B4E8 30 03 FF FF */ addic r0, r3, -1 -/* 8024B4EC 7C 00 19 10 */ subfe r0, r0, r3 -/* 8024B4F0 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 8024B4F4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8024B4F8 7C 08 03 A6 */ mtlr r0 -/* 8024B4FC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8024B500 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_flow/query024__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s b/asm/d/msg/d_msg_flow/query024__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s deleted file mode 100644 index b9dc5f4f211..00000000000 --- a/asm/d/msg/d_msg_flow/query024__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8024B954: -/* 8024B954 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8024B958 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8024B95C 88 63 00 EC */ lbz r3, 0xec(r3) -/* 8024B960 A0 04 00 04 */ lhz r0, 4(r4) -/* 8024B964 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 8024B968 7C 00 18 50 */ subf r0, r0, r3 -/* 8024B96C 54 03 0F FE */ srwi r3, r0, 0x1f -/* 8024B970 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_flow/query025__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s b/asm/d/msg/d_msg_flow/query025__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s deleted file mode 100644 index 183b671bb0f..00000000000 --- a/asm/d/msg/d_msg_flow/query025__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_8024B974: -/* 8024B974 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8024B978 7C 08 02 A6 */ mflr r0 -/* 8024B97C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8024B980 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8024B984 A0 04 00 04 */ lhz r0, 4(r4) -/* 8024B988 54 1F 06 3E */ clrlwi r31, r0, 0x18 -/* 8024B98C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8024B990 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8024B994 38 63 00 9C */ addi r3, r3, 0x9c -/* 8024B998 4B DE 7E 55 */ bl checkEmptyBottle__17dSv_player_item_cFv -/* 8024B99C 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 8024B9A0 7C 1F 00 50 */ subf r0, r31, r0 -/* 8024B9A4 54 03 0F FE */ srwi r3, r0, 0x1f -/* 8024B9A8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8024B9AC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8024B9B0 7C 08 03 A6 */ mtlr r0 -/* 8024B9B4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8024B9B8 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_flow/query028__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s b/asm/d/msg/d_msg_flow/query028__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s deleted file mode 100644 index f1cde26224f..00000000000 --- a/asm/d/msg/d_msg_flow/query028__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_8024BA4C: -/* 8024BA4C A0 04 00 04 */ lhz r0, 4(r4) -/* 8024BA50 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 8024BA54 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 8024BA58 80 A3 00 84 */ lwz r5, 0x84(r3) -/* 8024BA5C 1C 80 03 E8 */ mulli r4, r0, 0x3e8 -/* 8024BA60 38 C4 03 E7 */ addi r6, r4, 0x3e7 -/* 8024BA64 7C A0 32 78 */ xor r0, r5, r6 -/* 8024BA68 7C 03 0E 70 */ srawi r3, r0, 1 -/* 8024BA6C 7C 00 28 38 */ and r0, r0, r5 -/* 8024BA70 7C 00 18 50 */ subf r0, r0, r3 -/* 8024BA74 54 00 0F FE */ srwi r0, r0, 0x1f -/* 8024BA78 7C 03 03 78 */ mr r3, r0 -/* 8024BA7C 7C 05 30 00 */ cmpw r5, r6 -/* 8024BA80 7C 84 28 50 */ subf r4, r4, r5 -/* 8024BA84 38 04 03 E7 */ addi r0, r4, 0x3e7 -/* 8024BA88 41 81 00 08 */ bgt lbl_8024BA90 -/* 8024BA8C 7C 05 30 50 */ subf r0, r5, r6 -lbl_8024BA90: -/* 8024BA90 3C 80 80 43 */ lis r4, g_meter2_info@ha /* 0x80430188@ha */ -/* 8024BA94 38 84 01 88 */ addi r4, r4, g_meter2_info@l /* 0x80430188@l */ -/* 8024BA98 90 04 00 88 */ stw r0, 0x88(r4) -/* 8024BA9C 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_flow/query029__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s b/asm/d/msg/d_msg_flow/query029__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s deleted file mode 100644 index 0d7dc2ee573..00000000000 --- a/asm/d/msg/d_msg_flow/query029__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8024BAA0: -/* 8024BAA0 38 A0 00 01 */ li r5, 1 -/* 8024BAA4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8024BAA8 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8024BAAC A0 04 00 08 */ lhz r0, 8(r4) -/* 8024BAB0 54 03 04 3F */ clrlwi. r3, r0, 0x10 -/* 8024BAB4 41 82 00 10 */ beq lbl_8024BAC4 -/* 8024BAB8 A0 04 00 06 */ lhz r0, 6(r4) -/* 8024BABC 54 00 04 3F */ clrlwi. r0, r0, 0x10 -/* 8024BAC0 40 82 00 0C */ bne lbl_8024BACC -lbl_8024BAC4: -/* 8024BAC4 38 A0 00 02 */ li r5, 2 -/* 8024BAC8 48 00 00 10 */ b lbl_8024BAD8 -lbl_8024BACC: -/* 8024BACC 7C 03 00 40 */ cmplw r3, r0 -/* 8024BAD0 40 82 00 08 */ bne lbl_8024BAD8 -/* 8024BAD4 38 A0 00 00 */ li r5, 0 -lbl_8024BAD8: -/* 8024BAD8 54 A3 06 3E */ clrlwi r3, r5, 0x18 -/* 8024BADC 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_flow/query031__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s b/asm/d/msg/d_msg_flow/query031__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s deleted file mode 100644 index 990d03347c0..00000000000 --- a/asm/d/msg/d_msg_flow/query031__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_8024BB18: -/* 8024BB18 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8024BB1C 7C 08 02 A6 */ mflr r0 -/* 8024BB20 90 01 00 14 */ stw r0, 0x14(r1) -/* 8024BB24 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8024BB28 A3 E4 00 04 */ lhz r31, 4(r4) -/* 8024BB2C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8024BB30 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8024BB34 38 63 07 F0 */ addi r3, r3, 0x7f0 -/* 8024BB38 3C 80 00 01 */ lis r4, 0x0001 /* 0x0000FF1F@ha */ -/* 8024BB3C 38 84 FF 1F */ addi r4, r4, 0xFF1F /* 0x0000FF1F@l */ -/* 8024BB40 4B DE 8E C5 */ bl getEventReg__11dSv_event_cCFUs -/* 8024BB44 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 8024BB48 20 00 00 14 */ subfic r0, r0, 0x14 -/* 8024BB4C 7F E0 02 78 */ xor r0, r31, r0 -/* 8024BB50 7C 03 0E 70 */ srawi r3, r0, 1 -/* 8024BB54 7C 00 F8 38 */ and r0, r0, r31 -/* 8024BB58 7C 00 18 50 */ subf r0, r0, r3 -/* 8024BB5C 54 03 0F FE */ srwi r3, r0, 0x1f -/* 8024BB60 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8024BB64 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8024BB68 7C 08 03 A6 */ mtlr r0 -/* 8024BB6C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8024BB70 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_flow/query032__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s b/asm/d/msg/d_msg_flow/query032__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s deleted file mode 100644 index b2af2743279..00000000000 --- a/asm/d/msg/d_msg_flow/query032__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8024BB74: -/* 8024BB74 38 A0 00 01 */ li r5, 1 -/* 8024BB78 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8024BB7C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8024BB80 A0 63 00 02 */ lhz r3, 2(r3) -/* 8024BB84 A0 04 00 04 */ lhz r0, 4(r4) -/* 8024BB88 7C 03 00 00 */ cmpw r3, r0 -/* 8024BB8C 41 80 00 08 */ blt lbl_8024BB94 -/* 8024BB90 38 A0 00 00 */ li r5, 0 -lbl_8024BB94: -/* 8024BB94 54 A3 06 3E */ clrlwi r3, r5, 0x18 -/* 8024BB98 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_flow/query038__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s b/asm/d/msg/d_msg_flow/query038__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s deleted file mode 100644 index 2d5026aa07d..00000000000 --- a/asm/d/msg/d_msg_flow/query038__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s +++ /dev/null @@ -1,68 +0,0 @@ -lbl_8024BCC4: -/* 8024BCC4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8024BCC8 7C 08 02 A6 */ mflr r0 -/* 8024BCCC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8024BCD0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8024BCD4 A0 64 00 04 */ lhz r3, 4(r4) -/* 8024BCD8 2C 03 00 01 */ cmpwi r3, 1 -/* 8024BCDC 41 80 00 18 */ blt lbl_8024BCF4 -/* 8024BCE0 2C 03 00 04 */ cmpwi r3, 4 -/* 8024BCE4 40 80 00 10 */ bge lbl_8024BCF4 -/* 8024BCE8 38 03 FF FF */ addi r0, r3, -1 -/* 8024BCEC 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 8024BCF0 48 00 00 48 */ b lbl_8024BD38 -lbl_8024BCF4: -/* 8024BCF4 2C 03 00 04 */ cmpwi r3, 4 -/* 8024BCF8 40 82 00 20 */ bne lbl_8024BD18 -/* 8024BCFC 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 8024BD00 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 8024BD04 88 03 00 DC */ lbz r0, 0xdc(r3) -/* 8024BD08 28 00 00 FF */ cmplwi r0, 0xff -/* 8024BD0C 41 82 00 2C */ beq lbl_8024BD38 -/* 8024BD10 7C 04 03 78 */ mr r4, r0 -/* 8024BD14 48 00 00 24 */ b lbl_8024BD38 -lbl_8024BD18: -/* 8024BD18 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8024BD1C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8024BD20 38 63 0D D8 */ addi r3, r3, 0xdd8 -/* 8024BD24 3C 80 00 01 */ lis r4, 0x0001 /* 0x0000FBFF@ha */ -/* 8024BD28 38 84 FB FF */ addi r4, r4, 0xFBFF /* 0x0000FBFF@l */ -/* 8024BD2C 4B DE 8C D9 */ bl getEventReg__11dSv_event_cCFUs -/* 8024BD30 38 03 FF FF */ addi r0, r3, -1 -/* 8024BD34 54 04 06 3E */ clrlwi r4, r0, 0x18 -lbl_8024BD38: -/* 8024BD38 3B E0 00 00 */ li r31, 0 -/* 8024BD3C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8024BD40 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8024BD44 38 63 00 9C */ addi r3, r3, 0x9c -/* 8024BD48 38 04 00 0F */ addi r0, r4, 0xf -/* 8024BD4C 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 8024BD50 38 A0 00 00 */ li r5, 0 -/* 8024BD54 4B DE 72 DD */ bl getItem__17dSv_player_item_cCFib -/* 8024BD58 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 8024BD5C 2C 00 00 71 */ cmpwi r0, 0x71 -/* 8024BD60 41 82 00 28 */ beq lbl_8024BD88 -/* 8024BD64 40 80 00 10 */ bge lbl_8024BD74 -/* 8024BD68 2C 00 00 70 */ cmpwi r0, 0x70 -/* 8024BD6C 40 80 00 14 */ bge lbl_8024BD80 -/* 8024BD70 48 00 00 24 */ b lbl_8024BD94 -lbl_8024BD74: -/* 8024BD74 2C 00 00 73 */ cmpwi r0, 0x73 -/* 8024BD78 40 80 00 1C */ bge lbl_8024BD94 -/* 8024BD7C 48 00 00 14 */ b lbl_8024BD90 -lbl_8024BD80: -/* 8024BD80 3B E0 00 01 */ li r31, 1 -/* 8024BD84 48 00 00 10 */ b lbl_8024BD94 -lbl_8024BD88: -/* 8024BD88 3B E0 00 02 */ li r31, 2 -/* 8024BD8C 48 00 00 08 */ b lbl_8024BD94 -lbl_8024BD90: -/* 8024BD90 3B E0 00 03 */ li r31, 3 -lbl_8024BD94: -/* 8024BD94 4B FE C8 79 */ bl setEquipBombInfo__12dMsgObject_cFv -/* 8024BD98 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 8024BD9C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8024BDA0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8024BDA4 7C 08 03 A6 */ mtlr r0 -/* 8024BDA8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8024BDAC 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_flow/query043__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s b/asm/d/msg/d_msg_flow/query043__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s deleted file mode 100644 index ab6a616167e..00000000000 --- a/asm/d/msg/d_msg_flow/query043__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_8024C0A8: -/* 8024C0A8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8024C0AC 7C 08 02 A6 */ mflr r0 -/* 8024C0B0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8024C0B4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8024C0B8 93 C1 00 08 */ stw r30, 8(r1) -/* 8024C0BC A3 C4 00 04 */ lhz r30, 4(r4) -/* 8024C0C0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8024C0C4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8024C0C8 38 63 0D D8 */ addi r3, r3, 0xdd8 -/* 8024C0CC 3C 80 00 01 */ lis r4, 0x0001 /* 0x0000FBFF@ha */ -/* 8024C0D0 38 84 FB FF */ addi r4, r4, 0xFBFF /* 0x0000FBFF@l */ -/* 8024C0D4 4B DE 89 31 */ bl getEventReg__11dSv_event_cCFUs -/* 8024C0D8 7C 64 1B 78 */ mr r4, r3 -/* 8024C0DC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8024C0E0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8024C0E4 38 63 00 EC */ addi r3, r3, 0xec -/* 8024C0E8 38 04 FF FF */ addi r0, r4, -1 -/* 8024C0EC 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 8024C0F0 4B DE 7E 8D */ bl getBombNum__24dSv_player_item_record_cCFUc -/* 8024C0F4 7C 7F 1B 78 */ mr r31, r3 -/* 8024C0F8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8024C0FC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8024C100 38 63 00 F8 */ addi r3, r3, 0xf8 -/* 8024C104 38 80 00 72 */ li r4, 0x72 -/* 8024C108 4B DE 7F F1 */ bl getBombNum__21dSv_player_item_max_cCFUc -/* 8024C10C 54 65 06 3E */ clrlwi r5, r3, 0x18 -/* 8024C110 57 E0 06 3E */ clrlwi r0, r31, 0x18 -/* 8024C114 7C 00 F2 14 */ add r0, r0, r30 -/* 8024C118 7C A4 FE 70 */ srawi r4, r5, 0x1f -/* 8024C11C 54 03 0F FE */ srwi r3, r0, 0x1f -/* 8024C120 7C 00 28 10 */ subfc r0, r0, r5 -/* 8024C124 7C 04 19 14 */ adde r0, r4, r3 -/* 8024C128 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 8024C12C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8024C130 83 C1 00 08 */ lwz r30, 8(r1) -/* 8024C134 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8024C138 7C 08 03 A6 */ mtlr r0 -/* 8024C13C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8024C140 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_flow/setInitValueGroupChange__10dMsgFlow_cFiPP10fopAc_ac_c.s b/asm/d/msg/d_msg_flow/setInitValueGroupChange__10dMsgFlow_cFiPP10fopAc_ac_c.s deleted file mode 100644 index 02c8b9ca0ff..00000000000 --- a/asm/d/msg/d_msg_flow/setInitValueGroupChange__10dMsgFlow_cFiPP10fopAc_ac_c.s +++ /dev/null @@ -1,54 +0,0 @@ -lbl_8024A618: -/* 8024A618 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8024A61C 7C 08 02 A6 */ mflr r0 -/* 8024A620 90 01 00 24 */ stw r0, 0x24(r1) -/* 8024A624 39 61 00 20 */ addi r11, r1, 0x20 -/* 8024A628 48 11 7B B5 */ bl _savegpr_29 -/* 8024A62C 7C 7D 1B 78 */ mr r29, r3 -/* 8024A630 7C 9E 23 78 */ mr r30, r4 -/* 8024A634 7C BF 2B 78 */ mr r31, r5 -/* 8024A638 7F C3 F3 78 */ mr r3, r30 -/* 8024A63C 4B FE DA 01 */ bl changeFlowGroup__12dMsgObject_cFl -/* 8024A640 7F A3 EB 78 */ mr r3, r29 -/* 8024A644 38 80 00 00 */ li r4, 0 -/* 8024A648 4B FF FF 39 */ bl setInitValue__10dMsgFlow_cFi -/* 8024A64C 7F A3 EB 78 */ mr r3, r29 -/* 8024A650 3C 80 80 3A */ lis r4, d_msg_d_msg_flow__stringBase0@ha /* 0x80399CB0@ha */ -/* 8024A654 38 84 9C B0 */ addi r4, r4, d_msg_d_msg_flow__stringBase0@l /* 0x80399CB0@l */ -/* 8024A658 48 00 00 95 */ bl getMsgDataBlock__10dMsgFlow_cFPCc -/* 8024A65C 90 7D 00 04 */ stw r3, 4(r29) -/* 8024A660 7F A3 EB 78 */ mr r3, r29 -/* 8024A664 3C 80 80 3A */ lis r4, d_msg_d_msg_flow__stringBase0@ha /* 0x80399CB0@ha */ -/* 8024A668 38 84 9C B0 */ addi r4, r4, d_msg_d_msg_flow__stringBase0@l /* 0x80399CB0@l */ -/* 8024A66C 38 84 00 05 */ addi r4, r4, 5 -/* 8024A670 48 00 00 7D */ bl getMsgDataBlock__10dMsgFlow_cFPCc -/* 8024A674 90 7D 00 08 */ stw r3, 8(r29) -/* 8024A678 80 7D 00 04 */ lwz r3, 4(r29) -/* 8024A67C 38 03 00 10 */ addi r0, r3, 0x10 -/* 8024A680 90 1D 00 0C */ stw r0, 0xc(r29) -/* 8024A684 80 9D 00 0C */ lwz r4, 0xc(r29) -/* 8024A688 80 7D 00 04 */ lwz r3, 4(r29) -/* 8024A68C A0 03 00 08 */ lhz r0, 8(r3) -/* 8024A690 54 00 18 38 */ slwi r0, r0, 3 -/* 8024A694 7C 04 02 14 */ add r0, r4, r0 -/* 8024A698 90 1D 00 14 */ stw r0, 0x14(r29) -/* 8024A69C 80 9D 00 14 */ lwz r4, 0x14(r29) -/* 8024A6A0 80 7D 00 04 */ lwz r3, 4(r29) -/* 8024A6A4 A0 03 00 08 */ lhz r0, 8(r3) -/* 8024A6A8 54 00 08 3C */ slwi r0, r0, 1 -/* 8024A6AC 7C 04 02 14 */ add r0, r4, r0 -/* 8024A6B0 90 1D 00 18 */ stw r0, 0x18(r29) -/* 8024A6B4 B3 DD 00 1C */ sth r30, 0x1c(r29) -/* 8024A6B8 7F A3 EB 78 */ mr r3, r29 -/* 8024A6BC A0 9D 00 1C */ lhz r4, 0x1c(r29) -/* 8024A6C0 48 00 00 C5 */ bl getInitNodeIndex__10dMsgFlow_cFUs -/* 8024A6C4 7C 64 1B 78 */ mr r4, r3 -/* 8024A6C8 7F A3 EB 78 */ mr r3, r29 -/* 8024A6CC 7F E5 FB 78 */ mr r5, r31 -/* 8024A6D0 48 00 00 FD */ bl setNodeIndex__10dMsgFlow_cFUsPP10fopAc_ac_c -/* 8024A6D4 39 61 00 20 */ addi r11, r1, 0x20 -/* 8024A6D8 48 11 7B 51 */ bl _restgpr_29 -/* 8024A6DC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8024A6E0 7C 08 03 A6 */ mtlr r0 -/* 8024A6E4 38 21 00 20 */ addi r1, r1, 0x20 -/* 8024A6E8 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_flow/setNodeIndex__10dMsgFlow_cFUsPP10fopAc_ac_c.s b/asm/d/msg/d_msg_flow/setNodeIndex__10dMsgFlow_cFUsPP10fopAc_ac_c.s deleted file mode 100644 index 9f080a34754..00000000000 --- a/asm/d/msg/d_msg_flow/setNodeIndex__10dMsgFlow_cFUsPP10fopAc_ac_c.s +++ /dev/null @@ -1,114 +0,0 @@ -lbl_8024A7CC: -/* 8024A7CC 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8024A7D0 7C 08 02 A6 */ mflr r0 -/* 8024A7D4 90 01 00 34 */ stw r0, 0x34(r1) -/* 8024A7D8 39 61 00 30 */ addi r11, r1, 0x30 -/* 8024A7DC 48 11 79 F9 */ bl _savegpr_27 -/* 8024A7E0 7C 7D 1B 78 */ mr r29, r3 -/* 8024A7E4 7C 9E 23 78 */ mr r30, r4 -/* 8024A7E8 7C BF 2B 78 */ mr r31, r5 -/* 8024A7EC 3B 60 00 00 */ li r27, 0 -/* 8024A7F0 80 63 00 20 */ lwz r3, 0x20(r3) -/* 8024A7F4 3C 03 00 01 */ addis r0, r3, 1 -/* 8024A7F8 28 00 FF FF */ cmplwi r0, 0xffff -/* 8024A7FC 41 82 00 0C */ beq lbl_8024A808 -/* 8024A800 4B DD 52 25 */ bl fopMsgM_SearchByID__FUi -/* 8024A804 7C 7B 1B 78 */ mr r27, r3 -lbl_8024A808: -/* 8024A808 57 C0 04 3E */ clrlwi r0, r30, 0x10 -/* 8024A80C 28 00 FF FF */ cmplwi r0, 0xffff -/* 8024A810 40 82 00 24 */ bne lbl_8024A834 -/* 8024A814 28 1B 00 00 */ cmplwi r27, 0 -/* 8024A818 41 82 00 0C */ beq lbl_8024A824 -/* 8024A81C 38 00 00 10 */ li r0, 0x10 -/* 8024A820 B0 1B 00 F8 */ sth r0, 0xf8(r27) -lbl_8024A824: -/* 8024A824 4B FE D8 75 */ bl endFlowGroup__12dMsgObject_cFv -/* 8024A828 38 00 00 01 */ li r0, 1 -/* 8024A82C 98 1D 00 26 */ stb r0, 0x26(r29) -/* 8024A830 48 00 01 10 */ b lbl_8024A940 -lbl_8024A834: -/* 8024A834 80 7D 00 0C */ lwz r3, 0xc(r29) -/* 8024A838 57 C0 1B 78 */ rlwinm r0, r30, 3, 0xd, 0x1c -/* 8024A83C 7F 83 02 14 */ add r28, r3, r0 -/* 8024A840 88 1C 00 00 */ lbz r0, 0(r28) -/* 8024A844 2C 00 00 02 */ cmpwi r0, 2 -/* 8024A848 41 82 00 F8 */ beq lbl_8024A940 -/* 8024A84C 40 80 00 14 */ bge lbl_8024A860 -/* 8024A850 2C 00 00 00 */ cmpwi r0, 0 -/* 8024A854 41 82 00 EC */ beq lbl_8024A940 -/* 8024A858 40 80 00 14 */ bge lbl_8024A86C -/* 8024A85C 48 00 00 E4 */ b lbl_8024A940 -lbl_8024A860: -/* 8024A860 2C 00 00 04 */ cmpwi r0, 4 -/* 8024A864 40 80 00 DC */ bge lbl_8024A940 -/* 8024A868 48 00 00 10 */ b lbl_8024A878 -lbl_8024A86C: -/* 8024A86C 38 00 00 01 */ li r0, 1 -/* 8024A870 98 1D 00 25 */ stb r0, 0x25(r29) -/* 8024A874 48 00 00 CC */ b lbl_8024A940 -lbl_8024A878: -/* 8024A878 88 1C 00 01 */ lbz r0, 1(r28) -/* 8024A87C 28 00 00 15 */ cmplwi r0, 0x15 -/* 8024A880 41 82 00 14 */ beq lbl_8024A894 -/* 8024A884 28 00 00 20 */ cmplwi r0, 0x20 -/* 8024A888 41 82 00 0C */ beq lbl_8024A894 -/* 8024A88C 28 00 00 21 */ cmplwi r0, 0x21 -/* 8024A890 40 82 00 5C */ bne lbl_8024A8EC -lbl_8024A894: -/* 8024A894 28 00 00 15 */ cmplwi r0, 0x15 -/* 8024A898 40 82 00 18 */ bne lbl_8024A8B0 -/* 8024A89C 7F A3 EB 78 */ mr r3, r29 -/* 8024A8A0 38 9C 00 04 */ addi r4, r28, 4 -/* 8024A8A4 48 00 08 8D */ bl getParam__10dMsgFlow_cFPUc -/* 8024A8A8 90 7D 00 3C */ stw r3, 0x3c(r29) -/* 8024A8AC 48 00 00 24 */ b lbl_8024A8D0 -lbl_8024A8B0: -/* 8024A8B0 7F A3 EB 78 */ mr r3, r29 -/* 8024A8B4 38 81 00 0C */ addi r4, r1, 0xc -/* 8024A8B8 38 A1 00 0E */ addi r5, r1, 0xe -/* 8024A8BC 38 DC 00 04 */ addi r6, r28, 4 -/* 8024A8C0 48 00 08 31 */ bl getParam__10dMsgFlow_cFPUsPUsPUc -/* 8024A8C4 A0 61 00 0E */ lhz r3, 0xe(r1) -/* 8024A8C8 38 03 00 01 */ addi r0, r3, 1 -/* 8024A8CC 90 1D 00 3C */ stw r0, 0x3c(r29) -lbl_8024A8D0: -/* 8024A8D0 28 1B 00 00 */ cmplwi r27, 0 -/* 8024A8D4 41 82 00 10 */ beq lbl_8024A8E4 -/* 8024A8D8 38 00 00 10 */ li r0, 0x10 -/* 8024A8DC B0 1B 00 F8 */ sth r0, 0xf8(r27) -/* 8024A8E0 4B FE D7 B9 */ bl endFlowGroup__12dMsgObject_cFv -lbl_8024A8E4: -/* 8024A8E4 38 00 00 01 */ li r0, 1 -/* 8024A8E8 98 1D 00 27 */ stb r0, 0x27(r29) -lbl_8024A8EC: -/* 8024A8EC 88 1C 00 01 */ lbz r0, 1(r28) -/* 8024A8F0 28 00 00 09 */ cmplwi r0, 9 -/* 8024A8F4 40 82 00 10 */ bne lbl_8024A904 -/* 8024A8F8 38 00 00 01 */ li r0, 1 -/* 8024A8FC 98 1D 00 27 */ stb r0, 0x27(r29) -/* 8024A900 48 00 00 40 */ b lbl_8024A940 -lbl_8024A904: -/* 8024A904 28 00 00 13 */ cmplwi r0, 0x13 -/* 8024A908 40 82 00 38 */ bne lbl_8024A940 -/* 8024A90C 7F A3 EB 78 */ mr r3, r29 -/* 8024A910 38 81 00 08 */ addi r4, r1, 8 -/* 8024A914 38 A1 00 0A */ addi r5, r1, 0xa -/* 8024A918 38 DC 00 04 */ addi r6, r28, 4 -/* 8024A91C 48 00 07 D5 */ bl getParam__10dMsgFlow_cFPUsPUsPUc -/* 8024A920 A0 01 00 0A */ lhz r0, 0xa(r1) -/* 8024A924 B0 1D 00 38 */ sth r0, 0x38(r29) -/* 8024A928 28 1F 00 00 */ cmplwi r31, 0 -/* 8024A92C 41 82 00 14 */ beq lbl_8024A940 -/* 8024A930 A0 1D 00 38 */ lhz r0, 0x38(r29) -/* 8024A934 54 00 10 3A */ slwi r0, r0, 2 -/* 8024A938 7C 7F 00 2E */ lwzx r3, r31, r0 -/* 8024A93C 4B FE D1 39 */ bl setTalkPartner__12dMsgObject_cFP10fopAc_ac_c -lbl_8024A940: -/* 8024A940 B3 DD 00 10 */ sth r30, 0x10(r29) -/* 8024A944 39 61 00 30 */ addi r11, r1, 0x30 -/* 8024A948 48 11 78 D9 */ bl _restgpr_27 -/* 8024A94C 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8024A950 7C 08 03 A6 */ mtlr r0 -/* 8024A954 38 21 00 30 */ addi r1, r1, 0x30 -/* 8024A958 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_flow/setNormalMsg__10dMsgFlow_cFP14mesg_flow_nodeP10fopAc_ac_c.s b/asm/d/msg/d_msg_flow/setNormalMsg__10dMsgFlow_cFP14mesg_flow_nodeP10fopAc_ac_c.s deleted file mode 100644 index c58e9675586..00000000000 --- a/asm/d/msg/d_msg_flow/setNormalMsg__10dMsgFlow_cFP14mesg_flow_nodeP10fopAc_ac_c.s +++ /dev/null @@ -1,61 +0,0 @@ -lbl_8024AA50: -/* 8024AA50 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8024AA54 7C 08 02 A6 */ mflr r0 -/* 8024AA58 90 01 00 24 */ stw r0, 0x24(r1) -/* 8024AA5C 39 61 00 20 */ addi r11, r1, 0x20 -/* 8024AA60 48 11 77 7D */ bl _savegpr_29 -/* 8024AA64 7C 7F 1B 78 */ mr r31, r3 -/* 8024AA68 7C 9E 23 78 */ mr r30, r4 -/* 8024AA6C 7C BD 2B 78 */ mr r29, r5 -/* 8024AA70 3C 80 80 3A */ lis r4, d_msg_d_msg_flow__stringBase0@ha /* 0x80399CB0@ha */ -/* 8024AA74 38 84 9C B0 */ addi r4, r4, d_msg_d_msg_flow__stringBase0@l /* 0x80399CB0@l */ -/* 8024AA78 38 84 00 0B */ addi r4, r4, 0xb -/* 8024AA7C 4B FF FC 71 */ bl getMsgDataBlock__10dMsgFlow_cFPCc -/* 8024AA80 A0 1E 00 02 */ lhz r0, 2(r30) -/* 8024AA84 1C 00 00 14 */ mulli r0, r0, 0x14 -/* 8024AA88 7C 63 02 14 */ add r3, r3, r0 -/* 8024AA8C A3 C3 00 14 */ lhz r30, 0x14(r3) -/* 8024AA90 80 7F 00 20 */ lwz r3, 0x20(r31) -/* 8024AA94 3C 03 00 01 */ addis r0, r3, 1 -/* 8024AA98 28 00 FF FF */ cmplwi r0, 0xffff -/* 8024AA9C 41 82 00 20 */ beq lbl_8024AABC -/* 8024AAA0 4B DD 4F 85 */ bl fopMsgM_SearchByID__FUi -/* 8024AAA4 38 00 00 0F */ li r0, 0xf -/* 8024AAA8 B0 03 00 F8 */ sth r0, 0xf8(r3) -/* 8024AAAC 7F C3 F3 78 */ mr r3, r30 -/* 8024AAB0 38 80 03 E8 */ li r4, 0x3e8 -/* 8024AAB4 4B DD 53 D1 */ bl fopMsgM_messageSet__FUlUl -/* 8024AAB8 48 00 00 50 */ b lbl_8024AB08 -lbl_8024AABC: -/* 8024AABC 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 8024AAC0 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 8024AAC4 A0 03 00 A4 */ lhz r0, 0xa4(r3) -/* 8024AAC8 28 00 FF FF */ cmplwi r0, 0xffff -/* 8024AACC 40 82 00 3C */ bne lbl_8024AB08 -/* 8024AAD0 7F C3 F3 78 */ mr r3, r30 -/* 8024AAD4 7F A4 EB 78 */ mr r4, r29 -/* 8024AAD8 38 A0 03 E8 */ li r5, 0x3e8 -/* 8024AADC 4B DD 52 59 */ bl fopMsgM_messageSet__FUlP10fopAc_ac_cUl -/* 8024AAE0 90 7F 00 20 */ stw r3, 0x20(r31) -/* 8024AAE4 80 7F 00 20 */ lwz r3, 0x20(r31) -/* 8024AAE8 3C 03 00 01 */ addis r0, r3, 1 -/* 8024AAEC 28 00 FF FF */ cmplwi r0, 0xffff -/* 8024AAF0 40 82 00 0C */ bne lbl_8024AAFC -/* 8024AAF4 38 60 00 00 */ li r3, 0 -/* 8024AAF8 48 00 00 20 */ b lbl_8024AB18 -lbl_8024AAFC: -/* 8024AAFC A0 1F 00 1C */ lhz r0, 0x1c(r31) -/* 8024AB00 7C 03 07 34 */ extsh r3, r0 -/* 8024AB04 4B FE CF 85 */ bl setNowTalkFlowNo__12dMsgObject_cFs -lbl_8024AB08: -/* 8024AB08 93 DF 00 28 */ stw r30, 0x28(r31) -/* 8024AB0C 38 00 00 01 */ li r0, 1 -/* 8024AB10 98 1F 00 41 */ stb r0, 0x41(r31) -/* 8024AB14 38 60 00 01 */ li r3, 1 -lbl_8024AB18: -/* 8024AB18 39 61 00 20 */ addi r11, r1, 0x20 -/* 8024AB1C 48 11 77 0D */ bl _restgpr_29 -/* 8024AB20 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8024AB24 7C 08 03 A6 */ mtlr r0 -/* 8024AB28 38 21 00 20 */ addi r1, r1, 0x20 -/* 8024AB2C 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_flow/setSelectMsg__10dMsgFlow_cFP14mesg_flow_nodeP14mesg_flow_nodeP10fopAc_ac_c.s b/asm/d/msg/d_msg_flow/setSelectMsg__10dMsgFlow_cFP14mesg_flow_nodeP14mesg_flow_nodeP10fopAc_ac_c.s deleted file mode 100644 index a0108493450..00000000000 --- a/asm/d/msg/d_msg_flow/setSelectMsg__10dMsgFlow_cFP14mesg_flow_nodeP14mesg_flow_nodeP10fopAc_ac_c.s +++ /dev/null @@ -1,66 +0,0 @@ -lbl_8024A95C: -/* 8024A95C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8024A960 7C 08 02 A6 */ mflr r0 -/* 8024A964 90 01 00 24 */ stw r0, 0x24(r1) -/* 8024A968 39 61 00 20 */ addi r11, r1, 0x20 -/* 8024A96C 48 11 78 69 */ bl _savegpr_27 -/* 8024A970 7C 7F 1B 78 */ mr r31, r3 -/* 8024A974 7C 9B 23 78 */ mr r27, r4 -/* 8024A978 7C BD 2B 78 */ mr r29, r5 -/* 8024A97C 7C DC 33 78 */ mr r28, r6 -/* 8024A980 3C 80 80 3A */ lis r4, d_msg_d_msg_flow__stringBase0@ha /* 0x80399CB0@ha */ -/* 8024A984 38 84 9C B0 */ addi r4, r4, d_msg_d_msg_flow__stringBase0@l /* 0x80399CB0@l */ -/* 8024A988 38 84 00 0B */ addi r4, r4, 0xb -/* 8024A98C 4B FF FD 61 */ bl getMsgDataBlock__10dMsgFlow_cFPCc -/* 8024A990 A0 1D 00 02 */ lhz r0, 2(r29) -/* 8024A994 1C 00 00 14 */ mulli r0, r0, 0x14 -/* 8024A998 7C 83 02 14 */ add r4, r3, r0 -/* 8024A99C A3 C4 00 14 */ lhz r30, 0x14(r4) -/* 8024A9A0 A0 1B 00 02 */ lhz r0, 2(r27) -/* 8024A9A4 1C 00 00 14 */ mulli r0, r0, 0x14 -/* 8024A9A8 7C 63 02 14 */ add r3, r3, r0 -/* 8024A9AC A3 A3 00 14 */ lhz r29, 0x14(r3) -/* 8024A9B0 80 7F 00 20 */ lwz r3, 0x20(r31) -/* 8024A9B4 3C 03 00 01 */ addis r0, r3, 1 -/* 8024A9B8 28 00 FF FF */ cmplwi r0, 0xffff -/* 8024A9BC 41 82 00 20 */ beq lbl_8024A9DC -/* 8024A9C0 4B DD 50 65 */ bl fopMsgM_SearchByID__FUi -/* 8024A9C4 38 00 00 0F */ li r0, 0xf -/* 8024A9C8 B0 03 00 F8 */ sth r0, 0xf8(r3) -/* 8024A9CC 7F A3 EB 78 */ mr r3, r29 -/* 8024A9D0 7F C4 F3 78 */ mr r4, r30 -/* 8024A9D4 4B DD 54 B1 */ bl fopMsgM_messageSet__FUlUl -/* 8024A9D8 48 00 00 50 */ b lbl_8024AA28 -lbl_8024A9DC: -/* 8024A9DC 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 8024A9E0 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 8024A9E4 A0 03 00 A4 */ lhz r0, 0xa4(r3) -/* 8024A9E8 28 00 FF FF */ cmplwi r0, 0xffff -/* 8024A9EC 40 82 00 3C */ bne lbl_8024AA28 -/* 8024A9F0 7F A3 EB 78 */ mr r3, r29 -/* 8024A9F4 7F 84 E3 78 */ mr r4, r28 -/* 8024A9F8 7F C5 F3 78 */ mr r5, r30 -/* 8024A9FC 4B DD 53 39 */ bl fopMsgM_messageSet__FUlP10fopAc_ac_cUl -/* 8024AA00 90 7F 00 20 */ stw r3, 0x20(r31) -/* 8024AA04 80 7F 00 20 */ lwz r3, 0x20(r31) -/* 8024AA08 3C 03 00 01 */ addis r0, r3, 1 -/* 8024AA0C 28 00 FF FF */ cmplwi r0, 0xffff -/* 8024AA10 40 82 00 0C */ bne lbl_8024AA1C -/* 8024AA14 38 60 00 00 */ li r3, 0 -/* 8024AA18 48 00 00 20 */ b lbl_8024AA38 -lbl_8024AA1C: -/* 8024AA1C A0 1F 00 1C */ lhz r0, 0x1c(r31) -/* 8024AA20 7C 03 07 34 */ extsh r3, r0 -/* 8024AA24 4B FE D0 65 */ bl setNowTalkFlowNo__12dMsgObject_cFs -lbl_8024AA28: -/* 8024AA28 93 BF 00 28 */ stw r29, 0x28(r31) -/* 8024AA2C 38 00 00 01 */ li r0, 1 -/* 8024AA30 98 1F 00 41 */ stb r0, 0x41(r31) -/* 8024AA34 38 60 00 01 */ li r3, 1 -lbl_8024AA38: -/* 8024AA38 39 61 00 20 */ addi r11, r1, 0x20 -/* 8024AA3C 48 11 77 E5 */ bl _restgpr_27 -/* 8024AA40 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8024AA44 7C 08 03 A6 */ mtlr r0 -/* 8024AA48 38 21 00 20 */ addi r1, r1, 0x20 -/* 8024AA4C 4E 80 00 20 */ blr diff --git a/include/d/com/d_com_inf_game.h b/include/d/com/d_com_inf_game.h index 88e1846ab2d..2d252ffc36a 100644 --- a/include/d/com/d_com_inf_game.h +++ b/include/d/com/d_com_inf_game.h @@ -436,6 +436,24 @@ public: void setMsgDtArchive(int i, JKRArchive* arc) { mMsgDtArchive[i] = arc; } void setMsgCommonArchive(JKRArchive* arc) { mMsgCommonArchive = arc; } void setMsgArchive(int i, JKRArchive* arc) { mMsgArchive[i] = arc; } + void setMesgCamInfoActor(fopAc_ac_c* param_1, fopAc_ac_c* param_2, fopAc_ac_c* param_3, + fopAc_ac_c* param_4, fopAc_ac_c* param_5, fopAc_ac_c* param_6, + fopAc_ac_c* param_7, fopAc_ac_c* param_8, fopAc_ac_c* param_9, + fopAc_ac_c* param_10) { + mMesgCamInfoActor1 = param_1; + mMesgCamInfoActor2 = param_2; + mMesgCamInfoActor3 = param_3; + mMesgCamInfoActor4 = param_4; + mMesgCamInfoActor5 = param_5; + mMesgCamInfoActor6 = param_6; + mMesgCamInfoActor7 = param_7; + mMesgCamInfoActor8 = param_8; + mMesgCamInfoActor9 = param_9; + mMesgCamInfoActor10 = param_10; + } + int getMesgCamInfo() { + return mMesgCamInfoBasicID; + } void setFontArchive(JKRArchive* arc) { mFontArchive = arc; } void setRubyArchive(JKRArchive* arc) { mRubyArchive = arc; } void setMain2DArchive(JKRArchive* arc) { mMain2DArchive = arc; } @@ -1377,6 +1395,10 @@ inline u8 dComIfGs_getArrowNum() { return g_dComIfG_gameInfo.info.getPlayer().getItemRecord().getArrowNum(); } +inline u8 dComIfGs_checkEmptyBottle() { + return g_dComIfG_gameInfo.info.getPlayer().getItem().checkEmptyBottle(); +} + inline void dComIfGs_initZone() { g_dComIfG_gameInfo.info.initZone(); } @@ -1579,7 +1601,7 @@ inline void dComIfGs_setTmpReg(u16 i_reg, u8 i_no) { g_dComIfG_gameInfo.info.getTmp().setEventReg(i_reg, i_no); } -inline int dComIfGs_getTmpReg(u16 i_reg) { +inline u8 dComIfGs_getTmpReg(u16 i_reg) { return g_dComIfG_gameInfo.info.getTmp().getEventReg(i_reg); } @@ -2690,6 +2712,21 @@ inline void dComIfGp_setMesgCameraTagInfo(int param_0) { g_dComIfG_gameInfo.play.setMesgCamInfoID(param_0); } +inline void dComIfGp_setMesgCameraInfoActor(fopAc_ac_c* param_1, fopAc_ac_c* param_2, + fopAc_ac_c* param_3, fopAc_ac_c* param_4, + fopAc_ac_c* param_5, fopAc_ac_c* param_6, + fopAc_ac_c* param_7, fopAc_ac_c* param_8, + fopAc_ac_c* param_9, fopAc_ac_c* param_10) + +{ + g_dComIfG_gameInfo.play.setMesgCamInfoActor(param_1, param_2, param_3, param_4, param_5, + param_6, param_7, param_8, param_9, param_10); +} + +inline int dComIfGp_getMesgCameraInfo() { + return g_dComIfG_gameInfo.play.getMesgCamInfo(); +} + inline s32 dComIfGp_roomControl_getStayNo() { return dStage_roomControl_c::getStayNo(); } diff --git a/include/d/com/d_com_static.h b/include/d/com/d_com_static.h index e4ab5deb75e..1404ac468c3 100644 --- a/include/d/com/d_com_static.h +++ b/include/d/com/d_com_static.h @@ -4,5 +4,7 @@ #include "rel/d/a/d_a_suspend/d_a_suspend.h" int daNpcKakashi_getSwdTutorialStep(); +bool daNpcKakashi_getSwdTutorialResult(); +int daNpcKakashi_getSuccessCount(); #endif /* D_COM_D_COM_STATIC_H */ diff --git a/include/d/d_attention.h b/include/d/d_attention.h index ccf66307035..09f28ad8d7e 100644 --- a/include/d/d_attention.h +++ b/include/d/d_attention.h @@ -204,7 +204,7 @@ public: /* 8016E424 */ void LockEdge(); /* 80182994 */ void GetCheckObjectCount(); /* 80182AD0 */ void keepLock(int); - /* 8014B010 */ void getDistTable(int); + /* 8014B010 */ static dist_entry& getDistTable(int); dAttCatch_c& getCatghTarget() { return mCatghTarget; } u8 getCatchChgItem() { return mCatghTarget.getChangeItem(); } diff --git a/include/d/meter/d_meter2_info.h b/include/d/meter/d_meter2_info.h index 27a9d901925..e840817d0f8 100644 --- a/include/d/meter/d_meter2_info.h +++ b/include/d/meter/d_meter2_info.h @@ -146,11 +146,13 @@ public: void setGameOverType(u8 i_gameoverType) { mGameOverType = i_gameoverType; } void setMsgKeyWaitTimer(s16 i_waitTimer) { mMsgKeyWaitTimer = i_waitTimer; } u32 getMsgTimeMs() { return mMsgTimeMs; } + void setMsgTimeMs(u32 msgTime) { mMsgTimeMs = msgTime; } u32 getTimeMs() { return mTimeMs; } u8 getNowCount() { return mNowCount; } void setScopeZoomPointer(u8 param_0) { mScopeZoomPointer = param_0; } u8 getItemExplainWindowStatus() { return mItemExplainWindowStatus; } void resetDirectUseItem() { mDirectUseItem = 0; } + u16 getFloatingFlowID() { return mFloatingFlowID; } public: /* 0x04 */ u8 unk4[4]; @@ -522,6 +524,10 @@ inline u32 dMeter2Info_getTimeMs() { return g_meter2_info.getTimeMs(); } +inline void dMeter2Info_setMsgTimeMs(u32 msgTime) { + g_meter2_info.setMsgTimeMs(msgTime); +} + inline u8 dMeter2Info_getNowCount() { return g_meter2_info.getNowCount(); } @@ -542,6 +548,10 @@ inline void dMeter2Info_resetDirectUseItem() { g_meter2_info.resetDirectUseItem(); } +inline u16 dMeter2Info_getFloatingFlowID() { + return g_meter2_info.getFloatingFlowID(); +} + const char* dMeter2Info_getNumberTextureName(int pIndex); void dMeter2Info_recieveLetter(); u8 dMeter2Info_getNewLetterNum(); diff --git a/include/d/msg/d_msg_flow.h b/include/d/msg/d_msg_flow.h index 4e975d941bc..74dec026b45 100644 --- a/include/d/msg/d_msg_flow.h +++ b/include/d/msg/d_msg_flow.h @@ -35,7 +35,7 @@ public: /* 80249F48 */ virtual ~dMsgFlow_c(); /* 80249F90 */ void init(fopAc_ac_c*, int, int, fopAc_ac_c**); - /* 8024A13C */ void checkOpenDoor(fopAc_ac_c*, int*); + /* 8024A13C */ int checkOpenDoor(fopAc_ac_c*, int*); /* 8024A2D8 */ int doFlow(fopAc_ac_c*, fopAc_ac_c**, int); /* 8024A424 */ int checkEventRender(int*, int*, int*, int*); /* 8024A4C4 */ void remove(); @@ -48,8 +48,8 @@ public: /* 8024A6EC */ u8* getMsgDataBlock(char const*); /* 8024A784 */ u16 getInitNodeIndex(u16); /* 8024A7CC */ void setNodeIndex(u16, fopAc_ac_c**); - /* 8024A95C */ void setSelectMsg(mesg_flow_node*, mesg_flow_node*, fopAc_ac_c*); - /* 8024AA50 */ void setNormalMsg(mesg_flow_node*, fopAc_ac_c*); + /* 8024A95C */ int setSelectMsg(mesg_flow_node*, mesg_flow_node*, fopAc_ac_c*); + /* 8024AA50 */ int setNormalMsg(mesg_flow_node*, fopAc_ac_c*); /* 8024AB30 */ int messageNodeProc(fopAc_ac_c*, fopAc_ac_c**); /* 8024AD54 */ int branchNodeProc(fopAc_ac_c*, fopAc_ac_c**); /* 8024ADEC */ int eventNodeProc(fopAc_ac_c*, fopAc_ac_c**); @@ -170,7 +170,7 @@ private: /* 0x10 */ u16 field_0x10; /* 0x12 */ u16 field_0x12; /* 0x14 */ u16* field_0x14; - /* 0x18 */ int field_0x18; + /* 0x18 */ u16* field_0x18; /* 0x1C */ u16 mFlow; /* 0x1E */ u8 field_0x1e[2]; /* 0x20 */ u32 mMsg; diff --git a/include/d/msg/d_msg_object.h b/include/d/msg/d_msg_object.h index e82c0ecc339..75a0e42ebad 100644 --- a/include/d/msg/d_msg_object.h +++ b/include/d/msg/d_msg_object.h @@ -93,7 +93,7 @@ public: /* 802379AC */ static void setKillMessageFlag(); /* 802379D8 */ void setKillMessageFlagLocal(); /* 80237A74 */ static void setTalkPartner(fopAc_ac_c*); - /* 80237A88 */ void setNowTalkFlowNo(s16); + /* 80237A88 */ static void setNowTalkFlowNo(s16); /* 80237A9C */ void getNowTalkFlowNo(); /* 80237AB0 */ void setDemoMessage(u32); /* 80237AE0 */ void setTalkHeap(void*); @@ -146,12 +146,12 @@ public: /* 80238500 */ void getMsgOutputType(); /* 80238514 */ static const char* getWord(); /* 80238528 */ void getSelectWord(int); - /* 80238544 */ void setSelectWordFlag(u8); + /* 80238544 */ static void setSelectWordFlag(u8); /* 80238574 */ void getSelectWordFlag(); /* 80238588 */ bool isHowlHearingMode(); /* 802385B4 */ static u8 getSelectBombBagID(); /* 802385E0 */ static s16 getSelectBombPrice(); - /* 8023860C */ void setEquipBombInfo(); + /* 8023860C */ static void setEquipBombInfo(); /* 80238638 */ u8 getItemEquipButton(); /* 8023864C */ static void setSelectCancelPos(u8); @@ -334,6 +334,21 @@ inline void dMsgObject_setSmellType(u8 type) { dMsgObject_c::setSmellType(type); } +inline void dMsgObject_setTalkPartner(fopAc_ac_c *actor) { + dMsgObject_getMsgObjectClass()->setTalkPartner(actor); +} + +inline void dMsgObject_setSelectWordFlag(u8 flag) { + dMsgObject_getMsgObjectClass()->setSelectWordFlag(flag); +} + +inline void dMsgObject_setNowTalkFlowNo(s16 nowTalkFlowNo) { + dMsgObject_c::setNowTalkFlowNo(nowTalkFlowNo); +} + +inline void dMsgObject_setEquipBombInfo() { + dMsgObject_c::setEquipBombInfo(); +} class dMsgObject_HowlHIO_c { public: @@ -488,7 +503,7 @@ public: /* 0x2F0 */ u16 mPikariHaloDelay_spirit; /* 0x2F2 */ u8 mStageTitleDisplayType; /* 0x2F4 */ s16 mMsgIndex; - /* 0x2F6 */ u16 mFlowIndex; + /* 0x2F6 */ s16 mFlowIndex; /* 0x2F8 */ u16 mSaveSeqMsgIndex; /* 0x2FA */ u16 mSelWeightFrame; /* 0x2FC */ u16 mBoxAppearBound; diff --git a/include/f_op/f_op_msg_mng.h b/include/f_op/f_op_msg_mng.h index 15fa6eae40e..6c74b566e12 100644 --- a/include/f_op/f_op_msg_mng.h +++ b/include/f_op/f_op_msg_mng.h @@ -42,7 +42,9 @@ void fopMsgM_Delete(void* process); fopMsg_prm_class* fopMsgM_GetAppend(void* msg); void fopMsgM_setMessageID(unsigned int); void fopMsgM_destroyExpHeap(JKRExpHeap*); +f32 fopMsgM_valueIncrease(int param_0, int param_1, u8 param_2); s32 fopMsgM_setStageLayer(void*); +int fopMsgM_messageSet(u32 i_msgIdx, fopAc_ac_c* i_actorP, u32 param_2); int fopMsgM_messageSet(u32 param_0, u32 param_1); int fopMsgM_messageSetDemo(u32 param_0); msg_class* fopMsgM_SearchByID(unsigned int param_0); diff --git a/libs/JSystem/J3DGraphLoader/J3DShapeFactory.cpp b/libs/JSystem/J3DGraphLoader/J3DShapeFactory.cpp index 6a21b67580f..15bd72207ec 100644 --- a/libs/JSystem/J3DGraphLoader/J3DShapeFactory.cpp +++ b/libs/JSystem/J3DGraphLoader/J3DShapeFactory.cpp @@ -7,28 +7,12 @@ #include "JSystem/J3DGraphBase/J3DShape.h" #include "JSystem/JKernel/JKRHeap.h" #include "JSystem/JSupport/JSupport.h" -#include "dol2asm.h" #include "dolphin/os/OS.h" -#include "dolphin/types.h" // // Forward References: // -extern "C" void __ct__15J3DShapeFactoryFRC13J3DShapeBlock(); -extern "C" void create__15J3DShapeFactoryFiUlP14_GXVtxDescList(); -extern "C" void newShapeMtx__15J3DShapeFactoryCFUlii(); -extern "C" void newShapeDraw__15J3DShapeFactoryCFii(); -extern "C" void allocVcdVatCmdBuffer__15J3DShapeFactoryFUl(); -extern "C" void calcSize__15J3DShapeFactoryFiUl(); -extern "C" void calcSizeVcdVatCmdBuffer__15J3DShapeFactoryFUl(); -extern "C" void calcSizeShapeMtx__15J3DShapeFactoryCFUlii(); -extern "C" void func_80337AE0(void* _this, void const*, u32); -extern "C" void func_80337AF8(void* _this, void const*, u32); -extern "C" void func_80337B10(void* _this, void const*, u32); -extern "C" void func_80337B28(void* _this, void const*, u32); -extern "C" extern char const* const J3DShapeFactory__stringBase0; - // // External References: // @@ -37,23 +21,6 @@ extern "C" J3DShapeInitData* func_80336764(const void*, const void*); // JSUConvertOffsetToPtr extern "C" u16* func_8033677C(const void*, const void*); // JSUConvertOffsetToPtr -extern "C" void* __nw__FUl(); -extern "C" void* __nwa__FUl(); -extern "C" void* __nwa__FUli(); -extern "C" void __ct__12J3DShapeDrawFPCUcUl(); -extern "C" void initialize__8J3DShapeFv(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_29(); -extern "C" extern void* __vt__28J3DShapeMtxYBBoardConcatView[10]; -extern "C" extern void* __vt__27J3DShapeMtxBBoardConcatView[10]; -extern "C" extern void* __vt__26J3DShapeMtxMultiConcatView[10]; -extern "C" extern void* __vt__16J3DShapeMtxMulti[8]; -extern "C" extern void* __vt__21J3DShapeMtxConcatView[10]; -extern "C" extern void* __vt__11J3DShapeMtx[8 + 1 /* padding */]; -extern "C" extern void* __vt__8J3DShape[6]; - // // Declarations: // @@ -180,12 +147,10 @@ void J3DShapeFactory::allocVcdVatCmdBuffer(u32 count) { } /* 80337944-803379D8 332284 0094+00 0/0 1/1 0/0 .text calcSize__15J3DShapeFactoryFiUl */ -#ifdef NONMATCHING s32 J3DShapeFactory::calcSize(int shapeNo, u32 flag) { s32 size = 0x68; - // regalloc - u32 mtxGroupNo = getMtxGroupNum(shapeNo); + s32 mtxGroupNo = getMtxGroupNum(shapeNo); size += mtxGroupNo * 4; size += mtxGroupNo * 4; @@ -197,16 +162,6 @@ s32 J3DShapeFactory::calcSize(int shapeNo, u32 flag) { return size; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 J3DShapeFactory::calcSize(int param_0, u32 param_1) { - nofralloc -#include "asm/JSystem/J3DGraphLoader/J3DShapeFactory/calcSize__15J3DShapeFactoryFiUl.s" -} -#pragma pop -#endif /* 803379D8-803379E8 332318 0010+00 0/0 1/1 0/0 .text * calcSizeVcdVatCmdBuffer__15J3DShapeFactoryFUl */ diff --git a/src/d/a/d_a_npc.cpp b/src/d/a/d_a_npc.cpp index eee828d49e3..c23f59c14f3 100644 --- a/src/d/a/d_a_npc.cpp +++ b/src/d/a/d_a_npc.cpp @@ -2421,7 +2421,7 @@ asm void daNpcT_c::chkFindActor(fopAc_ac_c* param_0, int param_1, s16 param_2) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dAttention_c::getDistTable(int param_0) { +asm dist_entry& dAttention_c::getDistTable(int param_0) { nofralloc #include "asm/d/a/d_a_npc/getDistTable__12dAttention_cFi.s" } diff --git a/src/d/com/d_com_static.cpp b/src/d/com/d_com_static.cpp index afa3571b5b2..934ee9cfce3 100644 --- a/src/d/com/d_com_static.cpp +++ b/src/d/com/d_com_static.cpp @@ -430,7 +430,9 @@ int daNpcKakashi_getSuccessCount() { /* 800317DC-80031838 02C11C 005C+00 0/0 0/0 1/1 .text daNpcKakashi_incSuccessCount__Fv */ void daNpcKakashi_incSuccessCount() { - dComIfGs_setTmpReg(0xFEFF, dComIfGs_getTmpReg(0xFEFF) + 1); + int tmpReg = dComIfGs_getTmpReg(0xFEFF); + tmpReg++; + dComIfGs_setTmpReg(0xFEFF, tmpReg); } /* 80031838-80031870 02C178 0038+00 0/0 0/0 4/4 .text daNpcKakashi_clrSuccessCount__Fv */ diff --git a/src/d/msg/d_msg_flow.cpp b/src/d/msg/d_msg_flow.cpp index a0d16cf3b63..1bc73232ac2 100644 --- a/src/d/msg/d_msg_flow.cpp +++ b/src/d/msg/d_msg_flow.cpp @@ -257,7 +257,7 @@ extern "C" void _restgpr_29(); extern "C" u8 const tempBitLabels__20dSv_event_tmp_flag_c[370 + 2 /* padding */]; extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; extern "C" extern dScnKy_env_light_c g_env_light; -extern "C" extern u8 g_MsgObject_HIO_c[1040]; +extern "C" extern dMsgObject_HIO_c g_MsgObject_HIO_c; extern "C" extern u32 g_saftyWhiteColor; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; @@ -443,25 +443,123 @@ SECTION_DEAD static char const* const stringBase_80399CB5 = "FLI1"; /* 80249F90-8024A13C 2448D0 01AC+00 0/0 10/10 86/86 .text * init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgFlow_c::init(fopAc_ac_c* param_0, int param_1, int param_2, fopAc_ac_c** param_3) { - nofralloc -#include "asm/d/msg/d_msg_flow/init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c.s" +void dMsgFlow_c::init(fopAc_ac_c* param_0, int param_1, int param_2, fopAc_ac_c** param_3) { + u16 uVar4; + u16 flow_val; + + if (!dMsgObject_isTalkNowCheck()) { + if (param_3 == NULL) { + dComIfGp_setMesgCameraInfoActor(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL); + } + + if (param_2 == 0 && g_MsgObject_HIO_c.mMsgDebug == 2) { + param_1 = g_MsgObject_HIO_c.mFlowIndex; + } + flow_val = param_1; + + dMsgObject_changeFlowGroup(param_1); + if (param_2 == 0) { + setInitValue(1); + mFlow_p = getMsgDataBlock("FLW1"); + mLabelInfo_p = getMsgDataBlock("FLI1"); + mFlowNodeTBL = (mesg_flow_node*)(mFlow_p + 0x10); + field_0x14 = (u16*)(mFlowNodeTBL + (*(u16*)(mFlow_p + 8))); + field_0x18 = field_0x14 + *(u16*)(mFlow_p + 8); + + mFlow = flow_val; + if (param_0 != NULL) { + dMsgObject_setTalkPartner(param_0); + } + setNodeIndex(getInitNodeIndex(mFlow), param_3); + } else { + uVar4 = field_0x10; + setInitValue(0); + if (param_0 != NULL) { + dMsgObject_setTalkPartner(param_0); + } + setNodeIndex(uVar4, param_3); + } + dMsgObject_setSelectWordFlag(0); + } } -#pragma pop /* 8024A13C-8024A2D8 244A7C 019C+00 2/0 0/0 2/2 .text checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi */ +// regalloc, instruction issues +#ifdef NONMATCHING +int dMsgFlow_c::checkOpenDoor(fopAc_ac_c *param_1,int *param_2) { + if (dMsgObject_isTalkNowCheck()) { + return 0; + } else { + int iVar3 = 0; + int iVar7 = 0; + s32 bVar2 = 0; + mesg_flow_node* iVar8; + u16 uVar5 = getInitNodeIndex(mFlow); + while (((uVar5 != 0xffff && (!iVar3)) && (!bVar2))) { + iVar8 = &mFlowNodeTBL[uVar5]; + switch(iVar8->type) { + case 0: + default: + break; + case 1: + uVar5 = *(u16*)iVar8->params; + iVar7 = iVar7 + 1; + break; + case 2: + mesg_flow_node_branch* nodeBranch = (mesg_flow_node_branch*)iVar8; + switch(iVar8->msg_index) { + case 0: + case 4: + case 7: + case 8: + case 9: + case 0x19: + bVar2 = 1; + break; + } + u32 sVar6 = (this->*mQueryList[iVar8->msg_index])(nodeBranch, param_1, 0); + uVar5 = field_0x14[(*(u16*)(iVar8->params + 2)) + sVar6]; + break; + + case 3: + switch(iVar8->field_0x1) { + case 8: + case 9: + case 0xd: + case 0x10: + case 0x13: + case 0x1d: + bVar2 = 1; + break; + case 0xc: + iVar3 = 1; + break; + default: + uVar5 = field_0x14[iVar8->msg_index]; + break; + } + break; + } + } + if (param_2 != NULL) { + *param_2 = iVar7; + } + return iVar3; + } + +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMsgFlow_c::checkOpenDoor(fopAc_ac_c* param_0, int* param_1) { +asm int dMsgFlow_c::checkOpenDoor(fopAc_ac_c* param_0, int* param_1) { nofralloc #include "asm/d/msg/d_msg_flow/checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi.s" } #pragma pop +#endif /* 8024A2D8-8024A424 244C18 014C+00 0/0 21/21 78/78 .text * doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci */ @@ -629,32 +727,36 @@ void dMsgFlow_c::setInitValue(int param_0) { /* 8024A618-8024A6EC 244F58 00D4+00 1/1 0/0 0/0 .text * setInitValueGroupChange__10dMsgFlow_cFiPP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgFlow_c::setInitValueGroupChange(int param_0, fopAc_ac_c** param_1) { - nofralloc -#include "asm/d/msg/d_msg_flow/setInitValueGroupChange__10dMsgFlow_cFiPP10fopAc_ac_c.s" +void dMsgFlow_c::setInitValueGroupChange(int param_1, fopAc_ac_c** param_2) { + u8* pJVar1; + u32 uVar2; + s32 unaff_r13; + + dMsgObject_changeFlowGroup(param_1); + setInitValue(0); + mFlow_p = getMsgDataBlock("FLW1"); + mLabelInfo_p = getMsgDataBlock("FLI1"); + mFlowNodeTBL = (mesg_flow_node*)(mFlow_p + 0x10); + field_0x14 = (u16*)(mFlowNodeTBL + *(u16*)(mFlow_p + 8)); + field_0x18 = field_0x14 + *(u16*)(mFlow_p + 8); + mFlow = param_1; + setNodeIndex(getInitNodeIndex(mFlow), param_2); } -#pragma pop /* ############################################################################################## */ -/* 80456BA0-80456BA4 000040 0004+00 1/1 0/0 0/0 .sbss2 @4765 */ -SECTION_SBSS2 static u8 lit_4765[4]; - -/* 80456BA4-80456BA8 000044 0004+00 1/1 0/0 0/0 .sbss2 None */ -SECTION_SBSS2 static u8 data_80456BA4[4]; /* 8024A6EC-8024A784 24502C 0098+00 4/4 0/0 0/0 .text getMsgDataBlock__10dMsgFlow_cFPCc */ -#ifdef NONMATCHING u8* dMsgFlow_c::getMsgDataBlock(char const* block_tag) { - char tag[4]; + char tag[5] = {0}; u8* dt_p = dMsgObject_c::getMsgDtPtr(); - u32 num = *(dt_p + 0xC); + u8* block; + u32 num; + u32 i; - u32 i = 0; - u8* block = dt_p + 0x20; + num = *(u32*)(dt_p + 0xC); + i = 0; + block = dt_p + 0x20; for (; i < num; i++) { memcpy(tag, block, 4); @@ -667,38 +769,78 @@ u8* dMsgFlow_c::getMsgDataBlock(char const* block_tag) { return NULL; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm u8* dMsgFlow_c::getMsgDataBlock(char const* param_0) { - nofralloc -#include "asm/d/msg/d_msg_flow/getMsgDataBlock__10dMsgFlow_cFPCc.s" -} -#pragma pop -#endif /* 8024A784-8024A7CC 2450C4 0048+00 5/5 0/0 0/0 .text getInitNodeIndex__10dMsgFlow_cFUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm u16 dMsgFlow_c::getInitNodeIndex(u16 param_0) { - nofralloc -#include "asm/d/msg/d_msg_flow/getInitNodeIndex__10dMsgFlow_cFUs.s" +u16 dMsgFlow_c::getInitNodeIndex(u16 param_1) { + u8* puVar4; + u16 uVar2; + uVar2 = -1; + puVar4 = mLabelInfo_p + 0x10; + for (int i = 0; i < *(u16*)(mLabelInfo_p + 8); i++) { + if (*(u32*)puVar4 >> 16 == param_1) { + uVar2 = *(u16*)(puVar4 + 4); + } + puVar4 += 8; + } + return uVar2; } -#pragma pop /* 8024A7CC-8024A95C 24510C 0190+00 6/6 0/0 0/0 .text setNodeIndex__10dMsgFlow_cFUsPP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgFlow_c::setNodeIndex(u16 param_0, fopAc_ac_c** param_1) { - nofralloc -#include "asm/d/msg/d_msg_flow/setNodeIndex__10dMsgFlow_cFUsPP10fopAc_ac_c.s" +void dMsgFlow_c::setNodeIndex(u16 param_1, fopAc_ac_c** param_2) { + msg_class* msg = NULL; + if (mMsg != -1) { + msg = fopMsgM_SearchByID(mMsg); + } + + if (param_1 == 0xffff) { + if (msg != NULL) { + msg->mMode = 0x10; + } + dMsgObject_endFlowGroup(); + field_0x26 = 0x1; + } else { + switch (mFlowNodeTBL[param_1].type) { + case 0: + break; + case 1: + field_0x25 = 0x1; + break; + case 2: + break; + case 3: + mesg_flow_node* node = &mFlowNodeTBL[param_1]; + if (node->field_0x1 == 21 || node->field_0x1 == 32 || + node->field_0x1 == 33) { + if (node->field_0x1 == 21) { + field_0x3c = getParam(node->params); + } else { + u16 local_22[3]; + getParam(local_22, local_22 + 1, node->params); + field_0x3c = local_22[1] + 1; + } + if (msg != NULL) { + msg->mMode = 0x10; + dMsgObject_endFlowGroup(); + } + field_0x27 = 1; + } + if (node->field_0x1 == 9) { + field_0x27 = 1; + } else if (node->field_0x1 == 19) { + u16 local_26; + u16 local_28; + getParam(&local_28, &local_26, node->params); + field_0x38 = local_26; + if (param_2 != NULL) { + dMsgObject_setTalkPartner(param_2[field_0x38]); + } + } + } + } + field_0x10 = param_1; } -#pragma pop /* ############################################################################################## */ /* 80399CB0-80399CB0 026310 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -710,29 +852,140 @@ SECTION_DEAD static char const* const stringBase_80399CBB = "INF1"; /* 8024A95C-8024AA50 24529C 00F4+00 1/1 0/0 0/0 .text * setSelectMsg__10dMsgFlow_cFP14mesg_flow_nodeP14mesg_flow_nodeP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgFlow_c::setSelectMsg(mesg_flow_node* param_0, mesg_flow_node* param_1, - fopAc_ac_c* param_2) { - nofralloc -#include "asm/d/msg/d_msg_flow/setSelectMsg__10dMsgFlow_cFP14mesg_flow_nodeP14mesg_flow_nodeP10fopAc_ac_c.s" +int dMsgFlow_c::setSelectMsg(mesg_flow_node* param_1, mesg_flow_node* param_2, + fopAc_ac_c* param_3) { + u32 uVar1; + u32 uVar2; + u16* iVar3; + + iVar3 = (u16*) getMsgDataBlock("INF1"); + uVar1 = ((iVar3 + (param_2->msg_index) * 10))[10]; + uVar2 = ((iVar3 + (param_1->msg_index) * 10))[10]; + + if (mMsg != -1) { + msg_class* iVar3 = fopMsgM_SearchByID(mMsg); + iVar3->mMode = 0xf; + fopMsgM_messageSet(uVar2, uVar1); + } else { + if (dMeter2Info_getFloatingFlowID() == 0xffff) { + mMsg = fopMsgM_messageSet(uVar2, param_3, uVar1); + if (mMsg == -1) { + return 0; + } + dMsgObject_setNowTalkFlowNo(mFlow); + } + } + mMsgNo = uVar2; + field_0x41 = 1; + return 1; } -#pragma pop /* 8024AA50-8024AB30 245390 00E0+00 1/1 0/0 0/0 .text * setNormalMsg__10dMsgFlow_cFP14mesg_flow_nodeP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgFlow_c::setNormalMsg(mesg_flow_node* param_0, fopAc_ac_c* param_1) { - nofralloc -#include "asm/d/msg/d_msg_flow/setNormalMsg__10dMsgFlow_cFP14mesg_flow_nodeP10fopAc_ac_c.s" +int dMsgFlow_c::setNormalMsg(mesg_flow_node* param_1, fopAc_ac_c* param_2) { + u32 uVar2; + u16* iVar3; + + iVar3 = (u16*) getMsgDataBlock("INF1"); + uVar2 = ((iVar3 + (param_1->msg_index) * 10))[10]; + + if (mMsg != -1) { + msg_class* iVar3 = fopMsgM_SearchByID(mMsg); + iVar3->mMode = 0xf; + fopMsgM_messageSet(uVar2, 1000); + } else { + if (dMeter2Info_getFloatingFlowID() == 0xffff) { + mMsg = fopMsgM_messageSet(uVar2, param_2, 1000); + if (mMsg == -1) { + return 0; + } + dMsgObject_setNowTalkFlowNo(mFlow); + } + } + mMsgNo = uVar2; + field_0x41 = 1; + return 1; } -#pragma pop /* 8024AB30-8024AD54 245470 0224+00 2/1 0/0 0/0 .text * messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c */ +// Matches with literals (switch table) +#ifdef NONMATCHING +int dMsgFlow_c::messageNodeProc(fopAc_ac_c* param_1, fopAc_ac_c** param_2) { + mesg_flow_node* uVar1; + + uVar1 = &mFlowNodeTBL[field_0x10]; + if (field_0x25 != 0) { + if (field_0x46 != 0) { + u16 pars = *(u16*)uVar1->params; + if ((field_0x46 == 1) && + (mFlowNodeTBL[pars].type == 1)) { + if (setSelectMsg(mFlowNodeTBL + field_0x10, + mFlowNodeTBL + pars, param_1)) { + field_0x10 = pars; + field_0x46 = 0; + field_0x25 = 0; + } + } else if ((field_0x46 == 2) && + (mFlowNodeTBL[pars].type == 2)) { + if (setNormalMsg(mFlowNodeTBL + field_0x10,param_1)) { + field_0x46 = 0; + field_0x25 = 0; + } + } + } else { + if (setNormalMsg(mFlowNodeTBL + field_0x10, param_1)) { + field_0x25 = 0; + } + } + return 0; + } else { + msg_class* msg = fopMsgM_SearchByID(mMsg); + if (msg == NULL) { + field_0x25 = 1; + } else { + int mesgCamInfo = dComIfGp_getMesgCameraInfo(); + if (mesgCamInfo != field_0x34) { + field_0x34 = mesgCamInfo; + } + switch (msg->mMode) { + case 2: + field_0x41 = 1; + mNowMsgNo = msg->mMsgID; + break; + case 6: + field_0x40 = field_0x41; + int mesgAnimeAttrInfo = -1; + int mesgFaceAnimeAttrInfo = -1; + if (field_0x41 != 0) { + mesgAnimeAttrInfo = dComIfGp_getMesgAnimeAttrInfo(); + mesgFaceAnimeAttrInfo = dComIfGp_getMesgFaceAnimeAttrInfo(); + } + if (mesgAnimeAttrInfo >= 0x1f) { + daPy_py_c::setMidnaMotionNum(mesgAnimeAttrInfo); + } + if (mesgFaceAnimeAttrInfo >= 0x1f) { + daPy_py_c::setMidnaFaceNum(mesgFaceAnimeAttrInfo); + } + field_0x41 = 0; + mNowMsgNo = msg->mMsgID; + break; + case 0xe: + case 0x12: + setNodeIndex(*(u16*)uVar1->params, param_2); + mesg_flow_node* iVar4 = &mFlowNodeTBL[*(u16*)uVar1->params]; + if (iVar4->field_0x1 == 0x15 || iVar4->field_0x1 == 0x20 || + iVar4->field_0x1 == 0x21) { + return 0; + } + return 1; + } + } + + } + return 0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -741,6 +994,7 @@ asm int dMsgFlow_c::messageNodeProc(fopAc_ac_c* param_0, fopAc_ac_c** param_1) { #include "asm/d/msg/d_msg_flow/messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c.s" } #pragma pop +#endif /* 8024AD54-8024ADEC 245694 0098+00 1/1 0/0 0/0 .text * branchNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c */ @@ -754,7 +1008,6 @@ int dMsgFlow_c::branchNodeProc(fopAc_ac_c* param_0, fopAc_ac_c** param_1) { /* 8024ADEC-8024AFF8 24572C 020C+00 1/1 0/0 0/0 .text * eventNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c */ -#ifdef NONMATCHING int dMsgFlow_c::eventNodeProc(fopAc_ac_c* param_0, fopAc_ac_c** param_1) { mesg_flow_node_event* node = (mesg_flow_node_event*)&mFlowNodeTBL[field_0x10]; int proc_status = (this->*mEventList[node->field_0x1])(node, param_0); @@ -776,12 +1029,13 @@ int dMsgFlow_c::eventNodeProc(fopAc_ac_c* param_0, fopAc_ac_c** param_1) { case 9: if (getParam(node->params) == 0) { - int msgNum = daAlink_getAlinkActorClass()->getMidnaMsgNum(); - if (msgNum == 0xFFFF) { - int stayNo = dComIfGp_roomControl_getStayNo(); + int msgNum; + if (daAlink_getAlinkActorClass()->getMidnaMsgNum() == 0xFFFF) { + s32 stayNo = dComIfGp_roomControl_getStayNo(); msgNum = dComIfGp_roomControl_getStatusRoomDt(stayNo)->mRoomDt.getFileListInfo()->mMsg; } else { + msgNum = daAlink_getAlinkActorClass()->getMidnaMsgNum(); daAlink_getAlinkActorClass()->setMidnaMsg(); } @@ -804,24 +1058,17 @@ int dMsgFlow_c::eventNodeProc(fopAc_ac_c* param_0, fopAc_ac_c** param_1) { return 0; case 21: + case 32: + case 33: if (field_0x3c != 0) { return 0; } + default: setNodeIndex(field_0x14[node->msg_index], param_1); } return 1; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dMsgFlow_c::eventNodeProc(fopAc_ac_c* param_0, fopAc_ac_c** param_1) { - nofralloc -#include "asm/d/msg/d_msg_flow/eventNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c.s" -} -#pragma pop -#endif /* 8024AFF8-8024B0F0 245938 00F8+00 1/1 0/0 0/0 .text * nodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c */ @@ -961,6 +1208,28 @@ int dMsgFlow_c::query006(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, /* 8024B32C-8024B45C 245C6C 0130+00 1/0 0/0 0/0 .text * query007__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ +// instruction order and u16 issue +#ifdef NONMATCHING +int dMsgFlow_c::query007(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) { + u32 uVar3 = *(u16*)(flow_node->params); + cXyz this_00 = daPy_getPlayerActorClass()->mAttentionInfo.mPosition; + this_00.y -= daPy_getPlayerActorClass()->getAttentionOffsetY(); + s16 uVar8 = (cSGlobe(param_1->mAttentionInfo.mPosition - this_00).U() - daPy_getPlayerActorClass()->shape_angle.GetY()); + u8 attentionId = param_1->mAttentionInfo.field_0x0[3]; + f32 fVar1 = dAttention_c::getDistTable(attentionId).field_0x4; + u16 x = uVar3; + if (x != 0) { + fVar1 = x; + } + + return (u16) dComIfGp_getAttention().checkDistance( + &this_00, uVar8, ¶m_1->mAttentionInfo.mPosition, fVar1, + dAttention_c::getDistTable(attentionId).field_0x8, + dAttention_c::getDistTable(attentionId).field_0xc, + dAttention_c::getDistTable(attentionId).field_0x10); + +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -969,6 +1238,7 @@ asm int dMsgFlow_c::query007(mesg_flow_node_branch* flow_node, fopAc_ac_c* param #include "asm/d/msg/d_msg_flow/query007__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s" } #pragma pop +#endif /* 8024B45C-8024B4A4 245D9C 0048+00 1/0 0/0 0/0 .text * query008__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ @@ -980,25 +1250,15 @@ int dMsgFlow_c::query008(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, /* 8024B4A4-8024B4D0 245DE4 002C+00 1/0 0/0 0/0 .text * query009__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dMsgFlow_c::query009(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) { - nofralloc -#include "asm/d/msg/d_msg_flow/query009__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s" +int dMsgFlow_c::query009(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) { + return daNpcKakashi_getSwdTutorialResult() == 0; } -#pragma pop /* 8024B4D0-8024B504 245E10 0034+00 1/0 0/0 0/0 .text * query010__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dMsgFlow_c::query010(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) { - nofralloc -#include "asm/d/msg/d_msg_flow/query010__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s" +int dMsgFlow_c::query010(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) { + return ((u8)daNpcKakashi_getSuccessCount()) != 1; } -#pragma pop /* 8024B504-8024B54C 245E44 0048+00 1/0 0/0 0/0 .text * query011__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ @@ -1099,10 +1359,12 @@ asm int dMsgFlow_c::query021(mesg_flow_node_branch* flow_node, fopAc_ac_c* param } #pragma pop +#ifdef NONMATCHING /* 8024B8E4-8024B918 246224 0034+00 1/0 0/0 0/0 .text * query022__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ -#ifdef NONMATCHING int dMsgFlow_c::query022(mesg_flow_node_branch* flow_node, fopAc_ac_c*, int) { + // fake match but 0 comparison zeroes out 24 bits while this function zeroes out 16 + // return (__cntlzw(checkItemGet(flow_node->params[0], 1)) >> 5) & 0xffff; return checkItemGet(flow_node->params[0], 1) == 0; } #else @@ -1124,25 +1386,16 @@ int dMsgFlow_c::query023(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, /* 8024B954-8024B974 246294 0020+00 1/0 0/0 0/0 .text * query024__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dMsgFlow_c::query024(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) { - nofralloc -#include "asm/d/msg/d_msg_flow/query024__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s" +int dMsgFlow_c::query024(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) { + return dComIfGs_getArrowNum() - (u8)*(u16*)flow_node->params < 0; } -#pragma pop /* 8024B974-8024B9BC 2462B4 0048+00 1/0 0/0 0/0 .text * query025__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dMsgFlow_c::query025(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) { - nofralloc -#include "asm/d/msg/d_msg_flow/query025__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s" +int dMsgFlow_c::query025(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) { + u8 par = (u8)*(u16*)flow_node->params; + return dComIfGs_checkEmptyBottle() - par < 0; } -#pragma pop /* 8024B9BC-8024B9E8 2462FC 002C+00 1/0 0/0 0/0 .text * query026__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ @@ -1153,6 +1406,15 @@ int dMsgFlow_c::query026(mesg_flow_node_branch*, fopAc_ac_c* actor, int) { /* 8024B9E8-8024BA4C 246328 0064+00 1/0 0/0 0/0 .text * query027__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ +#ifdef NONMATCHING +int dMsgFlow_c::query027(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) { + u8 uVar1 = *(u16*)flow_node->params; + if (uVar1 == 0) { + uVar1 = dComIfGp_getNeedLightDropNum(); + } + return dComIfGs_getLightDropNum(dComIfGp_getStartStageDarkArea()) < uVar1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1161,28 +1423,30 @@ asm int dMsgFlow_c::query027(mesg_flow_node_branch* flow_node, fopAc_ac_c* param #include "asm/d/msg/d_msg_flow/query027__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s" } #pragma pop +#endif /* 8024BA4C-8024BAA0 24638C 0054+00 1/0 0/0 0/0 .text * query028__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dMsgFlow_c::query028(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) { - nofralloc -#include "asm/d/msg/d_msg_flow/query028__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s" +int dMsgFlow_c::query028(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) { + int timeSec = *(u16*)flow_node->params; + int iVar3 = dMeter2Info_getTimeMs(); + int val2 = timeSec * 1000 + 999; + int rv = val2 < iVar3; + dMeter2Info_setMsgTimeMs(iVar3 <= val2 ? val2 - iVar3 : (iVar3 - timeSec * 1000) + 999); + return rv; } -#pragma pop /* 8024BAA0-8024BAE0 2463E0 0040+00 1/0 0/0 0/0 .text * query029__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dMsgFlow_c::query029(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) { - nofralloc -#include "asm/d/msg/d_msg_flow/query029__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s" +int dMsgFlow_c::query029(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) { + u8 rv = 1; + if (dComIfGs_getOil() == 0 || dComIfGs_getMaxOil() == 0) { + rv = 2; + } else if (dComIfGs_getOil() == dComIfGs_getMaxOil()) { + rv = 0; + } + return rv; } -#pragma pop /* 8024BAE0-8024BB18 246420 0038+00 1/0 0/0 0/0 .text * query030__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ @@ -1192,25 +1456,22 @@ int dMsgFlow_c::query030(mesg_flow_node_branch*, fopAc_ac_c*, int) { /* 8024BB18-8024BB74 246458 005C+00 1/0 0/0 0/0 .text * query031__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dMsgFlow_c::query031(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) { - nofralloc -#include "asm/d/msg/d_msg_flow/query031__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s" +int dMsgFlow_c::query031(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) { + u16 uVar3 = *(u16*)(flow_node->params); + return (0x14 - i_dComIfGs_getEventReg(0xff1f)) < uVar3; } -#pragma pop /* 8024BB74-8024BB9C 2464B4 0028+00 1/0 0/0 0/0 .text * query032__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dMsgFlow_c::query032(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) { - nofralloc -#include "asm/d/msg/d_msg_flow/query032__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s" +int dMsgFlow_c::query032(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) { + u8 rv = 1; + u16 uVar1 = *(u16*)flow_node->params; + if (i_dComIfGs_getLife() >= (int)uVar1) { + rv = 0; + } + + return rv; } -#pragma pop /* 8024BB9C-8024BBE4 2464DC 0048+00 1/0 0/0 0/0 .text * query033__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ @@ -1262,14 +1523,35 @@ int dMsgFlow_c::query037(mesg_flow_node_branch*, fopAc_ac_c*, int) { /* 8024BCC4-8024BDB0 246604 00EC+00 1/0 0/0 0/0 .text * query038__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dMsgFlow_c::query038(mesg_flow_node_branch* param_0, fopAc_ac_c* param_1, int param_2) { - nofralloc -#include "asm/d/msg/d_msg_flow/query038__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s" -} -#pragma pop +int dMsgFlow_c::query038(mesg_flow_node_branch* param_0, fopAc_ac_c* param_1, int param_2) { + int uVar5 = *(u16*)param_0->params; + u8 val; + if (uVar5 >= 1 && uVar5 < 4) { + val = uVar5 - 1; + } else if (uVar5 == 4) { + u8 rentalBombBag = dMeter2Info_getRentalBombBag(); + if (rentalBombBag != 0xff) { + val = rentalBombBag; + } + } else { + val = dComIfGs_getTmpReg(0xfbff) - 1; + } + + u8 uVar4 = 0; + switch(dComIfGs_getItem((u8)(val + 0xf), 0)) { + case 0x70: + uVar4 = 1; + break; + case 0x71: + uVar4 = 2; + break; + case 0x72: + uVar4 = 3; + break; + } + dMsgObject_setEquipBombInfo(); + return uVar4; +} /* 8024BDB0-8024BE4C 2466F0 009C+00 1/0 0/0 0/0 .text * query039__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ @@ -1325,7 +1607,6 @@ int dMsgFlow_c::query042(mesg_flow_node_branch*, fopAc_ac_c*, int) { /* 8024C0A8-8024C144 2469E8 009C+00 1/0 0/0 0/0 .text * query043__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ -#ifdef NONMATCHING int dMsgFlow_c::query043(mesg_flow_node_branch* flow_node, fopAc_ac_c*, int) { u16 prm0 = flow_node->params[0]; u8 bomb_num = dComIfGs_getBombNum(dComIfGs_getTmpReg(0xFBFF) - 1); @@ -1333,16 +1614,6 @@ int dMsgFlow_c::query043(mesg_flow_node_branch* flow_node, fopAc_ac_c*, int) { return bomb_max >= bomb_num + prm0; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dMsgFlow_c::query043(mesg_flow_node_branch* param_0, fopAc_ac_c* param_1, int param_2) { - nofralloc -#include "asm/d/msg/d_msg_flow/query043__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s" -} -#pragma pop -#endif /* 8024C144-8024C18C 246A84 0048+00 1/0 0/0 0/0 .text * query044__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ diff --git a/src/d/msg/d_msg_out_font.cpp b/src/d/msg/d_msg_out_font.cpp index 1a5ca727f2e..886a982e840 100644 --- a/src/d/msg/d_msg_out_font.cpp +++ b/src/d/msg/d_msg_out_font.cpp @@ -8,6 +8,7 @@ #include "dol2asm.h" #include "dolphin/types.h" #include "d/com/d_com_inf_game.h" +#include "f_op/f_op_msg_mng.h" // // Forward References: @@ -789,6 +790,20 @@ void COutFont_c::reset(J2DTextBox* p_textBox) { /* 80228490-80228530 222DD0 00A0+00 1/1 0/0 0/0 .text setBlendAnime__10COutFont_cFP10J2DPictures */ +// regalloc +#ifdef NONMATCHING +void COutFont_c::setBlendAnime(J2DPicture* param_0, s16 param_1) { + s32 iVar5 = param_1; + iVar5 = 0x14 - iVar5 / 0x14 * 0x14; + if (iVar5 < 10) { + f32 dVar6 = fopMsgM_valueIncrease(10, iVar5, 0); + param_0->setBlendRatio(1.0f - dVar6, dVar6); + } else { + f32 dVar6 = fopMsgM_valueIncrease(10, iVar5 - 10, 0); + param_0->setBlendRatio(dVar6, 1.0f - dVar6); + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -797,6 +812,7 @@ asm void COutFont_c::setBlendAnime(J2DPicture* param_0, s16 param_1) { #include "asm/d/msg/d_msg_out_font/setBlendAnime__10COutFont_cFP10J2DPictures.s" } #pragma pop +#endif /* 80228530-80228578 222E70 0048+00 1/1 0/0 0/0 .text getBtiName__10COutFont_cFi */ const char* COutFont_c::getBtiName(int nameIdx) { diff --git a/src/f_op/f_op_msg_mng.cpp b/src/f_op/f_op_msg_mng.cpp index 09e1786306f..03bc3c74cfc 100644 --- a/src/f_op/f_op_msg_mng.cpp +++ b/src/f_op/f_op_msg_mng.cpp @@ -334,7 +334,7 @@ SECTION_SDATA2 static f64 lit_4303 = 4503601774854144.0 /* cast s32 to float */; /* 80020160-800202CC 01AAA0 016C+00 1/0 4/4 2/2 .text fopMsgM_valueIncrease__FiiUc */ #ifdef NONMATCHING // regalloc + something up with case 2 -f64 fopMsgM_valueIncrease(int param_0, int param_1, u8 param_2) { +f32 fopMsgM_valueIncrease(int param_0, int param_1, u8 param_2) { f32 ret; if (param_0 <= 0) { @@ -390,7 +390,7 @@ f64 fopMsgM_valueIncrease(int param_0, int param_1, u8 param_2) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopMsgM_valueIncrease(int param_0, int param_1, u8 param_2) { +asm f32 fopMsgM_valueIncrease(int param_0, int param_1, u8 param_2) { nofralloc #include "asm/f_op/f_op_msg_mng/fopMsgM_valueIncrease__FiiUc.s" }