summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjdflyer <jdflyer10@gmail.com>2022-12-30 17:46:04 -0700
committerjdflyer <jdflyer10@gmail.com>2022-12-30 17:46:04 -0700
commit83c53812ef434dc97050c1148e5fd59cd2c19f19 (patch)
tree946b44cd2943aebde0ce5c1c6c092b31700025c9
parentf453841a5ce81e1790ccb130d7568f7908b703e2 (diff)
parent463348bfc7f2360d9bb0a6205b8aa4602c8c03d0 (diff)
Merge with upstream
-rw-r--r--asm/f_op/f_op_msg_mng/createTimerAppend__FiUlUcUcffffUi.s66
-rw-r--r--asm/f_op/f_op_msg_mng/fopMsgM_Create__FsPFPv_iPv.s21
-rw-r--r--asm/f_op/f_op_msg_mng/fopMsgM_messageSetDemo__FUl.s68
-rw-r--r--asm/f_op/f_op_msg_mng/fopMsgM_messageSet__FUlP10fopAc_ac_cUl.s92
-rw-r--r--asm/f_op/f_op_msg_mng/fopMsgM_messageSet__FUlUl.s86
-rw-r--r--include/d/com/d_com_inf_game.h10
-rw-r--r--include/d/msg/d_msg_object.h4
-rw-r--r--src/f_op/f_op_msg_mng.cpp286
-rw-r--r--tools/requirements.txt2
9 files changed, 213 insertions, 422 deletions
diff --git a/asm/f_op/f_op_msg_mng/createTimerAppend__FiUlUcUcffffUi.s b/asm/f_op/f_op_msg_mng/createTimerAppend__FiUlUcUcffffUi.s
deleted file mode 100644
index bda141af45..0000000000
--- a/asm/f_op/f_op_msg_mng/createTimerAppend__FiUlUcUcffffUi.s
+++ /dev/null
@@ -1,66 +0,0 @@
-lbl_8001FB50:
-/* 8001FB50 94 21 FF 90 */ stwu r1, -0x70(r1)
-/* 8001FB54 7C 08 02 A6 */ mflr r0
-/* 8001FB58 90 01 00 74 */ stw r0, 0x74(r1)
-/* 8001FB5C DB E1 00 60 */ stfd f31, 0x60(r1)
-/* 8001FB60 F3 E1 00 68 */ psq_st f31, 104(r1), 0, 0 /* qr0 */
-/* 8001FB64 DB C1 00 50 */ stfd f30, 0x50(r1)
-/* 8001FB68 F3 C1 00 58 */ psq_st f30, 88(r1), 0, 0 /* qr0 */
-/* 8001FB6C DB A1 00 40 */ stfd f29, 0x40(r1)
-/* 8001FB70 F3 A1 00 48 */ psq_st f29, 72(r1), 0, 0 /* qr0 */
-/* 8001FB74 DB 81 00 30 */ stfd f28, 0x30(r1)
-/* 8001FB78 F3 81 00 38 */ psq_st f28, 56(r1), 0, 0 /* qr0 */
-/* 8001FB7C 39 61 00 30 */ addi r11, r1, 0x30
-/* 8001FB80 48 34 26 55 */ bl _savegpr_27
-/* 8001FB84 7C 7B 1B 78 */ mr r27, r3
-/* 8001FB88 7C 9C 23 78 */ mr r28, r4
-/* 8001FB8C 7C BD 2B 78 */ mr r29, r5
-/* 8001FB90 7C DE 33 78 */ mr r30, r6
-/* 8001FB94 FF 80 08 90 */ fmr f28, f1
-/* 8001FB98 FF A0 10 90 */ fmr f29, f2
-/* 8001FB9C FF C0 18 90 */ fmr f30, f3
-/* 8001FBA0 FF E0 20 90 */ fmr f31, f4
-/* 8001FBA4 7C FF 3B 78 */ mr r31, r7
-/* 8001FBA8 38 60 FF FC */ li r3, -4
-/* 8001FBAC 38 80 00 38 */ li r4, 0x38
-/* 8001FBB0 48 24 36 79 */ bl memalignB__3cMlFiUl
-/* 8001FBB4 28 03 00 00 */ cmplwi r3, 0
-/* 8001FBB8 40 82 00 0C */ bne lbl_8001FBC4
-/* 8001FBBC 38 60 00 00 */ li r3, 0
-/* 8001FBC0 48 00 00 54 */ b lbl_8001FC14
-lbl_8001FBC4:
-/* 8001FBC4 38 00 00 00 */ li r0, 0
-/* 8001FBC8 90 03 00 00 */ stw r0, 0(r3)
-/* 8001FBCC 90 03 00 10 */ stw r0, 0x10(r3)
-/* 8001FBD0 90 03 00 14 */ stw r0, 0x14(r3)
-/* 8001FBD4 C0 02 82 70 */ lfs f0, lit_3902(r2)
-/* 8001FBD8 D0 01 00 08 */ stfs f0, 8(r1)
-/* 8001FBDC D0 01 00 0C */ stfs f0, 0xc(r1)
-/* 8001FBE0 D0 01 00 10 */ stfs f0, 0x10(r1)
-/* 8001FBE4 D0 03 00 04 */ stfs f0, 4(r3)
-/* 8001FBE8 D0 03 00 08 */ stfs f0, 8(r3)
-/* 8001FBEC D0 03 00 0C */ stfs f0, 0xc(r3)
-/* 8001FBF0 93 E3 00 18 */ stw r31, 0x18(r3)
-/* 8001FBF4 93 63 00 1C */ stw r27, 0x1c(r3)
-/* 8001FBF8 93 83 00 20 */ stw r28, 0x20(r3)
-/* 8001FBFC 9B A3 00 24 */ stb r29, 0x24(r3)
-/* 8001FC00 9B C3 00 25 */ stb r30, 0x25(r3)
-/* 8001FC04 D3 83 00 28 */ stfs f28, 0x28(r3)
-/* 8001FC08 D3 A3 00 2C */ stfs f29, 0x2c(r3)
-/* 8001FC0C D3 C3 00 30 */ stfs f30, 0x30(r3)
-/* 8001FC10 D3 E3 00 34 */ stfs f31, 0x34(r3)
-lbl_8001FC14:
-/* 8001FC14 E3 E1 00 68 */ psq_l f31, 104(r1), 0, 0 /* qr0 */
-/* 8001FC18 CB E1 00 60 */ lfd f31, 0x60(r1)
-/* 8001FC1C E3 C1 00 58 */ psq_l f30, 88(r1), 0, 0 /* qr0 */
-/* 8001FC20 CB C1 00 50 */ lfd f30, 0x50(r1)
-/* 8001FC24 E3 A1 00 48 */ psq_l f29, 72(r1), 0, 0 /* qr0 */
-/* 8001FC28 CB A1 00 40 */ lfd f29, 0x40(r1)
-/* 8001FC2C E3 81 00 38 */ psq_l f28, 56(r1), 0, 0 /* qr0 */
-/* 8001FC30 CB 81 00 30 */ lfd f28, 0x30(r1)
-/* 8001FC34 39 61 00 30 */ addi r11, r1, 0x30
-/* 8001FC38 48 34 25 E9 */ bl _restgpr_27
-/* 8001FC3C 80 01 00 74 */ lwz r0, 0x74(r1)
-/* 8001FC40 7C 08 03 A6 */ mtlr r0
-/* 8001FC44 38 21 00 70 */ addi r1, r1, 0x70
-/* 8001FC48 4E 80 00 20 */ blr
diff --git a/asm/f_op/f_op_msg_mng/fopMsgM_Create__FsPFPv_iPv.s b/asm/f_op/f_op_msg_mng/fopMsgM_Create__FsPFPv_iPv.s
deleted file mode 100644
index a7e38f9835..0000000000
--- a/asm/f_op/f_op_msg_mng/fopMsgM_Create__FsPFPv_iPv.s
+++ /dev/null
@@ -1,21 +0,0 @@
-lbl_80020108:
-/* 80020108 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 8002010C 7C 08 02 A6 */ mflr r0
-/* 80020110 90 01 00 24 */ stw r0, 0x24(r1)
-/* 80020114 39 61 00 20 */ addi r11, r1, 0x20
-/* 80020118 48 34 20 C5 */ bl _savegpr_29
-/* 8002011C 7C 7D 1B 78 */ mr r29, r3
-/* 80020120 7C 9E 23 78 */ mr r30, r4
-/* 80020124 7C BF 2B 78 */ mr r31, r5
-/* 80020128 48 00 15 CD */ bl fpcLy_CurrentLayer__Fv
-/* 8002012C 7F A4 EB 78 */ mr r4, r29
-/* 80020130 7F C5 F3 78 */ mr r5, r30
-/* 80020134 38 C0 00 00 */ li r6, 0
-/* 80020138 7F E7 FB 78 */ mr r7, r31
-/* 8002013C 48 00 3C 59 */ bl fpcSCtRq_Request__FP11layer_classsPFPvPv_iPvPv
-/* 80020140 39 61 00 20 */ addi r11, r1, 0x20
-/* 80020144 48 34 20 E5 */ bl _restgpr_29
-/* 80020148 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 8002014C 7C 08 03 A6 */ mtlr r0
-/* 80020150 38 21 00 20 */ addi r1, r1, 0x20
-/* 80020154 4E 80 00 20 */ blr
diff --git a/asm/f_op/f_op_msg_mng/fopMsgM_messageSetDemo__FUl.s b/asm/f_op/f_op_msg_mng/fopMsgM_messageSetDemo__FUl.s
deleted file mode 100644
index 2979732727..0000000000
--- a/asm/f_op/f_op_msg_mng/fopMsgM_messageSetDemo__FUl.s
+++ /dev/null
@@ -1,68 +0,0 @@
-lbl_8001FFC4:
-/* 8001FFC4 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 8001FFC8 7C 08 02 A6 */ mflr r0
-/* 8001FFCC 90 01 00 24 */ stw r0, 0x24(r1)
-/* 8001FFD0 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 8001FFD4 93 C1 00 18 */ stw r30, 0x18(r1)
-/* 8001FFD8 7C 7E 1B 78 */ mr r30, r3
-/* 8001FFDC 48 21 80 BD */ bl endFlowGroup__12dMsgObject_cFv
-/* 8001FFE0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
-/* 8001FFE4 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
-/* 8001FFE8 88 1F 5E 8F */ lbz r0, 0x5e8f(r31)
-/* 8001FFEC 28 00 00 08 */ cmplwi r0, 8
-/* 8001FFF0 40 82 00 14 */ bne lbl_80020004
-/* 8001FFF4 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */
-/* 8001FFF8 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */
-/* 8001FFFC 80 63 00 1C */ lwz r3, 0x1c(r3)
-/* 80020000 48 1F F6 ED */ bl emphasisButtonDelete__9dMeter2_cFv
-lbl_80020004:
-/* 80020004 88 1F 5E 8F */ lbz r0, 0x5e8f(r31)
-/* 80020008 28 00 00 00 */ cmplwi r0, 0
-/* 8002000C 41 82 00 2C */ beq lbl_80020038
-/* 80020010 28 00 00 05 */ cmplwi r0, 5
-/* 80020014 41 82 00 24 */ beq lbl_80020038
-/* 80020018 28 00 00 02 */ cmplwi r0, 2
-/* 8002001C 41 82 00 1C */ beq lbl_80020038
-/* 80020020 28 00 00 03 */ cmplwi r0, 3
-/* 80020024 41 82 00 14 */ beq lbl_80020038
-/* 80020028 28 00 00 01 */ cmplwi r0, 1
-/* 8002002C 41 82 00 0C */ beq lbl_80020038
-/* 80020030 38 60 FF FF */ li r3, -1
-/* 80020034 48 00 00 74 */ b lbl_800200A8
-lbl_80020038:
-/* 80020038 C0 02 82 70 */ lfs f0, lit_3902(r2)
-/* 8002003C D0 01 00 10 */ stfs f0, 0x10(r1)
-/* 80020040 D0 01 00 0C */ stfs f0, 0xc(r1)
-/* 80020044 D0 01 00 08 */ stfs f0, 8(r1)
-/* 80020048 80 6D 80 48 */ lwz r3, i_msgID(r13)
-/* 8002004C 4B FF F9 D9 */ bl fopMsgM_SearchByID__FUi
-/* 80020050 28 03 00 00 */ cmplwi r3, 0
-/* 80020054 41 82 00 50 */ beq lbl_800200A4
-/* 80020058 A0 03 00 F8 */ lhz r0, 0xf8(r3)
-/* 8002005C 28 00 00 01 */ cmplwi r0, 1
-/* 80020060 40 82 00 44 */ bne lbl_800200A4
-/* 80020064 C0 01 00 08 */ lfs f0, 8(r1)
-/* 80020068 D0 03 00 E0 */ stfs f0, 0xe0(r3)
-/* 8002006C C0 01 00 0C */ lfs f0, 0xc(r1)
-/* 80020070 D0 03 00 E4 */ stfs f0, 0xe4(r3)
-/* 80020074 C0 01 00 10 */ lfs f0, 0x10(r1)
-/* 80020078 D0 03 00 E8 */ stfs f0, 0xe8(r3)
-/* 8002007C 93 C3 00 EC */ stw r30, 0xec(r3)
-/* 80020080 38 00 03 E8 */ li r0, 0x3e8
-/* 80020084 90 03 00 F0 */ stw r0, 0xf0(r3)
-/* 80020088 38 00 00 00 */ li r0, 0
-/* 8002008C 90 03 00 DC */ stw r0, 0xdc(r3)
-/* 80020090 7F C4 F3 78 */ mr r4, r30
-/* 80020094 38 A0 00 00 */ li r5, 0
-/* 80020098 48 21 3D D9 */ bl setMessageIndexDemo__12dMsgObject_cFUlb
-/* 8002009C 80 6D 80 48 */ lwz r3, i_msgID(r13)
-/* 800200A0 48 00 00 08 */ b lbl_800200A8
-lbl_800200A4:
-/* 800200A4 38 60 00 00 */ li r3, 0
-lbl_800200A8:
-/* 800200A8 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 800200AC 83 C1 00 18 */ lwz r30, 0x18(r1)
-/* 800200B0 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 800200B4 7C 08 03 A6 */ mtlr r0
-/* 800200B8 38 21 00 20 */ addi r1, r1, 0x20
-/* 800200BC 4E 80 00 20 */ blr
diff --git a/asm/f_op/f_op_msg_mng/fopMsgM_messageSet__FUlP10fopAc_ac_cUl.s b/asm/f_op/f_op_msg_mng/fopMsgM_messageSet__FUlP10fopAc_ac_cUl.s
deleted file mode 100644
index 1786292630..0000000000
--- a/asm/f_op/f_op_msg_mng/fopMsgM_messageSet__FUlP10fopAc_ac_cUl.s
+++ /dev/null
@@ -1,92 +0,0 @@
-lbl_8001FD34:
-/* 8001FD34 94 21 FF D0 */ stwu r1, -0x30(r1)
-/* 8001FD38 7C 08 02 A6 */ mflr r0
-/* 8001FD3C 90 01 00 34 */ stw r0, 0x34(r1)
-/* 8001FD40 39 61 00 30 */ addi r11, r1, 0x30
-/* 8001FD44 48 34 24 95 */ bl _savegpr_28
-/* 8001FD48 7C 7C 1B 78 */ mr r28, r3
-/* 8001FD4C 7C 9D 23 78 */ mr r29, r4
-/* 8001FD50 7C BE 2B 78 */ mr r30, r5
-/* 8001FD54 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
-/* 8001FD58 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
-/* 8001FD5C 88 1F 5E 8F */ lbz r0, 0x5e8f(r31)
-/* 8001FD60 28 00 00 08 */ cmplwi r0, 8
-/* 8001FD64 40 82 00 14 */ bne lbl_8001FD78
-/* 8001FD68 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */
-/* 8001FD6C 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */
-/* 8001FD70 80 63 00 1C */ lwz r3, 0x1c(r3)
-/* 8001FD74 48 1F F9 79 */ bl emphasisButtonDelete__9dMeter2_cFv
-lbl_8001FD78:
-/* 8001FD78 88 1F 5E 8F */ lbz r0, 0x5e8f(r31)
-/* 8001FD7C 28 00 00 00 */ cmplwi r0, 0
-/* 8001FD80 41 82 00 2C */ beq lbl_8001FDAC
-/* 8001FD84 28 00 00 05 */ cmplwi r0, 5
-/* 8001FD88 41 82 00 24 */ beq lbl_8001FDAC
-/* 8001FD8C 28 00 00 02 */ cmplwi r0, 2
-/* 8001FD90 41 82 00 1C */ beq lbl_8001FDAC
-/* 8001FD94 28 00 00 03 */ cmplwi r0, 3
-/* 8001FD98 41 82 00 14 */ beq lbl_8001FDAC
-/* 8001FD9C 28 00 00 01 */ cmplwi r0, 1
-/* 8001FDA0 41 82 00 0C */ beq lbl_8001FDAC
-/* 8001FDA4 38 60 FF FF */ li r3, -1
-/* 8001FDA8 48 00 00 C4 */ b lbl_8001FE6C
-lbl_8001FDAC:
-/* 8001FDAC 38 00 00 FF */ li r0, 0xff
-/* 8001FDB0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
-/* 8001FDB4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
-/* 8001FDB8 98 03 5E 7C */ stb r0, 0x5e7c(r3)
-/* 8001FDBC 38 00 FF FF */ li r0, -1
-/* 8001FDC0 90 03 5E E8 */ stw r0, 0x5ee8(r3)
-/* 8001FDC4 28 1D 00 00 */ cmplwi r29, 0
-/* 8001FDC8 41 82 00 20 */ beq lbl_8001FDE8
-/* 8001FDCC C0 1D 05 38 */ lfs f0, 0x538(r29)
-/* 8001FDD0 D0 01 00 08 */ stfs f0, 8(r1)
-/* 8001FDD4 C0 1D 05 3C */ lfs f0, 0x53c(r29)
-/* 8001FDD8 D0 01 00 0C */ stfs f0, 0xc(r1)
-/* 8001FDDC C0 1D 05 40 */ lfs f0, 0x540(r29)
-/* 8001FDE0 D0 01 00 10 */ stfs f0, 0x10(r1)
-/* 8001FDE4 48 00 00 14 */ b lbl_8001FDF8
-lbl_8001FDE8:
-/* 8001FDE8 C0 02 82 70 */ lfs f0, lit_3902(r2)
-/* 8001FDEC D0 01 00 08 */ stfs f0, 8(r1)
-/* 8001FDF0 D0 01 00 0C */ stfs f0, 0xc(r1)
-/* 8001FDF4 D0 01 00 10 */ stfs f0, 0x10(r1)
-lbl_8001FDF8:
-/* 8001FDF8 3C 60 80 43 */ lis r3, g_MsgObject_HIO_c@ha /* 0x8043028C@ha */
-/* 8001FDFC 38 63 02 8C */ addi r3, r3, g_MsgObject_HIO_c@l /* 0x8043028C@l */
-/* 8001FE00 88 03 03 1F */ lbz r0, 0x31f(r3)
-/* 8001FE04 28 00 00 01 */ cmplwi r0, 1
-/* 8001FE08 40 82 00 08 */ bne lbl_8001FE10
-/* 8001FE0C AB 83 02 F4 */ lha r28, 0x2f4(r3)
-lbl_8001FE10:
-/* 8001FE10 80 6D 80 48 */ lwz r3, i_msgID(r13)
-/* 8001FE14 4B FF FC 11 */ bl fopMsgM_SearchByID__FUi
-/* 8001FE18 28 03 00 00 */ cmplwi r3, 0
-/* 8001FE1C 41 82 00 4C */ beq lbl_8001FE68
-/* 8001FE20 A0 03 00 F8 */ lhz r0, 0xf8(r3)
-/* 8001FE24 28 00 00 01 */ cmplwi r0, 1
-/* 8001FE28 40 82 00 40 */ bne lbl_8001FE68
-/* 8001FE2C C0 01 00 08 */ lfs f0, 8(r1)
-/* 8001FE30 D0 03 00 E0 */ stfs f0, 0xe0(r3)
-/* 8001FE34 C0 01 00 0C */ lfs f0, 0xc(r1)
-/* 8001FE38 D0 03 00 E4 */ stfs f0, 0xe4(r3)
-/* 8001FE3C C0 01 00 10 */ lfs f0, 0x10(r1)
-/* 8001FE40 D0 03 00 E8 */ stfs f0, 0xe8(r3)
-/* 8001FE44 93 83 00 EC */ stw r28, 0xec(r3)
-/* 8001FE48 93 C3 00 F0 */ stw r30, 0xf0(r3)
-/* 8001FE4C 93 A3 00 DC */ stw r29, 0xdc(r3)
-/* 8001FE50 7F 84 E3 78 */ mr r4, r28
-/* 8001FE54 7F C5 F3 78 */ mr r5, r30
-/* 8001FE58 38 C0 00 00 */ li r6, 0
-/* 8001FE5C 48 21 3E A9 */ bl setMessageIndex__12dMsgObject_cFUlUlb
-/* 8001FE60 80 6D 80 48 */ lwz r3, i_msgID(r13)
-/* 8001FE64 48 00 00 08 */ b lbl_8001FE6C
-lbl_8001FE68:
-/* 8001FE68 38 60 00 00 */ li r3, 0
-lbl_8001FE6C:
-/* 8001FE6C 39 61 00 30 */ addi r11, r1, 0x30
-/* 8001FE70 48 34 23 B5 */ bl _restgpr_28
-/* 8001FE74 80 01 00 34 */ lwz r0, 0x34(r1)
-/* 8001FE78 7C 08 03 A6 */ mtlr r0
-/* 8001FE7C 38 21 00 30 */ addi r1, r1, 0x30
-/* 8001FE80 4E 80 00 20 */ blr
diff --git a/asm/f_op/f_op_msg_mng/fopMsgM_messageSet__FUlUl.s b/asm/f_op/f_op_msg_mng/fopMsgM_messageSet__FUlUl.s
deleted file mode 100644
index b8f008de04..0000000000
--- a/asm/f_op/f_op_msg_mng/fopMsgM_messageSet__FUlUl.s
+++ /dev/null
@@ -1,86 +0,0 @@
-lbl_8001FE84:
-/* 8001FE84 94 21 FF D0 */ stwu r1, -0x30(r1)
-/* 8001FE88 7C 08 02 A6 */ mflr r0
-/* 8001FE8C 90 01 00 34 */ stw r0, 0x34(r1)
-/* 8001FE90 39 61 00 30 */ addi r11, r1, 0x30
-/* 8001FE94 48 34 23 49 */ bl _savegpr_29
-/* 8001FE98 7C 7D 1B 78 */ mr r29, r3
-/* 8001FE9C 7C 9E 23 78 */ mr r30, r4
-/* 8001FEA0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
-/* 8001FEA4 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
-/* 8001FEA8 88 1F 5E 8F */ lbz r0, 0x5e8f(r31)
-/* 8001FEAC 28 00 00 08 */ cmplwi r0, 8
-/* 8001FEB0 40 82 00 14 */ bne lbl_8001FEC4
-/* 8001FEB4 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */
-/* 8001FEB8 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */
-/* 8001FEBC 80 63 00 1C */ lwz r3, 0x1c(r3)
-/* 8001FEC0 48 1F F8 2D */ bl emphasisButtonDelete__9dMeter2_cFv
-lbl_8001FEC4:
-/* 8001FEC4 88 1F 5E 8F */ lbz r0, 0x5e8f(r31)
-/* 8001FEC8 28 00 00 00 */ cmplwi r0, 0
-/* 8001FECC 41 82 00 2C */ beq lbl_8001FEF8
-/* 8001FED0 28 00 00 05 */ cmplwi r0, 5
-/* 8001FED4 41 82 00 24 */ beq lbl_8001FEF8
-/* 8001FED8 28 00 00 02 */ cmplwi r0, 2
-/* 8001FEDC 41 82 00 1C */ beq lbl_8001FEF8
-/* 8001FEE0 28 00 00 03 */ cmplwi r0, 3
-/* 8001FEE4 41 82 00 14 */ beq lbl_8001FEF8
-/* 8001FEE8 28 00 00 01 */ cmplwi r0, 1
-/* 8001FEEC 41 82 00 0C */ beq lbl_8001FEF8
-/* 8001FEF0 38 60 FF FF */ li r3, -1
-/* 8001FEF4 48 00 00 B8 */ b lbl_8001FFAC
-lbl_8001FEF8:
-/* 8001FEF8 C0 02 82 70 */ lfs f0, lit_3902(r2)
-/* 8001FEFC D0 01 00 10 */ stfs f0, 0x10(r1)
-/* 8001FF00 D0 01 00 0C */ stfs f0, 0xc(r1)
-/* 8001FF04 D0 01 00 08 */ stfs f0, 8(r1)
-/* 8001FF08 80 6D 80 48 */ lwz r3, i_msgID(r13)
-/* 8001FF0C 4B FF FB 19 */ bl fopMsgM_SearchByID__FUi
-/* 8001FF10 7C 7F 1B 79 */ or. r31, r3, r3
-/* 8001FF14 41 82 00 94 */ beq lbl_8001FFA8
-/* 8001FF18 A0 1F 00 F8 */ lhz r0, 0xf8(r31)
-/* 8001FF1C 28 00 00 01 */ cmplwi r0, 1
-/* 8001FF20 40 82 00 50 */ bne lbl_8001FF70
-/* 8001FF24 C0 01 00 08 */ lfs f0, 8(r1)
-/* 8001FF28 D0 1F 00 E0 */ stfs f0, 0xe0(r31)
-/* 8001FF2C C0 01 00 0C */ lfs f0, 0xc(r1)
-/* 8001FF30 D0 1F 00 E4 */ stfs f0, 0xe4(r31)
-/* 8001FF34 C0 01 00 10 */ lfs f0, 0x10(r1)
-/* 8001FF38 D0 1F 00 E8 */ stfs f0, 0xe8(r31)
-/* 8001FF3C 93 BF 00 EC */ stw r29, 0xec(r31)
-/* 8001FF40 93 DF 00 F0 */ stw r30, 0xf0(r31)
-/* 8001FF44 38 00 00 00 */ li r0, 0
-/* 8001FF48 90 1F 00 DC */ stw r0, 0xdc(r31)
-/* 8001FF4C 38 60 00 00 */ li r3, 0
-/* 8001FF50 48 21 7B 25 */ bl setTalkPartner__12dMsgObject_cFP10fopAc_ac_c
-/* 8001FF54 7F E3 FB 78 */ mr r3, r31
-/* 8001FF58 7F A4 EB 78 */ mr r4, r29
-/* 8001FF5C 7F C5 F3 78 */ mr r5, r30
-/* 8001FF60 38 C0 00 00 */ li r6, 0
-/* 8001FF64 48 21 3D A1 */ bl setMessageIndex__12dMsgObject_cFUlUlb
-/* 8001FF68 80 6D 80 48 */ lwz r3, i_msgID(r13)
-/* 8001FF6C 48 00 00 40 */ b lbl_8001FFAC
-lbl_8001FF70:
-/* 8001FF70 28 00 00 0F */ cmplwi r0, 0xf
-/* 8001FF74 40 82 00 34 */ bne lbl_8001FFA8
-/* 8001FF78 C0 01 00 08 */ lfs f0, 8(r1)
-/* 8001FF7C D0 1F 00 E0 */ stfs f0, 0xe0(r31)
-/* 8001FF80 C0 01 00 0C */ lfs f0, 0xc(r1)
-/* 8001FF84 D0 1F 00 E4 */ stfs f0, 0xe4(r31)
-/* 8001FF88 C0 01 00 10 */ lfs f0, 0x10(r1)
-/* 8001FF8C D0 1F 00 E8 */ stfs f0, 0xe8(r31)
-/* 8001FF90 93 BF 00 EC */ stw r29, 0xec(r31)
-/* 8001FF94 93 DF 00 F0 */ stw r30, 0xf0(r31)
-/* 8001FF98 38 00 00 00 */ li r0, 0
-/* 8001FF9C 90 1F 00 DC */ stw r0, 0xdc(r31)
-/* 8001FFA0 80 6D 80 48 */ lwz r3, i_msgID(r13)
-/* 8001FFA4 48 00 00 08 */ b lbl_8001FFAC
-lbl_8001FFA8:
-/* 8001FFA8 38 60 00 00 */ li r3, 0
-lbl_8001FFAC:
-/* 8001FFAC 39 61 00 30 */ addi r11, r1, 0x30
-/* 8001FFB0 48 34 22 79 */ bl _restgpr_29
-/* 8001FFB4 80 01 00 34 */ lwz r0, 0x34(r1)
-/* 8001FFB8 7C 08 03 A6 */ mtlr r0
-/* 8001FFBC 38 21 00 30 */ addi r1, r1, 0x30
-/* 8001FFC0 4E 80 00 20 */ blr
diff --git a/include/d/com/d_com_inf_game.h b/include/d/com/d_com_inf_game.h
index c38edee974..93c1363063 100644
--- a/include/d/com/d_com_inf_game.h
+++ b/include/d/com/d_com_inf_game.h
@@ -287,6 +287,8 @@ public:
s16 getItemMaxLifeCount() { return mItemMaxLifeCount; }
f32 getItemLifeCount() { return mItemLifeCount; }
s16 getItemMaxArrowNumCount() { return mItemMaxArrowNumCount; }
+ void clearNowAnimeID() { mNowAnimeID = -1; }
+ void clearMesgCamInfoID() { mMesgCamInfo = (void*)-1; }
void clearItemMaxLifeCount() { mItemMaxLifeCount = 0; }
void clearItemLifeCount() {
mItemLifeCount = 0.0f;
@@ -2568,6 +2570,14 @@ inline int dComIfG_setTimerNowTimeMs(int time) {
g_dComIfG_gameInfo.play.setTimerNowTimeMs(time);
}
+inline void dComIfGp_clearMesgAnimeTagInfo() {
+ g_dComIfG_gameInfo.play.clearNowAnimeID();
+}
+
+inline void dComIfGp_clearMesgCameraTagInfo() {
+ g_dComIfG_gameInfo.play.clearMesgCamInfoID();
+}
+
inline u32 dComIfGp_particle_set(u32 param_0, u16 param_1, const cXyz* param_2,
const dKy_tevstr_c* param_3, const csXyz* param_4,
const cXyz* param_5, u8 param_6, dPa_levelEcallBack* param_7,
diff --git a/include/d/msg/d_msg_object.h b/include/d/msg/d_msg_object.h
index fedaa1cef2..45fe778606 100644
--- a/include/d/msg/d_msg_object.h
+++ b/include/d/msg/d_msg_object.h
@@ -93,7 +93,7 @@ public:
/* 80237994 */ static void onKillMessageFlag();
/* 802379AC */ static void setKillMessageFlag();
/* 802379D8 */ void setKillMessageFlagLocal();
- /* 80237A74 */ void setTalkPartner(fopAc_ac_c*);
+ /* 80237A74 */ static void setTalkPartner(fopAc_ac_c*);
/* 80237A88 */ void setNowTalkFlowNo(s16);
/* 80237A9C */ void getNowTalkFlowNo();
/* 80237AB0 */ void setDemoMessage(u32);
@@ -460,7 +460,7 @@ public:
/* 0x2EC */ f32 mPikariAnmSpeed;
/* 0x2F0 */ u16 mPikariHaloDelay_spirit;
/* 0x2F2 */ u8 mStageTitleDisplayType;
- /* 0x2F4 */ u16 mMsgIndex;
+ /* 0x2F4 */ s16 mMsgIndex;
/* 0x2F6 */ u16 mFlowIndex;
/* 0x2F8 */ u16 mSaveSeqMsgIndex;
/* 0x2FA */ u16 mSelWeightFrame;
diff --git a/src/f_op/f_op_msg_mng.cpp b/src/f_op/f_op_msg_mng.cpp
index 297feec8b4..a32943bbd8 100644
--- a/src/f_op/f_op_msg_mng.cpp
+++ b/src/f_op/f_op_msg_mng.cpp
@@ -10,66 +10,21 @@
#include "d/msg/d_msg_object.h"
#include "dol2asm.h"
#include "dolphin/types.h"
+#include "JSystem/JMath/JMath.h"
+#include "SSystem/SComponent/c_math.h"
//
// Forward References:
//
-extern "C" void fopMsgM_setStageLayer__FPv();
-extern "C" void fopMsgM_SearchByID__FUi();
-extern "C" void fopMsgM_GetAppend__FPv();
-extern "C" void fopMsgM_Delete__FPv();
-extern "C" static void createAppend__FP10fopAc_ac_cP4cXyzPUlPUlUi();
-extern "C" static void createTimerAppend__FiUlUcUcffffUi();
-extern "C" void fopMsgM_create__FsP10fopAc_ac_cP4cXyzPUlPUlPFPv_i();
-extern "C" void fop_Timer_create__FsUcUlUcUcffffPFPv_i();
-extern "C" void fopMsgM_messageSet__FUlP10fopAc_ac_cUl();
-extern "C" void fopMsgM_messageSet__FUlUl();
-extern "C" void fopMsgM_messageSetDemo__FUl();
-extern "C" void fopMsgM_messageGet__FPcUl();
-extern "C" void fopMsgM_setMessageID__FUi();
-extern "C" void fopMsgM_Create__FsPFPv_iPv();
-extern "C" void setAlpha__7J2DPaneFUc();
extern "C" void fopMsgM_valueIncrease__FiiUc();
-extern "C" void setBlendRatio__10J2DPictureFff();
-extern "C" void append__10J2DPictureFPCcf();
-extern "C" void insert__10J2DPictureFPCcUcf();
-extern "C" void fopMsgM_createExpHeap__FUlP7JKRHeap();
-extern "C" void fopMsgM_destroyExpHeap__FP10JKRExpHeap();
+extern "C" extern dMsgObject_HIO_c g_MsgObject_HIO_c;
//
// External References:
//
-extern "C" void mDoExt_getGameHeap__Fv();
-extern "C" void fopScnM_SearchByID__FUi();
-extern "C" void fpcBs_Is_JustOfType__Fii();
-extern "C" void fpcEx_SearchByID__FUi();
-extern "C" void fpcLy_CurrentLayer__Fv();
-extern "C" void fpcM_Delete__FPv();
-extern "C" void fpcPi_Change__FP22process_priority_classUiUsUs();
-extern "C" void fpcSCtRq_Request__FP11layer_classsPFPvPv_iPvPv();
-extern "C" void getString__13dMeter2Info_cFUlPcP14JMSMesgEntry_c();
-extern "C" void emphasisButtonDelete__9dMeter2_cFv();
-extern "C" void setMessageIndex__12dMsgObject_cFUlUlb();
-extern "C" void setMessageIndexDemo__12dMsgObject_cFUlb();
-extern "C" void setTalkPartner__12dMsgObject_cFP10fopAc_ac_c();
-extern "C" void endFlowGroup__12dMsgObject_cFv();
-extern "C" void setTalkActor__12dMsgObject_cFP10fopAc_ac_c();
-extern "C" void memalignB__3cMlFiUl();
-extern "C" void destroy__7JKRHeapFv();
-extern "C" void create__10JKRExpHeapFUlP7JKRHeapb();
-extern "C" void _savegpr_26();
-extern "C" void _savegpr_27();
-extern "C" void _savegpr_28();
-extern "C" void _savegpr_29();
-extern "C" void _restgpr_26();
-extern "C" void _restgpr_27();
-extern "C" void _restgpr_28();
-extern "C" void _restgpr_29();
-extern "C" extern u8 g_MsgObject_HIO_c[1040];
extern "C" u8 sincosTable___5JMath[65536];
-extern "C" u8 mProcID__20dStage_roomControl_c[4];
//
// Declarations:
@@ -145,16 +100,33 @@ static fopMsg_prm_class* createAppend(fopAc_ac_c* param_0, cXyz* param_1, u32* p
/* 8001FB50-8001FC4C 01A490 00FC+00 1/1 0/0 0/0 .text createTimerAppend__FiUlUcUcffffUi
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm fopMsg_prm_timer* createTimerAppend(int param_0, u32 param_1, u8 param_2, u8 param_3,
- f32 param_4, f32 param_5, f32 param_6, f32 param_7,
- unsigned int param_8) {
- nofralloc
-#include "asm/f_op/f_op_msg_mng/createTimerAppend__FiUlUcUcffffUi.s"
+static fopMsg_prm_timer* createTimerAppend(int param_0, u32 param_1, u8 param_2, u8 param_3,
+ f32 param_4, f32 param_5, f32 param_6, f32 param_7,
+ unsigned int param_8) {
+ fopMsg_prm_timer* timer = (fopMsg_prm_timer*)cMl::memalignB(-4,0x38);
+
+ if (timer == 0) {
+ timer = 0;
+ } else {
+ timer->field_0x0 = 0;
+ timer->field_0x10 = 0;
+ timer->field_0x14 = 0;
+ cXyz pos(FLOAT_LABEL(lit_3902),FLOAT_LABEL(lit_3902),FLOAT_LABEL(lit_3902));
+ timer->field_0x4 = pos;
+ timer->field_0x18 = param_8;
+ timer->field_0x1c = param_0;
+ timer->field_0x20 = param_1;
+ timer->field_0x24 = param_2;
+ timer->field_0x25 = param_3;
+ timer->field_0x28 = param_4;
+ timer->field_0x2c = param_5;
+ timer->field_0x30 = param_6;
+ timer->field_0x34 = param_7;
+ }
+
+ return timer;
+
}
-#pragma pop
/* 8001FC4C-8001FCC0 01A58C 0074+00 0/0 1/1 0/0 .text
* fopMsgM_create__FsP10fopAc_ac_cP4cXyzPUlPUlPFPv_i */
@@ -185,37 +157,128 @@ s32 fop_Timer_create(s16 param_0, u8 param_1, u32 param_2, u8 param_3, u8 param_
/* ############################################################################################## */
/* 804505C8-804505D0 000048 0004+04 4/4 0/0 0/0 .sdata i_msgID */
-SECTION_SDATA static u32 i_msgID = 0xFFFFFFFF;
+static u32 i_msgID = 0xFFFFFFFF;
/* 8001FD34-8001FE84 01A674 0150+00 0/0 2/2 1/1 .text fopMsgM_messageSet__FUlP10fopAc_ac_cUl */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void fopMsgM_messageSet(u32 param_0, fopAc_ac_c* param_1, u32 param_2) {
- nofralloc
-#include "asm/f_op/f_op_msg_mng/fopMsgM_messageSet__FUlP10fopAc_ac_cUl.s"
+int fopMsgM_messageSet(u32 i_msgIdx, fopAc_ac_c* i_actorP, u32 param_2) {
+ if (dComIfGp_isHeapLockFlag() == 8) {
+ dMeter2Info_getMeterClass()->emphasisButtonDelete();
+ }
+
+ if (dComIfGp_isHeapLockFlag() != 0 && dComIfGp_isHeapLockFlag() != 5 &&
+ dComIfGp_isHeapLockFlag() != 2 &&
+ dComIfGp_isHeapLockFlag() != 3 &&
+ dComIfGp_isHeapLockFlag() != 1) {
+ return -1;
+
+ } else {
+ dComIfGp_clearMesgAnimeTagInfo();
+ dComIfGp_clearMesgCameraTagInfo();
+
+ cXyz pos;
+ if (i_actorP) {
+ pos = i_actorP->mEyePos;
+ } else {
+ pos.set(FLOAT_LABEL(lit_3902),FLOAT_LABEL(lit_3902),FLOAT_LABEL(lit_3902));
+ }
+
+ if (g_MsgObject_HIO_c.mMsgDebug == true) {
+ i_msgIdx = g_MsgObject_HIO_c.mMsgIndex;
+ }
+
+ dMsgObject_c* msg = (dMsgObject_c*)fopMsgM_SearchByID(i_msgID);
+
+ if (msg && msg->field_0xf8 == 1) {
+ msg->field_0xe0.set(pos);
+ msg->field_0xec = i_msgIdx;
+ msg->field_0xf0 = param_2;
+ msg->field_0xdc = i_actorP;
+ msg->setMessageIndex(i_msgIdx,param_2,false);
+ return i_msgID;
+ } else {
+ return 0;
+ }
+ }
}
-#pragma pop
/* 8001FE84-8001FFC4 01A7C4 0140+00 0/0 6/6 4/4 .text fopMsgM_messageSet__FUlUl */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm int fopMsgM_messageSet(u32 param_0, u32 param_1) {
- nofralloc
-#include "asm/f_op/f_op_msg_mng/fopMsgM_messageSet__FUlUl.s"
+int fopMsgM_messageSet(u32 param_0, u32 param_1) {
+ if (dComIfGp_isHeapLockFlag() == 8) {
+ dMeter2Info_getMeterClass()->emphasisButtonDelete();
+ }
+
+ if (dComIfGp_isHeapLockFlag() != 0 && dComIfGp_isHeapLockFlag() != 5 &&
+ dComIfGp_isHeapLockFlag() != 2 &&
+ dComIfGp_isHeapLockFlag() != 3 &&
+ dComIfGp_isHeapLockFlag() != 1) {
+ return -1;
+
+ } else {
+
+ cXyz pos;
+ pos.z = FLOAT_LABEL(lit_3902);
+ pos.y = FLOAT_LABEL(lit_3902);
+ pos.x = FLOAT_LABEL(lit_3902);
+
+ dMsgObject_c* msg = (dMsgObject_c*)fopMsgM_SearchByID(i_msgID);
+
+ if (msg) {
+ if (msg->field_0xf8 == 1) {
+ msg->field_0xe0.set(pos);
+ msg->field_0xec = param_0;
+ msg->field_0xf0 = param_1;
+ msg->field_0xdc = 0;
+ msg->setTalkPartner(0);
+ msg->setMessageIndex(param_0,param_1,false);
+ return i_msgID;
+ }
+
+ if (msg->field_0xf8 == 15) {
+ msg->field_0xe0.set(pos);
+ msg->field_0xec = param_0;
+ msg->field_0xf0 = param_1;
+ msg->field_0xdc = 0;
+ return i_msgID;
+ }
+ }
+
+ return 0;
+ }
}
-#pragma pop
/* 8001FFC4-800200C0 01A904 00FC+00 0/0 1/1 13/13 .text fopMsgM_messageSetDemo__FUl */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm int fopMsgM_messageSetDemo(u32 param_0) {
- nofralloc
-#include "asm/f_op/f_op_msg_mng/fopMsgM_messageSetDemo__FUl.s"
+int fopMsgM_messageSetDemo(u32 param_0) {
+ dMsgObject_endFlowGroup();
+ if (dComIfGp_isHeapLockFlag() == 8) {
+ dMeter2Info_getMeterClass()->emphasisButtonDelete();
+ }
+
+ if (dComIfGp_isHeapLockFlag() != 0 && dComIfGp_isHeapLockFlag() != 5 &&
+ dComIfGp_isHeapLockFlag() != 2 &&
+ dComIfGp_isHeapLockFlag() != 3 &&
+ dComIfGp_isHeapLockFlag() != 1) {
+ return -1;
+
+ } else {
+ cXyz pos;
+ pos.z = FLOAT_LABEL(lit_3902);
+ pos.y = FLOAT_LABEL(lit_3902);
+ pos.x = FLOAT_LABEL(lit_3902);
+
+ dMsgObject_c* msg = (dMsgObject_c*)fopMsgM_SearchByID(i_msgID);
+
+ if (msg && msg->field_0xf8 == 1) {
+ msg->field_0xe0.set(pos);
+ msg->field_0xec = param_0;
+ msg->field_0xf0 = 1000;
+ msg->field_0xdc = 0;
+ msg->setMessageIndexDemo(param_0,false);
+ return i_msgID;
+ } else {
+ return 0;
+ }
+ }
}
-#pragma pop
/* 800200C0-80020100 01AA00 0040+00 0/0 7/7 1/1 .text fopMsgM_messageGet__FPcUl */
char* fopMsgM_messageGet(char* msg, u32 string_id) {
@@ -229,14 +292,9 @@ void fopMsgM_setMessageID(unsigned int msg_id) {
}
/* 80020108-80020158 01AA48 0050+00 0/0 2/2 0/0 .text fopMsgM_Create__FsPFPv_iPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm u32 fopMsgM_Create(s16 param_0, int (*param_1)(void*), void* param_2) {
- nofralloc
-#include "asm/f_op/f_op_msg_mng/fopMsgM_Create__FsPFPv_iPv.s"
+u32 fopMsgM_Create(s16 param_0, int (*param_1)(void*), void* param_2) {
+ fpcM_Create(param_0,param_1,param_2);
}
-#pragma pop
/* 80020158-80020160 -00001 0008+00 0/0 0/0 0/0 .text setAlpha__7J2DPaneFUc */
void J2DPane::setAlpha(u8 alpha) {
@@ -276,6 +334,61 @@ SECTION_SDATA2 static f32 lit_4301 = 65535.0f;
SECTION_SDATA2 static f64 lit_4303 = 4503601774854144.0 /* cast s32 to float */;
/* 80020160-800202CC 01AAA0 016C+00 1/0 4/4 2/2 .text fopMsgM_valueIncrease__FiiUc */
+#ifdef NONMATCHING
+// regalloc + something up with case 2
+f64 fopMsgM_valueIncrease(int param_0, int param_1, u8 param_2) {
+ f32 ret;
+
+ if (param_0 <= 0) {
+ return FLOAT_LABEL(lit_4298);
+ } else {
+ if (param_1 < 0) {
+ param_1 = 0;
+ } else if (param_1 > param_0) {
+ param_1 = param_0;
+ }
+
+ ret = param_1;
+ f32 out_tmp = ret / param_0;
+
+ switch(param_2) {
+ case 0: {
+ ret = out_tmp * out_tmp;
+ break;
+ }
+ case 1: {
+ ret = JMAFastSqrt(out_tmp);
+ break;
+ }
+ case 2: { // seems like this should be default case, but it causes other issues
+ ret = out_tmp;
+ break;
+ }
+ case 3: {
+ f32 tmp = (FLOAT_LABEL(lit_4299) * out_tmp) - FLOAT_LABEL(lit_4298);
+ tmp = out_tmp * tmp;
+ ret = tmp - FLOAT_LABEL(lit_4298);
+ break;
+ }
+ case 4: {
+ f32 tmp = cM_ssin(FLOAT_LABEL(lit_4167) * (FLOAT_LABEL(lit_4300) * out_tmp));
+ ret = tmp * tmp;
+ break;
+ }
+ case 5: {
+ f32 tmp = cM_ssin(FLOAT_LABEL(lit_4167) * (FLOAT_LABEL(lit_4301) * out_tmp));
+ ret = tmp * tmp;
+ break;
+ }
+ case 6: {
+ ret = cM_ssin(FLOAT_LABEL(lit_4300) * out_tmp);
+ }
+ }
+ }
+
+ return ret;
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -284,6 +397,7 @@ asm void fopMsgM_valueIncrease(int param_0, int param_1, u8 param_2) {
#include "asm/f_op/f_op_msg_mng/fopMsgM_valueIncrease__FiiUc.s"
}
#pragma pop
+#endif
/* 800202CC-80020338 01AC0C 006C+00 0/0 2/0 0/0 .text setBlendRatio__10J2DPictureFff */
void J2DPicture::setBlendRatio(f32 param_0, f32 param_1) {
diff --git a/tools/requirements.txt b/tools/requirements.txt
index 12119dbe8f..3bd1bb7a62 100644
--- a/tools/requirements.txt
+++ b/tools/requirements.txt
@@ -8,5 +8,5 @@ ansiwrap
watchdog
python-Levenshtein
cxxfilt
-syaz0
+oead
pyelftools \ No newline at end of file