Files
tp/include/d/d_attention/asm/func_80073004.s
T
2dddd746a6 split d_attention (#40)
* d_attention.cpp: split

* clang-format + add back in dropped labels

Co-authored-by: Pheenoh <pheenoh@gmail.com>
2020-12-29 18:19:10 -05:00

183 lines
9.3 KiB
ArmAsm

/* 80073004 0006FF44 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80073008 0006FF48 7C 08 02 A6 */ mflr r0
/* 8007300C 0006FF4C 90 01 00 44 */ stw r0, 0x44(r1)
/* 80073010 0006FF50 DB E1 00 30 */ stfd f31, 0x30(r1)
/* 80073014 0006FF54 F3 E1 00 38 */ psq_st f31, 56(r1), 0, 0
/* 80073018 0006FF58 39 61 00 30 */ addi r11, r1, 0x30
/* 8007301C 0006FF5C 48 2E F1 BD */ bl _savegpr_28
/* 80073020 0006FF60 7C 7F 1B 78 */ mr r31, r3
/* 80073024 0006FF64 88 03 01 72 */ lbz r0, 0x172(r3)
/* 80073028 0006FF68 C8 42 8C A8 */ lfd f2, lbl_804526A8-_SDA2_BASE_(r2)
/* 8007302C 0006FF6C 90 01 00 0C */ stw r0, 0xc(r1)
/* 80073030 0006FF70 3C 60 43 30 */ lis r3, 0x4330
/* 80073034 0006FF74 90 61 00 08 */ stw r3, 8(r1)
/* 80073038 0006FF78 C8 01 00 08 */ lfd f0, 8(r1)
/* 8007303C 0006FF7C EC 20 10 28 */ fsubs f1, f0, f2
/* 80073040 0006FF80 88 1F 01 71 */ lbz r0, 0x171(r31)
/* 80073044 0006FF84 90 01 00 14 */ stw r0, 0x14(r1)
/* 80073048 0006FF88 90 61 00 10 */ stw r3, 0x10(r1)
/* 8007304C 0006FF8C C8 01 00 10 */ lfd f0, 0x10(r1)
/* 80073050 0006FF90 EC 00 10 28 */ fsubs f0, f0, f2
/* 80073054 0006FF94 EC 21 00 24 */ fdivs f1, f1, f0
/* 80073058 0006FF98 88 7F 01 74 */ lbz r3, 0x174(r31)
/* 8007305C 0006FF9C 28 03 00 01 */ cmplwi r3, 1
/* 80073060 0006FFA0 40 82 00 10 */ bne lbl_80073070
/* 80073064 0006FFA4 C0 02 8C 58 */ lfs f0, lbl_80452658-_SDA2_BASE_(r2)
/* 80073068 0006FFA8 EC 40 08 28 */ fsubs f2, f0, f1
/* 8007306C 0006FFAC 48 00 00 08 */ b lbl_80073074
lbl_80073070:
/* 80073070 0006FFB0 FC 40 08 90 */ fmr f2, f1
lbl_80073074:
/* 80073074 0006FFB4 C0 02 8C 58 */ lfs f0, lbl_80452658-_SDA2_BASE_(r2)
/* 80073078 0006FFB8 FC 00 08 00 */ fcmpu cr0, f0, f1
/* 8007307C 0006FFBC 40 82 00 E4 */ bne lbl_80073160
/* 80073080 0006FFC0 88 1F 01 70 */ lbz r0, 0x170(r31)
/* 80073084 0006FFC4 28 00 00 01 */ cmplwi r0, 1
/* 80073088 0006FFC8 40 82 00 D0 */ bne lbl_80073158
/* 8007308C 0006FFCC 28 03 00 00 */ cmplwi r3, 0
/* 80073090 0006FFD0 40 82 00 C8 */ bne lbl_80073158
/* 80073094 0006FFD4 38 60 00 01 */ li r3, 1
/* 80073098 0006FFD8 88 1F 01 05 */ lbz r0, 0x105(r31)
/* 8007309C 0006FFDC 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 800730A0 0006FFE0 40 82 00 18 */ bne lbl_800730B8
/* 800730A4 0006FFE4 C0 22 8C 50 */ lfs f1, lbl_80452650-_SDA2_BASE_(r2)
/* 800730A8 0006FFE8 C0 1F 01 0C */ lfs f0, 0x10c(r31)
/* 800730AC 0006FFEC FC 01 00 00 */ fcmpu cr0, f1, f0
/* 800730B0 0006FFF0 41 82 00 08 */ beq lbl_800730B8
/* 800730B4 0006FFF4 38 60 00 00 */ li r3, 0
lbl_800730B8:
/* 800730B8 0006FFF8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 800730BC 0006FFFC 41 82 00 A4 */ beq lbl_80073160
/* 800730C0 00070000 38 60 00 01 */ li r3, 1
/* 800730C4 00070004 88 1F 01 21 */ lbz r0, 0x121(r31)
/* 800730C8 00070008 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 800730CC 0007000C 40 82 00 18 */ bne lbl_800730E4
/* 800730D0 00070010 C0 22 8C 50 */ lfs f1, lbl_80452650-_SDA2_BASE_(r2)
/* 800730D4 00070014 C0 1F 01 28 */ lfs f0, 0x128(r31)
/* 800730D8 00070018 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 800730DC 0007001C 41 82 00 08 */ beq lbl_800730E4
/* 800730E0 00070020 38 60 00 00 */ li r3, 0
lbl_800730E4:
/* 800730E4 00070024 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 800730E8 00070028 41 82 00 78 */ beq lbl_80073160
/* 800730EC 0007002C 38 60 00 01 */ li r3, 1
/* 800730F0 00070030 88 1F 01 39 */ lbz r0, 0x139(r31)
/* 800730F4 00070034 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 800730F8 00070038 40 82 00 18 */ bne lbl_80073110
/* 800730FC 0007003C C0 22 8C 50 */ lfs f1, lbl_80452650-_SDA2_BASE_(r2)
/* 80073100 00070040 C0 1F 01 40 */ lfs f0, 0x140(r31)
/* 80073104 00070044 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 80073108 00070048 41 82 00 08 */ beq lbl_80073110
/* 8007310C 0007004C 38 60 00 00 */ li r3, 0
lbl_80073110:
/* 80073110 00070050 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80073114 00070054 41 82 00 4C */ beq lbl_80073160
/* 80073118 00070058 38 60 00 01 */ li r3, 1
/* 8007311C 0007005C 88 1F 01 51 */ lbz r0, 0x151(r31)
/* 80073120 00070060 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80073124 00070064 40 82 00 18 */ bne lbl_8007313C
/* 80073128 00070068 C0 22 8C 50 */ lfs f1, lbl_80452650-_SDA2_BASE_(r2)
/* 8007312C 0007006C C0 1F 01 58 */ lfs f0, 0x158(r31)
/* 80073130 00070070 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 80073134 00070074 41 82 00 08 */ beq lbl_8007313C
/* 80073138 00070078 38 60 00 00 */ li r3, 0
lbl_8007313C:
/* 8007313C 0007007C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80073140 00070080 41 82 00 20 */ beq lbl_80073160
/* 80073144 00070084 38 00 00 00 */ li r0, 0
/* 80073148 00070088 98 1F 01 75 */ stb r0, 0x175(r31)
/* 8007314C 0007008C 38 00 00 03 */ li r0, 3
/* 80073150 00070090 98 1F 01 73 */ stb r0, 0x173(r31)
/* 80073154 00070094 48 00 00 0C */ b lbl_80073160
lbl_80073158:
/* 80073158 00070098 38 00 00 03 */ li r0, 3
/* 8007315C 0007009C 98 1F 01 73 */ stb r0, 0x173(r31)
lbl_80073160:
/* 80073160 000700A0 88 7F 01 72 */ lbz r3, 0x172(r31)
/* 80073164 000700A4 88 1F 01 71 */ lbz r0, 0x171(r31)
/* 80073168 000700A8 7C 03 00 40 */ cmplw r3, r0
/* 8007316C 000700AC 40 80 00 0C */ bge lbl_80073178
/* 80073170 000700B0 38 03 00 01 */ addi r0, r3, 1
/* 80073174 000700B4 98 1F 01 72 */ stb r0, 0x172(r31)
lbl_80073178:
/* 80073178 000700B8 88 1F 01 70 */ lbz r0, 0x170(r31)
/* 8007317C 000700BC 54 00 10 3A */ slwi r0, r0, 2
/* 80073180 000700C0 7C 7F 00 2E */ lwzx r3, r31, r0
/* 80073184 000700C4 83 C3 00 04 */ lwz r30, 4(r3)
/* 80073188 000700C8 3B 80 00 00 */ li r28, 0
/* 8007318C 000700CC C0 02 8C A0 */ lfs f0, lbl_804526A0-_SDA2_BASE_(r2)
/* 80073190 000700D0 EC 00 00 B2 */ fmuls f0, f0, f2
/* 80073194 000700D4 FF E0 00 1E */ fctiwz f31, f0
/* 80073198 000700D8 48 00 00 54 */ b lbl_800731EC
lbl_8007319C:
/* 8007319C 000700DC 80 7E 00 60 */ lwz r3, 0x60(r30)
/* 800731A0 000700E0 57 80 13 BA */ rlwinm r0, r28, 2, 0xe, 0x1d
/* 800731A4 000700E4 7F A3 00 2E */ lwzx r29, r3, r0
/* 800731A8 000700E8 80 7D 00 2C */ lwz r3, 0x2c(r29)
/* 800731AC 000700EC 38 80 00 00 */ li r4, 0
/* 800731B0 000700F0 81 83 00 00 */ lwz r12, 0(r3)
/* 800731B4 000700F4 81 8C 00 74 */ lwz r12, 0x74(r12)
/* 800731B8 000700F8 7D 89 03 A6 */ mtctr r12
/* 800731BC 000700FC 4E 80 04 21 */ bctrl
/* 800731C0 00070100 7C 65 1B 78 */ mr r5, r3
/* 800731C4 00070104 DB E1 00 10 */ stfd f31, 0x10(r1)
/* 800731C8 00070108 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800731CC 0007010C 98 03 00 03 */ stb r0, 3(r3)
/* 800731D0 00070110 80 7D 00 2C */ lwz r3, 0x2c(r29)
/* 800731D4 00070114 38 80 00 00 */ li r4, 0
/* 800731D8 00070118 81 83 00 00 */ lwz r12, 0(r3)
/* 800731DC 0007011C 81 8C 00 6C */ lwz r12, 0x6c(r12)
/* 800731E0 00070120 7D 89 03 A6 */ mtctr r12
/* 800731E4 00070124 4E 80 04 21 */ bctrl
/* 800731E8 00070128 3B 9C 00 01 */ addi r28, r28, 1
lbl_800731EC:
/* 800731EC 0007012C A0 1E 00 5C */ lhz r0, 0x5c(r30)
/* 800731F0 00070130 7C 1C 00 00 */ cmpw r28, r0
/* 800731F4 00070134 41 80 FF A8 */ blt lbl_8007319C
/* 800731F8 00070138 88 1F 01 75 */ lbz r0, 0x175(r31)
/* 800731FC 0007013C 28 00 00 00 */ cmplwi r0, 0
/* 80073200 00070140 40 82 00 6C */ bne lbl_8007326C
/* 80073204 00070144 88 1F 01 70 */ lbz r0, 0x170(r31)
/* 80073208 00070148 1C 60 00 1C */ mulli r3, r0, 0x1c
/* 8007320C 0007014C 38 63 00 08 */ addi r3, r3, 8
/* 80073210 00070150 7C 7F 1A 14 */ add r3, r31, r3
/* 80073214 00070154 4B F9 A2 15 */ bl mDoExt_baseAnm_NS_play
/* 80073218 00070158 88 1F 01 70 */ lbz r0, 0x170(r31)
/* 8007321C 0007015C 1C 60 00 18 */ mulli r3, r0, 0x18
/* 80073220 00070160 38 63 00 40 */ addi r3, r3, 0x40
/* 80073224 00070164 7C 7F 1A 14 */ add r3, r31, r3
/* 80073228 00070168 4B F9 A2 01 */ bl mDoExt_baseAnm_NS_play
/* 8007322C 0007016C 88 1F 01 70 */ lbz r0, 0x170(r31)
/* 80073230 00070170 1C 60 00 18 */ mulli r3, r0, 0x18
/* 80073234 00070174 38 63 00 70 */ addi r3, r3, 0x70
/* 80073238 00070178 7C 7F 1A 14 */ add r3, r31, r3
/* 8007323C 0007017C 4B F9 A1 ED */ bl mDoExt_baseAnm_NS_play
/* 80073240 00070180 88 1F 01 70 */ lbz r0, 0x170(r31)
/* 80073244 00070184 1C 60 00 18 */ mulli r3, r0, 0x18
/* 80073248 00070188 38 63 00 D0 */ addi r3, r3, 0xd0
/* 8007324C 0007018C 7C 7F 1A 14 */ add r3, r31, r3
/* 80073250 00070190 4B F9 A1 D9 */ bl mDoExt_baseAnm_NS_play
/* 80073254 00070194 88 1F 01 70 */ lbz r0, 0x170(r31)
/* 80073258 00070198 1C 60 00 18 */ mulli r3, r0, 0x18
/* 8007325C 0007019C 38 63 00 A0 */ addi r3, r3, 0xa0
/* 80073260 000701A0 7C 7F 1A 14 */ add r3, r31, r3
/* 80073264 000701A4 4B F9 A1 C5 */ bl mDoExt_baseAnm_NS_play
/* 80073268 000701A8 48 00 00 24 */ b lbl_8007328C
lbl_8007326C:
/* 8007326C 000701AC 38 7F 01 00 */ addi r3, r31, 0x100
/* 80073270 000701B0 4B F9 A1 B9 */ bl mDoExt_baseAnm_NS_play
/* 80073274 000701B4 38 7F 01 1C */ addi r3, r31, 0x11c
/* 80073278 000701B8 4B F9 A1 B1 */ bl mDoExt_baseAnm_NS_play
/* 8007327C 000701BC 38 7F 01 34 */ addi r3, r31, 0x134
/* 80073280 000701C0 4B F9 A1 A9 */ bl mDoExt_baseAnm_NS_play
/* 80073284 000701C4 38 7F 01 4C */ addi r3, r31, 0x14c
/* 80073288 000701C8 4B F9 A1 A1 */ bl mDoExt_baseAnm_NS_play
lbl_8007328C:
/* 8007328C 000701CC E3 E1 00 38 */ psq_l f31, 56(r1), 0, 0
/* 80073290 000701D0 CB E1 00 30 */ lfd f31, 0x30(r1)
/* 80073294 000701D4 39 61 00 30 */ addi r11, r1, 0x30
/* 80073298 000701D8 48 2E EF 8D */ bl _restgpr_28
/* 8007329C 000701DC 80 01 00 44 */ lwz r0, 0x44(r1)
/* 800732A0 000701E0 7C 08 03 A6 */ mtlr r0
/* 800732A4 000701E4 38 21 00 40 */ addi r1, r1, 0x40
/* 800732A8 000701E8 4E 80 00 20 */ blr