From 40dae638a7c0b7e967eda55d3aa1089163213c5d Mon Sep 17 00:00:00 2001 From: Trueffel <106771418+Trueffeloot@users.noreply.github.com> Date: Tue, 9 Jan 2024 00:16:02 +0100 Subject: [PATCH] Work on Collection Menu (d_menu_collect) (#2026) * work on d_menu_collect * match few funcs * work on screenSet * More work on d_menu_collect * remove asm * format document * document fields * rename variable * Fix compiler error --- .../_create__17dMenu_Collect3D_cFv.s | 65 - .../animeEntry__17dMenu_Collect3D_cFv.s | 28 - .../getItemTag__17dMenu_Collect2D_cFiib.s | 18 - ...getMaskMdlVisible__17dMenu_Collect3D_cFv.s | 65 - ...setAButtonString__17dMenu_Collect2D_cFUs.s | 70 - ...setBButtonString__17dMenu_Collect2D_cFUs.s | 70 - ...FrameColorClothes__17dMenu_Collect2D_cFi.s | 205 -- ...mFrameColorShield__17dMenu_Collect2D_cFi.s | 198 -- ...emFrameColorSword__17dMenu_Collect2D_cFi.s | 216 -- .../setHIO__17dMenu_Collect2D_cFb.s | 283 --- .../setHeartPiece__17dMenu_Collect2D_cFv.s | 55 - ...ItemNameString__17dMenu_Collect2D_cFUcUc.s | 102 - .../setPohMaxNum__17dMenu_Collect2D_cFUc.s | 186 -- .../setSmellType__17dMenu_Collect2D_cFv.s | 82 - .../wait_init__17dMenu_Collect2D_cFv.s | 114 - include/d/menu/d_menu_collect.h | 225 +- include/d/meter/d_meter2_info.h | 11 + include/d/msg/d_msg_object.h | 6 +- include/d/pane/d_pane_class.h | 3 + include/d/save/d_save.h | 8 + src/d/menu/d_menu_collect.cpp | 2080 +++++++++++++---- src/d/msg/d_msg_object.cpp | 2 +- 22 files changed, 1765 insertions(+), 2327 deletions(-) delete mode 100644 asm/d/menu/d_menu_collect/_create__17dMenu_Collect3D_cFv.s delete mode 100644 asm/d/menu/d_menu_collect/animeEntry__17dMenu_Collect3D_cFv.s delete mode 100644 asm/d/menu/d_menu_collect/getItemTag__17dMenu_Collect2D_cFiib.s delete mode 100644 asm/d/menu/d_menu_collect/getMaskMdlVisible__17dMenu_Collect3D_cFv.s delete mode 100644 asm/d/menu/d_menu_collect/setAButtonString__17dMenu_Collect2D_cFUs.s delete mode 100644 asm/d/menu/d_menu_collect/setBButtonString__17dMenu_Collect2D_cFUs.s delete mode 100644 asm/d/menu/d_menu_collect/setEquipItemFrameColorClothes__17dMenu_Collect2D_cFi.s delete mode 100644 asm/d/menu/d_menu_collect/setEquipItemFrameColorShield__17dMenu_Collect2D_cFi.s delete mode 100644 asm/d/menu/d_menu_collect/setEquipItemFrameColorSword__17dMenu_Collect2D_cFi.s delete mode 100644 asm/d/menu/d_menu_collect/setHIO__17dMenu_Collect2D_cFb.s delete mode 100644 asm/d/menu/d_menu_collect/setHeartPiece__17dMenu_Collect2D_cFv.s delete mode 100644 asm/d/menu/d_menu_collect/setItemNameString__17dMenu_Collect2D_cFUcUc.s delete mode 100644 asm/d/menu/d_menu_collect/setPohMaxNum__17dMenu_Collect2D_cFUc.s delete mode 100644 asm/d/menu/d_menu_collect/setSmellType__17dMenu_Collect2D_cFv.s delete mode 100644 asm/d/menu/d_menu_collect/wait_init__17dMenu_Collect2D_cFv.s diff --git a/asm/d/menu/d_menu_collect/_create__17dMenu_Collect3D_cFv.s b/asm/d/menu/d_menu_collect/_create__17dMenu_Collect3D_cFv.s deleted file mode 100644 index aefb5a30315..00000000000 --- a/asm/d/menu/d_menu_collect/_create__17dMenu_Collect3D_cFv.s +++ /dev/null @@ -1,65 +0,0 @@ -lbl_801B65A8: -/* 801B65A8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801B65AC 7C 08 02 A6 */ mflr r0 -/* 801B65B0 90 01 00 14 */ stw r0, 0x14(r1) -/* 801B65B4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801B65B8 7C 7F 1B 78 */ mr r31, r3 -/* 801B65BC 80 63 00 04 */ lwz r3, 4(r3) -/* 801B65C0 48 11 81 C5 */ bl getTotalFreeSize__7JKRHeapFv -/* 801B65C4 3C 60 00 02 */ lis r3, 0x0002 /* 0x00025800@ha */ -/* 801B65C8 38 63 58 00 */ addi r3, r3, 0x5800 /* 0x00025800@l */ -/* 801B65CC 80 9F 00 04 */ lwz r4, 4(r31) -/* 801B65D0 38 A0 00 20 */ li r5, 0x20 -/* 801B65D4 4B E5 89 E9 */ bl mDoExt_createSolidHeapToCurrent__FUlP7JKRHeapUl -/* 801B65D8 90 7F 00 08 */ stw r3, 8(r31) -/* 801B65DC 80 7F 00 08 */ lwz r3, 8(r31) -/* 801B65E0 4B E5 8B ED */ bl mDoExt_setCurrentHeap__FP7JKRHeap -/* 801B65E4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801B65E8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801B65EC 80 63 5D B4 */ lwz r3, 0x5db4(r3) -/* 801B65F0 28 03 00 00 */ cmplwi r3, 0 -/* 801B65F4 41 82 00 08 */ beq lbl_801B65FC -/* 801B65F8 4B F8 A0 B1 */ bl initStatusWindow__9daAlink_cFv -lbl_801B65FC: -/* 801B65FC 48 00 0F 09 */ bl getMaskMdlVisible__17dMenu_Collect3D_cFv -/* 801B6600 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 801B6604 28 00 00 02 */ cmplwi r0, 2 -/* 801B6608 40 82 00 10 */ bne lbl_801B6618 -/* 801B660C 7F E3 FB 78 */ mr r3, r31 -/* 801B6610 48 00 0B B5 */ bl createMirrorModel__17dMenu_Collect3D_cFv -/* 801B6614 48 00 00 28 */ b lbl_801B663C -lbl_801B6618: -/* 801B6618 28 00 00 01 */ cmplwi r0, 1 -/* 801B661C 40 82 00 10 */ bne lbl_801B662C -/* 801B6620 7F E3 FB 78 */ mr r3, r31 -/* 801B6624 48 00 09 F1 */ bl createMaskModel__17dMenu_Collect3D_cFv -/* 801B6628 48 00 00 14 */ b lbl_801B663C -lbl_801B662C: -/* 801B662C 38 00 00 00 */ li r0, 0 -/* 801B6630 90 1F 00 18 */ stw r0, 0x18(r31) -/* 801B6634 90 1F 00 1C */ stw r0, 0x1c(r31) -/* 801B6638 90 1F 00 20 */ stw r0, 0x20(r31) -lbl_801B663C: -/* 801B663C 80 7F 00 08 */ lwz r3, 8(r31) -/* 801B6640 48 11 A5 B5 */ bl adjustSize__12JKRSolidHeapFv -/* 801B6644 4B E5 8B B1 */ bl mDoExt_restoreCurrentHeap__Fv -/* 801B6648 80 1F 00 18 */ lwz r0, 0x18(r31) -/* 801B664C 28 00 00 00 */ cmplwi r0, 0 -/* 801B6650 41 82 00 1C */ beq lbl_801B666C -/* 801B6654 38 7F 00 28 */ addi r3, r31, 0x28 -/* 801B6658 38 80 FF FF */ li r4, -1 -/* 801B665C 38 A0 00 FF */ li r5, 0xff -/* 801B6660 4B FF 22 8D */ bl dKy_tevstr_init__FP12dKy_tevstr_cScUc -/* 801B6664 7F E3 FB 78 */ mr r3, r31 -/* 801B6668 48 00 06 C9 */ bl set_mtx__17dMenu_Collect3D_cFv -lbl_801B666C: -/* 801B666C 80 7F 00 0C */ lwz r3, 0xc(r31) -/* 801B6670 88 A3 02 58 */ lbz r5, 0x258(r3) -/* 801B6674 88 83 02 57 */ lbz r4, 0x257(r3) -/* 801B6678 7F E3 FB 78 */ mr r3, r31 -/* 801B667C 48 00 00 4D */ bl _move__17dMenu_Collect3D_cFUcUc -/* 801B6680 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801B6684 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801B6688 7C 08 03 A6 */ mtlr r0 -/* 801B668C 38 21 00 10 */ addi r1, r1, 0x10 -/* 801B6690 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_collect/animeEntry__17dMenu_Collect3D_cFv.s b/asm/d/menu/d_menu_collect/animeEntry__17dMenu_Collect3D_cFv.s deleted file mode 100644 index 92a588e2b6c..00000000000 --- a/asm/d/menu/d_menu_collect/animeEntry__17dMenu_Collect3D_cFv.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_801B6FB0: -/* 801B6FB0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801B6FB4 7C 08 02 A6 */ mflr r0 -/* 801B6FB8 90 01 00 14 */ stw r0, 0x14(r1) -/* 801B6FBC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801B6FC0 7C 7F 1B 78 */ mr r31, r3 -/* 801B6FC4 80 63 00 20 */ lwz r3, 0x20(r3) -/* 801B6FC8 28 03 00 00 */ cmplwi r3, 0 -/* 801B6FCC 41 82 00 18 */ beq lbl_801B6FE4 -/* 801B6FD0 80 9F 00 18 */ lwz r4, 0x18(r31) -/* 801B6FD4 80 84 00 04 */ lwz r4, 4(r4) -/* 801B6FD8 C0 23 00 10 */ lfs f1, 0x10(r3) -/* 801B6FDC 38 84 00 58 */ addi r4, r4, 0x58 -/* 801B6FE0 4B E5 67 C9 */ bl entry__13mDoExt_brkAnmFP16J3DMaterialTablef -lbl_801B6FE4: -/* 801B6FE4 80 7F 00 1C */ lwz r3, 0x1c(r31) -/* 801B6FE8 28 03 00 00 */ cmplwi r3, 0 -/* 801B6FEC 41 82 00 14 */ beq lbl_801B7000 -/* 801B6FF0 80 9F 00 18 */ lwz r4, 0x18(r31) -/* 801B6FF4 80 84 00 04 */ lwz r4, 4(r4) -/* 801B6FF8 C0 23 00 10 */ lfs f1, 0x10(r3) -/* 801B6FFC 4B E5 69 D1 */ bl entry__13mDoExt_bckAnmFP12J3DModelDataf -lbl_801B7000: -/* 801B7000 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801B7004 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801B7008 7C 08 03 A6 */ mtlr r0 -/* 801B700C 38 21 00 10 */ addi r1, r1, 0x10 -/* 801B7010 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_collect/getItemTag__17dMenu_Collect2D_cFiib.s b/asm/d/menu/d_menu_collect/getItemTag__17dMenu_Collect2D_cFiib.s deleted file mode 100644 index c93a890d99b..00000000000 --- a/asm/d/menu/d_menu_collect/getItemTag__17dMenu_Collect2D_cFiib.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_801B46FC: -/* 801B46FC 2C 05 00 05 */ cmpwi r5, 5 -/* 801B4700 40 82 00 18 */ bne lbl_801B4718 -/* 801B4704 54 C0 06 3F */ clrlwi. r0, r6, 0x18 -/* 801B4708 40 82 00 10 */ bne lbl_801B4718 -/* 801B470C 38 80 00 00 */ li r4, 0 -/* 801B4710 38 60 00 00 */ li r3, 0 -/* 801B4714 4E 80 00 20 */ blr -lbl_801B4718: -/* 801B4718 1C A5 00 38 */ mulli r5, r5, 0x38 -/* 801B471C 3C 60 80 39 */ lis r3, itemTag@ha /* 0x80395118@ha */ -/* 801B4720 38 03 51 18 */ addi r0, r3, itemTag@l /* 0x80395118@l */ -/* 801B4724 7C 60 2A 14 */ add r3, r0, r5 -/* 801B4728 54 80 18 38 */ slwi r0, r4, 3 -/* 801B472C 7C 83 02 14 */ add r4, r3, r0 -/* 801B4730 80 64 00 00 */ lwz r3, 0(r4) -/* 801B4734 80 84 00 04 */ lwz r4, 4(r4) -/* 801B4738 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_collect/getMaskMdlVisible__17dMenu_Collect3D_cFv.s b/asm/d/menu/d_menu_collect/getMaskMdlVisible__17dMenu_Collect3D_cFv.s deleted file mode 100644 index 2d3b02fa5a5..00000000000 --- a/asm/d/menu/d_menu_collect/getMaskMdlVisible__17dMenu_Collect3D_cFv.s +++ /dev/null @@ -1,65 +0,0 @@ -lbl_801B7504: -/* 801B7504 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801B7508 7C 08 02 A6 */ mflr r0 -/* 801B750C 90 01 00 14 */ stw r0, 0x14(r1) -/* 801B7510 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801B7514 4B FF FF 21 */ bl getCrystalNum__17dMenu_Collect3D_cFv -/* 801B7518 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 801B751C 40 82 00 10 */ bne lbl_801B752C -/* 801B7520 4B FF FF 7D */ bl getMirrorNum__17dMenu_Collect3D_cFv -/* 801B7524 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 801B7528 41 82 00 70 */ beq lbl_801B7598 -lbl_801B752C: -/* 801B752C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801B7530 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801B7534 3B E3 07 F0 */ addi r31, r3, 0x7f0 -/* 801B7538 7F E3 FB 78 */ mr r3, r31 -/* 801B753C 38 80 0C 01 */ li r4, 0xc01 -/* 801B7540 4B E7 D4 7D */ bl isEventBit__11dSv_event_cCFUs -/* 801B7544 2C 03 00 00 */ cmpwi r3, 0 -/* 801B7548 41 82 00 20 */ beq lbl_801B7568 -/* 801B754C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801B7550 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801B7554 38 63 01 00 */ addi r3, r3, 0x100 -/* 801B7558 38 80 00 00 */ li r4, 0 -/* 801B755C 4B E7 CD 35 */ bl isCollectMirror__20dSv_player_collect_cCFUc -/* 801B7560 2C 03 00 00 */ cmpwi r3, 0 -/* 801B7564 41 82 00 34 */ beq lbl_801B7598 -lbl_801B7568: -/* 801B7568 7F E3 FB 78 */ mr r3, r31 -/* 801B756C 38 80 2B 08 */ li r4, 0x2b08 -/* 801B7570 4B E7 D4 4D */ bl isEventBit__11dSv_event_cCFUs -/* 801B7574 2C 03 00 00 */ cmpwi r3, 0 -/* 801B7578 41 82 00 28 */ beq lbl_801B75A0 -/* 801B757C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801B7580 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801B7584 38 63 01 00 */ addi r3, r3, 0x100 -/* 801B7588 38 80 00 03 */ li r4, 3 -/* 801B758C 4B E7 CC C1 */ bl isCollectCrystal__20dSv_player_collect_cCFUc -/* 801B7590 2C 03 00 00 */ cmpwi r3, 0 -/* 801B7594 40 82 00 0C */ bne lbl_801B75A0 -lbl_801B7598: -/* 801B7598 38 60 00 00 */ li r3, 0 -/* 801B759C 48 00 00 38 */ b lbl_801B75D4 -lbl_801B75A0: -/* 801B75A0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801B75A4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801B75A8 38 63 01 00 */ addi r3, r3, 0x100 -/* 801B75AC 38 80 00 03 */ li r4, 3 -/* 801B75B0 4B E7 CC 9D */ bl isCollectCrystal__20dSv_player_collect_cCFUc -/* 801B75B4 2C 03 00 00 */ cmpwi r3, 0 -/* 801B75B8 40 82 00 10 */ bne lbl_801B75C8 -/* 801B75BC 4B FF FE E1 */ bl getMirrorNum__17dMenu_Collect3D_cFv -/* 801B75C0 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 801B75C4 40 82 00 0C */ bne lbl_801B75D0 -lbl_801B75C8: -/* 801B75C8 38 60 00 01 */ li r3, 1 -/* 801B75CC 48 00 00 08 */ b lbl_801B75D4 -lbl_801B75D0: -/* 801B75D0 38 60 00 02 */ li r3, 2 -lbl_801B75D4: -/* 801B75D4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801B75D8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801B75DC 7C 08 03 A6 */ mtlr r0 -/* 801B75E0 38 21 00 10 */ addi r1, r1, 0x10 -/* 801B75E4 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_collect/setAButtonString__17dMenu_Collect2D_cFUs.s b/asm/d/menu/d_menu_collect/setAButtonString__17dMenu_Collect2D_cFUs.s deleted file mode 100644 index ef4bc0cc015..00000000000 --- a/asm/d/menu/d_menu_collect/setAButtonString__17dMenu_Collect2D_cFUs.s +++ /dev/null @@ -1,70 +0,0 @@ -lbl_801B5FB4: -/* 801B5FB4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801B5FB8 7C 08 02 A6 */ mflr r0 -/* 801B5FBC 90 01 00 24 */ stw r0, 0x24(r1) -/* 801B5FC0 39 61 00 20 */ addi r11, r1, 0x20 -/* 801B5FC4 48 1A C2 0D */ bl _savegpr_26 -/* 801B5FC8 7C 7F 1B 78 */ mr r31, r3 -/* 801B5FCC 54 9B 04 3E */ clrlwi r27, r4, 0x10 -/* 801B5FD0 A0 03 01 7C */ lhz r0, 0x17c(r3) -/* 801B5FD4 7C 1B 00 40 */ cmplw r27, r0 -/* 801B5FD8 41 82 00 C8 */ beq lbl_801B60A0 -/* 801B5FDC B0 9F 01 7C */ sth r4, 0x17c(r31) -/* 801B5FE0 28 1B 00 00 */ cmplwi r27, 0 -/* 801B5FE4 40 82 00 5C */ bne lbl_801B6040 -/* 801B5FE8 3B 60 00 00 */ li r27, 0 -/* 801B5FEC 3B C0 00 00 */ li r30, 0 -/* 801B5FF0 3C 60 80 39 */ lis r3, text_a_tag_7111@ha /* 0x80395268@ha */ -/* 801B5FF4 3B A3 52 68 */ addi r29, r3, text_a_tag_7111@l /* 0x80395268@l */ -/* 801B5FF8 3C 60 80 39 */ lis r3, d_menu_d_menu_collect__stringBase0@ha /* 0x80395330@ha */ -/* 801B5FFC 3B 83 53 30 */ addi r28, r3, d_menu_d_menu_collect__stringBase0@l /* 0x80395330@l */ -lbl_801B6000: -/* 801B6000 80 7F 00 1C */ lwz r3, 0x1c(r31) -/* 801B6004 7C 9D F2 14 */ add r4, r29, r30 -/* 801B6008 80 A4 00 00 */ lwz r5, 0(r4) -/* 801B600C 80 C4 00 04 */ lwz r6, 4(r4) -/* 801B6010 81 83 00 00 */ lwz r12, 0(r3) -/* 801B6014 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801B6018 7D 89 03 A6 */ mtctr r12 -/* 801B601C 4E 80 04 21 */ bctrl -/* 801B6020 48 14 A6 39 */ bl getStringPtr__10J2DTextBoxCFv -/* 801B6024 38 9C 00 55 */ addi r4, r28, 0x55 -/* 801B6028 48 1B 2B 05 */ bl strcpy -/* 801B602C 3B 7B 00 01 */ addi r27, r27, 1 -/* 801B6030 2C 1B 00 05 */ cmpwi r27, 5 -/* 801B6034 3B DE 00 08 */ addi r30, r30, 8 -/* 801B6038 41 80 FF C8 */ blt lbl_801B6000 -/* 801B603C 48 00 00 64 */ b lbl_801B60A0 -lbl_801B6040: -/* 801B6040 3B 40 00 00 */ li r26, 0 -/* 801B6044 3B C0 00 00 */ li r30, 0 -/* 801B6048 3C 60 80 39 */ lis r3, text_a_tag_7111@ha /* 0x80395268@ha */ -/* 801B604C 3B 83 52 68 */ addi r28, r3, text_a_tag_7111@l /* 0x80395268@l */ -/* 801B6050 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 801B6054 3B A3 01 88 */ addi r29, r3, g_meter2_info@l /* 0x80430188@l */ -lbl_801B6058: -/* 801B6058 80 7F 00 1C */ lwz r3, 0x1c(r31) -/* 801B605C 7C 9C F2 14 */ add r4, r28, r30 -/* 801B6060 80 A4 00 00 */ lwz r5, 0(r4) -/* 801B6064 80 C4 00 04 */ lwz r6, 4(r4) -/* 801B6068 81 83 00 00 */ lwz r12, 0(r3) -/* 801B606C 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801B6070 7D 89 03 A6 */ mtctr r12 -/* 801B6074 4E 80 04 21 */ bctrl -/* 801B6078 48 14 A5 E1 */ bl getStringPtr__10J2DTextBoxCFv -/* 801B607C 7C 65 1B 78 */ mr r5, r3 -/* 801B6080 7F A3 EB 78 */ mr r3, r29 -/* 801B6084 7F 64 DB 78 */ mr r4, r27 -/* 801B6088 38 C0 00 00 */ li r6, 0 -/* 801B608C 48 06 64 B9 */ bl getStringKanji__13dMeter2Info_cFUlPcP14JMSMesgEntry_c -/* 801B6090 3B 5A 00 01 */ addi r26, r26, 1 -/* 801B6094 2C 1A 00 05 */ cmpwi r26, 5 -/* 801B6098 3B DE 00 08 */ addi r30, r30, 8 -/* 801B609C 41 80 FF BC */ blt lbl_801B6058 -lbl_801B60A0: -/* 801B60A0 39 61 00 20 */ addi r11, r1, 0x20 -/* 801B60A4 48 1A C1 79 */ bl _restgpr_26 -/* 801B60A8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801B60AC 7C 08 03 A6 */ mtlr r0 -/* 801B60B0 38 21 00 20 */ addi r1, r1, 0x20 -/* 801B60B4 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_collect/setBButtonString__17dMenu_Collect2D_cFUs.s b/asm/d/menu/d_menu_collect/setBButtonString__17dMenu_Collect2D_cFUs.s deleted file mode 100644 index 161f092e988..00000000000 --- a/asm/d/menu/d_menu_collect/setBButtonString__17dMenu_Collect2D_cFUs.s +++ /dev/null @@ -1,70 +0,0 @@ -lbl_801B60B8: -/* 801B60B8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801B60BC 7C 08 02 A6 */ mflr r0 -/* 801B60C0 90 01 00 24 */ stw r0, 0x24(r1) -/* 801B60C4 39 61 00 20 */ addi r11, r1, 0x20 -/* 801B60C8 48 1A C1 09 */ bl _savegpr_26 -/* 801B60CC 7C 7F 1B 78 */ mr r31, r3 -/* 801B60D0 54 9B 04 3E */ clrlwi r27, r4, 0x10 -/* 801B60D4 A0 03 01 7E */ lhz r0, 0x17e(r3) -/* 801B60D8 7C 1B 00 40 */ cmplw r27, r0 -/* 801B60DC 41 82 00 C8 */ beq lbl_801B61A4 -/* 801B60E0 B0 9F 01 7E */ sth r4, 0x17e(r31) -/* 801B60E4 28 1B 00 00 */ cmplwi r27, 0 -/* 801B60E8 40 82 00 5C */ bne lbl_801B6144 -/* 801B60EC 3B 60 00 00 */ li r27, 0 -/* 801B60F0 3B C0 00 00 */ li r30, 0 -/* 801B60F4 3C 60 80 39 */ lis r3, text_b_tag_7134@ha /* 0x80395290@ha */ -/* 801B60F8 3B A3 52 90 */ addi r29, r3, text_b_tag_7134@l /* 0x80395290@l */ -/* 801B60FC 3C 60 80 39 */ lis r3, d_menu_d_menu_collect__stringBase0@ha /* 0x80395330@ha */ -/* 801B6100 3B 83 53 30 */ addi r28, r3, d_menu_d_menu_collect__stringBase0@l /* 0x80395330@l */ -lbl_801B6104: -/* 801B6104 80 7F 00 1C */ lwz r3, 0x1c(r31) -/* 801B6108 7C 9D F2 14 */ add r4, r29, r30 -/* 801B610C 80 A4 00 00 */ lwz r5, 0(r4) -/* 801B6110 80 C4 00 04 */ lwz r6, 4(r4) -/* 801B6114 81 83 00 00 */ lwz r12, 0(r3) -/* 801B6118 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801B611C 7D 89 03 A6 */ mtctr r12 -/* 801B6120 4E 80 04 21 */ bctrl -/* 801B6124 48 14 A5 35 */ bl getStringPtr__10J2DTextBoxCFv -/* 801B6128 38 9C 00 55 */ addi r4, r28, 0x55 -/* 801B612C 48 1B 2A 01 */ bl strcpy -/* 801B6130 3B 7B 00 01 */ addi r27, r27, 1 -/* 801B6134 2C 1B 00 05 */ cmpwi r27, 5 -/* 801B6138 3B DE 00 08 */ addi r30, r30, 8 -/* 801B613C 41 80 FF C8 */ blt lbl_801B6104 -/* 801B6140 48 00 00 64 */ b lbl_801B61A4 -lbl_801B6144: -/* 801B6144 3B 40 00 00 */ li r26, 0 -/* 801B6148 3B C0 00 00 */ li r30, 0 -/* 801B614C 3C 60 80 39 */ lis r3, text_b_tag_7134@ha /* 0x80395290@ha */ -/* 801B6150 3B 83 52 90 */ addi r28, r3, text_b_tag_7134@l /* 0x80395290@l */ -/* 801B6154 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 801B6158 3B A3 01 88 */ addi r29, r3, g_meter2_info@l /* 0x80430188@l */ -lbl_801B615C: -/* 801B615C 80 7F 00 1C */ lwz r3, 0x1c(r31) -/* 801B6160 7C 9C F2 14 */ add r4, r28, r30 -/* 801B6164 80 A4 00 00 */ lwz r5, 0(r4) -/* 801B6168 80 C4 00 04 */ lwz r6, 4(r4) -/* 801B616C 81 83 00 00 */ lwz r12, 0(r3) -/* 801B6170 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801B6174 7D 89 03 A6 */ mtctr r12 -/* 801B6178 4E 80 04 21 */ bctrl -/* 801B617C 48 14 A4 DD */ bl getStringPtr__10J2DTextBoxCFv -/* 801B6180 7C 65 1B 78 */ mr r5, r3 -/* 801B6184 7F A3 EB 78 */ mr r3, r29 -/* 801B6188 7F 64 DB 78 */ mr r4, r27 -/* 801B618C 38 C0 00 00 */ li r6, 0 -/* 801B6190 48 06 63 B5 */ bl getStringKanji__13dMeter2Info_cFUlPcP14JMSMesgEntry_c -/* 801B6194 3B 5A 00 01 */ addi r26, r26, 1 -/* 801B6198 2C 1A 00 05 */ cmpwi r26, 5 -/* 801B619C 3B DE 00 08 */ addi r30, r30, 8 -/* 801B61A0 41 80 FF BC */ blt lbl_801B615C -lbl_801B61A4: -/* 801B61A4 39 61 00 20 */ addi r11, r1, 0x20 -/* 801B61A8 48 1A C0 75 */ bl _restgpr_26 -/* 801B61AC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801B61B0 7C 08 03 A6 */ mtlr r0 -/* 801B61B4 38 21 00 20 */ addi r1, r1, 0x20 -/* 801B61B8 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_collect/setEquipItemFrameColorClothes__17dMenu_Collect2D_cFi.s b/asm/d/menu/d_menu_collect/setEquipItemFrameColorClothes__17dMenu_Collect2D_cFi.s deleted file mode 100644 index 65f74b8ea97..00000000000 --- a/asm/d/menu/d_menu_collect/setEquipItemFrameColorClothes__17dMenu_Collect2D_cFi.s +++ /dev/null @@ -1,205 +0,0 @@ -lbl_801B3FDC: -/* 801B3FDC 94 21 FF A0 */ stwu r1, -0x60(r1) -/* 801B3FE0 7C 08 02 A6 */ mflr r0 -/* 801B3FE4 90 01 00 64 */ stw r0, 0x64(r1) -/* 801B3FE8 39 61 00 60 */ addi r11, r1, 0x60 -/* 801B3FEC 48 1A E1 E9 */ bl _savegpr_27 -/* 801B3FF0 7C 7D 1B 78 */ mr r29, r3 -/* 801B3FF4 7C 9E 23 78 */ mr r30, r4 -/* 801B3FF8 2C 1E FF FF */ cmpwi r30, -1 -/* 801B3FFC 40 82 01 94 */ bne lbl_801B4190 -/* 801B4000 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801B4004 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801B4008 88 83 00 13 */ lbz r4, 0x13(r3) -/* 801B400C 88 7D 02 5D */ lbz r3, 0x25d(r29) -/* 801B4010 54 80 06 3E */ clrlwi r0, r4, 0x18 -/* 801B4014 7C 03 00 40 */ cmplw r3, r0 -/* 801B4018 41 82 02 A8 */ beq lbl_801B42C0 -/* 801B401C 98 9D 02 5D */ stb r4, 0x25d(r29) -/* 801B4020 88 1D 02 5D */ lbz r0, 0x25d(r29) -/* 801B4024 2C 00 00 30 */ cmpwi r0, 0x30 -/* 801B4028 41 82 00 30 */ beq lbl_801B4058 -/* 801B402C 40 80 00 10 */ bge lbl_801B403C -/* 801B4030 2C 00 00 2F */ cmpwi r0, 0x2f -/* 801B4034 40 80 00 14 */ bge lbl_801B4048 -/* 801B4038 48 00 00 24 */ b lbl_801B405C -lbl_801B403C: -/* 801B403C 2C 00 00 32 */ cmpwi r0, 0x32 -/* 801B4040 40 80 00 1C */ bge lbl_801B405C -/* 801B4044 48 00 00 0C */ b lbl_801B4050 -lbl_801B4048: -/* 801B4048 3B C0 00 00 */ li r30, 0 -/* 801B404C 48 00 00 10 */ b lbl_801B405C -lbl_801B4050: -/* 801B4050 3B C0 00 01 */ li r30, 1 -/* 801B4054 48 00 00 08 */ b lbl_801B405C -lbl_801B4058: -/* 801B4058 3B C0 00 02 */ li r30, 2 -lbl_801B405C: -/* 801B405C 3B E0 00 00 */ li r31, 0 -/* 801B4060 3B 60 00 00 */ li r27, 0 -/* 801B4064 3B 80 00 00 */ li r28, 0 -lbl_801B4068: -/* 801B4068 7C 1F F0 00 */ cmpw r31, r30 -/* 801B406C 40 82 00 90 */ bne lbl_801B40FC -/* 801B4070 38 1C 02 41 */ addi r0, r28, 0x241 -/* 801B4074 7C 1D 00 AE */ lbzx r0, r29, r0 -/* 801B4078 28 00 00 00 */ cmplwi r0, 0 -/* 801B407C 41 82 00 80 */ beq lbl_801B40FC -/* 801B4080 38 00 00 FF */ li r0, 0xff -/* 801B4084 98 01 00 38 */ stb r0, 0x38(r1) -/* 801B4088 98 01 00 39 */ stb r0, 0x39(r1) -/* 801B408C 38 60 00 00 */ li r3, 0 -/* 801B4090 98 61 00 3A */ stb r3, 0x3a(r1) -/* 801B4094 98 01 00 3B */ stb r0, 0x3b(r1) -/* 801B4098 80 01 00 38 */ lwz r0, 0x38(r1) -/* 801B409C 90 01 00 3C */ stw r0, 0x3c(r1) -/* 801B40A0 98 61 00 40 */ stb r3, 0x40(r1) -/* 801B40A4 98 61 00 41 */ stb r3, 0x41(r1) -/* 801B40A8 98 61 00 42 */ stb r3, 0x42(r1) -/* 801B40AC 98 61 00 43 */ stb r3, 0x43(r1) -/* 801B40B0 80 01 00 40 */ lwz r0, 0x40(r1) -/* 801B40B4 90 01 00 44 */ stw r0, 0x44(r1) -/* 801B40B8 80 7D 00 18 */ lwz r3, 0x18(r29) -/* 801B40BC 3C 80 80 39 */ lis r4, tag_6213@ha /* 0x803950B8@ha */ -/* 801B40C0 38 04 50 B8 */ addi r0, r4, tag_6213@l /* 0x803950B8@l */ -/* 801B40C4 7C 80 DA 14 */ add r4, r0, r27 -/* 801B40C8 80 A4 00 00 */ lwz r5, 0(r4) -/* 801B40CC 80 C4 00 04 */ lwz r6, 4(r4) -/* 801B40D0 81 83 00 00 */ lwz r12, 0(r3) -/* 801B40D4 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801B40D8 7D 89 03 A6 */ mtctr r12 -/* 801B40DC 4E 80 04 21 */ bctrl -/* 801B40E0 38 81 00 44 */ addi r4, r1, 0x44 -/* 801B40E4 38 A1 00 3C */ addi r5, r1, 0x3c -/* 801B40E8 81 83 00 00 */ lwz r12, 0(r3) -/* 801B40EC 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 801B40F0 7D 89 03 A6 */ mtctr r12 -/* 801B40F4 4E 80 04 21 */ bctrl -/* 801B40F8 48 00 00 80 */ b lbl_801B4178 -lbl_801B40FC: -/* 801B40FC 38 00 00 6B */ li r0, 0x6b -/* 801B4100 98 01 00 28 */ stb r0, 0x28(r1) -/* 801B4104 98 01 00 29 */ stb r0, 0x29(r1) -/* 801B4108 98 01 00 2A */ stb r0, 0x2a(r1) -/* 801B410C 38 00 00 FF */ li r0, 0xff -/* 801B4110 98 01 00 2B */ stb r0, 0x2b(r1) -/* 801B4114 80 01 00 28 */ lwz r0, 0x28(r1) -/* 801B4118 90 01 00 2C */ stw r0, 0x2c(r1) -/* 801B411C 38 00 00 00 */ li r0, 0 -/* 801B4120 98 01 00 30 */ stb r0, 0x30(r1) -/* 801B4124 98 01 00 31 */ stb r0, 0x31(r1) -/* 801B4128 98 01 00 32 */ stb r0, 0x32(r1) -/* 801B412C 98 01 00 33 */ stb r0, 0x33(r1) -/* 801B4130 80 01 00 30 */ lwz r0, 0x30(r1) -/* 801B4134 90 01 00 34 */ stw r0, 0x34(r1) -/* 801B4138 80 7D 00 18 */ lwz r3, 0x18(r29) -/* 801B413C 3C 80 80 39 */ lis r4, tag_6213@ha /* 0x803950B8@ha */ -/* 801B4140 38 04 50 B8 */ addi r0, r4, tag_6213@l /* 0x803950B8@l */ -/* 801B4144 7C 80 DA 14 */ add r4, r0, r27 -/* 801B4148 80 A4 00 00 */ lwz r5, 0(r4) -/* 801B414C 80 C4 00 04 */ lwz r6, 4(r4) -/* 801B4150 81 83 00 00 */ lwz r12, 0(r3) -/* 801B4154 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801B4158 7D 89 03 A6 */ mtctr r12 -/* 801B415C 4E 80 04 21 */ bctrl -/* 801B4160 38 81 00 34 */ addi r4, r1, 0x34 -/* 801B4164 38 A1 00 2C */ addi r5, r1, 0x2c -/* 801B4168 81 83 00 00 */ lwz r12, 0(r3) -/* 801B416C 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 801B4170 7D 89 03 A6 */ mtctr r12 -/* 801B4174 4E 80 04 21 */ bctrl -lbl_801B4178: -/* 801B4178 3B FF 00 01 */ addi r31, r31, 1 -/* 801B417C 2C 1F 00 03 */ cmpwi r31, 3 -/* 801B4180 3B 7B 00 08 */ addi r27, r27, 8 -/* 801B4184 3B 9C 00 06 */ addi r28, r28, 6 -/* 801B4188 41 80 FE E0 */ blt lbl_801B4068 -/* 801B418C 48 00 01 34 */ b lbl_801B42C0 -lbl_801B4190: -/* 801B4190 3B E0 00 00 */ li r31, 0 -/* 801B4194 3B 80 00 00 */ li r28, 0 -/* 801B4198 3B 60 00 00 */ li r27, 0 -lbl_801B419C: -/* 801B419C 7C 1F F0 00 */ cmpw r31, r30 -/* 801B41A0 40 82 00 90 */ bne lbl_801B4230 -/* 801B41A4 38 1B 02 41 */ addi r0, r27, 0x241 -/* 801B41A8 7C 1D 00 AE */ lbzx r0, r29, r0 -/* 801B41AC 28 00 00 00 */ cmplwi r0, 0 -/* 801B41B0 41 82 00 80 */ beq lbl_801B4230 -/* 801B41B4 38 00 00 FF */ li r0, 0xff -/* 801B41B8 98 01 00 18 */ stb r0, 0x18(r1) -/* 801B41BC 98 01 00 19 */ stb r0, 0x19(r1) -/* 801B41C0 38 60 00 00 */ li r3, 0 -/* 801B41C4 98 61 00 1A */ stb r3, 0x1a(r1) -/* 801B41C8 98 01 00 1B */ stb r0, 0x1b(r1) -/* 801B41CC 80 01 00 18 */ lwz r0, 0x18(r1) -/* 801B41D0 90 01 00 1C */ stw r0, 0x1c(r1) -/* 801B41D4 98 61 00 20 */ stb r3, 0x20(r1) -/* 801B41D8 98 61 00 21 */ stb r3, 0x21(r1) -/* 801B41DC 98 61 00 22 */ stb r3, 0x22(r1) -/* 801B41E0 98 61 00 23 */ stb r3, 0x23(r1) -/* 801B41E4 80 01 00 20 */ lwz r0, 0x20(r1) -/* 801B41E8 90 01 00 24 */ stw r0, 0x24(r1) -/* 801B41EC 80 7D 00 18 */ lwz r3, 0x18(r29) -/* 801B41F0 3C 80 80 39 */ lis r4, tag_6213@ha /* 0x803950B8@ha */ -/* 801B41F4 38 04 50 B8 */ addi r0, r4, tag_6213@l /* 0x803950B8@l */ -/* 801B41F8 7C 80 E2 14 */ add r4, r0, r28 -/* 801B41FC 80 A4 00 00 */ lwz r5, 0(r4) -/* 801B4200 80 C4 00 04 */ lwz r6, 4(r4) -/* 801B4204 81 83 00 00 */ lwz r12, 0(r3) -/* 801B4208 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801B420C 7D 89 03 A6 */ mtctr r12 -/* 801B4210 4E 80 04 21 */ bctrl -/* 801B4214 38 81 00 24 */ addi r4, r1, 0x24 -/* 801B4218 38 A1 00 1C */ addi r5, r1, 0x1c -/* 801B421C 81 83 00 00 */ lwz r12, 0(r3) -/* 801B4220 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 801B4224 7D 89 03 A6 */ mtctr r12 -/* 801B4228 4E 80 04 21 */ bctrl -/* 801B422C 48 00 00 80 */ b lbl_801B42AC -lbl_801B4230: -/* 801B4230 38 00 00 6B */ li r0, 0x6b -/* 801B4234 98 01 00 08 */ stb r0, 8(r1) -/* 801B4238 98 01 00 09 */ stb r0, 9(r1) -/* 801B423C 98 01 00 0A */ stb r0, 0xa(r1) -/* 801B4240 38 00 00 FF */ li r0, 0xff -/* 801B4244 98 01 00 0B */ stb r0, 0xb(r1) -/* 801B4248 80 01 00 08 */ lwz r0, 8(r1) -/* 801B424C 90 01 00 0C */ stw r0, 0xc(r1) -/* 801B4250 38 00 00 00 */ li r0, 0 -/* 801B4254 98 01 00 10 */ stb r0, 0x10(r1) -/* 801B4258 98 01 00 11 */ stb r0, 0x11(r1) -/* 801B425C 98 01 00 12 */ stb r0, 0x12(r1) -/* 801B4260 98 01 00 13 */ stb r0, 0x13(r1) -/* 801B4264 80 01 00 10 */ lwz r0, 0x10(r1) -/* 801B4268 90 01 00 14 */ stw r0, 0x14(r1) -/* 801B426C 80 7D 00 18 */ lwz r3, 0x18(r29) -/* 801B4270 3C 80 80 39 */ lis r4, tag_6213@ha /* 0x803950B8@ha */ -/* 801B4274 38 04 50 B8 */ addi r0, r4, tag_6213@l /* 0x803950B8@l */ -/* 801B4278 7C 80 E2 14 */ add r4, r0, r28 -/* 801B427C 80 A4 00 00 */ lwz r5, 0(r4) -/* 801B4280 80 C4 00 04 */ lwz r6, 4(r4) -/* 801B4284 81 83 00 00 */ lwz r12, 0(r3) -/* 801B4288 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801B428C 7D 89 03 A6 */ mtctr r12 -/* 801B4290 4E 80 04 21 */ bctrl -/* 801B4294 38 81 00 14 */ addi r4, r1, 0x14 -/* 801B4298 38 A1 00 0C */ addi r5, r1, 0xc -/* 801B429C 81 83 00 00 */ lwz r12, 0(r3) -/* 801B42A0 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 801B42A4 7D 89 03 A6 */ mtctr r12 -/* 801B42A8 4E 80 04 21 */ bctrl -lbl_801B42AC: -/* 801B42AC 3B FF 00 01 */ addi r31, r31, 1 -/* 801B42B0 2C 1F 00 03 */ cmpwi r31, 3 -/* 801B42B4 3B 9C 00 08 */ addi r28, r28, 8 -/* 801B42B8 3B 7B 00 06 */ addi r27, r27, 6 -/* 801B42BC 41 80 FE E0 */ blt lbl_801B419C -lbl_801B42C0: -/* 801B42C0 39 61 00 60 */ addi r11, r1, 0x60 -/* 801B42C4 48 1A DF 5D */ bl _restgpr_27 -/* 801B42C8 80 01 00 64 */ lwz r0, 0x64(r1) -/* 801B42CC 7C 08 03 A6 */ mtlr r0 -/* 801B42D0 38 21 00 60 */ addi r1, r1, 0x60 -/* 801B42D4 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_collect/setEquipItemFrameColorShield__17dMenu_Collect2D_cFi.s b/asm/d/menu/d_menu_collect/setEquipItemFrameColorShield__17dMenu_Collect2D_cFi.s deleted file mode 100644 index 18b12b9d487..00000000000 --- a/asm/d/menu/d_menu_collect/setEquipItemFrameColorShield__17dMenu_Collect2D_cFi.s +++ /dev/null @@ -1,198 +0,0 @@ -lbl_801B3CF4: -/* 801B3CF4 94 21 FF A0 */ stwu r1, -0x60(r1) -/* 801B3CF8 7C 08 02 A6 */ mflr r0 -/* 801B3CFC 90 01 00 64 */ stw r0, 0x64(r1) -/* 801B3D00 39 61 00 60 */ addi r11, r1, 0x60 -/* 801B3D04 48 1A E4 D1 */ bl _savegpr_27 -/* 801B3D08 7C 7D 1B 78 */ mr r29, r3 -/* 801B3D0C 7C 9E 23 78 */ mr r30, r4 -/* 801B3D10 2C 1E FF FF */ cmpwi r30, -1 -/* 801B3D14 40 82 01 80 */ bne lbl_801B3E94 -/* 801B3D18 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801B3D1C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801B3D20 88 83 00 15 */ lbz r4, 0x15(r3) -/* 801B3D24 88 7D 02 5C */ lbz r3, 0x25c(r29) -/* 801B3D28 54 80 06 3E */ clrlwi r0, r4, 0x18 -/* 801B3D2C 7C 03 00 40 */ cmplw r3, r0 -/* 801B3D30 41 82 02 94 */ beq lbl_801B3FC4 -/* 801B3D34 98 9D 02 5C */ stb r4, 0x25c(r29) -/* 801B3D38 88 1D 02 5C */ lbz r0, 0x25c(r29) -/* 801B3D3C 2C 00 00 2C */ cmpwi r0, 0x2c -/* 801B3D40 41 82 00 1C */ beq lbl_801B3D5C -/* 801B3D44 40 80 00 1C */ bge lbl_801B3D60 -/* 801B3D48 2C 00 00 2A */ cmpwi r0, 0x2a -/* 801B3D4C 40 80 00 08 */ bge lbl_801B3D54 -/* 801B3D50 48 00 00 10 */ b lbl_801B3D60 -lbl_801B3D54: -/* 801B3D54 3B C0 00 00 */ li r30, 0 -/* 801B3D58 48 00 00 08 */ b lbl_801B3D60 -lbl_801B3D5C: -/* 801B3D5C 3B C0 00 01 */ li r30, 1 -lbl_801B3D60: -/* 801B3D60 3B E0 00 00 */ li r31, 0 -/* 801B3D64 3B 60 00 00 */ li r27, 0 -/* 801B3D68 3B 80 00 00 */ li r28, 0 -lbl_801B3D6C: -/* 801B3D6C 7C 1F F0 00 */ cmpw r31, r30 -/* 801B3D70 40 82 00 90 */ bne lbl_801B3E00 -/* 801B3D74 38 1C 02 40 */ addi r0, r28, 0x240 -/* 801B3D78 7C 1D 00 AE */ lbzx r0, r29, r0 -/* 801B3D7C 28 00 00 00 */ cmplwi r0, 0 -/* 801B3D80 41 82 00 80 */ beq lbl_801B3E00 -/* 801B3D84 38 00 00 FF */ li r0, 0xff -/* 801B3D88 98 01 00 38 */ stb r0, 0x38(r1) -/* 801B3D8C 98 01 00 39 */ stb r0, 0x39(r1) -/* 801B3D90 38 60 00 00 */ li r3, 0 -/* 801B3D94 98 61 00 3A */ stb r3, 0x3a(r1) -/* 801B3D98 98 01 00 3B */ stb r0, 0x3b(r1) -/* 801B3D9C 80 01 00 38 */ lwz r0, 0x38(r1) -/* 801B3DA0 90 01 00 3C */ stw r0, 0x3c(r1) -/* 801B3DA4 98 61 00 40 */ stb r3, 0x40(r1) -/* 801B3DA8 98 61 00 41 */ stb r3, 0x41(r1) -/* 801B3DAC 98 61 00 42 */ stb r3, 0x42(r1) -/* 801B3DB0 98 61 00 43 */ stb r3, 0x43(r1) -/* 801B3DB4 80 01 00 40 */ lwz r0, 0x40(r1) -/* 801B3DB8 90 01 00 44 */ stw r0, 0x44(r1) -/* 801B3DBC 80 7D 00 18 */ lwz r3, 0x18(r29) -/* 801B3DC0 3C 80 80 39 */ lis r4, tag_6100@ha /* 0x803950A8@ha */ -/* 801B3DC4 38 04 50 A8 */ addi r0, r4, tag_6100@l /* 0x803950A8@l */ -/* 801B3DC8 7C 80 DA 14 */ add r4, r0, r27 -/* 801B3DCC 80 A4 00 00 */ lwz r5, 0(r4) -/* 801B3DD0 80 C4 00 04 */ lwz r6, 4(r4) -/* 801B3DD4 81 83 00 00 */ lwz r12, 0(r3) -/* 801B3DD8 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801B3DDC 7D 89 03 A6 */ mtctr r12 -/* 801B3DE0 4E 80 04 21 */ bctrl -/* 801B3DE4 38 81 00 44 */ addi r4, r1, 0x44 -/* 801B3DE8 38 A1 00 3C */ addi r5, r1, 0x3c -/* 801B3DEC 81 83 00 00 */ lwz r12, 0(r3) -/* 801B3DF0 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 801B3DF4 7D 89 03 A6 */ mtctr r12 -/* 801B3DF8 4E 80 04 21 */ bctrl -/* 801B3DFC 48 00 00 80 */ b lbl_801B3E7C -lbl_801B3E00: -/* 801B3E00 38 00 00 6B */ li r0, 0x6b -/* 801B3E04 98 01 00 28 */ stb r0, 0x28(r1) -/* 801B3E08 98 01 00 29 */ stb r0, 0x29(r1) -/* 801B3E0C 98 01 00 2A */ stb r0, 0x2a(r1) -/* 801B3E10 38 00 00 FF */ li r0, 0xff -/* 801B3E14 98 01 00 2B */ stb r0, 0x2b(r1) -/* 801B3E18 80 01 00 28 */ lwz r0, 0x28(r1) -/* 801B3E1C 90 01 00 2C */ stw r0, 0x2c(r1) -/* 801B3E20 38 00 00 00 */ li r0, 0 -/* 801B3E24 98 01 00 30 */ stb r0, 0x30(r1) -/* 801B3E28 98 01 00 31 */ stb r0, 0x31(r1) -/* 801B3E2C 98 01 00 32 */ stb r0, 0x32(r1) -/* 801B3E30 98 01 00 33 */ stb r0, 0x33(r1) -/* 801B3E34 80 01 00 30 */ lwz r0, 0x30(r1) -/* 801B3E38 90 01 00 34 */ stw r0, 0x34(r1) -/* 801B3E3C 80 7D 00 18 */ lwz r3, 0x18(r29) -/* 801B3E40 3C 80 80 39 */ lis r4, tag_6100@ha /* 0x803950A8@ha */ -/* 801B3E44 38 04 50 A8 */ addi r0, r4, tag_6100@l /* 0x803950A8@l */ -/* 801B3E48 7C 80 DA 14 */ add r4, r0, r27 -/* 801B3E4C 80 A4 00 00 */ lwz r5, 0(r4) -/* 801B3E50 80 C4 00 04 */ lwz r6, 4(r4) -/* 801B3E54 81 83 00 00 */ lwz r12, 0(r3) -/* 801B3E58 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801B3E5C 7D 89 03 A6 */ mtctr r12 -/* 801B3E60 4E 80 04 21 */ bctrl -/* 801B3E64 38 81 00 34 */ addi r4, r1, 0x34 -/* 801B3E68 38 A1 00 2C */ addi r5, r1, 0x2c -/* 801B3E6C 81 83 00 00 */ lwz r12, 0(r3) -/* 801B3E70 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 801B3E74 7D 89 03 A6 */ mtctr r12 -/* 801B3E78 4E 80 04 21 */ bctrl -lbl_801B3E7C: -/* 801B3E7C 3B FF 00 01 */ addi r31, r31, 1 -/* 801B3E80 2C 1F 00 02 */ cmpwi r31, 2 -/* 801B3E84 3B 7B 00 08 */ addi r27, r27, 8 -/* 801B3E88 3B 9C 00 06 */ addi r28, r28, 6 -/* 801B3E8C 41 80 FE E0 */ blt lbl_801B3D6C -/* 801B3E90 48 00 01 34 */ b lbl_801B3FC4 -lbl_801B3E94: -/* 801B3E94 3B E0 00 00 */ li r31, 0 -/* 801B3E98 3B 80 00 00 */ li r28, 0 -/* 801B3E9C 3B 60 00 00 */ li r27, 0 -lbl_801B3EA0: -/* 801B3EA0 7C 1F F0 00 */ cmpw r31, r30 -/* 801B3EA4 40 82 00 90 */ bne lbl_801B3F34 -/* 801B3EA8 38 1B 02 40 */ addi r0, r27, 0x240 -/* 801B3EAC 7C 1D 00 AE */ lbzx r0, r29, r0 -/* 801B3EB0 28 00 00 00 */ cmplwi r0, 0 -/* 801B3EB4 41 82 00 80 */ beq lbl_801B3F34 -/* 801B3EB8 38 00 00 FF */ li r0, 0xff -/* 801B3EBC 98 01 00 18 */ stb r0, 0x18(r1) -/* 801B3EC0 98 01 00 19 */ stb r0, 0x19(r1) -/* 801B3EC4 38 60 00 00 */ li r3, 0 -/* 801B3EC8 98 61 00 1A */ stb r3, 0x1a(r1) -/* 801B3ECC 98 01 00 1B */ stb r0, 0x1b(r1) -/* 801B3ED0 80 01 00 18 */ lwz r0, 0x18(r1) -/* 801B3ED4 90 01 00 1C */ stw r0, 0x1c(r1) -/* 801B3ED8 98 61 00 20 */ stb r3, 0x20(r1) -/* 801B3EDC 98 61 00 21 */ stb r3, 0x21(r1) -/* 801B3EE0 98 61 00 22 */ stb r3, 0x22(r1) -/* 801B3EE4 98 61 00 23 */ stb r3, 0x23(r1) -/* 801B3EE8 80 01 00 20 */ lwz r0, 0x20(r1) -/* 801B3EEC 90 01 00 24 */ stw r0, 0x24(r1) -/* 801B3EF0 80 7D 00 18 */ lwz r3, 0x18(r29) -/* 801B3EF4 3C 80 80 39 */ lis r4, tag_6100@ha /* 0x803950A8@ha */ -/* 801B3EF8 38 04 50 A8 */ addi r0, r4, tag_6100@l /* 0x803950A8@l */ -/* 801B3EFC 7C 80 E2 14 */ add r4, r0, r28 -/* 801B3F00 80 A4 00 00 */ lwz r5, 0(r4) -/* 801B3F04 80 C4 00 04 */ lwz r6, 4(r4) -/* 801B3F08 81 83 00 00 */ lwz r12, 0(r3) -/* 801B3F0C 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801B3F10 7D 89 03 A6 */ mtctr r12 -/* 801B3F14 4E 80 04 21 */ bctrl -/* 801B3F18 38 81 00 24 */ addi r4, r1, 0x24 -/* 801B3F1C 38 A1 00 1C */ addi r5, r1, 0x1c -/* 801B3F20 81 83 00 00 */ lwz r12, 0(r3) -/* 801B3F24 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 801B3F28 7D 89 03 A6 */ mtctr r12 -/* 801B3F2C 4E 80 04 21 */ bctrl -/* 801B3F30 48 00 00 80 */ b lbl_801B3FB0 -lbl_801B3F34: -/* 801B3F34 38 00 00 6B */ li r0, 0x6b -/* 801B3F38 98 01 00 08 */ stb r0, 8(r1) -/* 801B3F3C 98 01 00 09 */ stb r0, 9(r1) -/* 801B3F40 98 01 00 0A */ stb r0, 0xa(r1) -/* 801B3F44 38 00 00 FF */ li r0, 0xff -/* 801B3F48 98 01 00 0B */ stb r0, 0xb(r1) -/* 801B3F4C 80 01 00 08 */ lwz r0, 8(r1) -/* 801B3F50 90 01 00 0C */ stw r0, 0xc(r1) -/* 801B3F54 38 00 00 00 */ li r0, 0 -/* 801B3F58 98 01 00 10 */ stb r0, 0x10(r1) -/* 801B3F5C 98 01 00 11 */ stb r0, 0x11(r1) -/* 801B3F60 98 01 00 12 */ stb r0, 0x12(r1) -/* 801B3F64 98 01 00 13 */ stb r0, 0x13(r1) -/* 801B3F68 80 01 00 10 */ lwz r0, 0x10(r1) -/* 801B3F6C 90 01 00 14 */ stw r0, 0x14(r1) -/* 801B3F70 80 7D 00 18 */ lwz r3, 0x18(r29) -/* 801B3F74 3C 80 80 39 */ lis r4, tag_6100@ha /* 0x803950A8@ha */ -/* 801B3F78 38 04 50 A8 */ addi r0, r4, tag_6100@l /* 0x803950A8@l */ -/* 801B3F7C 7C 80 E2 14 */ add r4, r0, r28 -/* 801B3F80 80 A4 00 00 */ lwz r5, 0(r4) -/* 801B3F84 80 C4 00 04 */ lwz r6, 4(r4) -/* 801B3F88 81 83 00 00 */ lwz r12, 0(r3) -/* 801B3F8C 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801B3F90 7D 89 03 A6 */ mtctr r12 -/* 801B3F94 4E 80 04 21 */ bctrl -/* 801B3F98 38 81 00 14 */ addi r4, r1, 0x14 -/* 801B3F9C 38 A1 00 0C */ addi r5, r1, 0xc -/* 801B3FA0 81 83 00 00 */ lwz r12, 0(r3) -/* 801B3FA4 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 801B3FA8 7D 89 03 A6 */ mtctr r12 -/* 801B3FAC 4E 80 04 21 */ bctrl -lbl_801B3FB0: -/* 801B3FB0 3B FF 00 01 */ addi r31, r31, 1 -/* 801B3FB4 2C 1F 00 02 */ cmpwi r31, 2 -/* 801B3FB8 3B 9C 00 08 */ addi r28, r28, 8 -/* 801B3FBC 3B 7B 00 06 */ addi r27, r27, 6 -/* 801B3FC0 41 80 FE E0 */ blt lbl_801B3EA0 -lbl_801B3FC4: -/* 801B3FC4 39 61 00 60 */ addi r11, r1, 0x60 -/* 801B3FC8 48 1A E2 59 */ bl _restgpr_27 -/* 801B3FCC 80 01 00 64 */ lwz r0, 0x64(r1) -/* 801B3FD0 7C 08 03 A6 */ mtlr r0 -/* 801B3FD4 38 21 00 60 */ addi r1, r1, 0x60 -/* 801B3FD8 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_collect/setEquipItemFrameColorSword__17dMenu_Collect2D_cFi.s b/asm/d/menu/d_menu_collect/setEquipItemFrameColorSword__17dMenu_Collect2D_cFi.s deleted file mode 100644 index e71e6bc753e..00000000000 --- a/asm/d/menu/d_menu_collect/setEquipItemFrameColorSword__17dMenu_Collect2D_cFi.s +++ /dev/null @@ -1,216 +0,0 @@ -lbl_801B39D0: -/* 801B39D0 94 21 FF A0 */ stwu r1, -0x60(r1) -/* 801B39D4 7C 08 02 A6 */ mflr r0 -/* 801B39D8 90 01 00 64 */ stw r0, 0x64(r1) -/* 801B39DC 39 61 00 60 */ addi r11, r1, 0x60 -/* 801B39E0 48 1A E7 F5 */ bl _savegpr_27 -/* 801B39E4 7C 7D 1B 78 */ mr r29, r3 -/* 801B39E8 7C 9E 23 78 */ mr r30, r4 -/* 801B39EC 2C 1E FF FF */ cmpwi r30, -1 -/* 801B39F0 40 82 01 BC */ bne lbl_801B3BAC -/* 801B39F4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801B39F8 38 A3 61 C0 */ addi r5, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801B39FC 88 85 00 14 */ lbz r4, 0x14(r5) -/* 801B3A00 88 7D 02 5B */ lbz r3, 0x25b(r29) -/* 801B3A04 54 80 06 3E */ clrlwi r0, r4, 0x18 -/* 801B3A08 7C 03 00 40 */ cmplw r3, r0 -/* 801B3A0C 41 82 02 D0 */ beq lbl_801B3CDC -/* 801B3A10 98 9D 02 5B */ stb r4, 0x25b(r29) -/* 801B3A14 88 1D 02 5B */ lbz r0, 0x25b(r29) -/* 801B3A18 2C 00 00 3F */ cmpwi r0, 0x3f -/* 801B3A1C 41 82 00 34 */ beq lbl_801B3A50 -/* 801B3A20 40 80 00 1C */ bge lbl_801B3A3C -/* 801B3A24 2C 00 00 29 */ cmpwi r0, 0x29 -/* 801B3A28 41 82 00 30 */ beq lbl_801B3A58 -/* 801B3A2C 40 80 00 4C */ bge lbl_801B3A78 -/* 801B3A30 2C 00 00 28 */ cmpwi r0, 0x28 -/* 801B3A34 40 80 00 14 */ bge lbl_801B3A48 -/* 801B3A38 48 00 00 40 */ b lbl_801B3A78 -lbl_801B3A3C: -/* 801B3A3C 2C 00 00 49 */ cmpwi r0, 0x49 -/* 801B3A40 41 82 00 20 */ beq lbl_801B3A60 -/* 801B3A44 48 00 00 34 */ b lbl_801B3A78 -lbl_801B3A48: -/* 801B3A48 3B C0 00 00 */ li r30, 0 -/* 801B3A4C 48 00 00 2C */ b lbl_801B3A78 -lbl_801B3A50: -/* 801B3A50 3B C0 00 00 */ li r30, 0 -/* 801B3A54 48 00 00 24 */ b lbl_801B3A78 -lbl_801B3A58: -/* 801B3A58 3B C0 00 01 */ li r30, 1 -/* 801B3A5C 48 00 00 1C */ b lbl_801B3A78 -lbl_801B3A60: -/* 801B3A60 38 65 00 CC */ addi r3, r5, 0xcc -/* 801B3A64 38 80 00 49 */ li r4, 0x49 -/* 801B3A68 4B E8 04 61 */ bl isFirstBit__21dSv_player_get_item_cCFUc -/* 801B3A6C 2C 03 00 00 */ cmpwi r3, 0 -/* 801B3A70 41 82 00 08 */ beq lbl_801B3A78 -/* 801B3A74 3B C0 00 01 */ li r30, 1 -lbl_801B3A78: -/* 801B3A78 3B E0 00 00 */ li r31, 0 -/* 801B3A7C 3B 60 00 00 */ li r27, 0 -/* 801B3A80 3B 80 00 00 */ li r28, 0 -lbl_801B3A84: -/* 801B3A84 7C 1F F0 00 */ cmpw r31, r30 -/* 801B3A88 40 82 00 90 */ bne lbl_801B3B18 -/* 801B3A8C 38 1C 02 3F */ addi r0, r28, 0x23f -/* 801B3A90 7C 1D 00 AE */ lbzx r0, r29, r0 -/* 801B3A94 28 00 00 00 */ cmplwi r0, 0 -/* 801B3A98 41 82 00 80 */ beq lbl_801B3B18 -/* 801B3A9C 38 00 00 FF */ li r0, 0xff -/* 801B3AA0 98 01 00 38 */ stb r0, 0x38(r1) -/* 801B3AA4 98 01 00 39 */ stb r0, 0x39(r1) -/* 801B3AA8 38 60 00 00 */ li r3, 0 -/* 801B3AAC 98 61 00 3A */ stb r3, 0x3a(r1) -/* 801B3AB0 98 01 00 3B */ stb r0, 0x3b(r1) -/* 801B3AB4 80 01 00 38 */ lwz r0, 0x38(r1) -/* 801B3AB8 90 01 00 3C */ stw r0, 0x3c(r1) -/* 801B3ABC 98 61 00 40 */ stb r3, 0x40(r1) -/* 801B3AC0 98 61 00 41 */ stb r3, 0x41(r1) -/* 801B3AC4 98 61 00 42 */ stb r3, 0x42(r1) -/* 801B3AC8 98 61 00 43 */ stb r3, 0x43(r1) -/* 801B3ACC 80 01 00 40 */ lwz r0, 0x40(r1) -/* 801B3AD0 90 01 00 44 */ stw r0, 0x44(r1) -/* 801B3AD4 80 7D 00 18 */ lwz r3, 0x18(r29) -/* 801B3AD8 3C 80 80 39 */ lis r4, tag_5980@ha /* 0x80395098@ha */ -/* 801B3ADC 38 04 50 98 */ addi r0, r4, tag_5980@l /* 0x80395098@l */ -/* 801B3AE0 7C 80 DA 14 */ add r4, r0, r27 -/* 801B3AE4 80 A4 00 00 */ lwz r5, 0(r4) -/* 801B3AE8 80 C4 00 04 */ lwz r6, 4(r4) -/* 801B3AEC 81 83 00 00 */ lwz r12, 0(r3) -/* 801B3AF0 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801B3AF4 7D 89 03 A6 */ mtctr r12 -/* 801B3AF8 4E 80 04 21 */ bctrl -/* 801B3AFC 38 81 00 44 */ addi r4, r1, 0x44 -/* 801B3B00 38 A1 00 3C */ addi r5, r1, 0x3c -/* 801B3B04 81 83 00 00 */ lwz r12, 0(r3) -/* 801B3B08 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 801B3B0C 7D 89 03 A6 */ mtctr r12 -/* 801B3B10 4E 80 04 21 */ bctrl -/* 801B3B14 48 00 00 80 */ b lbl_801B3B94 -lbl_801B3B18: -/* 801B3B18 38 00 00 6B */ li r0, 0x6b -/* 801B3B1C 98 01 00 28 */ stb r0, 0x28(r1) -/* 801B3B20 98 01 00 29 */ stb r0, 0x29(r1) -/* 801B3B24 98 01 00 2A */ stb r0, 0x2a(r1) -/* 801B3B28 38 00 00 FF */ li r0, 0xff -/* 801B3B2C 98 01 00 2B */ stb r0, 0x2b(r1) -/* 801B3B30 80 01 00 28 */ lwz r0, 0x28(r1) -/* 801B3B34 90 01 00 2C */ stw r0, 0x2c(r1) -/* 801B3B38 38 00 00 00 */ li r0, 0 -/* 801B3B3C 98 01 00 30 */ stb r0, 0x30(r1) -/* 801B3B40 98 01 00 31 */ stb r0, 0x31(r1) -/* 801B3B44 98 01 00 32 */ stb r0, 0x32(r1) -/* 801B3B48 98 01 00 33 */ stb r0, 0x33(r1) -/* 801B3B4C 80 01 00 30 */ lwz r0, 0x30(r1) -/* 801B3B50 90 01 00 34 */ stw r0, 0x34(r1) -/* 801B3B54 80 7D 00 18 */ lwz r3, 0x18(r29) -/* 801B3B58 3C 80 80 39 */ lis r4, tag_5980@ha /* 0x80395098@ha */ -/* 801B3B5C 38 04 50 98 */ addi r0, r4, tag_5980@l /* 0x80395098@l */ -/* 801B3B60 7C 80 DA 14 */ add r4, r0, r27 -/* 801B3B64 80 A4 00 00 */ lwz r5, 0(r4) -/* 801B3B68 80 C4 00 04 */ lwz r6, 4(r4) -/* 801B3B6C 81 83 00 00 */ lwz r12, 0(r3) -/* 801B3B70 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801B3B74 7D 89 03 A6 */ mtctr r12 -/* 801B3B78 4E 80 04 21 */ bctrl -/* 801B3B7C 38 81 00 34 */ addi r4, r1, 0x34 -/* 801B3B80 38 A1 00 2C */ addi r5, r1, 0x2c -/* 801B3B84 81 83 00 00 */ lwz r12, 0(r3) -/* 801B3B88 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 801B3B8C 7D 89 03 A6 */ mtctr r12 -/* 801B3B90 4E 80 04 21 */ bctrl -lbl_801B3B94: -/* 801B3B94 3B FF 00 01 */ addi r31, r31, 1 -/* 801B3B98 2C 1F 00 02 */ cmpwi r31, 2 -/* 801B3B9C 3B 7B 00 08 */ addi r27, r27, 8 -/* 801B3BA0 3B 9C 00 06 */ addi r28, r28, 6 -/* 801B3BA4 41 80 FE E0 */ blt lbl_801B3A84 -/* 801B3BA8 48 00 01 34 */ b lbl_801B3CDC -lbl_801B3BAC: -/* 801B3BAC 3B E0 00 00 */ li r31, 0 -/* 801B3BB0 3B 80 00 00 */ li r28, 0 -/* 801B3BB4 3B 60 00 00 */ li r27, 0 -lbl_801B3BB8: -/* 801B3BB8 7C 1F F0 00 */ cmpw r31, r30 -/* 801B3BBC 40 82 00 90 */ bne lbl_801B3C4C -/* 801B3BC0 38 1B 02 3F */ addi r0, r27, 0x23f -/* 801B3BC4 7C 1D 00 AE */ lbzx r0, r29, r0 -/* 801B3BC8 28 00 00 00 */ cmplwi r0, 0 -/* 801B3BCC 41 82 00 80 */ beq lbl_801B3C4C -/* 801B3BD0 38 00 00 FF */ li r0, 0xff -/* 801B3BD4 98 01 00 18 */ stb r0, 0x18(r1) -/* 801B3BD8 98 01 00 19 */ stb r0, 0x19(r1) -/* 801B3BDC 38 60 00 00 */ li r3, 0 -/* 801B3BE0 98 61 00 1A */ stb r3, 0x1a(r1) -/* 801B3BE4 98 01 00 1B */ stb r0, 0x1b(r1) -/* 801B3BE8 80 01 00 18 */ lwz r0, 0x18(r1) -/* 801B3BEC 90 01 00 1C */ stw r0, 0x1c(r1) -/* 801B3BF0 98 61 00 20 */ stb r3, 0x20(r1) -/* 801B3BF4 98 61 00 21 */ stb r3, 0x21(r1) -/* 801B3BF8 98 61 00 22 */ stb r3, 0x22(r1) -/* 801B3BFC 98 61 00 23 */ stb r3, 0x23(r1) -/* 801B3C00 80 01 00 20 */ lwz r0, 0x20(r1) -/* 801B3C04 90 01 00 24 */ stw r0, 0x24(r1) -/* 801B3C08 80 7D 00 18 */ lwz r3, 0x18(r29) -/* 801B3C0C 3C 80 80 39 */ lis r4, tag_5980@ha /* 0x80395098@ha */ -/* 801B3C10 38 04 50 98 */ addi r0, r4, tag_5980@l /* 0x80395098@l */ -/* 801B3C14 7C 80 E2 14 */ add r4, r0, r28 -/* 801B3C18 80 A4 00 00 */ lwz r5, 0(r4) -/* 801B3C1C 80 C4 00 04 */ lwz r6, 4(r4) -/* 801B3C20 81 83 00 00 */ lwz r12, 0(r3) -/* 801B3C24 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801B3C28 7D 89 03 A6 */ mtctr r12 -/* 801B3C2C 4E 80 04 21 */ bctrl -/* 801B3C30 38 81 00 24 */ addi r4, r1, 0x24 -/* 801B3C34 38 A1 00 1C */ addi r5, r1, 0x1c -/* 801B3C38 81 83 00 00 */ lwz r12, 0(r3) -/* 801B3C3C 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 801B3C40 7D 89 03 A6 */ mtctr r12 -/* 801B3C44 4E 80 04 21 */ bctrl -/* 801B3C48 48 00 00 80 */ b lbl_801B3CC8 -lbl_801B3C4C: -/* 801B3C4C 38 00 00 6B */ li r0, 0x6b -/* 801B3C50 98 01 00 08 */ stb r0, 8(r1) -/* 801B3C54 98 01 00 09 */ stb r0, 9(r1) -/* 801B3C58 98 01 00 0A */ stb r0, 0xa(r1) -/* 801B3C5C 38 00 00 FF */ li r0, 0xff -/* 801B3C60 98 01 00 0B */ stb r0, 0xb(r1) -/* 801B3C64 80 01 00 08 */ lwz r0, 8(r1) -/* 801B3C68 90 01 00 0C */ stw r0, 0xc(r1) -/* 801B3C6C 38 00 00 00 */ li r0, 0 -/* 801B3C70 98 01 00 10 */ stb r0, 0x10(r1) -/* 801B3C74 98 01 00 11 */ stb r0, 0x11(r1) -/* 801B3C78 98 01 00 12 */ stb r0, 0x12(r1) -/* 801B3C7C 98 01 00 13 */ stb r0, 0x13(r1) -/* 801B3C80 80 01 00 10 */ lwz r0, 0x10(r1) -/* 801B3C84 90 01 00 14 */ stw r0, 0x14(r1) -/* 801B3C88 80 7D 00 18 */ lwz r3, 0x18(r29) -/* 801B3C8C 3C 80 80 39 */ lis r4, tag_5980@ha /* 0x80395098@ha */ -/* 801B3C90 38 04 50 98 */ addi r0, r4, tag_5980@l /* 0x80395098@l */ -/* 801B3C94 7C 80 E2 14 */ add r4, r0, r28 -/* 801B3C98 80 A4 00 00 */ lwz r5, 0(r4) -/* 801B3C9C 80 C4 00 04 */ lwz r6, 4(r4) -/* 801B3CA0 81 83 00 00 */ lwz r12, 0(r3) -/* 801B3CA4 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801B3CA8 7D 89 03 A6 */ mtctr r12 -/* 801B3CAC 4E 80 04 21 */ bctrl -/* 801B3CB0 38 81 00 14 */ addi r4, r1, 0x14 -/* 801B3CB4 38 A1 00 0C */ addi r5, r1, 0xc -/* 801B3CB8 81 83 00 00 */ lwz r12, 0(r3) -/* 801B3CBC 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 801B3CC0 7D 89 03 A6 */ mtctr r12 -/* 801B3CC4 4E 80 04 21 */ bctrl -lbl_801B3CC8: -/* 801B3CC8 3B FF 00 01 */ addi r31, r31, 1 -/* 801B3CCC 2C 1F 00 02 */ cmpwi r31, 2 -/* 801B3CD0 3B 9C 00 08 */ addi r28, r28, 8 -/* 801B3CD4 3B 7B 00 06 */ addi r27, r27, 6 -/* 801B3CD8 41 80 FE E0 */ blt lbl_801B3BB8 -lbl_801B3CDC: -/* 801B3CDC 39 61 00 60 */ addi r11, r1, 0x60 -/* 801B3CE0 48 1A E5 41 */ bl _restgpr_27 -/* 801B3CE4 80 01 00 64 */ lwz r0, 0x64(r1) -/* 801B3CE8 7C 08 03 A6 */ mtlr r0 -/* 801B3CEC 38 21 00 60 */ addi r1, r1, 0x60 -/* 801B3CF0 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_collect/setHIO__17dMenu_Collect2D_cFb.s b/asm/d/menu/d_menu_collect/setHIO__17dMenu_Collect2D_cFb.s deleted file mode 100644 index b1dd96573b2..00000000000 --- a/asm/d/menu/d_menu_collect/setHIO__17dMenu_Collect2D_cFb.s +++ /dev/null @@ -1,283 +0,0 @@ -lbl_801B42D8: -/* 801B42D8 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 801B42DC 7C 08 02 A6 */ mflr r0 -/* 801B42E0 90 01 00 34 */ stw r0, 0x34(r1) -/* 801B42E4 39 61 00 30 */ addi r11, r1, 0x30 -/* 801B42E8 48 1A DE E9 */ bl _savegpr_26 -/* 801B42EC 7C 7E 1B 78 */ mr r30, r3 -/* 801B42F0 7C 9F 23 78 */ mr r31, r4 -/* 801B42F4 C0 03 00 54 */ lfs f0, 0x54(r3) -/* 801B42F8 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 801B42FC 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */ -/* 801B4300 C0 43 06 30 */ lfs f2, 0x630(r3) -/* 801B4304 FC 00 10 00 */ fcmpu cr0, f0, f2 -/* 801B4308 40 82 00 14 */ bne lbl_801B431C -/* 801B430C C0 3E 00 58 */ lfs f1, 0x58(r30) -/* 801B4310 C0 03 06 34 */ lfs f0, 0x634(r3) -/* 801B4314 FC 01 00 00 */ fcmpu cr0, f1, f0 -/* 801B4318 41 82 00 28 */ beq lbl_801B4340 -lbl_801B431C: -/* 801B431C D0 5E 00 54 */ stfs f2, 0x54(r30) -/* 801B4320 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 801B4324 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */ -/* 801B4328 C0 03 06 34 */ lfs f0, 0x634(r3) -/* 801B432C D0 1E 00 58 */ stfs f0, 0x58(r30) -/* 801B4330 80 7E 01 60 */ lwz r3, 0x160(r30) -/* 801B4334 C0 3E 00 54 */ lfs f1, 0x54(r30) -/* 801B4338 C0 5E 00 58 */ lfs f2, 0x58(r30) -/* 801B433C 48 0A 02 75 */ bl paneTrans__8CPaneMgrFff -lbl_801B4340: -/* 801B4340 C0 1E 00 5C */ lfs f0, 0x5c(r30) -/* 801B4344 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 801B4348 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */ -/* 801B434C C0 23 06 38 */ lfs f1, 0x638(r3) -/* 801B4350 FC 00 08 00 */ fcmpu cr0, f0, f1 -/* 801B4354 41 82 00 2C */ beq lbl_801B4380 -/* 801B4358 D0 3E 00 5C */ stfs f1, 0x5c(r30) -/* 801B435C C0 1E 00 5C */ lfs f0, 0x5c(r30) -/* 801B4360 80 7E 01 60 */ lwz r3, 0x160(r30) -/* 801B4364 80 63 00 04 */ lwz r3, 4(r3) -/* 801B4368 D0 03 00 CC */ stfs f0, 0xcc(r3) -/* 801B436C D0 03 00 D0 */ stfs f0, 0xd0(r3) -/* 801B4370 81 83 00 00 */ lwz r12, 0(r3) -/* 801B4374 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 801B4378 7D 89 03 A6 */ mtctr r12 -/* 801B437C 4E 80 04 21 */ bctrl -lbl_801B4380: -/* 801B4380 C0 1E 00 60 */ lfs f0, 0x60(r30) -/* 801B4384 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 801B4388 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */ -/* 801B438C C0 23 06 3C */ lfs f1, 0x63c(r3) -/* 801B4390 FC 00 08 00 */ fcmpu cr0, f0, f1 -/* 801B4394 41 82 00 14 */ beq lbl_801B43A8 -/* 801B4398 D0 3E 00 60 */ stfs f1, 0x60(r30) -/* 801B439C 80 7E 01 60 */ lwz r3, 0x160(r30) -/* 801B43A0 C0 3E 00 60 */ lfs f1, 0x60(r30) -/* 801B43A4 48 0A 14 2D */ bl setAlphaRate__13CPaneMgrAlphaFf -lbl_801B43A8: -/* 801B43A8 C0 1E 00 64 */ lfs f0, 0x64(r30) -/* 801B43AC 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 801B43B0 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */ -/* 801B43B4 C0 43 06 54 */ lfs f2, 0x654(r3) -/* 801B43B8 FC 00 10 00 */ fcmpu cr0, f0, f2 -/* 801B43BC 40 82 00 14 */ bne lbl_801B43D0 -/* 801B43C0 C0 3E 00 68 */ lfs f1, 0x68(r30) -/* 801B43C4 C0 03 06 58 */ lfs f0, 0x658(r3) -/* 801B43C8 FC 01 00 00 */ fcmpu cr0, f1, f0 -/* 801B43CC 41 82 00 28 */ beq lbl_801B43F4 -lbl_801B43D0: -/* 801B43D0 D0 5E 00 64 */ stfs f2, 0x64(r30) -/* 801B43D4 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 801B43D8 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */ -/* 801B43DC C0 03 06 58 */ lfs f0, 0x658(r3) -/* 801B43E0 D0 1E 00 68 */ stfs f0, 0x68(r30) -/* 801B43E4 80 7E 01 64 */ lwz r3, 0x164(r30) -/* 801B43E8 C0 3E 00 64 */ lfs f1, 0x64(r30) -/* 801B43EC C0 5E 00 68 */ lfs f2, 0x68(r30) -/* 801B43F0 48 0A 01 C1 */ bl paneTrans__8CPaneMgrFff -lbl_801B43F4: -/* 801B43F4 C0 1E 00 6C */ lfs f0, 0x6c(r30) -/* 801B43F8 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 801B43FC 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */ -/* 801B4400 C0 23 06 5C */ lfs f1, 0x65c(r3) -/* 801B4404 FC 00 08 00 */ fcmpu cr0, f0, f1 -/* 801B4408 41 82 00 2C */ beq lbl_801B4434 -/* 801B440C D0 3E 00 6C */ stfs f1, 0x6c(r30) -/* 801B4410 C0 1E 00 6C */ lfs f0, 0x6c(r30) -/* 801B4414 80 7E 01 64 */ lwz r3, 0x164(r30) -/* 801B4418 80 63 00 04 */ lwz r3, 4(r3) -/* 801B441C D0 03 00 CC */ stfs f0, 0xcc(r3) -/* 801B4420 D0 03 00 D0 */ stfs f0, 0xd0(r3) -/* 801B4424 81 83 00 00 */ lwz r12, 0(r3) -/* 801B4428 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 801B442C 7D 89 03 A6 */ mtctr r12 -/* 801B4430 4E 80 04 21 */ bctrl -lbl_801B4434: -/* 801B4434 C0 1E 00 70 */ lfs f0, 0x70(r30) -/* 801B4438 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 801B443C 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */ -/* 801B4440 C0 43 06 A0 */ lfs f2, 0x6a0(r3) -/* 801B4444 FC 00 10 00 */ fcmpu cr0, f0, f2 -/* 801B4448 40 82 00 14 */ bne lbl_801B445C -/* 801B444C C0 3E 00 74 */ lfs f1, 0x74(r30) -/* 801B4450 C0 03 06 A4 */ lfs f0, 0x6a4(r3) -/* 801B4454 FC 01 00 00 */ fcmpu cr0, f1, f0 -/* 801B4458 41 82 00 28 */ beq lbl_801B4480 -lbl_801B445C: -/* 801B445C D0 5E 00 70 */ stfs f2, 0x70(r30) -/* 801B4460 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 801B4464 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */ -/* 801B4468 C0 03 06 A4 */ lfs f0, 0x6a4(r3) -/* 801B446C D0 1E 00 74 */ stfs f0, 0x74(r30) -/* 801B4470 80 7E 01 68 */ lwz r3, 0x168(r30) -/* 801B4474 C0 3E 00 70 */ lfs f1, 0x70(r30) -/* 801B4478 C0 5E 00 74 */ lfs f2, 0x74(r30) -/* 801B447C 48 0A 01 35 */ bl paneTrans__8CPaneMgrFff -lbl_801B4480: -/* 801B4480 C0 1E 00 78 */ lfs f0, 0x78(r30) -/* 801B4484 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 801B4488 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */ -/* 801B448C C0 23 06 A8 */ lfs f1, 0x6a8(r3) -/* 801B4490 FC 00 08 00 */ fcmpu cr0, f0, f1 -/* 801B4494 41 82 00 2C */ beq lbl_801B44C0 -/* 801B4498 D0 3E 00 78 */ stfs f1, 0x78(r30) -/* 801B449C C0 1E 00 78 */ lfs f0, 0x78(r30) -/* 801B44A0 80 7E 01 68 */ lwz r3, 0x168(r30) -/* 801B44A4 80 63 00 04 */ lwz r3, 4(r3) -/* 801B44A8 D0 03 00 CC */ stfs f0, 0xcc(r3) -/* 801B44AC D0 03 00 D0 */ stfs f0, 0xd0(r3) -/* 801B44B0 81 83 00 00 */ lwz r12, 0(r3) -/* 801B44B4 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 801B44B8 7D 89 03 A6 */ mtctr r12 -/* 801B44BC 4E 80 04 21 */ bctrl -lbl_801B44C0: -/* 801B44C0 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 801B44C4 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */ -/* 801B44C8 88 03 06 B3 */ lbz r0, 0x6b3(r3) -/* 801B44CC 28 00 00 00 */ cmplwi r0, 0 -/* 801B44D0 41 82 00 C8 */ beq lbl_801B4598 -/* 801B44D4 80 7E 00 18 */ lwz r3, 0x18(r30) -/* 801B44D8 3C 80 62 61 */ lis r4, 0x6261 /* 0x62617365@ha */ -/* 801B44DC 38 C4 73 65 */ addi r6, r4, 0x7365 /* 0x62617365@l */ -/* 801B44E0 3C 80 6E 68 */ lis r4, 0x6E68 /* 0x6E68745F@ha */ -/* 801B44E4 38 A4 74 5F */ addi r5, r4, 0x745F /* 0x6E68745F@l */ -/* 801B44E8 81 83 00 00 */ lwz r12, 0(r3) -/* 801B44EC 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801B44F0 7D 89 03 A6 */ mtctr r12 -/* 801B44F4 4E 80 04 21 */ bctrl -/* 801B44F8 3C 80 80 43 */ lis r4, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 801B44FC 38 84 EB C8 */ addi r4, r4, g_drawHIO@l /* 0x8042EBC8@l */ -/* 801B4500 80 04 06 98 */ lwz r0, 0x698(r4) -/* 801B4504 90 01 00 10 */ stw r0, 0x10(r1) -/* 801B4508 80 04 06 90 */ lwz r0, 0x690(r4) -/* 801B450C 90 01 00 14 */ stw r0, 0x14(r1) -/* 801B4510 38 81 00 14 */ addi r4, r1, 0x14 -/* 801B4514 38 A1 00 10 */ addi r5, r1, 0x10 -/* 801B4518 81 83 00 00 */ lwz r12, 0(r3) -/* 801B451C 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 801B4520 7D 89 03 A6 */ mtctr r12 -/* 801B4524 4E 80 04 21 */ bctrl -/* 801B4528 3B 40 00 00 */ li r26, 0 -/* 801B452C 3B A0 00 00 */ li r29, 0 -/* 801B4530 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 801B4534 3B 63 EB C8 */ addi r27, r3, g_drawHIO@l /* 0x8042EBC8@l */ -/* 801B4538 3C 60 80 39 */ lis r3, kaz_n@ha /* 0x803950D0@ha */ -/* 801B453C 3B 83 50 D0 */ addi r28, r3, kaz_n@l /* 0x803950D0@l */ -lbl_801B4540: -/* 801B4540 80 7E 00 18 */ lwz r3, 0x18(r30) -/* 801B4544 7C 9C EA 14 */ add r4, r28, r29 -/* 801B4548 80 A4 00 00 */ lwz r5, 0(r4) -/* 801B454C 80 C4 00 04 */ lwz r6, 4(r4) -/* 801B4550 81 83 00 00 */ lwz r12, 0(r3) -/* 801B4554 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801B4558 7D 89 03 A6 */ mtctr r12 -/* 801B455C 4E 80 04 21 */ bctrl -/* 801B4560 80 1B 06 9C */ lwz r0, 0x69c(r27) -/* 801B4564 90 01 00 08 */ stw r0, 8(r1) -/* 801B4568 80 1B 06 94 */ lwz r0, 0x694(r27) -/* 801B456C 90 01 00 0C */ stw r0, 0xc(r1) -/* 801B4570 38 81 00 0C */ addi r4, r1, 0xc -/* 801B4574 38 A1 00 08 */ addi r5, r1, 8 -/* 801B4578 81 83 00 00 */ lwz r12, 0(r3) -/* 801B457C 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 801B4580 7D 89 03 A6 */ mtctr r12 -/* 801B4584 4E 80 04 21 */ bctrl -/* 801B4588 3B 5A 00 01 */ addi r26, r26, 1 -/* 801B458C 2C 1A 00 09 */ cmpwi r26, 9 -/* 801B4590 3B BD 00 08 */ addi r29, r29, 8 -/* 801B4594 41 80 FF AC */ blt lbl_801B4540 -lbl_801B4598: -/* 801B4598 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 801B459C 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */ -/* 801B45A0 88 03 06 B4 */ lbz r0, 0x6b4(r3) -/* 801B45A4 28 00 00 00 */ cmplwi r0, 0 -/* 801B45A8 40 82 00 0C */ bne lbl_801B45B4 -/* 801B45AC 57 E0 06 3F */ clrlwi. r0, r31, 0x18 -/* 801B45B0 41 82 01 34 */ beq lbl_801B46E4 -lbl_801B45B4: -/* 801B45B4 80 7E 01 6C */ lwz r3, 0x16c(r30) -/* 801B45B8 28 03 00 00 */ cmplwi r3, 0 -/* 801B45BC 41 82 00 44 */ beq lbl_801B4600 -/* 801B45C0 3C 80 80 43 */ lis r4, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 801B45C4 38 84 EB C8 */ addi r4, r4, g_drawHIO@l /* 0x8042EBC8@l */ -/* 801B45C8 C0 24 06 60 */ lfs f1, 0x660(r4) -/* 801B45CC C0 44 06 64 */ lfs f2, 0x664(r4) -/* 801B45D0 48 09 FF E1 */ bl paneTrans__8CPaneMgrFff -/* 801B45D4 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 801B45D8 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */ -/* 801B45DC C0 03 06 68 */ lfs f0, 0x668(r3) -/* 801B45E0 80 7E 01 6C */ lwz r3, 0x16c(r30) -/* 801B45E4 80 63 00 04 */ lwz r3, 4(r3) -/* 801B45E8 D0 03 00 CC */ stfs f0, 0xcc(r3) -/* 801B45EC D0 03 00 D0 */ stfs f0, 0xd0(r3) -/* 801B45F0 81 83 00 00 */ lwz r12, 0(r3) -/* 801B45F4 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 801B45F8 7D 89 03 A6 */ mtctr r12 -/* 801B45FC 4E 80 04 21 */ bctrl -lbl_801B4600: -/* 801B4600 80 7E 01 70 */ lwz r3, 0x170(r30) -/* 801B4604 28 03 00 00 */ cmplwi r3, 0 -/* 801B4608 41 82 00 44 */ beq lbl_801B464C -/* 801B460C 3C 80 80 43 */ lis r4, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 801B4610 38 84 EB C8 */ addi r4, r4, g_drawHIO@l /* 0x8042EBC8@l */ -/* 801B4614 C0 24 06 6C */ lfs f1, 0x66c(r4) -/* 801B4618 C0 44 06 70 */ lfs f2, 0x670(r4) -/* 801B461C 48 09 FF 95 */ bl paneTrans__8CPaneMgrFff -/* 801B4620 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 801B4624 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */ -/* 801B4628 C0 03 06 74 */ lfs f0, 0x674(r3) -/* 801B462C 80 7E 01 70 */ lwz r3, 0x170(r30) -/* 801B4630 80 63 00 04 */ lwz r3, 4(r3) -/* 801B4634 D0 03 00 CC */ stfs f0, 0xcc(r3) -/* 801B4638 D0 03 00 D0 */ stfs f0, 0xd0(r3) -/* 801B463C 81 83 00 00 */ lwz r12, 0(r3) -/* 801B4640 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 801B4644 7D 89 03 A6 */ mtctr r12 -/* 801B4648 4E 80 04 21 */ bctrl -lbl_801B464C: -/* 801B464C 80 7E 01 74 */ lwz r3, 0x174(r30) -/* 801B4650 28 03 00 00 */ cmplwi r3, 0 -/* 801B4654 41 82 00 44 */ beq lbl_801B4698 -/* 801B4658 3C 80 80 43 */ lis r4, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 801B465C 38 84 EB C8 */ addi r4, r4, g_drawHIO@l /* 0x8042EBC8@l */ -/* 801B4660 C0 24 06 78 */ lfs f1, 0x678(r4) -/* 801B4664 C0 44 06 7C */ lfs f2, 0x67c(r4) -/* 801B4668 48 09 FF 49 */ bl paneTrans__8CPaneMgrFff -/* 801B466C 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 801B4670 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */ -/* 801B4674 C0 03 06 80 */ lfs f0, 0x680(r3) -/* 801B4678 80 7E 01 74 */ lwz r3, 0x174(r30) -/* 801B467C 80 63 00 04 */ lwz r3, 4(r3) -/* 801B4680 D0 03 00 CC */ stfs f0, 0xcc(r3) -/* 801B4684 D0 03 00 D0 */ stfs f0, 0xd0(r3) -/* 801B4688 81 83 00 00 */ lwz r12, 0(r3) -/* 801B468C 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 801B4690 7D 89 03 A6 */ mtctr r12 -/* 801B4694 4E 80 04 21 */ bctrl -lbl_801B4698: -/* 801B4698 80 7E 01 78 */ lwz r3, 0x178(r30) -/* 801B469C 28 03 00 00 */ cmplwi r3, 0 -/* 801B46A0 41 82 00 44 */ beq lbl_801B46E4 -/* 801B46A4 3C 80 80 43 */ lis r4, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 801B46A8 38 84 EB C8 */ addi r4, r4, g_drawHIO@l /* 0x8042EBC8@l */ -/* 801B46AC C0 24 06 84 */ lfs f1, 0x684(r4) -/* 801B46B0 C0 44 06 88 */ lfs f2, 0x688(r4) -/* 801B46B4 48 09 FE FD */ bl paneTrans__8CPaneMgrFff -/* 801B46B8 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 801B46BC 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */ -/* 801B46C0 C0 03 06 8C */ lfs f0, 0x68c(r3) -/* 801B46C4 80 7E 01 78 */ lwz r3, 0x178(r30) -/* 801B46C8 80 63 00 04 */ lwz r3, 4(r3) -/* 801B46CC D0 03 00 CC */ stfs f0, 0xcc(r3) -/* 801B46D0 D0 03 00 D0 */ stfs f0, 0xd0(r3) -/* 801B46D4 81 83 00 00 */ lwz r12, 0(r3) -/* 801B46D8 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 801B46DC 7D 89 03 A6 */ mtctr r12 -/* 801B46E0 4E 80 04 21 */ bctrl -lbl_801B46E4: -/* 801B46E4 39 61 00 30 */ addi r11, r1, 0x30 -/* 801B46E8 48 1A DB 35 */ bl _restgpr_26 -/* 801B46EC 80 01 00 34 */ lwz r0, 0x34(r1) -/* 801B46F0 7C 08 03 A6 */ mtlr r0 -/* 801B46F4 38 21 00 30 */ addi r1, r1, 0x30 -/* 801B46F8 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_collect/setHeartPiece__17dMenu_Collect2D_cFv.s b/asm/d/menu/d_menu_collect/setHeartPiece__17dMenu_Collect2D_cFv.s deleted file mode 100644 index 1733e3566d4..00000000000 --- a/asm/d/menu/d_menu_collect/setHeartPiece__17dMenu_Collect2D_cFv.s +++ /dev/null @@ -1,55 +0,0 @@ -lbl_801B3640: -/* 801B3640 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801B3644 7C 08 02 A6 */ mflr r0 -/* 801B3648 90 01 00 24 */ stw r0, 0x24(r1) -/* 801B364C 39 61 00 20 */ addi r11, r1, 0x20 -/* 801B3650 48 1A EB 89 */ bl _savegpr_28 -/* 801B3654 7C 7C 1B 78 */ mr r28, r3 -/* 801B3658 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801B365C A0 83 61 C0 */ lhz r4, g_dComIfG_gameInfo@l(r3) /* 0x804061C0@l */ -/* 801B3660 38 60 00 05 */ li r3, 5 -/* 801B3664 7C 04 1B D6 */ divw r0, r4, r3 -/* 801B3668 7C 00 19 D6 */ mullw r0, r0, r3 -/* 801B366C 7F C0 20 50 */ subf r30, r0, r4 -/* 801B3670 3B A0 00 00 */ li r29, 0 -/* 801B3674 3B E0 00 00 */ li r31, 0 -lbl_801B3678: -/* 801B3678 7C 1D F0 00 */ cmpw r29, r30 -/* 801B367C 40 80 00 38 */ bge lbl_801B36B4 -/* 801B3680 80 7C 00 18 */ lwz r3, 0x18(r28) -/* 801B3684 3C 80 80 39 */ lis r4, heart_tag@ha /* 0x80395078@ha */ -/* 801B3688 38 04 50 78 */ addi r0, r4, heart_tag@l /* 0x80395078@l */ -/* 801B368C 7C 80 FA 14 */ add r4, r0, r31 -/* 801B3690 80 A4 00 00 */ lwz r5, 0(r4) -/* 801B3694 80 C4 00 04 */ lwz r6, 4(r4) -/* 801B3698 81 83 00 00 */ lwz r12, 0(r3) -/* 801B369C 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801B36A0 7D 89 03 A6 */ mtctr r12 -/* 801B36A4 4E 80 04 21 */ bctrl -/* 801B36A8 38 00 00 01 */ li r0, 1 -/* 801B36AC 98 03 00 B0 */ stb r0, 0xb0(r3) -/* 801B36B0 48 00 00 34 */ b lbl_801B36E4 -lbl_801B36B4: -/* 801B36B4 80 7C 00 18 */ lwz r3, 0x18(r28) -/* 801B36B8 3C 80 80 39 */ lis r4, heart_tag@ha /* 0x80395078@ha */ -/* 801B36BC 38 04 50 78 */ addi r0, r4, heart_tag@l /* 0x80395078@l */ -/* 801B36C0 7C 80 FA 14 */ add r4, r0, r31 -/* 801B36C4 80 A4 00 00 */ lwz r5, 0(r4) -/* 801B36C8 80 C4 00 04 */ lwz r6, 4(r4) -/* 801B36CC 81 83 00 00 */ lwz r12, 0(r3) -/* 801B36D0 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801B36D4 7D 89 03 A6 */ mtctr r12 -/* 801B36D8 4E 80 04 21 */ bctrl -/* 801B36DC 38 00 00 00 */ li r0, 0 -/* 801B36E0 98 03 00 B0 */ stb r0, 0xb0(r3) -lbl_801B36E4: -/* 801B36E4 3B BD 00 01 */ addi r29, r29, 1 -/* 801B36E8 2C 1D 00 04 */ cmpwi r29, 4 -/* 801B36EC 3B FF 00 08 */ addi r31, r31, 8 -/* 801B36F0 41 80 FF 88 */ blt lbl_801B3678 -/* 801B36F4 39 61 00 20 */ addi r11, r1, 0x20 -/* 801B36F8 48 1A EB 2D */ bl _restgpr_28 -/* 801B36FC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801B3700 7C 08 03 A6 */ mtlr r0 -/* 801B3704 38 21 00 20 */ addi r1, r1, 0x20 -/* 801B3708 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_collect/setItemNameString__17dMenu_Collect2D_cFUcUc.s b/asm/d/menu/d_menu_collect/setItemNameString__17dMenu_Collect2D_cFUcUc.s deleted file mode 100644 index 408d5e1d7f6..00000000000 --- a/asm/d/menu/d_menu_collect/setItemNameString__17dMenu_Collect2D_cFUcUc.s +++ /dev/null @@ -1,102 +0,0 @@ -lbl_801B61BC: -/* 801B61BC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801B61C0 7C 08 02 A6 */ mflr r0 -/* 801B61C4 90 01 00 14 */ stw r0, 0x14(r1) -/* 801B61C8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801B61CC 93 C1 00 08 */ stw r30, 8(r1) -/* 801B61D0 7C 7E 1B 78 */ mr r30, r3 -/* 801B61D4 54 86 06 3E */ clrlwi r6, r4, 0x18 -/* 801B61D8 1C 06 00 06 */ mulli r0, r6, 6 -/* 801B61DC 7C 1E 02 14 */ add r0, r30, r0 -/* 801B61E0 54 A5 06 3E */ clrlwi r5, r5, 0x18 -/* 801B61E4 7C 80 2A 14 */ add r4, r0, r5 -/* 801B61E8 88 04 02 2D */ lbz r0, 0x22d(r4) -/* 801B61EC 28 00 00 00 */ cmplwi r0, 0 -/* 801B61F0 40 82 00 0C */ bne lbl_801B61FC -/* 801B61F4 48 00 01 51 */ bl setItemNameStringNull__17dMenu_Collect2D_cFv -/* 801B61F8 48 00 01 34 */ b lbl_801B632C -lbl_801B61FC: -/* 801B61FC 1C 06 00 0C */ mulli r0, r6, 0xc -/* 801B6200 7C 1E 02 14 */ add r0, r30, r0 -/* 801B6204 54 A4 08 3C */ slwi r4, r5, 1 -/* 801B6208 7C 80 22 14 */ add r4, r0, r4 -/* 801B620C A3 E4 01 84 */ lhz r31, 0x184(r4) -/* 801B6210 A0 04 01 D8 */ lhz r0, 0x1d8(r4) -/* 801B6214 B0 1E 01 82 */ sth r0, 0x182(r30) -/* 801B6218 B3 FE 01 80 */ sth r31, 0x180(r30) -/* 801B621C 28 1F 00 00 */ cmplwi r31, 0 -/* 801B6220 40 82 00 0C */ bne lbl_801B622C -/* 801B6224 48 00 01 21 */ bl setItemNameStringNull__17dMenu_Collect2D_cFv -/* 801B6228 48 00 01 04 */ b lbl_801B632C -lbl_801B622C: -/* 801B622C 80 7E 00 18 */ lwz r3, 0x18(r30) -/* 801B6230 3C 80 5F 6E */ lis r4, 0x5F6E /* 0x5F6E3034@ha */ -/* 801B6234 38 C4 30 34 */ addi r6, r4, 0x3034 /* 0x5F6E3034@l */ -/* 801B6238 3C 80 69 74 */ lis r4, 0x6974 /* 0x6974656D@ha */ -/* 801B623C 38 A4 65 6D */ addi r5, r4, 0x656D /* 0x6974656D@l */ -/* 801B6240 81 83 00 00 */ lwz r12, 0(r3) -/* 801B6244 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801B6248 7D 89 03 A6 */ mtctr r12 -/* 801B624C 4E 80 04 21 */ bctrl -/* 801B6250 48 14 A4 09 */ bl getStringPtr__10J2DTextBoxCFv -/* 801B6254 7C 65 1B 78 */ mr r5, r3 -/* 801B6258 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 801B625C 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 801B6260 7F E4 FB 78 */ mr r4, r31 -/* 801B6264 38 C0 00 00 */ li r6, 0 -/* 801B6268 48 06 62 DD */ bl getStringKanji__13dMeter2Info_cFUlPcP14JMSMesgEntry_c -/* 801B626C 80 7E 00 18 */ lwz r3, 0x18(r30) -/* 801B6270 3C 80 5F 6E */ lis r4, 0x5F6E /* 0x5F6E3035@ha */ -/* 801B6274 38 C4 30 35 */ addi r6, r4, 0x3035 /* 0x5F6E3035@l */ -/* 801B6278 3C 80 69 74 */ lis r4, 0x6974 /* 0x6974656D@ha */ -/* 801B627C 38 A4 65 6D */ addi r5, r4, 0x656D /* 0x6974656D@l */ -/* 801B6280 81 83 00 00 */ lwz r12, 0(r3) -/* 801B6284 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801B6288 7D 89 03 A6 */ mtctr r12 -/* 801B628C 4E 80 04 21 */ bctrl -/* 801B6290 48 14 A3 C9 */ bl getStringPtr__10J2DTextBoxCFv -/* 801B6294 7C 65 1B 78 */ mr r5, r3 -/* 801B6298 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 801B629C 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 801B62A0 7F E4 FB 78 */ mr r4, r31 -/* 801B62A4 38 C0 00 00 */ li r6, 0 -/* 801B62A8 48 06 62 9D */ bl getStringKanji__13dMeter2Info_cFUlPcP14JMSMesgEntry_c -/* 801B62AC 80 7E 00 18 */ lwz r3, 0x18(r30) -/* 801B62B0 3C 80 5F 6E */ lis r4, 0x5F6E /* 0x5F6E3036@ha */ -/* 801B62B4 38 C4 30 36 */ addi r6, r4, 0x3036 /* 0x5F6E3036@l */ -/* 801B62B8 3C 80 69 74 */ lis r4, 0x6974 /* 0x6974656D@ha */ -/* 801B62BC 38 A4 65 6D */ addi r5, r4, 0x656D /* 0x6974656D@l */ -/* 801B62C0 81 83 00 00 */ lwz r12, 0(r3) -/* 801B62C4 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801B62C8 7D 89 03 A6 */ mtctr r12 -/* 801B62CC 4E 80 04 21 */ bctrl -/* 801B62D0 48 14 A3 89 */ bl getStringPtr__10J2DTextBoxCFv -/* 801B62D4 7C 65 1B 78 */ mr r5, r3 -/* 801B62D8 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 801B62DC 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 801B62E0 7F E4 FB 78 */ mr r4, r31 -/* 801B62E4 38 C0 00 00 */ li r6, 0 -/* 801B62E8 48 06 62 5D */ bl getStringKanji__13dMeter2Info_cFUlPcP14JMSMesgEntry_c -/* 801B62EC 80 7E 00 18 */ lwz r3, 0x18(r30) -/* 801B62F0 3C 80 5F 6E */ lis r4, 0x5F6E /* 0x5F6E3037@ha */ -/* 801B62F4 38 C4 30 37 */ addi r6, r4, 0x3037 /* 0x5F6E3037@l */ -/* 801B62F8 3C 80 69 74 */ lis r4, 0x6974 /* 0x6974656D@ha */ -/* 801B62FC 38 A4 65 6D */ addi r5, r4, 0x656D /* 0x6974656D@l */ -/* 801B6300 81 83 00 00 */ lwz r12, 0(r3) -/* 801B6304 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801B6308 7D 89 03 A6 */ mtctr r12 -/* 801B630C 4E 80 04 21 */ bctrl -/* 801B6310 48 14 A3 49 */ bl getStringPtr__10J2DTextBoxCFv -/* 801B6314 7C 65 1B 78 */ mr r5, r3 -/* 801B6318 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 801B631C 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 801B6320 7F E4 FB 78 */ mr r4, r31 -/* 801B6324 38 C0 00 00 */ li r6, 0 -/* 801B6328 48 06 62 1D */ bl getStringKanji__13dMeter2Info_cFUlPcP14JMSMesgEntry_c -lbl_801B632C: -/* 801B632C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801B6330 83 C1 00 08 */ lwz r30, 8(r1) -/* 801B6334 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801B6338 7C 08 03 A6 */ mtlr r0 -/* 801B633C 38 21 00 10 */ addi r1, r1, 0x10 -/* 801B6340 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_collect/setPohMaxNum__17dMenu_Collect2D_cFUc.s b/asm/d/menu/d_menu_collect/setPohMaxNum__17dMenu_Collect2D_cFUc.s deleted file mode 100644 index ad3ba0d872f..00000000000 --- a/asm/d/menu/d_menu_collect/setPohMaxNum__17dMenu_Collect2D_cFUc.s +++ /dev/null @@ -1,186 +0,0 @@ -lbl_801B370C: -/* 801B370C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801B3710 7C 08 02 A6 */ mflr r0 -/* 801B3714 90 01 00 24 */ stw r0, 0x24(r1) -/* 801B3718 39 61 00 20 */ addi r11, r1, 0x20 -/* 801B371C 48 1A EA C1 */ bl _savegpr_29 -/* 801B3720 7C 7E 1B 78 */ mr r30, r3 -/* 801B3724 54 80 06 3E */ clrlwi r0, r4, 0x18 -/* 801B3728 28 00 00 64 */ cmplwi r0, 0x64 -/* 801B372C 40 81 00 08 */ ble lbl_801B3734 -/* 801B3730 38 80 00 64 */ li r4, 0x64 -lbl_801B3734: -/* 801B3734 88 1E 02 30 */ lbz r0, 0x230(r30) -/* 801B3738 28 00 00 00 */ cmplwi r0, 0 -/* 801B373C 41 82 01 F8 */ beq lbl_801B3934 -/* 801B3740 54 84 06 3E */ clrlwi r4, r4, 0x18 -/* 801B3744 38 00 00 64 */ li r0, 0x64 -/* 801B3748 7C 64 03 D7 */ divw. r3, r4, r0 -/* 801B374C 7C 03 01 D6 */ mullw r0, r3, r0 -/* 801B3750 7F E0 20 50 */ subf r31, r0, r4 -/* 801B3754 3B A0 00 00 */ li r29, 0 -/* 801B3758 40 81 00 7C */ ble lbl_801B37D4 -/* 801B375C 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801B3760 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801B3764 83 A4 5D 30 */ lwz r29, 0x5d30(r4) -/* 801B3768 48 06 AB 61 */ bl dMeter2Info_getNumberTextureName__Fi -/* 801B376C 7C 65 1B 78 */ mr r5, r3 -/* 801B3770 7F A3 EB 78 */ mr r3, r29 -/* 801B3774 3C 80 54 49 */ lis r4, 0x5449 /* 0x54494D47@ha */ -/* 801B3778 38 84 4D 47 */ addi r4, r4, 0x4D47 /* 0x54494D47@l */ -/* 801B377C 81 9D 00 00 */ lwz r12, 0(r29) -/* 801B3780 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 801B3784 7D 89 03 A6 */ mtctr r12 -/* 801B3788 4E 80 04 21 */ bctrl -/* 801B378C 7C 7D 1B 78 */ mr r29, r3 -/* 801B3790 80 7E 00 18 */ lwz r3, 0x18(r30) -/* 801B3794 3C 80 6D 32 */ lis r4, 0x6D32 /* 0x6D325F33@ha */ -/* 801B3798 38 C4 5F 33 */ addi r6, r4, 0x5F33 /* 0x6D325F33@l */ -/* 801B379C 3C 80 00 69 */ lis r4, 0x0069 /* 0x00697465@ha */ -/* 801B37A0 38 A4 74 65 */ addi r5, r4, 0x7465 /* 0x00697465@l */ -/* 801B37A4 81 83 00 00 */ lwz r12, 0(r3) -/* 801B37A8 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801B37AC 7D 89 03 A6 */ mtctr r12 -/* 801B37B0 4E 80 04 21 */ bctrl -/* 801B37B4 7F A4 EB 78 */ mr r4, r29 -/* 801B37B8 38 A0 00 00 */ li r5, 0 -/* 801B37BC 81 83 00 00 */ lwz r12, 0(r3) -/* 801B37C0 81 8C 01 10 */ lwz r12, 0x110(r12) -/* 801B37C4 7D 89 03 A6 */ mtctr r12 -/* 801B37C8 4E 80 04 21 */ bctrl -/* 801B37CC 3B A0 00 01 */ li r29, 1 -/* 801B37D0 48 00 00 30 */ b lbl_801B3800 -lbl_801B37D4: -/* 801B37D4 80 7E 00 18 */ lwz r3, 0x18(r30) -/* 801B37D8 3C 80 6D 32 */ lis r4, 0x6D32 /* 0x6D325F33@ha */ -/* 801B37DC 38 C4 5F 33 */ addi r6, r4, 0x5F33 /* 0x6D325F33@l */ -/* 801B37E0 3C 80 00 69 */ lis r4, 0x0069 /* 0x00697465@ha */ -/* 801B37E4 38 A4 74 65 */ addi r5, r4, 0x7465 /* 0x00697465@l */ -/* 801B37E8 81 83 00 00 */ lwz r12, 0(r3) -/* 801B37EC 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801B37F0 7D 89 03 A6 */ mtctr r12 -/* 801B37F4 4E 80 04 21 */ bctrl -/* 801B37F8 38 00 00 00 */ li r0, 0 -/* 801B37FC 98 03 00 B0 */ stb r0, 0xb0(r3) -lbl_801B3800: -/* 801B3800 38 00 00 0A */ li r0, 0xa -/* 801B3804 7C 7F 03 D7 */ divw. r3, r31, r0 -/* 801B3808 7C 03 01 D6 */ mullw r0, r3, r0 -/* 801B380C 7F E0 F8 50 */ subf r31, r0, r31 -/* 801B3810 40 82 00 0C */ bne lbl_801B381C -/* 801B3814 57 A0 06 3F */ clrlwi. r0, r29, 0x18 -/* 801B3818 41 82 00 78 */ beq lbl_801B3890 -lbl_801B381C: -/* 801B381C 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801B3820 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801B3824 83 A4 5D 30 */ lwz r29, 0x5d30(r4) -/* 801B3828 48 06 AA A1 */ bl dMeter2Info_getNumberTextureName__Fi -/* 801B382C 7C 65 1B 78 */ mr r5, r3 -/* 801B3830 7F A3 EB 78 */ mr r3, r29 -/* 801B3834 3C 80 54 49 */ lis r4, 0x5449 /* 0x54494D47@ha */ -/* 801B3838 38 84 4D 47 */ addi r4, r4, 0x4D47 /* 0x54494D47@l */ -/* 801B383C 81 9D 00 00 */ lwz r12, 0(r29) -/* 801B3840 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 801B3844 7D 89 03 A6 */ mtctr r12 -/* 801B3848 4E 80 04 21 */ bctrl -/* 801B384C 7C 7D 1B 78 */ mr r29, r3 -/* 801B3850 80 7E 00 18 */ lwz r3, 0x18(r30) -/* 801B3854 3C 80 6D 32 */ lis r4, 0x6D32 /* 0x6D325F32@ha */ -/* 801B3858 38 C4 5F 32 */ addi r6, r4, 0x5F32 /* 0x6D325F32@l */ -/* 801B385C 3C 80 00 69 */ lis r4, 0x0069 /* 0x00697465@ha */ -/* 801B3860 38 A4 74 65 */ addi r5, r4, 0x7465 /* 0x00697465@l */ -/* 801B3864 81 83 00 00 */ lwz r12, 0(r3) -/* 801B3868 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801B386C 7D 89 03 A6 */ mtctr r12 -/* 801B3870 4E 80 04 21 */ bctrl -/* 801B3874 7F A4 EB 78 */ mr r4, r29 -/* 801B3878 38 A0 00 00 */ li r5, 0 -/* 801B387C 81 83 00 00 */ lwz r12, 0(r3) -/* 801B3880 81 8C 01 10 */ lwz r12, 0x110(r12) -/* 801B3884 7D 89 03 A6 */ mtctr r12 -/* 801B3888 4E 80 04 21 */ bctrl -/* 801B388C 48 00 00 30 */ b lbl_801B38BC -lbl_801B3890: -/* 801B3890 80 7E 00 18 */ lwz r3, 0x18(r30) -/* 801B3894 3C 80 6D 32 */ lis r4, 0x6D32 /* 0x6D325F32@ha */ -/* 801B3898 38 C4 5F 32 */ addi r6, r4, 0x5F32 /* 0x6D325F32@l */ -/* 801B389C 3C 80 00 69 */ lis r4, 0x0069 /* 0x00697465@ha */ -/* 801B38A0 38 A4 74 65 */ addi r5, r4, 0x7465 /* 0x00697465@l */ -/* 801B38A4 81 83 00 00 */ lwz r12, 0(r3) -/* 801B38A8 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801B38AC 7D 89 03 A6 */ mtctr r12 -/* 801B38B0 4E 80 04 21 */ bctrl -/* 801B38B4 38 00 00 00 */ li r0, 0 -/* 801B38B8 98 03 00 B0 */ stb r0, 0xb0(r3) -lbl_801B38BC: -/* 801B38BC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801B38C0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801B38C4 83 A3 5D 30 */ lwz r29, 0x5d30(r3) -/* 801B38C8 7F E3 FB 78 */ mr r3, r31 -/* 801B38CC 48 06 A9 FD */ bl dMeter2Info_getNumberTextureName__Fi -/* 801B38D0 7C 65 1B 78 */ mr r5, r3 -/* 801B38D4 7F A3 EB 78 */ mr r3, r29 -/* 801B38D8 3C 80 54 49 */ lis r4, 0x5449 /* 0x54494D47@ha */ -/* 801B38DC 38 84 4D 47 */ addi r4, r4, 0x4D47 /* 0x54494D47@l */ -/* 801B38E0 81 9D 00 00 */ lwz r12, 0(r29) -/* 801B38E4 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 801B38E8 7D 89 03 A6 */ mtctr r12 -/* 801B38EC 4E 80 04 21 */ bctrl -/* 801B38F0 7C 7D 1B 78 */ mr r29, r3 -/* 801B38F4 80 7E 00 18 */ lwz r3, 0x18(r30) -/* 801B38F8 3C 80 6D 32 */ lis r4, 0x6D32 /* 0x6D325F31@ha */ -/* 801B38FC 38 C4 5F 31 */ addi r6, r4, 0x5F31 /* 0x6D325F31@l */ -/* 801B3900 3C 80 00 69 */ lis r4, 0x0069 /* 0x00697465@ha */ -/* 801B3904 38 A4 74 65 */ addi r5, r4, 0x7465 /* 0x00697465@l */ -/* 801B3908 81 83 00 00 */ lwz r12, 0(r3) -/* 801B390C 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801B3910 7D 89 03 A6 */ mtctr r12 -/* 801B3914 4E 80 04 21 */ bctrl -/* 801B3918 7F A4 EB 78 */ mr r4, r29 -/* 801B391C 38 A0 00 00 */ li r5, 0 -/* 801B3920 81 83 00 00 */ lwz r12, 0(r3) -/* 801B3924 81 8C 01 10 */ lwz r12, 0x110(r12) -/* 801B3928 7D 89 03 A6 */ mtctr r12 -/* 801B392C 4E 80 04 21 */ bctrl -/* 801B3930 48 00 00 88 */ b lbl_801B39B8 -lbl_801B3934: -/* 801B3934 80 7E 00 18 */ lwz r3, 0x18(r30) -/* 801B3938 3C 80 6D 32 */ lis r4, 0x6D32 /* 0x6D325F33@ha */ -/* 801B393C 38 C4 5F 33 */ addi r6, r4, 0x5F33 /* 0x6D325F33@l */ -/* 801B3940 3C 80 00 69 */ lis r4, 0x0069 /* 0x00697465@ha */ -/* 801B3944 38 A4 74 65 */ addi r5, r4, 0x7465 /* 0x00697465@l */ -/* 801B3948 81 83 00 00 */ lwz r12, 0(r3) -/* 801B394C 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801B3950 7D 89 03 A6 */ mtctr r12 -/* 801B3954 4E 80 04 21 */ bctrl -/* 801B3958 38 00 00 00 */ li r0, 0 -/* 801B395C 98 03 00 B0 */ stb r0, 0xb0(r3) -/* 801B3960 80 7E 00 18 */ lwz r3, 0x18(r30) -/* 801B3964 3C 80 6D 32 */ lis r4, 0x6D32 /* 0x6D325F32@ha */ -/* 801B3968 38 C4 5F 32 */ addi r6, r4, 0x5F32 /* 0x6D325F32@l */ -/* 801B396C 3C 80 00 69 */ lis r4, 0x0069 /* 0x00697465@ha */ -/* 801B3970 38 A4 74 65 */ addi r5, r4, 0x7465 /* 0x00697465@l */ -/* 801B3974 81 83 00 00 */ lwz r12, 0(r3) -/* 801B3978 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801B397C 7D 89 03 A6 */ mtctr r12 -/* 801B3980 4E 80 04 21 */ bctrl -/* 801B3984 38 00 00 00 */ li r0, 0 -/* 801B3988 98 03 00 B0 */ stb r0, 0xb0(r3) -/* 801B398C 80 7E 00 18 */ lwz r3, 0x18(r30) -/* 801B3990 3C 80 6D 32 */ lis r4, 0x6D32 /* 0x6D325F31@ha */ -/* 801B3994 38 C4 5F 31 */ addi r6, r4, 0x5F31 /* 0x6D325F31@l */ -/* 801B3998 3C 80 00 69 */ lis r4, 0x0069 /* 0x00697465@ha */ -/* 801B399C 38 A4 74 65 */ addi r5, r4, 0x7465 /* 0x00697465@l */ -/* 801B39A0 81 83 00 00 */ lwz r12, 0(r3) -/* 801B39A4 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801B39A8 7D 89 03 A6 */ mtctr r12 -/* 801B39AC 4E 80 04 21 */ bctrl -/* 801B39B0 38 00 00 00 */ li r0, 0 -/* 801B39B4 98 03 00 B0 */ stb r0, 0xb0(r3) -lbl_801B39B8: -/* 801B39B8 39 61 00 20 */ addi r11, r1, 0x20 -/* 801B39BC 48 1A E8 6D */ bl _restgpr_29 -/* 801B39C0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801B39C4 7C 08 03 A6 */ mtlr r0 -/* 801B39C8 38 21 00 20 */ addi r1, r1, 0x20 -/* 801B39CC 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_collect/setSmellType__17dMenu_Collect2D_cFv.s b/asm/d/menu/d_menu_collect/setSmellType__17dMenu_Collect2D_cFv.s deleted file mode 100644 index edc63e529e9..00000000000 --- a/asm/d/menu/d_menu_collect/setSmellType__17dMenu_Collect2D_cFv.s +++ /dev/null @@ -1,82 +0,0 @@ -lbl_801B3524: -/* 801B3524 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801B3528 7C 08 02 A6 */ mflr r0 -/* 801B352C 90 01 00 24 */ stw r0, 0x24(r1) -/* 801B3530 39 61 00 20 */ addi r11, r1, 0x20 -/* 801B3534 48 1A EC A5 */ bl _savegpr_28 -/* 801B3538 7C 7C 1B 78 */ mr r28, r3 -/* 801B353C 3B C0 FF FF */ li r30, -1 -/* 801B3540 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801B3544 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801B3548 88 03 00 16 */ lbz r0, 0x16(r3) -/* 801B354C 2C 00 00 B3 */ cmpwi r0, 0xb3 -/* 801B3550 41 82 00 40 */ beq lbl_801B3590 -/* 801B3554 40 80 00 1C */ bge lbl_801B3570 -/* 801B3558 2C 00 00 B1 */ cmpwi r0, 0xb1 -/* 801B355C 41 82 00 48 */ beq lbl_801B35A4 -/* 801B3560 40 80 00 28 */ bge lbl_801B3588 -/* 801B3564 2C 00 00 B0 */ cmpwi r0, 0xb0 -/* 801B3568 40 80 00 18 */ bge lbl_801B3580 -/* 801B356C 48 00 00 38 */ b lbl_801B35A4 -lbl_801B3570: -/* 801B3570 2C 00 00 B5 */ cmpwi r0, 0xb5 -/* 801B3574 41 82 00 2C */ beq lbl_801B35A0 -/* 801B3578 40 80 00 2C */ bge lbl_801B35A4 -/* 801B357C 48 00 00 1C */ b lbl_801B3598 -lbl_801B3580: -/* 801B3580 3B C0 00 03 */ li r30, 3 -/* 801B3584 48 00 00 20 */ b lbl_801B35A4 -lbl_801B3588: -/* 801B3588 3B C0 00 04 */ li r30, 4 -/* 801B358C 48 00 00 18 */ b lbl_801B35A4 -lbl_801B3590: -/* 801B3590 3B C0 00 02 */ li r30, 2 -/* 801B3594 48 00 00 10 */ b lbl_801B35A4 -lbl_801B3598: -/* 801B3598 3B C0 00 01 */ li r30, 1 -/* 801B359C 48 00 00 08 */ b lbl_801B35A4 -lbl_801B35A0: -/* 801B35A0 3B C0 00 00 */ li r30, 0 -lbl_801B35A4: -/* 801B35A4 3B A0 00 00 */ li r29, 0 -/* 801B35A8 3B E0 00 00 */ li r31, 0 -lbl_801B35AC: -/* 801B35AC 7C 1D F0 00 */ cmpw r29, r30 -/* 801B35B0 40 82 00 38 */ bne lbl_801B35E8 -/* 801B35B4 80 7C 00 18 */ lwz r3, 0x18(r28) -/* 801B35B8 3C 80 80 39 */ lis r4, smell_tag@ha /* 0x80395050@ha */ -/* 801B35BC 38 04 50 50 */ addi r0, r4, smell_tag@l /* 0x80395050@l */ -/* 801B35C0 7C 80 FA 14 */ add r4, r0, r31 -/* 801B35C4 80 A4 00 00 */ lwz r5, 0(r4) -/* 801B35C8 80 C4 00 04 */ lwz r6, 4(r4) -/* 801B35CC 81 83 00 00 */ lwz r12, 0(r3) -/* 801B35D0 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801B35D4 7D 89 03 A6 */ mtctr r12 -/* 801B35D8 4E 80 04 21 */ bctrl -/* 801B35DC 38 00 00 01 */ li r0, 1 -/* 801B35E0 98 03 00 B0 */ stb r0, 0xb0(r3) -/* 801B35E4 48 00 00 34 */ b lbl_801B3618 -lbl_801B35E8: -/* 801B35E8 80 7C 00 18 */ lwz r3, 0x18(r28) -/* 801B35EC 3C 80 80 39 */ lis r4, smell_tag@ha /* 0x80395050@ha */ -/* 801B35F0 38 04 50 50 */ addi r0, r4, smell_tag@l /* 0x80395050@l */ -/* 801B35F4 7C 80 FA 14 */ add r4, r0, r31 -/* 801B35F8 80 A4 00 00 */ lwz r5, 0(r4) -/* 801B35FC 80 C4 00 04 */ lwz r6, 4(r4) -/* 801B3600 81 83 00 00 */ lwz r12, 0(r3) -/* 801B3604 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801B3608 7D 89 03 A6 */ mtctr r12 -/* 801B360C 4E 80 04 21 */ bctrl -/* 801B3610 38 00 00 00 */ li r0, 0 -/* 801B3614 98 03 00 B0 */ stb r0, 0xb0(r3) -lbl_801B3618: -/* 801B3618 3B BD 00 01 */ addi r29, r29, 1 -/* 801B361C 2C 1D 00 05 */ cmpwi r29, 5 -/* 801B3620 3B FF 00 08 */ addi r31, r31, 8 -/* 801B3624 41 80 FF 88 */ blt lbl_801B35AC -/* 801B3628 39 61 00 20 */ addi r11, r1, 0x20 -/* 801B362C 48 1A EB F9 */ bl _restgpr_28 -/* 801B3630 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801B3634 7C 08 03 A6 */ mtlr r0 -/* 801B3638 38 21 00 20 */ addi r1, r1, 0x20 -/* 801B363C 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_collect/wait_init__17dMenu_Collect2D_cFv.s b/asm/d/menu/d_menu_collect/wait_init__17dMenu_Collect2D_cFv.s deleted file mode 100644 index 6b530791250..00000000000 --- a/asm/d/menu/d_menu_collect/wait_init__17dMenu_Collect2D_cFv.s +++ /dev/null @@ -1,114 +0,0 @@ -lbl_801B473C: -/* 801B473C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801B4740 7C 08 02 A6 */ mflr r0 -/* 801B4744 90 01 00 14 */ stw r0, 0x14(r1) -/* 801B4748 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801B474C 93 C1 00 08 */ stw r30, 8(r1) -/* 801B4750 7C 7E 1B 78 */ mr r30, r3 -/* 801B4754 80 63 00 08 */ lwz r3, 8(r3) -/* 801B4758 4B E5 AA 75 */ bl mDoExt_setCurrentHeap__FP7JKRHeap -/* 801B475C 7C 7F 1B 78 */ mr r31, r3 -/* 801B4760 80 7E 00 90 */ lwz r3, 0x90(r30) -/* 801B4764 28 03 00 00 */ cmplwi r3, 0 -/* 801B4768 41 82 00 38 */ beq lbl_801B47A0 -/* 801B476C 48 03 C3 BD */ bl _delete__12dMenu_save_cFv -/* 801B4770 80 7E 00 90 */ lwz r3, 0x90(r30) -/* 801B4774 28 03 00 00 */ cmplwi r3, 0 -/* 801B4778 41 82 00 18 */ beq lbl_801B4790 -/* 801B477C 38 80 00 01 */ li r4, 1 -/* 801B4780 81 83 00 00 */ lwz r12, 0(r3) -/* 801B4784 81 8C 00 08 */ lwz r12, 8(r12) -/* 801B4788 7D 89 03 A6 */ mtctr r12 -/* 801B478C 4E 80 04 21 */ bctrl -lbl_801B4790: -/* 801B4790 38 00 00 00 */ li r0, 0 -/* 801B4794 90 1E 00 90 */ stw r0, 0x90(r30) -/* 801B4798 80 7E 00 08 */ lwz r3, 8(r30) -/* 801B479C 48 11 9E 31 */ bl freeAll__7JKRHeapFv -lbl_801B47A0: -/* 801B47A0 80 7E 00 94 */ lwz r3, 0x94(r30) -/* 801B47A4 28 03 00 00 */ cmplwi r3, 0 -/* 801B47A8 41 82 00 38 */ beq lbl_801B47E0 -/* 801B47AC 48 02 E4 71 */ bl _delete__14dMenu_Option_cFv -/* 801B47B0 80 7E 00 94 */ lwz r3, 0x94(r30) -/* 801B47B4 28 03 00 00 */ cmplwi r3, 0 -/* 801B47B8 41 82 00 18 */ beq lbl_801B47D0 -/* 801B47BC 38 80 00 01 */ li r4, 1 -/* 801B47C0 81 83 00 00 */ lwz r12, 0(r3) -/* 801B47C4 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 801B47C8 7D 89 03 A6 */ mtctr r12 -/* 801B47CC 4E 80 04 21 */ bctrl -lbl_801B47D0: -/* 801B47D0 38 00 00 00 */ li r0, 0 -/* 801B47D4 90 1E 00 94 */ stw r0, 0x94(r30) -/* 801B47D8 80 7E 00 08 */ lwz r3, 8(r30) -/* 801B47DC 48 11 9D F1 */ bl freeAll__7JKRHeapFv -lbl_801B47E0: -/* 801B47E0 80 7E 00 98 */ lwz r3, 0x98(r30) -/* 801B47E4 28 03 00 00 */ cmplwi r3, 0 -/* 801B47E8 41 82 00 2C */ beq lbl_801B4814 -/* 801B47EC 41 82 00 18 */ beq lbl_801B4804 -/* 801B47F0 38 80 00 01 */ li r4, 1 -/* 801B47F4 81 83 00 00 */ lwz r12, 0(r3) -/* 801B47F8 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 801B47FC 7D 89 03 A6 */ mtctr r12 -/* 801B4800 4E 80 04 21 */ bctrl -lbl_801B4804: -/* 801B4804 38 00 00 00 */ li r0, 0 -/* 801B4808 90 1E 00 98 */ stw r0, 0x98(r30) -/* 801B480C 80 7E 00 08 */ lwz r3, 8(r30) -/* 801B4810 48 11 9D BD */ bl freeAll__7JKRHeapFv -lbl_801B4814: -/* 801B4814 80 7E 00 9C */ lwz r3, 0x9c(r30) -/* 801B4818 28 03 00 00 */ cmplwi r3, 0 -/* 801B481C 41 82 00 2C */ beq lbl_801B4848 -/* 801B4820 41 82 00 18 */ beq lbl_801B4838 -/* 801B4824 38 80 00 01 */ li r4, 1 -/* 801B4828 81 83 00 00 */ lwz r12, 0(r3) -/* 801B482C 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 801B4830 7D 89 03 A6 */ mtctr r12 -/* 801B4834 4E 80 04 21 */ bctrl -lbl_801B4838: -/* 801B4838 38 00 00 00 */ li r0, 0 -/* 801B483C 90 1E 00 9C */ stw r0, 0x9c(r30) -/* 801B4840 80 7E 00 08 */ lwz r3, 8(r30) -/* 801B4844 48 11 9D 89 */ bl freeAll__7JKRHeapFv -lbl_801B4848: -/* 801B4848 80 7E 00 A0 */ lwz r3, 0xa0(r30) -/* 801B484C 28 03 00 00 */ cmplwi r3, 0 -/* 801B4850 41 82 00 2C */ beq lbl_801B487C -/* 801B4854 41 82 00 18 */ beq lbl_801B486C -/* 801B4858 38 80 00 01 */ li r4, 1 -/* 801B485C 81 83 00 00 */ lwz r12, 0(r3) -/* 801B4860 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 801B4864 7D 89 03 A6 */ mtctr r12 -/* 801B4868 4E 80 04 21 */ bctrl -lbl_801B486C: -/* 801B486C 38 00 00 00 */ li r0, 0 -/* 801B4870 90 1E 00 A0 */ stw r0, 0xa0(r30) -/* 801B4874 80 7E 00 08 */ lwz r3, 8(r30) -/* 801B4878 48 11 9D 55 */ bl freeAll__7JKRHeapFv -lbl_801B487C: -/* 801B487C 80 7E 00 A4 */ lwz r3, 0xa4(r30) -/* 801B4880 28 03 00 00 */ cmplwi r3, 0 -/* 801B4884 41 82 00 2C */ beq lbl_801B48B0 -/* 801B4888 41 82 00 18 */ beq lbl_801B48A0 -/* 801B488C 38 80 00 01 */ li r4, 1 -/* 801B4890 81 83 00 00 */ lwz r12, 0(r3) -/* 801B4894 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 801B4898 7D 89 03 A6 */ mtctr r12 -/* 801B489C 4E 80 04 21 */ bctrl -lbl_801B48A0: -/* 801B48A0 38 00 00 00 */ li r0, 0 -/* 801B48A4 90 1E 00 A4 */ stw r0, 0xa4(r30) -/* 801B48A8 80 7E 00 08 */ lwz r3, 8(r30) -/* 801B48AC 48 11 9D 21 */ bl freeAll__7JKRHeapFv -lbl_801B48B0: -/* 801B48B0 7F E3 FB 78 */ mr r3, r31 -/* 801B48B4 4B E5 A9 19 */ bl mDoExt_setCurrentHeap__FP7JKRHeap -/* 801B48B8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801B48BC 83 C1 00 08 */ lwz r30, 8(r1) -/* 801B48C0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801B48C4 7C 08 03 A6 */ mtlr r0 -/* 801B48C8 38 21 00 10 */ addi r1, r1, 0x10 -/* 801B48CC 4E 80 00 20 */ blr diff --git a/include/d/menu/d_menu_collect.h b/include/d/menu/d_menu_collect.h index 2c9d0c3b478..21cea462992 100644 --- a/include/d/menu/d_menu_collect.h +++ b/include/d/menu/d_menu_collect.h @@ -53,7 +53,7 @@ public: /* 801B3CF4 */ void setEquipItemFrameColorShield(int); /* 801B3FDC */ void setEquipItemFrameColorClothes(int); /* 801B42D8 */ void setHIO(bool); - /* 801B46FC */ void getItemTag(int, int, bool); + /* 801B46FC */ u64 getItemTag(int, int, bool); /* 801B473C */ void wait_init(); /* 801B48D0 */ void wait_proc(); /* 801B4E14 */ void save_open_init(); @@ -107,38 +107,48 @@ public: u8 getCursorX() { return mCursorX; } u8 getCursorY() { return mCursorY; } + CPaneMgr* getpMask() { return mpMaskPm; } + CPaneMgr* getpLink() { return mpLinkPm; } + J2DScreen* getIconScreen() { return mpScreenIcon; } + dMenu_Insect_c* getInsectScreen() { return mpInsectScrn; } + dMenu_Skill_c* getSkillScreen() { return mpSkillScrn; } + dMenu_Fishing_c* getFishingScreen() { return mpFishingScrn; } + dMenu_Letter_c* getLetterScreen() { return mpLetterScrn; } + dMenu_Option_c* getOptionScreen() { return mpOptionScrn; } + dMenu_save_c* getSaveScreen() { return mpSaveScrn; } + J2DPicture* getBlackTex() { return mpBlackTex; } u8 getSubWindowOpenCheck() { return mSubWindowOpenCheck; } private: /* 0x004 */ JKRExpHeap* mpHeap; /* 0x008 */ JKRExpHeap* mpSubHeap; /* 0x00C */ void* field_0xc; - /* 0x010 */ STControl* field_0x10; - /* 0x014 */ CSTControl* field_0x14; + /* 0x010 */ STControl* mpStick; + /* 0x014 */ CSTControl* mpCStick; /* 0x018 */ J2DScreen* mpScreen; /* 0x01C */ J2DScreen* mpScreenIcon; /* 0x020 */ dSelect_cursor_c* mpDrawCursor; /* 0x024 */ dMsgString_c* mpString; /* 0x028 */ u8 field_0x28[4]; - /* 0x02C */ J2DAnmTextureSRTKey* field_0x2c; + /* 0x02C */ J2DAnmTextureSRTKey* mpAnmKey; /* 0x030 */ u8 field_0x30[4]; /* 0x034 */ f32 field_0x34; - /* 0x038 */ f32 field_0x38; + /* 0x038 */ f32 mFrame; /* 0x03C */ f32 field_0x3c; - /* 0x040 */ s32 field_0x40; + /* 0x040 */ u32 mIsWolf; /* 0x044 */ f32 field_0x44[2]; /* 0x04C */ f32 field_0x4c[2]; - /* 0x054 */ f32 field_0x54; - /* 0x058 */ f32 field_0x58; - /* 0x05C */ f32 field_0x5c; - /* 0x060 */ f32 field_0x60; - /* 0x064 */ f32 field_0x64; - /* 0x068 */ f32 field_0x68; - /* 0x06C */ f32 field_0x6c; - /* 0x070 */ f32 field_0x70; - /* 0x074 */ f32 field_0x74; - /* 0x078 */ f32 field_0x78; - /* 0x07C */ cXyz field_0x7c; + /* 0x054 */ f32 mBlueSmokePosX; + /* 0x058 */ f32 mBlueSmokePosY; + /* 0x05C */ f32 mBlueSmokeScale; + /* 0x060 */ f32 mBlueSmokeAlpha; + /* 0x064 */ f32 mHeartVesselPosX; + /* 0x068 */ f32 mHeartVesselPosY; + /* 0x06C */ f32 mHeartVesselScale; + /* 0x070 */ f32 mHeartPiecePosX; + /* 0x074 */ f32 mHeartPiecePosY; + /* 0x078 */ f32 mHeartPieceScale; + /* 0x07C */ cXyz mLinkGlobalCenterPos; /* 0x088 */ dMenu_Collect2DTop_c* mpDraw2DTop; /* 0x08C */ J2DPicture* mpBlackTex; /* 0x090 */ dMenu_save_c* mpSaveScrn; @@ -156,144 +166,21 @@ private: /* 0x168 */ CPaneMgr* mpHeartPiece; /* 0x16C */ CPaneMgr* mpButtonAB[2]; /* 0x174 */ CPaneMgr* mpButtonText[2]; - /* 0x17C */ u16 field_0x17c; - /* 0x17E */ u16 field_0x17e; + /* 0x17C */ u16 mCurrentAString; + /* 0x17E */ u16 mCurrentBString; /* 0x180 */ u16 field_0x180; - /* 0x182 */ u16 field_0x182; - /* 0x184 */ u16 field_0x184; - /* 0x186 */ u16 field_0x186; - /* 0x188 */ u16 field_0x188; - /* 0x18A */ u16 field_0x18a; - /* 0x18C */ u16 field_0x18c; - /* 0x18E */ u16 field_0x18e; - /* 0x190 */ u16 field_0x190; - /* 0x192 */ u16 field_0x192; - /* 0x194 */ u16 field_0x194; - /* 0x196 */ u16 field_0x196; - /* 0x198 */ u16 field_0x198; - /* 0x19A */ u16 field_0x19a; - /* 0x19C */ u16 field_0x19c; - /* 0x19E */ u16 field_0x19e; - /* 0x1A0 */ u16 field_0x1a0; - /* 0x1A2 */ u16 field_0x1a2; - /* 0x1A4 */ u16 field_0x1a4; - /* 0x1A6 */ u16 field_0x1a6; - /* 0x1A8 */ u16 field_0x1a8; - /* 0x1AA */ u16 field_0x1aa; - /* 0x1AC */ u16 field_0x1ac; - /* 0x1AE */ u16 field_0x1ae; - /* 0x1B0 */ u16 field_0x1b0; - /* 0x1B2 */ u16 field_0x1b2; - /* 0x1B4 */ u16 field_0x1b4; - /* 0x1B6 */ u16 field_0x1b6; - /* 0x1B8 */ u16 field_0x1b8; - /* 0x1BA */ u16 field_0x1ba; - /* 0x1BC */ u16 field_0x1bc; - /* 0x1BE */ u16 field_0x1be; - /* 0x1C0 */ u16 field_0x1c0; - /* 0x1C2 */ u16 field_0x1c2; - /* 0x1C4 */ u16 field_0x1c4; - /* 0x1C6 */ u16 field_0x1c6; - /* 0x1C8 */ u16 field_0x1c8; - /* 0x1CA */ u16 field_0x1ca; - /* 0x1CC */ u16 field_0x1cc; - /* 0x1CE */ u16 field_0x1ce; - /* 0x1D0 */ u16 field_0x1d0; - /* 0x1D2 */ u16 field_0x1d2; - /* 0x1D4 */ u16 field_0x1d4; - /* 0x1D6 */ u16 field_0x1d6; - /* 0x1D8 */ u16 field_0x1d8; - /* 0x1DA */ u16 field_0x1da; - /* 0x1DC */ u16 field_0x1dc; - /* 0x1DE */ u16 field_0x1de; - /* 0x1E0 */ u16 field_0x1e0; - /* 0x1E2 */ u16 field_0x1e2; - /* 0x1E4 */ u16 field_0x1e4; - /* 0x1E6 */ u16 field_0x1e6; - /* 0x1E8 */ u16 field_0x1e8; - /* 0x1EA */ u16 field_0x1ea; - /* 0x1EC */ u16 field_0x1ec; - /* 0x1EE */ u16 field_0x1ee; - /* 0x1F0 */ u16 field_0x1f0; - /* 0x1F2 */ u16 field_0x1f2; - /* 0x1F4 */ u16 field_0x1f4; - /* 0x1F6 */ u16 field_0x1f6; - /* 0x1F8 */ u16 field_0x1f8; - /* 0x1FA */ u16 field_0x1fa; - /* 0x1FC */ u16 field_0x1fc; - /* 0x1FE */ u16 field_0x1fe; - /* 0x200 */ u16 field_0x200; - /* 0x202 */ u16 field_0x202; - /* 0x204 */ u16 field_0x204; - /* 0x206 */ u16 field_0x206; - /* 0x208 */ u16 field_0x208; - /* 0x20A */ u16 field_0x20a; - /* 0x20C */ u16 field_0x20c; - /* 0x20E */ u16 field_0x20e; - /* 0x210 */ u16 field_0x210; - /* 0x212 */ u16 field_0x212; - /* 0x214 */ u16 field_0x214; - /* 0x216 */ u16 field_0x216; - /* 0x218 */ u16 field_0x218; - /* 0x21A */ u16 field_0x21a; - /* 0x21C */ u16 field_0x21c; - /* 0x21E */ u16 field_0x21e; - /* 0x220 */ u16 field_0x220; - /* 0x222 */ u16 field_0x222; - /* 0x224 */ u16 field_0x224; - /* 0x226 */ u16 field_0x226; - /* 0x228 */ u16 field_0x228; - /* 0x22A */ u16 field_0x22a; - /* 0x22C */ u8 field_0x22c; - /* 0x22D */ u8 field_0x22d; - /* 0x22E */ u8 field_0x22e; - /* 0x22F */ u8 field_0x22f; - /* 0x230 */ u8 field_0x230; - /* 0x231 */ u8 field_0x231; - /* 0x232 */ u8 field_0x232; - /* 0x233 */ u8 field_0x233; - /* 0x234 */ u8 field_0x234; - /* 0x235 */ u8 field_0x235; - /* 0x236 */ u8 field_0x236; - /* 0x237 */ u8 field_0x237; - /* 0x238 */ u8 field_0x238; - /* 0x239 */ u8 field_0x239; - /* 0x23A */ u8 field_0x23a; - /* 0x23B */ u8 field_0x23b; - /* 0x23C */ u8 field_0x23c; - /* 0x23D */ u8 field_0x23d; - /* 0x23E */ u8 field_0x23e; - /* 0x23F */ u8 field_0x23f; - /* 0x240 */ u8 field_0x240; - /* 0x241 */ u8 field_0x241; - /* 0x242 */ u8 field_0x242; - /* 0x243 */ u8 field_0x243; - /* 0x244 */ u8 field_0x244; - /* 0x245 */ u8 field_0x245; - /* 0x246 */ u8 field_0x246; - /* 0x247 */ u8 field_0x247; - /* 0x248 */ u8 field_0x248; - /* 0x249 */ u8 field_0x249; - /* 0x24A */ u8 field_0x24a; - /* 0x24B */ u8 field_0x24b; - /* 0x24C */ u8 field_0x24c; - /* 0x24D */ u8 field_0x24d; - /* 0x24E */ u8 field_0x24e; - /* 0x24F */ u8 field_0x24f; - /* 0x250 */ u8 field_0x250; - /* 0x251 */ u8 field_0x251; - /* 0x252 */ u8 field_0x252; - /* 0x253 */ u8 field_0x253; - /* 0x254 */ u8 field_0x254; - /* 0x255 */ u8 field_0x255; - /* 0x256 */ u8 field_0x256; + /* 0x182 */ u16 mItemNameString; + /* 0x184 */ u16 field_0x184[7][6]; + /* 0x1D8 */ u16 field_0x1d8[7][6]; + /* 0x22C */ u8 mProcess; + /* 0x22D */ u8 field_0x22d[7][6]; /* 0x257 */ u8 mCursorX; /* 0x258 */ u8 mCursorY; /* 0x259 */ u8 field_0x259; /* 0x25A */ u8 field_0x25a; - /* 0x25B */ u8 field_0x25b; - /* 0x25C */ u8 field_0x25c; - /* 0x25D */ u8 field_0x25d; + /* 0x25B */ u8 mEquippedSword; + /* 0x25C */ u8 mEquippedShield; + /* 0x25D */ u8 mEquippedClothes; /* 0x25E */ u8 mSubWindowOpenCheck; /* 0x25F */ u8 field_0x25f; /* 0x260 */ u8 field_0x260; @@ -307,17 +194,17 @@ public: /* 801B6694 */ void _delete(); /* 801B66C8 */ void _move(u8, u8); /* 801B696C */ void draw(); - /* 801B6A30 */ void setJ3D(char const*, char const*, char const*); + /* 801B6A30 */ void setJ3D(const char*, const char*, const char*); /* 801B6D30 */ void set_mtx(); /* 801B6E70 */ void animePlay(); /* 801B6FB0 */ void animeEntry(); /* 801B7014 */ void createMaskModel(); /* 801B71C4 */ void createMirrorModel(); - /* 801B7434 */ int getCrystalNum(); - /* 801B749C */ int getMirrorNum(); - /* 801B7504 */ void getMaskMdlVisible(); + /* 801B7434 */ static u8 getCrystalNum(); + /* 801B749C */ static u8 getMirrorNum(); + /* 801B7504 */ static u8 getMaskMdlVisible(); /* 801B75E8 */ static void setupItem3D(Mtx); - /* 801B7660 */ void toItem3Dpos(f32, f32, f32, cXyz*); + /* 801B7660 */ static void toItem3Dpos(f32, f32, f32, cXyz*); /* 801B774C */ static void calcViewMtx(Mtx); /* 801B6538 */ virtual ~dMenu_Collect3D_c(); @@ -328,21 +215,21 @@ private: /* 0x004 */ JKRExpHeap* mpHeap; /* 0x008 */ JKRSolidHeap* mpSolidHeap; /* 0x00C */ dMenu_Collect2D_c* mpCollect2D; - /* 0x010 */ void* field_0x10; - /* 0x014 */ CSTControl* field_0x14; + /* 0x010 */ STControl* mpStick; + /* 0x014 */ CSTControl* mpCStick; /* 0x018 */ J3DModel* mpModel; - /* 0x01C */ mDoExt_bckAnm* field_0x1c; - /* 0x020 */ mDoExt_brkAnm* field_0x20; - /* 0x024 */ u32 field_0x24; - /* 0x028 */ dKy_tevstr_c field_0x28; - /* 0x3B0 */ cXyz field_0x3b0; - /* 0x3BC */ csXyz field_0x3bc; - /* 0x3C4 */ f32 field_0x3c4; - /* 0x3C8 */ f32 field_0x3c8; - /* 0x3CC */ f32 field_0x3cc; - /* 0x3D0 */ f32 field_0x3d0; - /* 0x3D4 */ f32 field_0x3d4; - /* 0x3D8 */ s16 field_0x3d8; + /* 0x01C */ mDoExt_bckAnm* mpBckAnm; + /* 0x020 */ mDoExt_brkAnm* mpBrkAnm; + /* 0x024 */ u32 mIsWolf; + /* 0x028 */ dKy_tevstr_c mTevStr; + /* 0x3B0 */ cXyz mMaskMirrorPos; + /* 0x3BC */ csXyz mMaskMirrorAngle; + /* 0x3C4 */ f32 mMaskMirrorOffsetX; + /* 0x3C8 */ f32 mMaskMirrorOffsetY; + /* 0x3CC */ f32 mMaskMirrorScale; + /* 0x3D0 */ f32 mMaskMirrorAnmFrameBrk; + /* 0x3D4 */ f32 mMaskMirrorAnmFrameBck; + /* 0x3D8 */ s16 mLinkAngle; }; class dMenu_Collect_c { diff --git a/include/d/meter/d_meter2_info.h b/include/d/meter/d_meter2_info.h index 0d9504d7294..26cfa5ef4be 100644 --- a/include/d/meter/d_meter2_info.h +++ b/include/d/meter/d_meter2_info.h @@ -164,6 +164,8 @@ public: s16 getFloatingMessageTimer() { return mFloatingMessageTimer; } u16 getFloatingMessageID() { return mFloatingMessageID; } s16 getHorseLifeCount() { return mHorseLifeCount; } + u8 getCollectCursorPosX() { return mCollectCursorPosX; } + u8 getCollectCursorPosY() { return mCollectCursorPosY; } void setCollectCursorPosXY(u8 x, u8 y) { mCollectCursorPosX = x; mCollectCursorPosY = y; @@ -262,6 +264,7 @@ void dMeter2Info_set2DVibrationM(); static void dMeter2Info_setFloatingMessage(u16 pMessageID, s16 pMessageTimer, bool pWakuVisible); static void dMeter2Info_offUseButton(int pButton); bool dMeter2Info_is2DActiveTouchArea(); +u8 dMeter2Info_getRecieveLetterNum(); inline void dMeter2Info_Initialize() { g_meter2_info.init(); @@ -616,6 +619,14 @@ inline u16 dMeter2Info_getFloatingFlowID() { return g_meter2_info.getFloatingFlowID(); } +inline u8 dMeter2Info_getCollectCursorPosX() { + return g_meter2_info.getCollectCursorPosX(); +} + +inline u8 dMeter2Info_getCollectCursorPosY() { + return g_meter2_info.getCollectCursorPosY(); +} + inline void dMeter2Info_setCollectCursorPosXY(u8 x, u8 y) { g_meter2_info.setCollectCursorPosXY(x, y); } diff --git a/include/d/msg/d_msg_object.h b/include/d/msg/d_msg_object.h index bf86caa48e1..69a043805a4 100644 --- a/include/d/msg/d_msg_object.h +++ b/include/d/msg/d_msg_object.h @@ -137,7 +137,7 @@ public: /* 80238378 */ void isMsgSend(); /* 802383A4 */ static bool isMouthCheck(); /* 802383D0 */ static u32 getMessageID(); - /* 802383E4 */ void getSmellTypeMessageID(); + /* 802383E4 */ u32 getSmellTypeMessageID(); /* 80238410 */ static void setSmellType(u8); /* 80238440 */ void getSelectCursorPos(); /* 8023846C */ static void setSelectCursorPos(u8); @@ -310,6 +310,10 @@ inline u32 dMsgObject_getMessageID() { return dMsgObject_c::getMessageID(); } +inline u32 dMsgObject_getSmellTypeMessageID() { + return dMsgObject_getMsgObjectClass()->getSmellTypeMessageID(); +} + inline void dMsgObject_readMessageGroup(mDoDvdThd_mountXArchive_c** param_0) { dMsgObject_getMsgObjectClass()->readMessageGroup(param_0); } diff --git a/include/d/pane/d_pane_class.h b/include/d/pane/d_pane_class.h index 29af192550a..8b8b06dc631 100644 --- a/include/d/pane/d_pane_class.h +++ b/include/d/pane/d_pane_class.h @@ -63,6 +63,9 @@ public: f32 getInitGlobalPosX() { return mGlobalPos.x; } f32 getInitGlobalPosY() { return mGlobalPos.y; } + f32 getInitGlobalCenterPosX() { return mGlobalPos.x + mInitSize.x * 0.5f; } + f32 getInitGlobalCenterPosY() { return mGlobalPos.y + mInitSize.y * 0.5f; } + f32 getInitSizeX() { return mInitSize.x; } f32 getInitSizeY() { return mInitSize.y; } diff --git a/include/d/save/d_save.h b/include/d/save/d_save.h index 69c06ae7c56..a81b6c93dd6 100644 --- a/include/d/save/d_save.h +++ b/include/d/save/d_save.h @@ -15,6 +15,8 @@ #define LIGHT_DROP_STAGE 4 #define LETTER_INFO_BIT 64 #define MAX_INSECT_NUM 24 +#define MAX_VISIBLE_HEARTPIECES 4 +#define MAX_POH_NUM 100 #define BOMB_BAG_MAX 3 #define BOTTLE_MAX 4 #define TBOX_MAX 64 @@ -25,6 +27,12 @@ #define ITEM_ZONE_MAX 0x20 #define ITEM_ONE_ZONE_MAX 0x10 #define QUEST_LOG_SIZE 0xA94 +#define QUIVER_MAX 30 +#define BIG_QUIVER_MAX 60 +#define GIANT_QUIVER_MAX 100 +#define WALLET_MAX 300 +#define BIG_WALLET_MAX 600 +#define GIANT_WALLET_MAX 1000 enum Wallets { /* 0x0 */ WALLET, diff --git a/src/d/menu/d_menu_collect.cpp b/src/d/menu/d_menu_collect.cpp index 3b06036be4b..aca4b506b56 100644 --- a/src/d/menu/d_menu_collect.cpp +++ b/src/d/menu/d_menu_collect.cpp @@ -1,21 +1,32 @@ -// -// Generated By: dol2asm -// Translation Unit: d/menu/d_menu_collect -// +/** + * d_menu_collect.cpp + * Collection Menu + */ #include "d/menu/d_menu_collect.h" +#include "JSystem/J2DGraph/J2DGrafContext.h" #include "JSystem/J2DGraph/J2DTextBox.h" +#include "JSystem/J3DGraphBase/J3DMaterial.h" +#include "JSystem/J3DGraphLoader/J3DAnmLoader.h" +#include "JSystem/J3DGraphLoader/J3DModelLoader.h" +#include "JSystem/JKernel/JKRArchive.h" #include "JSystem/JKernel/JKRExpHeap.h" +#include "JSystem/JKernel/JKRSolidHeap.h" +#include "d/a/d_a_alink.h" #include "d/com/d_com_inf_game.h" +#include "d/d_item.h" #include "d/d_select_cursor.h" -#include "d/meter/d_meter_HIO.h" -#include "d/meter/d_meter2_info.h" #include "d/menu/d_menu_fishing.h" #include "d/menu/d_menu_insect.h" #include "d/menu/d_menu_letter.h" #include "d/menu/d_menu_option.h" #include "d/menu/d_menu_save.h" #include "d/menu/d_menu_skill.h" +#include "d/menu/d_menu_window.h" +#include "d/meter/d_meter2_info.h" +#include "d/meter/d_meter_HIO.h" +#include "d/msg/d_msg_class.h" +#include "d/msg/d_msg_object.h" #include "d/msg/d_msg_string.h" #include "d/pane/d_pane_class.h" #include "dol2asm.h" @@ -24,67 +35,6 @@ #include "m_Do/m_Do_graphic.h" #include "m_Do/m_Do_mtx.h" -// -// Types: -// - -struct daAlink_c { - /* 80140064 */ void setShieldChange(); - /* 801406A8 */ void initStatusWindow(); - /* 80140888 */ void statusWindowExecute(cXyz const*, s16); - /* 80140984 */ void statusWindowDraw(); - /* 80140AC8 */ void resetStatusWindow(); -}; - -struct dMsgObject_c { - /* 802383E4 */ void getSmellTypeMessageID(); -}; - -struct JMSMesgEntry_c {}; - -struct J3DTexNoAnm { - /* 8003B1F8 */ ~J3DTexNoAnm(); - /* 8003B240 */ J3DTexNoAnm(); -}; - -struct J3DTexMtxAnm { - /* 8003B264 */ ~J3DTexMtxAnm(); - /* 8003B2A0 */ J3DTexMtxAnm(); -}; - -struct J3DTevKColorAnm { - /* 8003B150 */ ~J3DTevKColorAnm(); - /* 8003B18C */ J3DTevKColorAnm(); -}; - -struct J3DTevColorAnm { - /* 8003B1A4 */ ~J3DTevColorAnm(); - /* 8003B1E0 */ J3DTevColorAnm(); -}; - -struct J3DModelLoaderDataBase { - /* 803346BC */ void load(void const*, u32); -}; - -struct J3DMaterialAnm { - /* 8032C320 */ void initialize(); -}; - -struct J3DMatColorAnm { - /* 8003B2B8 */ ~J3DMatColorAnm(); - /* 8003B2F4 */ J3DMatColorAnm(); -}; - -struct J3DAnmLoaderDataBaseFlag {}; - -struct J3DAnmLoaderDataBase { - /* 80337B40 */ void load(void const*, J3DAnmLoaderDataBaseFlag); -}; - -// -// Forward References: -// - extern "C" void __ct__17dMenu_Collect2D_cFP10JKRExpHeapP9STControlP10CSTControl(); extern "C" void __dt__17dMenu_Collect2D_cFv(); extern "C" void _create__17dMenu_Collect2D_cFv(); @@ -385,6 +335,34 @@ SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; +#ifdef NONMATCHING +typedef void (dMenu_Collect2D_c::*initFunc)(); +static initFunc init[] = { + &dMenu_Collect2D_c::wait_init, &dMenu_Collect2D_c::save_open_init, + &dMenu_Collect2D_c::save_move_init, &dMenu_Collect2D_c::save_close_init, + &dMenu_Collect2D_c::option_open_init, &dMenu_Collect2D_c::option_move_init, + &dMenu_Collect2D_c::option_close_init, &dMenu_Collect2D_c::letter_open_init, + &dMenu_Collect2D_c::letter_move_init, &dMenu_Collect2D_c::letter_close_init, + &dMenu_Collect2D_c::fishing_open_init, &dMenu_Collect2D_c::fishing_move_init, + &dMenu_Collect2D_c::fishing_close_init, &dMenu_Collect2D_c::skill_open_init, + &dMenu_Collect2D_c::skill_move_init, &dMenu_Collect2D_c::skill_close_init, + &dMenu_Collect2D_c::insect_open_init, &dMenu_Collect2D_c::insect_move_init, + &dMenu_Collect2D_c::insect_close_init}; + +typedef void (dMenu_Collect2D_c::*processFunc)(); +static processFunc process[] = { + &dMenu_Collect2D_c::wait_proc, &dMenu_Collect2D_c::save_open_proc, + &dMenu_Collect2D_c::save_move_proc, &dMenu_Collect2D_c::save_close_proc, + &dMenu_Collect2D_c::option_open_proc, &dMenu_Collect2D_c::option_move_proc, + &dMenu_Collect2D_c::option_close_proc, &dMenu_Collect2D_c::letter_open_proc, + &dMenu_Collect2D_c::letter_move_proc, &dMenu_Collect2D_c::letter_close_proc, + &dMenu_Collect2D_c::fishing_open_proc, &dMenu_Collect2D_c::fishing_move_proc, + &dMenu_Collect2D_c::fishing_close_proc, &dMenu_Collect2D_c::skill_open_proc, + &dMenu_Collect2D_c::skill_move_proc, &dMenu_Collect2D_c::skill_close_proc, + &dMenu_Collect2D_c::insect_open_proc, &dMenu_Collect2D_c::insect_move_proc, + &dMenu_Collect2D_c::insect_close_proc, +}; +#else /* 803BC38C-803BC398 -00001 000C+00 0/1 0/0 0/0 .data @4422 */ #pragma push #pragma force_active on @@ -802,6 +780,7 @@ SECTION_DATA static u8 process[228] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; +#endif /* 803BC71C-803BC72C -00001 0010+00 1/1 0/0 0/0 .data bck_name$7583 */ SECTION_DATA static void* bck_name_7583[4] = { @@ -904,25 +883,25 @@ SECTION_SDATA2 static f32 lit_4482 = 1.0f; #ifdef NONMATCHING dMenu_Collect2D_c::dMenu_Collect2D_c(JKRExpHeap* param_0, STControl* param_1, CSTControl* param_2) { mpHeap = param_0; - field_0x10 = param_1; - field_0x14 = param_2; + mpStick = param_1; + mpCStick = param_2; field_0xc = NULL; - field_0x40 = daPy_py_c::i_checkNowWolf(); - field_0x7c.set(0.0f, 0.0f, 0.0f); + mIsWolf = daPy_py_c::i_checkNowWolf(); + mLinkGlobalCenterPos.set(0.0f, 0.0f, 0.0f); for (int i = 0; i < 2; i++) { field_0x44[i] = 1.0f; field_0x4c[i] = 1.0f; } - field_0x54 = 0.0f; - field_0x58 = 0.0f; - field_0x5c = 1.0f; - field_0x60 = 1.0f; - field_0x64 = 0.0f; - field_0x68 = 0.0f; - field_0x6c = 1.0f; - field_0x70 = 0.0f; - field_0x74 = 0.0f; - field_0x78 = 1.0f; + mBlueSmokePosX = 0.0f; + mBlueSmokePosY = 0.0f; + mBlueSmokeScale = 1.0f; + mBlueSmokeAlpha = 1.0f; + mHeartVesselPosX = 0.0f; + mHeartVesselPosY = 0.0f; + mHeartVesselScale = 1.0f; + mHeartPiecePosX = 0.0f; + mHeartPiecePosY = 0.0f; + mHeartPieceScale = 1.0f; mpSubHeap = JKRCreateExpHeap(0x00046000, mpHeap, 0); } #else @@ -949,10 +928,12 @@ dMenu_Collect2D_c::~dMenu_Collect2D_c() { void dMenu_Collect2D_c::_create() { mpHeap->getTotalFreeSize(); mpScreen = new J2DScreen(); - mpScreen->setPriority("zelda_collect_soubi_screen.blo", 0x1020000, dComIfGp_getCollectResArchive()); + mpScreen->setPriority("zelda_collect_soubi_screen.blo", 0x1020000, + dComIfGp_getCollectResArchive()); dPaneClass_showNullPane(mpScreen); mpScreenIcon = new J2DScreen(); - mpScreenIcon->setPriority("zelda_collect_soubi_do_icon_parts.blo", 0x20000, dComIfGp_getCollectResArchive()); + mpScreenIcon->setPriority("zelda_collect_soubi_do_icon_parts.blo", 0x20000, + dComIfGp_getCollectResArchive()); for (int i = 0; i < 2; i++) { mpButtonAB[i] = NULL; mpButtonText[i] = NULL; @@ -971,7 +952,7 @@ void dMenu_Collect2D_c::_create() { mpFishingScrn = NULL; mpSkillScrn = NULL; mpInsectScrn = NULL; - field_0x22c = 0; + mProcess = 0; animationSet(); screenSet(); initialize(); @@ -1038,8 +1019,8 @@ void dMenu_Collect2D_c::_delete() { mpSubHeap->freeAll(); } mDoExt_setCurrentHeap(heap); - delete field_0x2c; - field_0x2c = NULL; + delete mpAnmKey; + mpAnmKey = NULL; for (int i = 0; i < 7; i++) { for (int j = 0; j < 6; j++) { if (mpSelPm[i][j]) { @@ -1063,6 +1044,12 @@ void dMenu_Collect2D_c::_delete() { /* 801B0570-801B05A8 1AAEB0 0038+00 1/1 0/0 0/0 .text initialize__17dMenu_Collect2D_cFv */ +// Matches with sinit +#ifdef NONMATCHING +void dMenu_Collect2D_c::initialize() { + (this->*init[mProcess])(); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1071,15 +1058,12 @@ asm void dMenu_Collect2D_c::initialize() { #include "asm/d/menu/d_menu_collect/initialize__17dMenu_Collect2D_cFv.s" } #pragma pop +#endif /* 801B05A8-801B061C 1AAEE8 0074+00 2/2 0/0 0/0 .text isFishIconVisible__17dMenu_Collect2D_cFv */ bool dMenu_Collect2D_c::isFishIconVisible() { - if (dComIfGs_getFishNum(0) || - dComIfGs_getFishNum(1) || - dComIfGs_getFishNum(2) || - dComIfGs_getFishNum(3) || - dComIfGs_getFishNum(4) || - dComIfGs_getFishNum(5) || + if (dComIfGs_getFishNum(0) || dComIfGs_getFishNum(1) || dComIfGs_getFishNum(2) || + dComIfGs_getFishNum(3) || dComIfGs_getFishNum(4) || dComIfGs_getFishNum(5) || g_drawHIO.mFishListScreen.mDebug) { return true; @@ -1089,7 +1073,7 @@ bool dMenu_Collect2D_c::isFishIconVisible() { /* 801B061C-801B071C 1AAF5C 0100+00 2/2 0/0 0/0 .text isSkillIconVisible__17dMenu_Collect2D_cFv */ bool dMenu_Collect2D_c::isSkillIconVisible() { - if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[338]) || + if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[338]) || i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[339]) || i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[340]) || i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[341]) || @@ -1134,63 +1118,57 @@ COMPILER_STRIP_GATE(0x80394F78, &lit_3778); /* 80394F88-80394FA0 0215E8 0018+00 0/1 0/0 0/0 .rodata text_sv$4768 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const text_sv[24] = { - 0x00, 0x00, 0x00, 0x73, 0x61, 0x76, 0x5F, 0x30, 0x00, 0x00, 0x00, 0x73, - 0x61, 0x76, 0x5F, 0x31, 0x00, 0x00, 0x00, 0x73, 0x61, 0x76, 0x5F, 0x32, +static const u64 text_sv[3] = { + 'sav_0', + 'sav_1', + 'sav_2', }; -COMPILER_STRIP_GATE(0x80394F88, &text_sv); #pragma pop /* 80394FA0-80394FB8 021600 0018+00 0/1 0/0 0/0 .rodata text_op$4769 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const text_op[24] = { - 0x00, 0x00, 0x00, 0x6F, 0x70, 0x74, 0x5F, 0x30, 0x00, 0x00, 0x00, 0x6F, - 0x70, 0x74, 0x5F, 0x31, 0x00, 0x00, 0x00, 0x6F, 0x70, 0x74, 0x5F, 0x32, +static const u64 text_op[3] = { + 'opt_0', + 'opt_1', + 'opt_2', }; -COMPILER_STRIP_GATE(0x80394FA0, &text_op); #pragma pop /* 80394FB8-80394FD0 021618 0018+00 0/1 0/0 0/0 .rodata ftext_sv$4770 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const ftext_sv[24] = { - 0x00, 0x66, 0x5F, 0x73, 0x61, 0x76, 0x5F, 0x30, 0x00, 0x66, 0x5F, 0x73, - 0x61, 0x76, 0x5F, 0x31, 0x00, 0x66, 0x5F, 0x73, 0x61, 0x76, 0x5F, 0x32, +static const u64 ftext_sv[3] = { + 'f_sav_0', + 'f_sav_1', + 'f_sav_2', }; -COMPILER_STRIP_GATE(0x80394FB8, &ftext_sv); #pragma pop /* 80394FD0-80394FE8 021630 0018+00 0/1 0/0 0/0 .rodata ftext_op$4771 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const ftext_op[24] = { - 0x00, 0x66, 0x5F, 0x6F, 0x70, 0x74, 0x5F, 0x30, 0x00, 0x66, 0x5F, 0x6F, - 0x70, 0x74, 0x5F, 0x31, 0x00, 0x66, 0x5F, 0x6F, 0x70, 0x74, 0x5F, 0x32, +static const u64 ftext_op[3] = { + 'f_opt_0', + 'f_opt_1', + 'f_opt_2', }; -COMPILER_STRIP_GATE(0x80394FD0, &ftext_op); #pragma pop /* 80394FE8-80395010 021648 0028+00 0/1 0/0 0/0 .rodata text_a_tag$4777 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const text_a_tag_4777[40] = { - 0x61, 0x74, 0x65, 0x78, 0x74, 0x31, 0x5F, 0x31, 0x61, 0x74, 0x65, 0x78, 0x74, 0x31, - 0x5F, 0x32, 0x61, 0x74, 0x65, 0x78, 0x74, 0x31, 0x5F, 0x33, 0x61, 0x74, 0x65, 0x78, - 0x74, 0x31, 0x5F, 0x34, 0x61, 0x74, 0x65, 0x78, 0x74, 0x31, 0x5F, 0x35, +static const u64 text_a_tag_4777[5] = { + 'atext1_1', 'atext1_2', 'atext1_3', 'atext1_4', 'atext1_5', }; -COMPILER_STRIP_GATE(0x80394FE8, &text_a_tag_4777); #pragma pop /* 80395010-80395038 021670 0028+00 0/1 0/0 0/0 .rodata text_b_tag$4778 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const text_b_tag_4778[40] = { - 0x62, 0x74, 0x65, 0x78, 0x74, 0x31, 0x5F, 0x31, 0x62, 0x74, 0x65, 0x78, 0x74, 0x31, - 0x5F, 0x32, 0x62, 0x74, 0x65, 0x78, 0x74, 0x31, 0x5F, 0x33, 0x62, 0x74, 0x65, 0x78, - 0x74, 0x31, 0x5F, 0x34, 0x62, 0x74, 0x65, 0x78, 0x74, 0x31, 0x5F, 0x35, +static const u64 text_b_tag_4778[5] = { + 'btext1_1', 'btext1_2', 'btext1_3', 'btext1_4', 'btext1_5', }; -COMPILER_STRIP_GATE(0x80395010, &text_b_tag_4778); #pragma pop /* 80453F30-80453F34 002530 0004+00 2/2 0/0 0/0 .sdata2 @5173 */ @@ -1200,6 +1178,380 @@ SECTION_SDATA2 static f32 lit_5173 = 0.5f; SECTION_SDATA2 static f32 lit_5174 = -1000.0f; /* 801B074C-801B1C3C 1AB08C 14F0+00 1/1 0/0 0/0 .text screenSet__17dMenu_Collect2D_cFv */ +// issues with addi instructions +#ifdef NONMATCHING +void dMenu_Collect2D_c::screenSet() { + static_cast(mpScreen->search('f_t00'))->setFont(mDoExt_getRubyFont()); + static_cast(mpScreen->search('f_t00'))->setString(0x20, ""); + dMeter2Info_getStringKanji( + 0x3E1, static_cast(mpScreen->search('f_t00'))->getStringPtr(), NULL); + mpScreen->search('t_t00')->hide(); + + for (int i = 0; i < 3; i++) { + static_cast(mpScreen->search(ftext_sv[i]))->setFont(mDoExt_getMesgFont()); + static_cast(mpScreen->search(ftext_op[i]))->setFont(mDoExt_getMesgFont()); + static_cast(mpScreen->search(ftext_sv[i]))->setString(0x20, ""); + static_cast(mpScreen->search(ftext_op[i]))->setString(0x20, ""); + dMeter2Info_getStringKanji( + 0x60, static_cast(mpScreen->search(ftext_sv[i]))->getStringPtr(), NULL); + dMeter2Info_getStringKanji( + 0x5F, static_cast(mpScreen->search(ftext_op[i]))->getStringPtr(), NULL); + mpScreen->search(ftext_sv[i])->hide(); + mpScreen->search(ftext_op[i])->hide(); + } + + for (int i = 0; i < 5; i++) { + static_cast(mpScreenIcon->search(text_a_tag_4777[i])) + ->setFont(mDoExt_getMesgFont()); + static_cast(mpScreenIcon->search(text_b_tag_4778[i])) + ->setFont(mDoExt_getMesgFont()); + static_cast(mpScreenIcon->search(text_a_tag_4777[i]))->setString(0x20, ""); + static_cast(mpScreenIcon->search(text_b_tag_4778[i]))->setString(0x20, ""); + } + + static_cast(mpScreen->search('item_n04'))->setFont(mDoExt_getMesgFont()); + static_cast(mpScreen->search('item_n05'))->setFont(mDoExt_getMesgFont()); + static_cast(mpScreen->search('item_n06'))->setFont(mDoExt_getMesgFont()); + static_cast(mpScreen->search('item_n07'))->setFont(mDoExt_getMesgFont()); + static_cast(mpScreen->search('item_n04'))->setString(0x20, ""); + static_cast(mpScreen->search('item_n05'))->setString(0x20, ""); + static_cast(mpScreen->search('item_n06'))->setString(0x20, ""); + static_cast(mpScreen->search('item_n07'))->setString(0x20, ""); + static_cast(mpScreen->search('f_text1'))->setFont(mDoExt_getMesgFont()); + static_cast(mpScreen->search('f_text0'))->setFont(mDoExt_getMesgFont()); + static_cast(mpScreen->search('f_text1'))->setString(0x100, ""); + static_cast(mpScreen->search('f_text0'))->setString(0x100, ""); + + mpScreen->search('item_n00')->hide(); + mpScreen->search('item_n01')->hide(); + mpScreen->search('item_n02')->hide(); + mpScreen->search('item_n03')->hide(); + mpScreen->search('i_text1')->hide(); + mpScreen->search('i_text0')->hide(); + + field_0x22d[0][0] = 0; + field_0x22d[1][0] = 0; + field_0x22d[2][0] = 0; + field_0x22d[3][0] = i_dComIfGs_isItemFirstBit(0x28) || + (i_dComIfGs_isItemFirstBit(0x3F) && !i_dComIfGs_isEventBit(0x302)) ? + true : + false; + + if (field_0x22d[3][0] != 0) { + if (i_dComIfGs_isItemFirstBit(0x28)) { + mpScreen->search('ken_00')->hide(); + mpScreen->search('ken_01')->show(); + } else if (i_dComIfGs_isItemFirstBit(0x3F) && !i_dComIfGs_isEventBit(0x302)) { + mpScreen->search('ken_00')->show(); + mpScreen->search('ken_01')->hide(); + } + } + + field_0x22d[4][0] = + i_dComIfGs_isItemFirstBit(0x29) || i_dComIfGs_isItemFirstBit(0x49) ? true : false; + if (dComIfGs_getMaxLife() > 15) { + field_0x22d[5][0] = 1; + } else { + field_0x22d[5][0] = 0; + } + field_0x22d[6][0] = dMenu_Collect3D_c::getMaskMdlVisible(); + field_0x22d[0][1] = 0; + field_0x22d[1][1] = 0; + field_0x22d[2][1] = 0; + + field_0x22d[3][1] = + i_dComIfGs_isItemFirstBit(0x2B) || i_dComIfGs_isItemFirstBit(0x2A) ? true : false; + if (field_0x22d[3][1] != 0) { + if (i_dComIfGs_isItemFirstBit(0x2B)) { + mpScreen->search('tate_00')->show(); + mpScreen->search('tate_01')->hide(); + } else if (i_dComIfGs_isItemFirstBit(0x2A)) { + mpScreen->search('tate_00')->hide(); + mpScreen->search('tate_01')->show(); + } + } + field_0x22d[4][1] = i_dComIfGs_isItemFirstBit(0x2C); + field_0x22d[5][1] = 0; + field_0x22d[6][1] = 0; + field_0x22d[0][2] = 0; + field_0x22d[1][2] = 0; + field_0x22d[2][2] = 0; + if (dComIfGs_getSelectEquipClothes() == WEAR_CASUAL) { + field_0x22d[3][2] = 0; + field_0x22d[4][2] = 0; + field_0x22d[5][2] = 0; + } else { + field_0x22d[3][2] = i_dComIfGs_isItemFirstBit(0x2F); + field_0x22d[4][2] = i_dComIfGs_isItemFirstBit(0x31); + field_0x22d[5][2] = i_dComIfGs_isItemFirstBit(0x30); + } + field_0x22d[6][2] = 0; + field_0x22d[0][3] = 1; + if (checkItemGet(BOW, 1)) { + field_0x22d[1][3] = 1; + } else { + field_0x22d[1][3] = 0; + } + if (isInsectIconVisible()) { + field_0x22d[2][3] = 1; + } else { + field_0x22d[2][3] = 0; + } + field_0x22d[3][3] = isSkillIconVisible(); + field_0x22d[4][3] = 0; + field_0x22d[5][3] = 0; + field_0x22d[6][3] = 0; + if (dComIfGs_getCollectSmell() != NO_ITEM) { + field_0x22d[0][4] = 1; + } else { + field_0x22d[0][4] = 0; + } + field_0x22d[1][4] = dComIfGs_getPohSpiritNum(); + if (isFishIconVisible()) { + field_0x22d[2][4] = 1; + } else { + field_0x22d[2][4] = 0; + } + if (g_drawHIO.mLetterSelectScreen.mLetterNum > 0) { + field_0x22d[3][4] = 1; + } else { + if (dMeter2Info_getRecieveLetterNum()) { + field_0x22d[3][4] = 1; + } else { + field_0x22d[3][4] = 0; + } + } + field_0x22d[4][4] = 0; + field_0x22d[5][4] = 0; + field_0x22d[6][4] = 0; + field_0x22d[0][5] = 1; + field_0x22d[1][5] = 1; + field_0x22d[2][5] = 0; + field_0x22d[3][5] = 0; + field_0x22d[4][5] = 0; + field_0x22d[5][5] = 0; + field_0x22d[6][5] = 0; + field_0x184[0][0] = 0; + field_0x184[1][0] = 0; + field_0x184[2][0] = 0; + if (i_dComIfGs_isItemFirstBit(0x28)) { + field_0x184[3][0] = 0x18d; + } else { + field_0x184[3][0] = 0x1a4; + } + if (i_dComIfGs_isItemFirstBit(0x49)) { + field_0x184[4][0] = 0x1ae; + } else { + field_0x184[4][0] = 0x18e; + } + field_0x184[5][0] = 0x186; + if (field_0x22d[6][0] == 2) { + if (dMenu_Collect3D_c::getMirrorNum() >= 4) { + field_0x184[6][0] = 0x20c; + } else { + if (dMenu_Collect3D_c::getMirrorNum() >= 2) { + field_0x184[6][0] = 0x20b; + } else { + field_0x184[6][0] = 0x20a; + } + } + } else { + if (dMenu_Collect3D_c::getCrystalNum() <= 1) { + field_0x184[6][0] = 0x5aa; + } else { + field_0x184[6][0] = 0x5ab; + } + } + field_0x184[0][1] = 0; + field_0x184[1][1] = 0; + field_0x184[2][1] = 0; + if (i_dComIfGs_isItemFirstBit(0x2B)) { + field_0x184[3][1] = 0x190; + } else { + field_0x184[3][1] = 0x18f; + } + field_0x184[4][1] = 0x191; + field_0x184[5][1] = 0x192; + field_0x184[6][1] = 0; + field_0x184[0][2] = 0; + field_0x184[1][2] = 0; + field_0x184[2][2] = 0; + field_0x184[3][2] = 0x194; + field_0x184[4][2] = 0x196; + field_0x184[5][2] = 0x195; + field_0x184[6][2] = 0; + if (dComIfGs_getRupeeMax() == WALLET_MAX) { + field_0x184[0][3] = 0x199; + } else if (dComIfGs_getRupeeMax() == BIG_WALLET_MAX) { + field_0x184[0][3] = 0x19a; + } else { + field_0x184[0][3] = 0x19b; + } + if (dComIfGs_getArrowMax() == QUIVER_MAX) { + field_0x184[1][3] = 0x1b9; + } else if (dComIfGs_getArrowMax() == BIG_QUIVER_MAX) { + field_0x184[1][3] = 0x1ba; + } else { + field_0x184[1][3] = 0x1bb; + } + field_0x184[2][3] = 0x5b8; + field_0x184[3][3] = 0x5b0; + field_0x184[4][3] = 0; + field_0x184[5][3] = 0; + field_0x184[6][3] = 0; + field_0x184[0][4] = dMsgObject_getSmellTypeMessageID(); + field_0x184[1][4] = 0x245; + field_0x184[2][4] = 0x5a1; + field_0x184[3][4] = 0x4c8; + field_0x184[4][4] = 0; + field_0x184[5][4] = 0; + field_0x184[6][4] = 0; + field_0x184[0][5] = 0x60; + field_0x184[1][5] = 0x5f; + field_0x184[2][5] = 0; + field_0x184[3][5] = 0; + field_0x184[4][5] = 0; + field_0x184[5][5] = 0; + field_0x184[6][5] = 0; + field_0x1d8[0][0] = 0; + field_0x1d8[1][0] = 0; + field_0x1d8[2][0] = 0; + field_0x1d8[3][0] = field_0x184[3][0] + 0x100; + field_0x1d8[4][0] = field_0x184[4][0] + 0x100; + field_0x1d8[5][0] = field_0x184[5][0] + 0x100; + if (field_0x22d[6][0] == 2) { + if (dMenu_Collect3D_c::getMirrorNum() >= 4) { + field_0x1d8[6][0] = 0x30c; + } else { + if (dMenu_Collect3D_c::getMirrorNum() >= 2) { + field_0x1d8[6][0] = 0x30b; + } else { + field_0x1d8[6][0] = 0x30a; + } + } + } else { + if (dMenu_Collect3D_c::getCrystalNum() <= 1) { + field_0x1d8[6][0] = 0x5ac; + } else { + field_0x1d8[6][0] = 0x5ad; + } + } + field_0x1d8[0][1] = 0; + field_0x1d8[1][1] = 0; + field_0x1d8[2][1] = 0; + field_0x1d8[3][1] = field_0x184[3][1] + 0x100; + field_0x1d8[4][1] = field_0x184[4][1] + 0x100; + field_0x1d8[5][1] = field_0x184[5][1] + 0x100; + field_0x1d8[6][1] = 0; + field_0x1d8[0][2] = 0; + field_0x1d8[1][2] = 0; + field_0x1d8[2][2] = 0; + field_0x1d8[3][2] = field_0x184[3][2] + 0x100; + field_0x1d8[4][2] = field_0x184[4][2] + 0x100; + field_0x1d8[5][2] = field_0x184[5][2] + 0x100; + field_0x1d8[6][2] = 0; + field_0x1d8[0][3] = field_0x184[0][3] + 0x100; + field_0x1d8[1][3] = field_0x184[1][3] + 0x100; + field_0x1d8[2][3] = 0x5b9; + field_0x1d8[2][3] = 0x5b1; + field_0x1d8[3][3] = 0; + field_0x1d8[5][3] = 0; + field_0x1d8[6][3] = 0; + field_0x1d8[0][4] = dMsgObject_getSmellTypeMessageID() + 0x100; + if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[456])) { + field_0x1d8[1][4] = 0x12d8; + } else { + field_0x1d8[1][4] = field_0x184[1][4] + 0x100; + } + field_0x1d8[2][4] = 0x5a2; + field_0x1d8[3][4] = 0x4c9; + field_0x1d8[4][4] = 0; + field_0x1d8[5][4] = 0; + field_0x1d8[6][4] = 0; + field_0x1d8[0][5] = 0x4c5; + field_0x1d8[1][5] = 0x4c6; + field_0x1d8[2][5] = 0; + field_0x1d8[3][5] = 0; + field_0x1d8[4][5] = 0; + field_0x1d8[5][5] = 0; + field_0x1d8[6][5] = 0; + mCursorX = dMeter2Info_getCollectCursorPosX(); + mCursorY = dMeter2Info_getCollectCursorPosY(); + if (dMenu_Collect3D_c::getMaskMdlVisible() == 0) { + if (mCursorX == 6 && mCursorY == 0) { + mCursorX = 3; + mCursorY = 0; + } + } + field_0x259 = mCursorX; + field_0x25a = mCursorY; + mCurrentAString = 0; + mCurrentBString = 0; + field_0x180 = 0; + mItemNameString = 0; + mEquippedSword = 0xff; + mEquippedShield = 0xff; + mEquippedClothes = 0xff; + mSubWindowOpenCheck = 0; + field_0x25f = 0; + field_0x260 = 0xff; + field_0x261 = 0xff; + setEquipItemFrameColorSword(-1); + setEquipItemFrameColorShield(-1); + setEquipItemFrameColorClothes(-1); + u8 i_copy; + u8 j_copy; + bool bVar18 = false; + bool bVar2 = false; + for (int i = 0; i < 7; i++) { + for (int j = 0; j < 6; j++) { + if (getItemTag(i, j, true)) { + mpSelPm[i][j] = new CPaneMgr(mpScreen, getItemTag(i, j, true), 0, NULL); + if (!bVar18) { + i_copy = i; + j_copy = j; + bVar18 = true; + } + if (!bVar2) { + if (mCursorX == i && mCursorY == j) { + bVar2 = true; + } + } + } else { + mpSelPm[i][j] = NULL; + } + if (getItemTag(i, j, false)) { + if (field_0x22d[i][j] != 0 || (i == 5 && j == 0)) { + mpScreen->search(getItemTag(i, j, false))->show(); + } else { + mpScreen->search(getItemTag(i, j, false))->hide(); + } + } + } + } + if (!bVar2) { + mCursorX = i_copy; + mCursorY = j_copy; + } + mpLinkPm = new CPaneMgr(mpScreen, 'linki_n', 0, NULL); + mLinkGlobalCenterPos.x = mpLinkPm->getInitGlobalCenterPosX(); + mLinkGlobalCenterPos.y = mpLinkPm->getInitGlobalCenterPosY(); + mLinkGlobalCenterPos.z = -1000.0f; + mpMaskPm = new CPaneMgr(mpScreen, 'kamen_n', 0, NULL); + mpModelBg = new CPaneMgr(mpScreen, 'modelbgn', 2, NULL); + mpHeartParent = new CPaneMgr(mpScreen, 'heart_n', 0, NULL); + mpHeartPiece = new CPaneMgr(mpScreen, 'heart_kn', 0, NULL); + setAButtonString(mCurrentAString); + setBButtonString(mCurrentBString); + setItemNameString(mCursorX, mCursorY); + cursorPosSet(); + setArrowMaxNum(dComIfGs_getArrowMax()); + setWalletMaxNum(dComIfGs_getRupeeMax()); + setSmellType(); + setHeartPiece(); + setPohMaxNum(dComIfGs_getPohSpiritNum()); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1208,6 +1560,7 @@ asm void dMenu_Collect2D_c::screenSet() { #include "asm/d/menu/d_menu_collect/screenSet__17dMenu_Collect2D_cFv.s" } #pragma pop +#endif /* 801B1C3C-801B1CE0 1AC57C 00A4+00 1/1 0/0 0/0 .text animationSet__17dMenu_Collect2D_cFv */ @@ -1215,11 +1568,12 @@ asm void dMenu_Collect2D_c::screenSet() { #ifdef NONMATCHING void dMenu_Collect2D_c::animationSet() { i_OSInitFastCast(); - void* resource = JKRGetNameResource("zelda_collect_soubi_screen_revo.btk", dComIfGp_getCollectResArchive()); - field_0x2c = (J2DAnmTextureSRTKey*)J2DAnmLoaderDataBase::load(resource); - field_0x2c->searchUpdateMaterialID(mpScreen); + void* resource = + JKRGetNameResource("zelda_collect_soubi_screen_revo.btk", dComIfGp_getCollectResArchive()); + mpAnmKey = (J2DAnmTextureSRTKey*)J2DAnmLoaderDataBase::load(resource); + mpAnmKey->searchUpdateMaterialID(mpScreen); field_0x34 = 0.0f; - field_0x38 = 0.0f; + mFrame = 0.0f; field_0x3c = 0.0f; } #else @@ -1239,6 +1593,26 @@ SECTION_SDATA2 static f64 lit_5199 = 4503601774854144.0 /* cast s32 to float */; /* 801B1CE0-801B1EDC 1AC620 01FC+00 1/1 0/0 0/0 .text * btkAnimeLoop0__17dMenu_Collect2D_cFP19J2DAnmTextureSRTKey */ +// Matches with literals +#ifdef NONMATCHING +void dMenu_Collect2D_c::btkAnimeLoop0(J2DAnmTextureSRTKey* i_SRTKey) { + if (i_SRTKey != NULL) { + mFrame++; + if (mFrame >= i_SRTKey->getFrameMax()) { + mFrame -= i_SRTKey->getFrameMax(); + } + i_SRTKey->setFrame(mFrame); + } else { + mFrame = 0.0f; + } + static_cast(mpScreen->search('modelbg0'))->setAnimation(i_SRTKey); + static_cast(mpScreen->search('modelbg1'))->setAnimation(i_SRTKey); + static_cast(mpScreen->search('modelbg2'))->setAnimation(i_SRTKey); + static_cast(mpScreen->search('modelbg3'))->setAnimation(i_SRTKey); + static_cast(mpScreen->search('modelbg4'))->setAnimation(i_SRTKey); + static_cast(mpScreen->search('modelbg5'))->setAnimation(i_SRTKey); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1247,6 +1621,7 @@ asm void dMenu_Collect2D_c::btkAnimeLoop0(J2DAnmTextureSRTKey* param_0) { #include "asm/d/menu/d_menu_collect/btkAnimeLoop0__17dMenu_Collect2D_cFP19J2DAnmTextureSRTKey.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80453F40-80453F44 002540 0004+00 1/1 0/0 0/0 .sdata2 @5268 */ @@ -1260,6 +1635,51 @@ SECTION_SDATA2 static f64 lit_5271 = 4503599627370496.0 /* cast u32 to float */; /* 801B1EDC-801B1FAC 1AC81C 00D0+00 1/1 0/0 0/0 .text setBackAlpha__17dMenu_Collect2D_cFv */ +// Matches with literals +#ifdef NONMATCHING +void dMenu_Collect2D_c::setBackAlpha() { + f32 alpha = mpBlackTex->getAlpha() / 150.0f; + + switch (mProcess) { + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: + case 11: + case 12: + case 13: + case 14: + case 15: + case 16: + case 17: + case 18: + if (alpha < 1.0f) { + alpha += 0.2f; + } + if (alpha > 1.0f) { + alpha = 1.0f; + } + break; + + default: + if (alpha > 0.0f) { + alpha -= 0.2f; + } + if (alpha < 0.0f) { + alpha = 0.0f; + } + break; + } + + mpBlackTex->setAlpha(alpha * 150.0f); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1268,6 +1688,7 @@ asm void dMenu_Collect2D_c::setBackAlpha() { #include "asm/d/menu/d_menu_collect/setBackAlpha__17dMenu_Collect2D_cFv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80395038-80395044 021698 0009+03 1/1 0/0 0/0 .rodata @5343 */ @@ -1356,6 +1777,46 @@ SECTION_SDATA2 static f32 lit_5617 = 7.0f / 10.0f; /* 801B27EC-801B2A74 1AD12C 0288+00 2/2 0/0 0/0 .text cursorPosSet__17dMenu_Collect2D_cFv */ +// Matches with literals +#ifdef NONMATCHING +void dMenu_Collect2D_c::cursorPosSet() { + for (int i = 0; i < 7; i++) { + for (int j = 0; j < 6; j++) { + if (getItemTag(i, j, true) != 0) { + J2DPane* itemTag = mpScreen->search(getItemTag(i, j, true)); + if ((i != 0 || j != 0) && (i != 6 || j != 0)) { + if (j == 5) { + if (i == mCursorX && j == mCursorY) { + itemTag->scale(g_drawHIO.mCollectScreen.mSelectSaveOptionScale, + g_drawHIO.mCollectScreen.mSelectSaveOptionScale); + } else { + itemTag->scale(g_drawHIO.mCollectScreen.mUnselectSaveOptionScale, + g_drawHIO.mCollectScreen.mUnselectSaveOptionScale); + } + } else if (i == mCursorX && j == mCursorY) { + itemTag->scale(g_drawHIO.mCollectScreen.mSelectItemScale, + g_drawHIO.mCollectScreen.mSelectItemScale); + } else { + itemTag->scale(g_drawHIO.mCollectScreen.mUnselectItemScale, + g_drawHIO.mCollectScreen.mUnselectItemScale); + } + } + } + } + } + + mpDrawCursor->setAlphaRate(1.0f); + Vec pos = mpSelPm[mCursorX][mCursorY]->getGlobalVtxCenter(false, 0); + mpDrawCursor->setPos(pos.x, pos.y, mpSelPm[mCursorX][mCursorY]->getPanePtr(), false); + if (mCursorY == 5) { + mpDrawCursor->setParam(1.1f, 0.85f, 0.05f, 0.5f, 0.5f); + } else if (mCursorX == 6 && mCursorY == 0) { + mpDrawCursor->setParam(0.6f, 0.85f, 0.03f, 0.6f, 0.6f); + } else { + mpDrawCursor->setParam(1.0f, 1.0f, 0.1f, 0.7f, 0.7f); + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1364,9 +1825,56 @@ asm void dMenu_Collect2D_c::cursorPosSet() { #include "asm/d/menu/d_menu_collect/cursorPosSet__17dMenu_Collect2D_cFv.s" } #pragma pop +#endif /* 801B2A74-801B2D00 1AD3B4 028C+00 1/1 0/0 0/0 .text changeSword__17dMenu_Collect2D_cFv */ +// Matches with literals +#ifdef NONMATCHING +void dMenu_Collect2D_c::changeSword() { + switch (mCursorX) { + case 3: + if (i_dComIfGs_isItemFirstBit(SWORD)) { + if (dComIfGs_getSelectEquipSword() != SWORD) { + dMeter2Info_setSword(SWORD, false); + setEquipItemFrameColorSword(0); + mDoAud_seStart(Z2SE_SY_ITEM_SET_X, NULL, 0, 0); + dMeter2Info_set2DVibration(); + } + } else if (dComIfGs_getSelectEquipSword() != WOOD_STICK) { + dMeter2Info_setSword(WOOD_STICK, false); + setEquipItemFrameColorSword(0); + Z2GetAudioMgr()->seStart(Z2SE_SY_ITEM_SET_X, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + dMeter2Info_set2DVibration(); + } + break; + case 4: + if (i_dComIfGs_isItemFirstBit(LIGHT_SWORD)) { + if (dComIfGs_getSelectEquipSword() != LIGHT_SWORD) { + dMeter2Info_setSword(LIGHT_SWORD, false); + setEquipItemFrameColorSword(1); + Z2GetAudioMgr()->seStart(Z2SE_SY_ITEM_SET_X, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, + 0); + dMeter2Info_set2DVibration(); + } + } else if (dComIfGs_getSelectEquipSword() != MASTER_SWORD) { + dMeter2Info_setSword(MASTER_SWORD, false); + setEquipItemFrameColorSword(1); + Z2GetAudioMgr()->seStart(Z2SE_SY_ITEM_SET_X, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + dMeter2Info_set2DVibration(); + } + break; + case 5: + if (dComIfGs_getSelectEquipSword() != LIGHT_SWORD) { + dMeter2Info_setSword(LIGHT_SWORD, false); + setEquipItemFrameColorSword(2); + Z2GetAudioMgr()->seStart(Z2SE_SY_ITEM_SET_X, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + dMeter2Info_set2DVibration(); + } + break; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1375,9 +1883,47 @@ asm void dMenu_Collect2D_c::changeSword() { #include "asm/d/menu/d_menu_collect/changeSword__17dMenu_Collect2D_cFv.s" } #pragma pop +#endif /* 801B2D00-801B2EE4 1AD640 01E4+00 1/1 0/0 0/0 .text changeShield__17dMenu_Collect2D_cFv */ +// Matches with literals +#ifdef NONMATCHING +void dMenu_Collect2D_c::changeShield() { + switch (mCursorX) { + case 3: + if (i_dComIfGs_isItemFirstBit(SHIELD)) { + if (dComIfGs_getSelectEquipShield() != SHIELD) { + dMeter2Info_setShield(SHIELD, false); + setEquipItemFrameColorShield(0); + daAlink_getAlinkActorClass()->setShieldChange(); + Z2GetAudioMgr()->seStart(Z2SE_SY_ITEM_SET_X, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, + 0); + dMeter2Info_set2DVibration(); + } + } else if (i_dComIfGs_isItemFirstBit(WOOD_SHIELD)) { + if (dComIfGs_getSelectEquipShield() != WOOD_SHIELD) { + dMeter2Info_setShield(WOOD_SHIELD, false); + setEquipItemFrameColorShield(0); + daAlink_getAlinkActorClass()->setShieldChange(); + Z2GetAudioMgr()->seStart(Z2SE_SY_ITEM_SET_X, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, + 0); + dMeter2Info_set2DVibration(); + } + } + break; + case 4: + if (dComIfGs_getSelectEquipShield() != HYLIA_SHIELD) { + dMeter2Info_setShield(HYLIA_SHIELD, false); + setEquipItemFrameColorShield(1); + daAlink_getAlinkActorClass()->setShieldChange(); + Z2GetAudioMgr()->seStart(Z2SE_SY_ITEM_SET_X, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + dMeter2Info_set2DVibration(); + } + break; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1386,9 +1932,44 @@ asm void dMenu_Collect2D_c::changeShield() { #include "asm/d/menu/d_menu_collect/changeShield__17dMenu_Collect2D_cFv.s" } #pragma pop +#endif /* 801B2EE4-801B30C8 1AD824 01E4+00 1/1 0/0 0/0 .text changeClothe__17dMenu_Collect2D_cFv */ +// Matches with literals +#ifdef NONMATCHING +void dMenu_Collect2D_c::changeClothe() { + switch (mCursorX) { + case 3: + if (dComIfGs_getSelectEquipClothes() != WEAR_KOKIRI) { + dMeter2Info_setCloth(WEAR_KOKIRI, false); + setEquipItemFrameColorClothes(0); + daPy_getPlayerActorClass()->setClothesChange(0); + Z2GetAudioMgr()->seStart(Z2SE_SY_ITEM_SET_X, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + dMeter2Info_set2DVibration(); + } + break; + case 4: + if (dComIfGs_getSelectEquipClothes() != WEAR_ZORA) { + dMeter2Info_setCloth(WEAR_ZORA, false); + setEquipItemFrameColorClothes(1); + daPy_getPlayerActorClass()->setClothesChange(0); + Z2GetAudioMgr()->seStart(Z2SE_SY_ITEM_SET_X, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + dMeter2Info_set2DVibration(); + } + break; + case 5: + if (dComIfGs_getSelectEquipClothes() != ARMOR) { + dMeter2Info_setCloth(ARMOR, false); + setEquipItemFrameColorClothes(2); + daPy_getPlayerActorClass()->setClothesChange(0); + Z2GetAudioMgr()->seStart(Z2SE_SY_ITEM_SET_X, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + dMeter2Info_set2DVibration(); + } + break; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1397,6 +1978,7 @@ asm void dMenu_Collect2D_c::changeClothe() { #include "asm/d/menu/d_menu_collect/changeClothe__17dMenu_Collect2D_cFv.s" } #pragma pop +#endif /* 801B30C8-801B3340 1ADA08 0278+00 1/1 0/0 0/0 .text setArrowMaxNum__17dMenu_Collect2D_cFUc */ void dMenu_Collect2D_c::setArrowMaxNum(u8 param_0) { @@ -1425,8 +2007,8 @@ void dMenu_Collect2D_c::setArrowMaxNum(u8 param_0) { } /* 801B3340-801B3524 1ADC80 01E4+00 1/1 0/0 0/0 .text setWalletMaxNum__17dMenu_Collect2D_cFUs */ -void dMenu_Collect2D_c::setWalletMaxNum(u16 param_0) { - switch (param_0) { +void dMenu_Collect2D_c::setWalletMaxNum(u16 i_walletSize) { + switch (i_walletSize) { case 300: mpScreen->search('item_1_0')->show(); mpScreen->search('item_1_1')->hide(); @@ -1445,179 +2027,534 @@ void dMenu_Collect2D_c::setWalletMaxNum(u16 param_0) { } } -/* ############################################################################################## */ -/* 80395050-80395078 0216B0 0028+00 1/1 0/0 0/0 .rodata smell_tag$5891 */ -SECTION_RODATA static u8 const smell_tag[40] = { - 0x77, 0x6F, 0x6C, 0x66, 0x5F, 0x6D, 0x65, 0x64, 0x77, 0x6F, 0x6C, 0x66, 0x5F, 0x63, - 0x68, 0x69, 0x77, 0x6F, 0x6C, 0x66, 0x5F, 0x66, 0x69, 0x73, 0x77, 0x6F, 0x6C, 0x66, - 0x5F, 0x69, 0x72, 0x69, 0x77, 0x6F, 0x6C, 0x66, 0x5F, 0x70, 0x6F, 0x75, -}; -COMPILER_STRIP_GATE(0x80395050, &smell_tag); - /* 801B3524-801B3640 1ADE64 011C+00 1/1 0/0 0/0 .text setSmellType__17dMenu_Collect2D_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Collect2D_c::setSmellType() { - nofralloc -#include "asm/d/menu/d_menu_collect/setSmellType__17dMenu_Collect2D_cFv.s" +void dMenu_Collect2D_c::setSmellType() { + static const u64 smell_tag[5] = { + 'wolf_med', 'wolf_chi', 'wolf_fis', 'wolf_iri', 'wolf_pou', + }; + s32 smellType = -1; + switch (dComIfGs_getCollectSmell()) { + case SMELL_YELIA_POUCH: + smellType = 3; + break; + case SMELL_POH: + smellType = 4; + break; + case SMELL_FISH: + smellType = 2; + break; + case SMELL_CHILDREN: + smellType = 1; + break; + case SMELL_MEDICINE: + smellType = 0; + break; + } + for (int i = 0; i < 5; i++) { + if (i == smellType) { + mpScreen->search(smell_tag[i])->show(); + } else { + mpScreen->search(smell_tag[i])->hide(); + } + } } -#pragma pop - -/* ############################################################################################## */ -/* 80395078-80395098 0216D8 0020+00 1/1 0/0 0/0 .rodata heart_tag$5922 */ -SECTION_RODATA static u8 const heart_tag[32] = { - 0x68, 0x65, 0x61, 0x72, 0x74, 0x5F, 0x31, 0x6E, 0x68, 0x65, 0x61, 0x72, 0x74, 0x5F, 0x32, 0x6E, - 0x68, 0x65, 0x61, 0x72, 0x74, 0x5F, 0x33, 0x6E, 0x68, 0x65, 0x61, 0x72, 0x74, 0x5F, 0x34, 0x6E, -}; -COMPILER_STRIP_GATE(0x80395078, &heart_tag); /* 801B3640-801B370C 1ADF80 00CC+00 1/1 0/0 0/0 .text setHeartPiece__17dMenu_Collect2D_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Collect2D_c::setHeartPiece() { - nofralloc -#include "asm/d/menu/d_menu_collect/setHeartPiece__17dMenu_Collect2D_cFv.s" +void dMenu_Collect2D_c::setHeartPiece() { + static const u64 heart_tag[4] = { + 'heart_1n', + 'heart_2n', + 'heart_3n', + 'heart_4n', + }; + s32 life = dComIfGs_getMaxLife() % 5; + for (int i = 0; i < MAX_VISIBLE_HEARTPIECES; i++) { + if (i < life) { + mpScreen->search(heart_tag[i])->show(); + } else { + mpScreen->search(heart_tag[i])->hide(); + } + } } -#pragma pop /* 801B370C-801B39D0 1AE04C 02C4+00 1/1 0/0 0/0 .text setPohMaxNum__17dMenu_Collect2D_cFUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Collect2D_c::setPohMaxNum(u8 param_0) { - nofralloc -#include "asm/d/menu/d_menu_collect/setPohMaxNum__17dMenu_Collect2D_cFUc.s" +void dMenu_Collect2D_c::setPohMaxNum(u8 i_pohNum) { + if (i_pohNum > MAX_POH_NUM) { + i_pohNum = MAX_POH_NUM; + } + if (field_0x22d[0][3] != 0) { + int div = i_pohNum / 100; + s32 index = i_pohNum % 100; + u8 check = 0; + if (div > 0) { + JKRArchive* archive = dComIfGp_getMain2DArchive(); + const char* textureName = dMeter2Info_getNumberTextureName(div); + ResTIMG* timg = (ResTIMG*)archive->getResource('TIMG', textureName); + static_cast(mpScreen->search('item2_3'))->changeTexture(timg, 0); + check = 1; + } else { + mpScreen->search('item2_3')->hide(); + } + div = index / 10; + index = index % 10; + if (div != 0 || check != 0) { + JKRArchive* archive = dComIfGp_getMain2DArchive(); + const char* textureName2 = dMeter2Info_getNumberTextureName(div); + ResTIMG* timg2 = (ResTIMG*)archive->getResource('TIMG', textureName2); + static_cast(mpScreen->search('item2_2'))->changeTexture(timg2, 0); + } else { + mpScreen->search('item2_2')->hide(); + } + JKRArchive* archive = dComIfGp_getMain2DArchive(); + const char* textureName3 = dMeter2Info_getNumberTextureName(index); + ResTIMG* timg3 = (ResTIMG*)archive->getResource('TIMG', textureName3); + static_cast(mpScreen->search('item2_1'))->changeTexture(timg3, 0); + } else { + mpScreen->search('item2_3')->hide(); + mpScreen->search('item2_2')->hide(); + mpScreen->search('item2_1')->hide(); + } } -#pragma pop - -/* ############################################################################################## */ -/* 80395098-803950A8 0216F8 0010+00 1/1 0/0 0/0 .rodata tag$5980 */ -SECTION_RODATA static u8 const tag_5980[16] = { - 0x00, 0x6B, 0x65, 0x6E, 0x5F, 0x67, 0x5F, 0x30, 0x00, 0x6B, 0x65, 0x6E, 0x5F, 0x67, 0x5F, 0x31, -}; -COMPILER_STRIP_GATE(0x80395098, &tag_5980); /* 801B39D0-801B3CF4 1AE310 0324+00 2/2 0/0 0/0 .text * setEquipItemFrameColorSword__17dMenu_Collect2D_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Collect2D_c::setEquipItemFrameColorSword(int param_0) { - nofralloc -#include "asm/d/menu/d_menu_collect/setEquipItemFrameColorSword__17dMenu_Collect2D_cFi.s" -} -#pragma pop +void dMenu_Collect2D_c::setEquipItemFrameColorSword(int i_frame) { + static const u64 tag[2] = { + 'ken_g_0', + 'ken_g_1', + }; -/* ############################################################################################## */ -/* 803950A8-803950B8 021708 0010+00 1/1 0/0 0/0 .rodata tag$6100 */ -SECTION_RODATA static u8 const tag_6100[16] = { - 0x74, 0x61, 0x74, 0x65, 0x5F, 0x67, 0x5F, 0x30, 0x74, 0x61, 0x74, 0x65, 0x5F, 0x67, 0x5F, 0x31, -}; -COMPILER_STRIP_GATE(0x803950A8, &tag_6100); + if (i_frame == -1) { + if (mEquippedSword != dComIfGs_getSelectEquipSword()) { + mEquippedSword = dComIfGs_getSelectEquipSword(); + + switch (mEquippedSword) { + case SWORD: + i_frame = 0; + break; + + case WOOD_STICK: + i_frame = 0; + break; + + case MASTER_SWORD: + i_frame = 1; + break; + + case LIGHT_SWORD: + if (i_dComIfGs_isItemFirstBit(LIGHT_SWORD)) { + i_frame = 1; + } + break; + } + + for (int i = 0; i < 2; i++) { + if (i == i_frame && field_0x22d[i + 3][0] != 0) { + static_cast(mpScreen->search(tag[i])) + ->setBlackWhite(JUtility::TColor(0, 0, 0, 0), + JUtility::TColor(255, 255, 0, 255)); + } else { + static_cast(mpScreen->search(tag[i])) + ->setBlackWhite(JUtility::TColor(0, 0, 0, 0), + JUtility::TColor(107, 107, 107, 255)); + } + } + } + } else { + for (int i = 0; i < 2; i++) { + if (i == i_frame && field_0x22d[i + 3][0] != 0) { + static_cast(mpScreen->search(tag[i])) + ->setBlackWhite(JUtility::TColor(0, 0, 0, 0), + JUtility::TColor(255, 255, 0, 255)); + } else { + static_cast(mpScreen->search(tag[i])) + ->setBlackWhite(JUtility::TColor(0, 0, 0, 0), + JUtility::TColor(107, 107, 107, 255)); + } + } + } +} /* 801B3CF4-801B3FDC 1AE634 02E8+00 2/2 0/0 0/0 .text * setEquipItemFrameColorShield__17dMenu_Collect2D_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Collect2D_c::setEquipItemFrameColorShield(int param_0) { - nofralloc -#include "asm/d/menu/d_menu_collect/setEquipItemFrameColorShield__17dMenu_Collect2D_cFi.s" -} -#pragma pop +void dMenu_Collect2D_c::setEquipItemFrameColorShield(int i_frame) { + static const u64 tag[2] = { + 'tate_g_0', + 'tate_g_1', + }; -/* ############################################################################################## */ -/* 803950B8-803950D0 021718 0018+00 1/1 0/0 0/0 .rodata tag$6213 */ -SECTION_RODATA static u8 const tag_6213[24] = { - 0x66, 0x75, 0x6B, 0x75, 0x5F, 0x67, 0x5F, 0x30, 0x66, 0x75, 0x6B, 0x75, - 0x5F, 0x67, 0x5F, 0x31, 0x66, 0x75, 0x6B, 0x75, 0x5F, 0x67, 0x5F, 0x32, -}; -COMPILER_STRIP_GATE(0x803950B8, &tag_6213); + if (i_frame == -1) { + if (mEquippedShield != dComIfGs_getSelectEquipShield()) { + mEquippedShield = dComIfGs_getSelectEquipShield(); + + switch (mEquippedShield) { + case SHIELD: + case WOOD_SHIELD: + i_frame = 0; + break; + + case HYLIA_SHIELD: + i_frame = 1; + break; + } + + for (int i = 0; i < 2; i++) { + if (i == i_frame && field_0x22d[i + 3][1] != 0) { + static_cast(mpScreen->search(tag[i])) + ->setBlackWhite(JUtility::TColor(0, 0, 0, 0), + JUtility::TColor(255, 255, 0, 255)); + } else { + static_cast(mpScreen->search(tag[i])) + ->setBlackWhite(JUtility::TColor(0, 0, 0, 0), + JUtility::TColor(107, 107, 107, 255)); + } + } + } + } else { + for (int i = 0; i < 2; i++) { + if (i == i_frame && field_0x22d[i + 3][1] != 0) { + static_cast(mpScreen->search(tag[i])) + ->setBlackWhite(JUtility::TColor(0, 0, 0, 0), + JUtility::TColor(255, 255, 0, 255)); + } else { + static_cast(mpScreen->search(tag[i])) + ->setBlackWhite(JUtility::TColor(0, 0, 0, 0), + JUtility::TColor(107, 107, 107, 255)); + } + } + } +} /* 801B3FDC-801B42D8 1AE91C 02FC+00 2/2 0/0 0/0 .text * setEquipItemFrameColorClothes__17dMenu_Collect2D_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Collect2D_c::setEquipItemFrameColorClothes(int param_0) { - nofralloc -#include "asm/d/menu/d_menu_collect/setEquipItemFrameColorClothes__17dMenu_Collect2D_cFi.s" -} -#pragma pop +void dMenu_Collect2D_c::setEquipItemFrameColorClothes(int i_frame) { + static const u64 tag[3] = { + 'fuku_g_0', + 'fuku_g_1', + 'fuku_g_2', + }; -/* ############################################################################################## */ -/* 803950D0-80395118 021730 0048+00 1/1 0/0 0/0 .rodata kaz_n$6347 */ -SECTION_RODATA static u8 const kaz_n[72] = { - 0x00, 0x00, 0x75, 0x7A, 0x75, 0x5F, 0x30, 0x30, 0x00, 0x00, 0x75, 0x7A, 0x75, 0x5F, 0x30, - 0x31, 0x00, 0x00, 0x75, 0x7A, 0x75, 0x5F, 0x30, 0x32, 0x00, 0x00, 0x75, 0x7A, 0x75, 0x5F, - 0x30, 0x33, 0x00, 0x00, 0x75, 0x7A, 0x75, 0x5F, 0x30, 0x34, 0x00, 0x00, 0x75, 0x7A, 0x75, - 0x5F, 0x30, 0x35, 0x00, 0x00, 0x75, 0x7A, 0x75, 0x5F, 0x30, 0x36, 0x00, 0x00, 0x75, 0x7A, - 0x75, 0x5F, 0x30, 0x37, 0x00, 0x00, 0x00, 0x68, 0x69, 0x73, 0x68, 0x69, -}; -COMPILER_STRIP_GATE(0x803950D0, &kaz_n); + if (i_frame == -1) { + if (mEquippedClothes != dComIfGs_getSelectEquipClothes()) { + mEquippedClothes = dComIfGs_getSelectEquipClothes(); + + switch (mEquippedClothes) { + case WEAR_KOKIRI: + i_frame = 0; + break; + + case WEAR_ZORA: + i_frame = 1; + break; + + case ARMOR: + i_frame = 2; + break; + } + + for (int i = 0; i < 3; i++) { + if (i == i_frame && field_0x22d[i + 3][2] != 0) { + static_cast(mpScreen->search(tag[i])) + ->setBlackWhite(JUtility::TColor(0, 0, 0, 0), + JUtility::TColor(255, 255, 0, 255)); + } else { + static_cast(mpScreen->search(tag[i])) + ->setBlackWhite(JUtility::TColor(0, 0, 0, 0), + JUtility::TColor(107, 107, 107, 255)); + } + } + } + } else { + for (int i = 0; i < 3; i++) { + if (i == i_frame && field_0x22d[i + 3][2] != 0) { + static_cast(mpScreen->search(tag[i])) + ->setBlackWhite(JUtility::TColor(0, 0, 0, 0), + JUtility::TColor(255, 255, 0, 255)); + } else { + static_cast(mpScreen->search(tag[i])) + ->setBlackWhite(JUtility::TColor(0, 0, 0, 0), + JUtility::TColor(107, 107, 107, 255)); + } + } + } +} /* 801B42D8-801B46FC 1AEC18 0424+00 2/2 0/0 0/0 .text setHIO__17dMenu_Collect2D_cFb */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Collect2D_c::setHIO(bool param_0) { - nofralloc -#include "asm/d/menu/d_menu_collect/setHIO__17dMenu_Collect2D_cFb.s" -} -#pragma pop +void dMenu_Collect2D_c::setHIO(bool i_useHIO) { + static const u64 kaz_n[9] = { + 'uzu_00', 'uzu_01', 'uzu_02', 'uzu_03', 'uzu_04', 'uzu_05', 'uzu_06', 'uzu_07', 'hishi', + }; -/* ############################################################################################## */ -/* 80395118-80395268 021778 0150+00 1/1 0/0 0/0 .rodata itemTag$6441 */ -SECTION_RODATA static u8 const itemTag[336] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x65, 0x6E, 0x5F, 0x6E, 0x30, - 0x00, 0x00, 0x6B, 0x65, 0x6E, 0x5F, 0x6E, 0x31, 0x68, 0x65, 0x61, 0x72, 0x74, 0x5F, 0x6B, 0x6E, - 0x00, 0x6B, 0x61, 0x6D, 0x65, 0x6E, 0x5F, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x74, 0x61, 0x74, 0x65, 0x5F, 0x6E, 0x30, 0x00, 0x74, 0x61, 0x74, 0x65, 0x5F, 0x6E, 0x31, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x75, 0x6B, 0x75, 0x5F, 0x6E, 0x30, - 0x00, 0x66, 0x75, 0x6B, 0x75, 0x5F, 0x6E, 0x31, 0x00, 0x66, 0x75, 0x6B, 0x75, 0x5F, 0x6E, 0x32, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x31, 0x5F, 0x6E, - 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x30, 0x5F, 0x6E, 0x00, 0x6B, 0x61, 0x62, 0x75, 0x5F, 0x36, 0x6E, - 0x6D, 0x61, 0x6B, 0x69, 0x5F, 0x35, 0x5F, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x77, 0x6F, 0x6C, 0x66, 0x5F, 0x6E, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x32, 0x5F, 0x6E, - 0x66, 0x69, 0x73, 0x68, 0x5F, 0x33, 0x5F, 0x6E, 0x6C, 0x65, 0x74, 0x74, 0x5F, 0x34, 0x5F, 0x6E, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x61, 0x76, 0x65, 0x5F, 0x6E, - 0x6F, 0x70, 0x74, 0x69, 0x6F, 0x6E, 0x5F, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80395118, &itemTag); + if (mBlueSmokePosX != g_drawHIO.mCollectScreen.mBlueSmokePosX || + mBlueSmokePosY != g_drawHIO.mCollectScreen.mBlueSmokePosY) + { + mBlueSmokePosX = g_drawHIO.mCollectScreen.mBlueSmokePosX; + mBlueSmokePosY = g_drawHIO.mCollectScreen.mBlueSmokePosY; + mpModelBg->paneTrans(mBlueSmokePosX, mBlueSmokePosY); + } + + if (mBlueSmokeScale != g_drawHIO.mCollectScreen.mBlueSmokeScale) { + mBlueSmokeScale = g_drawHIO.mCollectScreen.mBlueSmokeScale; + mpModelBg->scale(mBlueSmokeScale, mBlueSmokeScale); + } + + if (mBlueSmokeAlpha != g_drawHIO.mCollectScreen.mBlueSmokeAlpha) { + mBlueSmokeAlpha = g_drawHIO.mCollectScreen.mBlueSmokeAlpha; + mpModelBg->setAlphaRate(mBlueSmokeAlpha); + } + + if (mHeartVesselPosX != g_drawHIO.mCollectScreen.mHeartVesselPosX || + mHeartVesselPosY != g_drawHIO.mCollectScreen.mHeartVesselPosY) + { + mHeartVesselPosX = g_drawHIO.mCollectScreen.mHeartVesselPosX; + mHeartVesselPosY = g_drawHIO.mCollectScreen.mHeartVesselPosY; + mpHeartParent->paneTrans(mHeartVesselPosX, mHeartVesselPosY); + } + + if (mHeartVesselScale != g_drawHIO.mCollectScreen.mHeartVesselScale) { + mHeartVesselScale = g_drawHIO.mCollectScreen.mHeartVesselScale; + mpHeartParent->scale(mHeartVesselScale, mHeartVesselScale); + } + + if (mHeartPiecePosX != g_drawHIO.mCollectScreen.mHeartPiecePosX || + mHeartPiecePosY != g_drawHIO.mCollectScreen.mHeartPiecePosY) + { + mHeartPiecePosX = g_drawHIO.mCollectScreen.mHeartPiecePosX; + mHeartPiecePosY = g_drawHIO.mCollectScreen.mHeartPiecePosY; + mpHeartPiece->paneTrans(mHeartPiecePosX, mHeartPiecePosY); + } + + if (mHeartPieceScale != g_drawHIO.mCollectScreen.mHeartPieceScale) { + mHeartPieceScale = g_drawHIO.mCollectScreen.mHeartPieceScale; + mpHeartPiece->scale(mHeartPieceScale, mHeartPieceScale); + } + + if (g_drawHIO.mCollectScreen.mColorDebugON) { + J2DPicture* basePicture = (J2DPicture*)mpScreen->search('nht_base'); + basePicture->setBlackWhite(g_drawHIO.mCollectScreen.mVesselBack[0], + g_drawHIO.mCollectScreen.mVesselFront[0]); + + for (int i = 0; i < 9; i++) { + J2DPicture* kazPicture = (J2DPicture*)mpScreen->search(kaz_n[i]); + kazPicture->setBlackWhite(g_drawHIO.mCollectScreen.mVesselBack[1], + g_drawHIO.mCollectScreen.mVesselFront[1]); + } + } + + if (g_drawHIO.mCollectScreen.mButtonDebugON || i_useHIO) { + if (mpButtonAB[0] != NULL) { + mpButtonAB[0]->paneTrans(g_drawHIO.mCollectScreen.mAButtonPosX, + g_drawHIO.mCollectScreen.mAButtonPosY); + mpButtonAB[0]->scale(g_drawHIO.mCollectScreen.mAButtonScale, + g_drawHIO.mCollectScreen.mAButtonScale); + } + if (mpButtonAB[1] != NULL) { + mpButtonAB[1]->paneTrans(g_drawHIO.mCollectScreen.mBButtonPosX, + g_drawHIO.mCollectScreen.mBButtonPosY); + mpButtonAB[1]->scale(g_drawHIO.mCollectScreen.mBButtonScale, + g_drawHIO.mCollectScreen.mBButtonScale); + } + if (mpButtonText[0] != NULL) { + mpButtonText[0]->paneTrans(g_drawHIO.mCollectScreen.mAButtonTextPosX, + g_drawHIO.mCollectScreen.mAButtonTextPosY); + mpButtonText[0]->scale(g_drawHIO.mCollectScreen.mAButtonTextScale, + g_drawHIO.mCollectScreen.mAButtonTextScale); + } + if (mpButtonText[1] != NULL) { + mpButtonText[1]->paneTrans(g_drawHIO.mCollectScreen.mBButtonTextPosX, + g_drawHIO.mCollectScreen.mBButtonTextPosY); + mpButtonText[1]->scale(g_drawHIO.mCollectScreen.mBButtonTextScale, + g_drawHIO.mCollectScreen.mBButtonTextScale); + } + } +} /* 801B46FC-801B473C 1AF03C 0040+00 3/3 0/0 0/0 .text getItemTag__17dMenu_Collect2D_cFiib */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Collect2D_c::getItemTag(int param_0, int param_1, bool param_2) { - nofralloc -#include "asm/d/menu/d_menu_collect/getItemTag__17dMenu_Collect2D_cFiib.s" +u64 dMenu_Collect2D_c::getItemTag(int i_tag1, int i_tag2, bool param_3) { + static const u64 itemTag[6][7] = { + {0, 0, 0, 'ken_n0', 'ken_n1', 'heart_kn', 'kamen_n'}, + {0, 0, 0, 'tate_n0', 'tate_n1'}, + { + 0, + 0, + 0, + 'fuku_n0', + 'fuku_n1', + 'fuku_n2', + }, + { + 'item_1_n', + 'item_0_n', + 'kabu_6n', + 'maki_5_n', + }, + { + 'wolf_n', + 'item_2_n', + 'fish_3_n', + 'lett_4_n', + }, + {'save_n', 'option_n'}, + }; + + if (i_tag2 == 5 && !param_3) { + return 0; + } + return itemTag[i_tag2][i_tag1]; } -#pragma pop /* 801B473C-801B48D0 1AF07C 0194+00 1/0 0/0 0/0 .text wait_init__17dMenu_Collect2D_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Collect2D_c::wait_init() { - nofralloc -#include "asm/d/menu/d_menu_collect/wait_init__17dMenu_Collect2D_cFv.s" +void dMenu_Collect2D_c::wait_init() { + JKRHeap* heap = mDoExt_setCurrentHeap(mpSubHeap); + + if (mpSaveScrn != NULL) { + mpSaveScrn->_delete(); + delete mpSaveScrn; + mpSaveScrn = NULL; + mpSubHeap->freeAll(); + } + + if (mpOptionScrn != NULL) { + mpOptionScrn->_delete(); + delete mpOptionScrn; + mpOptionScrn = NULL; + mpSubHeap->freeAll(); + } + + if (mpLetterScrn != NULL) { + delete mpLetterScrn; + mpLetterScrn = NULL; + mpSubHeap->freeAll(); + } + + if (mpFishingScrn != NULL) { + delete mpFishingScrn; + mpFishingScrn = NULL; + mpSubHeap->freeAll(); + } + + if (mpSkillScrn != NULL) { + delete mpSkillScrn; + mpSkillScrn = NULL; + mpSubHeap->freeAll(); + } + + if (mpInsectScrn != NULL) { + delete mpInsectScrn; + mpInsectScrn = NULL; + mpSubHeap->freeAll(); + } + + mDoExt_setCurrentHeap(heap); } -#pragma pop /* 801B48D0-801B4E14 1AF210 0544+00 1/0 0/0 0/0 .text wait_proc__17dMenu_Collect2D_cFv */ +// Matches with literals +#ifdef NONMATCHING +void dMenu_Collect2D_c::wait_proc() { + if (dMw_A_TRIGGER()) { + if (mCursorX == 0 && mCursorY == 5) { + if (mDoGph_gInf_c::getFader()->mStatus == 1) { + mSubWindowOpenCheck = 1; + Z2GetAudioMgr()->seStart(Z2SE_SY_MENU_CHANGE_WINDOW, NULL, 0, 0, 1.0f, 1.0f, -1.0f, + -1.0f, 0); + dMeter2Info_set2DVibrationM(); + } + } else if (mCursorX == 1 && mCursorY == 5) { + if (mDoGph_gInf_c::getFader()->mStatus == 1) { + mSubWindowOpenCheck = 2; + Z2GetAudioMgr()->seStart(Z2SE_SY_MENU_CHANGE_WINDOW, NULL, 0, 0, 1.0f, 1.0f, -1.0f, + -1.0f, 0); + dMeter2Info_set2DVibrationM(); + } + } else if (mCursorX == 3 && mCursorY == 4) { + if (field_0x22d[3][4] != 0 && mDoGph_gInf_c::getFader()->mStatus == 1) { + mSubWindowOpenCheck = 3; + dMeter2Info_set2DVibration(); + } + } else if (mCursorX == 2 && mCursorY == 4) { + if (isFishIconVisible() && mDoGph_gInf_c::getFader()->mStatus == 1) { + mSubWindowOpenCheck = 4; + dMeter2Info_set2DVibration(); + } + } else if (mCursorX == 3 && mCursorY == 3) { + if (isSkillIconVisible() && mDoGph_gInf_c::getFader()->mStatus == 1) { + mSubWindowOpenCheck = 5; + dMeter2Info_set2DVibration(); + } + } else if (mCursorX == 2 && mCursorY == 3) { + if (isInsectIconVisible() && mDoGph_gInf_c::getFader()->mStatus == 1) { + mSubWindowOpenCheck = 6; + dMeter2Info_set2DVibration(); + } + } else { + if (field_0x22d[mCursorX][mCursorY] != 0 && !mIsWolf) { + if ((mCursorX >= 3 && mCursorX <= 4) || (mCursorX == 5 && mCursorY == 2)) { + u8 cursorY = mCursorY; + if (cursorY == 0) { + if (daPy_getPlayerActorClass()->getSwordChangeWaitTimer() == 0) { + changeSword(); + } + } else if (cursorY == 1) { + if (daPy_getPlayerActorClass()->getShieldChangeWaitTimer() == 0) { + changeShield(); + } + } else if (cursorY == 2 && + daPy_getPlayerActorClass()->getClothesChangeWaitTimer() == 0) + { + changeClothe(); + } + } + } + } + } else { + if (daPy_getPlayerActorClass()->getSwordChangeWaitTimer() == 0 && + daPy_getPlayerActorClass()->getShieldChangeWaitTimer() == 0 && + daPy_getPlayerActorClass()->getClothesChangeWaitTimer() == 0) + { + cursorMove(); + } + if (mCursorX >= 3 && mCursorX <= 4 && mCursorY <= 2 || (mCursorX == 5 && mCursorY == 2)) { + if (field_0x22d[mCursorX][mCursorY] != 0 && !mIsWolf) { + setAButtonString(0x436); + } else { + setAButtonString(0); + } + } else if ((mCursorX == 0 && mCursorY == 5) || (mCursorX == 1 && mCursorY == 5)) { + setAButtonString(0x40C); + } else { + if (field_0x22d[mCursorX][mCursorY] != 0) { + if (mCursorX == 3 && mCursorY == 4) { + if (field_0x22d[3][4] != 0) { + setAButtonString(0x3EE); + } + } else if (mCursorX == 2 && mCursorY == 4) { + if (isFishIconVisible()) { + setAButtonString(0x3EE); + } + } else if (mCursorX == 3 && mCursorY == 3) { + if (isSkillIconVisible()) { + setAButtonString(0x3EE); + } + } else if (mCursorX == 2 && mCursorY == 3) { + if (isInsectIconVisible()) { + setAButtonString(0x3EE); + } + } else if (mCursorX < 3 && mCursorY < 3) { + setAButtonString(0x40C); + } else { + setAButtonString(0); + } + } else { + setAButtonString(0); + } + } + setBButtonString(0x3F9); + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1626,6 +2563,7 @@ asm void dMenu_Collect2D_c::wait_proc() { #include "asm/d/menu/d_menu_collect/wait_proc__17dMenu_Collect2D_cFv.s" } #pragma pop +#endif /* 801B4E14-801B4EC0 1AF754 00AC+00 1/0 0/0 0/0 .text save_open_init__17dMenu_Collect2D_cFv */ void dMenu_Collect2D_c::save_open_init() { @@ -1649,7 +2587,7 @@ void dMenu_Collect2D_c::save_open_proc() { mpSaveScrn->_open(); } if (mpSaveScrn->getSaveStatus() == 2) { - field_0x22c = 2; + mProcess = 2; } mDoExt_setCurrentHeap(heap); } @@ -1667,7 +2605,7 @@ void dMenu_Collect2D_c::save_move_proc() { mpSaveScrn->_move(); } if (mpSaveScrn->getSaveStatus() == 3) { - field_0x22c = 3; + mProcess = 3; } mDoExt_setCurrentHeap(heap); } @@ -1685,7 +2623,7 @@ void dMenu_Collect2D_c::save_close_proc() { mpSaveScrn->_close(); } if (mpSaveScrn->getSaveStatus() == 0) { - field_0x22c = 0; + mProcess = 0; mpDrawCursor->onPlayAllAnime(); } mDoExt_setCurrentHeap(heap); @@ -1695,7 +2633,7 @@ void dMenu_Collect2D_c::save_close_proc() { void dMenu_Collect2D_c::option_open_init() { JKRHeap* heap = mDoExt_setCurrentHeap(mpSubHeap); if (!mpOptionScrn) { - mpOptionScrn = new dMenu_Option_c(dComIfGp_getCollectResArchive(), field_0x10); + mpOptionScrn = new dMenu_Option_c(dComIfGp_getCollectResArchive(), mpStick); } mpOptionScrn->initialize(); setAButtonString(0); @@ -1711,7 +2649,7 @@ void dMenu_Collect2D_c::option_open_proc() { mpOptionScrn->_open(); } if (mpOptionScrn->getQuitStatus() == 2) { - field_0x22c = 5; + mProcess = 5; } mDoExt_setCurrentHeap(heap); } @@ -1729,7 +2667,7 @@ void dMenu_Collect2D_c::option_move_proc() { mpOptionScrn->_move(); } if (mpOptionScrn->getQuitStatus() == 3) { - field_0x22c = 6; + mProcess = 6; } mDoExt_setCurrentHeap(heap); } @@ -1747,7 +2685,7 @@ void dMenu_Collect2D_c::option_close_proc() { mpOptionScrn->_close(); } if (mpOptionScrn->getQuitStatus() == 0) { - field_0x22c = 0; + mProcess = 0; mpDrawCursor->onPlayAllAnime(); } mDoExt_setCurrentHeap(heap); @@ -1757,7 +2695,7 @@ void dMenu_Collect2D_c::option_close_proc() { void dMenu_Collect2D_c::letter_open_init() { JKRHeap* heap = mDoExt_setCurrentHeap(mpSubHeap); if (!mpLetterScrn) { - mpLetterScrn = new dMenu_Letter_c(mpSubHeap, field_0x10, field_0x14); + mpLetterScrn = new dMenu_Letter_c(mpSubHeap, mpStick, mpCStick); } setAButtonString(0); setBButtonString(0); @@ -1772,7 +2710,7 @@ void dMenu_Collect2D_c::letter_open_proc() { mpLetterScrn->_open(); } if (mpLetterScrn->getStatus() == 2) { - field_0x22c = 8; + mProcess = 8; } mDoExt_setCurrentHeap(heap); } @@ -1790,7 +2728,7 @@ void dMenu_Collect2D_c::letter_move_proc() { mpLetterScrn->_move(); } if (mpLetterScrn->getStatus() == 3) { - field_0x22c = 9; + mProcess = 9; } mDoExt_setCurrentHeap(heap); } @@ -1808,7 +2746,7 @@ void dMenu_Collect2D_c::letter_close_proc() { mpLetterScrn->_close(); } if (mpLetterScrn->getStatus() == 0) { - field_0x22c = 0; + mProcess = 0; mpDrawCursor->onPlayAllAnime(); } mDoExt_setCurrentHeap(heap); @@ -1818,7 +2756,7 @@ void dMenu_Collect2D_c::letter_close_proc() { void dMenu_Collect2D_c::fishing_open_init() { JKRHeap* heap = mDoExt_setCurrentHeap(mpSubHeap); if (!mpFishingScrn) { - mpFishingScrn = new dMenu_Fishing_c(mpSubHeap, field_0x10, field_0x14); + mpFishingScrn = new dMenu_Fishing_c(mpSubHeap, mpStick, mpCStick); } setAButtonString(0); setBButtonString(0); @@ -1833,7 +2771,7 @@ void dMenu_Collect2D_c::fishing_open_proc() { mpFishingScrn->_open(); } if (mpFishingScrn->getStatus() == 2) { - field_0x22c = 11; + mProcess = 11; } mDoExt_setCurrentHeap(heap); } @@ -1851,12 +2789,11 @@ void dMenu_Collect2D_c::fishing_move_proc() { mpFishingScrn->_move(); } if (mpFishingScrn->getStatus() == 3) { - field_0x22c = 12; + mProcess = 12; } mDoExt_setCurrentHeap(heap); } - /* 801B5738-801B5774 1B0078 003C+00 1/0 0/0 0/0 .text fishing_close_init__17dMenu_Collect2D_cFv */ void dMenu_Collect2D_c::fishing_close_init() { setAButtonString(0); @@ -1870,7 +2807,7 @@ void dMenu_Collect2D_c::fishing_close_proc() { mpFishingScrn->_close(); } if (mpFishingScrn->getStatus() == 0) { - field_0x22c = 0; + mProcess = 0; mpDrawCursor->onPlayAllAnime(); } mDoExt_setCurrentHeap(heap); @@ -1880,7 +2817,7 @@ void dMenu_Collect2D_c::fishing_close_proc() { void dMenu_Collect2D_c::skill_open_init() { JKRHeap* heap = mDoExt_setCurrentHeap(mpSubHeap); if (!mpSkillScrn) { - mpSkillScrn = new dMenu_Skill_c(mpSubHeap, field_0x10, field_0x14); + mpSkillScrn = new dMenu_Skill_c(mpSubHeap, mpStick, mpCStick); } setAButtonString(0); setBButtonString(0); @@ -1895,7 +2832,7 @@ void dMenu_Collect2D_c::skill_open_proc() { mpSkillScrn->_open(); } if (mpSkillScrn->getStatus() == 2) { - field_0x22c = 14; + mProcess = 14; } mDoExt_setCurrentHeap(heap); } @@ -1913,7 +2850,7 @@ void dMenu_Collect2D_c::skill_move_proc() { mpSkillScrn->_move(); } if (mpSkillScrn->getStatus() == 3) { - field_0x22c = 15; + mProcess = 15; } mDoExt_setCurrentHeap(heap); } @@ -1931,7 +2868,7 @@ void dMenu_Collect2D_c::skill_close_proc() { mpSkillScrn->_close(); } if (mpSkillScrn->getStatus() == 0) { - field_0x22c = 0; + mProcess = 0; mpDrawCursor->onPlayAllAnime(); } mDoExt_setCurrentHeap(heap); @@ -1941,7 +2878,7 @@ void dMenu_Collect2D_c::skill_close_proc() { void dMenu_Collect2D_c::insect_open_init() { JKRHeap* heap = mDoExt_setCurrentHeap(mpSubHeap); if (!mpInsectScrn) { - mpInsectScrn = new dMenu_Insect_c(mpSubHeap, field_0x10, field_0x14, 0); + mpInsectScrn = new dMenu_Insect_c(mpSubHeap, mpStick, mpCStick, 0); } setAButtonString(0); setBButtonString(0); @@ -1956,7 +2893,7 @@ void dMenu_Collect2D_c::insect_open_proc() { mpInsectScrn->_open(); } if (mpInsectScrn->getStatus() == 2) { - field_0x22c = 17; + mProcess = 17; } mDoExt_setCurrentHeap(heap); } @@ -1974,7 +2911,7 @@ void dMenu_Collect2D_c::insect_move_proc() { mpInsectScrn->_move(); } if (mpInsectScrn->getStatus() == 3) { - field_0x22c = 18; + mProcess = 18; } mDoExt_setCurrentHeap(heap); } @@ -1992,13 +2929,27 @@ void dMenu_Collect2D_c::insect_close_proc() { mpInsectScrn->_close(); } if (mpInsectScrn->getStatus() == 0) { - field_0x22c = 0; + mProcess = 0; mpDrawCursor->onPlayAllAnime(); } mDoExt_setCurrentHeap(heap); } /* 801B5CD4-801B5D70 1B0614 009C+00 1/1 0/0 0/0 .text _move__17dMenu_Collect2D_cFv */ +// Matches with sinit +#ifdef NONMATCHING +void dMenu_Collect2D_c::_move() { + u8 last_process = mProcess; + (this->*process[last_process])(); + if (mProcess != last_process) { + (this->*init[mProcess])(); + } + btkAnimeLoop0(mpAnmKey); + mpScreen->animation(); + setBackAlpha(); + setHIO(false); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -2007,8 +2958,35 @@ asm void dMenu_Collect2D_c::_move() { #include "asm/d/menu/d_menu_collect/_move__17dMenu_Collect2D_cFv.s" } #pragma pop +#endif /* 801B5D70-801B5F48 1B06B0 01D8+00 1/1 0/0 0/0 .text _draw__17dMenu_Collect2D_cFv */ +// Matches with literals +#ifdef NONMATCHING +void dMenu_Collect2D_c::_draw() { + J2DGrafContext* grafPort = dComIfGp_getCurrentGrafPort(); + grafPort->setup2D(); + mpScreen->draw(0.0f, 0.0f, grafPort); + + if (mItemNameString == 0) { + char* stringPtr1 = static_cast(mpScreen->search('f_text1'))->getStringPtr(); + strcpy(stringPtr1, ""); + + char* stringPtr0 = static_cast(mpScreen->search('f_text0'))->getStringPtr(); + strcpy(stringPtr0, ""); + } else { + J2DTextBox* textBox1 = static_cast(mpScreen->search('f_text1')); + mpString->getString(mItemNameString, textBox1, NULL, NULL, NULL, 0); + + J2DTextBox* textBox0 = static_cast(mpScreen->search('f_text0')); + mpString->getString(mItemNameString, textBox0, NULL, NULL, NULL, 0); + + textBox0 = static_cast(mpScreen->search('f_text0')); + mpString->drawOutFontLocal(textBox0, -1.0f); + } + mpDrawCursor->draw(); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -2017,6 +2995,7 @@ asm void dMenu_Collect2D_c::_draw() { #include "asm/d/menu/d_menu_collect/_draw__17dMenu_Collect2D_cFv.s" } #pragma pop +#endif /* 801B5F48-801B5F84 1B0888 003C+00 1/1 0/0 0/0 .text drawTop__17dMenu_Collect2D_cFv */ void dMenu_Collect2D_c::drawTop() { @@ -2026,7 +3005,7 @@ void dMenu_Collect2D_c::drawTop() { /* 801B5F84-801B5FAC 1B08C4 0028+00 0/0 1/1 0/0 .text isKeyCheck__17dMenu_Collect2D_cFv */ bool dMenu_Collect2D_c::isKeyCheck() { - if (field_0x22c || field_0x25f) { + if (mProcess || field_0x25f) { return true; } return false; @@ -2038,61 +3017,87 @@ bool dMenu_Collect2D_c::isOutCheck() { return false; } -/* ############################################################################################## */ -/* 80395268-80395290 0218C8 0028+00 1/1 0/0 0/0 .rodata text_a_tag$7111 */ -SECTION_RODATA static u8 const text_a_tag_7111[40] = { - 0x61, 0x74, 0x65, 0x78, 0x74, 0x31, 0x5F, 0x31, 0x61, 0x74, 0x65, 0x78, 0x74, 0x31, - 0x5F, 0x32, 0x61, 0x74, 0x65, 0x78, 0x74, 0x31, 0x5F, 0x33, 0x61, 0x74, 0x65, 0x78, - 0x74, 0x31, 0x5F, 0x34, 0x61, 0x74, 0x65, 0x78, 0x74, 0x31, 0x5F, 0x35, -}; -COMPILER_STRIP_GATE(0x80395268, &text_a_tag_7111); - /* 801B5FB4-801B60B8 1B08F4 0104+00 20/20 0/0 0/0 .text setAButtonString__17dMenu_Collect2D_cFUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Collect2D_c::setAButtonString(u16 param_0) { - nofralloc -#include "asm/d/menu/d_menu_collect/setAButtonString__17dMenu_Collect2D_cFUs.s" -} -#pragma pop +void dMenu_Collect2D_c::setAButtonString(u16 i_stringID) { + static const u64 text_a_tag[5] = { + 'atext1_1', 'atext1_2', 'atext1_3', 'atext1_4', 'atext1_5', + }; -/* ############################################################################################## */ -/* 80395290-803952B8 0218F0 0028+00 1/1 0/0 0/0 .rodata text_b_tag$7134 */ -SECTION_RODATA static u8 const text_b_tag_7134[40] = { - 0x62, 0x74, 0x65, 0x78, 0x74, 0x31, 0x5F, 0x31, 0x62, 0x74, 0x65, 0x78, 0x74, 0x31, - 0x5F, 0x32, 0x62, 0x74, 0x65, 0x78, 0x74, 0x31, 0x5F, 0x33, 0x62, 0x74, 0x65, 0x78, - 0x74, 0x31, 0x5F, 0x34, 0x62, 0x74, 0x65, 0x78, 0x74, 0x31, 0x5F, 0x35, -}; -COMPILER_STRIP_GATE(0x80395290, &text_b_tag_7134); + if (i_stringID != mCurrentAString) { + mCurrentAString = i_stringID; + + if (i_stringID == 0) { + for (int i = 0; i < 5; i++) { + char* stringPtr = + static_cast(mpScreenIcon->search(text_a_tag[i]))->getStringPtr(); + strcpy(stringPtr, ""); + } + } else { + for (int i = 0; i < 5; i++) { + char* stringPtr = + static_cast(mpScreenIcon->search(text_a_tag[i]))->getStringPtr(); + dMeter2Info_getStringKanji(i_stringID, stringPtr, NULL); + } + } + } +} /* 801B60B8-801B61BC 1B09F8 0104+00 20/20 0/0 0/0 .text setBButtonString__17dMenu_Collect2D_cFUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Collect2D_c::setBButtonString(u16 param_0) { - nofralloc -#include "asm/d/menu/d_menu_collect/setBButtonString__17dMenu_Collect2D_cFUs.s" +void dMenu_Collect2D_c::setBButtonString(u16 i_stringID) { + static const u64 text_b_tag[5] = { + 'btext1_1', 'btext1_2', 'btext1_3', 'btext1_4', 'btext1_5', + }; + + if (i_stringID != mCurrentBString) { + mCurrentBString = i_stringID; + + if (i_stringID == 0) { + for (int i = 0; i < 5; i++) { + char* stringPtr = + static_cast(mpScreenIcon->search(text_b_tag[i]))->getStringPtr(); + strcpy(stringPtr, ""); + } + } else { + for (int i = 0; i < 5; i++) { + char* stringPtr = + static_cast(mpScreenIcon->search(text_b_tag[i]))->getStringPtr(); + dMeter2Info_getStringKanji(i_stringID, stringPtr, NULL); + } + } + } } -#pragma pop /* 801B61BC-801B6344 1B0AFC 0188+00 2/2 0/0 0/0 .text setItemNameString__17dMenu_Collect2D_cFUcUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Collect2D_c::setItemNameString(u8 param_0, u8 param_1) { - nofralloc -#include "asm/d/menu/d_menu_collect/setItemNameString__17dMenu_Collect2D_cFUcUc.s" +void dMenu_Collect2D_c::setItemNameString(u8 param_0, u8 param_1) { + if (field_0x22d[param_0][param_1] == 0) { + setItemNameStringNull(); + } else { + u32 uVar6 = field_0x184[param_0][param_1]; + mItemNameString = field_0x1d8[param_0][param_1]; + field_0x180 = uVar6; + if (uVar6 == 0) { + setItemNameStringNull(); + } else { + char* stringPtr = + static_cast(mpScreen->search('item_n04'))->getStringPtr(); + dMeter2Info_getStringKanji(uVar6, stringPtr, NULL); + stringPtr = static_cast(mpScreen->search('item_n05'))->getStringPtr(); + dMeter2Info_getStringKanji(uVar6, stringPtr, NULL); + stringPtr = static_cast(mpScreen->search('item_n06'))->getStringPtr(); + dMeter2Info_getStringKanji(uVar6, stringPtr, NULL); + stringPtr = static_cast(mpScreen->search('item_n07'))->getStringPtr(); + dMeter2Info_getStringKanji(uVar6, stringPtr, NULL); + } + } } -#pragma pop /* 801B6344-801B6454 1B0C84 0110+00 1/1 0/0 0/0 .text setItemNameStringNull__17dMenu_Collect2D_cFv */ void dMenu_Collect2D_c::setItemNameStringNull() { - field_0x182 = 0; + mItemNameString = 0; J2DTextBox* textBox = (J2DTextBox*)mpScreen->search('item_n04'); strcpy(textBox->getStringPtr(), ""); textBox = (J2DTextBox*)mpScreen->search('item_n05'); @@ -2109,21 +3114,21 @@ void dMenu_Collect2D_c::setItemNameStringNull() { #ifdef NONMATCHING dMenu_Collect3D_c::dMenu_Collect3D_c(JKRExpHeap* param_0, dMenu_Collect2D_c* param_1, CSTControl* param_2) { - field_0x24 = daPy_py_c::i_checkNowWolf(); + mIsWolf = daPy_py_c::i_checkNowWolf(); mpHeap = param_0; mpSolidHeap = NULL; - field_0x14 = param_2; + mpCStick = param_2; mpCollect2D = param_1; - if (field_0x24) { - field_0x3d8 = -20748; + if (mIsWolf) { + mLinkAngle = -20748; } else { - field_0x3d8 = -23324; + mLinkAngle = -23324; } - field_0x3d0 = 0.0f; - field_0x3d4 = 0.0f; - field_0x3c8 = 0.0f; - field_0x3c4 = 0.0f; - field_0x3cc = 1.0f; + mMaskMirrorAnmFrameBrk = 0.0f; + mMaskMirrorAnmFrameBck = 0.0f; + mMaskMirrorOffsetY = 0.0f; + mMaskMirrorOffsetX = 0.0f; + mMaskMirrorScale = 1.0f; } #else #pragma push @@ -2159,14 +3164,32 @@ extern "C" asm void __dt__17dMenu_Collect3D_cFv() { #endif /* 801B65A8-801B6694 1B0EE8 00EC+00 1/1 0/0 0/0 .text _create__17dMenu_Collect3D_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Collect3D_c::_create() { - nofralloc -#include "asm/d/menu/d_menu_collect/_create__17dMenu_Collect3D_cFv.s" +void dMenu_Collect3D_c::_create() { + mpHeap->getTotalFreeSize(); + mpSolidHeap = mDoExt_createSolidHeapToCurrent(0x25800, mpHeap, 0x20); + mDoExt_setCurrentHeap((JKRHeap*)mpSolidHeap); + daAlink_c* linkActor = daAlink_getAlinkActorClass(); + if (linkActor != NULL) { + linkActor->initStatusWindow(); + } + u8 maskMdl = getMaskMdlVisible(); + if (maskMdl == 2) { + createMirrorModel(); + } else if (maskMdl == 1) { + createMaskModel(); + } else { + mpModel = NULL; + mpBckAnm = NULL; + mpBrkAnm = NULL; + } + mpSolidHeap->adjustSize(); + mDoExt_restoreCurrentHeap(); + if (mpModel != NULL) { + dKy_tevstr_init(&mTevStr, -1, 0xff); + set_mtx(); + } + _move(mpCollect2D->getCursorX(), mpCollect2D->getCursorY()); } -#pragma pop /* 801B6694-801B66C8 1B0FD4 0034+00 1/1 0/0 0/0 .text _delete__17dMenu_Collect3D_cFv */ void dMenu_Collect3D_c::_delete() { @@ -2216,6 +3239,73 @@ SECTION_SDATA2 static f32 lit_7335 = -10.0f; SECTION_SDATA2 static f32 lit_7336 = 600.0f; /* 801B66C8-801B696C 1B1008 02A4+00 2/2 0/0 0/0 .text _move__17dMenu_Collect3D_cFUcUc */ +// Matches with literals +#ifdef NONMATCHING +void dMenu_Collect3D_c::_move(u8 param_0, u8 param_1) { + cXyz itemPos; + Vec linkPos = mpCollect2D->getpLink()->getGlobalVtxCenter(false, 0); + f32 posY; + f32 posZ; + if (mIsWolf != 0) { + posY = linkPos.y + 60.0f; + posZ = 580.0f; + } else { + posY = linkPos.y + 90.0f; + posZ = 550.0f; + } + toItem3Dpos(linkPos.x, posY, posZ, &itemPos); + if (param_0 == 0 && param_1 == 0) { + f32 temp = 450.0f; + mLinkAngle += (s16)temp; + } else { + s16 target = mIsWolf != 0 ? (s16)-0x510C : (s16)-0x5B1C; + cLib_addCalcAngleS(&mLinkAngle, target, 4, 0x800, 0x80); + } + if (daAlink_getAlinkActorClass() != NULL) { + daAlink_getAlinkActorClass()->statusWindowExecute(&itemPos, mLinkAngle); + } + if (mpModel != NULL) { + cXyz modelPos; + Vec maskPos = mpCollect2D->getpMask()->getGlobalVtxCenter(false, 0); + f32 offsetX = 0.0f; + f32 offsetY = 0.0f; + + if (getMaskMdlVisible() == 2) { + u8 mirrorNum = getMirrorNum(); + if (mirrorNum == 1 || mirrorNum == 2 || mirrorNum == 3 || mirrorNum == 4) { + offsetX = -3.0f; + offsetY = -5.0f; + } + } else { + u8 crystalNum = getCrystalNum(); + if (crystalNum == 1) { + offsetX = 16.0f; + offsetY = 0.0f; + } else if (crystalNum == 2) { + offsetX = 8.0f; + offsetY = -3.0f; + } else if (crystalNum == 3) { + offsetX = 2.0f; + offsetY = -4.0f; + } else if (crystalNum == 4) { + offsetX = -5.0f; + offsetY = -10.0f; + } + } + f32 offsetPosX = + maskPos.x + g_drawHIO.mCollectScreen.mMaskMirrorPos.x + mMaskMirrorOffsetX + offsetX; + f32 offsetPosY = + maskPos.y + g_drawHIO.mCollectScreen.mMaskMirrorPos.y + mMaskMirrorOffsetY + offsetY; + toItem3Dpos(offsetPosX, offsetPosY, 600.0f, &modelPos); + mMaskMirrorPos.set(modelPos); + mMaskMirrorAngle.set(g_drawHIO.mCollectScreen.mMaskMirrorAngle.x, + g_drawHIO.mCollectScreen.mMaskMirrorAngle.y, + g_drawHIO.mCollectScreen.mMaskMirrorAngle.z); + animePlay(); + set_mtx(); + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -2224,6 +3314,7 @@ asm void dMenu_Collect3D_c::_move(u8 param_0, u8 param_1) { #include "asm/d/menu/d_menu_collect/_move__17dMenu_Collect3D_cFUcUc.s" } #pragma pop +#endif /* 801B696C-801B6A30 1B12AC 00C4+00 1/1 0/0 0/0 .text draw__17dMenu_Collect3D_cFv */ void dMenu_Collect3D_c::draw() { @@ -2232,8 +3323,8 @@ void dMenu_Collect3D_c::draw() { daAlink_getAlinkActorClass()->statusWindowDraw(); } if (mpModel) { - g_env_light.settingTevStruct(13, &field_0x3b0, &field_0x28); - g_env_light.setLightTevColorType_MAJI(mpModel, &field_0x28); + g_env_light.settingTevStruct(13, &mMaskMirrorPos, &mTevStr); + g_env_light.setLightTevColorType_MAJI(mpModel, &mTevStr); animeEntry(); mDoExt_modelUpdateDL(mpModel); } @@ -2241,14 +3332,50 @@ void dMenu_Collect3D_c::draw() { } /* 801B6A30-801B6D30 1B1370 0300+00 2/2 0/0 0/0 .text setJ3D__17dMenu_Collect3D_cFPCcPCcPCc */ +// b issue and regalloc +#ifdef NONMATCHING +void dMenu_Collect3D_c::setJ3D(const char* param_0, const char* param_1, const char* param_2) { + JKRArchive* resArchive = dComIfGp_getCollectResArchive(); + J3DModelData* modelData = (J3DModelData*)J3DModelLoaderDataBase::load( + resArchive->getResource('BMD ', param_0), 0x51020010); + + for (u16 i = 0; i < modelData->getMaterialNum(); i++) { + J3DMaterialAnm* matAnm = new J3DMaterialAnm(); + modelData->getMaterialNodePointer(i)->change(); + modelData->getMaterialNodePointer(i)->setMaterialAnm(matAnm); + } + mpModel = new J3DModel(modelData, 0, 1); + if (param_1 != NULL) { + J3DAnmTransform* pbck = (J3DAnmTransform*)J3DAnmLoaderDataBase::load( + resArchive->getResource('BCK ', param_1), J3DLOADER_UNK_FLAG0); + mpBckAnm = new mDoExt_bckAnm(); + if (mpBckAnm == NULL) { + return; + } + if (mpBckAnm->init(pbck, 1, 2, 1.0f, 0, -1, false) != 0) { + return; + } + } + if (param_2 != NULL) { + J3DAnmTevRegKey* pbrk = (J3DAnmTevRegKey*)J3DAnmLoaderDataBase::load( + resArchive->getResource('BRK ', param_2), J3DLOADER_UNK_FLAG0); + pbrk->searchUpdateMaterialID(modelData); + mpBrkAnm = new mDoExt_brkAnm(); + if (mpBrkAnm != NULL) { + mpBrkAnm->init(modelData, pbrk, -1, 2, 1.0f, 0, -1); + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMenu_Collect3D_c::setJ3D(char const* param_0, char const* param_1, char const* param_2) { +asm void dMenu_Collect3D_c::setJ3D(const char* param_0, const char* param_1, const char* param_2) { nofralloc #include "asm/d/menu/d_menu_collect/setJ3D__17dMenu_Collect3D_cFPCcPCcPCc.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80453FB4-80453FB8 0025B4 0004+00 1/1 0/0 0/0 .sdata2 @7505 */ @@ -2264,6 +3391,38 @@ SECTION_SDATA2 static f32 lit_7507 = -2.0f / 5.0f; SECTION_SDATA2 static f32 lit_7508 = -3.0f / 10.0f; /* 801B6D30-801B6E70 1B1670 0140+00 2/2 0/0 0/0 .text set_mtx__17dMenu_Collect3D_cFv */ +// Matches with literals +#ifdef NONMATCHING +void dMenu_Collect3D_c::set_mtx() { + f32 scale = 0.0f; + if (getMaskMdlVisible() == 2) { + u8 mirrorNum = getMirrorNum(); + if (mirrorNum == 2 || mirrorNum == 3 || mirrorNum == 4) { + scale = -0.1f; + } + } else { + u8 crystalNum = getCrystalNum(); + if (crystalNum == 1 || crystalNum == 2) { + scale = -0.6f; + } else if (crystalNum == 3) { + scale = -0.4f; + } else if (crystalNum == 4) { + scale = -0.3f; + } + } + f32 finalScale = g_drawHIO.mCollectScreen.mMaskMirrorScale + scale + mMaskMirrorScale; + cXyz baseScale; + baseScale.z = finalScale; + baseScale.y = finalScale; + baseScale.x = finalScale; + mpModel->setBaseScale(baseScale); + mDoMtx_stack_c::transS(mMaskMirrorPos.x, mMaskMirrorPos.y, mMaskMirrorPos.z); + mDoMtx_stack_c::YrotM(mMaskMirrorAngle.y); + mDoMtx_stack_c::XrotM(mMaskMirrorAngle.x); + mDoMtx_stack_c::ZrotM(mMaskMirrorAngle.z); + mpModel->i_setBaseTRMtx(mDoMtx_stack_c::get()); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -2272,8 +3431,30 @@ asm void dMenu_Collect3D_c::set_mtx() { #include "asm/d/menu/d_menu_collect/set_mtx__17dMenu_Collect3D_cFv.s" } #pragma pop +#endif /* 801B6E70-801B6FB0 1B17B0 0140+00 1/1 0/0 0/0 .text animePlay__17dMenu_Collect3D_cFv */ +#ifdef NONMATCHING +// matches with literals +void dMenu_Collect3D_c::animePlay() { + if (mpBrkAnm != NULL) { + mMaskMirrorAnmFrameBrk += g_drawHIO.mCollectScreen.mMaskMirrorAnimSpeed; + if (mMaskMirrorAnmFrameBrk >= mpBrkAnm->getEndFrame()) { + mMaskMirrorAnmFrameBrk -= mpBrkAnm->getEndFrame(); + } + mpBrkAnm->setFrame(mMaskMirrorAnmFrameBrk); + mpBrkAnm->play(); + } + if (mpBckAnm != NULL) { + mMaskMirrorAnmFrameBck += g_drawHIO.mCollectScreen.mMaskMirrorAnimSpeed; + if (mMaskMirrorAnmFrameBck >= mpBckAnm->getEndFrame()) { + mMaskMirrorAnmFrameBck -= mpBckAnm->getEndFrame(); + } + mpBckAnm->setFrame(mMaskMirrorAnmFrameBck); + mpBckAnm->play(); + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -2282,50 +3463,86 @@ asm void dMenu_Collect3D_c::animePlay() { #include "asm/d/menu/d_menu_collect/animePlay__17dMenu_Collect3D_cFv.s" } #pragma pop +#endif /* 801B6FB0-801B7014 1B18F0 0064+00 1/1 0/0 0/0 .text animeEntry__17dMenu_Collect3D_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Collect3D_c::animeEntry() { - nofralloc -#include "asm/d/menu/d_menu_collect/animeEntry__17dMenu_Collect3D_cFv.s" +void dMenu_Collect3D_c::animeEntry() { + if (mpBrkAnm != NULL) { + mpBrkAnm->entry(mpModel->getModelData()); + } + if (mpBckAnm != NULL) { + mpBckAnm->entry(mpModel->getModelData()); + } } -#pragma pop -/* ############################################################################################## */ /* 803952B8-803952CC 021918 0014+00 0/1 0/0 0/0 .rodata m_kamen_offset_x$7578 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const m_kamen_offset_x[20] = { - 0xC1, 0x60, 0x00, 0x00, 0xC1, 0x60, 0x00, 0x00, 0xC1, 0x60, - 0x00, 0x00, 0x3F, 0xA6, 0x66, 0x66, 0x40, 0xD0, 0x00, 0x00, +static const f32 m_kamen_offset_x[5] = { + -14.0f, -14.0f, -14.0f, 1.3f, 6.5f, }; -COMPILER_STRIP_GATE(0x803952B8, &m_kamen_offset_x); #pragma pop /* 803952CC-803952E0 02192C 0014+00 0/1 0/0 0/0 .rodata m_kamen_offset_y$7579 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const m_kamen_offset_y[20] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x41, 0xB0, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, +static const f32 m_kamen_offset_y[5] = { + 0.0f, 0.0f, 0.0f, 22.0f, 30.0f, }; -COMPILER_STRIP_GATE(0x803952CC, &m_kamen_offset_y); #pragma pop /* 803952E0-803952F4 021940 0014+00 0/1 0/0 0/0 .rodata m_kamen_scale$7580 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const m_kamen_scale[20] = { - 0x40, 0x26, 0x66, 0x66, 0x40, 0x26, 0x66, 0x66, 0x40, 0x0C, - 0xCC, 0xCD, 0x3F, 0xE6, 0x66, 0x66, 0x3F, 0xE6, 0x66, 0x66, +static const f32 m_kamen_scale[5] = { + 2.6f, 2.6f, 2.2f, 1.8f, 1.8f, }; -COMPILER_STRIP_GATE(0x803952E0, &m_kamen_scale); #pragma pop /* 801B7014-801B71C4 1B1954 01B0+00 1/1 0/0 0/0 .text createMaskModel__17dMenu_Collect3D_cFv */ +#ifdef NONMATCHING +// Matches with literals +void dMenu_Collect3D_c::createMaskModel() { + static char* bck_name[4] = { + "md_mask_parts_spin_1.bck", + "md_mask_parts_spin_2.bck", + "md_mask_parts_spin_3.bck", + "md_mask_parts_spin_4.bck", + }; + static char* brk_name[4] = { + "md_mask_parts_spin_1.brk", + "md_mask_parts_spin_2_3.brk", + "md_mask_parts_spin_2_3.brk", + "md_mask_parts_spin_4.brk", + }; + + u8 crystalNum = getCrystalNum(); + mMaskMirrorOffsetX = m_kamen_offset_x[crystalNum]; + mMaskMirrorOffsetY = m_kamen_offset_y[crystalNum]; + mMaskMirrorScale = m_kamen_scale[crystalNum]; + mMaskMirrorPos.set(0.0f, 0.0f, 0.0f); + mMaskMirrorAngle.set(0, 0, 0); + mpModel = NULL; + mpBckAnm = NULL; + mpBrkAnm = NULL; + if (crystalNum != 0) { + setJ3D("md_mask_UI.bmd", bck_name[crystalNum - 1], brk_name[crystalNum - 1]); + switch (crystalNum) { + case 1: + mpModel->getModelData()->getMaterialNodePointer(0)->getShape()->hide(); + mpModel->getModelData()->getMaterialNodePointer(1)->getShape()->hide(); + case 2: + mpModel->getModelData()->getMaterialNodePointer(2)->getShape()->hide(); + mpModel->getModelData()->getMaterialNodePointer(3)->getShape()->hide(); + case 3: + mpModel->getModelData()->getMaterialNodePointer(6)->getShape()->hide(); + mpModel->getModelData()->getMaterialNodePointer(7)->getShape()->hide(); + break; + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -2334,36 +3551,30 @@ asm void dMenu_Collect3D_c::createMaskModel() { #include "asm/d/menu/d_menu_collect/createMaskModel__17dMenu_Collect3D_cFv.s" } #pragma pop +#endif -/* ############################################################################################## */ /* 803952F4-80395308 021954 0014+00 0/1 0/0 0/0 .rodata m_mirror_offset_x$7682 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const m_mirror_offset_x[20] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +static const f32 m_mirror_offset_x[5] = { + 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, }; -COMPILER_STRIP_GATE(0x803952F4, &m_mirror_offset_x); #pragma pop /* 80395308-8039531C 021968 0014+00 0/1 0/0 0/0 .rodata m_mirror_offset_y$7683 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const m_mirror_offset_y[20] = { - 0x40, 0x80, 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x40, 0x80, - 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, +static const f32 m_mirror_offset_y[5] = { + 4.0f, 4.0f, 4.0f, 4.0f, 4.0f, }; -COMPILER_STRIP_GATE(0x80395308, &m_mirror_offset_y); #pragma pop /* 8039531C-80395330 02197C 0014+00 0/1 0/0 0/0 .rodata m_mirror_scale$7684 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const m_mirror_scale[20] = { - 0x3F, 0x19, 0x99, 0x9A, 0x3F, 0x19, 0x99, 0x9A, 0x3F, 0x19, - 0x99, 0x9A, 0x3F, 0x19, 0x99, 0x9A, 0x3F, 0x19, 0x99, 0x9A, +static const f32 m_mirror_scale[5] = { + 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, }; -COMPILER_STRIP_GATE(0x8039531C, &m_mirror_scale); #pragma pop /* 80395330-80395330 021990 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -2375,6 +3586,54 @@ SECTION_DEAD static char const* const pad_80395514 = "\0\0\0"; #pragma pop /* 801B71C4-801B7434 1B1B04 0270+00 1/1 0/0 0/0 .text createMirrorModel__17dMenu_Collect3D_cFv */ +#ifdef NONMATCHING +// Matches with literals +void dMenu_Collect3D_c::createMirrorModel() { + static char* bck_name[4] = { + "kageri_mirrer_spin_1.bck", + "kageri_mirrer_spin_2.bck", + "kageri_mirrer_spin_3.bck", + "kageri_mirrer_spin_4.bck", + }; + static char* brk_name[4] = { + "kageri_mirrer_spin_1.brk", + "kageri_mirrer_spin_2_3_4.brk", + "kageri_mirrer_spin_2_3_4.brk", + "kageri_mirrer_spin_2_3_4.brk", + }; + + u8 mirrorNum = getMirrorNum(); + mMaskMirrorOffsetX = m_mirror_offset_x[mirrorNum]; + mMaskMirrorOffsetY = m_mirror_offset_y[mirrorNum]; + mMaskMirrorScale = m_mirror_scale[mirrorNum]; + mMaskMirrorPos.set(0.0f, 0.0f, 0.0f); + mMaskMirrorAngle.set(0, 0, 0); + mpModel = NULL; + mpBckAnm = NULL; + mpBrkAnm = NULL; + if (mirrorNum != 0) { + setJ3D("kageri_mirrer_UI.bmd", bck_name[mirrorNum - 1], brk_name[mirrorNum - 1]); + switch (mirrorNum) { + case 1: + mpModel->getModelData()->getMaterialNodePointer(4)->getShape()->hide(); + mpModel->getModelData()->getMaterialNodePointer(5)->getShape()->hide(); + mpModel->getModelData()->getMaterialNodePointer(6)->getShape()->hide(); + mpModel->getModelData()->getMaterialNodePointer(7)->getShape()->hide(); + case 2: + mpModel->getModelData()->getMaterialNodePointer(8)->getShape()->hide(); + mpModel->getModelData()->getMaterialNodePointer(9)->getShape()->hide(); + mpModel->getModelData()->getMaterialNodePointer(10)->getShape()->hide(); + mpModel->getModelData()->getMaterialNodePointer(11)->getShape()->hide(); + case 3: + mpModel->getModelData()->getMaterialNodePointer(12)->getShape()->hide(); + mpModel->getModelData()->getMaterialNodePointer(13)->getShape()->hide(); + mpModel->getModelData()->getMaterialNodePointer(14)->getShape()->hide(); + mpModel->getModelData()->getMaterialNodePointer(15)->getShape()->hide(); + break; + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -2383,10 +3642,11 @@ asm void dMenu_Collect3D_c::createMirrorModel() { #include "asm/d/menu/d_menu_collect/createMirrorModel__17dMenu_Collect3D_cFv.s" } #pragma pop +#endif /* 801B7434-801B749C 1B1D74 0068+00 5/5 0/0 0/0 .text getCrystalNum__17dMenu_Collect3D_cFv */ -int dMenu_Collect3D_c::getCrystalNum() { - int count = 0; +u8 dMenu_Collect3D_c::getCrystalNum() { + u8 count = 0; for (int i = 0; i < 4; i++) { if (!dComIfGs_isCollectCrystal(i)) { break; @@ -2398,8 +3658,8 @@ int dMenu_Collect3D_c::getCrystalNum() { /* 801B749C-801B7504 1B1DDC 0068+00 5/5 0/0 0/0 .text getMirrorNum__17dMenu_Collect3D_cFv */ -int dMenu_Collect3D_c::getMirrorNum() { - int count = 0; +u8 dMenu_Collect3D_c::getMirrorNum() { + u8 count = 0; for (int i = 0; i < 4; i++) { if (!dComIfGs_isCollectMirror(i)) { break; @@ -2410,19 +3670,23 @@ int dMenu_Collect3D_c::getMirrorNum() { } /* 801B7504-801B75E8 1B1E44 00E4+00 4/4 0/0 0/0 .text getMaskMdlVisible__17dMenu_Collect3D_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Collect3D_c::getMaskMdlVisible() { - nofralloc -#include "asm/d/menu/d_menu_collect/getMaskMdlVisible__17dMenu_Collect3D_cFv.s" +u8 dMenu_Collect3D_c::getMaskMdlVisible() { + if ((getCrystalNum() == 0 && getMirrorNum() == 0) || + (i_dComIfGs_isEventBit(0xC01) && !dComIfGs_isCollectMirror(0)) || + (i_dComIfGs_isEventBit(0x2B08) && !dComIfGs_isCollectCrystal(3))) + { + return 0; + } + if (dComIfGs_isCollectCrystal(3) || getMirrorNum() == 0) { + return 1; + } + return 2; } -#pragma pop /* ############################################################################################## */ /* 80450720-80450728 0001A0 0004+04 1/1 0/0 1/1 .sdata mViewOffsetY__17dMenu_Collect3D_c */ -SECTION_SDATA f32 dMenu_Collect3D_c::mViewOffsetY = -100.0f; +f32 dMenu_Collect3D_c::mViewOffsetY = -100.0f; /* 80453FC4-80453FC8 0025C4 0004+00 3/3 0/0 0/0 .sdata2 @7944 */ SECTION_SDATA2 static f32 lit_7944 = 608.0f; @@ -2474,6 +3738,26 @@ SECTION_SDATA2 static f64 lit_7963 = 0.39269909262657166; /* 801B7660-801B774C 1B1FA0 00EC+00 1/1 0/0 0/0 .text toItem3Dpos__17dMenu_Collect3D_cFfffP4cXyz */ +// This is mostly matching like this using O2 but still regalloc (f29/f31) +#ifdef NONMATCHING +#pragma push +#pragma optimization_level 2 +void dMenu_Collect3D_c::toItem3Dpos(f32 param_0, f32 param_1, f32 param_2, cXyz* param_3) { + Mtx adStack_98; + Mtx auStack_c8; + f32 dVar7 = + (2.0f * ((param_0 - mDoGph_gInf_c::getMinXF()) / mDoGph_gInf_c::getWidthF()) - 1.0f); + f32 dVar11 = (2.0f * ((param_1 - 100.0f) / 448.0f) - 1.0f); + calcViewMtx(adStack_98); + MTXInverse(adStack_98, auStack_c8); + f32 tangent = tan(0.39269909262657166); + f32 dVar12 = -param_2; + cXyz cStack_d4((dVar7 * param_2) * (tangent * mDoGph_gInf_c::getAspect()), + (tangent * (dVar11 * dVar12)), dVar12); + MTXMultVec(auStack_c8, &cStack_d4, param_3); +} +#pragma pop +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -2482,6 +3766,7 @@ asm void dMenu_Collect3D_c::toItem3Dpos(f32 param_0, f32 param_1, f32 param_2, c #include "asm/d/menu/d_menu_collect/toItem3Dpos__17dMenu_Collect3D_cFfffP4cXyz.s" } #pragma pop +#endif /* 801B774C-801B77A4 1B208C 0058+00 2/2 0/0 0/0 .text calcViewMtx__17dMenu_Collect3D_cFPA4_f */ // matches with literals @@ -2572,8 +3857,7 @@ void dMenu_Collect_c::draw() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void __sinit_d_menu_collect_cpp() { - nofralloc +asm void __sinit_d_menu_collect_cpp(){nofralloc #include "asm/d/menu/d_menu_collect/__sinit_d_menu_collect_cpp.s" } #pragma pop @@ -2603,5 +3887,3 @@ extern "C" asm void draw__17dMenu_Collect2D_cFv() { #include "asm/d/menu/d_menu_collect/draw__17dMenu_Collect2D_cFv.s" } #pragma pop - -/* 80395330-80395330 021990 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/msg/d_msg_object.cpp b/src/d/msg/d_msg_object.cpp index 350eee52397..6b383bfcc26 100644 --- a/src/d/msg/d_msg_object.cpp +++ b/src/d/msg/d_msg_object.cpp @@ -1856,7 +1856,7 @@ asm u32 dMsgObject_c::getMessageID() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMsgObject_c::getSmellTypeMessageID() { +asm u32 dMsgObject_c::getSmellTypeMessageID() { nofralloc #include "asm/d/msg/d_msg_object/getSmellTypeMessageID__12dMsgObject_cFv.s" }