From 7894ea5140a30c8241efe465a0442eab6b789984 Mon Sep 17 00:00:00 2001 From: hatal175 Date: Sat, 10 Aug 2024 06:23:17 +0300 Subject: [PATCH] Work on d_msg_scrn_item (#2188) --- .../__dt__14dMsgScrnItem_cFv.s | 242 ------ .../arwAnimeInit__14dMsgScrnItem_cFv.s | 10 - .../arwAnimeMove__14dMsgScrnItem_cFv.s | 10 - .../dotAnimeInit__14dMsgScrnItem_cFv.s | 10 - .../dotAnimeMove__14dMsgScrnItem_cFv.s | 10 - .../fukiAlpha__14dMsgScrnItem_cFf.s | 45 - .../fukiTrans__14dMsgScrnItem_cFff.s | 10 - .../isOugiID__14dMsgScrnItem_cFv.s | 59 -- .../isSelect__14dMsgScrnItem_cFv.s | 10 - .../selectAnimeEnd__14dMsgScrnItem_cFv.s | 10 - ...electAnimeInit__14dMsgScrnItem_cFUcUcfUc.s | 13 - .../selectAnimeMove__14dMsgScrnItem_cFUcUcb.s | 10 - ...imation__14dMsgScrnItem_cFP11J2DAnmColor.s | 24 - ...imation__14dMsgScrnItem_cFP11J2DAnmColor.s | 25 - ..._14dMsgScrnItem_cFP19J2DAnmTextureSRTKey.s | 40 - ...electRubyString__14dMsgScrnItem_cFPcPcPc.s | 10 - ...setSelectString__14dMsgScrnItem_cFPcPcPc.s | 10 - include/JSystem/J2DGraph/J2DPane.h | 2 + include/JSystem/JKernel/JKRArchive.h | 4 + include/d/a/d_a_npc.h | 2 +- include/d/d_item_data.h | 2 + include/d/msg/d_msg_object.h | 9 +- include/d/msg/d_msg_scrn_3select.h | 2 +- include/d/msg/d_msg_scrn_item.h | 46 +- src/d/a/d_a_npc.cpp | 26 +- src/d/msg/d_msg_object.cpp | 4 +- src/d/msg/d_msg_scrn_3select.cpp | 4 +- src/d/msg/d_msg_scrn_item.cpp | 776 +++++++++++++----- 28 files changed, 653 insertions(+), 772 deletions(-) delete mode 100644 asm/msg/scrn/d_msg_scrn_item/__dt__14dMsgScrnItem_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_item/arwAnimeInit__14dMsgScrnItem_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_item/arwAnimeMove__14dMsgScrnItem_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_item/dotAnimeInit__14dMsgScrnItem_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_item/dotAnimeMove__14dMsgScrnItem_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_item/fukiAlpha__14dMsgScrnItem_cFf.s delete mode 100644 asm/msg/scrn/d_msg_scrn_item/fukiTrans__14dMsgScrnItem_cFff.s delete mode 100644 asm/msg/scrn/d_msg_scrn_item/isOugiID__14dMsgScrnItem_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_item/isSelect__14dMsgScrnItem_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_item/selectAnimeEnd__14dMsgScrnItem_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_item/selectAnimeInit__14dMsgScrnItem_cFUcUcfUc.s delete mode 100644 asm/msg/scrn/d_msg_scrn_item/selectAnimeMove__14dMsgScrnItem_cFUcUcb.s delete mode 100644 asm/msg/scrn/d_msg_scrn_item/setBpk0Animation__14dMsgScrnItem_cFP11J2DAnmColor.s delete mode 100644 asm/msg/scrn/d_msg_scrn_item/setBpk1Animation__14dMsgScrnItem_cFP11J2DAnmColor.s delete mode 100644 asm/msg/scrn/d_msg_scrn_item/setBtk0Animation__14dMsgScrnItem_cFP19J2DAnmTextureSRTKey.s delete mode 100644 asm/msg/scrn/d_msg_scrn_item/setSelectRubyString__14dMsgScrnItem_cFPcPcPc.s delete mode 100644 asm/msg/scrn/d_msg_scrn_item/setSelectString__14dMsgScrnItem_cFPcPcPc.s diff --git a/asm/msg/scrn/d_msg_scrn_item/__dt__14dMsgScrnItem_cFv.s b/asm/msg/scrn/d_msg_scrn_item/__dt__14dMsgScrnItem_cFv.s deleted file mode 100644 index bdf1bf27a2b..00000000000 --- a/asm/msg/scrn/d_msg_scrn_item/__dt__14dMsgScrnItem_cFv.s +++ /dev/null @@ -1,242 +0,0 @@ -lbl_8023F51C: -/* 8023F51C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8023F520 7C 08 02 A6 */ mflr r0 -/* 8023F524 90 01 00 24 */ stw r0, 0x24(r1) -/* 8023F528 39 61 00 20 */ addi r11, r1, 0x20 -/* 8023F52C 48 12 2C A5 */ bl _savegpr_26 -/* 8023F530 7C 7E 1B 79 */ or. r30, r3, r3 -/* 8023F534 7C 9F 23 78 */ mr r31, r4 -/* 8023F538 41 82 03 34 */ beq lbl_8023F86C -/* 8023F53C 3C 60 80 3C */ lis r3, __vt__14dMsgScrnItem_c@ha /* 0x803C0F78@ha */ -/* 8023F540 38 03 0F 78 */ addi r0, r3, __vt__14dMsgScrnItem_c@l /* 0x803C0F78@l */ -/* 8023F544 90 1E 00 00 */ stw r0, 0(r30) -/* 8023F548 3B 60 00 00 */ li r27, 0 -/* 8023F54C 3B A0 00 00 */ li r29, 0 -lbl_8023F550: -/* 8023F550 7F 9E EA 14 */ add r28, r30, r29 -/* 8023F554 80 9C 00 D4 */ lwz r4, 0xd4(r28) -/* 8023F558 28 04 00 00 */ cmplwi r4, 0 -/* 8023F55C 41 82 00 14 */ beq lbl_8023F570 -/* 8023F560 80 7E 01 38 */ lwz r3, 0x138(r30) -/* 8023F564 48 08 EF E5 */ bl free__7JKRHeapFPv -/* 8023F568 38 00 00 00 */ li r0, 0 -/* 8023F56C 90 1C 00 D4 */ stw r0, 0xd4(r28) -lbl_8023F570: -/* 8023F570 80 7C 00 C8 */ lwz r3, 0xc8(r28) -/* 8023F574 28 03 00 00 */ cmplwi r3, 0 -/* 8023F578 41 82 00 24 */ beq lbl_8023F59C -/* 8023F57C 41 82 00 18 */ beq lbl_8023F594 -/* 8023F580 38 80 00 01 */ li r4, 1 -/* 8023F584 81 83 00 00 */ lwz r12, 0(r3) -/* 8023F588 81 8C 00 08 */ lwz r12, 8(r12) -/* 8023F58C 7D 89 03 A6 */ mtctr r12 -/* 8023F590 4E 80 04 21 */ bctrl -lbl_8023F594: -/* 8023F594 38 00 00 00 */ li r0, 0 -/* 8023F598 90 1C 00 C8 */ stw r0, 0xc8(r28) -lbl_8023F59C: -/* 8023F59C 3B 7B 00 01 */ addi r27, r27, 1 -/* 8023F5A0 2C 1B 00 03 */ cmpwi r27, 3 -/* 8023F5A4 3B BD 00 04 */ addi r29, r29, 4 -/* 8023F5A8 41 80 FF A8 */ blt lbl_8023F550 -/* 8023F5AC 80 7E 00 04 */ lwz r3, 4(r30) -/* 8023F5B0 28 03 00 00 */ cmplwi r3, 0 -/* 8023F5B4 41 82 00 18 */ beq lbl_8023F5CC -/* 8023F5B8 38 80 00 01 */ li r4, 1 -/* 8023F5BC 81 83 00 00 */ lwz r12, 0(r3) -/* 8023F5C0 81 8C 00 08 */ lwz r12, 8(r12) -/* 8023F5C4 7D 89 03 A6 */ mtctr r12 -/* 8023F5C8 4E 80 04 21 */ bctrl -lbl_8023F5CC: -/* 8023F5CC 38 00 00 00 */ li r0, 0 -/* 8023F5D0 90 1E 00 04 */ stw r0, 4(r30) -/* 8023F5D4 80 7E 00 C4 */ lwz r3, 0xc4(r30) -/* 8023F5D8 28 03 00 00 */ cmplwi r3, 0 -/* 8023F5DC 41 82 00 18 */ beq lbl_8023F5F4 -/* 8023F5E0 38 80 00 01 */ li r4, 1 -/* 8023F5E4 81 83 00 00 */ lwz r12, 0(r3) -/* 8023F5E8 81 8C 00 08 */ lwz r12, 8(r12) -/* 8023F5EC 7D 89 03 A6 */ mtctr r12 -/* 8023F5F0 4E 80 04 21 */ bctrl -lbl_8023F5F4: -/* 8023F5F4 38 00 00 00 */ li r0, 0 -/* 8023F5F8 90 1E 00 C4 */ stw r0, 0xc4(r30) -/* 8023F5FC 80 7E 00 EC */ lwz r3, 0xec(r30) -/* 8023F600 28 03 00 00 */ cmplwi r3, 0 -/* 8023F604 41 82 00 18 */ beq lbl_8023F61C -/* 8023F608 38 80 00 01 */ li r4, 1 -/* 8023F60C 81 83 00 00 */ lwz r12, 0(r3) -/* 8023F610 81 8C 00 08 */ lwz r12, 8(r12) -/* 8023F614 7D 89 03 A6 */ mtctr r12 -/* 8023F618 4E 80 04 21 */ bctrl -lbl_8023F61C: -/* 8023F61C 38 00 00 00 */ li r0, 0 -/* 8023F620 90 1E 00 EC */ stw r0, 0xec(r30) -/* 8023F624 80 7E 00 F0 */ lwz r3, 0xf0(r30) -/* 8023F628 28 03 00 00 */ cmplwi r3, 0 -/* 8023F62C 41 82 00 18 */ beq lbl_8023F644 -/* 8023F630 38 80 00 01 */ li r4, 1 -/* 8023F634 81 83 00 00 */ lwz r12, 0(r3) -/* 8023F638 81 8C 00 08 */ lwz r12, 8(r12) -/* 8023F63C 7D 89 03 A6 */ mtctr r12 -/* 8023F640 4E 80 04 21 */ bctrl -lbl_8023F644: -/* 8023F644 38 00 00 00 */ li r0, 0 -/* 8023F648 90 1E 00 F0 */ stw r0, 0xf0(r30) -/* 8023F64C 80 7E 00 F4 */ lwz r3, 0xf4(r30) -/* 8023F650 28 03 00 00 */ cmplwi r3, 0 -/* 8023F654 41 82 00 18 */ beq lbl_8023F66C -/* 8023F658 38 80 00 01 */ li r4, 1 -/* 8023F65C 81 83 00 00 */ lwz r12, 0(r3) -/* 8023F660 81 8C 00 08 */ lwz r12, 8(r12) -/* 8023F664 7D 89 03 A6 */ mtctr r12 -/* 8023F668 4E 80 04 21 */ bctrl -lbl_8023F66C: -/* 8023F66C 38 00 00 00 */ li r0, 0 -/* 8023F670 90 1E 00 F4 */ stw r0, 0xf4(r30) -/* 8023F674 80 9E 00 50 */ lwz r4, 0x50(r30) -/* 8023F678 28 04 00 00 */ cmplwi r4, 0 -/* 8023F67C 41 82 00 14 */ beq lbl_8023F690 -/* 8023F680 80 7E 01 38 */ lwz r3, 0x138(r30) -/* 8023F684 48 08 EE C5 */ bl free__7JKRHeapFPv -/* 8023F688 38 00 00 00 */ li r0, 0 -/* 8023F68C 90 1E 00 50 */ stw r0, 0x50(r30) -lbl_8023F690: -/* 8023F690 80 7E 01 08 */ lwz r3, 0x108(r30) -/* 8023F694 28 03 00 00 */ cmplwi r3, 0 -/* 8023F698 41 82 00 18 */ beq lbl_8023F6B0 -/* 8023F69C 38 80 00 01 */ li r4, 1 -/* 8023F6A0 81 83 00 00 */ lwz r12, 0(r3) -/* 8023F6A4 81 8C 00 08 */ lwz r12, 8(r12) -/* 8023F6A8 7D 89 03 A6 */ mtctr r12 -/* 8023F6AC 4E 80 04 21 */ bctrl -lbl_8023F6B0: -/* 8023F6B0 3B 80 00 00 */ li r28, 0 -/* 8023F6B4 93 9E 01 08 */ stw r28, 0x108(r30) -/* 8023F6B8 3B 40 00 00 */ li r26, 0 -/* 8023F6BC 3B A0 00 00 */ li r29, 0 -lbl_8023F6C0: -/* 8023F6C0 3B 7D 01 0C */ addi r27, r29, 0x10c -/* 8023F6C4 7C 7E D8 2E */ lwzx r3, r30, r27 -/* 8023F6C8 28 03 00 00 */ cmplwi r3, 0 -/* 8023F6CC 41 82 00 18 */ beq lbl_8023F6E4 -/* 8023F6D0 38 80 00 01 */ li r4, 1 -/* 8023F6D4 81 83 00 00 */ lwz r12, 0(r3) -/* 8023F6D8 81 8C 00 08 */ lwz r12, 8(r12) -/* 8023F6DC 7D 89 03 A6 */ mtctr r12 -/* 8023F6E0 4E 80 04 21 */ bctrl -lbl_8023F6E4: -/* 8023F6E4 7F 9E D9 2E */ stwx r28, r30, r27 -/* 8023F6E8 3B 5A 00 01 */ addi r26, r26, 1 -/* 8023F6EC 2C 1A 00 02 */ cmpwi r26, 2 -/* 8023F6F0 3B BD 00 04 */ addi r29, r29, 4 -/* 8023F6F4 41 80 FF CC */ blt lbl_8023F6C0 -/* 8023F6F8 3B 80 00 00 */ li r28, 0 -/* 8023F6FC 80 7E 01 18 */ lwz r3, 0x118(r30) -/* 8023F700 28 03 00 00 */ cmplwi r3, 0 -/* 8023F704 41 82 00 18 */ beq lbl_8023F71C -/* 8023F708 38 80 00 01 */ li r4, 1 -/* 8023F70C 81 83 00 00 */ lwz r12, 0(r3) -/* 8023F710 81 8C 00 08 */ lwz r12, 8(r12) -/* 8023F714 7D 89 03 A6 */ mtctr r12 -/* 8023F718 4E 80 04 21 */ bctrl -lbl_8023F71C: -/* 8023F71C 93 9E 01 18 */ stw r28, 0x118(r30) -/* 8023F720 3B 40 00 00 */ li r26, 0 -/* 8023F724 3B A0 00 00 */ li r29, 0 -/* 8023F728 3B 80 00 00 */ li r28, 0 -lbl_8023F72C: -/* 8023F72C 3B 7D 01 2C */ addi r27, r29, 0x12c -/* 8023F730 7C 7E D8 2E */ lwzx r3, r30, r27 -/* 8023F734 28 03 00 00 */ cmplwi r3, 0 -/* 8023F738 41 82 00 18 */ beq lbl_8023F750 -/* 8023F73C 38 80 00 01 */ li r4, 1 -/* 8023F740 81 83 00 00 */ lwz r12, 0(r3) -/* 8023F744 81 8C 00 08 */ lwz r12, 8(r12) -/* 8023F748 7D 89 03 A6 */ mtctr r12 -/* 8023F74C 4E 80 04 21 */ bctrl -lbl_8023F750: -/* 8023F750 7F 9E D9 2E */ stwx r28, r30, r27 -/* 8023F754 3B 5A 00 01 */ addi r26, r26, 1 -/* 8023F758 2C 1A 00 02 */ cmpwi r26, 2 -/* 8023F75C 3B BD 00 04 */ addi r29, r29, 4 -/* 8023F760 41 80 FF CC */ blt lbl_8023F72C -/* 8023F764 80 7E 00 08 */ lwz r3, 8(r30) -/* 8023F768 28 03 00 00 */ cmplwi r3, 0 -/* 8023F76C 41 82 00 18 */ beq lbl_8023F784 -/* 8023F770 38 80 00 01 */ li r4, 1 -/* 8023F774 81 83 00 00 */ lwz r12, 0(r3) -/* 8023F778 81 8C 00 08 */ lwz r12, 8(r12) -/* 8023F77C 7D 89 03 A6 */ mtctr r12 -/* 8023F780 4E 80 04 21 */ bctrl -lbl_8023F784: -/* 8023F784 38 00 00 00 */ li r0, 0 -/* 8023F788 90 1E 00 08 */ stw r0, 8(r30) -/* 8023F78C 3B 40 00 00 */ li r26, 0 -/* 8023F790 3B A0 00 00 */ li r29, 0 -lbl_8023F794: -/* 8023F794 7F 7E EA 14 */ add r27, r30, r29 -/* 8023F798 80 7B 00 0C */ lwz r3, 0xc(r27) -/* 8023F79C 28 03 00 00 */ cmplwi r3, 0 -/* 8023F7A0 41 82 00 18 */ beq lbl_8023F7B8 -/* 8023F7A4 38 80 00 01 */ li r4, 1 -/* 8023F7A8 81 83 00 00 */ lwz r12, 0(r3) -/* 8023F7AC 81 8C 00 08 */ lwz r12, 8(r12) -/* 8023F7B0 7D 89 03 A6 */ mtctr r12 -/* 8023F7B4 4E 80 04 21 */ bctrl -lbl_8023F7B8: -/* 8023F7B8 38 00 00 00 */ li r0, 0 -/* 8023F7BC 90 1B 00 0C */ stw r0, 0xc(r27) -/* 8023F7C0 80 7B 00 28 */ lwz r3, 0x28(r27) -/* 8023F7C4 28 03 00 00 */ cmplwi r3, 0 -/* 8023F7C8 41 82 00 24 */ beq lbl_8023F7EC -/* 8023F7CC 41 82 00 18 */ beq lbl_8023F7E4 -/* 8023F7D0 38 80 00 01 */ li r4, 1 -/* 8023F7D4 81 83 00 00 */ lwz r12, 0(r3) -/* 8023F7D8 81 8C 00 08 */ lwz r12, 8(r12) -/* 8023F7DC 7D 89 03 A6 */ mtctr r12 -/* 8023F7E0 4E 80 04 21 */ bctrl -lbl_8023F7E4: -/* 8023F7E4 38 00 00 00 */ li r0, 0 -/* 8023F7E8 90 1B 00 28 */ stw r0, 0x28(r27) -lbl_8023F7EC: -/* 8023F7EC 3B 5A 00 01 */ addi r26, r26, 1 -/* 8023F7F0 2C 1A 00 03 */ cmpwi r26, 3 -/* 8023F7F4 3B BD 00 04 */ addi r29, r29, 4 -/* 8023F7F8 41 80 FF 9C */ blt lbl_8023F794 -/* 8023F7FC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8023F800 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8023F804 80 63 5C 6C */ lwz r3, 0x5c6c(r3) -/* 8023F808 81 83 00 00 */ lwz r12, 0(r3) -/* 8023F80C 81 8C 00 24 */ lwz r12, 0x24(r12) -/* 8023F810 7D 89 03 A6 */ mtctr r12 -/* 8023F814 4E 80 04 21 */ bctrl -/* 8023F818 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8023F81C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8023F820 80 63 5C 78 */ lwz r3, 0x5c78(r3) -/* 8023F824 81 83 00 00 */ lwz r12, 0(r3) -/* 8023F828 81 8C 00 24 */ lwz r12, 0x24(r12) -/* 8023F82C 7D 89 03 A6 */ mtctr r12 -/* 8023F830 4E 80 04 21 */ bctrl -/* 8023F834 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8023F838 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8023F83C 80 63 5C E4 */ lwz r3, 0x5ce4(r3) -/* 8023F840 81 83 00 00 */ lwz r12, 0(r3) -/* 8023F844 81 8C 00 24 */ lwz r12, 0x24(r12) -/* 8023F848 7D 89 03 A6 */ mtctr r12 -/* 8023F84C 4E 80 04 21 */ bctrl -/* 8023F850 7F C3 F3 78 */ mr r3, r30 -/* 8023F854 38 80 00 00 */ li r4, 0 -/* 8023F858 4B FF C8 CD */ bl __dt__14dMsgScrnBase_cFv -/* 8023F85C 7F E0 07 35 */ extsh. r0, r31 -/* 8023F860 40 81 00 0C */ ble lbl_8023F86C -/* 8023F864 7F C3 F3 78 */ mr r3, r30 -/* 8023F868 48 08 F4 D5 */ bl __dl__FPv -lbl_8023F86C: -/* 8023F86C 7F C3 F3 78 */ mr r3, r30 -/* 8023F870 39 61 00 20 */ addi r11, r1, 0x20 -/* 8023F874 48 12 29 A9 */ bl _restgpr_26 -/* 8023F878 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8023F87C 7C 08 03 A6 */ mtlr r0 -/* 8023F880 38 21 00 20 */ addi r1, r1, 0x20 -/* 8023F884 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_item/arwAnimeInit__14dMsgScrnItem_cFv.s b/asm/msg/scrn/d_msg_scrn_item/arwAnimeInit__14dMsgScrnItem_cFv.s deleted file mode 100644 index d7e098ffc24..00000000000 --- a/asm/msg/scrn/d_msg_scrn_item/arwAnimeInit__14dMsgScrnItem_cFv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8023FF30: -/* 8023FF30 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8023FF34 7C 08 02 A6 */ mflr r0 -/* 8023FF38 90 01 00 14 */ stw r0, 0x14(r1) -/* 8023FF3C 80 63 00 EC */ lwz r3, 0xec(r3) -/* 8023FF40 4B FF BE F5 */ bl arwAnimeInit__15dMsgScrnArrow_cFv -/* 8023FF44 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8023FF48 7C 08 03 A6 */ mtlr r0 -/* 8023FF4C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8023FF50 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_item/arwAnimeMove__14dMsgScrnItem_cFv.s b/asm/msg/scrn/d_msg_scrn_item/arwAnimeMove__14dMsgScrnItem_cFv.s deleted file mode 100644 index 139744099c5..00000000000 --- a/asm/msg/scrn/d_msg_scrn_item/arwAnimeMove__14dMsgScrnItem_cFv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8023FF54: -/* 8023FF54 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8023FF58 7C 08 02 A6 */ mflr r0 -/* 8023FF5C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8023FF60 80 63 00 EC */ lwz r3, 0xec(r3) -/* 8023FF64 4B FF BF 2D */ bl arwAnimeMove__15dMsgScrnArrow_cFv -/* 8023FF68 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8023FF6C 7C 08 03 A6 */ mtlr r0 -/* 8023FF70 38 21 00 10 */ addi r1, r1, 0x10 -/* 8023FF74 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_item/dotAnimeInit__14dMsgScrnItem_cFv.s b/asm/msg/scrn/d_msg_scrn_item/dotAnimeInit__14dMsgScrnItem_cFv.s deleted file mode 100644 index 43b1a8dcb58..00000000000 --- a/asm/msg/scrn/d_msg_scrn_item/dotAnimeInit__14dMsgScrnItem_cFv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8023FF78: -/* 8023FF78 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8023FF7C 7C 08 02 A6 */ mflr r0 -/* 8023FF80 90 01 00 14 */ stw r0, 0x14(r1) -/* 8023FF84 80 63 00 EC */ lwz r3, 0xec(r3) -/* 8023FF88 4B FF C0 3D */ bl dotAnimeInit__15dMsgScrnArrow_cFv -/* 8023FF8C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8023FF90 7C 08 03 A6 */ mtlr r0 -/* 8023FF94 38 21 00 10 */ addi r1, r1, 0x10 -/* 8023FF98 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_item/dotAnimeMove__14dMsgScrnItem_cFv.s b/asm/msg/scrn/d_msg_scrn_item/dotAnimeMove__14dMsgScrnItem_cFv.s deleted file mode 100644 index 2e006dc61c3..00000000000 --- a/asm/msg/scrn/d_msg_scrn_item/dotAnimeMove__14dMsgScrnItem_cFv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8023FF9C: -/* 8023FF9C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8023FFA0 7C 08 02 A6 */ mflr r0 -/* 8023FFA4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8023FFA8 80 63 00 EC */ lwz r3, 0xec(r3) -/* 8023FFAC 4B FF C0 65 */ bl dotAnimeMove__15dMsgScrnArrow_cFv -/* 8023FFB0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8023FFB4 7C 08 03 A6 */ mtlr r0 -/* 8023FFB8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8023FFBC 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_item/fukiAlpha__14dMsgScrnItem_cFf.s b/asm/msg/scrn/d_msg_scrn_item/fukiAlpha__14dMsgScrnItem_cFf.s deleted file mode 100644 index c1604569584..00000000000 --- a/asm/msg/scrn/d_msg_scrn_item/fukiAlpha__14dMsgScrnItem_cFf.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_802400CC: -/* 802400CC 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802400D0 7C 08 02 A6 */ mflr r0 -/* 802400D4 90 01 00 34 */ stw r0, 0x34(r1) -/* 802400D8 DB E1 00 20 */ stfd f31, 0x20(r1) -/* 802400DC F3 E1 00 28 */ psq_st f31, 40(r1), 0, 0 /* qr0 */ -/* 802400E0 39 61 00 20 */ addi r11, r1, 0x20 -/* 802400E4 48 12 20 F5 */ bl _savegpr_28 -/* 802400E8 7C 7C 1B 78 */ mr r28, r3 -/* 802400EC FF E0 08 90 */ fmr f31, f1 -/* 802400F0 D3 E3 01 3C */ stfs f31, 0x13c(r3) -/* 802400F4 D3 E3 01 94 */ stfs f31, 0x194(r3) -/* 802400F8 80 63 00 08 */ lwz r3, 8(r3) -/* 802400FC 3C 80 80 43 */ lis r4, g_MsgObject_HIO_c@ha /* 0x8043028C@ha */ -/* 80240100 38 84 02 8C */ addi r4, r4, g_MsgObject_HIO_c@l /* 0x8043028C@l */ -/* 80240104 C0 04 00 24 */ lfs f0, 0x24(r4) -/* 80240108 EC 3F 00 32 */ fmuls f1, f31, f0 -/* 8024010C 48 01 56 C5 */ bl setAlphaRate__13CPaneMgrAlphaFf -/* 80240110 3B A0 00 00 */ li r29, 0 -/* 80240114 3B E0 00 00 */ li r31, 0 -lbl_80240118: -/* 80240118 7F DC FA 14 */ add r30, r28, r31 -/* 8024011C 80 7E 00 0C */ lwz r3, 0xc(r30) -/* 80240120 C0 1C 00 BC */ lfs f0, 0xbc(r28) -/* 80240124 EC 3F 00 32 */ fmuls f1, f31, f0 -/* 80240128 48 01 56 A9 */ bl setAlphaRate__13CPaneMgrAlphaFf -/* 8024012C 80 7E 00 28 */ lwz r3, 0x28(r30) -/* 80240130 28 03 00 00 */ cmplwi r3, 0 -/* 80240134 41 82 00 10 */ beq lbl_80240144 -/* 80240138 C0 1C 00 BC */ lfs f0, 0xbc(r28) -/* 8024013C EC 3F 00 32 */ fmuls f1, f31, f0 -/* 80240140 48 01 56 91 */ bl setAlphaRate__13CPaneMgrAlphaFf -lbl_80240144: -/* 80240144 3B BD 00 01 */ addi r29, r29, 1 -/* 80240148 2C 1D 00 03 */ cmpwi r29, 3 -/* 8024014C 3B FF 00 04 */ addi r31, r31, 4 -/* 80240150 41 80 FF C8 */ blt lbl_80240118 -/* 80240154 E3 E1 00 28 */ psq_l f31, 40(r1), 0, 0 /* qr0 */ -/* 80240158 CB E1 00 20 */ lfd f31, 0x20(r1) -/* 8024015C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80240160 48 12 20 C5 */ bl _restgpr_28 -/* 80240164 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80240168 7C 08 03 A6 */ mtlr r0 -/* 8024016C 38 21 00 30 */ addi r1, r1, 0x30 -/* 80240170 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_item/fukiTrans__14dMsgScrnItem_cFff.s b/asm/msg/scrn/d_msg_scrn_item/fukiTrans__14dMsgScrnItem_cFff.s deleted file mode 100644 index 4c2a6ef274f..00000000000 --- a/asm/msg/scrn/d_msg_scrn_item/fukiTrans__14dMsgScrnItem_cFff.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_802400A8: -/* 802400A8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802400AC 7C 08 02 A6 */ mflr r0 -/* 802400B0 90 01 00 14 */ stw r0, 0x14(r1) -/* 802400B4 80 63 00 08 */ lwz r3, 8(r3) -/* 802400B8 48 01 44 F9 */ bl paneTrans__8CPaneMgrFff -/* 802400BC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802400C0 7C 08 03 A6 */ mtlr r0 -/* 802400C4 38 21 00 10 */ addi r1, r1, 0x10 -/* 802400C8 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_item/isOugiID__14dMsgScrnItem_cFv.s b/asm/msg/scrn/d_msg_scrn_item/isOugiID__14dMsgScrnItem_cFv.s deleted file mode 100644 index a64b55e8fba..00000000000 --- a/asm/msg/scrn/d_msg_scrn_item/isOugiID__14dMsgScrnItem_cFv.s +++ /dev/null @@ -1,59 +0,0 @@ -lbl_802408A4: -/* 802408A4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802408A8 7C 08 02 A6 */ mflr r0 -/* 802408AC 90 01 00 14 */ stw r0, 0x14(r1) -/* 802408B0 4B FF 7B 21 */ bl getMessageID__12dMsgObject_cFv -/* 802408B4 2C 03 18 B4 */ cmpwi r3, 0x18b4 -/* 802408B8 41 82 00 98 */ beq lbl_80240950 -/* 802408BC 40 80 00 4C */ bge lbl_80240908 -/* 802408C0 2C 03 18 5C */ cmpwi r3, 0x185c -/* 802408C4 41 82 00 8C */ beq lbl_80240950 -/* 802408C8 40 80 00 28 */ bge lbl_802408F0 -/* 802408CC 2C 03 18 23 */ cmpwi r3, 0x1823 -/* 802408D0 41 82 00 80 */ beq lbl_80240950 -/* 802408D4 40 80 00 10 */ bge lbl_802408E4 -/* 802408D8 2C 03 17 ED */ cmpwi r3, 0x17ed -/* 802408DC 41 82 00 74 */ beq lbl_80240950 -/* 802408E0 48 00 00 78 */ b lbl_80240958 -lbl_802408E4: -/* 802408E4 2C 03 18 3F */ cmpwi r3, 0x183f -/* 802408E8 41 82 00 68 */ beq lbl_80240950 -/* 802408EC 48 00 00 6C */ b lbl_80240958 -lbl_802408F0: -/* 802408F0 2C 03 18 95 */ cmpwi r3, 0x1895 -/* 802408F4 41 82 00 5C */ beq lbl_80240950 -/* 802408F8 40 80 00 60 */ bge lbl_80240958 -/* 802408FC 2C 03 18 77 */ cmpwi r3, 0x1877 -/* 80240900 41 82 00 50 */ beq lbl_80240950 -/* 80240904 48 00 00 54 */ b lbl_80240958 -lbl_80240908: -/* 80240908 2C 03 3F 87 */ cmpwi r3, 0x3f87 -/* 8024090C 41 82 00 44 */ beq lbl_80240950 -/* 80240910 40 80 00 28 */ bge lbl_80240938 -/* 80240914 2C 03 3F 33 */ cmpwi r3, 0x3f33 -/* 80240918 41 82 00 38 */ beq lbl_80240950 -/* 8024091C 40 80 00 10 */ bge lbl_8024092C -/* 80240920 2C 03 3E FD */ cmpwi r3, 0x3efd -/* 80240924 41 82 00 2C */ beq lbl_80240950 -/* 80240928 48 00 00 30 */ b lbl_80240958 -lbl_8024092C: -/* 8024092C 2C 03 3F 6C */ cmpwi r3, 0x3f6c -/* 80240930 41 82 00 20 */ beq lbl_80240950 -/* 80240934 48 00 00 24 */ b lbl_80240958 -lbl_80240938: -/* 80240938 2C 03 3F C4 */ cmpwi r3, 0x3fc4 -/* 8024093C 41 82 00 14 */ beq lbl_80240950 -/* 80240940 40 80 00 18 */ bge lbl_80240958 -/* 80240944 2C 03 3F A5 */ cmpwi r3, 0x3fa5 -/* 80240948 41 82 00 08 */ beq lbl_80240950 -/* 8024094C 48 00 00 0C */ b lbl_80240958 -lbl_80240950: -/* 80240950 38 60 00 01 */ li r3, 1 -/* 80240954 48 00 00 08 */ b lbl_8024095C -lbl_80240958: -/* 80240958 38 60 00 00 */ li r3, 0 -lbl_8024095C: -/* 8024095C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80240960 7C 08 03 A6 */ mtlr r0 -/* 80240964 38 21 00 10 */ addi r1, r1, 0x10 -/* 80240968 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_item/isSelect__14dMsgScrnItem_cFv.s b/asm/msg/scrn/d_msg_scrn_item/isSelect__14dMsgScrnItem_cFv.s deleted file mode 100644 index 736a89931ae..00000000000 --- a/asm/msg/scrn/d_msg_scrn_item/isSelect__14dMsgScrnItem_cFv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_80240008: -/* 80240008 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8024000C 7C 08 02 A6 */ mflr r0 -/* 80240010 90 01 00 14 */ stw r0, 0x14(r1) -/* 80240014 80 63 00 F0 */ lwz r3, 0xf0(r3) -/* 80240018 4B FF 9C 4D */ bl isSelect__17dMsgScrn3Select_cFv -/* 8024001C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80240020 7C 08 03 A6 */ mtlr r0 -/* 80240024 38 21 00 10 */ addi r1, r1, 0x10 -/* 80240028 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_item/selectAnimeEnd__14dMsgScrnItem_cFv.s b/asm/msg/scrn/d_msg_scrn_item/selectAnimeEnd__14dMsgScrnItem_cFv.s deleted file mode 100644 index 509e9f710d1..00000000000 --- a/asm/msg/scrn/d_msg_scrn_item/selectAnimeEnd__14dMsgScrnItem_cFv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_80240080: -/* 80240080 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80240084 7C 08 02 A6 */ mflr r0 -/* 80240088 90 01 00 14 */ stw r0, 0x14(r1) -/* 8024008C 80 63 00 F0 */ lwz r3, 0xf0(r3) -/* 80240090 4B FF A5 F1 */ bl selAnimeEnd__17dMsgScrn3Select_cFv -/* 80240094 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80240098 7C 08 03 A6 */ mtlr r0 -/* 8024009C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802400A0 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_item/selectAnimeInit__14dMsgScrnItem_cFUcUcfUc.s b/asm/msg/scrn/d_msg_scrn_item/selectAnimeInit__14dMsgScrnItem_cFUcUcfUc.s deleted file mode 100644 index c29089447ab..00000000000 --- a/asm/msg/scrn/d_msg_scrn_item/selectAnimeInit__14dMsgScrnItem_cFUcUcfUc.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8024002C: -/* 8024002C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80240030 7C 08 02 A6 */ mflr r0 -/* 80240034 90 01 00 14 */ stw r0, 0x14(r1) -/* 80240038 7C 68 1B 78 */ mr r8, r3 -/* 8024003C 7C C7 33 78 */ mr r7, r6 -/* 80240040 80 63 00 F0 */ lwz r3, 0xf0(r3) -/* 80240044 88 C8 01 9C */ lbz r6, 0x19c(r8) -/* 80240048 4B FF A0 4D */ bl selAnimeInit__17dMsgScrn3Select_cFUcUcUcfUc -/* 8024004C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80240050 7C 08 03 A6 */ mtlr r0 -/* 80240054 38 21 00 10 */ addi r1, r1, 0x10 -/* 80240058 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_item/selectAnimeMove__14dMsgScrnItem_cFUcUcb.s b/asm/msg/scrn/d_msg_scrn_item/selectAnimeMove__14dMsgScrnItem_cFUcUcb.s deleted file mode 100644 index b52cbe2e91d..00000000000 --- a/asm/msg/scrn/d_msg_scrn_item/selectAnimeMove__14dMsgScrnItem_cFUcUcb.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8024005C: -/* 8024005C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80240060 7C 08 02 A6 */ mflr r0 -/* 80240064 90 01 00 14 */ stw r0, 0x14(r1) -/* 80240068 80 63 00 F0 */ lwz r3, 0xf0(r3) -/* 8024006C 4B FF A3 2D */ bl selAnimeMove__17dMsgScrn3Select_cFUcUcb -/* 80240070 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80240074 7C 08 03 A6 */ mtlr r0 -/* 80240078 38 21 00 10 */ addi r1, r1, 0x10 -/* 8024007C 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_item/setBpk0Animation__14dMsgScrnItem_cFP11J2DAnmColor.s b/asm/msg/scrn/d_msg_scrn_item/setBpk0Animation__14dMsgScrnItem_cFP11J2DAnmColor.s deleted file mode 100644 index 6b9fc05cef2..00000000000 --- a/asm/msg/scrn/d_msg_scrn_item/setBpk0Animation__14dMsgScrnItem_cFP11J2DAnmColor.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_802407E8: -/* 802407E8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802407EC 7C 08 02 A6 */ mflr r0 -/* 802407F0 90 01 00 14 */ stw r0, 0x14(r1) -/* 802407F4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802407F8 7C 9F 23 78 */ mr r31, r4 -/* 802407FC 80 63 00 04 */ lwz r3, 4(r3) -/* 80240800 3C 80 6D 61 */ lis r4, 0x6D61 /* 0x6D617030@ha */ -/* 80240804 38 C4 70 30 */ addi r6, r4, 0x7030 /* 0x6D617030@l */ -/* 80240808 38 A0 00 00 */ li r5, 0 -/* 8024080C 81 83 00 00 */ lwz r12, 0(r3) -/* 80240810 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 80240814 7D 89 03 A6 */ mtctr r12 -/* 80240818 4E 80 04 21 */ bctrl -/* 8024081C 7F E4 FB 78 */ mr r4, r31 -/* 80240820 81 83 00 00 */ lwz r12, 0(r3) -/* 80240824 81 8C 00 64 */ lwz r12, 0x64(r12) -/* 80240828 7D 89 03 A6 */ mtctr r12 -/* 8024082C 4E 80 04 21 */ bctrl -/* 80240830 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80240834 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80240838 7C 08 03 A6 */ mtlr r0 -/* 8024083C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80240840 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_item/setBpk1Animation__14dMsgScrnItem_cFP11J2DAnmColor.s b/asm/msg/scrn/d_msg_scrn_item/setBpk1Animation__14dMsgScrnItem_cFP11J2DAnmColor.s deleted file mode 100644 index 8a010dded79..00000000000 --- a/asm/msg/scrn/d_msg_scrn_item/setBpk1Animation__14dMsgScrnItem_cFP11J2DAnmColor.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_80240844: -/* 80240844 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80240848 7C 08 02 A6 */ mflr r0 -/* 8024084C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80240850 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80240854 7C 9F 23 78 */ mr r31, r4 -/* 80240858 80 63 00 04 */ lwz r3, 4(r3) -/* 8024085C 3C 80 6F 75 */ lis r4, 0x6F75 /* 0x6F755F31@ha */ -/* 80240860 38 C4 5F 31 */ addi r6, r4, 0x5F31 /* 0x6F755F31@l */ -/* 80240864 3C 80 00 6D */ lis r4, 0x006D /* 0x006D6F79@ha */ -/* 80240868 38 A4 6F 79 */ addi r5, r4, 0x6F79 /* 0x006D6F79@l */ -/* 8024086C 81 83 00 00 */ lwz r12, 0(r3) -/* 80240870 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 80240874 7D 89 03 A6 */ mtctr r12 -/* 80240878 4E 80 04 21 */ bctrl -/* 8024087C 7F E4 FB 78 */ mr r4, r31 -/* 80240880 81 83 00 00 */ lwz r12, 0(r3) -/* 80240884 81 8C 00 64 */ lwz r12, 0x64(r12) -/* 80240888 7D 89 03 A6 */ mtctr r12 -/* 8024088C 4E 80 04 21 */ bctrl -/* 80240890 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80240894 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80240898 7C 08 03 A6 */ mtlr r0 -/* 8024089C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802408A0 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_item/setBtk0Animation__14dMsgScrnItem_cFP19J2DAnmTextureSRTKey.s b/asm/msg/scrn/d_msg_scrn_item/setBtk0Animation__14dMsgScrnItem_cFP19J2DAnmTextureSRTKey.s deleted file mode 100644 index 76f6282b13f..00000000000 --- a/asm/msg/scrn/d_msg_scrn_item/setBtk0Animation__14dMsgScrnItem_cFP19J2DAnmTextureSRTKey.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_8024074C: -/* 8024074C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80240750 7C 08 02 A6 */ mflr r0 -/* 80240754 90 01 00 14 */ stw r0, 0x14(r1) -/* 80240758 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8024075C 93 C1 00 08 */ stw r30, 8(r1) -/* 80240760 7C 7E 1B 78 */ mr r30, r3 -/* 80240764 7C 9F 23 78 */ mr r31, r4 -/* 80240768 80 63 00 04 */ lwz r3, 4(r3) -/* 8024076C 3C 80 6C 64 */ lis r4, 0x6C64 /* 0x6C643030@ha */ -/* 80240770 38 C4 30 30 */ addi r6, r4, 0x3030 /* 0x6C643030@l */ -/* 80240774 38 A0 67 6F */ li r5, 0x676f -/* 80240778 81 83 00 00 */ lwz r12, 0(r3) -/* 8024077C 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 80240780 7D 89 03 A6 */ mtctr r12 -/* 80240784 4E 80 04 21 */ bctrl -/* 80240788 7F E4 FB 78 */ mr r4, r31 -/* 8024078C 81 83 00 00 */ lwz r12, 0(r3) -/* 80240790 81 8C 00 6C */ lwz r12, 0x6c(r12) -/* 80240794 7D 89 03 A6 */ mtctr r12 -/* 80240798 4E 80 04 21 */ bctrl -/* 8024079C 80 7E 00 04 */ lwz r3, 4(r30) -/* 802407A0 3C 80 6C 64 */ lis r4, 0x6C64 /* 0x6C643031@ha */ -/* 802407A4 38 C4 30 31 */ addi r6, r4, 0x3031 /* 0x6C643031@l */ -/* 802407A8 38 A0 67 6F */ li r5, 0x676f -/* 802407AC 81 83 00 00 */ lwz r12, 0(r3) -/* 802407B0 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 802407B4 7D 89 03 A6 */ mtctr r12 -/* 802407B8 4E 80 04 21 */ bctrl -/* 802407BC 7F E4 FB 78 */ mr r4, r31 -/* 802407C0 81 83 00 00 */ lwz r12, 0(r3) -/* 802407C4 81 8C 00 6C */ lwz r12, 0x6c(r12) -/* 802407C8 7D 89 03 A6 */ mtctr r12 -/* 802407CC 4E 80 04 21 */ bctrl -/* 802407D0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802407D4 83 C1 00 08 */ lwz r30, 8(r1) -/* 802407D8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802407DC 7C 08 03 A6 */ mtlr r0 -/* 802407E0 38 21 00 10 */ addi r1, r1, 0x10 -/* 802407E4 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_item/setSelectRubyString__14dMsgScrnItem_cFPcPcPc.s b/asm/msg/scrn/d_msg_scrn_item/setSelectRubyString__14dMsgScrnItem_cFPcPcPc.s deleted file mode 100644 index 2ffaa2a61f4..00000000000 --- a/asm/msg/scrn/d_msg_scrn_item/setSelectRubyString__14dMsgScrnItem_cFPcPcPc.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8023FFE4: -/* 8023FFE4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8023FFE8 7C 08 02 A6 */ mflr r0 -/* 8023FFEC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8023FFF0 80 63 00 F0 */ lwz r3, 0xf0(r3) -/* 8023FFF4 4B FF 9D 15 */ bl setRubyString__17dMsgScrn3Select_cFPcPcPc -/* 8023FFF8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8023FFFC 7C 08 03 A6 */ mtlr r0 -/* 80240000 38 21 00 10 */ addi r1, r1, 0x10 -/* 80240004 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_item/setSelectString__14dMsgScrnItem_cFPcPcPc.s b/asm/msg/scrn/d_msg_scrn_item/setSelectString__14dMsgScrnItem_cFPcPcPc.s deleted file mode 100644 index 6bf506e32e0..00000000000 --- a/asm/msg/scrn/d_msg_scrn_item/setSelectString__14dMsgScrnItem_cFPcPcPc.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8023FFC0: -/* 8023FFC0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8023FFC4 7C 08 02 A6 */ mflr r0 -/* 8023FFC8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8023FFCC 80 63 00 F0 */ lwz r3, 0xf0(r3) -/* 8023FFD0 4B FF 9C A9 */ bl setString__17dMsgScrn3Select_cFPcPcPc -/* 8023FFD4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8023FFD8 7C 08 03 A6 */ mtlr r0 -/* 8023FFDC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8023FFE0 4E 80 00 20 */ blr diff --git a/include/JSystem/J2DGraph/J2DPane.h b/include/JSystem/J2DGraph/J2DPane.h index ae13d386bb1..db868228b1a 100644 --- a/include/JSystem/J2DGraph/J2DPane.h +++ b/include/JSystem/J2DGraph/J2DPane.h @@ -138,6 +138,8 @@ public: MtxP getGlbMtx() { return mGlobalMtx; } + JGeometry::TBox2& getGlbBounds() { return mGlobalBounds; } + void setMtx(Mtx m) { MTXCopy(m, mPositionMtx); } void translate(f32 transX, f32 transY) { diff --git a/include/JSystem/JKernel/JKRArchive.h b/include/JSystem/JKernel/JKRArchive.h index a546c5d0b9b..cee9371e882 100644 --- a/include/JSystem/JKernel/JKRArchive.h +++ b/include/JSystem/JKernel/JKRArchive.h @@ -242,4 +242,8 @@ inline void JKRUnmountArchive(JKRArchive* arc) { arc->unmount(); } +inline void JKRReadIdxResource(void* param_1, u32 param_2, u32 param_3, JKRArchive* param_4) { + param_4->readIdxResource(param_1, param_2, param_3); +} + #endif \ No newline at end of file diff --git a/include/d/a/d_a_npc.h b/include/d/a/d_a_npc.h index e14b518db76..7cb5abb9398 100644 --- a/include/d/a/d_a_npc.h +++ b/include/d/a/d_a_npc.h @@ -251,7 +251,7 @@ public: /* 0xD90 */ u32 field_0xd90; /* 0xD94 */ u32 field_0xd94; /* 0xD98 */ u32 field_0xd98; - /* 0xD9C */ profile_method_class* sub_method; + /* 0xD9C */ u32 mMsgId; /* 0xDA0 */ u8 field_0xda0[8]; /* 0xDA8 */ u32 field_0xda8; /* 0xDAC */ int field_0xdac; diff --git a/include/d/d_item_data.h b/include/d/d_item_data.h index d8cd66b4349..a67e965a320 100644 --- a/include/d/d_item_data.h +++ b/include/d/d_item_data.h @@ -11,6 +11,8 @@ struct dItem_itemInfo { }; struct dItem_itemResource { + f32 getTexScale() { return mTexScale; } + /* 0x00 */ const char* mArcName; /* 0x04 */ s16 mBmdName; /* 0x06 */ s16 mBtkName; diff --git a/include/d/msg/d_msg_object.h b/include/d/msg/d_msg_object.h index 2fc80160115..3651f0e2108 100644 --- a/include/d/msg/d_msg_object.h +++ b/include/d/msg/d_msg_object.h @@ -119,7 +119,7 @@ public: char*, char*, char*, s16*); /* 80238174 */ static void* getMsgDtPtr(); /* 80238188 */ static void setProcessID(unsigned int); - /* 8023819C */ static fopAc_ac_c* getActor(); + /* 8023819C */ static msg_class* getActor(); /* 802381C0 */ static fopAc_ac_c* getpTalkActor(); /* 802381D4 */ static int getIdx(); /* 802381E8 */ static u16 getNodeIdx(); @@ -222,8 +222,7 @@ public: u8 getBombNumLocal(int idx) { return mBombNum[idx]; } bool isCameraCancelFlagLocal() { return mCameraCancelFlag; } void* getMsgDtPtrLocal() { return mpMsgDt; } - // TODO: The type return is unclear. Maybe msg_class*. - fopAc_ac_c* getActorLocal() { return (fopAc_ac_c*)field_0x100; } + msg_class* getActorLocal() { return field_0x100; } fopAc_ac_c* getpTalkActorLocal() { return mpTalkActor; } int getIdxLocal() { return mIdx; } u16 getNodeIdxLocal() { return mNodeIdx; } @@ -677,4 +676,8 @@ public: /* 0x35C */ dMsgObject_HowlHIO_c mHowlHIO; }; +#ifndef DISABLE_MSG_OBJECT_EXTERN +extern dMsgObject_HIO_c g_MsgObject_HIO_c; +#endif + #endif /* D_MSG_D_MSG_OBJECT_H */ diff --git a/include/d/msg/d_msg_scrn_3select.h b/include/d/msg/d_msg_scrn_3select.h index 6a3c37a285d..3dd9a992066 100644 --- a/include/d/msg/d_msg_scrn_3select.h +++ b/include/d/msg/d_msg_scrn_3select.h @@ -31,7 +31,7 @@ public: /* 80239D98 */ void translate(f32, f32); /* 80239DD4 */ void draw(f32, f32); /* 8023A094 */ void selAnimeInit(u8, u8, u8, f32, u8); - /* 8023A398 */ BOOL selAnimeMove(u8, u8, bool); + /* 8023A398 */ bool selAnimeMove(u8, u8, bool); /* 8023A680 */ bool selAnimeEnd(); /* 8023A934 */ f32 getTextBoxWidth(); /* 8023A94C */ f32 getFontSize(); diff --git a/include/d/msg/d_msg_scrn_item.h b/include/d/msg/d_msg_scrn_item.h index e0f3ee596c9..88bd258c479 100644 --- a/include/d/msg/d_msg_scrn_item.h +++ b/include/d/msg/d_msg_scrn_item.h @@ -4,6 +4,10 @@ #include "dolphin/types.h" #include "d/msg/d_msg_scrn_base.h" +class dMsgScrnArrow_c; +class dMsgScrn3Select_c; +class dMsgScrnLight_c; + struct dMsgScrnItem_c : public dMsgScrnBase_c { /* 8023E79C */ dMsgScrnItem_c(u8, u8, JKRExpHeap*); /* 8023F51C */ ~dMsgScrnItem_c(); @@ -26,9 +30,47 @@ struct dMsgScrnItem_c : public dMsgScrnBase_c { /* 8024074C */ void setBtk0Animation(J2DAnmTextureSRTKey*); /* 802407E8 */ void setBpk0Animation(J2DAnmColor*); /* 80240844 */ void setBpk1Animation(J2DAnmColor*); - /* 802408A4 */ void isOugiID(); + /* 802408A4 */ bool isOugiID(); - u8 field_0xc4[0x1a0 - 0xc4]; + /* 0x0C4 */ J2DScreen* mpTxScreen; + /* 0x0C8 */ J2DPicture* mpItemPane[3]; + /* 0x0D4 */ void* mpItemTex[3]; + /* 0x0E0 */ ResTIMG* field_0x0e0[3]; + /* 0x0EC */ dMsgScrnArrow_c* mpArrow_c; + /* 0x0F0 */ dMsgScrn3Select_c* mpSelect_c; + /* 0x0F4 */ dMsgScrnLight_c* mpLight_c; + /* 0x0F8 */ u8 field_0xf8[0x108 - 0xf8]; + /* 0x108 */ CPaneMgr* mpArw_c; + /* 0x10C */ CPaneMgr* mpMg_c[2]; + /* 0x114 */ u32 field_0x114; + /* 0x118 */ J2DAnmTextureSRTKey* field_0x118[1]; + /* 0x11C */ u32 field_0x11c; + /* 0x120 */ u8 field_0x120[0x12c - 0x120]; + /* 0x12C */ J2DAnmColorKey* field_0x12c[2]; + /* 0x134 */ u32 field_0x134; + /* 0x138 */ JKRExpHeap* field_0x138; + /* 0x13C */ f32 field_0x13c; + /* 0x140 */ f32 field_0x140[1]; + /* 0x13C */ u8 field_0x144[0x154 - 0x144]; + /* 0x154 */ f32 field_0x154[2]; + /* 0x15C */ f32 field_0x15c; + /* 0x160 */ f32 field_0x160; + /* 0x164 */ f32 field_0x164; + /* 0x168 */ f32 field_0x168; + /* 0x16C */ f32 field_0x16c; + /* 0x170 */ f32 field_0x170; + /* 0x174 */ f32 field_0x174; + /* 0x178 */ f32 field_0x178; + /* 0x17C */ f32 field_0x17c; + /* 0x180 */ f32 field_0x180; + /* 0x184 */ f32 field_0x184; + /* 0x188 */ f32 field_0x188[3]; + /* 0x194 */ f32 field_0x194; + /* 0x198 */ int mItemIndex; + /* 0x19C */ u8 field_0x19c; + /* 0x19D */ bool field_0x19d; + /* 0x19E */ bool field_0x19e; + /* 0x19F */ u8 field_0x19f; }; #endif /* MSG_SCRN_D_MSG_SCRN_ITEM_H */ diff --git a/src/d/a/d_a_npc.cpp b/src/d/a/d_a_npc.cpp index 86af0d6a8ff..36388f074bd 100644 --- a/src/d/a/d_a_npc.cpp +++ b/src/d/a/d_a_npc.cpp @@ -2178,16 +2178,16 @@ int daNpcT_c::ctrlMsgAnm(int* param_0, int* param_1, fopAc_ac_c* param_2, int pa dMsgObject_c* talk_partner_conv = (dMsgObject_c*)talk_partner; if (talk_partner == param_2) { - fopAc_ac_c* conv_actor = talk_partner_conv->getActor(); - u16 actor_command = conv_actor->eventInfo.mCommand; + msg_class* conv_actor = talk_partner_conv->getActor(); + u16 actor_command = conv_actor->mMode; if (actor_command == 2 || actor_command == 3) { - sub_method = (profile_method_class*)-1; + mMsgId = -1; } else if (actor_command == 6) { - if (conv_actor->sub_method != sub_method) { + if (conv_actor->mMsgID != mMsgId) { *param_0 = dComIfGp_getMesgFaceAnimeAttrInfo(); *param_1 = dComIfGp_getMesgAnimeAttrInfo(); - sub_method = conv_actor->sub_method; + mMsgId = conv_actor->mMsgID; } if (dMsgObject_c::isMouthCheck()) { @@ -2201,10 +2201,10 @@ int daNpcT_c::ctrlMsgAnm(int* param_0, int* param_1, fopAc_ac_c* param_2, int pa if (field_0xd98 & 0x4000) { field_0xd98 &= ~0x4000; } - sub_method = (profile_method_class*)-1; + mMsgId = -1; } } else { - sub_method = (profile_method_class*)-1; + mMsgId = -1; if (field_0xdb4) { field_0xdb4 = 1; } @@ -5393,16 +5393,16 @@ int daNpcF_c::ctrlMsgAnm(int& o_expression, int& o_motion, fopAc_ac_c* param_2, if (param_3 || eventInfo.checkCommandTalk() || mStaffID != -1) { fopAc_ac_c* talkPartner = dComIfGp_event_getTalkPartner(); if (talkPartner == param_2) { - fopAc_ac_c* actor = dMsgObject_c::getActor(); - if (actor->eventInfo.mCommand == dEvtCmd_INDEMO_e - || actor->eventInfo.mCommand == dEvtCmd_INDOOR_e) + msg_class* actor = dMsgObject_c::getActor(); + if (actor->mMode == dEvtCmd_INDEMO_e + || actor->mMode == dEvtCmd_INDOOR_e) { field_0x9a4 = -1; - } else if (actor->eventInfo.mCommand == dEvtCmd_INCATCH_e) { - if ((u32)actor->sub_method != field_0x9a4) { + } else if (actor->mMode == dEvtCmd_INCATCH_e) { + if (actor->mMsgId != field_0x9a4) { o_expression = dComIfGp_getMesgFaceAnimeAttrInfo(); o_motion = dComIfGp_getMesgAnimeAttrInfo(); - field_0x9a4 = (u32)actor->sub_method; + field_0x9a4 = actor->mMsgId; } if (dMsgObject_c::isMouthCheck()) { mAnmFlags &= ~ANM_PAUSE_EXPRESSION; diff --git a/src/d/msg/d_msg_object.cpp b/src/d/msg/d_msg_object.cpp index cb09ef276f5..0c08c601f5c 100644 --- a/src/d/msg/d_msg_object.cpp +++ b/src/d/msg/d_msg_object.cpp @@ -3,6 +3,8 @@ // Translation Unit: d/msg/d_msg_object // +#define DISABLE_MSG_OBJECT_EXTERN + #include "d/msg/d_msg_object.h" #include "d/msg/d_msg_class.h" #include "d/msg/d_msg_string.h" @@ -3129,7 +3131,7 @@ void dMsgObject_c::setProcessID(unsigned int id) { } /* 8023819C-802381C0 232ADC 0024+00 0/0 5/5 5/5 .text getActor__12dMsgObject_cFv */ -fopAc_ac_c* dMsgObject_c::getActor() { +msg_class* dMsgObject_c::getActor() { if (dMsgObject_getMsgObjectClass() == NULL) { return NULL; } diff --git a/src/d/msg/d_msg_scrn_3select.cpp b/src/d/msg/d_msg_scrn_3select.cpp index 6c74083982d..7467a2ce351 100644 --- a/src/d/msg/d_msg_scrn_3select.cpp +++ b/src/d/msg/d_msg_scrn_3select.cpp @@ -440,7 +440,7 @@ void dMsgScrn3Select_c::selAnimeInit(u8 i_selNum, u8 i_selNo, u8 param_2, f32 i_ } /* 8023A398-8023A680 234CD8 02E8+00 0/0 5/5 0/0 .text selAnimeMove__17dMsgScrn3Select_cFUcUcb */ -BOOL dMsgScrn3Select_c::selAnimeMove(u8 i_selNum, u8 param_1, bool param_2) { +bool dMsgScrn3Select_c::selAnimeMove(u8 i_selNum, u8 param_1, bool param_2) { field_0x110 = param_1; mSelNum = i_selNum; field_0x114 = 0; @@ -490,7 +490,7 @@ BOOL dMsgScrn3Select_c::selAnimeMove(u8 i_selNum, u8 param_1, bool param_2) { } } - return mProcess == PROC_SELECT_e; + return mProcess == PROC_SELECT_e ? TRUE : FALSE; } /* 8023A680-8023A934 234FC0 02B4+00 0/0 9/9 0/0 .text selAnimeEnd__17dMsgScrn3Select_cFv diff --git a/src/d/msg/d_msg_scrn_item.cpp b/src/d/msg/d_msg_scrn_item.cpp index db6dc629257..169536e24d8 100644 --- a/src/d/msg/d_msg_scrn_item.cpp +++ b/src/d/msg/d_msg_scrn_item.cpp @@ -6,85 +6,21 @@ #include "d/msg/d_msg_scrn_item.h" #include "d/msg/d_msg_scrn_light.h" #include "d/msg/d_msg_scrn_arrow.h" +#include "d/msg/d_msg_scrn_3select.h" +#include "d/msg/d_msg_object.h" +#include "d/msg/d_msg_class.h" +#include "d/meter/d_meter2_info.h" +#include "d/meter/d_meter_HIO.h" +#include "d/d_item_data.h" +#include "d/pane/d_pane_class.h" +#include "m_Do/m_Do_lib.h" +#include "JSystem/J2DGraph/J2DAnmLoader.h" +#include "JSystem/J2DGraph/J2DScreen.h" +#include "JSystem/J2DGraph/J2DGrafContext.h" +#include "JSystem/JKernel/JKRExpHeap.h" +#include "JSystem/JUtility/JUTTexture.h" #include "dol2asm.h" -// -// Types: -// - -struct JKRExpHeap {}; - -struct dMsgScrn3Select_c { - /* 802390B4 */ dMsgScrn3Select_c(); - /* 80239C64 */ void isSelect(); - /* 80239C78 */ void setString(char*, char*, char*); - /* 80239D08 */ void setRubyString(char*, char*, char*); - /* 80239D98 */ void translate(f32, f32); - /* 80239DD4 */ void draw(f32, f32); - /* 8023A094 */ void selAnimeInit(u8, u8, u8, f32, u8); - /* 8023A398 */ void selAnimeMove(u8, u8, bool); - /* 8023A680 */ void selAnimeEnd(); - /* 8023A934 */ void getTextBoxWidth(); - /* 8023A94C */ void getFontSize(); - /* 8023A95C */ void getRubyFontSize(); - /* 8023A97C */ void getCharSpace(); - /* 8023A98C */ void getRubyCharSpace(); - /* 8023A9AC */ void getTextBoxGlobalPosX(int); - /* 8023A9D8 */ void getTextBoxGlobalPosY(int); -}; - -struct dMsgObject_c { - /* 8023819C */ void getActor(); - /* 802383D0 */ void getMessageID(); -}; - -struct ResTIMG {}; - -struct dMeter2Info_c { - /* 8021CF08 */ void readItemTexture(u8, void*, J2DPicture*, void*, J2DPicture*, void*, - J2DPicture*, void*, J2DPicture*, int); - /* 8021D36C */ void setItemColor(u8, J2DPicture*, J2DPicture*, J2DPicture*, J2DPicture*); -}; - -struct dItem_data { - static void* item_resource[1530]; -}; - -struct JKRFileLoader { - /* 802D4270 */ void getGlbResource(char const*, JKRFileLoader*); -}; - -struct JKRArchive { - /* 802D5ECC */ void readIdxResource(void*, u32, u32); -}; - -struct J2DGrafContext {}; - -struct J2DScreen { - /* 802F8498 */ J2DScreen(); - /* 802F8648 */ void setPriority(char const*, u32, JKRArchive*); - /* 802F8ED4 */ void draw(f32, f32, J2DGrafContext const*); - /* 802F9690 */ void animation(); -}; - -struct J2DAnmLoaderDataBase { - /* 80308A6C */ void load(void const*); -}; - -struct CPaneMgrAlpha { - /* 802557D0 */ void setAlphaRate(f32); - /* 80255828 */ void getAlphaRate(); -}; - -struct CPaneMgr { - /* 80253984 */ CPaneMgr(J2DScreen*, u64, u8, JKRExpHeap*); - /* 80253B2C */ void reinit(); - /* 802542E8 */ void getGlobalPosX(); - /* 80254364 */ void getGlobalPosY(); - /* 802545B0 */ void paneTrans(f32, f32); - /* 80254EBC */ void getGlobalVtxCenter(J2DPane*, bool, s16); -}; - // // Forward References: // @@ -192,10 +128,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); extern "C" void* item_resource__10dItem_data[1530]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_drawHIO[3880]; -extern "C" extern u8 g_meter2_info[248]; -extern "C" extern u8 g_MsgObject_HIO_c[1040]; // // Declarations: @@ -267,6 +199,228 @@ SECTION_SDATA2 static f32 lit_4197 = 0.5f; SECTION_SDATA2 static f64 lit_4199 = 4503599627370496.0 /* cast u32 to float */; /* 8023E79C-8023F51C 2390DC 0D80+00 0/0 1/1 0/0 .text __ct__14dMsgScrnItem_cFUcUcP10JKRExpHeap */ +// Matches with literals +#ifdef NONMATCHING +dMsgScrnItem_c::dMsgScrnItem_c(u8 param_1, u8 param_2, JKRExpHeap* param_3) { + if (param_3 != NULL) { + field_0x138 = param_3; + } else { + field_0x138 = dComIfGp_getSubHeap2D(7); + } + field_0x19e = false; + init(); + int iVar6 = dMsgObject_getMessageID(); + bool bVar5 = false; + + if (iVar6 >= 0x645 && iVar6 <= 0x648) { + mItemIndex = iVar6 - 0x641; + bVar5 = true; + } else if (iVar6 >= 0x8f5 && iVar6 <= 0x90c) { + mItemIndex = iVar6 - 0x835; + bVar5 = true; + } + if (!bVar5) { + mItemIndex = dMsgObject_getMessageID() - 0x65; + } + if (mItemIndex == 0x240) { + mItemIndex = 0x40; + } else if (mItemIndex == 0x191e || mItemIndex == 0x402e) { + mItemIndex = 0x46; + } else if (mItemIndex == 0x46a || mItemIndex == 0x46b || mItemIndex == 0x46c) { + mItemIndex = 0xe0; + } else if (mItemIndex == 0x1d35) { + mItemIndex = 0x21; + } else if (mItemIndex == 0x55b || mItemIndex == 0x55c) { + mItemIndex = 0x23; + } else if (mItemIndex == 0x6b9 || mItemIndex == 0x6eb) { + mItemIndex = 0x60; + } + if (mItemIndex == 0xec) { + mItemIndex = 0x33; + } + if ((mItemIndex < 0 || 0xff < mItemIndex) && !isOugiID()) { + if (*dComIfGp_getNextStageName() != 'T') { + JUT_WARN(85, "Item Index Not Exist!! %d", mItemIndex); + } + mItemIndex = 0x43; + } + for (int i = 0; i < 3; i++) { + mpItemPane[i] = 0; + field_0x0e0[i] = 0; + mpItemTex[i] = field_0x138->alloc(0xc00, 0x20); + JUT_ASSERT(100, mpItemTex[i] != 0); + } + int uStack_60 = 0xffffffff; + if (mItemIndex == 0x46 || mItemIndex == 0x4c) { + uStack_60 = 0x16; + } else if (mItemIndex == 0x21 || mItemIndex == 0x37 || + mItemIndex == 0x38 || + mItemIndex == 0x39 || mItemIndex == 0x3a) + { + switch(dComIfGs_getMaxLife() % 5) { + case 0: + uStack_60 = 0x75; + break; + case 1: + uStack_60 = 0x76; + break; + case 2: + uStack_60 = 0x77; + break; + case 3: + uStack_60 = 0x78; + break; + case 4: + uStack_60 = 0x51; + break; + } + } + if (isOugiID()) { + JKRReadIdxResource(mpItemTex[0], 0xc00, 0x3d, dComIfGp_getItemIconArchive()); + field_0x0e0[0] = (ResTIMG*)mpItemTex[0]; + mpItemPane[0] = new J2DPicture(field_0x0e0[0]); + JUT_ASSERT(148, mpItemPane[0] != 0); + } else { + int texNum = + dMeter2Info_readItemTexture(mItemIndex, mpItemTex[0], (J2DPicture*)NULL, mpItemTex[1], + (J2DPicture*)NULL, mpItemTex[2], (J2DPicture*)NULL, NULL, (J2DPicture*)NULL, uStack_60); + for (int i = 0; i < texNum; i++) { + field_0x0e0[i] = (ResTIMG*)mpItemTex[i]; + mpItemPane[i] = new J2DPicture(field_0x0e0[i]); + JUT_ASSERT(165, mpItemPane[i] != 0); + } + dMeter2Info_setItemColor( + mItemIndex, mpItemPane[0], mpItemPane[1], + mpItemPane[2], NULL); + #ifdef DEBUG + if (mItemIndex == 0x81 || mItemIndex == 0x23) { + field_0x19e = true; + } + #endif + } + mpScreen = new J2DScreen(); + JUT_ASSERT(188, mpScreen != 0); + bool fg = mpScreen->setPriority("zelda_item_get_window_revo.blo", 0x1020000, dComIfGp_getMsgArchive(3)); + JUT_ASSERT(195, fg != false); + dPaneClass_showNullPane(mpScreen); + mpTxScreen = new J2DScreen(); + JUT_ASSERT(199, mpTxScreen != 0); + fg = mpTxScreen->setPriority("zelda_item_get_window_text.blo", 0x20000, dComIfGp_getMsgArchive(3)); + JUT_ASSERT(206, fg != false); + dPaneClass_showNullPane(mpTxScreen); + f32 dVar18; + if (g_drawHIO.mItemScaleAdjustON == 1) { + dVar18 = g_drawHIO.mItemScalePercent / 100.0f; + } else if (mItemIndex >= 0 && mItemIndex <= 0xff) { + dVar18 = dItem_data::getTexScale(mItemIndex) / 100.0f; + } else { + dVar18 = 1.0f; + } + field_0x178 = field_0x0e0[0]->width * mpScreen->search('set_it_n')->getWidth() / 48.0f; + field_0x17c = field_0x0e0[0]->height * mpScreen->search('set_it_n')->getHeight() / 48.0f; + field_0x170 = mpScreen->search('set_it_n')->getWidth(); + field_0x174 = mpScreen->search('set_it_n')->getHeight(); + for (int i = 0; i < 3; i++) { + if (mpItemPane[i] != NULL) { + mpItemPane[i]->resize(field_0x178 * dVar18, field_0x17c * dVar18); + mpItemPane[i]->setBasePosition(J2DBasePosition_4); + } + } + mpArrow_c = new dMsgScrnArrow_c(); + JUT_ASSERT(280, mpArrow_c != 0); + mpSelect_c = new dMsgScrn3Select_c(); + JUT_ASSERT(284, mpSelect_c != 0); + mpLight_c = new dMsgScrnLight_c(3, param_2); + JUT_ASSERT(288, mpLight_c != 0); + void* mpBuf = field_0x138->alloc(0x106a, 0x20); + JUT_ASSERT(291, mpBuf != 0); + memset(mpBuf, 0, 0x106a); + mCharInfoPtr = (CharInfo_c*)mpBuf; + field_0x160 = mpScreen->search('n_all')->getBounds().i.x; + field_0x164 = mpScreen->search('n_all')->getBounds().i.y; + field_0x180 = 0.0f; + field_0x184 = 0.0f; + for (int i = 0; i < 3; i++) { + field_0x188[i] = g_MsgObject_HIO_c.mBoxPos[i][3]; + } + field_0x194 = 0.0f; + mpArw_c = new CPaneMgr(mpScreen, 'set_ya_n', 0, NULL); + JUT_ASSERT(306, mpArw_c != 0); + mpMg_c[0] = new CPaneMgr(mpScreen, 'mg_null', 0, NULL); + JUT_ASSERT(309, mpMg_c[0] != 0); + mpMg_c[1] = new CPaneMgr(mpTxScreen, 'mg_null', 0, NULL); + JUT_ASSERT(312, mpMg_c[1] != 0); + OSInitFastCast(); + fukiPosCalc(param_1); + field_0x118[0] = (J2DAnmTextureSRTKey*)J2DAnmLoaderDataBase::load(JKRGetNameResource("zelda_item_get_window_revo.btk", dComIfGp_getMsgArchive(3))); + field_0x118[0]->searchUpdateMaterialID(mpScreen); + field_0x140[0] = 0.0f; + field_0x12c[0] = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(JKRGetNameResource("zelda_item_get_window_revo.bpk", dComIfGp_getMsgArchive(3))); + field_0x12c[0]->searchUpdateMaterialID(mpScreen); + field_0x154[0] = 0.0f; + field_0x12c[1] = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(JKRGetNameResource("zelda_item_get_window_revo_02.bpk", dComIfGp_getMsgArchive(3))); + field_0x12c[1]->searchUpdateMaterialID(mpScreen); + field_0x154[1] = 0.0f; + field_0x19d = false; + mpPmP_c = new CPaneMgr(mpScreen, 'n_all', 3, NULL); + JUT_ASSERT(389, mpPmP_c != 0); + mpPmP_c->scale(g_MsgObject_HIO_c.mBoxItemScaleX, g_MsgObject_HIO_c.mBoxItemScaleY); + mpTm_c[0] = new CPaneMgr(mpTxScreen, 'mg_e4lin', 0, NULL); + JUT_ASSERT(407, mpTm_c[0] != 0); + mpTm_c[1] = new CPaneMgr(mpTxScreen, 't4_s', 0, NULL); + JUT_ASSERT(410, mpTm_c[1] != 0); + mpTm_c[2] = new CPaneMgr(mpTxScreen, 't4_w', 0, NULL); + JUT_ASSERT(413, mpTm_c[2] != 0); + mpTxScreen->search('n_3line')->hide(); + mpTxScreen->search('n_3fline')->hide(); + mpTxScreen->search('n_e4line')->show(); + for (int i = 0; i < 3; i++) { + ((J2DTextBox*)mpTm_c[i]->getPanePtr())->setFont(mDoExt_getMesgFont()); + if (mpTmr_c[i] != NULL) { + ((J2DTextBox*)mpTmr_c[i]->getPanePtr())->setFont(mDoExt_getMesgFont()); + } + } + ((J2DTextBox*)mpTm_c[0]->getPanePtr())->getFontSize(mFontSize); + mTBoxWidth = mpTm_c[0]->getSizeX(); + mTBoxHeight = mpTm_c[0]->getSizeY(); + mLineSpace = ((J2DTextBox*)mpTm_c[0]->getPanePtr())->getLineSpace(); + mCharSpace = ((J2DTextBox*)mpTm_c[0]->getPanePtr())->getCharSpace(); + for (int i = 0; i < 3; i++) { + ((J2DTextBox*)mpTm_c[i]->getPanePtr())->setLineSpace(mLineSpace); + mpTm_c[i]->resize(1.2f * mpTm_c[i]->getSizeX(), mpTm_c[i]->getSizeY()); + } + mTextBoxPosX = + mpTm_c[0]->getGlobalPosX() + + (0.5f * ((1.0f - g_MsgObject_HIO_c.mBoxItemTextSizeX) * mpTm_c[0]->getInitSizeX())); + mTextBoxPosY = + mpTm_c[0]->getGlobalPosY() + + (0.5f * ((1.0f - g_MsgObject_HIO_c.mBoxItemTextSizeY) * mpTm_c[0]->getInitSizeY())); + mTextBoxScaleX = g_MsgObject_HIO_c.mBoxItemTextSizeX; + mTextBoxScaleY = g_MsgObject_HIO_c.mBoxItemTextSizeY; + for (int i = 0; i < 3; i++) { + if (mpTmr_c[i] != NULL) { + ((J2DTextBox*)mpTmr_c[i]->getPanePtr())->setLineSpace(mLineSpace); + if (i == 0) { + J2DTextBox::TFontSize fontSize; + ((J2DTextBox*)mpTmr_c[0]->getPanePtr())->getFontSize(fontSize); + mRubySize = fontSize.mSizeX; + mRubyCharSpace = ((J2DTextBox*)mpTmr_c[0]->getPanePtr())->getCharSpace(); + } + mpTmr_c[i]->resize(1.2f * mpTmr_c[i]->getSizeX(), mpTmr_c[i]->getSizeY()); + } + } + mSelTBoxWidth = mpSelect_c->getTextBoxWidth(); + mSelFontSize = mpSelect_c->getFontSize(); + mSelRubySize = mpSelect_c->getRubyFontSize(); + mSelCharSpace = mpSelect_c->getCharSpace(); + mSelRubyCharSpace = mpSelect_c->getRubyCharSpace(); + for (int i = 0; i < 3; i++) { + mSelTextBoxPosX[i] = mpSelect_c->getTextBoxGlobalPosX(i); + mSelTextBoxPosY[i] = mpSelect_c->getTextBoxGlobalPosY(i); + } + field_0x13c = 0.0f; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -275,22 +429,119 @@ asm dMsgScrnItem_c::dMsgScrnItem_c(u8 param_0, u8 param_1, JKRExpHeap* param_2) #include "asm/msg/scrn/d_msg_scrn_item/__ct__14dMsgScrnItem_cFUcUcP10JKRExpHeap.s" } #pragma pop +#endif /* 8023F51C-8023F888 239E5C 036C+00 1/0 0/0 0/0 .text __dt__14dMsgScrnItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dMsgScrnItem_c::~dMsgScrnItem_c() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_item/__dt__14dMsgScrnItem_cFv.s" +dMsgScrnItem_c::~dMsgScrnItem_c() { + for (int i = 0; i < 3; i++) { + if (mpItemTex[i] != NULL) { + field_0x138->free(mpItemTex[i]); + mpItemTex[i] = NULL; + } + if (mpItemPane[i] != NULL) { + delete mpItemPane[i]; + mpItemPane[i] = NULL; + } + } + delete mpScreen; + mpScreen = NULL; + delete mpTxScreen; + mpTxScreen = NULL; + delete mpArrow_c; + mpArrow_c = NULL; + delete mpSelect_c; + mpSelect_c = NULL; + delete mpLight_c; + mpLight_c = NULL; + if (mCharInfoPtr != 0) { + field_0x138->free(mCharInfoPtr); + mCharInfoPtr = NULL; + } + delete mpArw_c; + mpArw_c = NULL; + for (int i = 0; i < 2; i++) { + delete mpMg_c[i]; + mpMg_c[i] = NULL; + } + for (int i = 0; i < 1; i++) { + delete field_0x118[i]; + field_0x118[i] = NULL; + } + for (int i = 0; i < 2; i++) { + delete field_0x12c[i]; + field_0x12c[i] = NULL; + } + delete mpPmP_c; + mpPmP_c = NULL; + for (int i = 0; i < 3; i++) { + delete mpTm_c[i]; + mpTm_c[i] = NULL; + if (mpTmr_c[i] != NULL) { + delete mpTmr_c[i]; + mpTmr_c[i] = NULL; + } + } + dComIfGp_getMsgArchive(0)->removeResourceAll();; + dComIfGp_getMsgArchive(3)->removeResourceAll();; + dComIfGp_getMsgCommonArchive()->removeResourceAll();; } -#pragma pop /* ############################################################################################## */ /* 80454C18-80454C20 003218 0008+00 2/2 0/0 0/0 .sdata2 @4388 */ SECTION_SDATA2 static f64 lit_4388 = 4503601774854144.0 /* cast s32 to float */; /* 8023F888-8023FB24 23A1C8 029C+00 1/0 0/0 0/0 .text exec__14dMsgScrnItem_cFv */ +// Matches with literals +#ifdef NONMATCHING +void dMsgScrnItem_c::exec() { + f32 dVar12 = field_0x13c; + if (!field_0x19d) { + setBtk0Animation(field_0x118[0]); + setBpk0Animation(field_0x12c[0]); + setBpk1Animation(field_0x12c[1]); + field_0x19d = true; + } + for (int i = 0; i < 1; i++) { + field_0x140[i] += g_MsgObject_HIO_c.mBoxItemAnmSpeed; + if (field_0x140[i] >= field_0x118[i]->getFrameMax()) { + field_0x140[i] -= field_0x118[i]->getFrameMax(); + } + field_0x118[i]->setFrame(field_0x140[i]); + } + for (int i = 0; i < 2; i++) { + field_0x154[i] += g_MsgObject_HIO_c.mBoxItemAnmSpeed; + if (field_0x154[i] >= field_0x12c[i]->getFrameMax()) + { + field_0x154[i] -= field_0x12c[i]->getFrameMax(); + } + field_0x12c[i]->setFrame(field_0x154[i]); + } + mpScreen->animation(); + if (isTalkNow()) { + fukiAlpha(1.0f); + } else { + fukiAlpha(dVar12); + } + + f32 yOffset; + switch(field_0x19c) { + case 1: + yOffset = field_0x188[2] - field_0x184; + break; + case 2: + yOffset = field_0x188[1] - field_0x184; + break; + default: + yOffset = field_0x188[0] - field_0x184; + break; + + } + mpPmP_c->scale(g_MsgObject_HIO_c.mBoxItemScaleX, g_MsgObject_HIO_c.mBoxItemScaleY); + mpMg_c[1]->translate(field_0x168 + g_MsgObject_HIO_c.mBoxItemTextPosX, + yOffset + (field_0x16c + g_MsgObject_HIO_c.mBoxItemTextPosY)); + mpMg_c[1]->scale(g_MsgObject_HIO_c.mBoxItemTextSizeX, g_MsgObject_HIO_c.mBoxItemTextSizeY); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -299,6 +550,7 @@ asm void dMsgScrnItem_c::exec() { #include "asm/msg/scrn/d_msg_scrn_item/exec__14dMsgScrnItem_cFv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80454C20-80454C24 003220 0004+00 1/1 0/0 0/0 .sdata2 @4476 */ @@ -311,6 +563,88 @@ SECTION_SDATA2 static f32 lit_4477 = 255.0f; SECTION_SDATA2 static f32 lit_4478 = 3.0f / 5.0f; /* 8023FB24-8023FF30 23A464 040C+00 1/0 0/0 0/0 .text drawSelf__14dMsgScrnItem_cFv */ +// Issues with float regs order +#ifdef NONMATCHING +void dMsgScrnItem_c::drawSelf() { + J2DGrafContext* grafContext = dComIfGp_getCurrentGrafPort(); + grafContext->setup2D(); + u8* iVar6 = (u8*)mCharInfoPtr; + if (*(s16*)(iVar6 + 0x1068) > 0) { + f32 dVar12 = mpTm_c[0]->getAlphaRate(); + for (int i = 0; i < *(short*)(iVar6 + 0x1068); i = i + 1) { + mpLight_c->draw(&mCharInfoPtr[i].field_0x14, mCharInfoPtr[i].field_0x00, + mCharInfoPtr[i].field_0x04, mCharInfoPtr[i].field_0x08, + mCharInfoPtr[i].field_0x0c, + dVar12 * g_MsgObject_HIO_c.mBoxItemHaloAlpha, mCharInfoPtr[i].mColorNo); + } + } + //f32 this_00 = mpTm_c[0]->getGlobalPosX(); + drawOutFont(g_MsgObject_HIO_c.mBoxItemTextPosX - 2.0f, g_MsgObject_HIO_c.mBoxItemTextPosY, + 1.0f); + mpTxScreen->draw(0.0f, 0.0f, grafContext); + mpSelect_c->draw(0.0f, 0.0f); + mpArrow_c->draw(); + + for (int i = 0; i < 3; i++) { + if (mpItemPane[i] != NULL) { + mpItemPane[i]->setAlpha(255.0f * field_0x194); + switch (mItemIndex) { + case 0x20: + case 0x2a: + case 0x2b: + case 0x21: + case 0x37: + case 0x38: + case 0x39: + case 0x3a: + case 0x3d: + case 0x40: + case 0x42: + case 0x44: + case 0x47: + case 0x48: + case 0x4a: + case 0x58: + case 0x5b: + case 0x5c: + case 0x5d: + case 0x5e: + case 0x5f: + case 0x9c: + case 0xee: + case 0xf3: + case 0xf8: + case 0xf9: + case 0xfa: + case 0xfb: + case 0xfc: + case 0xfd: + case 0xfe: + mpItemPane[i]->scale(0.6f, 0.6f); + break; + default: + mpItemPane[i]->scale(g_MsgObject_HIO_c.mBoxItemSizeX, g_MsgObject_HIO_c.mBoxItemSizeY); + } + + f32 texScale; + if (g_drawHIO.mItemScaleAdjustON == true) { + texScale = (g_drawHIO.mItemScalePercent / 100.0f); + } else if (mItemIndex >= 0 && mItemIndex <= 0xff) { + texScale = dItem_data::item_resource[(u8)mItemIndex].getTexScale() / 100.0f; + } else { + texScale = 1.0f; + }; + // operation order is wrong here + mpItemPane[i]->draw( + mpScreen->search('set_it_n')->getGlbBounds().i.x + g_MsgObject_HIO_c.mBoxItemPosX + + (field_0x174 - (field_0x17c * texScale)) / 2, + mpScreen->search('set_it_n')->getGlbBounds().i.y + g_MsgObject_HIO_c.mBoxItemPosY + + (field_0x170 - (field_0x178 * texScale)) / 2, + field_0x19e, false, false); + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -319,133 +653,81 @@ asm void dMsgScrnItem_c::drawSelf() { #include "asm/msg/scrn/d_msg_scrn_item/drawSelf__14dMsgScrnItem_cFv.s" } #pragma pop +#endif /* 8023FF30-8023FF54 23A870 0024+00 1/0 0/0 0/0 .text arwAnimeInit__14dMsgScrnItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnItem_c::arwAnimeInit() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_item/arwAnimeInit__14dMsgScrnItem_cFv.s" +void dMsgScrnItem_c::arwAnimeInit() { + mpArrow_c->arwAnimeInit(); } -#pragma pop /* 8023FF54-8023FF78 23A894 0024+00 1/0 0/0 0/0 .text arwAnimeMove__14dMsgScrnItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnItem_c::arwAnimeMove() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_item/arwAnimeMove__14dMsgScrnItem_cFv.s" +void dMsgScrnItem_c::arwAnimeMove() { + mpArrow_c->arwAnimeMove(); } -#pragma pop /* 8023FF78-8023FF9C 23A8B8 0024+00 1/0 0/0 0/0 .text dotAnimeInit__14dMsgScrnItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnItem_c::dotAnimeInit() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_item/dotAnimeInit__14dMsgScrnItem_cFv.s" +void dMsgScrnItem_c::dotAnimeInit() { + mpArrow_c->dotAnimeInit(); } -#pragma pop /* 8023FF9C-8023FFC0 23A8DC 0024+00 1/0 0/0 0/0 .text dotAnimeMove__14dMsgScrnItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnItem_c::dotAnimeMove() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_item/dotAnimeMove__14dMsgScrnItem_cFv.s" +void dMsgScrnItem_c::dotAnimeMove() { + mpArrow_c->dotAnimeMove(); } -#pragma pop /* 8023FFC0-8023FFE4 23A900 0024+00 1/0 0/0 0/0 .text setSelectString__14dMsgScrnItem_cFPcPcPc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnItem_c::setSelectString(char* param_0, char* param_1, char* param_2) { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_item/setSelectString__14dMsgScrnItem_cFPcPcPc.s" +void dMsgScrnItem_c::setSelectString(char* param_0, char* param_1, char* param_2) { + mpSelect_c->setString(param_0, param_1, param_2); } -#pragma pop /* 8023FFE4-80240008 23A924 0024+00 1/0 0/0 0/0 .text setSelectRubyString__14dMsgScrnItem_cFPcPcPc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnItem_c::setSelectRubyString(char* param_0, char* param_1, char* param_2) { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_item/setSelectRubyString__14dMsgScrnItem_cFPcPcPc.s" +void dMsgScrnItem_c::setSelectRubyString(char* param_0, char* param_1, char* param_2) { + mpSelect_c->setRubyString(param_0, param_1, param_2); } -#pragma pop /* 80240008-8024002C 23A948 0024+00 1/0 0/0 0/0 .text isSelect__14dMsgScrnItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool dMsgScrnItem_c::isSelect() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_item/isSelect__14dMsgScrnItem_cFv.s" +bool dMsgScrnItem_c::isSelect() { + return mpSelect_c->isSelect(); } -#pragma pop /* 8024002C-8024005C 23A96C 0030+00 1/0 0/0 0/0 .text selectAnimeInit__14dMsgScrnItem_cFUcUcfUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnItem_c::selectAnimeInit(u8 param_0, u8 param_1, f32 param_2, u8 param_3) { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_item/selectAnimeInit__14dMsgScrnItem_cFUcUcfUc.s" +void dMsgScrnItem_c::selectAnimeInit(u8 param_0, u8 param_1, f32 param_2, u8 param_3) { + mpSelect_c->selAnimeInit(param_0, param_1, field_0x19c, param_2, param_3); } -#pragma pop /* 8024005C-80240080 23A99C 0024+00 1/0 0/0 0/0 .text selectAnimeMove__14dMsgScrnItem_cFUcUcb */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool dMsgScrnItem_c::selectAnimeMove(u8 param_0, u8 param_1, bool param_2) { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_item/selectAnimeMove__14dMsgScrnItem_cFUcUcb.s" +bool dMsgScrnItem_c::selectAnimeMove(u8 param_0, u8 param_1, bool param_2) { + return mpSelect_c->selAnimeMove(param_0, param_1, param_2); } -#pragma pop /* 80240080-802400A4 23A9C0 0024+00 1/0 0/0 0/0 .text selectAnimeEnd__14dMsgScrnItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool dMsgScrnItem_c::selectAnimeEnd() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_item/selectAnimeEnd__14dMsgScrnItem_cFv.s" +bool dMsgScrnItem_c::selectAnimeEnd() { + return mpSelect_c->selAnimeEnd(); } -#pragma pop /* 802400A4-802400A8 23A9E4 0004+00 1/0 0/0 0/0 .text fukiScale__14dMsgScrnItem_cFf */ void dMsgScrnItem_c::fukiScale(f32 param_0) { - /* empty function */ } /* 802400A8-802400CC 23A9E8 0024+00 1/0 0/0 0/0 .text fukiTrans__14dMsgScrnItem_cFff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnItem_c::fukiTrans(f32 param_0, f32 param_1) { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_item/fukiTrans__14dMsgScrnItem_cFff.s" +void dMsgScrnItem_c::fukiTrans(f32 x, f32 y) { + mpPmP_c->paneTrans(x, y); } -#pragma pop /* 802400CC-80240174 23AA0C 00A8+00 1/0 0/0 0/0 .text fukiAlpha__14dMsgScrnItem_cFf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnItem_c::fukiAlpha(f32 param_0) { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_item/fukiAlpha__14dMsgScrnItem_cFf.s" +void dMsgScrnItem_c::fukiAlpha(f32 param_1) { + field_0x13c = param_1; + field_0x194 = param_1; + mpPmP_c->setAlphaRate(param_1 * g_MsgObject_HIO_c.mBoxItemAlphaP); + for (int i = 0; i < 3; i++) { + mpTm_c[i]->setAlphaRate(param_1 * mCharAlphaRate); + if (mpTmr_c[i] != NULL) { + mpTmr_c[i]->setAlphaRate(param_1 * mCharAlphaRate); + } + } } -#pragma pop /* ############################################################################################## */ /* 80454C2C-80454C30 00322C 0004+00 1/1 0/0 0/0 .sdata2 @4663 */ @@ -476,6 +758,100 @@ SECTION_SDATA2 static f32 lit_4670 = 355.0f; SECTION_SDATA2 static f32 lit_4671 = 209.0f; /* 80240174-8024074C 23AAB4 05D8+00 1/0 0/0 0/0 .text fukiPosCalc__14dMsgScrnItem_cFUc */ +// Matches with literals +#ifdef NONMATCHING +void dMsgScrnItem_c::fukiPosCalc(u8 param_1) { + msg_class* iVar6 = dMsgObject_c::getActor(); + if (mpPmP_c != NULL) { + mpPmP_c->move(field_0x160, field_0x164); + } + if (param_1 == 3) { + fopAc_ac_c* player = dComIfGp_getPlayer(0); + cXyz local_70; + cXyz cStack_7c; + f32 f3; + mDoLib_project(&player->eyePos, &cStack_7c); + if (iVar6->mPos == cXyz(0.0f, 0.0f, 0.0f)) { + f3 = cStack_7c.y; + } else { + mDoLib_project(&iVar6->mPos, &local_70); + if (local_70.x >= 0.0f && local_70.x <= 608.0f && local_70.y >= 0.0f && + local_70.y <= 448.0f) + { + f3 = 0.5f * (cStack_7c.y + local_70.y); + } else { + f3 = cStack_7c.y; + } + } + if (mpPmP_c != NULL) { + switch(field_0x19c) { + case 1: + if (f3 < g_MsgObject_HIO_c.mBoxAppearBound - 50.0f) { + param_1 = 0; + } else { + param_1 = 1; + } + break; + case 3: + if (f3 < g_MsgObject_HIO_c.mBoxAppearBound + 50.0f) { + param_1 = 0; + } else { + param_1 = 1; + } + break; + } + } else { + if (f3 < g_MsgObject_HIO_c.mBoxAppearBound) { + param_1 = 0; + } else { + param_1 = 1; + } + } + } + field_0x180 = 0.0f; + field_0x19c = param_1; + f32 yOffset; + switch(field_0x19c) { + case 1: + yOffset = g_MsgObject_HIO_c.mBoxPos[2][3]; + field_0x180 = 105.0f - (mpScreen->search('n_all')->getBounds().i.y + + mpScreen->search('n_all')->getBounds().f.y) / 2; + mpSelect_c->translate(486.0f, 230.0f); + break; + case 2: + yOffset = g_MsgObject_HIO_c.mBoxPos[1][3]; + field_0x180 = 235.0f - (mpScreen->search('n_all')->getBounds().i.y + + mpScreen->search('n_all')->getBounds().f.y) / 2; + mpSelect_c->translate(486.0f, 355.0f); + break; + default: + yOffset = g_MsgObject_HIO_c.mBoxPos[0][3]; + field_0x180 = 0.0f; + mpSelect_c->translate(486.0f, 209.0f); + } + field_0x184 = yOffset; + setTextBoxPosOffsetY(field_0x180 + yOffset); + mpScreen->search('n_all')->move(field_0x160, yOffset + (field_0x164 + field_0x180)); + if (mpPmP_c != NULL) { + mpPmP_c->reinit(); + mpArrow_c->setPos(mpArw_c->getGlobalPosX() + (0.5f * mpArw_c->getSizeX()), + mpArw_c->getGlobalPosY() + (0.5f * mpArw_c->getSizeY())); + mpMg_c[1]->translate(mpMg_c[0]->getGlobalPosX() + 0.5f * mpMg_c[0]->getSizeX(), + mpMg_c[0]->getGlobalPosY() + 0.5f * mpMg_c[0]->getSizeY()); + mTextBoxPosX = mpTm_c[0]->getGlobalPosX(); + mTextBoxPosY = mpTm_c[0]->getGlobalPosY(); + field_0x168 = mpMg_c[0]->getGlobalPosX() + 0.5f * mpMg_c[0]->getSizeX(); + field_0x16c = (mpMg_c[0]->getGlobalPosY() + 0.5f * mpMg_c[0]->getSizeY()); + } else { + Vec arwCenter = mpArw_c->getGlobalVtxCenter(false, 0); + mpArrow_c->setPos(arwCenter.x, arwCenter.y); + Vec local_b8 = mpMg_c[0]->getGlobalVtxCenter(false, 0); + field_0x168 = local_b8.x; + field_0x16c = local_b8.y; + mpMg_c[1]->translate(field_0x168, field_0x16c); + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -484,48 +860,46 @@ asm void dMsgScrnItem_c::fukiPosCalc(u8 param_0) { #include "asm/msg/scrn/d_msg_scrn_item/fukiPosCalc__14dMsgScrnItem_cFUc.s" } #pragma pop +#endif /* 8024074C-802407E8 23B08C 009C+00 1/1 0/0 0/0 .text * setBtk0Animation__14dMsgScrnItem_cFP19J2DAnmTextureSRTKey */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnItem_c::setBtk0Animation(J2DAnmTextureSRTKey* param_0) { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_item/setBtk0Animation__14dMsgScrnItem_cFP19J2DAnmTextureSRTKey.s" +void dMsgScrnItem_c::setBtk0Animation(J2DAnmTextureSRTKey* param_1) { + mpScreen->search('gold00')->setAnimation(param_1); + mpScreen->search('gold01')->setAnimation(param_1); } -#pragma pop /* 802407E8-80240844 23B128 005C+00 1/1 0/0 0/0 .text * setBpk0Animation__14dMsgScrnItem_cFP11J2DAnmColor */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnItem_c::setBpk0Animation(J2DAnmColor* param_0) { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_item/setBpk0Animation__14dMsgScrnItem_cFP11J2DAnmColor.s" +void dMsgScrnItem_c::setBpk0Animation(J2DAnmColor* param_0) { + mpScreen->search('map0')->setAnimation(param_0); } -#pragma pop /* 80240844-802408A4 23B184 0060+00 1/1 0/0 0/0 .text * setBpk1Animation__14dMsgScrnItem_cFP11J2DAnmColor */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnItem_c::setBpk1Animation(J2DAnmColor* param_0) { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_item/setBpk1Animation__14dMsgScrnItem_cFP11J2DAnmColor.s" +void dMsgScrnItem_c::setBpk1Animation(J2DAnmColor* param_0) { + mpScreen->search('moyou_1')->setAnimation(param_0); } -#pragma pop /* 802408A4-8024096C 23B1E4 00C8+00 1/1 0/0 0/0 .text isOugiID__14dMsgScrnItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnItem_c::isOugiID() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_item/isOugiID__14dMsgScrnItem_cFv.s" +bool dMsgScrnItem_c::isOugiID() { + switch(dMsgObject_getMessageID()) { + case 0x17ed: + case 0x1823: + case 0x183f: + case 0x18b4: + case 0x185c: + case 0x1877: + case 0x1895: + case 0x3efd: + case 0x3f33: + case 0x3f6c: + case 0x3f87: + case 0x3fa5: + case 0x3fc4: + return true; + } + return false; } -#pragma pop /* 80399990-80399990 025FF0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */