mirror of https://github.com/zeldaret/tp.git
d_a_tag_mmsg OK
This commit is contained in:
parent
2ef41a019c
commit
ba90c927ea
|
|
@ -1,23 +0,0 @@
|
|||
lbl_80D5BAB4:
|
||||
/* 80D5BAB4 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80D5BAB8 7C 08 02 A6 */ mflr r0
|
||||
/* 80D5BABC 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80D5BAC0 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 80D5BAC4 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 80D5BAC8 7C 7E 1B 79 */ or. r30, r3, r3
|
||||
/* 80D5BACC 7C 9F 23 78 */ mr r31, r4
|
||||
/* 80D5BAD0 41 82 00 1C */ beq lbl_80D5BAEC
|
||||
/* 80D5BAD4 38 80 00 00 */ li r4, 0
|
||||
/* 80D5BAD8 4B 2B D1 B5 */ bl __dt__10fopAc_ac_cFv
|
||||
/* 80D5BADC 7F E0 07 35 */ extsh. r0, r31
|
||||
/* 80D5BAE0 40 81 00 0C */ ble lbl_80D5BAEC
|
||||
/* 80D5BAE4 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80D5BAE8 4B 57 32 55 */ bl __dl__FPv
|
||||
lbl_80D5BAEC:
|
||||
/* 80D5BAEC 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80D5BAF0 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 80D5BAF4 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 80D5BAF8 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80D5BAFC 7C 08 03 A6 */ mtlr r0
|
||||
/* 80D5BB00 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80D5BB04 4E 80 00 20 */ blr
|
||||
|
|
@ -1,100 +0,0 @@
|
|||
lbl_80D5B918:
|
||||
/* 80D5B918 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 80D5B91C 7C 08 02 A6 */ mflr r0
|
||||
/* 80D5B920 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 80D5B924 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 80D5B928 4B 60 68 B5 */ bl _savegpr_29
|
||||
/* 80D5B92C 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80D5B930 3C 80 80 D6 */ lis r4, lit_3702@ha /* 0x80D5BD38@ha */
|
||||
/* 80D5B934 3B C4 BD 38 */ addi r30, r4, lit_3702@l /* 0x80D5BD38@l */
|
||||
/* 80D5B938 80 03 04 A0 */ lwz r0, 0x4a0(r3)
|
||||
/* 80D5B93C 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
|
||||
/* 80D5B940 40 82 00 1C */ bne lbl_80D5B95C
|
||||
/* 80D5B944 28 1F 00 00 */ cmplwi r31, 0
|
||||
/* 80D5B948 41 82 00 08 */ beq lbl_80D5B950
|
||||
/* 80D5B94C 4B 2B D2 19 */ bl __ct__10fopAc_ac_cFv
|
||||
lbl_80D5B950:
|
||||
/* 80D5B950 80 1F 04 A0 */ lwz r0, 0x4a0(r31)
|
||||
/* 80D5B954 60 00 00 08 */ ori r0, r0, 8
|
||||
/* 80D5B958 90 1F 04 A0 */ stw r0, 0x4a0(r31)
|
||||
lbl_80D5B95C:
|
||||
/* 80D5B95C 80 1F 00 B0 */ lwz r0, 0xb0(r31)
|
||||
/* 80D5B960 54 00 05 BE */ clrlwi r0, r0, 0x16
|
||||
/* 80D5B964 B0 1F 05 70 */ sth r0, 0x570(r31)
|
||||
/* 80D5B968 80 1F 00 B0 */ lwz r0, 0xb0(r31)
|
||||
/* 80D5B96C 54 00 B5 BE */ rlwinm r0, r0, 0x16, 0x16, 0x1f
|
||||
/* 80D5B970 B0 1F 05 72 */ sth r0, 0x572(r31)
|
||||
/* 80D5B974 80 1F 00 B0 */ lwz r0, 0xb0(r31)
|
||||
/* 80D5B978 54 00 1F FE */ rlwinm r0, r0, 3, 0x1f, 0x1f
|
||||
/* 80D5B97C 98 1F 05 6B */ stb r0, 0x56b(r31)
|
||||
/* 80D5B980 A8 1F 04 E4 */ lha r0, 0x4e4(r31)
|
||||
/* 80D5B984 98 1F 05 68 */ stb r0, 0x568(r31)
|
||||
/* 80D5B988 A8 1F 04 E4 */ lha r0, 0x4e4(r31)
|
||||
/* 80D5B98C 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f
|
||||
/* 80D5B990 98 1F 05 69 */ stb r0, 0x569(r31)
|
||||
/* 80D5B994 80 1F 00 B0 */ lwz r0, 0xb0(r31)
|
||||
/* 80D5B998 54 00 17 FF */ rlwinm. r0, r0, 2, 0x1f, 0x1f
|
||||
/* 80D5B99C 41 82 00 20 */ beq lbl_80D5B9BC
|
||||
/* 80D5B9A0 C0 1F 04 EC */ lfs f0, 0x4ec(r31)
|
||||
/* 80D5B9A4 C0 3E 00 00 */ lfs f1, 0(r30)
|
||||
/* 80D5B9A8 EC 00 00 72 */ fmuls f0, f0, f1
|
||||
/* 80D5B9AC D0 1F 04 EC */ stfs f0, 0x4ec(r31)
|
||||
/* 80D5B9B0 C0 1F 04 F0 */ lfs f0, 0x4f0(r31)
|
||||
/* 80D5B9B4 EC 00 00 72 */ fmuls f0, f0, f1
|
||||
/* 80D5B9B8 D0 1F 04 F0 */ stfs f0, 0x4f0(r31)
|
||||
lbl_80D5B9BC:
|
||||
/* 80D5B9BC C0 3F 04 EC */ lfs f1, 0x4ec(r31)
|
||||
/* 80D5B9C0 C0 1E 00 04 */ lfs f0, 4(r30)
|
||||
/* 80D5B9C4 EC 00 00 72 */ fmuls f0, f0, f1
|
||||
/* 80D5B9C8 EC 01 00 32 */ fmuls f0, f1, f0
|
||||
/* 80D5B9CC D0 1F 05 74 */ stfs f0, 0x574(r31)
|
||||
/* 80D5B9D0 C0 5F 04 D4 */ lfs f2, 0x4d4(r31)
|
||||
/* 80D5B9D4 C0 3E 00 08 */ lfs f1, 8(r30)
|
||||
/* 80D5B9D8 C0 1F 04 F0 */ lfs f0, 0x4f0(r31)
|
||||
/* 80D5B9DC EC 01 00 32 */ fmuls f0, f1, f0
|
||||
/* 80D5B9E0 EC 02 00 2A */ fadds f0, f2, f0
|
||||
/* 80D5B9E4 D0 1F 05 78 */ stfs f0, 0x578(r31)
|
||||
/* 80D5B9E8 A8 1F 04 E6 */ lha r0, 0x4e6(r31)
|
||||
/* 80D5B9EC 98 1F 05 6A */ stb r0, 0x56a(r31)
|
||||
/* 80D5B9F0 8B DF 05 6A */ lbz r30, 0x56a(r31)
|
||||
/* 80D5B9F4 28 1E 00 FF */ cmplwi r30, 0xff
|
||||
/* 80D5B9F8 41 82 00 68 */ beq lbl_80D5BA60
|
||||
/* 80D5B9FC 88 1F 04 E2 */ lbz r0, 0x4e2(r31)
|
||||
/* 80D5BA00 7C 1D 07 74 */ extsb r29, r0
|
||||
/* 80D5BA04 7F A3 EB 78 */ mr r3, r29
|
||||
/* 80D5BA08 4B 2D 18 55 */ bl dComIfGp_getRoomCamera__Fi
|
||||
/* 80D5BA0C 80 63 00 04 */ lwz r3, 4(r3)
|
||||
/* 80D5BA10 1C 1E 00 18 */ mulli r0, r30, 0x18
|
||||
/* 80D5BA14 7C 63 02 14 */ add r3, r3, r0
|
||||
/* 80D5BA18 88 03 00 10 */ lbz r0, 0x10(r3)
|
||||
/* 80D5BA1C 1F C0 00 14 */ mulli r30, r0, 0x14
|
||||
/* 80D5BA20 7F A3 EB 78 */ mr r3, r29
|
||||
/* 80D5BA24 4B 2D 18 89 */ bl dComIfGp_getRoomArrow__Fi
|
||||
/* 80D5BA28 80 03 00 04 */ lwz r0, 4(r3)
|
||||
/* 80D5BA2C 7C 60 F2 14 */ add r3, r0, r30
|
||||
/* 80D5BA30 C0 43 00 08 */ lfs f2, 8(r3)
|
||||
/* 80D5BA34 C0 23 00 04 */ lfs f1, 4(r3)
|
||||
/* 80D5BA38 C0 03 00 00 */ lfs f0, 0(r3)
|
||||
/* 80D5BA3C D0 1F 05 38 */ stfs f0, 0x538(r31)
|
||||
/* 80D5BA40 D0 3F 05 3C */ stfs f1, 0x53c(r31)
|
||||
/* 80D5BA44 D0 5F 05 40 */ stfs f2, 0x540(r31)
|
||||
/* 80D5BA48 C0 1F 05 38 */ lfs f0, 0x538(r31)
|
||||
/* 80D5BA4C D0 1F 05 50 */ stfs f0, 0x550(r31)
|
||||
/* 80D5BA50 C0 1F 05 3C */ lfs f0, 0x53c(r31)
|
||||
/* 80D5BA54 D0 1F 05 54 */ stfs f0, 0x554(r31)
|
||||
/* 80D5BA58 C0 1F 05 40 */ lfs f0, 0x540(r31)
|
||||
/* 80D5BA5C D0 1F 05 58 */ stfs f0, 0x558(r31)
|
||||
lbl_80D5BA60:
|
||||
/* 80D5BA60 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80D5BA64 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 80D5BA68 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 80D5BA6C 80 84 5D AC */ lwz r4, 0x5dac(r4)
|
||||
/* 80D5BA70 4B 2B EC A1 */ bl fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c
|
||||
/* 80D5BA74 B0 7F 04 E6 */ sth r3, 0x4e6(r31)
|
||||
/* 80D5BA78 38 60 00 04 */ li r3, 4
|
||||
/* 80D5BA7C 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 80D5BA80 4B 60 67 A9 */ bl _restgpr_29
|
||||
/* 80D5BA84 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 80D5BA88 7C 08 03 A6 */ mtlr r0
|
||||
/* 80D5BA8C 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 80D5BA90 4E 80 00 20 */ blr
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
lbl_80D5BA94:
|
||||
/* 80D5BA94 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80D5BA98 7C 08 02 A6 */ mflr r0
|
||||
/* 80D5BA9C 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80D5BAA0 4B FF FE 79 */ bl create__11daTagMmsg_cFv
|
||||
/* 80D5BAA4 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80D5BAA8 7C 08 03 A6 */ mtlr r0
|
||||
/* 80D5BAAC 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80D5BAB0 4E 80 00 20 */ blr
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
lbl_80D5BB08:
|
||||
/* 80D5BB08 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80D5BB0C 7C 08 02 A6 */ mflr r0
|
||||
/* 80D5BB10 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80D5BB14 38 80 FF FF */ li r4, -1
|
||||
/* 80D5BB18 4B FF FF 9D */ bl __dt__11daTagMmsg_cFv
|
||||
/* 80D5BB1C 38 60 00 01 */ li r3, 1
|
||||
/* 80D5BB20 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80D5BB24 7C 08 03 A6 */ mtlr r0
|
||||
/* 80D5BB28 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80D5BB2C 4E 80 00 20 */ blr
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
lbl_80D5BD08:
|
||||
/* 80D5BD08 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80D5BD0C 7C 08 02 A6 */ mflr r0
|
||||
/* 80D5BD10 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80D5BD14 4B FF FE 1D */ bl execute__11daTagMmsg_cFv
|
||||
/* 80D5BD18 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80D5BD1C 7C 08 03 A6 */ mtlr r0
|
||||
/* 80D5BD20 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80D5BD24 4E 80 00 20 */ blr
|
||||
|
|
@ -1,127 +0,0 @@
|
|||
lbl_80D5BB30:
|
||||
/* 80D5BB30 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80D5BB34 7C 08 02 A6 */ mflr r0
|
||||
/* 80D5BB38 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80D5BB3C 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 80D5BB40 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 80D5BB44 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80D5BB48 3C 60 80 45 */ lis r3, m_midnaActor__9daPy_py_c@ha /* 0x80451018@ha */
|
||||
/* 80D5BB4C 80 03 10 18 */ lwz r0, m_midnaActor__9daPy_py_c@l(r3) /* 0x80451018@l */
|
||||
/* 80D5BB50 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80D5BB54 40 82 00 0C */ bne lbl_80D5BB60
|
||||
/* 80D5BB58 38 60 00 01 */ li r3, 1
|
||||
/* 80D5BB5C 48 00 01 94 */ b lbl_80D5BCF0
|
||||
lbl_80D5BB60:
|
||||
/* 80D5BB60 A0 1F 05 72 */ lhz r0, 0x572(r31)
|
||||
/* 80D5BB64 28 00 03 FF */ cmplwi r0, 0x3ff
|
||||
/* 80D5BB68 41 82 00 34 */ beq lbl_80D5BB9C
|
||||
/* 80D5BB6C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 80D5BB70 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 80D5BB74 38 63 07 F0 */ addi r3, r3, 0x7f0
|
||||
/* 80D5BB78 54 00 0B FC */ rlwinm r0, r0, 1, 0xf, 0x1e
|
||||
/* 80D5BB7C 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */
|
||||
/* 80D5BB80 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */
|
||||
/* 80D5BB84 7C 84 02 2E */ lhzx r4, r4, r0
|
||||
/* 80D5BB88 4B 2D 8E 35 */ bl isEventBit__11dSv_event_cCFUs
|
||||
/* 80D5BB8C 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80D5BB90 41 82 00 0C */ beq lbl_80D5BB9C
|
||||
/* 80D5BB94 38 60 00 01 */ li r3, 1
|
||||
/* 80D5BB98 48 00 01 58 */ b lbl_80D5BCF0
|
||||
lbl_80D5BB9C:
|
||||
/* 80D5BB9C 88 9F 05 69 */ lbz r4, 0x569(r31)
|
||||
/* 80D5BBA0 28 04 00 FF */ cmplwi r4, 0xff
|
||||
/* 80D5BBA4 41 82 00 30 */ beq lbl_80D5BBD4
|
||||
/* 80D5BBA8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 80D5BBAC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 80D5BBB0 88 1F 04 BA */ lbz r0, 0x4ba(r31)
|
||||
/* 80D5BBB4 7C 05 07 74 */ extsb r5, r0
|
||||
/* 80D5BBB8 4B 2D 97 A9 */ bl isSwitch__10dSv_info_cCFii
|
||||
/* 80D5BBBC 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80D5BBC0 41 82 00 14 */ beq lbl_80D5BBD4
|
||||
/* 80D5BBC4 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80D5BBC8 4B 2B E0 B5 */ bl fopAcM_delete__FP10fopAc_ac_c
|
||||
/* 80D5BBCC 38 60 00 01 */ li r3, 1
|
||||
/* 80D5BBD0 48 00 01 20 */ b lbl_80D5BCF0
|
||||
lbl_80D5BBD4:
|
||||
/* 80D5BBD4 88 1F 05 6C */ lbz r0, 0x56c(r31)
|
||||
/* 80D5BBD8 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80D5BBDC 41 82 00 4C */ beq lbl_80D5BC28
|
||||
/* 80D5BBE0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 80D5BBE4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 80D5BBE8 88 03 4F AD */ lbz r0, 0x4fad(r3)
|
||||
/* 80D5BBEC 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80D5BBF0 40 82 00 38 */ bne lbl_80D5BC28
|
||||
/* 80D5BBF4 88 1F 05 6B */ lbz r0, 0x56b(r31)
|
||||
/* 80D5BBF8 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80D5BBFC 41 82 00 2C */ beq lbl_80D5BC28
|
||||
/* 80D5BC00 88 9F 05 69 */ lbz r4, 0x569(r31)
|
||||
/* 80D5BC04 28 04 00 FF */ cmplwi r4, 0xff
|
||||
/* 80D5BC08 41 82 00 20 */ beq lbl_80D5BC28
|
||||
/* 80D5BC0C 88 1F 04 BA */ lbz r0, 0x4ba(r31)
|
||||
/* 80D5BC10 7C 05 07 74 */ extsb r5, r0
|
||||
/* 80D5BC14 4B 2D 95 ED */ bl onSwitch__10dSv_info_cFii
|
||||
/* 80D5BC18 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80D5BC1C 4B 2B E0 61 */ bl fopAcM_delete__FP10fopAc_ac_c
|
||||
/* 80D5BC20 38 60 00 01 */ li r3, 1
|
||||
/* 80D5BC24 48 00 00 CC */ b lbl_80D5BCF0
|
||||
lbl_80D5BC28:
|
||||
/* 80D5BC28 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 80D5BC2C 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 80D5BC30 83 C4 5D B4 */ lwz r30, 0x5db4(r4)
|
||||
/* 80D5BC34 C0 1F 04 D4 */ lfs f0, 0x4d4(r31)
|
||||
/* 80D5BC38 C0 3E 04 D4 */ lfs f1, 0x4d4(r30)
|
||||
/* 80D5BC3C FC 00 08 40 */ fcmpo cr0, f0, f1
|
||||
/* 80D5BC40 4C 40 13 82 */ cror 2, 0, 2
|
||||
/* 80D5BC44 40 82 00 A8 */ bne lbl_80D5BCEC
|
||||
/* 80D5BC48 C0 1F 05 78 */ lfs f0, 0x578(r31)
|
||||
/* 80D5BC4C FC 00 08 40 */ fcmpo cr0, f0, f1
|
||||
/* 80D5BC50 4C 41 13 82 */ cror 2, 1, 2
|
||||
/* 80D5BC54 40 82 00 98 */ bne lbl_80D5BCEC
|
||||
/* 80D5BC58 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80D5BC5C 80 84 5D AC */ lwz r4, 0x5dac(r4)
|
||||
/* 80D5BC60 4B 2B EE 35 */ bl fopAcM_searchActorDistanceXZ2__FPC10fopAc_ac_cPC10fopAc_ac_c
|
||||
/* 80D5BC64 C0 1F 05 74 */ lfs f0, 0x574(r31)
|
||||
/* 80D5BC68 FC 01 00 40 */ fcmpo cr0, f1, f0
|
||||
/* 80D5BC6C 40 80 00 80 */ bge lbl_80D5BCEC
|
||||
/* 80D5BC70 A0 1F 05 70 */ lhz r0, 0x570(r31)
|
||||
/* 80D5BC74 28 00 03 FF */ cmplwi r0, 0x3ff
|
||||
/* 80D5BC78 41 82 00 2C */ beq lbl_80D5BCA4
|
||||
/* 80D5BC7C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 80D5BC80 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 80D5BC84 38 63 07 F0 */ addi r3, r3, 0x7f0
|
||||
/* 80D5BC88 54 00 0B FC */ rlwinm r0, r0, 1, 0xf, 0x1e
|
||||
/* 80D5BC8C 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */
|
||||
/* 80D5BC90 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */
|
||||
/* 80D5BC94 7C 84 02 2E */ lhzx r4, r4, r0
|
||||
/* 80D5BC98 4B 2D 8D 25 */ bl isEventBit__11dSv_event_cCFUs
|
||||
/* 80D5BC9C 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80D5BCA0 41 82 00 4C */ beq lbl_80D5BCEC
|
||||
lbl_80D5BCA4:
|
||||
/* 80D5BCA4 88 9F 05 68 */ lbz r4, 0x568(r31)
|
||||
/* 80D5BCA8 28 04 00 FF */ cmplwi r4, 0xff
|
||||
/* 80D5BCAC 41 82 00 20 */ beq lbl_80D5BCCC
|
||||
/* 80D5BCB0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 80D5BCB4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 80D5BCB8 88 1F 04 BA */ lbz r0, 0x4ba(r31)
|
||||
/* 80D5BCBC 7C 05 07 74 */ extsb r5, r0
|
||||
/* 80D5BCC0 4B 2D 96 A1 */ bl isSwitch__10dSv_info_cCFii
|
||||
/* 80D5BCC4 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80D5BCC8 41 82 00 24 */ beq lbl_80D5BCEC
|
||||
lbl_80D5BCCC:
|
||||
/* 80D5BCCC 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80D5BCD0 7F E4 FB 78 */ mr r4, r31
|
||||
/* 80D5BCD4 A8 1F 04 E8 */ lha r0, 0x4e8(r31)
|
||||
/* 80D5BCD8 54 05 04 3E */ clrlwi r5, r0, 0x10
|
||||
/* 80D5BCDC 81 9E 06 28 */ lwz r12, 0x628(r30)
|
||||
/* 80D5BCE0 81 8C 00 0C */ lwz r12, 0xc(r12)
|
||||
/* 80D5BCE4 7D 89 03 A6 */ mtctr r12
|
||||
/* 80D5BCE8 4E 80 04 21 */ bctrl
|
||||
lbl_80D5BCEC:
|
||||
/* 80D5BCEC 38 60 00 01 */ li r3, 1
|
||||
lbl_80D5BCF0:
|
||||
/* 80D5BCF0 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 80D5BCF4 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 80D5BCF8 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80D5BCFC 7C 08 03 A6 */ mtlr r0
|
||||
/* 80D5BD00 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80D5BD04 4E 80 00 20 */ blr
|
||||
|
|
@ -2681,6 +2681,8 @@ inline u32 dComIfGp_particle_setPolyColor(u32 param_0, u16 param_1, cBgS_PolyInf
|
|||
|
||||
int dComIfGd_setSimpleShadow(cXyz* pos, f32 param_1, f32 param_2, cBgS_PolyInfo& param_3, s16 angle,
|
||||
f32 param_5, _GXTexObj* tex);
|
||||
stage_camera_class* dComIfGp_getRoomCamera(int i_roomNo);
|
||||
stage_arrow_class* dComIfGp_getRoomArrow(int i_roomNo);
|
||||
int dComIfGd_setShadow(u32 param_0, s8 param_1, J3DModel* param_2, cXyz* param_3, f32 param_4,
|
||||
f32 param_5, f32 param_6, f32 param_7, cBgS_PolyInfo& param_8,
|
||||
dKy_tevstr_c* param_9, s16 param_10, f32 param_11, _GXTexObj* param_12);
|
||||
|
|
|
|||
|
|
@ -151,9 +151,14 @@ struct stage_camera_class {
|
|||
/* 0x4 */ stage_camera2_data_class* field_0x4;
|
||||
};
|
||||
|
||||
struct stage_arrow_class {
|
||||
struct stage_arrow_data_class {
|
||||
/* 0x00 */ cXyz mPosition;
|
||||
/* 0x0C */ csXyz mAngle;
|
||||
};
|
||||
|
||||
struct stage_arrow_class {
|
||||
/* 0x00 */ int mNum;
|
||||
/* 0x04 */ stage_arrow_data_class* mEntries;
|
||||
}; // Size: 0x14
|
||||
|
||||
class stage_actor_data_class {
|
||||
|
|
|
|||
|
|
@ -3,14 +3,15 @@
|
|||
|
||||
#include "d/a/d_a_player.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
class daTagMmsg_c : public fopAc_ac_c {
|
||||
public:
|
||||
daTagMmsg_c() {}
|
||||
|
||||
/* 80D5B918 */ void create();
|
||||
/* 80D5B918 */ int create();
|
||||
/* 80D5BAB4 */ ~daTagMmsg_c();
|
||||
/* 80D5BB30 */ void execute();
|
||||
/* 80D5BB30 */ int execute();
|
||||
|
||||
void onUseFlg() { mUseFlg = true; }
|
||||
bool checkNoAttention() { return mAttention == 0xFF; }
|
||||
|
|
|
|||
|
|
@ -4,153 +4,145 @@
|
|||
//
|
||||
|
||||
#include "rel/d/a/tag/d_a_tag_mmsg/d_a_tag_mmsg.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "d/d_procname.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void create__11daTagMmsg_cFv();
|
||||
extern "C" static void daTagMmsg_Create__FP10fopAc_ac_c();
|
||||
extern "C" void __dt__11daTagMmsg_cFv();
|
||||
extern "C" static void daTagMmsg_Delete__FP11daTagMmsg_c();
|
||||
extern "C" void execute__11daTagMmsg_cFv();
|
||||
extern "C" static void daTagMmsg_Execute__FP11daTagMmsg_c();
|
||||
extern "C" static bool daTagMmsg_Draw__FP11daTagMmsg_c();
|
||||
extern "C" extern void* g_profile_Tag_Mmsg[12];
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__10fopAc_ac_cFv();
|
||||
extern "C" void __dt__10fopAc_ac_cFv();
|
||||
extern "C" void fopAcM_delete__FP10fopAc_ac_c();
|
||||
extern "C" void fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c();
|
||||
extern "C" void fopAcM_searchActorDistanceXZ2__FPC10fopAc_ac_cPC10fopAc_ac_c();
|
||||
extern "C" void dComIfGp_getRoomCamera__Fi();
|
||||
extern "C" void dComIfGp_getRoomArrow__Fi();
|
||||
extern "C" void isEventBit__11dSv_event_cCFUs();
|
||||
extern "C" void onSwitch__10dSv_info_cFii();
|
||||
extern "C" void isSwitch__10dSv_info_cCFii();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" extern void* g_fopAc_Method[8];
|
||||
extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" u8 m_midnaActor__9daPy_py_c[4];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
extern "C" extern leafdraw_method_class g_fopAc_Method;
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D5BD38-80D5BD3C 000000 0004+00 1/1 0/0 0/0 .rodata @3702 */
|
||||
SECTION_RODATA static f32 const lit_3702 = 10.0f;
|
||||
COMPILER_STRIP_GATE(0x80D5BD38, &lit_3702);
|
||||
|
||||
/* 80D5BD3C-80D5BD40 000004 0004+00 0/1 0/0 0/0 .rodata @3703 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3703 = 10000.0f;
|
||||
COMPILER_STRIP_GATE(0x80D5BD3C, &lit_3703);
|
||||
#pragma pop
|
||||
|
||||
/* 80D5BD40-80D5BD44 000008 0004+00 0/1 0/0 0/0 .rodata @3704 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3704 = 100.0f;
|
||||
COMPILER_STRIP_GATE(0x80D5BD40, &lit_3704);
|
||||
#pragma pop
|
||||
|
||||
/* 80D5B918-80D5BA94 000078 017C+00 1/1 0/0 0/0 .text create__11daTagMmsg_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daTagMmsg_c::create() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/tag/d_a_tag_mmsg/d_a_tag_mmsg/create__11daTagMmsg_cFv.s"
|
||||
int daTagMmsg_c::create() {
|
||||
if (!fopAcM_CheckCondition(this, 8)) {
|
||||
new (this) daTagMmsg_c();
|
||||
fopAcM_OnCondition(this, 8);
|
||||
}
|
||||
|
||||
this->field_0x570 = fpcM_GetParam(this) & 0x3FF;
|
||||
this->field_0x572 = (fpcM_GetParam(this) >> 10) & 0x3FF;
|
||||
this->field_0x56b = (fpcM_GetParam(this) >> 29) & 1;
|
||||
this->field_0x568 = this->shape_angle.x;
|
||||
this->field_0x569 = (this->shape_angle.x >> 8) & 0xFF;
|
||||
|
||||
if ((fpcM_GetParam(this) >> 30) & 1) {
|
||||
this->mScale.x *= 10.0f;
|
||||
this->mScale.y *= 10.0f;
|
||||
}
|
||||
|
||||
this->field_0x574 = this->mScale.x * (10000.0f * this->mScale.x);
|
||||
this->field_0x578 = this->current.pos.y + this->mScale.y * 100.0f;
|
||||
this->mAttention = this->shape_angle.y;
|
||||
|
||||
if (!checkNoAttention()) {
|
||||
s32 roomNo = fopAcM_GetRoomNo(this);
|
||||
cXyz* tmp =
|
||||
&dComIfGp_getRoomArrow(roomNo)
|
||||
->mEntries[dComIfGp_getRoomCamera(roomNo)->field_0x4[this->mAttention].field_0x10]
|
||||
.mPosition;
|
||||
this->mEyePos.set(tmp->x, tmp->y, tmp->z);
|
||||
this->mAttentionInfo.mPosition = this->mEyePos;
|
||||
}
|
||||
|
||||
this->shape_angle.y = fopAcM_searchPlayerAngleY(this);
|
||||
return 4;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80D5BA94-80D5BAB4 0001F4 0020+00 1/0 0/0 0/0 .text daTagMmsg_Create__FP10fopAc_ac_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daTagMmsg_Create(fopAc_ac_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/tag/d_a_tag_mmsg/d_a_tag_mmsg/daTagMmsg_Create__FP10fopAc_ac_c.s"
|
||||
static int daTagMmsg_Create(fopAc_ac_c* tag) {
|
||||
return static_cast<daTagMmsg_c*>(tag)->create();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80D5BAB4-80D5BB08 000214 0054+00 1/1 0/0 0/0 .text __dt__11daTagMmsg_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm daTagMmsg_c::~daTagMmsg_c() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/tag/d_a_tag_mmsg/d_a_tag_mmsg/__dt__11daTagMmsg_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
daTagMmsg_c::~daTagMmsg_c() {}
|
||||
|
||||
/* 80D5BB08-80D5BB30 000268 0028+00 1/0 0/0 0/0 .text daTagMmsg_Delete__FP11daTagMmsg_c
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daTagMmsg_Delete(daTagMmsg_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/tag/d_a_tag_mmsg/d_a_tag_mmsg/daTagMmsg_Delete__FP11daTagMmsg_c.s"
|
||||
static int daTagMmsg_Delete(daTagMmsg_c* tag) {
|
||||
tag->~daTagMmsg_c();
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80D5BB30-80D5BD08 000290 01D8+00 1/1 0/0 0/0 .text execute__11daTagMmsg_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daTagMmsg_c::execute() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/tag/d_a_tag_mmsg/d_a_tag_mmsg/execute__11daTagMmsg_cFv.s"
|
||||
int daTagMmsg_c::execute() {
|
||||
if (daPy_py_c::getMidnaActor() == NULL) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (this->field_0x572 != 0x3FF &&
|
||||
i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[this->field_0x572])) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (this->field_0x569 != 0xFF &&
|
||||
dComIfGs_isSwitch(this->field_0x569, fopAcM_GetHomeRoomNo(this))) {
|
||||
fopAcM_delete(this);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (this->mUseFlg && !i_dComIfGp_event_runCheck() && this->field_0x56b &&
|
||||
this->field_0x569 != 0xFF) {
|
||||
dComIfGs_onSwitch(this->field_0x569, fopAcM_GetHomeRoomNo(this));
|
||||
fopAcM_delete(this);
|
||||
return 1;
|
||||
}
|
||||
|
||||
daPy_py_c* player = daPy_getLinkPlayerActorClass();
|
||||
if ((this->current.pos.y <= player->current.pos.y) &&
|
||||
(this->field_0x578 >= player->current.pos.y) &&
|
||||
(fopAcM_searchPlayerDistanceXZ2(this) < this->field_0x574) &&
|
||||
(this->field_0x570 == 0x3FF ||
|
||||
i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[this->field_0x570])) &&
|
||||
(this->field_0x568 == 0xFF ||
|
||||
dComIfGs_isSwitch(this->field_0x568, fopAcM_GetHomeRoomNo(this)))) {
|
||||
player->setMidnaMsgNum(this, this->shape_angle.z);
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80D5BD08-80D5BD28 000468 0020+00 1/0 0/0 0/0 .text daTagMmsg_Execute__FP11daTagMmsg_c
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daTagMmsg_Execute(daTagMmsg_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/tag/d_a_tag_mmsg/d_a_tag_mmsg/daTagMmsg_Execute__FP11daTagMmsg_c.s"
|
||||
static int daTagMmsg_Execute(daTagMmsg_c* tag) {
|
||||
return tag->execute();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80D5BD28-80D5BD30 000488 0008+00 1/0 0/0 0/0 .text daTagMmsg_Draw__FP11daTagMmsg_c */
|
||||
static bool daTagMmsg_Draw(daTagMmsg_c* param_0) {
|
||||
static bool daTagMmsg_Draw(daTagMmsg_c* tag) {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D5BD44-80D5BD64 -00001 0020+00 1/0 0/0 0/0 .data l_daTagMmsg_Method */
|
||||
SECTION_DATA static void* l_daTagMmsg_Method[8] = {
|
||||
(void*)daTagMmsg_Create__FP10fopAc_ac_c,
|
||||
(void*)daTagMmsg_Delete__FP11daTagMmsg_c,
|
||||
(void*)daTagMmsg_Execute__FP11daTagMmsg_c,
|
||||
(void*)NULL,
|
||||
(void*)daTagMmsg_Draw__FP11daTagMmsg_c,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
// This is probably of type leafdraw_method_class, but I can't get the data to have the right
|
||||
// padding without these extra NULLs.
|
||||
static void* l_daTagMmsg_Method[8] = {
|
||||
daTagMmsg_Create, daTagMmsg_Delete, daTagMmsg_Execute, NULL, daTagMmsg_Draw, NULL, NULL, NULL,
|
||||
};
|
||||
|
||||
/* 80D5BD64-80D5BD94 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_Mmsg */
|
||||
SECTION_DATA extern void* g_profile_Tag_Mmsg[12] = {
|
||||
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
|
||||
(void*)0x02C20000, (void*)&g_fpcLf_Method,
|
||||
(void*)0x0000057C, (void*)NULL,
|
||||
(void*)NULL, (void*)&g_fopAc_Method,
|
||||
(void*)0x00FF0000, (void*)&l_daTagMmsg_Method,
|
||||
(void*)0x00044000, (void*)0x030E0000,
|
||||
};
|
||||
extern actor_process_profile_definition g_profile_Tag_Mmsg = {
|
||||
-3, // mLayerID
|
||||
7, // mListID
|
||||
0xFFFD, // mListPrio
|
||||
PROC_Tag_Mmsg, // mProcName
|
||||
0, // unkA
|
||||
&g_fpcLf_Method.mBase, // mSubMtd
|
||||
sizeof(daTagMmsg_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
&g_fopAc_Method, // mSubMtd
|
||||
0x00FF, // mPriority
|
||||
0, // unk22[0]
|
||||
0, // unk22[1]
|
||||
(leafdraw_method_class*)&l_daTagMmsg_Method, // mSubMtd
|
||||
0x00044000, // mStatus
|
||||
0x03, // mActorType
|
||||
0x0E, // mCullType
|
||||
0, // field_0x2e[0]
|
||||
0 // field_0x2e[1]
|
||||
};
|
||||
Loading…
Reference in New Issue