mirror of https://github.com/zeldaret/tp.git
203 lines
10 KiB
ArmAsm
203 lines
10 KiB
ArmAsm
/* 802C3780 002C06C0 94 21 FF C0 */ stwu r1, -0x40(r1)
|
|
/* 802C3784 002C06C4 7C 08 02 A6 */ mflr r0
|
|
/* 802C3788 002C06C8 90 01 00 44 */ stw r0, 0x44(r1)
|
|
/* 802C378C 002C06CC DB E1 00 30 */ stfd f31, 0x30(r1)
|
|
/* 802C3790 002C06D0 F3 E1 00 38 */ psq_st f31, 56(r1), 0, 0
|
|
/* 802C3794 002C06D4 39 61 00 30 */ addi r11, r1, 0x30
|
|
/* 802C3798 002C06D8 48 09 EA 45 */ bl _savegpr_29
|
|
/* 802C379C 002C06DC 7C 7F 1B 78 */ mr r31, r3
|
|
/* 802C37A0 002C06E0 7C 9D 23 78 */ mr r29, r4
|
|
/* 802C37A4 002C06E4 7C BE 2B 78 */ mr r30, r5
|
|
/* 802C37A8 002C06E8 4B FF CE A5 */ bl Z2Creature_NS_framework
|
|
/* 802C37AC 002C06EC 88 1F 00 B3 */ lbz r0, 0xb3(r31)
|
|
/* 802C37B0 002C06F0 28 00 00 00 */ cmplwi r0, 0
|
|
/* 802C37B4 002C06F4 41 82 00 20 */ beq lbl_802C37D4
|
|
/* 802C37B8 002C06F8 38 7F 00 94 */ addi r3, r31, 0x94
|
|
/* 802C37BC 002C06FC 7F A4 EB 78 */ mr r4, r29
|
|
/* 802C37C0 002C0700 7F C5 F3 78 */ mr r5, r30
|
|
/* 802C37C4 002C0704 81 9F 00 A4 */ lwz r12, 0xa4(r31)
|
|
/* 802C37C8 002C0708 81 8C 00 08 */ lwz r12, 8(r12)
|
|
/* 802C37CC 002C070C 7D 89 03 A6 */ mtctr r12
|
|
/* 802C37D0 002C0710 4E 80 04 21 */ bctrl
|
|
lbl_802C37D4:
|
|
/* 802C37D4 002C0714 88 7F 00 C1 */ lbz r3, 0xc1(r31)
|
|
/* 802C37D8 002C0718 28 03 00 FF */ cmplwi r3, 0xff
|
|
/* 802C37DC 002C071C 41 82 00 0C */ beq lbl_802C37E8
|
|
/* 802C37E0 002C0720 38 03 00 01 */ addi r0, r3, 1
|
|
/* 802C37E4 002C0724 98 1F 00 C1 */ stb r0, 0xc1(r31)
|
|
lbl_802C37E8:
|
|
/* 802C37E8 002C0728 88 1F 00 CB */ lbz r0, 0xcb(r31)
|
|
/* 802C37EC 002C072C 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
|
|
/* 802C37F0 002C0730 41 82 00 3C */ beq lbl_802C382C
|
|
/* 802C37F4 002C0734 3C 60 00 02 */ lis r3, 0x00020051@ha
|
|
/* 802C37F8 002C0738 38 03 00 51 */ addi r0, r3, 0x00020051@l
|
|
/* 802C37FC 002C073C 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 802C3800 002C0740 80 6D 86 08 */ lwz r3, lbl_80450B88-_SDA_BASE_(r13)
|
|
/* 802C3804 002C0744 38 81 00 14 */ addi r4, r1, 0x14
|
|
/* 802C3808 002C0748 38 A0 00 00 */ li r5, 0
|
|
/* 802C380C 002C074C 38 C0 00 00 */ li r6, 0
|
|
/* 802C3810 002C0750 38 E0 00 00 */ li r7, 0
|
|
/* 802C3814 002C0754 C0 22 C2 98 */ lfs f1, lbl_80455C98-_SDA2_BASE_(r2)
|
|
/* 802C3818 002C0758 FC 40 08 90 */ fmr f2, f1
|
|
/* 802C381C 002C075C C0 62 C2 9C */ lfs f3, lbl_80455C9C-_SDA2_BASE_(r2)
|
|
/* 802C3820 002C0760 FC 80 18 90 */ fmr f4, f3
|
|
/* 802C3824 002C0764 39 00 00 00 */ li r8, 0
|
|
/* 802C3828 002C0768 4B FE 8C E5 */ bl seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc
|
|
lbl_802C382C:
|
|
/* 802C382C 002C076C 88 1F 00 CB */ lbz r0, 0xcb(r31)
|
|
/* 802C3830 002C0770 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
|
|
/* 802C3834 002C0774 41 82 00 5C */ beq lbl_802C3890
|
|
/* 802C3838 002C0778 80 6D 85 FC */ lwz r3, lbl_80450B7C-_SDA_BASE_(r13)
|
|
/* 802C383C 002C077C C3 E3 00 1C */ lfs f31, 0x1c(r3)
|
|
/* 802C3840 002C0780 C0 02 C2 A0 */ lfs f0, lbl_80455CA0-_SDA2_BASE_(r2)
|
|
/* 802C3844 002C0784 FC 1F 00 40 */ fcmpo cr0, f31, f0
|
|
/* 802C3848 002C0788 40 81 00 48 */ ble lbl_802C3890
|
|
/* 802C384C 002C078C 3C 60 00 02 */ lis r3, 0x00020062@ha
|
|
/* 802C3850 002C0790 38 03 00 62 */ addi r0, r3, 0x00020062@l
|
|
/* 802C3854 002C0794 90 01 00 10 */ stw r0, 0x10(r1)
|
|
/* 802C3858 002C0798 7F E3 FB 78 */ mr r3, r31
|
|
/* 802C385C 002C079C 38 81 00 10 */ addi r4, r1, 0x10
|
|
/* 802C3860 002C07A0 38 A0 00 00 */ li r5, 0
|
|
/* 802C3864 002C07A4 38 C0 FF FF */ li r6, -1
|
|
/* 802C3868 002C07A8 48 00 06 01 */ bl startLinkSoundLevel__14Z2CreatureLinkF10JAISoundIDUlSc
|
|
/* 802C386C 002C07AC 28 03 00 00 */ cmplwi r3, 0
|
|
/* 802C3870 002C07B0 41 82 00 20 */ beq lbl_802C3890
|
|
/* 802C3874 002C07B4 80 63 00 00 */ lwz r3, 0(r3)
|
|
/* 802C3878 002C07B8 28 03 00 00 */ cmplwi r3, 0
|
|
/* 802C387C 002C07BC 41 82 00 14 */ beq lbl_802C3890
|
|
/* 802C3880 002C07C0 38 63 00 48 */ addi r3, r3, 0x48
|
|
/* 802C3884 002C07C4 FC 20 F8 90 */ fmr f1, f31
|
|
/* 802C3888 002C07C8 38 80 00 00 */ li r4, 0
|
|
/* 802C388C 002C07CC 4B FD F5 29 */ bl moveVolume__18JAISoundParamsMoveFfUl
|
|
lbl_802C3890:
|
|
/* 802C3890 002C07D0 88 1F 00 CB */ lbz r0, 0xcb(r31)
|
|
/* 802C3894 002C07D4 54 00 07 FF */ clrlwi. r0, r0, 0x1f
|
|
/* 802C3898 002C07D8 41 82 00 24 */ beq lbl_802C38BC
|
|
/* 802C389C 002C07DC 3C 60 00 02 */ lis r3, 0x0002002A@ha
|
|
/* 802C38A0 002C07E0 38 03 00 2A */ addi r0, r3, 0x0002002A@l
|
|
/* 802C38A4 002C07E4 90 01 00 0C */ stw r0, 0xc(r1)
|
|
/* 802C38A8 002C07E8 7F E3 FB 78 */ mr r3, r31
|
|
/* 802C38AC 002C07EC 38 81 00 0C */ addi r4, r1, 0xc
|
|
/* 802C38B0 002C07F0 38 A0 00 00 */ li r5, 0
|
|
/* 802C38B4 002C07F4 38 C0 FF FF */ li r6, -1
|
|
/* 802C38B8 002C07F8 48 00 05 B1 */ bl startLinkSoundLevel__14Z2CreatureLinkF10JAISoundIDUlSc
|
|
lbl_802C38BC:
|
|
/* 802C38BC 002C07FC 38 00 00 00 */ li r0, 0
|
|
/* 802C38C0 002C0800 98 1F 00 C8 */ stb r0, 0xc8(r31)
|
|
/* 802C38C4 002C0804 80 7F 00 04 */ lwz r3, 4(r31)
|
|
/* 802C38C8 002C0808 28 03 00 00 */ cmplwi r3, 0
|
|
/* 802C38CC 002C080C 41 82 01 24 */ beq lbl_802C39F0
|
|
/* 802C38D0 002C0810 C0 03 00 04 */ lfs f0, 4(r3)
|
|
/* 802C38D4 002C0814 D0 1F 00 B8 */ stfs f0, 0xb8(r31)
|
|
/* 802C38D8 002C0818 80 7F 00 04 */ lwz r3, 4(r31)
|
|
/* 802C38DC 002C081C 38 9F 00 B4 */ addi r4, r31, 0xb4
|
|
/* 802C38E0 002C0820 48 08 3A BD */ bl PSVECSquareDistance
|
|
/* 802C38E4 002C0824 C0 02 C2 A0 */ lfs f0, lbl_80455CA0-_SDA2_BASE_(r2)
|
|
/* 802C38E8 002C0828 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 802C38EC 002C082C 40 81 00 58 */ ble lbl_802C3944
|
|
/* 802C38F0 002C0830 FC 00 08 34 */ frsqrte f0, f1
|
|
/* 802C38F4 002C0834 C8 82 C2 A8 */ lfd f4, lbl_80455CA8-_SDA2_BASE_(r2)
|
|
/* 802C38F8 002C0838 FC 44 00 32 */ fmul f2, f4, f0
|
|
/* 802C38FC 002C083C C8 62 C2 B0 */ lfd f3, lbl_80455CB0-_SDA2_BASE_(r2)
|
|
/* 802C3900 002C0840 FC 00 00 32 */ fmul f0, f0, f0
|
|
/* 802C3904 002C0844 FC 01 00 32 */ fmul f0, f1, f0
|
|
/* 802C3908 002C0848 FC 03 00 28 */ fsub f0, f3, f0
|
|
/* 802C390C 002C084C FC 02 00 32 */ fmul f0, f2, f0
|
|
/* 802C3910 002C0850 FC 44 00 32 */ fmul f2, f4, f0
|
|
/* 802C3914 002C0854 FC 00 00 32 */ fmul f0, f0, f0
|
|
/* 802C3918 002C0858 FC 01 00 32 */ fmul f0, f1, f0
|
|
/* 802C391C 002C085C FC 03 00 28 */ fsub f0, f3, f0
|
|
/* 802C3920 002C0860 FC 02 00 32 */ fmul f0, f2, f0
|
|
/* 802C3924 002C0864 FC 44 00 32 */ fmul f2, f4, f0
|
|
/* 802C3928 002C0868 FC 00 00 32 */ fmul f0, f0, f0
|
|
/* 802C392C 002C086C FC 01 00 32 */ fmul f0, f1, f0
|
|
/* 802C3930 002C0870 FC 03 00 28 */ fsub f0, f3, f0
|
|
/* 802C3934 002C0874 FC 02 00 32 */ fmul f0, f2, f0
|
|
/* 802C3938 002C0878 FC 21 00 32 */ fmul f1, f1, f0
|
|
/* 802C393C 002C087C FC 20 08 18 */ frsp f1, f1
|
|
/* 802C3940 002C0880 48 00 00 88 */ b lbl_802C39C8
|
|
lbl_802C3944:
|
|
/* 802C3944 002C0884 C8 02 C2 B8 */ lfd f0, lbl_80455CB8-_SDA2_BASE_(r2)
|
|
/* 802C3948 002C0888 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 802C394C 002C088C 40 80 00 10 */ bge lbl_802C395C
|
|
/* 802C3950 002C0890 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
|
|
/* 802C3954 002C0894 C0 23 0A E0 */ lfs f1, lbl_80450AE0@l(r3)
|
|
/* 802C3958 002C0898 48 00 00 70 */ b lbl_802C39C8
|
|
lbl_802C395C:
|
|
/* 802C395C 002C089C D0 21 00 08 */ stfs f1, 8(r1)
|
|
/* 802C3960 002C08A0 80 81 00 08 */ lwz r4, 8(r1)
|
|
/* 802C3964 002C08A4 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
|
|
/* 802C3968 002C08A8 3C 00 7F 80 */ lis r0, 0x7f80
|
|
/* 802C396C 002C08AC 7C 03 00 00 */ cmpw r3, r0
|
|
/* 802C3970 002C08B0 41 82 00 14 */ beq lbl_802C3984
|
|
/* 802C3974 002C08B4 40 80 00 40 */ bge lbl_802C39B4
|
|
/* 802C3978 002C08B8 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 802C397C 002C08BC 41 82 00 20 */ beq lbl_802C399C
|
|
/* 802C3980 002C08C0 48 00 00 34 */ b lbl_802C39B4
|
|
lbl_802C3984:
|
|
/* 802C3984 002C08C4 54 80 02 7F */ clrlwi. r0, r4, 9
|
|
/* 802C3988 002C08C8 41 82 00 0C */ beq lbl_802C3994
|
|
/* 802C398C 002C08CC 38 00 00 01 */ li r0, 1
|
|
/* 802C3990 002C08D0 48 00 00 28 */ b lbl_802C39B8
|
|
lbl_802C3994:
|
|
/* 802C3994 002C08D4 38 00 00 02 */ li r0, 2
|
|
/* 802C3998 002C08D8 48 00 00 20 */ b lbl_802C39B8
|
|
lbl_802C399C:
|
|
/* 802C399C 002C08DC 54 80 02 7F */ clrlwi. r0, r4, 9
|
|
/* 802C39A0 002C08E0 41 82 00 0C */ beq lbl_802C39AC
|
|
/* 802C39A4 002C08E4 38 00 00 05 */ li r0, 5
|
|
/* 802C39A8 002C08E8 48 00 00 10 */ b lbl_802C39B8
|
|
lbl_802C39AC:
|
|
/* 802C39AC 002C08EC 38 00 00 03 */ li r0, 3
|
|
/* 802C39B0 002C08F0 48 00 00 08 */ b lbl_802C39B8
|
|
lbl_802C39B4:
|
|
/* 802C39B4 002C08F4 38 00 00 04 */ li r0, 4
|
|
lbl_802C39B8:
|
|
/* 802C39B8 002C08F8 2C 00 00 01 */ cmpwi r0, 1
|
|
/* 802C39BC 002C08FC 40 82 00 0C */ bne lbl_802C39C8
|
|
/* 802C39C0 002C0900 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
|
|
/* 802C39C4 002C0904 C0 23 0A E0 */ lfs f1, lbl_80450AE0@l(r3)
|
|
lbl_802C39C8:
|
|
/* 802C39C8 002C0908 FC 00 08 1E */ fctiwz f0, f1
|
|
/* 802C39CC 002C090C D8 01 00 18 */ stfd f0, 0x18(r1)
|
|
/* 802C39D0 002C0910 80 01 00 1C */ lwz r0, 0x1c(r1)
|
|
/* 802C39D4 002C0914 98 1F 00 C8 */ stb r0, 0xc8(r31)
|
|
/* 802C39D8 002C0918 80 7F 00 04 */ lwz r3, 4(r31)
|
|
/* 802C39DC 002C091C C0 03 00 00 */ lfs f0, 0(r3)
|
|
/* 802C39E0 002C0920 D0 1F 00 B4 */ stfs f0, 0xb4(r31)
|
|
/* 802C39E4 002C0924 80 7F 00 04 */ lwz r3, 4(r31)
|
|
/* 802C39E8 002C0928 C0 03 00 08 */ lfs f0, 8(r3)
|
|
/* 802C39EC 002C092C D0 1F 00 BC */ stfs f0, 0xbc(r31)
|
|
lbl_802C39F0:
|
|
/* 802C39F0 002C0930 80 6D 85 FC */ lwz r3, lbl_80450B7C-_SDA_BASE_(r13)
|
|
/* 802C39F4 002C0934 88 03 00 2C */ lbz r0, 0x2c(r3)
|
|
/* 802C39F8 002C0938 28 00 00 0A */ cmplwi r0, 0xa
|
|
/* 802C39FC 002C093C 40 82 00 10 */ bne lbl_802C3A0C
|
|
/* 802C3A00 002C0940 38 00 00 B4 */ li r0, 0xb4
|
|
/* 802C3A04 002C0944 98 1F 00 C9 */ stb r0, 0xc9(r31)
|
|
/* 802C3A08 002C0948 48 00 00 3C */ b lbl_802C3A44
|
|
lbl_802C3A0C:
|
|
/* 802C3A0C 002C094C 88 1F 00 C8 */ lbz r0, 0xc8(r31)
|
|
/* 802C3A10 002C0950 28 00 00 05 */ cmplwi r0, 5
|
|
/* 802C3A14 002C0954 40 80 00 1C */ bge lbl_802C3A30
|
|
/* 802C3A18 002C0958 88 7F 00 C9 */ lbz r3, 0xc9(r31)
|
|
/* 802C3A1C 002C095C 28 03 00 B4 */ cmplwi r3, 0xb4
|
|
/* 802C3A20 002C0960 40 80 00 24 */ bge lbl_802C3A44
|
|
/* 802C3A24 002C0964 38 03 00 01 */ addi r0, r3, 1
|
|
/* 802C3A28 002C0968 98 1F 00 C9 */ stb r0, 0xc9(r31)
|
|
/* 802C3A2C 002C096C 48 00 00 18 */ b lbl_802C3A44
|
|
lbl_802C3A30:
|
|
/* 802C3A30 002C0970 88 7F 00 C9 */ lbz r3, 0xc9(r31)
|
|
/* 802C3A34 002C0974 28 03 00 00 */ cmplwi r3, 0
|
|
/* 802C3A38 002C0978 41 82 00 0C */ beq lbl_802C3A44
|
|
/* 802C3A3C 002C097C 38 03 FF FF */ addi r0, r3, -1
|
|
/* 802C3A40 002C0980 98 1F 00 C9 */ stb r0, 0xc9(r31)
|
|
lbl_802C3A44:
|
|
/* 802C3A44 002C0984 E3 E1 00 38 */ psq_l f31, 56(r1), 0, 0
|
|
/* 802C3A48 002C0988 CB E1 00 30 */ lfd f31, 0x30(r1)
|
|
/* 802C3A4C 002C098C 39 61 00 30 */ addi r11, r1, 0x30
|
|
/* 802C3A50 002C0990 48 09 E7 D9 */ bl _restgpr_29
|
|
/* 802C3A54 002C0994 80 01 00 44 */ lwz r0, 0x44(r1)
|
|
/* 802C3A58 002C0998 7C 08 03 A6 */ mtlr r0
|
|
/* 802C3A5C 002C099C 38 21 00 40 */ addi r1, r1, 0x40
|
|
/* 802C3A60 002C09A0 4E 80 00 20 */ blr
|