diff --git a/asm/d/pane/d_pane_class_ex/getMaterial__12J2DPictureExCFv.s b/asm/d/pane/d_pane_class_ex/getMaterial__12J2DPictureExCFv.s deleted file mode 100644 index d30ef815e94..00000000000 --- a/asm/d/pane/d_pane_class_ex/getMaterial__12J2DPictureExCFv.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_80256034: -/* 80256034 80 63 01 50 */ lwz r3, 0x150(r3) -/* 80256038 4E 80 00 20 */ blr diff --git a/asm/d/pane/d_pane_class_ex/getMaterial__12J2DTextBoxExCFv.s b/asm/d/pane/d_pane_class_ex/getMaterial__12J2DTextBoxExCFv.s deleted file mode 100644 index 1e2f83f9a59..00000000000 --- a/asm/d/pane/d_pane_class_ex/getMaterial__12J2DTextBoxExCFv.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_80256024: -/* 80256024 80 63 01 38 */ lwz r3, 0x138(r3) -/* 80256028 4E 80 00 20 */ blr diff --git a/asm/d/pane/d_pane_class_ex/setAnimation__11J2DWindowExFP15J2DAnmTransform.s b/asm/d/pane/d_pane_class_ex/setAnimation__11J2DWindowExFP15J2DAnmTransform.s deleted file mode 100644 index 28921afaea4..00000000000 --- a/asm/d/pane/d_pane_class_ex/setAnimation__11J2DWindowExFP15J2DAnmTransform.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80256084: -/* 80256084 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80256088 7C 08 02 A6 */ mflr r0 -/* 8025608C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80256090 48 0A 1F 35 */ bl setAnimation__7J2DPaneFP15J2DAnmTransform -/* 80256094 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80256098 7C 08 03 A6 */ mtlr r0 -/* 8025609C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802560A0 4E 80 00 20 */ blr diff --git a/asm/d/pane/d_pane_class_ex/setAnimation__12J2DPictureExFP15J2DAnmTransform.s b/asm/d/pane/d_pane_class_ex/setAnimation__12J2DPictureExFP15J2DAnmTransform.s deleted file mode 100644 index b0a0a0380d8..00000000000 --- a/asm/d/pane/d_pane_class_ex/setAnimation__12J2DPictureExFP15J2DAnmTransform.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80256064: -/* 80256064 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80256068 7C 08 02 A6 */ mflr r0 -/* 8025606C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80256070 48 0A 1F 55 */ bl setAnimation__7J2DPaneFP15J2DAnmTransform -/* 80256074 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80256078 7C 08 03 A6 */ mtlr r0 -/* 8025607C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80256080 4E 80 00 20 */ blr diff --git a/asm/d/pane/d_pane_class_ex/setAnimation__12J2DTextBoxExFP15J2DAnmTransform.s b/asm/d/pane/d_pane_class_ex/setAnimation__12J2DTextBoxExFP15J2DAnmTransform.s deleted file mode 100644 index be6006de0aa..00000000000 --- a/asm/d/pane/d_pane_class_ex/setAnimation__12J2DTextBoxExFP15J2DAnmTransform.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80256044: -/* 80256044 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80256048 7C 08 02 A6 */ mflr r0 -/* 8025604C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80256050 48 0A 1F 75 */ bl setAnimation__7J2DPaneFP15J2DAnmTransform -/* 80256054 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80256058 7C 08 03 A6 */ mtlr r0 -/* 8025605C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80256060 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_talk/__dt__14dMsgScrnTalk_cFv.s b/asm/msg/scrn/d_msg_scrn_talk/__dt__14dMsgScrnTalk_cFv.s deleted file mode 100644 index 57196f0b05b..00000000000 --- a/asm/msg/scrn/d_msg_scrn_talk/__dt__14dMsgScrnTalk_cFv.s +++ /dev/null @@ -1,187 +0,0 @@ -lbl_80247A90: -/* 80247A90 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80247A94 7C 08 02 A6 */ mflr r0 -/* 80247A98 90 01 00 24 */ stw r0, 0x24(r1) -/* 80247A9C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80247AA0 48 11 A7 31 */ bl _savegpr_26 -/* 80247AA4 7C 7E 1B 79 */ or. r30, r3, r3 -/* 80247AA8 7C 9F 23 78 */ mr r31, r4 -/* 80247AAC 41 82 02 6C */ beq lbl_80247D18 -/* 80247AB0 3C 60 80 3C */ lis r3, __vt__14dMsgScrnTalk_c@ha /* 0x803C13C8@ha */ -/* 80247AB4 38 03 13 C8 */ addi r0, r3, __vt__14dMsgScrnTalk_c@l /* 0x803C13C8@l */ -/* 80247AB8 90 1E 00 00 */ stw r0, 0(r30) -/* 80247ABC 80 7E 00 04 */ lwz r3, 4(r30) -/* 80247AC0 28 03 00 00 */ cmplwi r3, 0 -/* 80247AC4 41 82 00 18 */ beq lbl_80247ADC -/* 80247AC8 38 80 00 01 */ li r4, 1 -/* 80247ACC 81 83 00 00 */ lwz r12, 0(r3) -/* 80247AD0 81 8C 00 08 */ lwz r12, 8(r12) -/* 80247AD4 7D 89 03 A6 */ mtctr r12 -/* 80247AD8 4E 80 04 21 */ bctrl -lbl_80247ADC: -/* 80247ADC 38 00 00 00 */ li r0, 0 -/* 80247AE0 90 1E 00 04 */ stw r0, 4(r30) -/* 80247AE4 80 7E 00 C4 */ lwz r3, 0xc4(r30) -/* 80247AE8 28 03 00 00 */ cmplwi r3, 0 -/* 80247AEC 41 82 00 18 */ beq lbl_80247B04 -/* 80247AF0 38 80 00 01 */ li r4, 1 -/* 80247AF4 81 83 00 00 */ lwz r12, 0(r3) -/* 80247AF8 81 8C 00 08 */ lwz r12, 8(r12) -/* 80247AFC 7D 89 03 A6 */ mtctr r12 -/* 80247B00 4E 80 04 21 */ bctrl -lbl_80247B04: -/* 80247B04 38 00 00 00 */ li r0, 0 -/* 80247B08 90 1E 00 C4 */ stw r0, 0xc4(r30) -/* 80247B0C 80 7E 00 C8 */ lwz r3, 0xc8(r30) -/* 80247B10 28 03 00 00 */ cmplwi r3, 0 -/* 80247B14 41 82 00 18 */ beq lbl_80247B2C -/* 80247B18 38 80 00 01 */ li r4, 1 -/* 80247B1C 81 83 00 00 */ lwz r12, 0(r3) -/* 80247B20 81 8C 00 08 */ lwz r12, 8(r12) -/* 80247B24 7D 89 03 A6 */ mtctr r12 -/* 80247B28 4E 80 04 21 */ bctrl -lbl_80247B2C: -/* 80247B2C 38 00 00 00 */ li r0, 0 -/* 80247B30 90 1E 00 C8 */ stw r0, 0xc8(r30) -/* 80247B34 80 7E 00 CC */ lwz r3, 0xcc(r30) -/* 80247B38 28 03 00 00 */ cmplwi r3, 0 -/* 80247B3C 41 82 00 24 */ beq lbl_80247B60 -/* 80247B40 41 82 00 18 */ beq lbl_80247B58 -/* 80247B44 38 80 00 01 */ li r4, 1 -/* 80247B48 81 83 00 00 */ lwz r12, 0(r3) -/* 80247B4C 81 8C 00 08 */ lwz r12, 8(r12) -/* 80247B50 7D 89 03 A6 */ mtctr r12 -/* 80247B54 4E 80 04 21 */ bctrl -lbl_80247B58: -/* 80247B58 38 00 00 00 */ li r0, 0 -/* 80247B5C 90 1E 00 CC */ stw r0, 0xcc(r30) -lbl_80247B60: -/* 80247B60 80 7E 00 D0 */ lwz r3, 0xd0(r30) -/* 80247B64 28 03 00 00 */ cmplwi r3, 0 -/* 80247B68 41 82 00 18 */ beq lbl_80247B80 -/* 80247B6C 38 80 00 01 */ li r4, 1 -/* 80247B70 81 83 00 00 */ lwz r12, 0(r3) -/* 80247B74 81 8C 00 08 */ lwz r12, 8(r12) -/* 80247B78 7D 89 03 A6 */ mtctr r12 -/* 80247B7C 4E 80 04 21 */ bctrl -lbl_80247B80: -/* 80247B80 38 00 00 00 */ li r0, 0 -/* 80247B84 90 1E 00 D0 */ stw r0, 0xd0(r30) -/* 80247B88 80 9E 00 50 */ lwz r4, 0x50(r30) -/* 80247B8C 28 04 00 00 */ cmplwi r4, 0 -/* 80247B90 41 82 00 14 */ beq lbl_80247BA4 -/* 80247B94 80 7E 00 E4 */ lwz r3, 0xe4(r30) -/* 80247B98 48 08 69 B1 */ bl free__7JKRHeapFPv -/* 80247B9C 38 00 00 00 */ li r0, 0 -/* 80247BA0 90 1E 00 50 */ stw r0, 0x50(r30) -lbl_80247BA4: -/* 80247BA4 80 7E 00 D8 */ lwz r3, 0xd8(r30) -/* 80247BA8 28 03 00 00 */ cmplwi r3, 0 -/* 80247BAC 41 82 00 18 */ beq lbl_80247BC4 -/* 80247BB0 38 80 00 01 */ li r4, 1 -/* 80247BB4 81 83 00 00 */ lwz r12, 0(r3) -/* 80247BB8 81 8C 00 08 */ lwz r12, 8(r12) -/* 80247BBC 7D 89 03 A6 */ mtctr r12 -/* 80247BC0 4E 80 04 21 */ bctrl -lbl_80247BC4: -/* 80247BC4 3B 80 00 00 */ li r28, 0 -/* 80247BC8 93 9E 00 D8 */ stw r28, 0xd8(r30) -/* 80247BCC 3B 40 00 00 */ li r26, 0 -/* 80247BD0 7F 9D E3 78 */ mr r29, r28 -lbl_80247BD4: -/* 80247BD4 3B 7D 00 DC */ addi r27, r29, 0xdc -/* 80247BD8 7C 7E D8 2E */ lwzx r3, r30, r27 -/* 80247BDC 28 03 00 00 */ cmplwi r3, 0 -/* 80247BE0 41 82 00 18 */ beq lbl_80247BF8 -/* 80247BE4 38 80 00 01 */ li r4, 1 -/* 80247BE8 81 83 00 00 */ lwz r12, 0(r3) -/* 80247BEC 81 8C 00 08 */ lwz r12, 8(r12) -/* 80247BF0 7D 89 03 A6 */ mtctr r12 -/* 80247BF4 4E 80 04 21 */ bctrl -lbl_80247BF8: -/* 80247BF8 7F 9E D9 2E */ stwx r28, r30, r27 -/* 80247BFC 3B 5A 00 01 */ addi r26, r26, 1 -/* 80247C00 2C 1A 00 02 */ cmpwi r26, 2 -/* 80247C04 3B BD 00 04 */ addi r29, r29, 4 -/* 80247C08 41 80 FF CC */ blt lbl_80247BD4 -/* 80247C0C 80 7E 00 08 */ lwz r3, 8(r30) -/* 80247C10 28 03 00 00 */ cmplwi r3, 0 -/* 80247C14 41 82 00 18 */ beq lbl_80247C2C -/* 80247C18 38 80 00 01 */ li r4, 1 -/* 80247C1C 81 83 00 00 */ lwz r12, 0(r3) -/* 80247C20 81 8C 00 08 */ lwz r12, 8(r12) -/* 80247C24 7D 89 03 A6 */ mtctr r12 -/* 80247C28 4E 80 04 21 */ bctrl -lbl_80247C2C: -/* 80247C2C 38 00 00 00 */ li r0, 0 -/* 80247C30 90 1E 00 08 */ stw r0, 8(r30) -/* 80247C34 3B 40 00 00 */ li r26, 0 -/* 80247C38 3B A0 00 00 */ li r29, 0 -lbl_80247C3C: -/* 80247C3C 7F 7E EA 14 */ add r27, r30, r29 -/* 80247C40 80 7B 00 0C */ lwz r3, 0xc(r27) -/* 80247C44 28 03 00 00 */ cmplwi r3, 0 -/* 80247C48 41 82 00 24 */ beq lbl_80247C6C -/* 80247C4C 41 82 00 18 */ beq lbl_80247C64 -/* 80247C50 38 80 00 01 */ li r4, 1 -/* 80247C54 81 83 00 00 */ lwz r12, 0(r3) -/* 80247C58 81 8C 00 08 */ lwz r12, 8(r12) -/* 80247C5C 7D 89 03 A6 */ mtctr r12 -/* 80247C60 4E 80 04 21 */ bctrl -lbl_80247C64: -/* 80247C64 38 00 00 00 */ li r0, 0 -/* 80247C68 90 1B 00 0C */ stw r0, 0xc(r27) -lbl_80247C6C: -/* 80247C6C 80 7B 00 28 */ lwz r3, 0x28(r27) -/* 80247C70 28 03 00 00 */ cmplwi r3, 0 -/* 80247C74 41 82 00 24 */ beq lbl_80247C98 -/* 80247C78 41 82 00 18 */ beq lbl_80247C90 -/* 80247C7C 38 80 00 01 */ li r4, 1 -/* 80247C80 81 83 00 00 */ lwz r12, 0(r3) -/* 80247C84 81 8C 00 08 */ lwz r12, 8(r12) -/* 80247C88 7D 89 03 A6 */ mtctr r12 -/* 80247C8C 4E 80 04 21 */ bctrl -lbl_80247C90: -/* 80247C90 38 00 00 00 */ li r0, 0 -/* 80247C94 90 1B 00 28 */ stw r0, 0x28(r27) -lbl_80247C98: -/* 80247C98 3B 5A 00 01 */ addi r26, r26, 1 -/* 80247C9C 2C 1A 00 06 */ cmpwi r26, 6 -/* 80247CA0 3B BD 00 04 */ addi r29, r29, 4 -/* 80247CA4 41 80 FF 98 */ blt lbl_80247C3C -/* 80247CA8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80247CAC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80247CB0 80 63 5C 6C */ lwz r3, 0x5c6c(r3) -/* 80247CB4 81 83 00 00 */ lwz r12, 0(r3) -/* 80247CB8 81 8C 00 24 */ lwz r12, 0x24(r12) -/* 80247CBC 7D 89 03 A6 */ mtctr r12 -/* 80247CC0 4E 80 04 21 */ bctrl -/* 80247CC4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80247CC8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80247CCC 80 63 5C 70 */ lwz r3, 0x5c70(r3) -/* 80247CD0 81 83 00 00 */ lwz r12, 0(r3) -/* 80247CD4 81 8C 00 24 */ lwz r12, 0x24(r12) -/* 80247CD8 7D 89 03 A6 */ mtctr r12 -/* 80247CDC 4E 80 04 21 */ bctrl -/* 80247CE0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80247CE4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80247CE8 80 63 5C E4 */ lwz r3, 0x5ce4(r3) -/* 80247CEC 81 83 00 00 */ lwz r12, 0(r3) -/* 80247CF0 81 8C 00 24 */ lwz r12, 0x24(r12) -/* 80247CF4 7D 89 03 A6 */ mtctr r12 -/* 80247CF8 4E 80 04 21 */ bctrl -/* 80247CFC 7F C3 F3 78 */ mr r3, r30 -/* 80247D00 38 80 00 00 */ li r4, 0 -/* 80247D04 4B FF 44 21 */ bl __dt__14dMsgScrnBase_cFv -/* 80247D08 7F E0 07 35 */ extsh. r0, r31 -/* 80247D0C 40 81 00 0C */ ble lbl_80247D18 -/* 80247D10 7F C3 F3 78 */ mr r3, r30 -/* 80247D14 48 08 70 29 */ bl __dl__FPv -lbl_80247D18: -/* 80247D18 7F C3 F3 78 */ mr r3, r30 -/* 80247D1C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80247D20 48 11 A4 FD */ bl _restgpr_26 -/* 80247D24 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80247D28 7C 08 03 A6 */ mtlr r0 -/* 80247D2C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80247D30 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_talk/arwAnimeInit__14dMsgScrnTalk_cFv.s b/asm/msg/scrn/d_msg_scrn_talk/arwAnimeInit__14dMsgScrnTalk_cFv.s deleted file mode 100644 index eebd018cd2b..00000000000 --- a/asm/msg/scrn/d_msg_scrn_talk/arwAnimeInit__14dMsgScrnTalk_cFv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_802480F0: -/* 802480F0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802480F4 7C 08 02 A6 */ mflr r0 -/* 802480F8 90 01 00 14 */ stw r0, 0x14(r1) -/* 802480FC 80 63 00 C8 */ lwz r3, 0xc8(r3) -/* 80248100 4B FF 3D 35 */ bl arwAnimeInit__15dMsgScrnArrow_cFv -/* 80248104 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80248108 7C 08 03 A6 */ mtlr r0 -/* 8024810C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80248110 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_talk/arwAnimeMove__14dMsgScrnTalk_cFv.s b/asm/msg/scrn/d_msg_scrn_talk/arwAnimeMove__14dMsgScrnTalk_cFv.s deleted file mode 100644 index 60099429ba5..00000000000 --- a/asm/msg/scrn/d_msg_scrn_talk/arwAnimeMove__14dMsgScrnTalk_cFv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_80248114: -/* 80248114 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80248118 7C 08 02 A6 */ mflr r0 -/* 8024811C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80248120 80 63 00 C8 */ lwz r3, 0xc8(r3) -/* 80248124 4B FF 3D 6D */ bl arwAnimeMove__15dMsgScrnArrow_cFv -/* 80248128 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8024812C 7C 08 03 A6 */ mtlr r0 -/* 80248130 38 21 00 10 */ addi r1, r1, 0x10 -/* 80248134 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_talk/dotAnimeInit__14dMsgScrnTalk_cFv.s b/asm/msg/scrn/d_msg_scrn_talk/dotAnimeInit__14dMsgScrnTalk_cFv.s deleted file mode 100644 index c101393a694..00000000000 --- a/asm/msg/scrn/d_msg_scrn_talk/dotAnimeInit__14dMsgScrnTalk_cFv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_80248138: -/* 80248138 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8024813C 7C 08 02 A6 */ mflr r0 -/* 80248140 90 01 00 14 */ stw r0, 0x14(r1) -/* 80248144 80 63 00 C8 */ lwz r3, 0xc8(r3) -/* 80248148 4B FF 3E 7D */ bl dotAnimeInit__15dMsgScrnArrow_cFv -/* 8024814C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80248150 7C 08 03 A6 */ mtlr r0 -/* 80248154 38 21 00 10 */ addi r1, r1, 0x10 -/* 80248158 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_talk/dotAnimeMove__14dMsgScrnTalk_cFv.s b/asm/msg/scrn/d_msg_scrn_talk/dotAnimeMove__14dMsgScrnTalk_cFv.s deleted file mode 100644 index d9ee3979984..00000000000 --- a/asm/msg/scrn/d_msg_scrn_talk/dotAnimeMove__14dMsgScrnTalk_cFv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8024815C: -/* 8024815C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80248160 7C 08 02 A6 */ mflr r0 -/* 80248164 90 01 00 14 */ stw r0, 0x14(r1) -/* 80248168 80 63 00 C8 */ lwz r3, 0xc8(r3) -/* 8024816C 4B FF 3E A5 */ bl dotAnimeMove__15dMsgScrnArrow_cFv -/* 80248170 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80248174 7C 08 03 A6 */ mtlr r0 -/* 80248178 38 21 00 10 */ addi r1, r1, 0x10 -/* 8024817C 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_talk/fukiAlpha__14dMsgScrnTalk_cFf.s b/asm/msg/scrn/d_msg_scrn_talk/fukiAlpha__14dMsgScrnTalk_cFf.s deleted file mode 100644 index a29aeb404af..00000000000 --- a/asm/msg/scrn/d_msg_scrn_talk/fukiAlpha__14dMsgScrnTalk_cFf.s +++ /dev/null @@ -1,46 +0,0 @@ -lbl_802482B4: -/* 802482B4 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802482B8 7C 08 02 A6 */ mflr r0 -/* 802482BC 90 01 00 34 */ stw r0, 0x34(r1) -/* 802482C0 DB E1 00 20 */ stfd f31, 0x20(r1) -/* 802482C4 F3 E1 00 28 */ psq_st f31, 40(r1), 0, 0 /* qr0 */ -/* 802482C8 39 61 00 20 */ addi r11, r1, 0x20 -/* 802482CC 48 11 9F 0D */ bl _savegpr_28 -/* 802482D0 7C 7C 1B 78 */ mr r28, r3 -/* 802482D4 FF E0 08 90 */ fmr f31, f1 -/* 802482D8 80 63 00 08 */ lwz r3, 8(r3) -/* 802482DC 3C 80 80 43 */ lis r4, g_MsgObject_HIO_c@ha /* 0x8043028C@ha */ -/* 802482E0 38 84 02 8C */ addi r4, r4, g_MsgObject_HIO_c@l /* 0x8043028C@l */ -/* 802482E4 C0 04 00 18 */ lfs f0, 0x18(r4) -/* 802482E8 EC 3F 00 32 */ fmuls f1, f31, f0 -/* 802482EC 48 00 D4 E5 */ bl setAlphaRate__13CPaneMgrAlphaFf -/* 802482F0 3B A0 00 00 */ li r29, 0 -/* 802482F4 3B E0 00 00 */ li r31, 0 -lbl_802482F8: -/* 802482F8 7F DC FA 14 */ add r30, r28, r31 -/* 802482FC 80 7E 00 0C */ lwz r3, 0xc(r30) -/* 80248300 28 03 00 00 */ cmplwi r3, 0 -/* 80248304 41 82 00 10 */ beq lbl_80248314 -/* 80248308 C0 1C 00 BC */ lfs f0, 0xbc(r28) -/* 8024830C EC 3F 00 32 */ fmuls f1, f31, f0 -/* 80248310 48 00 D4 C1 */ bl setAlphaRate__13CPaneMgrAlphaFf -lbl_80248314: -/* 80248314 80 7E 00 28 */ lwz r3, 0x28(r30) -/* 80248318 28 03 00 00 */ cmplwi r3, 0 -/* 8024831C 41 82 00 10 */ beq lbl_8024832C -/* 80248320 C0 1C 00 BC */ lfs f0, 0xbc(r28) -/* 80248324 EC 3F 00 32 */ fmuls f1, f31, f0 -/* 80248328 48 00 D4 A9 */ bl setAlphaRate__13CPaneMgrAlphaFf -lbl_8024832C: -/* 8024832C 3B BD 00 01 */ addi r29, r29, 1 -/* 80248330 2C 1D 00 06 */ cmpwi r29, 6 -/* 80248334 3B FF 00 04 */ addi r31, r31, 4 -/* 80248338 41 80 FF C0 */ blt lbl_802482F8 -/* 8024833C E3 E1 00 28 */ psq_l f31, 40(r1), 0, 0 /* qr0 */ -/* 80248340 CB E1 00 20 */ lfd f31, 0x20(r1) -/* 80248344 39 61 00 20 */ addi r11, r1, 0x20 -/* 80248348 48 11 9E DD */ bl _restgpr_28 -/* 8024834C 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80248350 7C 08 03 A6 */ mtlr r0 -/* 80248354 38 21 00 30 */ addi r1, r1, 0x30 -/* 80248358 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_talk/isSelect__14dMsgScrnTalk_cFv.s b/asm/msg/scrn/d_msg_scrn_talk/isSelect__14dMsgScrnTalk_cFv.s deleted file mode 100644 index b21b431052c..00000000000 --- a/asm/msg/scrn/d_msg_scrn_talk/isSelect__14dMsgScrnTalk_cFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_802481D8: -/* 802481D8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802481DC 7C 08 02 A6 */ mflr r0 -/* 802481E0 90 01 00 14 */ stw r0, 0x14(r1) -/* 802481E4 80 63 00 CC */ lwz r3, 0xcc(r3) -/* 802481E8 28 03 00 00 */ cmplwi r3, 0 -/* 802481EC 41 82 00 0C */ beq lbl_802481F8 -/* 802481F0 4B FF 1A 75 */ bl isSelect__17dMsgScrn3Select_cFv -/* 802481F4 48 00 00 08 */ b lbl_802481FC -lbl_802481F8: -/* 802481F8 38 60 00 00 */ li r3, 0 -lbl_802481FC: -/* 802481FC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80248200 7C 08 03 A6 */ mtlr r0 -/* 80248204 38 21 00 10 */ addi r1, r1, 0x10 -/* 80248208 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_talk/selectAnimeEnd__14dMsgScrnTalk_cFv.s b/asm/msg/scrn/d_msg_scrn_talk/selectAnimeEnd__14dMsgScrnTalk_cFv.s deleted file mode 100644 index b22a8cb2417..00000000000 --- a/asm/msg/scrn/d_msg_scrn_talk/selectAnimeEnd__14dMsgScrnTalk_cFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80248278: -/* 80248278 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8024827C 7C 08 02 A6 */ mflr r0 -/* 80248280 90 01 00 14 */ stw r0, 0x14(r1) -/* 80248284 80 63 00 CC */ lwz r3, 0xcc(r3) -/* 80248288 28 03 00 00 */ cmplwi r3, 0 -/* 8024828C 41 82 00 0C */ beq lbl_80248298 -/* 80248290 4B FF 23 F1 */ bl selAnimeEnd__17dMsgScrn3Select_cFv -/* 80248294 48 00 00 08 */ b lbl_8024829C -lbl_80248298: -/* 80248298 38 60 00 00 */ li r3, 0 -lbl_8024829C: -/* 8024829C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802482A0 7C 08 03 A6 */ mtlr r0 -/* 802482A4 38 21 00 10 */ addi r1, r1, 0x10 -/* 802482A8 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_talk/selectAnimeInit__14dMsgScrnTalk_cFUcUcfUc.s b/asm/msg/scrn/d_msg_scrn_talk/selectAnimeInit__14dMsgScrnTalk_cFUcUcfUc.s deleted file mode 100644 index 806a71049c0..00000000000 --- a/asm/msg/scrn/d_msg_scrn_talk/selectAnimeInit__14dMsgScrnTalk_cFUcUcfUc.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_8024820C: -/* 8024820C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80248210 7C 08 02 A6 */ mflr r0 -/* 80248214 90 01 00 14 */ stw r0, 0x14(r1) -/* 80248218 7C 68 1B 78 */ mr r8, r3 -/* 8024821C 7C C7 33 78 */ mr r7, r6 -/* 80248220 80 63 00 CC */ lwz r3, 0xcc(r3) -/* 80248224 28 03 00 00 */ cmplwi r3, 0 -/* 80248228 41 82 00 0C */ beq lbl_80248234 -/* 8024822C 88 C8 04 88 */ lbz r6, 0x488(r8) -/* 80248230 4B FF 1E 65 */ bl selAnimeInit__17dMsgScrn3Select_cFUcUcUcfUc -lbl_80248234: -/* 80248234 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80248238 7C 08 03 A6 */ mtlr r0 -/* 8024823C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80248240 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_talk/selectAnimeMove__14dMsgScrnTalk_cFUcUcb.s b/asm/msg/scrn/d_msg_scrn_talk/selectAnimeMove__14dMsgScrnTalk_cFUcUcb.s deleted file mode 100644 index adff92fb18a..00000000000 --- a/asm/msg/scrn/d_msg_scrn_talk/selectAnimeMove__14dMsgScrnTalk_cFUcUcb.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80248244: -/* 80248244 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80248248 7C 08 02 A6 */ mflr r0 -/* 8024824C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80248250 80 63 00 CC */ lwz r3, 0xcc(r3) -/* 80248254 28 03 00 00 */ cmplwi r3, 0 -/* 80248258 41 82 00 0C */ beq lbl_80248264 -/* 8024825C 4B FF 21 3D */ bl selAnimeMove__17dMsgScrn3Select_cFUcUcb -/* 80248260 48 00 00 08 */ b lbl_80248268 -lbl_80248264: -/* 80248264 38 60 00 00 */ li r3, 0 -lbl_80248268: -/* 80248268 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8024826C 7C 08 03 A6 */ mtlr r0 -/* 80248270 38 21 00 10 */ addi r1, r1, 0x10 -/* 80248274 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_talk/setSelectRubyString__14dMsgScrnTalk_cFPcPcPc.s b/asm/msg/scrn/d_msg_scrn_talk/setSelectRubyString__14dMsgScrnTalk_cFPcPcPc.s deleted file mode 100644 index 905019950c2..00000000000 --- a/asm/msg/scrn/d_msg_scrn_talk/setSelectRubyString__14dMsgScrnTalk_cFPcPcPc.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_802481AC: -/* 802481AC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802481B0 7C 08 02 A6 */ mflr r0 -/* 802481B4 90 01 00 14 */ stw r0, 0x14(r1) -/* 802481B8 80 63 00 CC */ lwz r3, 0xcc(r3) -/* 802481BC 28 03 00 00 */ cmplwi r3, 0 -/* 802481C0 41 82 00 08 */ beq lbl_802481C8 -/* 802481C4 4B FF 1B 45 */ bl setRubyString__17dMsgScrn3Select_cFPcPcPc -lbl_802481C8: -/* 802481C8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802481CC 7C 08 03 A6 */ mtlr r0 -/* 802481D0 38 21 00 10 */ addi r1, r1, 0x10 -/* 802481D4 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_talk/setSelectString__14dMsgScrnTalk_cFPcPcPc.s b/asm/msg/scrn/d_msg_scrn_talk/setSelectString__14dMsgScrnTalk_cFPcPcPc.s deleted file mode 100644 index 5abf49b66d7..00000000000 --- a/asm/msg/scrn/d_msg_scrn_talk/setSelectString__14dMsgScrnTalk_cFPcPcPc.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80248180: -/* 80248180 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80248184 7C 08 02 A6 */ mflr r0 -/* 80248188 90 01 00 14 */ stw r0, 0x14(r1) -/* 8024818C 80 63 00 CC */ lwz r3, 0xcc(r3) -/* 80248190 28 03 00 00 */ cmplwi r3, 0 -/* 80248194 41 82 00 08 */ beq lbl_8024819C -/* 80248198 4B FF 1A E1 */ bl setString__17dMsgScrn3Select_cFPcPcPc -lbl_8024819C: -/* 8024819C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802481A0 7C 08 03 A6 */ mtlr r0 -/* 802481A4 38 21 00 10 */ addi r1, r1, 0x10 -/* 802481A8 4E 80 00 20 */ blr diff --git a/include/JSystem/J2DGraph/J2DPicture.h b/include/JSystem/J2DGraph/J2DPicture.h index 4a47ea6a3dc..4bad6b8019d 100644 --- a/include/JSystem/J2DGraph/J2DPicture.h +++ b/include/JSystem/J2DGraph/J2DPicture.h @@ -111,7 +111,7 @@ class J2DPicture : public J2DPane { /* 8018BEE0 */ virtual bool setBlackWhite(JUtility::TColor i_black, JUtility::TColor i_white); /* 801DFA4C */ virtual JUtility::TColor getBlack() const; /* 801DFA40 */ virtual JUtility::TColor getWhite() const; - /* 8025603C */ virtual bool getMaterial() const; + /* 8025603C */ virtual J2DMaterial* getMaterial() const { return NULL; } /* 802FDBFC */ virtual void drawFullSet(f32, f32, f32, f32, Mtx*); /* 802FE380 */ virtual void drawTexCoord(f32, f32, f32, f32, s16, s16, s16, s16, s16, s16, s16, s16, Mtx*); diff --git a/include/JSystem/J2DGraph/J2DPictureEx.h b/include/JSystem/J2DGraph/J2DPictureEx.h index bf924d2c3c3..f1386577494 100644 --- a/include/JSystem/J2DGraph/J2DPictureEx.h +++ b/include/JSystem/J2DGraph/J2DPictureEx.h @@ -37,7 +37,7 @@ class J2DPictureEx : public J2DPicture { /* 803071A4 */ virtual void isUsed(ResFONT const*); /* 80306A0C */ virtual void rewriteAlpha(); /* 803071C4 */ virtual void setAnimation(J2DAnmBase*); - /* 80256064 */ virtual void setAnimation(J2DAnmTransform*); + /* 80256064 */ virtual void setAnimation(J2DAnmTransform* transform) { J2DPane::setAnimation(transform); } /* 80306AC4 */ virtual void setAnimation(J2DAnmColor*); /* 80306B1C */ virtual void setAnimation(J2DAnmTexPattern*); /* 80306AF0 */ virtual void setAnimation(J2DAnmTextureSRTKey*); @@ -86,7 +86,7 @@ class J2DPictureEx : public J2DPicture { /* 80306480 */ virtual bool setBlackWhite(JUtility::TColor, JUtility::TColor); /* 803068F8 */ virtual void getBlack() const; /* 80306958 */ virtual void getWhite() const; - /* 80256034 */ virtual void getMaterial() const; + /* 80256034 */ virtual J2DMaterial* getMaterial() const { return mMaterial; } /* 80303B80 */ virtual void drawFullSet(f32, f32, f32, f32, f32 (*)[3][4]); /* 80303BDC */ virtual void drawTexCoord(f32, f32, f32, f32, s16, s16, s16, s16, s16, s16, s16, s16, f32 (*)[3][4]); diff --git a/include/JSystem/J2DGraph/J2DTextBox.h b/include/JSystem/J2DGraph/J2DTextBox.h index c9513995d5b..55b0a6a641d 100644 --- a/include/JSystem/J2DGraph/J2DTextBox.h +++ b/include/JSystem/J2DGraph/J2DTextBox.h @@ -79,7 +79,7 @@ class J2DTextBox : public J2DPane { /* 8019230C */ virtual bool setBlackWhite(JUtility::TColor, JUtility::TColor); /* 801DFA34 */ virtual JUtility::TColor getBlack() const; /* 801DFA28 */ virtual JUtility::TColor getWhite() const; - /* 8025602C */ virtual bool getMaterial() const; + /* 8025602C */ virtual J2DMaterial* getMaterial() const { return NULL; } /* 802FFBC4 */ J2DTextBox(u64, JGeometry::TBox2 const&, ResFONT const*, char const*, s16, J2DTextBoxHBinding, J2DTextBoxVBinding); diff --git a/include/JSystem/J2DGraph/J2DTextBoxEx.h b/include/JSystem/J2DGraph/J2DTextBoxEx.h index ff663f093bd..289dbd962d1 100644 --- a/include/JSystem/J2DGraph/J2DTextBoxEx.h +++ b/include/JSystem/J2DGraph/J2DTextBoxEx.h @@ -33,7 +33,7 @@ class J2DTextBoxEx : public J2DTextBox { /* 80308828 */ virtual bool isUsed(ResFONT const*); /* 80308810 */ virtual void rewriteAlpha(); /* 80308A4C */ virtual void setAnimation(J2DAnmBase*); - /* 80256044 */ virtual void setAnimation(J2DAnmTransform*); + /* 80256044 */ virtual void setAnimation(J2DAnmTransform* transform) { J2DPane::setAnimation(transform); } /* 803088B4 */ virtual void setAnimation(J2DAnmColor*); /* 8030890C */ virtual void setAnimation(J2DAnmTexPattern*); /* 803088E0 */ virtual void setAnimation(J2DAnmTextureSRTKey*); @@ -50,7 +50,7 @@ class J2DTextBoxEx : public J2DTextBox { /* 8030834C */ virtual bool setBlackWhite(JUtility::TColor, JUtility::TColor); /* 803086FC */ virtual JUtility::TColor getBlack() const; /* 8030875C */ virtual JUtility::TColor getWhite() const; - /* 80256024 */ virtual bool getMaterial() const; + /* 80256024 */ virtual J2DMaterial* getMaterial() const { return mMaterial; } private: /* 0x138 */ J2DMaterial* mMaterial; diff --git a/include/JSystem/J2DGraph/J2DWindowEx.h b/include/JSystem/J2DGraph/J2DWindowEx.h index 1c9415ccfd9..dffa25349ce 100644 --- a/include/JSystem/J2DGraph/J2DWindowEx.h +++ b/include/JSystem/J2DGraph/J2DWindowEx.h @@ -38,7 +38,7 @@ class J2DWindowEx : public J2DWindow { /* 803035FC */ virtual bool isUsed(ResFONT const*); /* 80302DF4 */ virtual void rewriteAlpha(); /* 8030361C */ virtual void setAnimation(J2DAnmBase*); - /* 80256084 */ virtual void setAnimation(J2DAnmTransform*); + /* 80256084 */ virtual void setAnimation(J2DAnmTransform* transform) { J2DPane::setAnimation(transform); } /* 80302FFC */ virtual void setAnimation(J2DAnmColor*); /* 8030310C */ virtual void setAnimation(J2DAnmTexPattern*); /* 80303084 */ virtual void setAnimation(J2DAnmTextureSRTKey*); diff --git a/include/d/msg/d_msg_object.h b/include/d/msg/d_msg_object.h index 3651f0e2108..04928fa9d71 100644 --- a/include/d/msg/d_msg_object.h +++ b/include/d/msg/d_msg_object.h @@ -599,9 +599,9 @@ class dMsgObject_HIO_c { /* 0x0E0 */ f32 mBoxItemTextPosX; /* 0x0E4 */ f32 mBoxItemTextPosY; /* 0x0E8 */ JUtility::TColor - mBoxStartBlack[20]; // talk, navi, midna, item, stone, wood, book, wolf, + mBoxStartBlack[2][10]; // talk, navi, midna, item, stone, wood, book, wolf, /* 0x110 */ //JUtility::TColor mBoxEndBlack[10]; - /* 0x138 */ JUtility::TColor mBoxStartWhite[20]; + /* 0x138 */ JUtility::TColor mBoxStartWhite[2][10]; /* 0x160 */ //JUtility::TColor mBoxEndWhite[10]; /* 0x188 */ JUtility::TColor mSelMsgInactiveCol; /* 0x18C */ f32 mStageTitleCharPosX; @@ -636,7 +636,7 @@ class dMsgObject_HIO_c { /* 0x2E4 */ JUtility::TColor mPikariPikaR0; /* 0x2E8 */ JUtility::TColor mPikariPikaR1; /* 0x2EC */ f32 mPikariAnmSpeed; - /* 0x2F0 */ u16 mPikariHaloDelay_spirit; + /* 0x2F0 */ s16 mPikariHaloDelay_spirit; /* 0x2F2 */ u8 mStageTitleDisplayType; /* 0x2F4 */ s16 mMsgIndex; /* 0x2F6 */ s16 mFlowIndex; diff --git a/include/d/msg/d_msg_scrn_talk.h b/include/d/msg/d_msg_scrn_talk.h index ecde7432386..86a50003feb 100644 --- a/include/d/msg/d_msg_scrn_talk.h +++ b/include/d/msg/d_msg_scrn_talk.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 dMsgScrnTalk_c : public dMsgScrnBase_c { /* 80246FF0 */ dMsgScrnTalk_c(u8, u8, JKRExpHeap*); /* 80247A90 */ ~dMsgScrnTalk_c(); @@ -24,7 +28,22 @@ struct dMsgScrnTalk_c : public dMsgScrnBase_c { /* 802482B4 */ void fukiAlpha(f32); /* 8024835C */ void fukiPosCalc(u8); - u8 field_0xc4[0x48c - 0xc4]; + /* 0x0C4 */ J2DScreen* mpTxScreen; + /* 0x0C8 */ dMsgScrnArrow_c* mpArrow_c; + /* 0x0CC */ dMsgScrn3Select_c* mpSelect_c; + /* 0x0D0 */ dMsgScrnLight_c* mpLight_c; + /* 0x0D4 */ int field_0xd4; + /* 0x0D8 */ CPaneMgr* mpArw_c; + /* 0x0DC */ CPaneMgr* mpMg_c[2]; + /* 0x0E4 */ JKRExpHeap* field_0xe4; + /* 0x0E8 */ f32 field_0xe8; + /* 0x0EC */ f32 field_0xec; + /* 0x0F0 */ f32 field_0xf0; + /* 0x0F4 */ f32 field_0xf4; + /* 0x0F8 */ f32 field_0xf8[150]; + /* 0x350 */ f32 field_0x350[3]; + /* 0x35C */ s16 field_0x35c[150]; + /* 0x488 */ u8 field_0x488; }; #endif /* MSG_SCRN_D_MSG_SCRN_TALK_H */ diff --git a/src/d/msg/d_msg_scrn_jimaku.cpp b/src/d/msg/d_msg_scrn_jimaku.cpp index 25fd348428e..211bf7f5d1b 100644 --- a/src/d/msg/d_msg_scrn_jimaku.cpp +++ b/src/d/msg/d_msg_scrn_jimaku.cpp @@ -59,14 +59,14 @@ dMsgScrnJimaku_c::dMsgScrnJimaku_c(u8 param_0, JKRExpHeap* i_heap) { for (int i = 0; i < 2; i++) { ((J2DTextBox*)mpTm_c[i]->getPanePtr())->setFont(mDoExt_getMesgFont()); ((J2DTextBox*)mpTm_c[i]->getPanePtr())->setString(0x200, ""); - mpTm_c[i]->setBlackWhite(g_MsgObject_HIO_c.mBoxStartBlack[4 + (i * 10)], - g_MsgObject_HIO_c.mBoxStartWhite[4 + (i * 10)]); + mpTm_c[i]->setBlackWhite(g_MsgObject_HIO_c.mBoxStartBlack[i][4], + g_MsgObject_HIO_c.mBoxStartWhite[i][4]); if (mpTmr_c[i] != NULL) { ((J2DTextBox*)mpTmr_c[i]->getPanePtr())->setFont(mDoExt_getMesgFont()); ((J2DTextBox*)mpTmr_c[i]->getPanePtr())->setString(0x200, ""); - mpTmr_c[i]->setBlackWhite(g_MsgObject_HIO_c.mBoxStartBlack[4 + (i * 10)], - g_MsgObject_HIO_c.mBoxStartWhite[4 + (i * 10)]); + mpTmr_c[i]->setBlackWhite(g_MsgObject_HIO_c.mBoxStartBlack[i][4], + g_MsgObject_HIO_c.mBoxStartWhite[i][4]); } } @@ -140,12 +140,12 @@ void dMsgScrnJimaku_c::exec() { mpPmP_c->scale(g_MsgObject_HIO_c.mSubtitleScaleX, g_MsgObject_HIO_c.mSubtitleScaleY); for (int i = 0; i < 2; i++) { - mpTm_c[i]->setBlackWhite(g_MsgObject_HIO_c.mBoxStartBlack[4 + (i * 10)], - g_MsgObject_HIO_c.mBoxStartWhite[4 + (i * 10)]); + mpTm_c[i]->setBlackWhite(g_MsgObject_HIO_c.mBoxStartBlack[i][4], + g_MsgObject_HIO_c.mBoxStartWhite[i][4]); if (mpTmr_c[i] != NULL) { - mpTmr_c[i]->setBlackWhite(g_MsgObject_HIO_c.mBoxStartBlack[4 + (i * 10)], - g_MsgObject_HIO_c.mBoxStartWhite[4 + (i * 10)]); + mpTmr_c[i]->setBlackWhite(g_MsgObject_HIO_c.mBoxStartBlack[i][4], + g_MsgObject_HIO_c.mBoxStartWhite[i][4]); } } } diff --git a/src/d/msg/d_msg_scrn_talk.cpp b/src/d/msg/d_msg_scrn_talk.cpp index 9e53bbebc0f..eb5c3123a08 100644 --- a/src/d/msg/d_msg_scrn_talk.cpp +++ b/src/d/msg/d_msg_scrn_talk.cpp @@ -4,81 +4,21 @@ // #include "d/msg/d_msg_scrn_talk.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.h" +#include "d/meter/d_meter2_draw.h" +#include "d/meter/d_meter2_info.h" +#include "d/pane/d_pane_class.h" +#include "m_Do/m_Do_lib.h" +#include "JSystem/JKernel/JKRExpHeap.h" +#include "JSystem/J2DGraph/J2DGrafContext.h" +#include "JSystem/J2DGraph/J2DScreen.h" #include "dol2asm.h" -// -// Types: -// - -struct JKRExpHeap {}; - -struct dMsgScrnLight_c { - /* 80245934 */ dMsgScrnLight_c(u8, u8); - /* 80245C04 */ void draw(f32*, f32, f32, f32, f32, f32, u8); -}; - -struct dMsgScrnArrow_c { - /* 8023B9B4 */ dMsgScrnArrow_c(); - /* 8023BDC0 */ void draw(); - /* 8023BDF8 */ void setPos(f32, f32); - /* 8023BE34 */ void arwAnimeInit(); - /* 8023BE90 */ void arwAnimeMove(); - /* 8023BFC4 */ void dotAnimeInit(); - /* 8023C010 */ void dotAnimeMove(); -}; - -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(); -}; - -struct dMeter2Draw_c { - /* 802140DC */ void drawPikari(f32, f32, f32*, f32, JUtility::TColor, JUtility::TColor, - JUtility::TColor, JUtility::TColor, f32, u8); -}; - -struct JKRArchive {}; - -struct J2DGrafContext {}; - -struct J2DScreen { - /* 802F8498 */ J2DScreen(); - /* 802F8648 */ void setPriority(char const*, u32, JKRArchive*); - /* 802F8ED4 */ void draw(f32, f32, J2DGrafContext 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(); - /* 80254458 */ void setBlackWhite(JUtility::TColor, JUtility::TColor); - /* 80254EBC */ void getGlobalVtxCenter(J2DPane*, bool, s16); -}; - // // Forward References: // @@ -175,9 +115,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_meter2_info[248]; -extern "C" extern u8 g_MsgObject_HIO_c[1040]; // // Declarations: @@ -239,6 +176,175 @@ SECTION_SDATA2 static f32 lit_4088 = -10.0f; SECTION_SDATA2 static f32 lit_4089 = 6.0f / 5.0f; /* 80246FF0-80247A90 241930 0AA0+00 0/0 1/1 0/0 .text __ct__14dMsgScrnTalk_cFUcUcP10JKRExpHeap */ +// Matches with literals +#ifdef NONMATCHING +dMsgScrnTalk_c::dMsgScrnTalk_c(u8 param_1, u8 param_2, JKRExpHeap* param_3) { + if (param_3 != NULL) { + field_0xe4 = param_3; + } else { + field_0xe4 = dComIfGp_getSubHeap2D(7); + } + init(); + mpScreen = new J2DScreen(); + JUT_ASSERT(70, mpScreen != 0); + bool fg = mpScreen->setPriority("zelda_message_window_new.blo", 0x20000, + dComIfGp_getMsgArchive(1)); + JUT_ASSERT(77, fg != false); + dPaneClass_showNullPane(mpScreen); + mpTxScreen = new J2DScreen(); + JUT_ASSERT(81, mpTxScreen != 0); + if (dMsgObject_getMsgObjectClass()->getFukiKind() == 8) { + fg = mpTxScreen->setPriority("zelda_message_window_text_seirei.blo", 0x20000, + dComIfGp_getMsgCommonArchive()); + } else { + fg = mpTxScreen->setPriority("zelda_message_window_text.blo", 0x20000, + dComIfGp_getMsgCommonArchive()); + } + JUT_ASSERT(90, fg != false); + dPaneClass_showNullPane(mpTxScreen); + mpArrow_c = new dMsgScrnArrow_c(); + JUT_ASSERT(95, mpArrow_c != 0); + if (dComIfGp_isHeapLockFlag() != 3) { + mpSelect_c = new dMsgScrn3Select_c(); + JUT_ASSERT(100, mpSelect_c != 0); + } else { + mpSelect_c = NULL; + } + u8 uVar22; + switch(dMsgObject_getMsgObjectClass()->getFukiKind()) { + case 8: + uVar22 = 2; + break; + case 13: + uVar22 = 1; + break; + case 14: + uVar22 = 4; + break; + default: + uVar22 = 0; + break; + } + + mpLight_c = new dMsgScrnLight_c(uVar22, param_2); + JUT_ASSERT(123, mpLight_c != 0); + void* mpBuf = field_0xe4->alloc(0x106a, 0x20); + JUT_ASSERT(126, mpBuf != 0); + memset(mpBuf, 0, 0x106a); + mCharInfoPtr = (CharInfo_c*)mpBuf; + for (int i = 0; i < 150; i++) { + field_0xf8[i] = 18.0f - g_MsgObject_HIO_c.mPikariScale; + field_0x35c[i] = g_MsgObject_HIO_c.mPikariHaloDelay_spirit; + } + field_0xe8 = mpScreen->search('n_all')->getBounds().i.x; + field_0xec = mpScreen->search('n_all')->getBounds().i.y; + field_0xf0 = 0.0f; + for (int i = 0; i < 3; i++) { + field_0x350[i] = g_MsgObject_HIO_c.mBoxPos[i][0]; + } + + mpScreen->search('mg_null')->move( + mpScreen->search('mg_null')->getBounds().i.x + g_MsgObject_HIO_c.mTextPosX, + mpScreen->search('mg_null')->getBounds().i.y + g_MsgObject_HIO_c.mTextPosY); + mpArw_c = new CPaneMgr(mpScreen, 'set_ya_n', 0, NULL); + JUT_ASSERT(147, mpArw_c != 0); + mpMg_c[0] = new CPaneMgr(mpScreen, 'mg_null', 0, NULL); + JUT_ASSERT(150, mpMg_c[0] != 0); + mpMg_c[1] = new CPaneMgr(mpTxScreen, 'mg_null', 0, NULL); + JUT_ASSERT(153, mpMg_c[1] != 0); + OSInitFastCast(); + field_0xf4 = -10.0f; + fukiPosCalc(param_1); + mpPmP_c = new CPaneMgr(mpScreen, 'n_all', 3, NULL); + JUT_ASSERT(176, mpPmP_c != 0); + mpPmP_c->scale(g_MsgObject_HIO_c.mBoxTalkScaleX, g_MsgObject_HIO_c.mBoxTalkScaleY); + mpTm_c[0] = new CPaneMgr(mpTxScreen, 'mg_e4lin', 0, NULL); + JUT_ASSERT(182, mpTm_c[0] != 0); + mpTm_c[1] = new CPaneMgr(mpTxScreen, 't4_s', 0, NULL); + JUT_ASSERT(185, mpTm_c[1] != 0); + if (dMsgObject_getMsgObjectClass()->getFukiKind() == 8) { + mpTm_c[2] = new CPaneMgr(mpTxScreen, 't4_s1', 0, NULL); + JUT_ASSERT(189, mpTm_c[2] != 0); + mpTm_c[3] = new CPaneMgr(mpTxScreen, 't4_s2', 0, NULL); + JUT_ASSERT(191, mpTm_c[3] != 0); + mpTm_c[4] = new CPaneMgr(mpTxScreen, 't4_s3', 0, NULL); + JUT_ASSERT(193, mpTm_c[4] != 0); + mpTm_c[5] = new CPaneMgr(mpTxScreen, 't4_s4', 0, NULL); + JUT_ASSERT(193, mpTm_c[5] != 0); + } + mpTxScreen->search('n_3line')->hide(); + mpTxScreen->search('n_3fline')->hide(); + mpTxScreen->search('n_e4line')->show(); + for (int i = 0; i < 6; i++) { + if (mpTm_c[i] != NULL) { + ((J2DTextBox*)mpTm_c[i]->getPanePtr())->setFont(mDoExt_getMesgFont()); + ((J2DTextBox*)mpTm_c[i]->getPanePtr())->setString(0x200, ""); + } + if (mpTmr_c[i] != NULL) { + ((J2DTextBox*)mpTmr_c[i]->getPanePtr())->setFont(mDoExt_getMesgFont()); + ((J2DTextBox*)mpTmr_c[i]->getPanePtr())->setString(0x200, ""); + } + } + if (dMsgObject_getMsgObjectClass()->getFukiKind() != 8) { + for (int i = 0; i < 2; i++) { + if (mpTm_c[i] != NULL) { + mpTm_c[i]->setBlackWhite(g_MsgObject_HIO_c.mBoxStartBlack[i][0], + g_MsgObject_HIO_c.mBoxStartWhite[i][0]); + } + if (mpTmr_c[i] != 0) { + mpTmr_c[i]->setBlackWhite(g_MsgObject_HIO_c.mBoxStartBlack[i][0], + g_MsgObject_HIO_c.mBoxStartWhite[i][0]); + } + } + } + ((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 < 6; i++) { + if (mpTm_c[i] != NULL) { + ((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(); + mTextBoxPosY = mpTm_c[0]->getGlobalPosY(); + for (int i = 0; i < 6; 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()); + } + } + if (mpSelect_c != NULL) { + 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); + } + } else { + mSelTBoxWidth = 0.0f; + mSelFontSize = 0.0f; + mSelRubySize = 0.0f; + mSelCharSpace = 0.0f; + mSelRubyCharSpace = 0.0f; + for (int i = 0; i < 3; i++) { + mSelTextBoxPosX[i] = 0.0f; + mSelTextBoxPosY[i] = 0.0f; + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -247,22 +353,74 @@ asm dMsgScrnTalk_c::dMsgScrnTalk_c(u8 param_0, u8 param_1, JKRExpHeap* param_2) #include "asm/msg/scrn/d_msg_scrn_talk/__ct__14dMsgScrnTalk_cFUcUcP10JKRExpHeap.s" } #pragma pop +#endif /* 80247A90-80247D34 2423D0 02A4+00 1/0 0/0 0/0 .text __dt__14dMsgScrnTalk_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dMsgScrnTalk_c::~dMsgScrnTalk_c() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_talk/__dt__14dMsgScrnTalk_cFv.s" +dMsgScrnTalk_c::~dMsgScrnTalk_c() { + delete mpScreen; + mpScreen = NULL; + delete mpTxScreen; + mpTxScreen = NULL; + delete mpArrow_c; + mpArrow_c = NULL; + if (mpSelect_c != NULL) { + delete mpSelect_c; + mpSelect_c = NULL; + } + delete mpLight_c; + mpLight_c = NULL; + if (mCharInfoPtr != NULL) { + field_0xe4->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; + } + delete mpPmP_c; + mpPmP_c = NULL; + for (int i = 0; i < 6; i++) { + if (mpTm_c[i] != NULL) { + 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(1)->removeResourceAll(); + dComIfGp_getMsgCommonArchive()->removeResourceAll(); } -#pragma pop /* ############################################################################################## */ /* 80454D10-80454D14 003310 0004+00 2/2 0/0 0/0 .sdata2 @4197 */ SECTION_SDATA2 static f32 lit_4197 = 1.0f; /* 80247D34-80247E4C 242674 0118+00 1/0 0/0 0/0 .text exec__14dMsgScrnTalk_cFv */ +// Matches with literals +#ifdef NONMATCHING +void dMsgScrnTalk_c::exec() { + if (isTalkNow()) { + fukiAlpha(1.0f); + } + + mpPmP_c->scale(g_MsgObject_HIO_c.mBoxTalkScaleX, g_MsgObject_HIO_c.mBoxTalkScaleY); + for (int i = 0; i < 2; i++) { + if (mpTm_c[i] != NULL) { + mpTm_c[i]->setBlackWhite(g_MsgObject_HIO_c.mBoxStartBlack[i][0], + g_MsgObject_HIO_c.mBoxStartWhite[i][0]); + } + if (mpTmr_c[i] != 0) { + mpTmr_c[i]->setBlackWhite(g_MsgObject_HIO_c.mBoxStartBlack[i][0], + g_MsgObject_HIO_c.mBoxStartWhite[i][0]); + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -271,6 +429,7 @@ asm void dMsgScrnTalk_c::exec() { #include "asm/msg/scrn/d_msg_scrn_talk/exec__14dMsgScrnTalk_cFv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80454D14-80454D18 003314 0004+00 1/1 0/0 0/0 .sdata2 @4278 */ @@ -280,6 +439,64 @@ SECTION_SDATA2 static f32 lit_4278 = 4.0f / 5.0f; SECTION_SDATA2 static f32 lit_4279 = -1.0f; /* 80247E4C-802480F0 24278C 02A4+00 1/0 0/0 0/0 .text drawSelf__14dMsgScrnTalk_cFv */ +// regalloc +#ifdef NONMATCHING +void dMsgScrnTalk_c::drawSelf() { + CharInfo_c* pCharInfo; + J2DGrafContext* grafContext = dComIfGp_getCurrentGrafPort(); + grafContext->setup2D(); + pCharInfo = mCharInfoPtr; + if (*(s16*)(pCharInfo + 150) > 0) { + f32 dVar10 = mpTm_c[0]->getAlphaRate(); + for (int i = 0; i < *(s16*)(pCharInfo + 150); i++) { + if (dMsgObject_getMsgObjectClass()->getFukiKind() == 8) { + if (field_0xf8[i] >= 0.0f) { + f32 fVar1; + if (mCharInfoPtr[i].field_0x19 == 0) { + fVar1 = 0.8f; + } else { + fVar1 = g_MsgObject_HIO_c.mPikariScale; + } + dMeter2Info_getMeterClass()->getMeterDrawPtr()->drawPikari( + mCharInfoPtr[i].field_0x00, mCharInfoPtr[i].field_0x04, &field_0xf8[i], fVar1, + g_MsgObject_HIO_c.mPikariMoyaR1, g_MsgObject_HIO_c.mPikariMoyaR0, + g_MsgObject_HIO_c.mPikariMoyabsR1, g_MsgObject_HIO_c.mPikariMoyabsR0, + g_MsgObject_HIO_c.mPikariAnmSpeed, 4); + if (field_0xf8[i] == 0.0f) { + field_0xf8[i] = -1.0f; + } + } + if (field_0x35c[i] > 0) { + field_0x35c[i]--; + } else { + mpLight_c->draw( + &mCharInfoPtr[i].field_0x14, mCharInfoPtr[i].field_0x00, mCharInfoPtr[i].field_0x04, + mCharInfoPtr[i].field_0x08, mCharInfoPtr[i].field_0x0c, + dVar10 * g_MsgObject_HIO_c.mBoxTalkHaloAlpha, mCharInfoPtr[i].mColorNo); + } + } else { + mpLight_c->draw( + &mCharInfoPtr[i].field_0x14, mCharInfoPtr[i].field_0x00, mCharInfoPtr[i].field_0x04, + mCharInfoPtr[i].field_0x08, mCharInfoPtr[i].field_0x0c, + dVar10 * g_MsgObject_HIO_c.mBoxTalkHaloAlpha, mCharInfoPtr[i].mColorNo); + } + } + } else { + if (dMsgObject_getMsgObjectClass()->getFukiKind() == 8) { + for (int i = 0; i < 150; i++) { + field_0xf8[i] = 18.0f - g_MsgObject_HIO_c.mPikariScale; + field_0x35c[i] = g_MsgObject_HIO_c.mPikariHaloDelay_spirit; + } + } + } + drawOutFont(0.0f, 0.0f, 1.0f); + mpTxScreen->draw(0.0f, 0.0f, grafContext); + if (mpSelect_c != NULL) { + mpSelect_c->draw(0.0f, 0.0f); + } + mpArrow_c->draw(); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -288,128 +505,95 @@ asm void dMsgScrnTalk_c::drawSelf() { #include "asm/msg/scrn/d_msg_scrn_talk/drawSelf__14dMsgScrnTalk_cFv.s" } #pragma pop +#endif /* 802480F0-80248114 242A30 0024+00 1/0 0/0 0/0 .text arwAnimeInit__14dMsgScrnTalk_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnTalk_c::arwAnimeInit() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_talk/arwAnimeInit__14dMsgScrnTalk_cFv.s" +void dMsgScrnTalk_c::arwAnimeInit() { + mpArrow_c->arwAnimeInit(); } -#pragma pop /* 80248114-80248138 242A54 0024+00 1/0 0/0 0/0 .text arwAnimeMove__14dMsgScrnTalk_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnTalk_c::arwAnimeMove() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_talk/arwAnimeMove__14dMsgScrnTalk_cFv.s" +void dMsgScrnTalk_c::arwAnimeMove() { + mpArrow_c->arwAnimeMove(); } -#pragma pop /* 80248138-8024815C 242A78 0024+00 1/0 0/0 0/0 .text dotAnimeInit__14dMsgScrnTalk_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnTalk_c::dotAnimeInit() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_talk/dotAnimeInit__14dMsgScrnTalk_cFv.s" +void dMsgScrnTalk_c::dotAnimeInit() { + mpArrow_c->dotAnimeInit(); } -#pragma pop /* 8024815C-80248180 242A9C 0024+00 1/0 0/0 0/0 .text dotAnimeMove__14dMsgScrnTalk_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnTalk_c::dotAnimeMove() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_talk/dotAnimeMove__14dMsgScrnTalk_cFv.s" +void dMsgScrnTalk_c::dotAnimeMove() { + mpArrow_c->dotAnimeMove(); } -#pragma pop /* 80248180-802481AC 242AC0 002C+00 1/0 0/0 0/0 .text setSelectString__14dMsgScrnTalk_cFPcPcPc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnTalk_c::setSelectString(char* param_0, char* param_1, char* param_2) { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_talk/setSelectString__14dMsgScrnTalk_cFPcPcPc.s" +void dMsgScrnTalk_c::setSelectString(char* param_0, char* param_1, char* param_2) { + if (mpSelect_c != NULL) { + mpSelect_c->setString(param_0, param_1, param_2); + } } -#pragma pop /* 802481AC-802481D8 242AEC 002C+00 1/0 0/0 0/0 .text setSelectRubyString__14dMsgScrnTalk_cFPcPcPc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnTalk_c::setSelectRubyString(char* param_0, char* param_1, char* param_2) { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_talk/setSelectRubyString__14dMsgScrnTalk_cFPcPcPc.s" +void dMsgScrnTalk_c::setSelectRubyString(char* param_0, char* param_1, char* param_2) { + if (mpSelect_c != NULL) { + mpSelect_c->setRubyString(param_0, param_1, param_2); + } } -#pragma pop /* 802481D8-8024820C 242B18 0034+00 1/0 0/0 0/0 .text isSelect__14dMsgScrnTalk_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool dMsgScrnTalk_c::isSelect() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_talk/isSelect__14dMsgScrnTalk_cFv.s" +bool dMsgScrnTalk_c::isSelect() { + if (mpSelect_c != NULL) { + return mpSelect_c->isSelect(); + } + return false; } -#pragma pop /* 8024820C-80248244 242B4C 0038+00 1/0 0/0 0/0 .text selectAnimeInit__14dMsgScrnTalk_cFUcUcfUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnTalk_c::selectAnimeInit(u8 param_0, u8 param_1, f32 param_2, u8 param_3) { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_talk/selectAnimeInit__14dMsgScrnTalk_cFUcUcfUc.s" +void dMsgScrnTalk_c::selectAnimeInit(u8 param_0, u8 param_1, f32 param_2, u8 param_3) { + if (mpSelect_c != NULL) { + mpSelect_c->selAnimeInit(param_0, param_1, field_0x488, param_2, param_3); + } } -#pragma pop /* 80248244-80248278 242B84 0034+00 1/0 0/0 0/0 .text selectAnimeMove__14dMsgScrnTalk_cFUcUcb */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool dMsgScrnTalk_c::selectAnimeMove(u8 param_0, u8 param_1, bool param_2) { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_talk/selectAnimeMove__14dMsgScrnTalk_cFUcUcb.s" +bool dMsgScrnTalk_c::selectAnimeMove(u8 param_0, u8 param_1, bool param_2) { + if (mpSelect_c != NULL) { + return mpSelect_c->selAnimeMove(param_0, param_1, param_2); + } + return false; } -#pragma pop /* 80248278-802482AC 242BB8 0034+00 1/0 0/0 0/0 .text selectAnimeEnd__14dMsgScrnTalk_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool dMsgScrnTalk_c::selectAnimeEnd() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_talk/selectAnimeEnd__14dMsgScrnTalk_cFv.s" +bool dMsgScrnTalk_c::selectAnimeEnd() { + if (mpSelect_c != NULL) { + return mpSelect_c->selAnimeEnd(); + } + return false; } -#pragma pop /* 802482AC-802482B0 242BEC 0004+00 1/0 0/0 0/0 .text fukiScale__14dMsgScrnTalk_cFf */ void dMsgScrnTalk_c::fukiScale(f32 param_0) { - /* empty function */ } /* 802482B0-802482B4 242BF0 0004+00 1/0 0/0 0/0 .text fukiTrans__14dMsgScrnTalk_cFff */ void dMsgScrnTalk_c::fukiTrans(f32 param_0, f32 param_1) { - /* empty function */ } /* 802482B4-8024835C 242BF4 00A8+00 1/0 0/0 0/0 .text fukiAlpha__14dMsgScrnTalk_cFf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnTalk_c::fukiAlpha(f32 param_0) { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_talk/fukiAlpha__14dMsgScrnTalk_cFf.s" +void dMsgScrnTalk_c::fukiAlpha(f32 param_1) { + mpPmP_c->setAlphaRate(param_1 * g_MsgObject_HIO_c.mBoxTalkAlphaP); + for (int i = 0; i < 6; i = i + 1) { + if (mpTm_c[i] != NULL) { + mpTm_c[i]->setAlphaRate(param_1 * mCharAlphaRate); + } + if (mpTmr_c[i] != NULL) { + mpTmr_c[i]->setAlphaRate(param_1 * mCharAlphaRate); + } + } } -#pragma pop /* ############################################################################################## */ /* 80454D1C-80454D20 00331C 0004+00 1/1 0/0 0/0 .sdata2 @4489 */ @@ -456,6 +640,108 @@ SECTION_SDATA2 static f32 lit_4500[1 + 1 /* padding */] = { SECTION_SDATA2 static f64 lit_4502 = 4503601774854144.0 /* cast s32 to float */; /* 8024835C-80248954 242C9C 05F8+00 1/0 0/0 0/0 .text fukiPosCalc__14dMsgScrnTalk_cFUc */ +// Matches with literals +#ifdef NONMATCHING +void dMsgScrnTalk_c::fukiPosCalc(u8 param_1) { + msg_class* msgActor = dMsgObject_c::getActor(); + if (mpPmP_c != 0) { + mpPmP_c->move(field_0xe8, field_0xec); + } + if (param_1 == 3) { + fopAc_ac_c* player = dComIfGp_getPlayer(0); + cXyz local_70; + cXyz cStack_7c; + f32 f3y; + mDoLib_project(&player->eyePos, &cStack_7c); + if (msgActor->mPos == cXyz(0.0f, 0.0f, 0.0f)) { + f3y = cStack_7c.y; + } else { + mDoLib_project(&msgActor->mPos, &local_70); + if (local_70.x >= 0.0f && local_70.x <= 608.0f && local_70.y >= 0.0f && + local_70.y <= 448.0f) + { + f3y = 0.5f * (cStack_7c.y + local_70.y); + } else { + f3y = cStack_7c.y; + } + } + if (mpPmP_c != NULL) { + switch (field_0x488) { + case 1: + if (f3y < g_MsgObject_HIO_c.mBoxAppearBound - 50.0f) { + param_1 = 0; + } else { + param_1 = 1; + } + break; + case 0: + if (f3y < g_MsgObject_HIO_c.mBoxAppearBound + 50.0f) { + param_1 = 0; + } else { + param_1 = 1; + } + break; + } + } else { + if (f3y < g_MsgObject_HIO_c.mBoxAppearBound) { + param_1 = 0; + } else { + param_1 = 1; + } + } + } + field_0xf0 = 0.0f; + field_0x488 = param_1; + f32 dVar15; + switch (field_0x488) { + case 1: + dVar15 = g_MsgObject_HIO_c.mBoxPos[2][0]; + field_0xf0 = 235.0f - (mpScreen->search('n_all')->getBounds().i.y + + mpScreen->search('n_all')->getBounds().f.y) / 2; + if (mpSelect_c != NULL) { + mpSelect_c->translate(486.0f, 230.0f); + } + break; + case 2: + dVar15 = g_MsgObject_HIO_c.mBoxPos[1][0]; + field_0xf0 = 105.0f - (mpScreen->search('n_all')->getBounds().i.y + + mpScreen->search('n_all')->getBounds().f.y) / 2; + if (mpSelect_c != NULL) { + mpSelect_c->translate(486.0f, 355.0f); + } + break; + default: + dVar15 = g_MsgObject_HIO_c.mBoxPos[0][0]; + field_0xf0 = 0.0f; + if (mpSelect_c != NULL) { + mpSelect_c->translate(486.0f, 209.0f); + } + + } + if (dComIfGp_isHeapLockFlag() == 2 || dComIfGp_isHeapLockFlag() == 3) { + setTextBoxPosOffsetY(-190.0f); + mpScreen->search('n_all')->move(field_0xe8, field_0xec - 190.0f); + } else { + setTextBoxPosOffsetY(field_0xf0 + dVar15); + mpScreen->search('n_all')->move(field_0xe8, field_0xec + field_0xf0 + dVar15); + } + 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(field_0xf4 + + (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(); + } else { + Vec local_ac = mpArw_c->getGlobalVtxCenter(false, 0); + mpArrow_c->setPos(local_ac.x, local_ac.y); + Vec local_b8 = mpMg_c[0]->getGlobalVtxCenter(false, 0); + mpMg_c[1]->translate(local_b8.x + field_0xf4, local_b8.y); + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -464,5 +750,6 @@ asm void dMsgScrnTalk_c::fukiPosCalc(u8 param_0) { #include "asm/msg/scrn/d_msg_scrn_talk/fukiPosCalc__14dMsgScrnTalk_cFUc.s" } #pragma pop +#endif /* 80399BB0-80399BB0 026210 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/pane/d_pane_class_ex.cpp b/src/d/pane/d_pane_class_ex.cpp index 7a072d86f7f..4c94c0e8d19 100644 --- a/src/d/pane/d_pane_class_ex.cpp +++ b/src/d/pane/d_pane_class_ex.cpp @@ -1,151 +1,24 @@ // -// Generated By: dol2asm -// Translation Unit: d/pane/d_pane_class_ex +// d_pane_class_ex // #include "d/pane/d_pane_class_ex.h" - -// -// Types: -// - -struct J2DAnmTransform {}; - -struct J2DWindowEx { - /* 80256084 */ void setAnimation(J2DAnmTransform*); -}; - -struct J2DTextBoxEx { - /* 80256024 */ void getMaterial() const; - /* 80256044 */ void setAnimation(J2DAnmTransform*); -}; - -struct J2DTextBox { - /* 8025602C */ bool getMaterial() const; -}; - -struct J2DPictureEx { - /* 80256034 */ void getMaterial() const; - /* 80256064 */ void setAnimation(J2DAnmTransform*); -}; - -struct J2DPicture { - /* 8025603C */ bool getMaterial() const; -}; - -struct J2DAnmTexPattern {}; - -struct J2DAnmVisibilityFull {}; - -struct J2DAnmVtxColor {}; - -struct J2DPane { - /* 80256018 */ void setAnimation(J2DAnmVtxColor*); - /* 80256020 */ void setAnimation(J2DAnmTexPattern*); - /* 8025601C */ void setAnimation(J2DAnmVisibilityFull*); -}; - -// -// Forward References: -// - -extern "C" void setAnimation__7J2DPaneFP14J2DAnmVtxColor(); -extern "C" void setAnimation__7J2DPaneFP20J2DAnmVisibilityFull(); -extern "C" void setAnimation__7J2DPaneFP16J2DAnmTexPattern(); -extern "C" void getMaterial__12J2DTextBoxExCFv(); -extern "C" bool getMaterial__10J2DTextBoxCFv(); -extern "C" void getMaterial__12J2DPictureExCFv(); -extern "C" bool getMaterial__10J2DPictureCFv(); -extern "C" void setAnimation__12J2DTextBoxExFP15J2DAnmTransform(); -extern "C" void setAnimation__12J2DPictureExFP15J2DAnmTransform(); -extern "C" void setAnimation__11J2DWindowExFP15J2DAnmTransform(); - -// -// External References: -// - -extern "C" void setAnimation__7J2DPaneFP15J2DAnmTransform(); - -// -// Declarations: -// - -/* 80256018-8025601C 250958 0004+00 0/0 4/0 0/0 .text setAnimation__7J2DPaneFP14J2DAnmVtxColor */ -void J2DPane::setAnimation(J2DAnmVtxColor* param_0) { - /* empty function */ -} - -/* 8025601C-80256020 25095C 0004+00 0/0 4/0 0/0 .text - * setAnimation__7J2DPaneFP20J2DAnmVisibilityFull */ -void J2DPane::setAnimation(J2DAnmVisibilityFull* param_0) { - /* empty function */ -} - -/* 80256020-80256024 250960 0004+00 0/0 4/0 0/0 .text setAnimation__7J2DPaneFP16J2DAnmTexPattern - */ -void J2DPane::setAnimation(J2DAnmTexPattern* param_0) { - /* empty function */ -} - -/* 80256024-8025602C 250964 0008+00 0/0 1/0 0/0 .text getMaterial__12J2DTextBoxExCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DTextBoxEx::getMaterial() const { - nofralloc -#include "asm/d/pane/d_pane_class_ex/getMaterial__12J2DTextBoxExCFv.s" -} -#pragma pop - -/* 8025602C-80256034 25096C 0008+00 0/0 1/0 0/0 .text getMaterial__10J2DTextBoxCFv */ -bool J2DTextBox::getMaterial() const { - return false; -} - -/* 80256034-8025603C 250974 0008+00 0/0 1/0 0/0 .text getMaterial__12J2DPictureExCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DPictureEx::getMaterial() const { - nofralloc -#include "asm/d/pane/d_pane_class_ex/getMaterial__12J2DPictureExCFv.s" -} -#pragma pop - -/* 8025603C-80256044 25097C 0008+00 0/0 1/0 0/0 .text getMaterial__10J2DPictureCFv */ -bool J2DPicture::getMaterial() const { - return false; -} - -/* 80256044-80256064 250984 0020+00 0/0 1/0 0/0 .text - * setAnimation__12J2DTextBoxExFP15J2DAnmTransform */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DTextBoxEx::setAnimation(J2DAnmTransform* param_0) { - nofralloc -#include "asm/d/pane/d_pane_class_ex/setAnimation__12J2DTextBoxExFP15J2DAnmTransform.s" -} -#pragma pop - -/* 80256064-80256084 2509A4 0020+00 0/0 1/0 0/0 .text - * setAnimation__12J2DPictureExFP15J2DAnmTransform */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DPictureEx::setAnimation(J2DAnmTransform* param_0) { - nofralloc -#include "asm/d/pane/d_pane_class_ex/setAnimation__12J2DPictureExFP15J2DAnmTransform.s" -} -#pragma pop - -/* 80256084-802560A4 2509C4 0020+00 0/0 1/0 0/0 .text - * setAnimation__11J2DWindowExFP15J2DAnmTransform */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DWindowEx::setAnimation(J2DAnmTransform* param_0) { - nofralloc -#include "asm/d/pane/d_pane_class_ex/setAnimation__11J2DWindowExFP15J2DAnmTransform.s" +#include "JSystem/J2DGraph/J2DPane.h" +#include "JSystem/J2DGraph/J2DPictureEx.h" +#include "JSystem/J2DGraph/J2DTextBoxEx.h" +#include "JSystem/J2DGraph/J2DWindowEx.h" + +static void dummyVirtualFunctions(J2DPane* pane, J2DTextBoxEx* textBoxEx, J2DTextBox* textBox, + J2DPictureEx* pictureEx, J2DPicture* picture, + J2DWindowEx* windowEx) { + windowEx->setAnimation((J2DAnmTransform*)NULL); + pictureEx->setAnimation((J2DAnmTransform*)NULL); + textBoxEx->setAnimation((J2DAnmTransform*)NULL); + picture->getMaterial(); + pictureEx->getMaterial(); + textBox->getMaterial(); + textBoxEx->getMaterial(); + pane->setAnimation((J2DAnmTexPattern*)NULL); + pane->setAnimation((J2DAnmVisibilityFull*)NULL); + pane->setAnimation((J2DAnmVtxColor*)NULL); } -#pragma pop