2022-10-16 16:05:58 +00:00
|
|
|
.include "macros.inc"
|
|
|
|
|
|
|
|
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
|
2022-10-16 16:31:36 +00:00
|
|
|
.global PSQUATMultiply
|
|
|
|
PSQUATMultiply:
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800317B0 0002D5F0 E0 03 00 00 */ psq_l f0, 0x0(r3), 0, qr0
|
|
|
|
/* 800317B4 0002D5F4 E0 23 00 08 */ psq_l f1, 0x8(r3), 0, qr0
|
|
|
|
/* 800317B8 0002D5F8 10 A0 00 50 */ ps_neg f5, f0
|
|
|
|
/* 800317BC 0002D5FC E0 44 00 00 */ psq_l f2, 0x0(r4), 0, qr0
|
|
|
|
/* 800317C0 0002D600 10 C0 08 50 */ ps_neg f6, f1
|
|
|
|
/* 800317C4 0002D604 E0 64 00 08 */ psq_l f3, 0x8(r4), 0, qr0
|
|
|
|
/* 800317C8 0002D608 10 E1 00 98 */ ps_muls0 f7, f1, f2
|
|
|
|
/* 800317CC 0002D60C 10 85 04 60 */ ps_merge01 f4, f5, f0
|
|
|
|
/* 800317D0 0002D610 10 26 0C 60 */ ps_merge01 f1, f6, f1
|
|
|
|
/* 800317D4 0002D614 10 A5 00 98 */ ps_muls0 f5, f5, f2
|
|
|
|
/* 800317D8 0002D618 11 04 00 9A */ ps_muls1 f8, f4, f2
|
|
|
|
/* 800317DC 0002D61C 10 E4 38 DC */ ps_madds0 f7, f4, f3, f7
|
|
|
|
/* 800317E0 0002D620 10 41 00 9A */ ps_muls1 f2, f1, f2
|
|
|
|
/* 800317E4 0002D624 10 A1 28 DC */ ps_madds0 f5, f1, f3, f5
|
|
|
|
/* 800317E8 0002D628 10 E7 3C A0 */ ps_merge10 f7, f7, f7
|
|
|
|
/* 800317EC 0002D62C 10 40 10 DE */ ps_madds1 f2, f0, f3, f2
|
|
|
|
/* 800317F0 0002D630 10 A5 2C A0 */ ps_merge10 f5, f5, f5
|
|
|
|
/* 800317F4 0002D634 11 06 40 DE */ ps_madds1 f8, f6, f3, f8
|
|
|
|
/* 800317F8 0002D638 10 E7 10 2A */ ps_add f7, f7, f2
|
|
|
|
/* 800317FC 0002D63C 10 A5 40 28 */ ps_sub f5, f5, f8
|
|
|
|
/* 80031800 0002D640 F0 E5 00 00 */ psq_st f7, 0x0(r5), 0, qr0
|
|
|
|
/* 80031804 0002D644 F0 A5 00 08 */ psq_st f5, 0x8(r5), 0, qr0
|
|
|
|
/* 80031808 0002D648 4E 80 00 20 */ blr
|
|
|
|
/* 8003180C 0002D64C 00 00 00 00 */ .4byte 0x00000000
|
2022-10-16 16:31:36 +00:00
|
|
|
.global C_QUATRotAxisRad
|
|
|
|
C_QUATRotAxisRad:
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80031810 0002D650 94 21 FF C0 */ stwu r1, -0x40(r1)
|
|
|
|
/* 80031814 0002D654 7C 08 02 A6 */ mflr r0
|
|
|
|
/* 80031818 0002D658 90 01 00 44 */ stw r0, 0x44(r1)
|
|
|
|
/* 8003181C 0002D65C DB E1 00 30 */ stfd f31, 0x30(r1)
|
|
|
|
/* 80031820 0002D660 F3 E1 00 38 */ psq_st f31, 0x38(r1), 0, qr0
|
|
|
|
/* 80031824 0002D664 DB C1 00 20 */ stfd f30, 0x20(r1)
|
|
|
|
/* 80031828 0002D668 F3 C1 00 28 */ psq_st f30, 0x28(r1), 0, qr0
|
|
|
|
/* 8003182C 0002D66C FF C0 08 90 */ fmr f30, f1
|
|
|
|
/* 80031830 0002D670 93 E1 00 1C */ stw r31, 0x1c(r1)
|
|
|
|
/* 80031834 0002D674 7C 7F 1B 78 */ mr r31, r3
|
|
|
|
/* 80031838 0002D678 7C 83 23 78 */ mr r3, r4
|
|
|
|
/* 8003183C 0002D67C 38 81 00 08 */ addi r4, r1, 0x8
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80031840 0002D680 4B FF FD 61 */ bl PSVECNormalize
|
|
|
|
/* 80031844 0002D684 C0 02 86 00 */ lfs f0, "@1603"@sda21(r2)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80031848 0002D688 EF C0 07 B2 */ fmuls f30, f0, f30
|
|
|
|
/* 8003184C 0002D68C FC 20 F0 90 */ fmr f1, f30
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80031850 0002D690 4B FE 2B F5 */ bl sin
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80031854 0002D694 FF E0 08 18 */ frsp f31, f1
|
|
|
|
/* 80031858 0002D698 FC 20 F0 90 */ fmr f1, f30
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 8003185C 0002D69C 4B FE 26 E1 */ bl cos
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80031860 0002D6A0 C0 01 00 08 */ lfs f0, 0x8(r1)
|
|
|
|
/* 80031864 0002D6A4 FC 20 08 18 */ frsp f1, f1
|
|
|
|
/* 80031868 0002D6A8 EC 1F 00 32 */ fmuls f0, f31, f0
|
|
|
|
/* 8003186C 0002D6AC D0 1F 00 00 */ stfs f0, 0x0(r31)
|
|
|
|
/* 80031870 0002D6B0 C0 01 00 0C */ lfs f0, 0xc(r1)
|
|
|
|
/* 80031874 0002D6B4 EC 1F 00 32 */ fmuls f0, f31, f0
|
|
|
|
/* 80031878 0002D6B8 D0 1F 00 04 */ stfs f0, 0x4(r31)
|
|
|
|
/* 8003187C 0002D6BC C0 01 00 10 */ lfs f0, 0x10(r1)
|
|
|
|
/* 80031880 0002D6C0 EC 1F 00 32 */ fmuls f0, f31, f0
|
|
|
|
/* 80031884 0002D6C4 D0 3F 00 0C */ stfs f1, 0xc(r31)
|
|
|
|
/* 80031888 0002D6C8 D0 1F 00 08 */ stfs f0, 0x8(r31)
|
|
|
|
/* 8003188C 0002D6CC E3 E1 00 38 */ psq_l f31, 0x38(r1), 0, qr0
|
|
|
|
/* 80031890 0002D6D0 CB E1 00 30 */ lfd f31, 0x30(r1)
|
|
|
|
/* 80031894 0002D6D4 E3 C1 00 28 */ psq_l f30, 0x28(r1), 0, qr0
|
|
|
|
/* 80031898 0002D6D8 CB C1 00 20 */ lfd f30, 0x20(r1)
|
|
|
|
/* 8003189C 0002D6DC 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
|
|
/* 800318A0 0002D6E0 80 01 00 44 */ lwz r0, 0x44(r1)
|
|
|
|
/* 800318A4 0002D6E4 7C 08 03 A6 */ mtlr r0
|
|
|
|
/* 800318A8 0002D6E8 38 21 00 40 */ addi r1, r1, 0x40
|
|
|
|
/* 800318AC 0002D6EC 4E 80 00 20 */ blr
|
2022-10-16 16:31:36 +00:00
|
|
|
.global C_QUATMtx
|
|
|
|
C_QUATMtx:
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800318B0 0002D6F0 94 21 FF C0 */ stwu r1, -0x40(r1)
|
|
|
|
/* 800318B4 0002D6F4 7C 08 02 A6 */ mflr r0
|
|
|
|
/* 800318B8 0002D6F8 90 01 00 44 */ stw r0, 0x44(r1)
|
|
|
|
/* 800318BC 0002D6FC 39 61 00 40 */ addi r11, r1, 0x40
|
|
|
|
/* 800318C0 0002D700 4B FD 5A 75 */ bl lbl_80007334
|
|
|
|
/* 800318C4 0002D704 C0 64 00 00 */ lfs f3, 0x0(r4)
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800318C8 0002D708 3C C0 80 40 */ lis r6, "@1420"@ha
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800318CC 0002D70C C0 44 00 14 */ lfs f2, 0x14(r4)
|
|
|
|
/* 800318D0 0002D710 7C 7F 1B 78 */ mr r31, r3
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800318D4 0002D714 84 A6 78 40 */ lwzu r5, "@1420"@l(r6)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800318D8 0002D718 7C 99 23 78 */ mr r25, r4
|
|
|
|
/* 800318DC 0002D71C EC 23 10 2A */ fadds f1, f3, f2
|
|
|
|
/* 800318E0 0002D720 C0 04 00 28 */ lfs f0, 0x28(r4)
|
|
|
|
/* 800318E4 0002D724 80 66 00 04 */ lwz r3, 0x4(r6)
|
|
|
|
/* 800318E8 0002D728 80 06 00 08 */ lwz r0, 0x8(r6)
|
|
|
|
/* 800318EC 0002D72C EC 20 08 2A */ fadds f1, f0, f1
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800318F0 0002D730 C0 02 85 FC */ lfs f0, "@1599"@sda21(r2)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800318F4 0002D734 90 A1 00 14 */ stw r5, 0x14(r1)
|
|
|
|
/* 800318F8 0002D738 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
|
|
/* 800318FC 0002D73C 90 61 00 18 */ stw r3, 0x18(r1)
|
|
|
|
/* 80031900 0002D740 90 01 00 1C */ stw r0, 0x1c(r1)
|
|
|
|
/* 80031904 0002D744 40 81 00 64 */ ble lbl_80031968
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80031908 0002D748 C0 02 85 F8 */ lfs f0, "@1598"@sda21(r2)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 8003190C 0002D74C EC 20 08 2A */ fadds f1, f0, f1
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80031910 0002D750 4B FE 2E D9 */ bl sqrt
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80031914 0002D754 FC E0 08 18 */ frsp f7, f1
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80031918 0002D758 C0 C2 86 00 */ lfs f6, "@1603"@sda21(r2)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 8003191C 0002D75C C0 B9 00 24 */ lfs f5, 0x24(r25)
|
|
|
|
/* 80031920 0002D760 C0 99 00 18 */ lfs f4, 0x18(r25)
|
|
|
|
/* 80031924 0002D764 ED 06 38 24 */ fdivs f8, f6, f7
|
|
|
|
/* 80031928 0002D768 C0 79 00 08 */ lfs f3, 0x8(r25)
|
|
|
|
/* 8003192C 0002D76C C0 59 00 20 */ lfs f2, 0x20(r25)
|
|
|
|
/* 80031930 0002D770 C0 39 00 10 */ lfs f1, 0x10(r25)
|
|
|
|
/* 80031934 0002D774 C0 19 00 04 */ lfs f0, 0x4(r25)
|
|
|
|
/* 80031938 0002D778 EC 85 20 28 */ fsubs f4, f5, f4
|
|
|
|
/* 8003193C 0002D77C EC 43 10 28 */ fsubs f2, f3, f2
|
|
|
|
/* 80031940 0002D780 EC 01 00 28 */ fsubs f0, f1, f0
|
|
|
|
/* 80031944 0002D784 EC A6 01 F2 */ fmuls f5, f6, f7
|
|
|
|
/* 80031948 0002D788 EC 68 01 32 */ fmuls f3, f8, f4
|
|
|
|
/* 8003194C 0002D78C EC 28 00 B2 */ fmuls f1, f8, f2
|
|
|
|
/* 80031950 0002D790 D0 BF 00 0C */ stfs f5, 0xc(r31)
|
|
|
|
/* 80031954 0002D794 EC 08 00 32 */ fmuls f0, f8, f0
|
|
|
|
/* 80031958 0002D798 D0 7F 00 00 */ stfs f3, 0x0(r31)
|
|
|
|
/* 8003195C 0002D79C D0 3F 00 04 */ stfs f1, 0x4(r31)
|
|
|
|
/* 80031960 0002D7A0 D0 1F 00 08 */ stfs f0, 0x8(r31)
|
|
|
|
/* 80031964 0002D7A4 48 00 01 00 */ b lbl_80031A64
|
|
|
|
.global lbl_80031968
|
|
|
|
lbl_80031968:
|
|
|
|
/* 80031968 0002D7A8 FC 02 18 40 */ fcmpo cr0, f2, f3
|
|
|
|
/* 8003196C 0002D7AC 38 A0 00 00 */ li r5, 0x0
|
|
|
|
/* 80031970 0002D7B0 40 81 00 08 */ ble lbl_80031978
|
|
|
|
/* 80031974 0002D7B4 38 A0 00 01 */ li r5, 0x1
|
|
|
|
.global lbl_80031978
|
|
|
|
lbl_80031978:
|
|
|
|
/* 80031978 0002D7B8 54 A0 20 36 */ slwi r0, r5, 4
|
|
|
|
/* 8003197C 0002D7BC 54 A3 10 3A */ slwi r3, r5, 2
|
|
|
|
/* 80031980 0002D7C0 7C 04 02 14 */ add r0, r4, r0
|
|
|
|
/* 80031984 0002D7C4 C0 24 00 28 */ lfs f1, 0x28(r4)
|
|
|
|
/* 80031988 0002D7C8 7C 03 04 2E */ lfsx f0, r3, r0
|
|
|
|
/* 8003198C 0002D7CC FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
|
|
/* 80031990 0002D7D0 40 81 00 08 */ ble lbl_80031998
|
|
|
|
/* 80031994 0002D7D4 38 A0 00 02 */ li r5, 0x2
|
|
|
|
.global lbl_80031998
|
|
|
|
lbl_80031998:
|
|
|
|
/* 80031998 0002D7D8 54 BA 10 3A */ slwi r26, r5, 2
|
|
|
|
/* 8003199C 0002D7DC 38 61 00 14 */ addi r3, r1, 0x14
|
|
|
|
/* 800319A0 0002D7E0 7C C3 D0 2E */ lwzx r6, r3, r26
|
|
|
|
/* 800319A4 0002D7E4 54 A0 20 36 */ slwi r0, r5, 4
|
|
|
|
/* 800319A8 0002D7E8 7F 24 02 14 */ add r25, r4, r0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800319AC 0002D7EC C0 02 85 F8 */ lfs f0, "@1598"@sda21(r2)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800319B0 0002D7F0 54 DC 10 3A */ slwi r28, r6, 2
|
|
|
|
/* 800319B4 0002D7F4 54 C0 20 36 */ slwi r0, r6, 4
|
|
|
|
/* 800319B8 0002D7F8 7C 63 E0 2E */ lwzx r3, r3, r28
|
|
|
|
/* 800319BC 0002D7FC 7F A4 02 14 */ add r29, r4, r0
|
|
|
|
/* 800319C0 0002D800 7C 7D E4 2E */ lfsx f3, r29, r28
|
|
|
|
/* 800319C4 0002D804 54 60 20 36 */ slwi r0, r3, 4
|
|
|
|
/* 800319C8 0002D808 54 7E 10 3A */ slwi r30, r3, 2
|
|
|
|
/* 800319CC 0002D80C 7F 64 02 14 */ add r27, r4, r0
|
|
|
|
/* 800319D0 0002D810 7C 39 D4 2E */ lfsx f1, r25, r26
|
|
|
|
/* 800319D4 0002D814 7C 5B F4 2E */ lfsx f2, r27, r30
|
|
|
|
/* 800319D8 0002D818 EC 43 10 2A */ fadds f2, f3, f2
|
|
|
|
/* 800319DC 0002D81C EC 21 10 28 */ fsubs f1, f1, f2
|
|
|
|
/* 800319E0 0002D820 EC 20 08 2A */ fadds f1, f0, f1
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800319E4 0002D824 4B FE 2E 05 */ bl sqrt
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800319E8 0002D828 FC A0 08 18 */ frsp f5, f1
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800319EC 0002D82C C0 42 86 00 */ lfs f2, "@1603"@sda21(r2)
|
|
|
|
/* 800319F0 0002D830 C0 02 85 FC */ lfs f0, "@1599"@sda21(r2)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800319F4 0002D834 38 61 00 08 */ addi r3, r1, 0x8
|
|
|
|
/* 800319F8 0002D838 EC 22 01 72 */ fmuls f1, f2, f5
|
|
|
|
/* 800319FC 0002D83C FC 00 28 00 */ fcmpu cr0, f0, f5
|
|
|
|
/* 80031A00 0002D840 7C 23 D5 2E */ stfsx f1, r3, r26
|
|
|
|
/* 80031A04 0002D844 41 82 00 08 */ beq lbl_80031A0C
|
|
|
|
/* 80031A08 0002D848 EC A2 28 24 */ fdivs f5, f2, f5
|
|
|
|
.global lbl_80031A0C
|
|
|
|
lbl_80031A0C:
|
|
|
|
/* 80031A0C 0002D84C 7C 59 E4 2E */ lfsx f2, r25, r28
|
|
|
|
/* 80031A10 0002D850 38 61 00 08 */ addi r3, r1, 0x8
|
|
|
|
/* 80031A14 0002D854 7C 1D D4 2E */ lfsx f0, r29, r26
|
|
|
|
/* 80031A18 0002D858 7C 39 F4 2E */ lfsx f1, r25, r30
|
|
|
|
/* 80031A1C 0002D85C EC 42 00 2A */ fadds f2, f2, f0
|
|
|
|
/* 80031A20 0002D860 7C 1B D4 2E */ lfsx f0, r27, r26
|
|
|
|
/* 80031A24 0002D864 7C 9B E4 2E */ lfsx f4, r27, r28
|
|
|
|
/* 80031A28 0002D868 EC 01 00 2A */ fadds f0, f1, f0
|
|
|
|
/* 80031A2C 0002D86C 7C 7D F4 2E */ lfsx f3, r29, r30
|
|
|
|
/* 80031A30 0002D870 EC 25 00 B2 */ fmuls f1, f5, f2
|
|
|
|
/* 80031A34 0002D874 EC 44 18 28 */ fsubs f2, f4, f3
|
|
|
|
/* 80031A38 0002D878 7C 23 E5 2E */ stfsx f1, r3, r28
|
|
|
|
/* 80031A3C 0002D87C EC 05 00 32 */ fmuls f0, f5, f0
|
|
|
|
/* 80031A40 0002D880 7C 03 F5 2E */ stfsx f0, r3, r30
|
|
|
|
/* 80031A44 0002D884 EC 65 00 B2 */ fmuls f3, f5, f2
|
|
|
|
/* 80031A48 0002D888 C0 41 00 08 */ lfs f2, 0x8(r1)
|
|
|
|
/* 80031A4C 0002D88C C0 21 00 0C */ lfs f1, 0xc(r1)
|
|
|
|
/* 80031A50 0002D890 C0 01 00 10 */ lfs f0, 0x10(r1)
|
|
|
|
/* 80031A54 0002D894 D0 7F 00 0C */ stfs f3, 0xc(r31)
|
|
|
|
/* 80031A58 0002D898 D0 5F 00 00 */ stfs f2, 0x0(r31)
|
|
|
|
/* 80031A5C 0002D89C D0 3F 00 04 */ stfs f1, 0x4(r31)
|
|
|
|
/* 80031A60 0002D8A0 D0 1F 00 08 */ stfs f0, 0x8(r31)
|
|
|
|
.global lbl_80031A64
|
|
|
|
lbl_80031A64:
|
|
|
|
/* 80031A64 0002D8A4 39 61 00 40 */ addi r11, r1, 0x40
|
|
|
|
/* 80031A68 0002D8A8 4B FD 59 19 */ bl lbl_80007380
|
|
|
|
/* 80031A6C 0002D8AC 80 01 00 44 */ lwz r0, 0x44(r1)
|
|
|
|
/* 80031A70 0002D8B0 7C 08 03 A6 */ mtlr r0
|
|
|
|
/* 80031A74 0002D8B4 38 21 00 40 */ addi r1, r1, 0x40
|
|
|
|
/* 80031A78 0002D8B8 4E 80 00 20 */ blr
|
|
|
|
/* 80031A7C 0002D8BC 00 00 00 00 */ .4byte 0x00000000
|
2022-10-16 16:31:36 +00:00
|
|
|
.global C_QUATSlerp
|
|
|
|
C_QUATSlerp:
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80031A80 0002D8C0 94 21 FF A0 */ stwu r1, -0x60(r1)
|
|
|
|
/* 80031A84 0002D8C4 7C 08 02 A6 */ mflr r0
|
|
|
|
/* 80031A88 0002D8C8 C0 83 00 00 */ lfs f4, 0x0(r3)
|
|
|
|
/* 80031A8C 0002D8CC 90 01 00 64 */ stw r0, 0x64(r1)
|
|
|
|
/* 80031A90 0002D8D0 C0 64 00 00 */ lfs f3, 0x0(r4)
|
|
|
|
/* 80031A94 0002D8D4 DB E1 00 50 */ stfd f31, 0x50(r1)
|
|
|
|
/* 80031A98 0002D8D8 C0 43 00 04 */ lfs f2, 0x4(r3)
|
|
|
|
/* 80031A9C 0002D8DC EC 64 00 F2 */ fmuls f3, f4, f3
|
|
|
|
/* 80031AA0 0002D8E0 F3 E1 00 58 */ psq_st f31, 0x58(r1), 0, qr0
|
|
|
|
/* 80031AA4 0002D8E4 FF E0 08 90 */ fmr f31, f1
|
|
|
|
/* 80031AA8 0002D8E8 C0 04 00 04 */ lfs f0, 0x4(r4)
|
|
|
|
/* 80031AAC 0002D8EC DB C1 00 40 */ stfd f30, 0x40(r1)
|
|
|
|
/* 80031AB0 0002D8F0 EC 02 00 32 */ fmuls f0, f2, f0
|
|
|
|
/* 80031AB4 0002D8F4 C0 83 00 08 */ lfs f4, 0x8(r3)
|
|
|
|
/* 80031AB8 0002D8F8 F3 C1 00 48 */ psq_st f30, 0x48(r1), 0, qr0
|
|
|
|
/* 80031ABC 0002D8FC C0 44 00 08 */ lfs f2, 0x8(r4)
|
|
|
|
/* 80031AC0 0002D900 DB A1 00 30 */ stfd f29, 0x30(r1)
|
|
|
|
/* 80031AC4 0002D904 EC 84 00 B2 */ fmuls f4, f4, f2
|
|
|
|
/* 80031AC8 0002D908 C0 C3 00 0C */ lfs f6, 0xc(r3)
|
|
|
|
/* 80031ACC 0002D90C EC 43 00 2A */ fadds f2, f3, f0
|
|
|
|
/* 80031AD0 0002D910 F3 A1 00 38 */ psq_st f29, 0x38(r1), 0, qr0
|
|
|
|
/* 80031AD4 0002D914 C0 A4 00 0C */ lfs f5, 0xc(r4)
|
|
|
|
/* 80031AD8 0002D918 DB 81 00 20 */ stfd f28, 0x20(r1)
|
|
|
|
/* 80031ADC 0002D91C EC 66 01 72 */ fmuls f3, f6, f5
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80031AE0 0002D920 C0 02 85 FC */ lfs f0, "@1599"@sda21(r2)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80031AE4 0002D924 EC 44 10 2A */ fadds f2, f4, f2
|
|
|
|
/* 80031AE8 0002D928 F3 81 00 28 */ psq_st f28, 0x28(r1), 0, qr0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80031AEC 0002D92C C3 C2 85 F8 */ lfs f30, "@1598"@sda21(r2)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80031AF0 0002D930 93 E1 00 1C */ stw r31, 0x1c(r1)
|
|
|
|
/* 80031AF4 0002D934 EC 43 10 2A */ fadds f2, f3, f2
|
|
|
|
/* 80031AF8 0002D938 7C BF 2B 78 */ mr r31, r5
|
|
|
|
/* 80031AFC 0002D93C 93 C1 00 18 */ stw r30, 0x18(r1)
|
|
|
|
/* 80031B00 0002D940 7C 9E 23 78 */ mr r30, r4
|
|
|
|
/* 80031B04 0002D944 93 A1 00 14 */ stw r29, 0x14(r1)
|
|
|
|
/* 80031B08 0002D948 FC 02 00 40 */ fcmpo cr0, f2, f0
|
|
|
|
/* 80031B0C 0002D94C 7C 7D 1B 78 */ mr r29, r3
|
|
|
|
/* 80031B10 0002D950 40 80 00 0C */ bge lbl_80031B1C
|
|
|
|
/* 80031B14 0002D954 FC 40 10 50 */ fneg f2, f2
|
|
|
|
/* 80031B18 0002D958 FF C0 F0 50 */ fneg f30, f30
|
|
|
|
.global lbl_80031B1C
|
|
|
|
lbl_80031B1C:
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80031B1C 0002D95C C0 02 86 04 */ lfs f0, "@1754"@sda21(r2)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80031B20 0002D960 FC 02 00 40 */ fcmpo cr0, f2, f0
|
|
|
|
/* 80031B24 0002D964 4C 40 13 82 */ cror eq, lt, eq
|
|
|
|
/* 80031B28 0002D968 40 82 00 4C */ bne lbl_80031B74
|
|
|
|
/* 80031B2C 0002D96C FC 20 10 90 */ fmr f1, f2
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80031B30 0002D970 4B FE 2A 59 */ bl acos
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80031B34 0002D974 FF A0 08 18 */ frsp f29, f1
|
|
|
|
/* 80031B38 0002D978 FC 20 E8 90 */ fmr f1, f29
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80031B3C 0002D97C 4B FE 29 09 */ bl sin
|
|
|
|
/* 80031B40 0002D980 C0 02 85 F8 */ lfs f0, "@1598"@sda21(r2)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80031B44 0002D984 FF 80 08 18 */ frsp f28, f1
|
|
|
|
/* 80031B48 0002D988 EC 00 F8 28 */ fsubs f0, f0, f31
|
|
|
|
/* 80031B4C 0002D98C EC 20 07 72 */ fmuls f1, f0, f29
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80031B50 0002D990 4B FE 28 F5 */ bl sin
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80031B54 0002D994 FC 00 08 18 */ frsp f0, f1
|
|
|
|
/* 80031B58 0002D998 EC 3F 07 72 */ fmuls f1, f31, f29
|
|
|
|
/* 80031B5C 0002D99C EF E0 E0 24 */ fdivs f31, f0, f28
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80031B60 0002D9A0 4B FE 28 E5 */ bl sin
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80031B64 0002D9A4 FC 00 08 18 */ frsp f0, f1
|
|
|
|
/* 80031B68 0002D9A8 EC 00 E0 24 */ fdivs f0, f0, f28
|
|
|
|
/* 80031B6C 0002D9AC EF DE 00 32 */ fmuls f30, f30, f0
|
|
|
|
/* 80031B70 0002D9B0 48 00 00 10 */ b lbl_80031B80
|
|
|
|
.global lbl_80031B74
|
|
|
|
lbl_80031B74:
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80031B74 0002D9B4 C0 02 85 F8 */ lfs f0, "@1598"@sda21(r2)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80031B78 0002D9B8 EF DE 00 72 */ fmuls f30, f30, f1
|
|
|
|
/* 80031B7C 0002D9BC EF E0 08 28 */ fsubs f31, f0, f1
|
|
|
|
.global lbl_80031B80
|
|
|
|
lbl_80031B80:
|
|
|
|
/* 80031B80 0002D9C0 C0 1D 00 00 */ lfs f0, 0x0(r29)
|
|
|
|
/* 80031B84 0002D9C4 C0 5E 00 00 */ lfs f2, 0x0(r30)
|
|
|
|
/* 80031B88 0002D9C8 C0 3D 00 04 */ lfs f1, 0x4(r29)
|
|
|
|
/* 80031B8C 0002D9CC EC FF 00 32 */ fmuls f7, f31, f0
|
|
|
|
/* 80031B90 0002D9D0 C0 1E 00 04 */ lfs f0, 0x4(r30)
|
|
|
|
/* 80031B94 0002D9D4 EC DE 00 B2 */ fmuls f6, f30, f2
|
|
|
|
/* 80031B98 0002D9D8 C0 7D 00 08 */ lfs f3, 0x8(r29)
|
|
|
|
/* 80031B9C 0002D9DC EC BF 00 72 */ fmuls f5, f31, f1
|
|
|
|
/* 80031BA0 0002D9E0 EC 9E 00 32 */ fmuls f4, f30, f0
|
|
|
|
/* 80031BA4 0002D9E4 C0 5E 00 08 */ lfs f2, 0x8(r30)
|
|
|
|
/* 80031BA8 0002D9E8 EC 7F 00 F2 */ fmuls f3, f31, f3
|
|
|
|
/* 80031BAC 0002D9EC C0 3D 00 0C */ lfs f1, 0xc(r29)
|
|
|
|
/* 80031BB0 0002D9F0 EC C7 30 2A */ fadds f6, f7, f6
|
|
|
|
/* 80031BB4 0002D9F4 C0 1E 00 0C */ lfs f0, 0xc(r30)
|
|
|
|
/* 80031BB8 0002D9F8 EC 5E 00 B2 */ fmuls f2, f30, f2
|
|
|
|
/* 80031BBC 0002D9FC D0 DF 00 00 */ stfs f6, 0x0(r31)
|
|
|
|
/* 80031BC0 0002DA00 EC 85 20 2A */ fadds f4, f5, f4
|
|
|
|
/* 80031BC4 0002DA04 EC 3F 00 72 */ fmuls f1, f31, f1
|
|
|
|
/* 80031BC8 0002DA08 EC 1E 00 32 */ fmuls f0, f30, f0
|
|
|
|
/* 80031BCC 0002DA0C D0 9F 00 04 */ stfs f4, 0x4(r31)
|
|
|
|
/* 80031BD0 0002DA10 EC 43 10 2A */ fadds f2, f3, f2
|
|
|
|
/* 80031BD4 0002DA14 EC 01 00 2A */ fadds f0, f1, f0
|
|
|
|
/* 80031BD8 0002DA18 D0 5F 00 08 */ stfs f2, 0x8(r31)
|
|
|
|
/* 80031BDC 0002DA1C D0 1F 00 0C */ stfs f0, 0xc(r31)
|
|
|
|
/* 80031BE0 0002DA20 E3 E1 00 58 */ psq_l f31, 0x58(r1), 0, qr0
|
|
|
|
/* 80031BE4 0002DA24 CB E1 00 50 */ lfd f31, 0x50(r1)
|
|
|
|
/* 80031BE8 0002DA28 E3 C1 00 48 */ psq_l f30, 0x48(r1), 0, qr0
|
|
|
|
/* 80031BEC 0002DA2C CB C1 00 40 */ lfd f30, 0x40(r1)
|
|
|
|
/* 80031BF0 0002DA30 E3 A1 00 38 */ psq_l f29, 0x38(r1), 0, qr0
|
|
|
|
/* 80031BF4 0002DA34 CB A1 00 30 */ lfd f29, 0x30(r1)
|
|
|
|
/* 80031BF8 0002DA38 E3 81 00 28 */ psq_l f28, 0x28(r1), 0, qr0
|
|
|
|
/* 80031BFC 0002DA3C CB 81 00 20 */ lfd f28, 0x20(r1)
|
|
|
|
/* 80031C00 0002DA40 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
|
|
/* 80031C04 0002DA44 83 C1 00 18 */ lwz r30, 0x18(r1)
|
|
|
|
/* 80031C08 0002DA48 83 A1 00 14 */ lwz r29, 0x14(r1)
|
|
|
|
/* 80031C0C 0002DA4C 80 01 00 64 */ lwz r0, 0x64(r1)
|
|
|
|
/* 80031C10 0002DA50 7C 08 03 A6 */ mtlr r0
|
|
|
|
/* 80031C14 0002DA54 38 21 00 60 */ addi r1, r1, 0x60
|
|
|
|
/* 80031C18 0002DA58 4E 80 00 20 */ blr
|
|
|
|
/* 80031C1C 0002DA5C 00 00 00 00 */ .4byte 0x00000000
|
2022-10-17 08:09:31 +00:00
|
|
|
.include "macros.inc"
|
|
|
|
|
|
|
|
.section .rodata, "wa" # 0x80406560 - 0x80421040 ; 0x0001AAE0
|
|
|
|
.global "@1420"
|
|
|
|
"@1420":
|
|
|
|
|
|
|
|
.4byte 0x00000001
|
|
|
|
.4byte 0x00000002
|
|
|
|
.4byte 0
|
|
|
|
.4byte 0
|
|
|
|
.include "macros.inc"
|
|
|
|
|
|
|
|
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0 ; 0x00006440
|
|
|
|
.global "@1598"
|
|
|
|
"@1598":
|
|
|
|
|
|
|
|
.4byte 0x3F800000
|
|
|
|
|
|
|
|
.global "@1599"
|
|
|
|
"@1599":
|
|
|
|
|
|
|
|
.4byte 0
|
|
|
|
|
|
|
|
.global "@1603"
|
|
|
|
"@1603":
|
|
|
|
|
|
|
|
.4byte 0x3F000000
|
|
|
|
|
|
|
|
.global "@1754"
|
|
|
|
"@1754":
|
|
|
|
|
|
|
|
.4byte 0x3F7FFF58
|