summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax <mparisi@stevens.edu>2020-10-02 23:33:10 -0400
committerMax <mparisi@stevens.edu>2020-10-02 23:33:10 -0400
commit2daeb46b16d4107f00546fa0859bd210bceb1d91 (patch)
tree8dc0d11e83435ac9f3845be288c4f0dd6160d621
parentb7248b32ca6f201379c13a2d269fc8b5ca1697d5 (diff)
split mtx, mtx44, mtxvec, vec, and quat
-rw-r--r--asm/SDK/HBM/HBMBase.s4
-rw-r--r--asm/SDK/HBM/HBMGUIManager.s4
-rw-r--r--asm/SDK/MTX/mtx.s757
-rw-r--r--asm/SDK/MTX/mtx44.s148
-rw-r--r--asm/SDK/MTX/mtxvec.s51
-rw-r--r--asm/SDK/MTX/quat.s421
-rw-r--r--asm/SDK/MTX/vec.s254
-rw-r--r--asm/code_800097D8.s8
-rw-r--r--asm/code_80025390.s2
-rw-r--r--asm/code_800284B0.s22
-rw-r--r--asm/nw4r/lyt/lyt_drawInfo.s2
-rw-r--r--asm/nw4r/lyt/lyt_pane.s10
-rw-r--r--asm/nw4r/snd/snd_Sound3DManager.s10
-rw-r--r--asm/text_1.s148
-rw-r--r--asm/text_3.s6
-rw-r--r--asm/text_6_2.s1362
-rw-r--r--asm/text_7.s252
-rw-r--r--asm/text_8.s1614
-rw-r--r--obj_files.mk5
19 files changed, 2551 insertions, 2529 deletions
diff --git a/asm/SDK/HBM/HBMBase.s b/asm/SDK/HBM/HBMBase.s
index 49789c3..97d9efd 100644
--- a/asm/SDK/HBM/HBMBase.s
+++ b/asm/SDK/HBM/HBMBase.s
@@ -1177,7 +1177,7 @@ lbl_8039B078:
/* 8039B0C8 00396D28 98 1F 02 58 */ stb r0, 0x258(r31)
/* 8039B0CC 00396D2C D0 01 00 10 */ stfs f0, 0x10(r1)
/* 8039B0D0 00396D30 D0 1F 02 4C */ stfs f0, 0x24c(r31)
-/* 8039B0D4 00396D34 4B EE 0E 59 */ bl func_8027BF2C
+/* 8039B0D4 00396D34 4B EE 0E 59 */ bl PSMTXIdentity
/* 8039B0D8 00396D38 80 61 00 18 */ lwz r3, 0x18(r1)
/* 8039B0DC 00396D3C 3B DC 09 9C */ addi r30, r28, 0x99c
/* 8039B0E0 00396D40 80 01 00 1C */ lwz r0, 0x1c(r1)
@@ -10305,7 +10305,7 @@ initgx__10homebuttonFv:
/* 803A3270 0039EED0 7C 08 02 A6 */ mflr r0
/* 803A3274 0039EED4 90 01 00 44 */ stw r0, 0x44(r1)
/* 803A3278 0039EED8 38 61 00 08 */ addi r3, r1, 8
-/* 803A327C 0039EEDC 4B ED 8C B1 */ bl func_8027BF2C
+/* 803A327C 0039EEDC 4B ED 8C B1 */ bl PSMTXIdentity
/* 803A3280 0039EEE0 38 61 00 08 */ addi r3, r1, 8
/* 803A3284 0039EEE4 38 80 00 00 */ li r4, 0
/* 803A3288 0039EEE8 4B EE 38 01 */ bl GXLoadPosMtxImm
diff --git a/asm/SDK/HBM/HBMGUIManager.s b/asm/SDK/HBM/HBMGUIManager.s
index 56fcf5f..3e485f6 100644
--- a/asm/SDK/HBM/HBMGUIManager.s
+++ b/asm/SDK/HBM/HBMGUIManager.s
@@ -1179,7 +1179,7 @@ lbl_803A491C:
/* 803A491C 003A057C 80 7E 00 2C */ lwz r3, 0x2c(r30)
/* 803A4920 003A0580 38 81 00 38 */ addi r4, r1, 0x38
/* 803A4924 003A0584 38 63 00 84 */ addi r3, r3, 0x84
-/* 803A4928 003A0588 4B ED 77 81 */ bl func_8027C0A8
+/* 803A4928 003A0588 4B ED 77 81 */ bl PSMTXInverse
/* 803A492C 003A058C C0 02 A9 B0 */ lfs f0, lbl_80642FB0-_SDA2_BASE_(r2)
/* 803A4930 003A0590 38 61 00 38 */ addi r3, r1, 0x38
/* 803A4934 003A0594 D3 C1 00 08 */ stfs f30, 8(r1)
@@ -1187,7 +1187,7 @@ lbl_803A491C:
/* 803A493C 003A059C 38 A1 00 28 */ addi r5, r1, 0x28
/* 803A4940 003A05A0 D3 E1 00 0C */ stfs f31, 0xc(r1)
/* 803A4944 003A05A4 D0 01 00 10 */ stfs f0, 0x10(r1)
-/* 803A4948 003A05A8 4B ED 80 B5 */ bl func_8027C9FC
+/* 803A4948 003A05A8 4B ED 80 B5 */ bl PSMTXMultVec
/* 803A494C 003A05AC 80 9E 00 2C */ lwz r4, 0x2c(r30)
/* 803A4950 003A05B0 7F E5 FB 78 */ mr r5, r31
/* 803A4954 003A05B4 38 61 00 18 */ addi r3, r1, 0x18
diff --git a/asm/SDK/MTX/mtx.s b/asm/SDK/MTX/mtx.s
new file mode 100644
index 0000000..c902a54
--- /dev/null
+++ b/asm/SDK/MTX/mtx.s
@@ -0,0 +1,757 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global PSMTXIdentity
+PSMTXIdentity:
+/* 8027BF2C 00277B8C C0 02 A0 74 */ lfs f0, lbl_80642674-_SDA2_BASE_(r2)
+/* 8027BF30 00277B90 C0 22 A0 70 */ lfs f1, lbl_80642670-_SDA2_BASE_(r2)
+/* 8027BF34 00277B94 F0 03 00 08 */ psq_st f0, 8(r3), 0, qr0
+/* 8027BF38 00277B98 10 41 04 A0 */ ps_merge10 f2, f1, f0
+/* 8027BF3C 00277B9C 10 20 0C 60 */ ps_merge01 f1, f0, f1
+/* 8027BF40 00277BA0 F0 03 00 18 */ psq_st f0, 24(r3), 0, qr0
+/* 8027BF44 00277BA4 F0 03 00 20 */ psq_st f0, 32(r3), 0, qr0
+/* 8027BF48 00277BA8 F0 23 00 10 */ psq_st f1, 16(r3), 0, qr0
+/* 8027BF4C 00277BAC F0 43 00 00 */ psq_st f2, 0(r3), 0, qr0
+/* 8027BF50 00277BB0 F0 43 00 28 */ psq_st f2, 40(r3), 0, qr0
+/* 8027BF54 00277BB4 4E 80 00 20 */ blr
+
+.global PSMTXCopy
+PSMTXCopy:
+/* 8027BF58 00277BB8 E0 03 00 00 */ psq_l f0, 0(r3), 0, qr0
+/* 8027BF5C 00277BBC F0 04 00 00 */ psq_st f0, 0(r4), 0, qr0
+/* 8027BF60 00277BC0 E0 23 00 08 */ psq_l f1, 8(r3), 0, qr0
+/* 8027BF64 00277BC4 F0 24 00 08 */ psq_st f1, 8(r4), 0, qr0
+/* 8027BF68 00277BC8 E0 43 00 10 */ psq_l f2, 16(r3), 0, qr0
+/* 8027BF6C 00277BCC F0 44 00 10 */ psq_st f2, 16(r4), 0, qr0
+/* 8027BF70 00277BD0 E0 63 00 18 */ psq_l f3, 24(r3), 0, qr0
+/* 8027BF74 00277BD4 F0 64 00 18 */ psq_st f3, 24(r4), 0, qr0
+/* 8027BF78 00277BD8 E0 83 00 20 */ psq_l f4, 32(r3), 0, qr0
+/* 8027BF7C 00277BDC F0 84 00 20 */ psq_st f4, 32(r4), 0, qr0
+/* 8027BF80 00277BE0 E0 A3 00 28 */ psq_l f5, 40(r3), 0, qr0
+/* 8027BF84 00277BE4 F0 A4 00 28 */ psq_st f5, 40(r4), 0, qr0
+/* 8027BF88 00277BE8 4E 80 00 20 */ blr
+
+.global PSMTXConcat
+PSMTXConcat:
+/* 8027BF8C 00277BEC 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 8027BF90 00277BF0 E0 03 00 00 */ psq_l f0, 0(r3), 0, qr0
+/* 8027BF94 00277BF4 D9 C1 00 08 */ stfd f14, 8(r1)
+/* 8027BF98 00277BF8 E0 C4 00 00 */ psq_l f6, 0(r4), 0, qr0
+/* 8027BF9C 00277BFC 3C C0 80 64 */ lis r6, lbl_8063DB08@ha
+/* 8027BFA0 00277C00 E0 E4 00 08 */ psq_l f7, 8(r4), 0, qr0
+/* 8027BFA4 00277C04 D9 E1 00 10 */ stfd f15, 0x10(r1)
+/* 8027BFA8 00277C08 38 C6 DB 08 */ addi r6, r6, lbl_8063DB08@l
+/* 8027BFAC 00277C0C DB E1 00 28 */ stfd f31, 0x28(r1)
+/* 8027BFB0 00277C10 E1 04 00 10 */ psq_l f8, 16(r4), 0, qr0
+/* 8027BFB4 00277C14 11 86 00 18 */ ps_muls0 f12, f6, f0
+/* 8027BFB8 00277C18 E0 43 00 10 */ psq_l f2, 16(r3), 0, qr0
+/* 8027BFBC 00277C1C 11 A7 00 18 */ ps_muls0 f13, f7, f0
+/* 8027BFC0 00277C20 E3 E6 00 00 */ psq_l f31, 0(r6), 0, qr0
+/* 8027BFC4 00277C24 11 C6 00 98 */ ps_muls0 f14, f6, f2
+/* 8027BFC8 00277C28 E1 24 00 18 */ psq_l f9, 24(r4), 0, qr0
+/* 8027BFCC 00277C2C 11 E7 00 98 */ ps_muls0 f15, f7, f2
+/* 8027BFD0 00277C30 E0 23 00 08 */ psq_l f1, 8(r3), 0, qr0
+/* 8027BFD4 00277C34 11 88 60 1E */ ps_madds1 f12, f8, f0, f12
+/* 8027BFD8 00277C38 E0 63 00 18 */ psq_l f3, 24(r3), 0, qr0
+/* 8027BFDC 00277C3C 11 C8 70 9E */ ps_madds1 f14, f8, f2, f14
+/* 8027BFE0 00277C40 E1 44 00 20 */ psq_l f10, 32(r4), 0, qr0
+/* 8027BFE4 00277C44 11 A9 68 1E */ ps_madds1 f13, f9, f0, f13
+/* 8027BFE8 00277C48 E1 64 00 28 */ psq_l f11, 40(r4), 0, qr0
+/* 8027BFEC 00277C4C 11 E9 78 9E */ ps_madds1 f15, f9, f2, f15
+/* 8027BFF0 00277C50 E0 83 00 20 */ psq_l f4, 32(r3), 0, qr0
+/* 8027BFF4 00277C54 E0 A3 00 28 */ psq_l f5, 40(r3), 0, qr0
+/* 8027BFF8 00277C58 11 8A 60 5C */ ps_madds0 f12, f10, f1, f12
+/* 8027BFFC 00277C5C 11 AB 68 5C */ ps_madds0 f13, f11, f1, f13
+/* 8027C000 00277C60 11 CA 70 DC */ ps_madds0 f14, f10, f3, f14
+/* 8027C004 00277C64 11 EB 78 DC */ ps_madds0 f15, f11, f3, f15
+/* 8027C008 00277C68 F1 85 00 00 */ psq_st f12, 0(r5), 0, qr0
+/* 8027C00C 00277C6C 10 46 01 18 */ ps_muls0 f2, f6, f4
+/* 8027C010 00277C70 11 BF 68 5E */ ps_madds1 f13, f31, f1, f13
+/* 8027C014 00277C74 10 07 01 18 */ ps_muls0 f0, f7, f4
+/* 8027C018 00277C78 F1 C5 00 10 */ psq_st f14, 16(r5), 0, qr0
+/* 8027C01C 00277C7C 11 FF 78 DE */ ps_madds1 f15, f31, f3, f15
+/* 8027C020 00277C80 F1 A5 00 08 */ psq_st f13, 8(r5), 0, qr0
+/* 8027C024 00277C84 10 48 11 1E */ ps_madds1 f2, f8, f4, f2
+/* 8027C028 00277C88 10 09 01 1E */ ps_madds1 f0, f9, f4, f0
+/* 8027C02C 00277C8C 10 4A 11 5C */ ps_madds0 f2, f10, f5, f2
+/* 8027C030 00277C90 C9 C1 00 08 */ lfd f14, 8(r1)
+/* 8027C034 00277C94 F1 E5 00 18 */ psq_st f15, 24(r5), 0, qr0
+/* 8027C038 00277C98 10 0B 01 5C */ ps_madds0 f0, f11, f5, f0
+/* 8027C03C 00277C9C F0 45 00 20 */ psq_st f2, 32(r5), 0, qr0
+/* 8027C040 00277CA0 10 1F 01 5E */ ps_madds1 f0, f31, f5, f0
+/* 8027C044 00277CA4 C9 E1 00 10 */ lfd f15, 0x10(r1)
+/* 8027C048 00277CA8 F0 05 00 28 */ psq_st f0, 40(r5), 0, qr0
+/* 8027C04C 00277CAC CB E1 00 28 */ lfd f31, 0x28(r1)
+/* 8027C050 00277CB0 38 21 00 40 */ addi r1, r1, 0x40
+/* 8027C054 00277CB4 4E 80 00 20 */ blr
+
+.global PSMTXTranspose
+PSMTXTranspose:
+/* 8027C058 00277CB8 E0 23 00 00 */ psq_l f1, 0(r3), 0, qr0
+/* 8027C05C 00277CBC E0 43 00 10 */ psq_l f2, 16(r3), 0, qr0
+/* 8027C060 00277CC0 C0 02 A0 74 */ lfs f0, lbl_80642674-_SDA2_BASE_(r2)
+/* 8027C064 00277CC4 10 81 14 20 */ ps_merge00 f4, f1, f2
+/* 8027C068 00277CC8 E0 63 80 08 */ psq_l f3, 8(r3), 1, qr0
+/* 8027C06C 00277CCC 10 A1 14 E0 */ ps_merge11 f5, f1, f2
+/* 8027C070 00277CD0 E0 43 80 18 */ psq_l f2, 24(r3), 1, qr0
+/* 8027C074 00277CD4 E0 23 00 20 */ psq_l f1, 32(r3), 0, qr0
+/* 8027C078 00277CD8 10 43 14 20 */ ps_merge00 f2, f3, f2
+/* 8027C07C 00277CDC F0 84 00 00 */ psq_st f4, 0(r4), 0, qr0
+/* 8027C080 00277CE0 10 81 04 20 */ ps_merge00 f4, f1, f0
+/* 8027C084 00277CE4 C0 63 00 28 */ lfs f3, 0x28(r3)
+/* 8027C088 00277CE8 F0 A4 00 10 */ psq_st f5, 16(r4), 0, qr0
+/* 8027C08C 00277CEC 10 A1 04 A0 */ ps_merge10 f5, f1, f0
+/* 8027C090 00277CF0 D0 04 00 2C */ stfs f0, 0x2c(r4)
+/* 8027C094 00277CF4 F0 44 00 20 */ psq_st f2, 32(r4), 0, qr0
+/* 8027C098 00277CF8 F0 84 00 08 */ psq_st f4, 8(r4), 0, qr0
+/* 8027C09C 00277CFC F0 A4 00 18 */ psq_st f5, 24(r4), 0, qr0
+/* 8027C0A0 00277D00 D0 64 00 28 */ stfs f3, 0x28(r4)
+/* 8027C0A4 00277D04 4E 80 00 20 */ blr
+
+.global PSMTXInverse
+PSMTXInverse:
+/* 8027C0A8 00277D08 E0 03 80 00 */ psq_l f0, 0(r3), 1, qr0
+/* 8027C0AC 00277D0C E0 23 00 04 */ psq_l f1, 4(r3), 0, qr0
+/* 8027C0B0 00277D10 E0 43 80 10 */ psq_l f2, 16(r3), 1, qr0
+/* 8027C0B4 00277D14 10 C1 04 A0 */ ps_merge10 f6, f1, f0
+/* 8027C0B8 00277D18 E0 63 00 14 */ psq_l f3, 20(r3), 0, qr0
+/* 8027C0BC 00277D1C E0 83 80 20 */ psq_l f4, 32(r3), 1, qr0
+/* 8027C0C0 00277D20 10 E3 14 A0 */ ps_merge10 f7, f3, f2
+/* 8027C0C4 00277D24 E0 A3 00 24 */ psq_l f5, 36(r3), 0, qr0
+/* 8027C0C8 00277D28 11 63 01 B2 */ ps_mul f11, f3, f6
+/* 8027C0CC 00277D2C 11 A5 01 F2 */ ps_mul f13, f5, f7
+/* 8027C0D0 00277D30 11 05 24 A0 */ ps_merge10 f8, f5, f4
+/* 8027C0D4 00277D34 11 61 59 F8 */ ps_msub f11, f1, f7, f11
+/* 8027C0D8 00277D38 11 81 02 32 */ ps_mul f12, f1, f8
+/* 8027C0DC 00277D3C 11 A3 6A 38 */ ps_msub f13, f3, f8, f13
+/* 8027C0E0 00277D40 11 43 01 32 */ ps_mul f10, f3, f4
+/* 8027C0E4 00277D44 11 85 61 B8 */ ps_msub f12, f5, f6, f12
+/* 8027C0E8 00277D48 11 20 01 72 */ ps_mul f9, f0, f5
+/* 8027C0EC 00277D4C 11 01 00 B2 */ ps_mul f8, f1, f2
+/* 8027C0F0 00277D50 10 C6 30 28 */ ps_sub f6, f6, f6
+/* 8027C0F4 00277D54 11 42 51 78 */ ps_msub f10, f2, f5, f10
+/* 8027C0F8 00277D58 10 E0 03 72 */ ps_mul f7, f0, f13
+/* 8027C0FC 00277D5C 11 21 49 38 */ ps_msub f9, f1, f4, f9
+/* 8027C100 00277D60 10 E2 3B 3A */ ps_madd f7, f2, f12, f7
+/* 8027C104 00277D64 11 00 40 F8 */ ps_msub f8, f0, f3, f8
+/* 8027C108 00277D68 10 E4 3A FA */ ps_madd f7, f4, f11, f7
+/* 8027C10C 00277D6C 10 07 30 40 */ ps_cmpo0 cr0, f7, f6
+/* 8027C110 00277D70 40 82 00 0C */ bne lbl_8027C11C
+/* 8027C114 00277D74 38 60 00 00 */ li r3, 0
+/* 8027C118 00277D78 4E 80 00 20 */ blr
+lbl_8027C11C:
+/* 8027C11C 00277D7C EC 00 38 30 */ fres f0, f7
+/* 8027C120 00277D80 10 C0 00 2A */ ps_add f6, f0, f0
+/* 8027C124 00277D84 10 A0 00 32 */ ps_mul f5, f0, f0
+/* 8027C128 00277D88 10 07 31 7C */ ps_nmsub f0, f7, f5, f6
+/* 8027C12C 00277D8C C0 23 00 0C */ lfs f1, 0xc(r3)
+/* 8027C130 00277D90 11 AD 00 18 */ ps_muls0 f13, f13, f0
+/* 8027C134 00277D94 C0 43 00 1C */ lfs f2, 0x1c(r3)
+/* 8027C138 00277D98 11 8C 00 18 */ ps_muls0 f12, f12, f0
+/* 8027C13C 00277D9C C0 63 00 2C */ lfs f3, 0x2c(r3)
+/* 8027C140 00277DA0 11 6B 00 18 */ ps_muls0 f11, f11, f0
+/* 8027C144 00277DA4 10 AD 64 20 */ ps_merge00 f5, f13, f12
+/* 8027C148 00277DA8 11 4A 00 18 */ ps_muls0 f10, f10, f0
+/* 8027C14C 00277DAC 10 8D 64 E0 */ ps_merge11 f4, f13, f12
+/* 8027C150 00277DB0 11 29 00 18 */ ps_muls0 f9, f9, f0
+/* 8027C154 00277DB4 F0 A4 00 00 */ psq_st f5, 0(r4), 0, qr0
+/* 8027C158 00277DB8 10 CD 00 72 */ ps_mul f6, f13, f1
+/* 8027C15C 00277DBC F0 84 00 10 */ psq_st f4, 16(r4), 0, qr0
+/* 8027C160 00277DC0 11 08 00 18 */ ps_muls0 f8, f8, f0
+/* 8027C164 00277DC4 10 CC 30 BA */ ps_madd f6, f12, f2, f6
+/* 8027C168 00277DC8 F1 44 80 20 */ psq_st f10, 32(r4), 1, qr0
+/* 8027C16C 00277DCC 10 CB 30 FE */ ps_nmadd f6, f11, f3, f6
+/* 8027C170 00277DD0 F1 24 80 24 */ psq_st f9, 36(r4), 1, qr0
+/* 8027C174 00277DD4 10 EA 00 72 */ ps_mul f7, f10, f1
+/* 8027C178 00277DD8 10 AB 34 20 */ ps_merge00 f5, f11, f6
+/* 8027C17C 00277DDC F1 04 80 28 */ psq_st f8, 40(r4), 1, qr0
+/* 8027C180 00277DE0 10 8B 34 E0 */ ps_merge11 f4, f11, f6
+/* 8027C184 00277DE4 F0 A4 00 08 */ psq_st f5, 8(r4), 0, qr0
+/* 8027C188 00277DE8 10 E9 38 BA */ ps_madd f7, f9, f2, f7
+/* 8027C18C 00277DEC F0 84 00 18 */ psq_st f4, 24(r4), 0, qr0
+/* 8027C190 00277DF0 10 E8 38 FE */ ps_nmadd f7, f8, f3, f7
+/* 8027C194 00277DF4 38 60 00 01 */ li r3, 1
+/* 8027C198 00277DF8 F0 E4 80 2C */ psq_st f7, 44(r4), 1, qr0
+/* 8027C19C 00277DFC 4E 80 00 20 */ blr
+
+.global PSMTXInvXpose
+PSMTXInvXpose:
+/* 8027C1A0 00277E00 E0 03 80 00 */ psq_l f0, 0(r3), 1, qr0
+/* 8027C1A4 00277E04 E0 23 00 04 */ psq_l f1, 4(r3), 0, qr0
+/* 8027C1A8 00277E08 E0 43 80 10 */ psq_l f2, 16(r3), 1, qr0
+/* 8027C1AC 00277E0C 10 C1 04 A0 */ ps_merge10 f6, f1, f0
+/* 8027C1B0 00277E10 E0 63 00 14 */ psq_l f3, 20(r3), 0, qr0
+/* 8027C1B4 00277E14 E0 83 80 20 */ psq_l f4, 32(r3), 1, qr0
+/* 8027C1B8 00277E18 10 E3 14 A0 */ ps_merge10 f7, f3, f2
+/* 8027C1BC 00277E1C E0 A3 00 24 */ psq_l f5, 36(r3), 0, qr0
+/* 8027C1C0 00277E20 11 63 01 B2 */ ps_mul f11, f3, f6
+/* 8027C1C4 00277E24 11 05 24 A0 */ ps_merge10 f8, f5, f4
+/* 8027C1C8 00277E28 11 A5 01 F2 */ ps_mul f13, f5, f7
+/* 8027C1CC 00277E2C 11 61 59 F8 */ ps_msub f11, f1, f7, f11
+/* 8027C1D0 00277E30 11 81 02 32 */ ps_mul f12, f1, f8
+/* 8027C1D4 00277E34 11 A3 6A 38 */ ps_msub f13, f3, f8, f13
+/* 8027C1D8 00277E38 11 85 61 B8 */ ps_msub f12, f5, f6, f12
+/* 8027C1DC 00277E3C 11 43 01 32 */ ps_mul f10, f3, f4
+/* 8027C1E0 00277E40 11 20 01 72 */ ps_mul f9, f0, f5
+/* 8027C1E4 00277E44 11 01 00 B2 */ ps_mul f8, f1, f2
+/* 8027C1E8 00277E48 11 42 51 78 */ ps_msub f10, f2, f5, f10
+/* 8027C1EC 00277E4C 11 21 49 38 */ ps_msub f9, f1, f4, f9
+/* 8027C1F0 00277E50 11 00 40 F8 */ ps_msub f8, f0, f3, f8
+/* 8027C1F4 00277E54 10 E0 03 72 */ ps_mul f7, f0, f13
+/* 8027C1F8 00277E58 10 21 08 28 */ ps_sub f1, f1, f1
+/* 8027C1FC 00277E5C 10 E2 3B 3A */ ps_madd f7, f2, f12, f7
+/* 8027C200 00277E60 10 E4 3A FA */ ps_madd f7, f4, f11, f7
+/* 8027C204 00277E64 10 07 08 40 */ ps_cmpo0 cr0, f7, f1
+/* 8027C208 00277E68 40 82 00 0C */ bne lbl_8027C214
+/* 8027C20C 00277E6C 38 60 00 00 */ li r3, 0
+/* 8027C210 00277E70 4E 80 00 20 */ blr
+lbl_8027C214:
+/* 8027C214 00277E74 EC 00 38 30 */ fres f0, f7
+/* 8027C218 00277E78 F0 24 80 0C */ psq_st f1, 12(r4), 1, qr0
+/* 8027C21C 00277E7C 10 C0 00 2A */ ps_add f6, f0, f0
+/* 8027C220 00277E80 10 A0 00 32 */ ps_mul f5, f0, f0
+/* 8027C224 00277E84 F0 24 80 1C */ psq_st f1, 28(r4), 1, qr0
+/* 8027C228 00277E88 10 07 31 7C */ ps_nmsub f0, f7, f5, f6
+/* 8027C22C 00277E8C F0 24 80 2C */ psq_st f1, 44(r4), 1, qr0
+/* 8027C230 00277E90 11 AD 00 18 */ ps_muls0 f13, f13, f0
+/* 8027C234 00277E94 11 8C 00 18 */ ps_muls0 f12, f12, f0
+/* 8027C238 00277E98 11 6B 00 18 */ ps_muls0 f11, f11, f0
+/* 8027C23C 00277E9C F1 A4 00 00 */ psq_st f13, 0(r4), 0, qr0
+/* 8027C240 00277EA0 F1 84 00 10 */ psq_st f12, 16(r4), 0, qr0
+/* 8027C244 00277EA4 11 4A 00 18 */ ps_muls0 f10, f10, f0
+/* 8027C248 00277EA8 11 29 00 18 */ ps_muls0 f9, f9, f0
+/* 8027C24C 00277EAC F1 64 00 20 */ psq_st f11, 32(r4), 0, qr0
+/* 8027C250 00277EB0 F1 44 80 08 */ psq_st f10, 8(r4), 1, qr0
+/* 8027C254 00277EB4 11 08 00 18 */ ps_muls0 f8, f8, f0
+/* 8027C258 00277EB8 38 60 00 01 */ li r3, 1
+/* 8027C25C 00277EBC F1 24 80 18 */ psq_st f9, 24(r4), 1, qr0
+/* 8027C260 00277EC0 F1 04 80 28 */ psq_st f8, 40(r4), 1, qr0
+/* 8027C264 00277EC4 4E 80 00 20 */ blr
+
+.global PSMTXRotRad
+PSMTXRotRad:
+/* 8027C268 00277EC8 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 8027C26C 00277ECC 7C 08 02 A6 */ mflr r0
+/* 8027C270 00277ED0 90 01 00 34 */ stw r0, 0x34(r1)
+/* 8027C274 00277ED4 DB E1 00 20 */ stfd f31, 0x20(r1)
+/* 8027C278 00277ED8 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
+/* 8027C27C 00277EDC DB C1 00 10 */ stfd f30, 0x10(r1)
+/* 8027C280 00277EE0 F3 C1 00 18 */ psq_st f30, 24(r1), 0, qr0
+/* 8027C284 00277EE4 FF C0 08 90 */ fmr f30, f1
+/* 8027C288 00277EE8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8027C28C 00277EEC 7C 9F 23 78 */ mr r31, r4
+/* 8027C290 00277EF0 93 C1 00 08 */ stw r30, 8(r1)
+/* 8027C294 00277EF4 7C 7E 1B 78 */ mr r30, r3
+/* 8027C298 00277EF8 4B F5 81 ED */ bl sin
+/* 8027C29C 00277EFC FF E0 08 18 */ frsp f31, f1
+/* 8027C2A0 00277F00 FC 20 F0 90 */ fmr f1, f30
+/* 8027C2A4 00277F04 4B F5 7D D5 */ bl cos
+/* 8027C2A8 00277F08 FC 40 08 18 */ frsp f2, f1
+/* 8027C2AC 00277F0C 7F C3 F3 78 */ mr r3, r30
+/* 8027C2B0 00277F10 FC 20 F8 90 */ fmr f1, f31
+/* 8027C2B4 00277F14 7F E4 07 74 */ extsb r4, r31
+/* 8027C2B8 00277F18 48 00 00 2D */ bl PSMTXRotTrig
+/* 8027C2BC 00277F1C E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
+/* 8027C2C0 00277F20 CB E1 00 20 */ lfd f31, 0x20(r1)
+/* 8027C2C4 00277F24 E3 C1 00 18 */ psq_l f30, 24(r1), 0, qr0
+/* 8027C2C8 00277F28 CB C1 00 10 */ lfd f30, 0x10(r1)
+/* 8027C2CC 00277F2C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8027C2D0 00277F30 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 8027C2D4 00277F34 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8027C2D8 00277F38 7C 08 03 A6 */ mtlr r0
+/* 8027C2DC 00277F3C 38 21 00 30 */ addi r1, r1, 0x30
+/* 8027C2E0 00277F40 4E 80 00 20 */ blr
+
+.global PSMTXRotTrig
+PSMTXRotTrig:
+/* 8027C2E4 00277F44 FC A0 08 18 */ frsp f5, f1
+/* 8027C2E8 00277F48 60 80 00 20 */ ori r0, r4, 0x20
+/* 8027C2EC 00277F4C FC 80 10 18 */ frsp f4, f2
+/* 8027C2F0 00277F50 28 00 00 78 */ cmplwi r0, 0x78
+/* 8027C2F4 00277F54 C0 02 A0 74 */ lfs f0, lbl_80642674-_SDA2_BASE_(r2)
+/* 8027C2F8 00277F58 10 40 28 50 */ ps_neg f2, f5
+/* 8027C2FC 00277F5C C0 22 A0 70 */ lfs f1, lbl_80642670-_SDA2_BASE_(r2)
+/* 8027C300 00277F60 41 82 00 18 */ beq lbl_8027C318
+/* 8027C304 00277F64 28 00 00 79 */ cmplwi r0, 0x79
+/* 8027C308 00277F68 41 82 00 38 */ beq lbl_8027C340
+/* 8027C30C 00277F6C 28 00 00 7A */ cmplwi r0, 0x7a
+/* 8027C310 00277F70 41 82 00 5C */ beq lbl_8027C36C
+/* 8027C314 00277F74 4E 80 00 20 */ blr
+lbl_8027C318:
+/* 8027C318 00277F78 10 65 24 20 */ ps_merge00 f3, f5, f4
+/* 8027C31C 00277F7C F0 23 80 00 */ psq_st f1, 0(r3), 1, qr0
+/* 8027C320 00277F80 10 24 14 20 */ ps_merge00 f1, f4, f2
+/* 8027C324 00277F84 F0 03 00 04 */ psq_st f0, 4(r3), 0, qr0
+/* 8027C328 00277F88 F0 03 00 0C */ psq_st f0, 12(r3), 0, qr0
+/* 8027C32C 00277F8C F0 03 00 1C */ psq_st f0, 28(r3), 0, qr0
+/* 8027C330 00277F90 F0 03 80 2C */ psq_st f0, 44(r3), 1, qr0
+/* 8027C334 00277F94 F0 63 00 24 */ psq_st f3, 36(r3), 0, qr0
+/* 8027C338 00277F98 F0 23 00 14 */ psq_st f1, 20(r3), 0, qr0
+/* 8027C33C 00277F9C 4E 80 00 20 */ blr
+lbl_8027C340:
+/* 8027C340 00277FA0 10 64 04 20 */ ps_merge00 f3, f4, f0
+/* 8027C344 00277FA4 F0 03 00 18 */ psq_st f0, 24(r3), 0, qr0
+/* 8027C348 00277FA8 10 20 0C 20 */ ps_merge00 f1, f0, f1
+/* 8027C34C 00277FAC 10 42 04 20 */ ps_merge00 f2, f2, f0
+/* 8027C350 00277FB0 10 05 04 20 */ ps_merge00 f0, f5, f0
+/* 8027C354 00277FB4 F0 63 00 00 */ psq_st f3, 0(r3), 0, qr0
+/* 8027C358 00277FB8 F0 63 00 28 */ psq_st f3, 40(r3), 0, qr0
+/* 8027C35C 00277FBC F0 23 00 10 */ psq_st f1, 16(r3), 0, qr0
+/* 8027C360 00277FC0 F0 03 00 08 */ psq_st f0, 8(r3), 0, qr0
+/* 8027C364 00277FC4 F0 43 00 20 */ psq_st f2, 32(r3), 0, qr0
+/* 8027C368 00277FC8 4E 80 00 20 */ blr
+lbl_8027C36C:
+/* 8027C36C 00277FCC 10 65 24 20 */ ps_merge00 f3, f5, f4
+/* 8027C370 00277FD0 F0 03 00 08 */ psq_st f0, 8(r3), 0, qr0
+/* 8027C374 00277FD4 10 44 14 20 */ ps_merge00 f2, f4, f2
+/* 8027C378 00277FD8 10 21 04 20 */ ps_merge00 f1, f1, f0
+/* 8027C37C 00277FDC F0 03 00 18 */ psq_st f0, 24(r3), 0, qr0
+/* 8027C380 00277FE0 F0 03 00 20 */ psq_st f0, 32(r3), 0, qr0
+/* 8027C384 00277FE4 F0 63 00 10 */ psq_st f3, 16(r3), 0, qr0
+/* 8027C388 00277FE8 F0 43 00 00 */ psq_st f2, 0(r3), 0, qr0
+/* 8027C38C 00277FEC F0 23 00 28 */ psq_st f1, 40(r3), 0, qr0
+/* 8027C390 00277FF0 4E 80 00 20 */ blr
+
+.global __PSMTXRotAxisRadInternal
+__PSMTXRotAxisRadInternal:
+/* 8027C394 00277FF4 E0 64 00 00 */ psq_l f3, 0(r4), 0, qr0
+/* 8027C398 00277FF8 FD 60 10 18 */ frsp f11, f2
+/* 8027C39C 00277FFC C1 42 A0 78 */ lfs f10, lbl_80642678-_SDA2_BASE_(r2)
+/* 8027C3A0 00278000 FD 80 08 18 */ frsp f12, f1
+/* 8027C3A4 00278004 10 83 00 F2 */ ps_mul f4, f3, f3
+/* 8027C3A8 00278008 C0 44 00 08 */ lfs f2, 8(r4)
+/* 8027C3AC 0027800C ED 0A 50 2A */ fadds f8, f10, f10
+/* 8027C3B0 00278010 C1 22 A0 7C */ lfs f9, lbl_8064267C-_SDA2_BASE_(r2)
+/* 8027C3B4 00278014 EC 2A 50 28 */ fsubs f1, f10, f10
+/* 8027C3B8 00278018 10 A2 20 BA */ ps_madd f5, f2, f2, f4
+/* 8027C3BC 0027801C EC 08 58 28 */ fsubs f0, f8, f11
+/* 8027C3C0 00278020 11 6B 5C 20 */ ps_merge00 f11, f11, f11
+/* 8027C3C4 00278024 10 C5 20 94 */ ps_sum0 f6, f5, f2, f4
+/* 8027C3C8 00278028 FC E0 30 34 */ frsqrte f7, f6
+/* 8027C3CC 0027802C EC 87 01 F2 */ fmuls f4, f7, f7
+/* 8027C3D0 00278030 EC A7 02 B2 */ fmuls f5, f7, f10
+/* 8027C3D4 00278034 EC 84 49 BC */ fnmsubs f4, f4, f6, f9
+/* 8027C3D8 00278038 EC E4 01 72 */ fmuls f7, f4, f5
+/* 8027C3DC 0027803C 10 63 01 D8 */ ps_muls0 f3, f3, f7
+/* 8027C3E0 00278040 10 42 01 D8 */ ps_muls0 f2, f2, f7
+/* 8027C3E4 00278044 10 C3 00 18 */ ps_muls0 f6, f3, f0
+/* 8027C3E8 00278048 10 E2 00 18 */ ps_muls0 f7, f2, f0
+/* 8027C3EC 0027804C 11 43 03 18 */ ps_muls0 f10, f3, f12
+/* 8027C3F0 00278050 10 A6 00 DA */ ps_muls1 f5, f6, f3
+/* 8027C3F4 00278054 10 86 00 D8 */ ps_muls0 f4, f6, f3
+/* 8027C3F8 00278058 10 C6 00 98 */ ps_muls0 f6, f6, f2
+/* 8027C3FC 0027805C EC 02 2B 3C */ fnmsubs f0, f2, f12, f5
+/* 8027C400 00278060 10 60 50 50 */ ps_neg f3, f10
+/* 8027C404 00278064 ED 02 2B 3A */ fmadds f8, f2, f12, f5
+/* 8027C408 00278068 10 84 58 14 */ ps_sum0 f4, f4, f0, f11
+/* 8027C40C 0027806C 10 03 30 54 */ ps_sum0 f0, f3, f1, f6
+/* 8027C410 00278070 10 E7 00 98 */ ps_muls0 f7, f7, f2
+/* 8027C414 00278074 11 26 50 54 */ ps_sum0 f9, f6, f1, f10
+/* 8027C418 00278078 F0 83 00 00 */ psq_st f4, 0(r3), 0, qr0
+/* 8027C41C 0027807C 10 66 19 94 */ ps_sum0 f3, f6, f6, f3
+/* 8027C420 00278080 10 AB 2A 16 */ ps_sum1 f5, f11, f8, f5
+/* 8027C424 00278084 F0 03 00 18 */ psq_st f0, 24(r3), 0, qr0
+/* 8027C428 00278088 10 E7 58 54 */ ps_sum0 f7, f7, f1, f11
+/* 8027C42C 0027808C 10 CA 30 D6 */ ps_sum1 f6, f10, f3, f6
+/* 8027C430 00278090 F1 23 00 08 */ psq_st f9, 8(r3), 0, qr0
+/* 8027C434 00278094 F0 A3 00 10 */ psq_st f5, 16(r3), 0, qr0
+/* 8027C438 00278098 F0 C3 00 20 */ psq_st f6, 32(r3), 0, qr0
+/* 8027C43C 0027809C F0 E3 00 28 */ psq_st f7, 40(r3), 0, qr0
+/* 8027C440 002780A0 4E 80 00 20 */ blr
+
+.global PSMTXRotAxisRad
+PSMTXRotAxisRad:
+/* 8027C444 002780A4 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 8027C448 002780A8 7C 08 02 A6 */ mflr r0
+/* 8027C44C 002780AC 90 01 00 34 */ stw r0, 0x34(r1)
+/* 8027C450 002780B0 DB E1 00 20 */ stfd f31, 0x20(r1)
+/* 8027C454 002780B4 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
+/* 8027C458 002780B8 DB C1 00 10 */ stfd f30, 0x10(r1)
+/* 8027C45C 002780BC F3 C1 00 18 */ psq_st f30, 24(r1), 0, qr0
+/* 8027C460 002780C0 FF C0 08 90 */ fmr f30, f1
+/* 8027C464 002780C4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8027C468 002780C8 7C 9F 23 78 */ mr r31, r4
+/* 8027C46C 002780CC 93 C1 00 08 */ stw r30, 8(r1)
+/* 8027C470 002780D0 7C 7E 1B 78 */ mr r30, r3
+/* 8027C474 002780D4 4B F5 80 11 */ bl sin
+/* 8027C478 002780D8 FF E0 08 18 */ frsp f31, f1
+/* 8027C47C 002780DC FC 20 F0 90 */ fmr f1, f30
+/* 8027C480 002780E0 4B F5 7B F9 */ bl cos
+/* 8027C484 002780E4 FC 40 08 18 */ frsp f2, f1
+/* 8027C488 002780E8 7F C3 F3 78 */ mr r3, r30
+/* 8027C48C 002780EC FC 20 F8 90 */ fmr f1, f31
+/* 8027C490 002780F0 7F E4 FB 78 */ mr r4, r31
+/* 8027C494 002780F4 4B FF FF 01 */ bl __PSMTXRotAxisRadInternal
+/* 8027C498 002780F8 E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
+/* 8027C49C 002780FC CB E1 00 20 */ lfd f31, 0x20(r1)
+/* 8027C4A0 00278100 E3 C1 00 18 */ psq_l f30, 24(r1), 0, qr0
+/* 8027C4A4 00278104 CB C1 00 10 */ lfd f30, 0x10(r1)
+/* 8027C4A8 00278108 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8027C4AC 0027810C 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 8027C4B0 00278110 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8027C4B4 00278114 7C 08 03 A6 */ mtlr r0
+/* 8027C4B8 00278118 38 21 00 30 */ addi r1, r1, 0x30
+/* 8027C4BC 0027811C 4E 80 00 20 */ blr
+
+.global PSMTXTrans
+PSMTXTrans:
+/* 8027C4C0 00278120 C0 02 A0 74 */ lfs f0, lbl_80642674-_SDA2_BASE_(r2)
+/* 8027C4C4 00278124 C0 82 A0 70 */ lfs f4, lbl_80642670-_SDA2_BASE_(r2)
+/* 8027C4C8 00278128 D0 23 00 0C */ stfs f1, 0xc(r3)
+/* 8027C4CC 0027812C D0 43 00 1C */ stfs f2, 0x1c(r3)
+/* 8027C4D0 00278130 F0 03 00 04 */ psq_st f0, 4(r3), 0, qr0
+/* 8027C4D4 00278134 F0 03 00 20 */ psq_st f0, 32(r3), 0, qr0
+/* 8027C4D8 00278138 D0 03 00 10 */ stfs f0, 0x10(r3)
+/* 8027C4DC 0027813C D0 83 00 14 */ stfs f4, 0x14(r3)
+/* 8027C4E0 00278140 D0 03 00 18 */ stfs f0, 0x18(r3)
+/* 8027C4E4 00278144 D0 83 00 28 */ stfs f4, 0x28(r3)
+/* 8027C4E8 00278148 D0 63 00 2C */ stfs f3, 0x2c(r3)
+/* 8027C4EC 0027814C D0 83 00 00 */ stfs f4, 0(r3)
+/* 8027C4F0 00278150 4E 80 00 20 */ blr
+
+.global PSMTXTransApply
+PSMTXTransApply:
+/* 8027C4F4 00278154 E0 83 00 00 */ psq_l f4, 0(r3), 0, qr0
+/* 8027C4F8 00278158 FC 20 08 18 */ frsp f1, f1
+/* 8027C4FC 0027815C E0 A3 00 08 */ psq_l f5, 8(r3), 0, qr0
+/* 8027C500 00278160 FC 40 10 18 */ frsp f2, f2
+/* 8027C504 00278164 E0 E3 00 18 */ psq_l f7, 24(r3), 0, qr0
+/* 8027C508 00278168 FC 60 18 18 */ frsp f3, f3
+/* 8027C50C 0027816C E1 03 00 28 */ psq_l f8, 40(r3), 0, qr0
+/* 8027C510 00278170 F0 84 00 00 */ psq_st f4, 0(r4), 0, qr0
+/* 8027C514 00278174 10 A1 29 56 */ ps_sum1 f5, f1, f5, f5
+/* 8027C518 00278178 E0 C3 00 10 */ psq_l f6, 16(r3), 0, qr0
+/* 8027C51C 0027817C F0 A4 00 08 */ psq_st f5, 8(r4), 0, qr0
+/* 8027C520 00278180 10 E2 39 D6 */ ps_sum1 f7, f2, f7, f7
+/* 8027C524 00278184 E1 23 00 20 */ psq_l f9, 32(r3), 0, qr0
+/* 8027C528 00278188 F0 C4 00 10 */ psq_st f6, 16(r4), 0, qr0
+/* 8027C52C 0027818C 11 03 42 16 */ ps_sum1 f8, f3, f8, f8
+/* 8027C530 00278190 F0 E4 00 18 */ psq_st f7, 24(r4), 0, qr0
+/* 8027C534 00278194 F1 24 00 20 */ psq_st f9, 32(r4), 0, qr0
+/* 8027C538 00278198 F1 04 00 28 */ psq_st f8, 40(r4), 0, qr0
+/* 8027C53C 0027819C 4E 80 00 20 */ blr
+
+.global PSMTXScale
+PSMTXScale:
+/* 8027C540 002781A0 C0 02 A0 74 */ lfs f0, lbl_80642674-_SDA2_BASE_(r2)
+/* 8027C544 002781A4 D0 23 00 00 */ stfs f1, 0(r3)
+/* 8027C548 002781A8 F0 03 00 04 */ psq_st f0, 4(r3), 0, qr0
+/* 8027C54C 002781AC F0 03 00 0C */ psq_st f0, 12(r3), 0, qr0
+/* 8027C550 002781B0 D0 43 00 14 */ stfs f2, 0x14(r3)
+/* 8027C554 002781B4 F0 03 00 18 */ psq_st f0, 24(r3), 0, qr0
+/* 8027C558 002781B8 F0 03 00 20 */ psq_st f0, 32(r3), 0, qr0
+/* 8027C55C 002781BC D0 63 00 28 */ stfs f3, 0x28(r3)
+/* 8027C560 002781C0 D0 03 00 2C */ stfs f0, 0x2c(r3)
+/* 8027C564 002781C4 4E 80 00 20 */ blr
+
+.global PSMTXScaleApply
+PSMTXScaleApply:
+/* 8027C568 002781C8 FC 20 08 18 */ frsp f1, f1
+/* 8027C56C 002781CC E0 83 00 00 */ psq_l f4, 0(r3), 0, qr0
+/* 8027C570 002781D0 FC 40 10 18 */ frsp f2, f2
+/* 8027C574 002781D4 E0 A3 00 08 */ psq_l f5, 8(r3), 0, qr0
+/* 8027C578 002781D8 FC 60 18 18 */ frsp f3, f3
+/* 8027C57C 002781DC 10 84 00 58 */ ps_muls0 f4, f4, f1
+/* 8027C580 002781E0 E0 C3 00 10 */ psq_l f6, 16(r3), 0, qr0
+/* 8027C584 002781E4 10 A5 00 58 */ ps_muls0 f5, f5, f1
+/* 8027C588 002781E8 E0 E3 00 18 */ psq_l f7, 24(r3), 0, qr0
+/* 8027C58C 002781EC 10 C6 00 98 */ ps_muls0 f6, f6, f2
+/* 8027C590 002781F0 E1 03 00 20 */ psq_l f8, 32(r3), 0, qr0
+/* 8027C594 002781F4 F0 84 00 00 */ psq_st f4, 0(r4), 0, qr0
+/* 8027C598 002781F8 10 E7 00 98 */ ps_muls0 f7, f7, f2
+/* 8027C59C 002781FC E0 43 00 28 */ psq_l f2, 40(r3), 0, qr0
+/* 8027C5A0 00278200 F0 A4 00 08 */ psq_st f5, 8(r4), 0, qr0
+/* 8027C5A4 00278204 11 08 00 D8 */ ps_muls0 f8, f8, f3
+/* 8027C5A8 00278208 F0 C4 00 10 */ psq_st f6, 16(r4), 0, qr0
+/* 8027C5AC 0027820C 10 42 00 D8 */ ps_muls0 f2, f2, f3
+/* 8027C5B0 00278210 F0 E4 00 18 */ psq_st f7, 24(r4), 0, qr0
+/* 8027C5B4 00278214 F1 04 00 20 */ psq_st f8, 32(r4), 0, qr0
+/* 8027C5B8 00278218 F0 44 00 28 */ psq_st f2, 40(r4), 0, qr0
+/* 8027C5BC 0027821C 4E 80 00 20 */ blr
+
+.global PSMTXQuat
+PSMTXQuat:
+/* 8027C5C0 00278220 E0 84 00 00 */ psq_l f4, 0(r4), 0, qr0
+/* 8027C5C4 00278224 E0 A4 00 08 */ psq_l f5, 8(r4), 0, qr0
+/* 8027C5C8 00278228 10 C4 01 32 */ ps_mul f6, f4, f4
+/* 8027C5CC 0027822C C0 22 A0 70 */ lfs f1, lbl_80642670-_SDA2_BASE_(r2)
+/* 8027C5D0 00278230 11 24 24 A0 */ ps_merge10 f9, f4, f4
+/* 8027C5D4 00278234 EC 01 08 28 */ fsubs f0, f1, f1
+/* 8027C5D8 00278238 11 05 31 7A */ ps_madd f8, f5, f5, f6
+/* 8027C5DC 0027823C 11 45 01 5A */ ps_muls1 f10, f5, f5
+/* 8027C5E0 00278240 EC 41 08 2A */ fadds f2, f1, f1
+/* 8027C5E4 00278244 F0 03 80 0C */ psq_st f0, 12(r3), 1, qr0
+/* 8027C5E8 00278248 10 68 42 14 */ ps_sum0 f3, f8, f8, f8
+/* 8027C5EC 0027824C 10 E5 01 72 */ ps_mul f7, f5, f5
+/* 8027C5F0 00278250 F0 03 80 2C */ psq_st f0, 44(r3), 1, qr0
+/* 8027C5F4 00278254 11 84 52 7A */ ps_madd f12, f4, f9, f10
+/* 8027C5F8 00278258 ED A0 18 30 */ fres f13, f3
+/* 8027C5FC 0027825C 10 63 13 7C */ ps_nmsub f3, f3, f13, f2
+/* 8027C600 00278260 11 69 01 5A */ ps_muls1 f11, f9, f5
+/* 8027C604 00278264 11 44 52 78 */ ps_msub f10, f4, f9, f10
+/* 8027C608 00278268 10 6D 00 F2 */ ps_mul f3, f13, f3
+/* 8027C60C 0027826C 11 24 59 5C */ ps_madds0 f9, f4, f5, f11
+/* 8027C610 00278270 11 07 32 16 */ ps_sum1 f8, f7, f8, f6
+/* 8027C614 00278274 EC 63 00 B2 */ fmuls f3, f3, f2
+/* 8027C618 00278278 11 6B 48 BC */ ps_nmsub f11, f11, f2, f9
+/* 8027C61C 0027827C 10 C6 31 94 */ ps_sum0 f6, f6, f6, f6
+/* 8027C620 00278280 11 29 00 F2 */ ps_mul f9, f9, f3
+/* 8027C624 00278284 11 6B 00 F2 */ ps_mul f11, f11, f3
+/* 8027C628 00278288 11 08 08 FC */ ps_nmsub f8, f8, f3, f1
+/* 8027C62C 0027828C 11 8C 00 F2 */ ps_mul f12, f12, f3
+/* 8027C630 00278290 F1 23 80 08 */ psq_st f9, 8(r3), 1, qr0
+/* 8027C634 00278294 11 4A 00 F2 */ ps_mul f10, f10, f3
+/* 8027C638 00278298 10 EB 04 A0 */ ps_merge10 f7, f11, f0
+/* 8027C63C 0027829C 10 AC 44 20 */ ps_merge00 f5, f12, f8
+/* 8027C640 002782A0 10 88 54 A0 */ ps_merge10 f4, f8, f10
+/* 8027C644 002782A4 11 AB 4C 60 */ ps_merge01 f13, f11, f9
+/* 8027C648 002782A8 F0 E3 00 18 */ psq_st f7, 24(r3), 0, qr0
+/* 8027C64C 002782AC 10 C6 08 FC */ ps_nmsub f6, f6, f3, f1
+/* 8027C650 002782B0 F0 A3 00 10 */ psq_st f5, 16(r3), 0, qr0
+/* 8027C654 002782B4 F0 C3 80 28 */ psq_st f6, 40(r3), 1, qr0
+/* 8027C658 002782B8 F0 83 00 00 */ psq_st f4, 0(r3), 0, qr0
+/* 8027C65C 002782BC F1 A3 00 20 */ psq_st f13, 32(r3), 0, qr0
+/* 8027C660 002782C0 4E 80 00 20 */ blr
+
+.global C_MTXLookAt
+C_MTXLookAt:
+/* 8027C664 002782C4 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 8027C668 002782C8 7C 08 02 A6 */ mflr r0
+/* 8027C66C 002782CC C0 24 00 00 */ lfs f1, 0(r4)
+/* 8027C670 002782D0 90 01 00 44 */ stw r0, 0x44(r1)
+/* 8027C674 002782D4 C0 06 00 00 */ lfs f0, 0(r6)
+/* 8027C678 002782D8 93 E1 00 3C */ stw r31, 0x3c(r1)
+/* 8027C67C 002782DC 7C BF 2B 78 */ mr r31, r5
+/* 8027C680 002782E0 EC 81 00 28 */ fsubs f4, f1, f0
+/* 8027C684 002782E4 C0 64 00 04 */ lfs f3, 4(r4)
+/* 8027C688 002782E8 93 C1 00 38 */ stw r30, 0x38(r1)
+/* 8027C68C 002782EC 7C 9E 23 78 */ mr r30, r4
+/* 8027C690 002782F0 C0 46 00 04 */ lfs f2, 4(r6)
+/* 8027C694 002782F4 93 A1 00 34 */ stw r29, 0x34(r1)
+/* 8027C698 002782F8 EC 43 10 28 */ fsubs f2, f3, f2
+/* 8027C69C 002782FC C0 24 00 08 */ lfs f1, 8(r4)
+/* 8027C6A0 00278300 C0 06 00 08 */ lfs f0, 8(r6)
+/* 8027C6A4 00278304 7C 7D 1B 78 */ mr r29, r3
+/* 8027C6A8 00278308 38 61 00 20 */ addi r3, r1, 0x20
+/* 8027C6AC 0027830C D0 81 00 20 */ stfs f4, 0x20(r1)
+/* 8027C6B0 00278310 EC 01 00 28 */ fsubs f0, f1, f0
+/* 8027C6B4 00278314 D0 41 00 24 */ stfs f2, 0x24(r1)
+/* 8027C6B8 00278318 7C 64 1B 78 */ mr r4, r3
+/* 8027C6BC 0027831C D0 01 00 28 */ stfs f0, 0x28(r1)
+/* 8027C6C0 00278320 48 00 06 69 */ bl PSVECNormalize
+/* 8027C6C4 00278324 7F E3 FB 78 */ mr r3, r31
+/* 8027C6C8 00278328 38 81 00 20 */ addi r4, r1, 0x20
+/* 8027C6CC 0027832C 38 A1 00 14 */ addi r5, r1, 0x14
+/* 8027C6D0 00278330 48 00 07 19 */ bl PSVECCrossProduct
+/* 8027C6D4 00278334 38 61 00 14 */ addi r3, r1, 0x14
+/* 8027C6D8 00278338 7C 64 1B 78 */ mr r4, r3
+/* 8027C6DC 0027833C 48 00 06 4D */ bl PSVECNormalize
+/* 8027C6E0 00278340 38 61 00 20 */ addi r3, r1, 0x20
+/* 8027C6E4 00278344 38 81 00 14 */ addi r4, r1, 0x14
+/* 8027C6E8 00278348 38 A1 00 08 */ addi r5, r1, 8
+/* 8027C6EC 0027834C 48 00 06 FD */ bl PSVECCrossProduct
+/* 8027C6F0 00278350 C0 01 00 14 */ lfs f0, 0x14(r1)
+/* 8027C6F4 00278354 C0 9E 00 00 */ lfs f4, 0(r30)
+/* 8027C6F8 00278358 D0 1D 00 00 */ stfs f0, 0(r29)
+/* 8027C6FC 0027835C C0 7E 00 04 */ lfs f3, 4(r30)
+/* 8027C700 00278360 C0 01 00 18 */ lfs f0, 0x18(r1)
+/* 8027C704 00278364 C0 BE 00 08 */ lfs f5, 8(r30)
+/* 8027C708 00278368 D0 1D 00 04 */ stfs f0, 4(r29)
+/* 8027C70C 0027836C C0 01 00 1C */ lfs f0, 0x1c(r1)
+/* 8027C710 00278370 D0 1D 00 08 */ stfs f0, 8(r29)
+/* 8027C714 00278374 C0 21 00 14 */ lfs f1, 0x14(r1)
+/* 8027C718 00278378 C0 01 00 18 */ lfs f0, 0x18(r1)
+/* 8027C71C 0027837C EC 24 00 72 */ fmuls f1, f4, f1
+/* 8027C720 00278380 C0 41 00 1C */ lfs f2, 0x1c(r1)
+/* 8027C724 00278384 EC 03 00 32 */ fmuls f0, f3, f0
+/* 8027C728 00278388 EC 45 00 B2 */ fmuls f2, f5, f2
+/* 8027C72C 0027838C EC 01 00 2A */ fadds f0, f1, f0
+/* 8027C730 00278390 EC 02 00 2A */ fadds f0, f2, f0
+/* 8027C734 00278394 FC 00 00 50 */ fneg f0, f0
+/* 8027C738 00278398 D0 1D 00 0C */ stfs f0, 0xc(r29)
+/* 8027C73C 0027839C C0 01 00 08 */ lfs f0, 8(r1)
+/* 8027C740 002783A0 D0 1D 00 10 */ stfs f0, 0x10(r29)
+/* 8027C744 002783A4 C0 01 00 0C */ lfs f0, 0xc(r1)
+/* 8027C748 002783A8 D0 1D 00 14 */ stfs f0, 0x14(r29)
+/* 8027C74C 002783AC C0 01 00 10 */ lfs f0, 0x10(r1)
+/* 8027C750 002783B0 D0 1D 00 18 */ stfs f0, 0x18(r29)
+/* 8027C754 002783B4 C0 21 00 08 */ lfs f1, 8(r1)
+/* 8027C758 002783B8 C0 01 00 0C */ lfs f0, 0xc(r1)
+/* 8027C75C 002783BC C0 41 00 10 */ lfs f2, 0x10(r1)
+/* 8027C760 002783C0 EC 24 00 72 */ fmuls f1, f4, f1
+/* 8027C764 002783C4 EC 03 00 32 */ fmuls f0, f3, f0
+/* 8027C768 002783C8 EC 45 00 B2 */ fmuls f2, f5, f2
+/* 8027C76C 002783CC EC 01 00 2A */ fadds f0, f1, f0
+/* 8027C770 002783D0 EC 02 00 2A */ fadds f0, f2, f0
+/* 8027C774 002783D4 FC 00 00 50 */ fneg f0, f0
+/* 8027C778 002783D8 D0 1D 00 1C */ stfs f0, 0x1c(r29)
+/* 8027C77C 002783DC C0 01 00 20 */ lfs f0, 0x20(r1)
+/* 8027C780 002783E0 D0 1D 00 20 */ stfs f0, 0x20(r29)
+/* 8027C784 002783E4 C0 01 00 24 */ lfs f0, 0x24(r1)
+/* 8027C788 002783E8 D0 1D 00 24 */ stfs f0, 0x24(r29)
+/* 8027C78C 002783EC C0 01 00 28 */ lfs f0, 0x28(r1)
+/* 8027C790 002783F0 D0 1D 00 28 */ stfs f0, 0x28(r29)
+/* 8027C794 002783F4 C0 21 00 20 */ lfs f1, 0x20(r1)
+/* 8027C798 002783F8 C0 01 00 24 */ lfs f0, 0x24(r1)
+/* 8027C79C 002783FC C0 41 00 28 */ lfs f2, 0x28(r1)
+/* 8027C7A0 00278400 EC 24 00 72 */ fmuls f1, f4, f1
+/* 8027C7A4 00278404 EC 03 00 32 */ fmuls f0, f3, f0
+/* 8027C7A8 00278408 EC 45 00 B2 */ fmuls f2, f5, f2
+/* 8027C7AC 0027840C EC 01 00 2A */ fadds f0, f1, f0
+/* 8027C7B0 00278410 EC 02 00 2A */ fadds f0, f2, f0
+/* 8027C7B4 00278414 FC 00 00 50 */ fneg f0, f0
+/* 8027C7B8 00278418 D0 1D 00 2C */ stfs f0, 0x2c(r29)
+/* 8027C7BC 0027841C 83 E1 00 3C */ lwz r31, 0x3c(r1)
+/* 8027C7C0 00278420 83 C1 00 38 */ lwz r30, 0x38(r1)
+/* 8027C7C4 00278424 83 A1 00 34 */ lwz r29, 0x34(r1)
+/* 8027C7C8 00278428 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 8027C7CC 0027842C 7C 08 03 A6 */ mtlr r0
+/* 8027C7D0 00278430 38 21 00 40 */ addi r1, r1, 0x40
+/* 8027C7D4 00278434 4E 80 00 20 */ blr
+
+.global C_MTXLightFrustum
+C_MTXLightFrustum:
+/* 8027C7D8 00278438 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8027C7DC 0027843C DB E1 00 10 */ stfd f31, 0x10(r1)
+/* 8027C7E0 00278440 F3 E1 00 18 */ psq_st f31, 24(r1), 0, qr0
+/* 8027C7E4 00278444 EC 04 18 28 */ fsubs f0, f4, f3
+/* 8027C7E8 00278448 C1 42 A0 74 */ lfs f10, lbl_80642674-_SDA2_BASE_(r2)
+/* 8027C7EC 0027844C C1 82 A0 70 */ lfs f12, lbl_80642670-_SDA2_BASE_(r2)
+/* 8027C7F0 00278450 ED 21 10 28 */ fsubs f9, f1, f2
+/* 8027C7F4 00278454 C1 62 A0 80 */ lfs f11, lbl_80642680-_SDA2_BASE_(r2)
+/* 8027C7F8 00278458 EC 64 18 2A */ fadds f3, f4, f3
+/* 8027C7FC 0027845C ED AC 00 24 */ fdivs f13, f12, f0
+/* 8027C800 00278460 C0 02 A0 84 */ lfs f0, lbl_80642684-_SDA2_BASE_(r2)
+/* 8027C804 00278464 C3 E1 00 28 */ lfs f31, 0x28(r1)
+/* 8027C808 00278468 D0 03 00 28 */ stfs f0, 0x28(r3)
+/* 8027C80C 0027846C D1 43 00 04 */ stfs f10, 4(r3)
+/* 8027C810 00278470 D1 43 00 0C */ stfs f10, 0xc(r3)
+/* 8027C814 00278474 EC 8B 01 72 */ fmuls f4, f11, f5
+/* 8027C818 00278478 D1 43 00 10 */ stfs f10, 0x10(r3)
+/* 8027C81C 0027847C EC 01 10 2A */ fadds f0, f1, f2
+/* 8027C820 00278480 EC 2D 00 F2 */ fmuls f1, f13, f3
+/* 8027C824 00278484 D1 43 00 1C */ stfs f10, 0x1c(r3)
+/* 8027C828 00278488 EC AC 48 24 */ fdivs f5, f12, f9
+/* 8027C82C 0027848C D1 43 00 20 */ stfs f10, 0x20(r3)
+/* 8027C830 00278490 D1 43 00 24 */ stfs f10, 0x24(r3)
+/* 8027C834 00278494 D1 43 00 2C */ stfs f10, 0x2c(r3)
+/* 8027C838 00278498 EC 46 00 72 */ fmuls f2, f6, f1
+/* 8027C83C 0027849C EC 05 00 32 */ fmuls f0, f5, f0
+/* 8027C840 002784A0 EC 64 03 72 */ fmuls f3, f4, f13
+/* 8027C844 002784A4 EC 24 01 72 */ fmuls f1, f4, f5
+/* 8027C848 002784A8 EC 07 00 32 */ fmuls f0, f7, f0
+/* 8027C84C 002784AC EC 66 00 F2 */ fmuls f3, f6, f3
+/* 8027C850 002784B0 EC 42 40 28 */ fsubs f2, f2, f8
+/* 8027C854 002784B4 EC 27 00 72 */ fmuls f1, f7, f1
+/* 8027C858 002784B8 EC 00 F8 28 */ fsubs f0, f0, f31
+/* 8027C85C 002784BC D0 63 00 00 */ stfs f3, 0(r3)
+/* 8027C860 002784C0 D0 43 00 08 */ stfs f2, 8(r3)
+/* 8027C864 002784C4 D0 23 00 14 */ stfs f1, 0x14(r3)
+/* 8027C868 002784C8 D0 03 00 18 */ stfs f0, 0x18(r3)
+/* 8027C86C 002784CC E3 E1 00 18 */ psq_l f31, 24(r1), 0, qr0
+/* 8027C870 002784D0 CB E1 00 10 */ lfd f31, 0x10(r1)
+/* 8027C874 002784D4 38 21 00 20 */ addi r1, r1, 0x20
+/* 8027C878 002784D8 4E 80 00 20 */ blr
+
+.global C_MTXLightPerspective
+C_MTXLightPerspective:
+/* 8027C87C 002784DC 94 21 FF A0 */ stwu r1, -0x60(r1)
+/* 8027C880 002784E0 7C 08 02 A6 */ mflr r0
+/* 8027C884 002784E4 90 01 00 64 */ stw r0, 0x64(r1)
+/* 8027C888 002784E8 DB E1 00 50 */ stfd f31, 0x50(r1)
+/* 8027C88C 002784EC F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0
+/* 8027C890 002784F0 DB C1 00 40 */ stfd f30, 0x40(r1)
+/* 8027C894 002784F4 F3 C1 00 48 */ psq_st f30, 72(r1), 0, qr0
+/* 8027C898 002784F8 DB A1 00 30 */ stfd f29, 0x30(r1)
+/* 8027C89C 002784FC F3 A1 00 38 */ psq_st f29, 56(r1), 0, qr0
+/* 8027C8A0 00278500 DB 81 00 20 */ stfd f28, 0x20(r1)
+/* 8027C8A4 00278504 F3 81 00 28 */ psq_st f28, 40(r1), 0, qr0
+/* 8027C8A8 00278508 DB 61 00 10 */ stfd f27, 0x10(r1)
+/* 8027C8AC 0027850C F3 61 00 18 */ psq_st f27, 24(r1), 0, qr0
+/* 8027C8B0 00278510 FF 60 10 90 */ fmr f27, f2
+/* 8027C8B4 00278514 C0 E2 A0 78 */ lfs f7, lbl_80642678-_SDA2_BASE_(r2)
+/* 8027C8B8 00278518 FF 80 18 90 */ fmr f28, f3
+/* 8027C8BC 0027851C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8027C8C0 00278520 FF A0 20 90 */ fmr f29, f4
+/* 8027C8C4 00278524 EC 27 00 72 */ fmuls f1, f7, f1
+/* 8027C8C8 00278528 C0 02 A0 88 */ lfs f0, lbl_80642688-_SDA2_BASE_(r2)
+/* 8027C8CC 0027852C FF C0 28 90 */ fmr f30, f5
+/* 8027C8D0 00278530 FF E0 30 90 */ fmr f31, f6
+/* 8027C8D4 00278534 7C 7F 1B 78 */ mr r31, r3
+/* 8027C8D8 00278538 EC 20 00 72 */ fmuls f1, f0, f1
+/* 8027C8DC 0027853C 4B F5 7C 81 */ bl tan
+/* 8027C8E0 00278540 FC A0 08 18 */ frsp f5, f1
+/* 8027C8E4 00278544 C0 62 A0 74 */ lfs f3, lbl_80642674-_SDA2_BASE_(r2)
+/* 8027C8E8 00278548 C0 82 A0 70 */ lfs f4, lbl_80642670-_SDA2_BASE_(r2)
+/* 8027C8EC 0027854C FC 20 F8 50 */ fneg f1, f31
+/* 8027C8F0 00278550 C0 02 A0 84 */ lfs f0, lbl_80642684-_SDA2_BASE_(r2)
+/* 8027C8F4 00278554 FC 40 F0 50 */ fneg f2, f30
+/* 8027C8F8 00278558 EC 84 28 24 */ fdivs f4, f4, f5
+/* 8027C8FC 0027855C D0 3F 00 18 */ stfs f1, 0x18(r31)
+/* 8027C900 00278560 D0 1F 00 28 */ stfs f0, 0x28(r31)
+/* 8027C904 00278564 D0 7F 00 04 */ stfs f3, 4(r31)
+/* 8027C908 00278568 D0 5F 00 08 */ stfs f2, 8(r31)
+/* 8027C90C 0027856C D0 7F 00 0C */ stfs f3, 0xc(r31)
+/* 8027C910 00278570 EC 24 D8 24 */ fdivs f1, f4, f27
+/* 8027C914 00278574 D0 7F 00 10 */ stfs f3, 0x10(r31)
+/* 8027C918 00278578 D0 7F 00 1C */ stfs f3, 0x1c(r31)
+/* 8027C91C 0027857C D0 7F 00 20 */ stfs f3, 0x20(r31)
+/* 8027C920 00278580 D0 7F 00 24 */ stfs f3, 0x24(r31)
+/* 8027C924 00278584 D0 7F 00 2C */ stfs f3, 0x2c(r31)
+/* 8027C928 00278588 EC 3C 00 72 */ fmuls f1, f28, f1
+/* 8027C92C 0027858C EC 04 07 72 */ fmuls f0, f4, f29
+/* 8027C930 00278590 D0 3F 00 00 */ stfs f1, 0(r31)
+/* 8027C934 00278594 D0 1F 00 14 */ stfs f0, 0x14(r31)
+/* 8027C938 00278598 E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0
+/* 8027C93C 0027859C CB E1 00 50 */ lfd f31, 0x50(r1)
+/* 8027C940 002785A0 E3 C1 00 48 */ psq_l f30, 72(r1), 0, qr0
+/* 8027C944 002785A4 CB C1 00 40 */ lfd f30, 0x40(r1)
+/* 8027C948 002785A8 E3 A1 00 38 */ psq_l f29, 56(r1), 0, qr0
+/* 8027C94C 002785AC CB A1 00 30 */ lfd f29, 0x30(r1)
+/* 8027C950 002785B0 E3 81 00 28 */ psq_l f28, 40(r1), 0, qr0
+/* 8027C954 002785B4 CB 81 00 20 */ lfd f28, 0x20(r1)
+/* 8027C958 002785B8 E3 61 00 18 */ psq_l f27, 24(r1), 0, qr0
+/* 8027C95C 002785BC CB 61 00 10 */ lfd f27, 0x10(r1)
+/* 8027C960 002785C0 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8027C964 002785C4 80 01 00 64 */ lwz r0, 0x64(r1)
+/* 8027C968 002785C8 7C 08 03 A6 */ mtlr r0
+/* 8027C96C 002785CC 38 21 00 60 */ addi r1, r1, 0x60
+/* 8027C970 002785D0 4E 80 00 20 */ blr
+
+.global C_MTXLightOrtho
+C_MTXLightOrtho:
+/* 8027C974 002785D4 ED 64 18 28 */ fsubs f11, f4, f3
+/* 8027C978 002785D8 C1 22 A0 74 */ lfs f9, lbl_80642674-_SDA2_BASE_(r2)
+/* 8027C97C 002785DC C1 42 A0 70 */ lfs f10, lbl_80642670-_SDA2_BASE_(r2)
+/* 8027C980 002785E0 EC 01 10 28 */ fsubs f0, f1, f2
+/* 8027C984 002785E4 EC 64 18 2A */ fadds f3, f4, f3
+/* 8027C988 002785E8 C0 82 A0 80 */ lfs f4, lbl_80642680-_SDA2_BASE_(r2)
+/* 8027C98C 002785EC ED 8A 58 24 */ fdivs f12, f10, f11
+/* 8027C990 002785F0 D1 23 00 04 */ stfs f9, 4(r3)
+/* 8027C994 002785F4 D1 23 00 08 */ stfs f9, 8(r3)
+/* 8027C998 002785F8 D1 23 00 10 */ stfs f9, 0x10(r3)
+/* 8027C99C 002785FC D1 23 00 18 */ stfs f9, 0x18(r3)
+/* 8027C9A0 00278600 D1 23 00 20 */ stfs f9, 0x20(r3)
+/* 8027C9A4 00278604 ED 6A 00 24 */ fdivs f11, f10, f0
+/* 8027C9A8 00278608 D1 23 00 24 */ stfs f9, 0x24(r3)
+/* 8027C9AC 0027860C D1 23 00 28 */ stfs f9, 0x28(r3)
+/* 8027C9B0 00278610 D1 43 00 2C */ stfs f10, 0x2c(r3)
+/* 8027C9B4 00278614 EC 01 10 2A */ fadds f0, f1, f2
+/* 8027C9B8 00278618 FC 20 18 50 */ fneg f1, f3
+/* 8027C9BC 0027861C EC 64 03 32 */ fmuls f3, f4, f12
+/* 8027C9C0 00278620 FC 00 00 50 */ fneg f0, f0
+/* 8027C9C4 00278624 EC 4C 00 72 */ fmuls f2, f12, f1
+/* 8027C9C8 00278628 EC 24 02 F2 */ fmuls f1, f4, f11
+/* 8027C9CC 0027862C EC 0B 00 32 */ fmuls f0, f11, f0
+/* 8027C9D0 00278630 EC 45 00 B2 */ fmuls f2, f5, f2
+/* 8027C9D4 00278634 EC 63 01 72 */ fmuls f3, f3, f5
+/* 8027C9D8 00278638 EC 06 00 32 */ fmuls f0, f6, f0
+/* 8027C9DC 0027863C EC 47 10 2A */ fadds f2, f7, f2
+/* 8027C9E0 00278640 EC 21 01 B2 */ fmuls f1, f1, f6
+/* 8027C9E4 00278644 D0 63 00 00 */ stfs f3, 0(r3)
+/* 8027C9E8 00278648 EC 08 00 2A */ fadds f0, f8, f0
+/* 8027C9EC 0027864C D0 43 00 0C */ stfs f2, 0xc(r3)
+/* 8027C9F0 00278650 D0 23 00 14 */ stfs f1, 0x14(r3)
+/* 8027C9F4 00278654 D0 03 00 1C */ stfs f0, 0x1c(r3)
+/* 8027C9F8 00278658 4E 80 00 20 */ blr
diff --git a/asm/SDK/MTX/mtx44.s b/asm/SDK/MTX/mtx44.s
new file mode 100644
index 0000000..578f1d8
--- /dev/null
+++ b/asm/SDK/MTX/mtx44.s
@@ -0,0 +1,148 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global C_MTXFrustum
+C_MTXFrustum:
+/* 8027CAA4 00278704 EC 04 18 28 */ fsubs f0, f4, f3
+/* 8027CAA8 00278708 C1 22 A0 98 */ lfs f9, lbl_80642698-_SDA2_BASE_(r2)
+/* 8027CAAC 0027870C C1 62 A0 90 */ lfs f11, lbl_80642690-_SDA2_BASE_(r2)
+/* 8027CAB0 00278710 ED 01 10 28 */ fsubs f8, f1, f2
+/* 8027CAB4 00278714 EC E6 28 28 */ fsubs f7, f6, f5
+/* 8027CAB8 00278718 C1 42 A0 94 */ lfs f10, lbl_80642694-_SDA2_BASE_(r2)
+/* 8027CABC 0027871C ED 8B 00 24 */ fdivs f12, f11, f0
+/* 8027CAC0 00278720 C0 02 A0 9C */ lfs f0, lbl_8064269C-_SDA2_BASE_(r2)
+/* 8027CAC4 00278724 D1 23 00 04 */ stfs f9, 4(r3)
+/* 8027CAC8 00278728 D0 03 00 38 */ stfs f0, 0x38(r3)
+/* 8027CACC 0027872C D1 23 00 0C */ stfs f9, 0xc(r3)
+/* 8027CAD0 00278730 D1 23 00 10 */ stfs f9, 0x10(r3)
+/* 8027CAD4 00278734 ED 0B 40 24 */ fdivs f8, f11, f8
+/* 8027CAD8 00278738 D1 23 00 1C */ stfs f9, 0x1c(r3)
+/* 8027CADC 0027873C D1 23 00 20 */ stfs f9, 0x20(r3)
+/* 8027CAE0 00278740 D1 23 00 24 */ stfs f9, 0x24(r3)
+/* 8027CAE4 00278744 D1 23 00 30 */ stfs f9, 0x30(r3)
+/* 8027CAE8 00278748 D1 23 00 34 */ stfs f9, 0x34(r3)
+/* 8027CAEC 0027874C EC 01 10 2A */ fadds f0, f1, f2
+/* 8027CAF0 00278750 D1 23 00 3C */ stfs f9, 0x3c(r3)
+/* 8027CAF4 00278754 EC 64 18 2A */ fadds f3, f4, f3
+/* 8027CAF8 00278758 ED 4A 01 72 */ fmuls f10, f10, f5
+/* 8027CAFC 0027875C EC 08 00 32 */ fmuls f0, f8, f0
+/* 8027CB00 00278760 EC 4C 00 F2 */ fmuls f2, f12, f3
+/* 8027CB04 00278764 EC 2A 02 32 */ fmuls f1, f10, f8
+/* 8027CB08 00278768 EC 8A 03 32 */ fmuls f4, f10, f12
+/* 8027CB0C 0027876C D0 03 00 18 */ stfs f0, 0x18(r3)
+/* 8027CB10 00278770 EC C6 01 72 */ fmuls f6, f6, f5
+/* 8027CB14 00278774 D0 23 00 14 */ stfs f1, 0x14(r3)
+/* 8027CB18 00278778 EC 6B 38 24 */ fdivs f3, f11, f7
+/* 8027CB1C 0027877C D0 83 00 00 */ stfs f4, 0(r3)
+/* 8027CB20 00278780 D0 43 00 08 */ stfs f2, 8(r3)
+/* 8027CB24 00278784 FC 20 28 50 */ fneg f1, f5
+/* 8027CB28 00278788 FC 00 30 50 */ fneg f0, f6
+/* 8027CB2C 0027878C EC 21 00 F2 */ fmuls f1, f1, f3
+/* 8027CB30 00278790 EC 03 00 32 */ fmuls f0, f3, f0
+/* 8027CB34 00278794 D0 23 00 28 */ stfs f1, 0x28(r3)
+/* 8027CB38 00278798 D0 03 00 2C */ stfs f0, 0x2c(r3)
+/* 8027CB3C 0027879C 4E 80 00 20 */ blr
+
+.global C_MTXPerspective
+C_MTXPerspective:
+/* 8027CB40 002787A0 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 8027CB44 002787A4 7C 08 02 A6 */ mflr r0
+/* 8027CB48 002787A8 90 01 00 44 */ stw r0, 0x44(r1)
+/* 8027CB4C 002787AC DB E1 00 30 */ stfd f31, 0x30(r1)
+/* 8027CB50 002787B0 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0
+/* 8027CB54 002787B4 DB C1 00 20 */ stfd f30, 0x20(r1)
+/* 8027CB58 002787B8 F3 C1 00 28 */ psq_st f30, 40(r1), 0, qr0
+/* 8027CB5C 002787BC DB A1 00 10 */ stfd f29, 0x10(r1)
+/* 8027CB60 002787C0 F3 A1 00 18 */ psq_st f29, 24(r1), 0, qr0
+/* 8027CB64 002787C4 FF A0 10 90 */ fmr f29, f2
+/* 8027CB68 002787C8 C0 A2 A0 A0 */ lfs f5, lbl_806426A0-_SDA2_BASE_(r2)
+/* 8027CB6C 002787CC FF C0 18 90 */ fmr f30, f3
+/* 8027CB70 002787D0 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8027CB74 002787D4 FF E0 20 90 */ fmr f31, f4
+/* 8027CB78 002787D8 EC 25 00 72 */ fmuls f1, f5, f1
+/* 8027CB7C 002787DC C0 02 A0 A4 */ lfs f0, lbl_806426A4-_SDA2_BASE_(r2)
+/* 8027CB80 002787E0 7C 7F 1B 78 */ mr r31, r3
+/* 8027CB84 002787E4 EC 20 00 72 */ fmuls f1, f0, f1
+/* 8027CB88 002787E8 4B F5 79 D5 */ bl tan
+/* 8027CB8C 002787EC FC 80 08 18 */ frsp f4, f1
+/* 8027CB90 002787F0 C0 62 A0 98 */ lfs f3, lbl_80642698-_SDA2_BASE_(r2)
+/* 8027CB94 002787F4 C0 A2 A0 90 */ lfs f5, lbl_80642690-_SDA2_BASE_(r2)
+/* 8027CB98 002787F8 EC 5F F0 28 */ fsubs f2, f31, f30
+/* 8027CB9C 002787FC C0 02 A0 9C */ lfs f0, lbl_8064269C-_SDA2_BASE_(r2)
+/* 8027CBA0 00278800 EC 3F 07 B2 */ fmuls f1, f31, f30
+/* 8027CBA4 00278804 EC C5 20 24 */ fdivs f6, f5, f4
+/* 8027CBA8 00278808 D0 1F 00 38 */ stfs f0, 0x38(r31)
+/* 8027CBAC 0027880C D0 7F 00 04 */ stfs f3, 4(r31)
+/* 8027CBB0 00278810 D0 7F 00 08 */ stfs f3, 8(r31)
+/* 8027CBB4 00278814 D0 7F 00 0C */ stfs f3, 0xc(r31)
+/* 8027CBB8 00278818 D0 7F 00 10 */ stfs f3, 0x10(r31)
+/* 8027CBBC 0027881C EC A5 10 24 */ fdivs f5, f5, f2
+/* 8027CBC0 00278820 D0 7F 00 18 */ stfs f3, 0x18(r31)
+/* 8027CBC4 00278824 D0 DF 00 14 */ stfs f6, 0x14(r31)
+/* 8027CBC8 00278828 D0 7F 00 1C */ stfs f3, 0x1c(r31)
+/* 8027CBCC 0027882C D0 7F 00 20 */ stfs f3, 0x20(r31)
+/* 8027CBD0 00278830 D0 7F 00 24 */ stfs f3, 0x24(r31)
+/* 8027CBD4 00278834 EC 86 E8 24 */ fdivs f4, f6, f29
+/* 8027CBD8 00278838 D0 7F 00 30 */ stfs f3, 0x30(r31)
+/* 8027CBDC 0027883C D0 7F 00 34 */ stfs f3, 0x34(r31)
+/* 8027CBE0 00278840 D0 7F 00 3C */ stfs f3, 0x3c(r31)
+/* 8027CBE4 00278844 FC 00 08 50 */ fneg f0, f1
+/* 8027CBE8 00278848 D0 9F 00 00 */ stfs f4, 0(r31)
+/* 8027CBEC 0027884C FC 40 F0 50 */ fneg f2, f30
+/* 8027CBF0 00278850 EC 05 00 32 */ fmuls f0, f5, f0
+/* 8027CBF4 00278854 EC 22 01 72 */ fmuls f1, f2, f5
+/* 8027CBF8 00278858 D0 1F 00 2C */ stfs f0, 0x2c(r31)
+/* 8027CBFC 0027885C D0 3F 00 28 */ stfs f1, 0x28(r31)
+/* 8027CC00 00278860 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0
+/* 8027CC04 00278864 CB E1 00 30 */ lfd f31, 0x30(r1)
+/* 8027CC08 00278868 E3 C1 00 28 */ psq_l f30, 40(r1), 0, qr0
+/* 8027CC0C 0027886C CB C1 00 20 */ lfd f30, 0x20(r1)
+/* 8027CC10 00278870 E3 A1 00 18 */ psq_l f29, 24(r1), 0, qr0
+/* 8027CC14 00278874 CB A1 00 10 */ lfd f29, 0x10(r1)
+/* 8027CC18 00278878 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8027CC1C 0027887C 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 8027CC20 00278880 7C 08 03 A6 */ mtlr r0
+/* 8027CC24 00278884 38 21 00 40 */ addi r1, r1, 0x40
+/* 8027CC28 00278888 4E 80 00 20 */ blr
+
+.global C_MTXOrtho
+C_MTXOrtho:
+/* 8027CC2C 0027888C ED 64 18 28 */ fsubs f11, f4, f3
+/* 8027CC30 00278890 C1 02 A0 98 */ lfs f8, lbl_80642698-_SDA2_BASE_(r2)
+/* 8027CC34 00278894 C1 42 A0 90 */ lfs f10, lbl_80642690-_SDA2_BASE_(r2)
+/* 8027CC38 00278898 EC E1 10 28 */ fsubs f7, f1, f2
+/* 8027CC3C 0027889C EC 06 28 28 */ fsubs f0, f6, f5
+/* 8027CC40 002788A0 C1 22 A0 94 */ lfs f9, lbl_80642694-_SDA2_BASE_(r2)
+/* 8027CC44 002788A4 ED 8A 58 24 */ fdivs f12, f10, f11
+/* 8027CC48 002788A8 C0 A2 A0 9C */ lfs f5, lbl_8064269C-_SDA2_BASE_(r2)
+/* 8027CC4C 002788AC D1 03 00 04 */ stfs f8, 4(r3)
+/* 8027CC50 002788B0 D1 03 00 08 */ stfs f8, 8(r3)
+/* 8027CC54 002788B4 D1 03 00 10 */ stfs f8, 0x10(r3)
+/* 8027CC58 002788B8 D1 03 00 18 */ stfs f8, 0x18(r3)
+/* 8027CC5C 002788BC ED 6A 38 24 */ fdivs f11, f10, f7
+/* 8027CC60 002788C0 D1 03 00 20 */ stfs f8, 0x20(r3)
+/* 8027CC64 002788C4 D1 03 00 24 */ stfs f8, 0x24(r3)
+/* 8027CC68 002788C8 D1 03 00 30 */ stfs f8, 0x30(r3)
+/* 8027CC6C 002788CC D1 03 00 34 */ stfs f8, 0x34(r3)
+/* 8027CC70 002788D0 D1 03 00 38 */ stfs f8, 0x38(r3)
+/* 8027CC74 002788D4 EC EA 00 24 */ fdivs f7, f10, f0
+/* 8027CC78 002788D8 D1 43 00 3C */ stfs f10, 0x3c(r3)
+/* 8027CC7C 002788DC FC 00 30 50 */ fneg f0, f6
+/* 8027CC80 002788E0 EC 21 10 2A */ fadds f1, f1, f2
+/* 8027CC84 002788E4 EC 64 18 2A */ fadds f3, f4, f3
+/* 8027CC88 002788E8 EC C9 03 32 */ fmuls f6, f9, f12
+/* 8027CC8C 002788EC EC 00 01 F2 */ fmuls f0, f0, f7
+/* 8027CC90 002788F0 FC 40 18 50 */ fneg f2, f3
+/* 8027CC94 002788F4 EC 69 02 F2 */ fmuls f3, f9, f11
+/* 8027CC98 002788F8 D0 C3 00 00 */ stfs f6, 0(r3)
+/* 8027CC9C 002788FC FC 20 08 50 */ fneg f1, f1
+/* 8027CCA0 00278900 EC 8C 00 B2 */ fmuls f4, f12, f2
+/* 8027CCA4 00278904 D0 03 00 2C */ stfs f0, 0x2c(r3)
+/* 8027CCA8 00278908 EC 4B 00 72 */ fmuls f2, f11, f1
+/* 8027CCAC 0027890C D0 63 00 14 */ stfs f3, 0x14(r3)
+/* 8027CCB0 00278910 EC 25 01 F2 */ fmuls f1, f5, f7
+/* 8027CCB4 00278914 D0 83 00 0C */ stfs f4, 0xc(r3)
+/* 8027CCB8 00278918 D0 43 00 1C */ stfs f2, 0x1c(r3)
+/* 8027CCBC 0027891C D0 23 00 28 */ stfs f1, 0x28(r3)
+/* 8027CCC0 00278920 4E 80 00 20 */ blr
diff --git a/asm/SDK/MTX/mtxvec.s b/asm/SDK/MTX/mtxvec.s
new file mode 100644
index 0000000..9e2787f
--- /dev/null
+++ b/asm/SDK/MTX/mtxvec.s
@@ -0,0 +1,51 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global PSMTXMultVec
+PSMTXMultVec:
+/* 8027C9FC 0027865C E0 04 00 00 */ psq_l f0, 0(r4), 0, qr0
+/* 8027CA00 00278660 E0 43 00 00 */ psq_l f2, 0(r3), 0, qr0
+/* 8027CA04 00278664 E0 24 80 08 */ psq_l f1, 8(r4), 1, qr0
+/* 8027CA08 00278668 10 82 00 32 */ ps_mul f4, f2, f0
+/* 8027CA0C 0027866C E0 63 00 08 */ psq_l f3, 8(r3), 0, qr0
+/* 8027CA10 00278670 10 A3 20 7A */ ps_madd f5, f3, f1, f4
+/* 8027CA14 00278674 E1 03 00 10 */ psq_l f8, 16(r3), 0, qr0
+/* 8027CA18 00278678 10 C5 29 94 */ ps_sum0 f6, f5, f6, f5
+/* 8027CA1C 0027867C E1 23 00 18 */ psq_l f9, 24(r3), 0, qr0
+/* 8027CA20 00278680 11 48 00 32 */ ps_mul f10, f8, f0
+/* 8027CA24 00278684 F0 C5 80 00 */ psq_st f6, 0(r5), 1, qr0
+/* 8027CA28 00278688 11 69 50 7A */ ps_madd f11, f9, f1, f10
+/* 8027CA2C 0027868C E0 43 00 20 */ psq_l f2, 32(r3), 0, qr0
+/* 8027CA30 00278690 11 8B 5B 14 */ ps_sum0 f12, f11, f12, f11
+/* 8027CA34 00278694 E0 63 00 28 */ psq_l f3, 40(r3), 0, qr0
+/* 8027CA38 00278698 10 82 00 32 */ ps_mul f4, f2, f0
+/* 8027CA3C 0027869C F1 85 80 04 */ psq_st f12, 4(r5), 1, qr0
+/* 8027CA40 002786A0 10 A3 20 7A */ ps_madd f5, f3, f1, f4
+/* 8027CA44 002786A4 10 C5 29 94 */ ps_sum0 f6, f5, f6, f5
+/* 8027CA48 002786A8 F0 C5 80 08 */ psq_st f6, 8(r5), 1, qr0
+/* 8027CA4C 002786AC 4E 80 00 20 */ blr
+
+.global PSMTXMultVecSR
+PSMTXMultVecSR:
+/* 8027CA50 002786B0 E0 03 00 00 */ psq_l f0, 0(r3), 0, qr0
+/* 8027CA54 002786B4 E0 C4 00 00 */ psq_l f6, 0(r4), 0, qr0
+/* 8027CA58 002786B8 E0 43 00 10 */ psq_l f2, 16(r3), 0, qr0
+/* 8027CA5C 002786BC 11 00 01 B2 */ ps_mul f8, f0, f6
+/* 8027CA60 002786C0 E0 83 00 20 */ psq_l f4, 32(r3), 0, qr0
+/* 8027CA64 002786C4 11 42 01 B2 */ ps_mul f10, f2, f6
+/* 8027CA68 002786C8 E0 E4 80 08 */ psq_l f7, 8(r4), 1, qr0
+/* 8027CA6C 002786CC 11 84 01 B2 */ ps_mul f12, f4, f6
+/* 8027CA70 002786D0 E0 63 00 18 */ psq_l f3, 24(r3), 0, qr0
+/* 8027CA74 002786D4 11 08 42 14 */ ps_sum0 f8, f8, f8, f8
+/* 8027CA78 002786D8 E0 A3 00 28 */ psq_l f5, 40(r3), 0, qr0
+/* 8027CA7C 002786DC 11 4A 52 94 */ ps_sum0 f10, f10, f10, f10
+/* 8027CA80 002786E0 E0 23 00 08 */ psq_l f1, 8(r3), 0, qr0
+/* 8027CA84 002786E4 11 8C 63 14 */ ps_sum0 f12, f12, f12, f12
+/* 8027CA88 002786E8 11 21 41 FA */ ps_madd f9, f1, f7, f8
+/* 8027CA8C 002786EC F1 25 80 00 */ psq_st f9, 0(r5), 1, qr0
+/* 8027CA90 002786F0 11 63 51 FA */ ps_madd f11, f3, f7, f10
+/* 8027CA94 002786F4 F1 65 80 04 */ psq_st f11, 4(r5), 1, qr0
+/* 8027CA98 002786F8 11 A5 61 FA */ ps_madd f13, f5, f7, f12
+/* 8027CA9C 002786FC F1 A5 80 08 */ psq_st f13, 8(r5), 1, qr0
+/* 8027CAA0 00278700 4E 80 00 20 */ blr
diff --git a/asm/SDK/MTX/quat.s b/asm/SDK/MTX/quat.s
new file mode 100644
index 0000000..189aad0
--- /dev/null
+++ b/asm/SDK/MTX/quat.s
@@ -0,0 +1,421 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global PSQUATMultiply
+PSQUATMultiply:
+/* 8027D024 00278C84 E0 03 00 00 */ psq_l f0, 0(r3), 0, qr0
+/* 8027D028 00278C88 E0 23 00 08 */ psq_l f1, 8(r3), 0, qr0
+/* 8027D02C 00278C8C 10 A0 00 50 */ ps_neg f5, f0
+/* 8027D030 00278C90 E0 44 00 00 */ psq_l f2, 0(r4), 0, qr0
+/* 8027D034 00278C94 10 C0 08 50 */ ps_neg f6, f1
+/* 8027D038 00278C98 E0 64 00 08 */ psq_l f3, 8(r4), 0, qr0
+/* 8027D03C 00278C9C 10 E1 00 98 */ ps_muls0 f7, f1, f2
+/* 8027D040 00278CA0 10 85 04 60 */ ps_merge01 f4, f5, f0
+/* 8027D044 00278CA4 10 26 0C 60 */ ps_merge01 f1, f6, f1
+/* 8027D048 00278CA8 10 A5 00 98 */ ps_muls0 f5, f5, f2
+/* 8027D04C 00278CAC 11 04 00 9A */ ps_muls1 f8, f4, f2
+/* 8027D050 00278CB0 10 E4 38 DC */ ps_madds0 f7, f4, f3, f7
+/* 8027D054 00278CB4 10 41 00 9A */ ps_muls1 f2, f1, f2
+/* 8027D058 00278CB8 10 A1 28 DC */ ps_madds0 f5, f1, f3, f5
+/* 8027D05C 00278CBC 10 E7 3C A0 */ ps_merge10 f7, f7, f7
+/* 8027D060 00278CC0 10 40 10 DE */ ps_madds1 f2, f0, f3, f2
+/* 8027D064 00278CC4 10 A5 2C A0 */ ps_merge10 f5, f5, f5
+/* 8027D068 00278CC8 11 06 40 DE */ ps_madds1 f8, f6, f3, f8
+/* 8027D06C 00278CCC 10 E7 10 2A */ ps_add f7, f7, f2
+/* 8027D070 00278CD0 10 A5 40 28 */ ps_sub f5, f5, f8
+/* 8027D074 00278CD4 F0 E5 00 00 */ psq_st f7, 0(r5), 0, qr0
+/* 8027D078 00278CD8 F0 A5 00 08 */ psq_st f5, 8(r5), 0, qr0
+/* 8027D07C 00278CDC 4E 80 00 20 */ blr
+
+# either PSQUATNormalize or PSQUATInverse
+.global func_8027D080
+func_8027D080:
+/* 8027D080 00278CE0 E0 03 00 00 */ psq_l f0, 0(r3), 0, qr0
+/* 8027D084 00278CE4 C0 A2 A0 B8 */ lfs f5, lbl_806426B8-_SDA2_BASE_(r2)
+/* 8027D088 00278CE8 10 40 00 32 */ ps_mul f2, f0, f0
+/* 8027D08C 00278CEC E0 23 00 08 */ psq_l f1, 8(r3), 0, qr0
+/* 8027D090 00278CF0 10 85 28 28 */ ps_sub f4, f5, f5
+/* 8027D094 00278CF4 10 65 28 2A */ ps_add f3, f5, f5
+/* 8027D098 00278CF8 10 41 10 7A */ ps_madd f2, f1, f1, f2
+/* 8027D09C 00278CFC 10 42 10 94 */ ps_sum0 f2, f2, f2, f2
+/* 8027D0A0 00278D00 FC 02 20 00 */ fcmpu cr0, f2, f4
+/* 8027D0A4 00278D04 41 82 00 10 */ beq lbl_8027D0B4
+/* 8027D0A8 00278D08 EC A0 10 30 */ fres f5, f2
+/* 8027D0AC 00278D0C 10 42 19 7C */ ps_nmsub f2, f2, f5, f3
+/* 8027D0B0 00278D10 10 A5 00 B2 */ ps_mul f5, f5, f2
+lbl_8027D0B4:
+/* 8027D0B4 00278D14 10 60 28 50 */ ps_neg f3, f5
+/* 8027D0B8 00278D18 10 45 00 5A */ ps_muls1 f2, f5, f1
+/* 8027D0BC 00278D1C 10 00 00 D8 */ ps_muls0 f0, f0, f3
+/* 8027D0C0 00278D20 10 21 00 D8 */ ps_muls0 f1, f1, f3
+/* 8027D0C4 00278D24 F0 44 80 0C */ psq_st f2, 12(r4), 1, qr0
+/* 8027D0C8 00278D28 F0 04 00 00 */ psq_st f0, 0(r4), 0, qr0
+/* 8027D0CC 00278D2C F0 24 80 08 */ psq_st f1, 8(r4), 1, qr0
+/* 8027D0D0 00278D30 4E 80 00 20 */ blr
+
+.global PSQUATDivide
+PSQUATDivide:
+/* 8027D0D4 00278D34 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8027D0D8 00278D38 7C 08 02 A6 */ mflr r0
+/* 8027D0DC 00278D3C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8027D0E0 00278D40 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8027D0E4 00278D44 7C BF 2B 78 */ mr r31, r5
+/* 8027D0E8 00278D48 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 8027D0EC 00278D4C 7C 7E 1B 78 */ mr r30, r3
+/* 8027D0F0 00278D50 7C 83 23 78 */ mr r3, r4
+/* 8027D0F4 00278D54 38 81 00 08 */ addi r4, r1, 8
+/* 8027D0F8 00278D58 4B FF FF 89 */ bl func_8027D080
+/* 8027D0FC 00278D5C 7F C4 F3 78 */ mr r4, r30
+/* 8027D100 00278D60 7F E5 FB 78 */ mr r5, r31
+/* 8027D104 00278D64 38 61 00 08 */ addi r3, r1, 8
+/* 8027D108 00278D68 4B FF FF 1D */ bl PSQUATMultiply
+/* 8027D10C 00278D6C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8027D110 00278D70 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 8027D114 00278D74 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 8027D118 00278D78 7C 08 03 A6 */ mtlr r0
+/* 8027D11C 00278D7C 38 21 00 20 */ addi r1, r1, 0x20
+/* 8027D120 00278D80 4E 80 00 20 */ blr
+
+.global C_QUATRotAxisRad
+C_QUATRotAxisRad:
+/* 8027D124 00278D84 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 8027D128 00278D88 7C 08 02 A6 */ mflr r0
+/* 8027D12C 00278D8C 90 01 00 44 */ stw r0, 0x44(r1)
+/* 8027D130 00278D90 DB E1 00 30 */ stfd f31, 0x30(r1)
+/* 8027D134 00278D94 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0
+/* 8027D138 00278D98 DB C1 00 20 */ stfd f30, 0x20(r1)
+/* 8027D13C 00278D9C F3 C1 00 28 */ psq_st f30, 40(r1), 0, qr0
+/* 8027D140 00278DA0 FF C0 08 90 */ fmr f30, f1
+/* 8027D144 00278DA4 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8027D148 00278DA8 7C 7F 1B 78 */ mr r31, r3
+/* 8027D14C 00278DAC 7C 83 23 78 */ mr r3, r4
+/* 8027D150 00278DB0 38 81 00 08 */ addi r4, r1, 8
+/* 8027D154 00278DB4 4B FF FB D5 */ bl PSVECNormalize
+/* 8027D158 00278DB8 C0 02 A0 C0 */ lfs f0, lbl_806426C0-_SDA2_BASE_(r2)
+/* 8027D15C 00278DBC EF C0 07 B2 */ fmuls f30, f0, f30
+/* 8027D160 00278DC0 FC 20 F0 90 */ fmr f1, f30
+/* 8027D164 00278DC4 4B F5 73 21 */ bl sin
+/* 8027D168 00278DC8 FF E0 08 18 */ frsp f31, f1
+/* 8027D16C 00278DCC FC 20 F0 90 */ fmr f1, f30
+/* 8027D170 00278DD0 4B F5 6F 09 */ bl cos
+/* 8027D174 00278DD4 C0 01 00 08 */ lfs f0, 8(r1)
+/* 8027D178 00278DD8 FC 20 08 18 */ frsp f1, f1
+/* 8027D17C 00278DDC EC 1F 00 32 */ fmuls f0, f31, f0
+/* 8027D180 00278DE0 D0 1F 00 00 */ stfs f0, 0(r31)
+/* 8027D184 00278DE4 C0 01 00 0C */ lfs f0, 0xc(r1)
+/* 8027D188 00278DE8 EC 1F 00 32 */ fmuls f0, f31, f0
+/* 8027D18C 00278DEC D0 1F 00 04 */ stfs f0, 4(r31)
+/* 8027D190 00278DF0 C0 01 00 10 */ lfs f0, 0x10(r1)
+/* 8027D194 00278DF4 EC 1F 00 32 */ fmuls f0, f31, f0
+/* 8027D198 00278DF8 D0 3F 00 0C */ stfs f1, 0xc(r31)
+/* 8027D19C 00278DFC D0 1F 00 08 */ stfs f0, 8(r31)
+/* 8027D1A0 00278E00 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0
+/* 8027D1A4 00278E04 CB E1 00 30 */ lfd f31, 0x30(r1)
+/* 8027D1A8 00278E08 E3 C1 00 28 */ psq_l f30, 40(r1), 0, qr0
+/* 8027D1AC 00278E0C CB C1 00 20 */ lfd f30, 0x20(r1)
+/* 8027D1B0 00278E10 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 8027D1B4 00278E14 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 8027D1B8 00278E18 7C 08 03 A6 */ mtlr r0
+/* 8027D1BC 00278E1C 38 21 00 40 */ addi r1, r1, 0x40
+/* 8027D1C0 00278E20 4E 80 00 20 */ blr
+
+.global C_QUATMtx
+C_QUATMtx:
+/* 8027D1C4 00278E24 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 8027D1C8 00278E28 7C 08 02 A6 */ mflr r0
+/* 8027D1CC 00278E2C 90 01 00 44 */ stw r0, 0x44(r1)
+/* 8027D1D0 00278E30 39 61 00 40 */ addi r11, r1, 0x40
+/* 8027D1D4 00278E34 4B F4 9F 4D */ bl _savegpr_25
+/* 8027D1D8 00278E38 C0 64 00 00 */ lfs f3, 0(r4)
+/* 8027D1DC 00278E3C 3C C0 80 40 */ lis r6, lbl_80400004@ha
+/* 8027D1E0 00278E40 C0 44 00 14 */ lfs f2, 0x14(r4)
+/* 8027D1E4 00278E44 7C 7F 1B 78 */ mr r31, r3
+/* 8027D1E8 00278E48 84 A6 D9 A8 */ lwzu r5, -0x2658(r6)
+/* 8027D1EC 00278E4C 7C 99 23 78 */ mr r25, r4
+/* 8027D1F0 00278E50 EC 23 10 2A */ fadds f1, f3, f2
+/* 8027D1F4 00278E54 C0 04 00 28 */ lfs f0, 0x28(r4)
+/* 8027D1F8 00278E58 80 66 00 04 */ lwz r3, lbl_80400004@l(r6)
+/* 8027D1FC 00278E5C 80 06 00 08 */ lwz r0, 8(r6)
+/* 8027D200 00278E60 EC 20 08 2A */ fadds f1, f0, f1
+/* 8027D204 00278E64 C0 02 A0 BC */ lfs f0, lbl_806426BC-_SDA2_BASE_(r2)
+/* 8027D208 00278E68 90 A1 00 14 */ stw r5, 0x14(r1)
+/* 8027D20C 00278E6C FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 8027D210 00278E70 90 61 00 18 */ stw r3, 0x18(r1)
+/* 8027D214 00278E74 90 01 00 1C */ stw r0, 0x1c(r1)
+/* 8027D218 00278E78 40 81 00 64 */ ble lbl_8027D27C
+/* 8027D21C 00278E7C C0 02 A0 B8 */ lfs f0, lbl_806426B8-_SDA2_BASE_(r2)
+/* 8027D220 00278E80 EC 20 08 2A */ fadds f1, f0, f1
+/* 8027D224 00278E84 4B F5 76 11 */ bl sqrt
+/* 8027D228 00278E88 FC E0 08 18 */ frsp f7, f1
+/* 8027D22C 00278E8C C0 C2 A0 C0 */ lfs f6, lbl_806426C0-_SDA2_BASE_(r2)
+/* 8027D230 00278E90 C0 B9 00 24 */ lfs f5, 0x24(r25)
+/* 8027D234 00278E94 C0 99 00 18 */ lfs f4, 0x18(r25)
+/* 8027D238 00278E98 ED 06 38 24 */ fdivs f8, f6, f7
+/* 8027D23C 00278E9C C0 79 00 08 */ lfs f3, 8(r25)
+/* 8027D240 00278EA0 C0 59 00 20 */ lfs f2, 0x20(r25)
+/* 8027D244 00278EA4 C0 39 00 10 */ lfs f1, 0x10(r25)
+/* 8027D248 00278EA8 C0 19 00 04 */ lfs f0, 4(r25)
+/* 8027D24C 00278EAC EC 85 20 28 */ fsubs f4, f5, f4
+/* 8027D250 00278EB0 EC 43 10 28 */ fsubs f2, f3, f2
+/* 8027D254 00278EB4 EC 01 00 28 */ fsubs f0, f1, f0
+/* 8027D258 00278EB8 EC A6 01 F2 */ fmuls f5, f6, f7
+/* 8027D25C 00278EBC EC 68 01 32 */ fmuls f3, f8, f4
+/* 8027D260 00278EC0 EC 28 00 B2 */ fmuls f1, f8, f2
+/* 8027D264 00278EC4 EC 08 00 32 */ fmuls f0, f8, f0
+/* 8027D268 00278EC8 D0 BF 00 0C */ stfs f5, 0xc(r31)
+/* 8027D26C 00278ECC D0 7F 00 00 */ stfs f3, 0(r31)
+/* 8027D270 00278ED0 D0 3F 00 04 */ stfs f1, 4(r31)
+/* 8027D274 00278ED4 D0 1F 00 08 */ stfs f0, 8(r31)
+/* 8027D278 00278ED8 48 00 01 00 */ b lbl_8027D378
+lbl_8027D27C:
+/* 8027D27C 00278EDC FC 02 18 40 */ fcmpo cr0, f2, f3
+/* 8027D280 00278EE0 38 A0 00 00 */ li r5, 0
+/* 8027D284 00278EE4 40 81 00 08 */ ble lbl_8027D28C
+/* 8027D288 00278EE8 38 A0 00 01 */ li r5, 1
+lbl_8027D28C:
+/* 8027D28C 00278EEC 54 A0 20 36 */ slwi r0, r5, 4
+/* 8027D290 00278EF0 54 A3 10 3A */ slwi r3, r5, 2
+/* 8027D294 00278EF4 7C 04 02 14 */ add r0, r4, r0
+/* 8027D298 00278EF8 C0 24 00 28 */ lfs f1, 0x28(r4)
+/* 8027D29C 00278EFC 7C 03 04 2E */ lfsx f0, r3, r0
+/* 8027D2A0 00278F00 FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 8027D2A4 00278F04 40 81 00 08 */ ble lbl_8027D2AC
+/* 8027D2A8 00278F08 38 A0 00 02 */ li r5, 2
+lbl_8027D2AC:
+/* 8027D2AC 00278F0C 54 BA 10 3A */ slwi r26, r5, 2
+/* 8027D2B0 00278F10 38 61 00 14 */ addi r3, r1, 0x14
+/* 8027D2B4 00278F14 7C C3 D0 2E */ lwzx r6, r3, r26
+/* 8027D2B8 00278F18 54 A0 20 36 */ slwi r0, r5, 4
+/* 8027D2BC 00278F1C 7F 24 02 14 */ add r25, r4, r0
+/* 8027D2C0 00278F20 C0 02 A0 B8 */ lfs f0, lbl_806426B8-_SDA2_BASE_(r2)
+/* 8027D2C4 00278F24 54 DC 10 3A */ slwi r28, r6, 2
+/* 8027D2C8 00278F28 54 C0 20 36 */ slwi r0, r6, 4
+/* 8027D2CC 00278F2C 7C 63 E0 2E */ lwzx r3, r3, r28
+/* 8027D2D0 00278F30 7F A4 02 14 */ add r29, r4, r0
+/* 8027D2D4 00278F34 7C 7D E4 2E */ lfsx f3, r29, r28
+/* 8027D2D8 00278F38 54 60 20 36 */ slwi r0, r3, 4
+/* 8027D2DC 00278F3C 54 7E 10 3A */ slwi r30, r3, 2
+/* 8027D2E0 00278F40 7F 64 02 14 */ add r27, r4, r0
+/* 8027D2E4 00278F44 7C 39 D4 2E */ lfsx f1, r25, r26
+/* 8027D2E8 00278F48 7C 5B F4 2E */ lfsx f2, r27, r30
+/* 8027D2EC 00278F4C EC 43 10 2A */ fadds f2, f3, f2
+/* 8027D2F0 00278F50 EC 21 10 28 */ fsubs f1, f1, f2
+/* 8027D2F4 00278F54 EC 20 08 2A */ fadds f1, f0, f1
+/* 8027D2F8 00278F58 4B F5 75 3D */ bl sqrt
+/* 8027D2FC 00278F5C FC A0 08 18 */ frsp f5, f1
+/* 8027D300 00278F60 C0 42 A0 C0 */ lfs f2, lbl_806426C0-_SDA2_BASE_(r2)
+/* 8027D304 00278F64 C0 02 A0 BC */ lfs f0, lbl_806426BC-_SDA2_BASE_(r2)
+/* 8027D308 00278F68 38 61 00 08 */ addi r3, r1, 8
+/* 8027D30C 00278F6C EC 22 01 72 */ fmuls f1, f2, f5
+/* 8027D310 00278F70 FC 00 28 00 */ fcmpu cr0, f0, f5
+/* 8027D314 00278F74 7C 23 D5 2E */ stfsx f1, r3, r26
+/* 8027D318 00278F78 41 82 00 08 */ beq lbl_8027D320
+/* 8027D31C 00278F7C EC A2 28 24 */ fdivs f5, f2, f5
+lbl_8027D320:
+/* 8027D320 00278F80 7C 59 E4 2E */ lfsx f2, r25, r28
+/* 8027D324 00278F84 38 61 00 08 */ addi r3, r1, 8
+/* 8027D328 00278F88 7C 1D D4 2E */ lfsx f0, r29, r26
+/* 8027D32C 00278F8C 7C 39 F4 2E */ lfsx f1, r25, r30
+/* 8027D330 00278F90 EC 42 00 2A */ fadds f2, f2, f0
+/* 8027D334 00278F94 7C 1B D4 2E */ lfsx f0, r27, r26
+/* 8027D338 00278F98 7C 9B E4 2E */ lfsx f4, r27, r28
+/* 8027D33C 00278F9C EC 01 00 2A */ fadds f0, f1, f0
+/* 8027D340 00278FA0 7C 7D F4 2E */ lfsx f3, r29, r30
+/* 8027D344 00278FA4 EC 25 00 B2 */ fmuls f1, f5, f2
+/* 8027D348 00278FA8 EC 44 18 28 */ fsubs f2, f4, f3
+/* 8027D34C 00278FAC EC 05 00 32 */ fmuls f0, f5, f0
+/* 8027D350 00278FB0 7C 23 E5 2E */ stfsx f1, r3, r28
+/* 8027D354 00278FB4 EC 65 00 B2 */ fmuls f3, f5, f2
+/* 8027D358 00278FB8 7C 03 F5 2E */ stfsx f0, r3, r30
+/* 8027D35C 00278FBC C0 41 00 08 */ lfs f2, 8(r1)
+/* 8027D360 00278FC0 C0 21 00 0C */ lfs f1, 0xc(r1)
+/* 8027D364 00278FC4 C0 01 00 10 */ lfs f0, 0x10(r1)
+/* 8027D368 00278FC8 D0 7F 00 0C */ stfs f3, 0xc(r31)
+/* 8027D36C 00278FCC D0 5F 00 00 */ stfs f2, 0(r31)
+/* 8027D370 00278FD0 D0 3F 00 04 */ stfs f1, 4(r31)
+/* 8027D374 00278FD4 D0 1F 00 08 */ stfs f0, 8(r31)
+lbl_8027D378:
+/* 8027D378 00278FD8 39 61 00 40 */ addi r11, r1, 0x40
+/* 8027D37C 00278FDC 4B F4 9D F1 */ bl _restgpr_25
+/* 8027D380 00278FE0 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 8027D384 00278FE4 7C 08 03 A6 */ mtlr r0
+/* 8027D388 00278FE8 38 21 00 40 */ addi r1, r1, 0x40
+/* 8027D38C 00278FEC 4E 80 00 20 */ blr
+
+.global C_QUATSlerp
+C_QUATSlerp:
+/* 8027D390 00278FF0 94 21 FF A0 */ stwu r1, -0x60(r1)
+/* 8027D394 00278FF4 7C 08 02 A6 */ mflr r0
+/* 8027D398 00278FF8 90 01 00 64 */ stw r0, 0x64(r1)
+/* 8027D39C 00278FFC DB E1 00 50 */ stfd f31, 0x50(r1)
+/* 8027D3A0 00279000 F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0
+/* 8027D3A4 00279004 DB C1 00 40 */ stfd f30, 0x40(r1)
+/* 8027D3A8 00279008 F3 C1 00 48 */ psq_st f30, 72(r1), 0, qr0
+/* 8027D3AC 0027900C DB A1 00 30 */ stfd f29, 0x30(r1)
+/* 8027D3B0 00279010 F3 A1 00 38 */ psq_st f29, 56(r1), 0, qr0
+/* 8027D3B4 00279014 DB 81 00 20 */ stfd f28, 0x20(r1)
+/* 8027D3B8 00279018 F3 81 00 28 */ psq_st f28, 40(r1), 0, qr0
+/* 8027D3BC 0027901C FF E0 08 90 */ fmr f31, f1
+/* 8027D3C0 00279020 C0 83 00 00 */ lfs f4, 0(r3)
+/* 8027D3C4 00279024 C0 64 00 00 */ lfs f3, 0(r4)
+/* 8027D3C8 00279028 C0 43 00 04 */ lfs f2, 4(r3)
+/* 8027D3CC 0027902C C0 04 00 04 */ lfs f0, 4(r4)
+/* 8027D3D0 00279030 EC 64 00 F2 */ fmuls f3, f4, f3
+/* 8027D3D4 00279034 C0 83 00 08 */ lfs f4, 8(r3)
+/* 8027D3D8 00279038 EC 02 00 32 */ fmuls f0, f2, f0
+/* 8027D3DC 0027903C C0 44 00 08 */ lfs f2, 8(r4)
+/* 8027D3E0 00279040 C0 C3 00 0C */ lfs f6, 0xc(r3)
+/* 8027D3E4 00279044 EC 84 00 B2 */ fmuls f4, f4, f2
+/* 8027D3E8 00279048 C0 A4 00 0C */ lfs f5, 0xc(r4)
+/* 8027D3EC 0027904C EC 43 00 2A */ fadds f2, f3, f0
+/* 8027D3F0 00279050 EC 66 01 72 */ fmuls f3, f6, f5
+/* 8027D3F4 00279054 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8027D3F8 00279058 C0 02 A0 BC */ lfs f0, lbl_806426BC-_SDA2_BASE_(r2)
+/* 8027D3FC 0027905C EC 44 10 2A */ fadds f2, f4, f2
+/* 8027D400 00279060 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 8027D404 00279064 C3 C2 A0 B8 */ lfs f30, lbl_806426B8-_SDA2_BASE_(r2)
+/* 8027D408 00279068 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 8027D40C 0027906C 7C 7D 1B 78 */ mr r29, r3
+/* 8027D410 00279070 EC 43 10 2A */ fadds f2, f3, f2
+/* 8027D414 00279074 7C 9E 23 78 */ mr r30, r4
+/* 8027D418 00279078 7C BF 2B 78 */ mr r31, r5
+/* 8027D41C 0027907C FC 02 00 40 */ fcmpo cr0, f2, f0
+/* 8027D420 00279080 40 80 00 0C */ bge lbl_8027D42C
+/* 8027D424 00279084 FC 40 10 50 */ fneg f2, f2
+/* 8027D428 00279088 FF C0 F0 50 */ fneg f30, f30
+lbl_8027D42C:
+/* 8027D42C 0027908C C0 02 A0 C4 */ lfs f0, lbl_806426C4-_SDA2_BASE_(r2)
+/* 8027D430 00279090 FC 02 00 40 */ fcmpo cr0, f2, f0
+/* 8027D434 00279094 4C 40 13 82 */ cror 2, 0, 2
+/* 8027D438 00279098 40 82 00 4C */ bne lbl_8027D484
+/* 8027D43C 0027909C FC 20 10 90 */ fmr f1, f2
+/* 8027D440 002790A0 4B F5 71 95 */ bl acos
+/* 8027D444 002790A4 FF A0 08 18 */ frsp f29, f1
+/* 8027D448 002790A8 FC 20 E8 90 */ fmr f1, f29
+/* 8027D44C 002790AC 4B F5 70 39 */ bl sin
+/* 8027D450 002790B0 C0 02 A0 B8 */ lfs f0, lbl_806426B8-_SDA2_BASE_(r2)
+/* 8027D454 002790B4 FF 80 08 18 */ frsp f28, f1
+/* 8027D458 002790B8 EC 00 F8 28 */ fsubs f0, f0, f31
+/* 8027D45C 002790BC EC 20 07 72 */ fmuls f1, f0, f29
+/* 8027D460 002790C0 4B F5 70 25 */ bl sin
+/* 8027D464 002790C4 FC 00 08 18 */ frsp f0, f1
+/* 8027D468 002790C8 EC 3F 07 72 */ fmuls f1, f31, f29
+/* 8027D46C 002790CC EF E0 E0 24 */ fdivs f31, f0, f28
+/* 8027D470 002790D0 4B F5 70 15 */ bl sin
+/* 8027D474 002790D4 FC 00 08 18 */ frsp f0, f1
+/* 8027D478 002790D8 EC 00 E0 24 */ fdivs f0, f0, f28
+/* 8027D47C 002790DC EF DE 00 32 */ fmuls f30, f30, f0
+/* 8027D480 002790E0 48 00 00 10 */ b lbl_8027D490
+lbl_8027D484:
+/* 8027D484 002790E4 C0 02 A0 B8 */ lfs f0, lbl_806426B8-_SDA2_BASE_(r2)
+/* 8027D488 002790E8 EF DE 00 72 */ fmuls f30, f30, f1
+/* 8027D48C 002790EC EF E0 08 28 */ fsubs f31, f0, f1
+lbl_8027D490:
+/* 8027D490 002790F0 C0 1D 00 00 */ lfs f0, 0(r29)
+/* 8027D494 002790F4 C0 5E 00 00 */ lfs f2, 0(r30)
+/* 8027D498 002790F8 C0 3D 00 04 */ lfs f1, 4(r29)
+/* 8027D49C 002790FC EC FF 00 32 */ fmuls f7, f31, f0
+/* 8027D4A0 00279100 C0 1E 00 04 */ lfs f0, 4(r30)
+/* 8027D4A4 00279104 EC DE 00 B2 */ fmuls f6, f30, f2
+/* 8027D4A8 00279108 C0 7D 00 08 */ lfs f3, 8(r29)
+/* 8027D4AC 0027910C EC BF 00 72 */ fmuls f5, f31, f1
+/* 8027D4B0 00279110 EC 9E 00 32 */ fmuls f4, f30, f0
+/* 8027D4B4 00279114 C0 5E 00 08 */ lfs f2, 8(r30)
+/* 8027D4B8 00279118 EC 7F 00 F2 */ fmuls f3, f31, f3
+/* 8027D4BC 0027911C C0 3D 00 0C */ lfs f1, 0xc(r29)
+/* 8027D4C0 00279120 EC C7 30 2A */ fadds f6, f7, f6
+/* 8027D4C4 00279124 C0 1E 00 0C */ lfs f0, 0xc(r30)
+/* 8027D4C8 00279128 EC 5E 00 B2 */ fmuls f2, f30, f2
+/* 8027D4CC 0027912C EC 85 20 2A */ fadds f4, f5, f4
+/* 8027D4D0 00279130 D0 DF 00 00 */ stfs f6, 0(r31)
+/* 8027D4D4 00279134 EC 3F 00 72 */ fmuls f1, f31, f1
+/* 8027D4D8 00279138 EC 1E 00 32 */ fmuls f0, f30, f0
+/* 8027D4DC 0027913C EC 43 10 2A */ fadds f2, f3, f2
+/* 8027D4E0 00279140 D0 9F 00 04 */ stfs f4, 4(r31)
+/* 8027D4E4 00279144 EC 01 00 2A */ fadds f0, f1, f0
+/* 8027D4E8 00279148 D0 5F 00 08 */ stfs f2, 8(r31)
+/* 8027D4EC 0027914C D0 1F 00 0C */ stfs f0, 0xc(r31)
+/* 8027D4F0 00279150 E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0
+/* 8027D4F4 00279154 CB E1 00 50 */ lfd f31, 0x50(r1)
+/* 8027D4F8 00279158 E3 C1 00 48 */ psq_l f30, 72(r1), 0, qr0
+/* 8027D4FC 0027915C CB C1 00 40 */ lfd f30, 0x40(r1)
+/* 8027D500 00279160 E3 A1 00 38 */ psq_l f29, 56(r1), 0, qr0
+/* 8027D504 00279164 CB A1 00 30 */ lfd f29, 0x30(r1)
+/* 8027D508 00279168 E3 81 00 28 */ psq_l f28, 40(r1), 0, qr0
+/* 8027D50C 0027916C CB 81 00 20 */ lfd f28, 0x20(r1)
+/* 8027D510 00279170 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 8027D514 00279174 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 8027D518 00279178 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 8027D51C 0027917C 80 01 00 64 */ lwz r0, 0x64(r1)
+/* 8027D520 00279180 7C 08 03 A6 */ mtlr r0
+/* 8027D524 00279184 38 21 00 60 */ addi r1, r1, 0x60
+/* 8027D528 00279188 4E 80 00 20 */ blr
+
+.global C_QUATSquad
+C_QUATSquad:
+/* 8027D52C 0027918C 94 21 FF A0 */ stwu r1, -0x60(r1)
+/* 8027D530 00279190 7C 08 02 A6 */ mflr r0
+/* 8027D534 00279194 90 01 00 64 */ stw r0, 0x64(r1)
+/* 8027D538 00279198 DB E1 00 50 */ stfd f31, 0x50(r1)
+/* 8027D53C 0027919C F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0
+/* 8027D540 002791A0 DB C1 00 40 */ stfd f30, 0x40(r1)
+/* 8027D544 002791A4 F3 C1 00 48 */ psq_st f30, 72(r1), 0, qr0
+/* 8027D548 002791A8 FF C0 08 90 */ fmr f30, f1
+/* 8027D54C 002791AC C0 42 A0 C8 */ lfs f2, lbl_806426C8-_SDA2_BASE_(r2)
+/* 8027D550 002791B0 93 E1 00 3C */ stw r31, 0x3c(r1)
+/* 8027D554 002791B4 7C FF 3B 78 */ mr r31, r7
+/* 8027D558 002791B8 C0 02 A0 B8 */ lfs f0, lbl_806426B8-_SDA2_BASE_(r2)
+/* 8027D55C 002791BC EC 42 00 72 */ fmuls f2, f2, f1
+/* 8027D560 002791C0 93 C1 00 38 */ stw r30, 0x38(r1)
+/* 8027D564 002791C4 7C BE 2B 78 */ mr r30, r5
+/* 8027D568 002791C8 EC 00 08 28 */ fsubs f0, f0, f1
+/* 8027D56C 002791CC 38 A1 00 18 */ addi r5, r1, 0x18
+/* 8027D570 002791D0 93 A1 00 34 */ stw r29, 0x34(r1)
+/* 8027D574 002791D4 7C 9D 23 78 */ mr r29, r4
+/* 8027D578 002791D8 7C C4 33 78 */ mr r4, r6
+/* 8027D57C 002791DC EF E2 00 32 */ fmuls f31, f2, f0
+/* 8027D580 002791E0 4B FF FE 11 */ bl C_QUATSlerp
+/* 8027D584 002791E4 FC 20 F0 90 */ fmr f1, f30
+/* 8027D588 002791E8 7F A3 EB 78 */ mr r3, r29
+/* 8027D58C 002791EC 7F C4 F3 78 */ mr r4, r30
+/* 8027D590 002791F0 38 A1 00 08 */ addi r5, r1, 8
+/* 8027D594 002791F4 4B FF FD FD */ bl C_QUATSlerp
+/* 8027D598 002791F8 FC 20 F8 90 */ fmr f1, f31
+/* 8027D59C 002791FC 7F E5 FB 78 */ mr r5, r31
+/* 8027D5A0 00279200 38 61 00 18 */ addi r3, r1, 0x18
+/* 8027D5A4 00279204 38 81 00 08 */ addi r4, r1, 8
+/* 8027D5A8 00279208 4B FF FD E9 */ bl C_QUATSlerp
+/* 8027D5AC 0027920C E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0
+/* 8027D5B0 00279210 CB E1 00 50 */ lfd f31, 0x50(r1)
+/* 8027D5B4 00279214 E3 C1 00 48 */ psq_l f30, 72(r1), 0, qr0
+/* 8027D5B8 00279218 CB C1 00 40 */ lfd f30, 0x40(r1)
+/* 8027D5BC 0027921C 83 E1 00 3C */ lwz r31, 0x3c(r1)
+/* 8027D5C0 00279220 83 C1 00 38 */ lwz r30, 0x38(r1)
+/* 8027D5C4 00279224 80 01 00 64 */ lwz r0, 0x64(r1)
+/* 8027D5C8 00279228 83 A1 00 34 */ lwz r29, 0x34(r1)
+/* 8027D5CC 0027922C 7C 08 03 A6 */ mtlr r0
+/* 8027D5D0 00279230 38 21 00 60 */ addi r1, r1, 0x60
+/* 8027D5D4 00279234 4E 80 00 20 */ blr
+
+.global func_8027D5D8
+func_8027D5D8:
+/* 8027D5D8 00279238 E0 03 00 00 */ psq_l f0, 0(r3), 0, qr0
+/* 8027D5DC 0027923C E0 43 00 10 */ psq_l f2, 16(r3), 0, qr0
+/* 8027D5E0 00279240 E0 83 00 20 */ psq_l f4, 32(r3), 0, qr0
+/* 8027D5E4 00279244 E0 23 00 08 */ psq_l f1, 8(r3), 0, qr0
+/* 8027D5E8 00279248 10 C0 14 20 */ ps_merge00 f6, f0, f2
+/* 8027D5EC 0027924C E0 63 00 18 */ psq_l f3, 24(r3), 0, qr0
+/* 8027D5F0 00279250 11 84 04 60 */ ps_merge01 f12, f4, f0
+/* 8027D5F4 00279254 E0 A3 00 28 */ psq_l f5, 40(r3), 0, qr0
+/* 8027D5F8 00279258 10 E2 24 E0 */ ps_merge11 f7, f2, f4
+/* 8027D5FC 0027925C F0 C4 00 00 */ psq_st f6, 0(r4), 0, qr0
+/* 8027D600 00279260 11 01 1C 20 */ ps_merge00 f8, f1, f3
+/* 8027D604 00279264 F1 84 00 08 */ psq_st f12, 8(r4), 0, qr0
+/* 8027D608 00279268 11 25 0C 60 */ ps_merge01 f9, f5, f1
+/* 8027D60C 0027926C F0 E4 00 10 */ psq_st f7, 16(r4), 0, qr0
+/* 8027D610 00279270 11 43 2C E0 */ ps_merge11 f10, f3, f5
+/* 8027D614 00279274 F1 04 00 18 */ psq_st f8, 24(r4), 0, qr0
+/* 8027D618 00279278 F1 24 00 20 */ psq_st f9, 32(r4), 0, qr0
+/* 8027D61C 0027927C F1 44 00 28 */ psq_st f10, 40(r4), 0, qr0
+/* 8027D620 00279280 4E 80 00 20 */ blr
diff --git a/asm/SDK/MTX/vec.s b/asm/SDK/MTX/vec.s
new file mode 100644
index 0000000..ba5f316
--- /dev/null
+++ b/asm/SDK/MTX/vec.s
@@ -0,0 +1,254 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global PSVECAdd
+PSVECAdd:
+/* 8027CCC4 00278924 E0 43 00 00 */ psq_l f2, 0(r3), 0, qr0
+/* 8027CCC8 00278928 E0 84 00 00 */ psq_l f4, 0(r4), 0, qr0
+/* 8027CCCC 0027892C 10 C2 20 2A */ ps_add f6, f2, f4
+/* 8027CCD0 00278930 F0 C5 00 00 */ psq_st f6, 0(r5), 0, qr0
+/* 8027CCD4 00278934 E0 63 80 08 */ psq_l f3, 8(r3), 1, qr0
+/* 8027CCD8 00278938 E0 A4 80 08 */ psq_l f5, 8(r4), 1, qr0
+/* 8027CCDC 0027893C 10 E3 28 2A */ ps_add f7, f3, f5
+/* 8027CCE0 00278940 F0 E5 80 08 */ psq_st f7, 8(r5), 1, qr0
+/* 8027CCE4 00278944 4E 80 00 20 */ blr
+
+.global PSVECSubtract
+PSVECSubtract:
+/* 8027CCE8 00278948 E0 43 00 00 */ psq_l f2, 0(r3), 0, qr0
+/* 8027CCEC 0027894C E0 84 00 00 */ psq_l f4, 0(r4), 0, qr0
+/* 8027CCF0 00278950 10 C2 20 28 */ ps_sub f6, f2, f4
+/* 8027CCF4 00278954 F0 C5 00 00 */ psq_st f6, 0(r5), 0, qr0
+/* 8027CCF8 00278958 E0 63 80 08 */ psq_l f3, 8(r3), 1, qr0
+/* 8027CCFC 0027895C E0 A4 80 08 */ psq_l f5, 8(r4), 1, qr0
+/* 8027CD00 00278960 10 E3 28 28 */ ps_sub f7, f3, f5
+/* 8027CD04 00278964 F0 E5 80 08 */ psq_st f7, 8(r5), 1, qr0
+/* 8027CD08 00278968 4E 80 00 20 */ blr
+
+.global PSVECScale
+PSVECScale:
+/* 8027CD0C 0027896C E0 03 00 00 */ psq_l f0, 0(r3), 0, qr0
+/* 8027CD10 00278970 E0 43 80 08 */ psq_l f2, 8(r3), 1, qr0
+/* 8027CD14 00278974 10 00 00 58 */ ps_muls0 f0, f0, f1
+/* 8027CD18 00278978 10 22 00 58 */ ps_muls0 f1, f2, f1
+/* 8027CD1C 0027897C F0 04 00 00 */ psq_st f0, 0(r4), 0, qr0
+/* 8027CD20 00278980 F0 24 80 08 */ psq_st f1, 8(r4), 1, qr0
+/* 8027CD24 00278984 4E 80 00 20 */ blr
+
+.global PSVECNormalize
+PSVECNormalize:
+/* 8027CD28 00278988 E0 43 00 00 */ psq_l f2, 0(r3), 0, qr0
+/* 8027CD2C 0027898C E0 63 80 08 */ psq_l f3, 8(r3), 1, qr0
+/* 8027CD30 00278990 10 A2 00 B2 */ ps_mul f5, f2, f2
+/* 8027CD34 00278994 C0 02 A0 A8 */ lfs f0, lbl_806426A8-_SDA2_BASE_(r2)
+/* 8027CD38 00278998 C0 22 A0 AC */ lfs f1, lbl_806426AC-_SDA2_BASE_(r2)
+/* 8027CD3C 0027899C 10 83 28 FA */ ps_madd f4, f3, f3, f5
+/* 8027CD40 002789A0 10 84 28 D4 */ ps_sum0 f4, f4, f3, f5
+/* 8027CD44 002789A4 FC A0 20 34 */ frsqrte f5, f4
+/* 8027CD48 002789A8 EC C5 01 72 */ fmuls f6, f5, f5
+/* 8027CD4C 002789AC EC 05 00 32 */ fmuls f0, f5, f0
+/* 8027CD50 002789B0 EC C6 09 3C */ fnmsubs f6, f6, f4, f1
+/* 8027CD54 002789B4 EC A6 00 32 */ fmuls f5, f6, f0
+/* 8027CD58 002789B8 10 42 01 58 */ ps_muls0 f2, f2, f5
+/* 8027CD5C 002789BC 10 63 01 58 */ ps_muls0 f3, f3, f5
+/* 8027CD60 002789C0 F0 44 00 00 */ psq_st f2, 0(r4), 0, qr0
+/* 8027CD64 002789C4 F0 64 80 08 */ psq_st f3, 8(r4), 1, qr0
+/* 8027CD68 002789C8 4E 80 00 20 */ blr
+
+.global PSVECSquareMag
+PSVECSquareMag:
+/* 8027CD6C 002789CC E0 03 00 00 */ psq_l f0, 0(r3), 0, qr0
+/* 8027CD70 002789D0 C0 23 00 08 */ lfs f1, 8(r3)
+/* 8027CD74 002789D4 10 00 00 32 */ ps_mul f0, f0, f0
+/* 8027CD78 002789D8 10 21 00 7A */ ps_madd f1, f1, f1, f0
+/* 8027CD7C 002789DC 10 21 00 14 */ ps_sum0 f1, f1, f0, f0
+/* 8027CD80 002789E0 4E 80 00 20 */ blr
+
+.global PSVECMag
+PSVECMag:
+/* 8027CD84 002789E4 E0 03 00 00 */ psq_l f0, 0(r3), 0, qr0
+/* 8027CD88 002789E8 C0 82 A0 A8 */ lfs f4, lbl_806426A8-_SDA2_BASE_(r2)
+/* 8027CD8C 002789EC 10 00 00 32 */ ps_mul f0, f0, f0
+/* 8027CD90 002789F0 C0 23 00 08 */ lfs f1, 8(r3)
+/* 8027CD94 002789F4 EC 44 20 28 */ fsubs f2, f4, f4
+/* 8027CD98 002789F8 10 21 00 7A */ ps_madd f1, f1, f1, f0
+/* 8027CD9C 002789FC 10 21 00 14 */ ps_sum0 f1, f1, f0, f0
+/* 8027CDA0 00278A00 FC 01 10 00 */ fcmpu cr0, f1, f2
+/* 8027CDA4 00278A04 4D 82 00 20 */ beqlr
+/* 8027CDA8 00278A08 FC 00 08 34 */ frsqrte f0, f1
+/* 8027CDAC 00278A0C C0 62 A0 AC */ lfs f3, lbl_806426AC-_SDA2_BASE_(r2)
+/* 8027CDB0 00278A10 EC 40 00 32 */ fmuls f2, f0, f0
+/* 8027CDB4 00278A14 EC 00 01 32 */ fmuls f0, f0, f4
+/* 8027CDB8 00278A18 EC 42 18 7C */ fnmsubs f2, f2, f1, f3
+/* 8027CDBC 00278A1C EC 02 00 32 */ fmuls f0, f2, f0
+/* 8027CDC0 00278A20 EC 21 00 32 */ fmuls f1, f1, f0
+/* 8027CDC4 00278A24 4E 80 00 20 */ blr
+
+.global PSQUATDotProduct
+PSQUATDotProduct:
+/* 8027CDC8 00278A28 E0 43 00 04 */ psq_l f2, 4(r3), 0, qr0
+/* 8027CDCC 00278A2C E0 64 00 04 */ psq_l f3, 4(r4), 0, qr0
+/* 8027CDD0 00278A30 10 42 00 F2 */ ps_mul f2, f2, f3
+/* 8027CDD4 00278A34 E0 A3 00 00 */ psq_l f5, 0(r3), 0, qr0
+/* 8027CDD8 00278A38 E0 84 00 00 */ psq_l f4, 0(r4), 0, qr0
+/* 8027CDDC 00278A3C 10 65 11 3A */ ps_madd f3, f5, f4, f2
+/* 8027CDE0 00278A40 10 23 10 94 */ ps_sum0 f1, f3, f2, f2
+/* 8027CDE4 00278A44 4E 80 00 20 */ blr
+
+.global PSVECCrossProduct
+PSVECCrossProduct:
+/* 8027CDE8 00278A48 E0 24 00 00 */ psq_l f1, 0(r4), 0, qr0
+/* 8027CDEC 00278A4C C0 43 00 08 */ lfs f2, 8(r3)
+/* 8027CDF0 00278A50 E0 03 00 00 */ psq_l f0, 0(r3), 0, qr0
+/* 8027CDF4 00278A54 10 C1 0C A0 */ ps_merge10 f6, f1, f1
+/* 8027CDF8 00278A58 C0 64 00 08 */ lfs f3, 8(r4)
+/* 8027CDFC 00278A5C 10 81 00 B2 */ ps_mul f4, f1, f2
+/* 8027CE00 00278A60 10 E1 00 18 */ ps_muls0 f7, f1, f0
+/* 8027CE04 00278A64 10 A0 20 F8 */ ps_msub f5, f0, f3, f4
+/* 8027CE08 00278A68 11 00 39 B8 */ ps_msub f8, f0, f6, f7
+/* 8027CE0C 00278A6C 11 25 2C E0 */ ps_merge11 f9, f5, f5
+/* 8027CE10 00278A70 11 45 44 60 */ ps_merge01 f10, f5, f8
+/* 8027CE14 00278A74 F1 25 80 00 */ psq_st f9, 0(r5), 1, qr0
+/* 8027CE18 00278A78 11 40 50 50 */ ps_neg f10, f10
+/* 8027CE1C 00278A7C F1 45 00 04 */ psq_st f10, 4(r5), 0, qr0
+/* 8027CE20 00278A80 4E 80 00 20 */ blr
+
+.global C_VECHalfAngle
+C_VECHalfAngle:
+/* 8027CE24 00278A84 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 8027CE28 00278A88 7C 08 02 A6 */ mflr r0
+/* 8027CE2C 00278A8C C0 43 00 00 */ lfs f2, 0(r3)
+/* 8027CE30 00278A90 C0 23 00 04 */ lfs f1, 4(r3)
+/* 8027CE34 00278A94 C0 03 00 08 */ lfs f0, 8(r3)
+/* 8027CE38 00278A98 FC A0 10 50 */ fneg f5, f2
+/* 8027CE3C 00278A9C C0 44 00 00 */ lfs f2, 0(r4)
+/* 8027CE40 00278AA0 FC 80 08 50 */ fneg f4, f1
+/* 8027CE44 00278AA4 C0 24 00 04 */ lfs f1, 4(r4)
+/* 8027CE48 00278AA8 FC 60 00 50 */ fneg f3, f0
+/* 8027CE4C 00278AAC C0 04 00 08 */ lfs f0, 8(r4)
+/* 8027CE50 00278AB0 90 01 00 44 */ stw r0, 0x44(r1)
+/* 8027CE54 00278AB4 38 61 00 20 */ addi r3, r1, 0x20
+/* 8027CE58 00278AB8 FC 40 10 50 */ fneg f2, f2
+/* 8027CE5C 00278ABC 7C 64 1B 78 */ mr r4, r3
+/* 8027CE60 00278AC0 93 E1 00 3C */ stw r31, 0x3c(r1)
+/* 8027CE64 00278AC4 FC 20 08 50 */ fneg f1, f1
+/* 8027CE68 00278AC8 FC 00 00 50 */ fneg f0, f0
+/* 8027CE6C 00278ACC 7C BF 2B 78 */ mr r31, r5
+/* 8027CE70 00278AD0 D0 A1 00 20 */ stfs f5, 0x20(r1)
+/* 8027CE74 00278AD4 D0 81 00 24 */ stfs f4, 0x24(r1)
+/* 8027CE78 00278AD8 D0 61 00 28 */ stfs f3, 0x28(r1)
+/* 8027CE7C 00278ADC D0 41 00 14 */ stfs f2, 0x14(r1)
+/* 8027CE80 00278AE0 D0 21 00 18 */ stfs f1, 0x18(r1)
+/* 8027CE84 00278AE4 D0 01 00 1C */ stfs f0, 0x1c(r1)
+/* 8027CE88 00278AE8 4B FF FE A1 */ bl PSVECNormalize
+/* 8027CE8C 00278AEC 38 61 00 14 */ addi r3, r1, 0x14
+/* 8027CE90 00278AF0 7C 64 1B 78 */ mr r4, r3
+/* 8027CE94 00278AF4 4B FF FE 95 */ bl PSVECNormalize
+/* 8027CE98 00278AF8 38 61 00 20 */ addi r3, r1, 0x20
+/* 8027CE9C 00278AFC 38 81 00 14 */ addi r4, r1, 0x14
+/* 8027CEA0 00278B00 38 A1 00 08 */ addi r5, r1, 8
+/* 8027CEA4 00278B04 4B FF FE 21 */ bl PSVECAdd
+/* 8027CEA8 00278B08 38 61 00 08 */ addi r3, r1, 8
+/* 8027CEAC 00278B0C 7C 64 1B 78 */ mr r4, r3
+/* 8027CEB0 00278B10 4B FF FF 19 */ bl PSQUATDotProduct
+/* 8027CEB4 00278B14 C0 02 A0 B0 */ lfs f0, lbl_806426B0-_SDA2_BASE_(r2)
+/* 8027CEB8 00278B18 FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 8027CEBC 00278B1C 40 81 00 14 */ ble lbl_8027CED0
+/* 8027CEC0 00278B20 7F E4 FB 78 */ mr r4, r31
+/* 8027CEC4 00278B24 38 61 00 08 */ addi r3, r1, 8
+/* 8027CEC8 00278B28 4B FF FE 61 */ bl PSVECNormalize
+/* 8027CECC 00278B2C 48 00 00 1C */ b lbl_8027CEE8
+lbl_8027CED0:
+/* 8027CED0 00278B30 80 61 00 08 */ lwz r3, 8(r1)
+/* 8027CED4 00278B34 80 01 00 0C */ lwz r0, 0xc(r1)
+/* 8027CED8 00278B38 90 7F 00 00 */ stw r3, 0(r31)
+/* 8027CEDC 00278B3C 90 1F 00 04 */ stw r0, 4(r31)
+/* 8027CEE0 00278B40 80 01 00 10 */ lwz r0, 0x10(r1)
+/* 8027CEE4 00278B44 90 1F 00 08 */ stw r0, 8(r31)
+lbl_8027CEE8:
+/* 8027CEE8 00278B48 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 8027CEEC 00278B4C 83 E1 00 3C */ lwz r31, 0x3c(r1)
+/* 8027CEF0 00278B50 7C 08 03 A6 */ mtlr r0
+/* 8027CEF4 00278B54 38 21 00 40 */ addi r1, r1, 0x40
+/* 8027CEF8 00278B58 4E 80 00 20 */ blr
+
+.global C_VECReflect
+C_VECReflect:
+/* 8027CEFC 00278B5C 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 8027CF00 00278B60 7C 08 02 A6 */ mflr r0
+/* 8027CF04 00278B64 C0 43 00 00 */ lfs f2, 0(r3)
+/* 8027CF08 00278B68 90 01 00 34 */ stw r0, 0x34(r1)
+/* 8027CF0C 00278B6C C0 23 00 04 */ lfs f1, 4(r3)
+/* 8027CF10 00278B70 FC 40 10 50 */ fneg f2, f2
+/* 8027CF14 00278B74 C0 03 00 08 */ lfs f0, 8(r3)
+/* 8027CF18 00278B78 38 61 00 14 */ addi r3, r1, 0x14
+/* 8027CF1C 00278B7C 93 E1 00 2C */ stw r31, 0x2c(r1)
+/* 8027CF20 00278B80 FC 20 08 50 */ fneg f1, f1
+/* 8027CF24 00278B84 FC 00 00 50 */ fneg f0, f0
+/* 8027CF28 00278B88 93 C1 00 28 */ stw r30, 0x28(r1)
+/* 8027CF2C 00278B8C 7C 9E 23 78 */ mr r30, r4
+/* 8027CF30 00278B90 7C BF 2B 78 */ mr r31, r5
+/* 8027CF34 00278B94 7C 64 1B 78 */ mr r4, r3
+/* 8027CF38 00278B98 D0 41 00 14 */ stfs f2, 0x14(r1)
+/* 8027CF3C 00278B9C D0 21 00 18 */ stfs f1, 0x18(r1)
+/* 8027CF40 00278BA0 D0 01 00 1C */ stfs f0, 0x1c(r1)
+/* 8027CF44 00278BA4 4B FF FD E5 */ bl PSVECNormalize
+/* 8027CF48 00278BA8 7F C3 F3 78 */ mr r3, r30
+/* 8027CF4C 00278BAC 38 81 00 08 */ addi r4, r1, 8
+/* 8027CF50 00278BB0 4B FF FD D9 */ bl PSVECNormalize
+/* 8027CF54 00278BB4 38 61 00 14 */ addi r3, r1, 0x14
+/* 8027CF58 00278BB8 38 81 00 08 */ addi r4, r1, 8
+/* 8027CF5C 00278BBC 4B FF FE 6D */ bl PSQUATDotProduct
+/* 8027CF60 00278BC0 C0 62 A0 B4 */ lfs f3, lbl_806426B4-_SDA2_BASE_(r2)
+/* 8027CF64 00278BC4 7F E3 FB 78 */ mr r3, r31
+/* 8027CF68 00278BC8 C0 41 00 08 */ lfs f2, 8(r1)
+/* 8027CF6C 00278BCC 7F E4 FB 78 */ mr r4, r31
+/* 8027CF70 00278BD0 C0 01 00 14 */ lfs f0, 0x14(r1)
+/* 8027CF74 00278BD4 EC 43 00 B2 */ fmuls f2, f3, f2
+/* 8027CF78 00278BD8 EC 42 00 72 */ fmuls f2, f2, f1
+/* 8027CF7C 00278BDC EC 02 00 28 */ fsubs f0, f2, f0
+/* 8027CF80 00278BE0 D0 1F 00 00 */ stfs f0, 0(r31)
+/* 8027CF84 00278BE4 C0 41 00 0C */ lfs f2, 0xc(r1)
+/* 8027CF88 00278BE8 C0 01 00 18 */ lfs f0, 0x18(r1)
+/* 8027CF8C 00278BEC EC 43 00 B2 */ fmuls f2, f3, f2
+/* 8027CF90 00278BF0 EC 42 00 72 */ fmuls f2, f2, f1
+/* 8027CF94 00278BF4 EC 02 00 28 */ fsubs f0, f2, f0
+/* 8027CF98 00278BF8 D0 1F 00 04 */ stfs f0, 4(r31)
+/* 8027CF9C 00278BFC C0 41 00 10 */ lfs f2, 0x10(r1)
+/* 8027CFA0 00278C00 C0 01 00 1C */ lfs f0, 0x1c(r1)
+/* 8027CFA4 00278C04 EC 43 00 B2 */ fmuls f2, f3, f2
+/* 8027CFA8 00278C08 EC 22 00 72 */ fmuls f1, f2, f1
+/* 8027CFAC 00278C0C EC 01 00 28 */ fsubs f0, f1, f0
+/* 8027CFB0 00278C10 D0 1F 00 08 */ stfs f0, 8(r31)
+/* 8027CFB4 00278C14 4B FF FD 75 */ bl PSVECNormalize
+/* 8027CFB8 00278C18 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 8027CFBC 00278C1C 83 E1 00 2C */ lwz r31, 0x2c(r1)
+/* 8027CFC0 00278C20 83 C1 00 28 */ lwz r30, 0x28(r1)
+/* 8027CFC4 00278C24 7C 08 03 A6 */ mtlr r0
+/* 8027CFC8 00278C28 38 21 00 30 */ addi r1, r1, 0x30
+/* 8027CFCC 00278C2C 4E 80 00 20 */ blr
+
+.global PSVECDistance
+PSVECDistance:
+/* 8027CFD0 00278C30 E0 03 00 04 */ psq_l f0, 4(r3), 0, qr0
+/* 8027CFD4 00278C34 E0 24 00 04 */ psq_l f1, 4(r4), 0, qr0
+/* 8027CFD8 00278C38 C0 62 A0 A8 */ lfs f3, lbl_806426A8-_SDA2_BASE_(r2)
+/* 8027CFDC 00278C3C 10 40 08 28 */ ps_sub f2, f0, f1
+/* 8027CFE0 00278C40 E0 03 00 00 */ psq_l f0, 0(r3), 0, qr0
+/* 8027CFE4 00278C44 E0 24 00 00 */ psq_l f1, 0(r4), 0, qr0
+/* 8027CFE8 00278C48 EC 83 18 28 */ fsubs f4, f3, f3
+/* 8027CFEC 00278C4C 10 42 00 B2 */ ps_mul f2, f2, f2
+/* 8027CFF0 00278C50 10 00 08 28 */ ps_sub f0, f0, f1
+/* 8027CFF4 00278C54 10 20 10 3A */ ps_madd f1, f0, f0, f2
+/* 8027CFF8 00278C58 10 21 10 94 */ ps_sum0 f1, f1, f2, f2
+/* 8027CFFC 00278C5C FC 04 08 00 */ fcmpu cr0, f4, f1
+/* 8027D000 00278C60 4D 82 00 20 */ beqlr
+/* 8027D004 00278C64 FC 00 08 34 */ frsqrte f0, f1
+/* 8027D008 00278C68 C0 82 A0 AC */ lfs f4, lbl_806426AC-_SDA2_BASE_(r2)
+/* 8027D00C 00278C6C EC 40 00 32 */ fmuls f2, f0, f0
+/* 8027D010 00278C70 EC 00 00 F2 */ fmuls f0, f0, f3
+/* 8027D014 00278C74 EC 42 20 7C */ fnmsubs f2, f2, f1, f4
+/* 8027D018 00278C78 EC 02 00 32 */ fmuls f0, f2, f0
+/* 8027D01C 00278C7C EC 21 00 32 */ fmuls f1, f1, f0
+/* 8027D020 00278C80 4E 80 00 20 */ blr
diff --git a/asm/code_800097D8.s b/asm/code_800097D8.s
index ef23557..a970565 100644
--- a/asm/code_800097D8.s
+++ b/asm/code_800097D8.s
@@ -192,7 +192,7 @@ lbl_80009A10:
/* 80009A28 00005688 C0 A2 80 30 */ lfs f5, lbl_80640630-_SDA2_BASE_(r2)
/* 80009A2C 0000568C FC 40 08 50 */ fneg f2, f1
/* 80009A30 00005690 C0 C2 80 34 */ lfs f6, lbl_80640634-_SDA2_BASE_(r2)
-/* 80009A34 00005694 48 27 31 F9 */ bl func_8027CC2C
+/* 80009A34 00005694 48 27 31 F9 */ bl C_MTXOrtho
/* 80009A38 00005698 48 00 00 24 */ b lbl_80009A5C
lbl_80009A3C:
/* 80009A3C 0000569C C0 22 80 38 */ lfs f1, lbl_80640638-_SDA2_BASE_(r2)
@@ -202,7 +202,7 @@ lbl_80009A3C:
/* 80009A4C 000056AC C0 82 80 44 */ lfs f4, lbl_80640644-_SDA2_BASE_(r2)
/* 80009A50 000056B0 C0 A2 80 30 */ lfs f5, lbl_80640630-_SDA2_BASE_(r2)
/* 80009A54 000056B4 C0 C2 80 34 */ lfs f6, lbl_80640634-_SDA2_BASE_(r2)
-/* 80009A58 000056B8 48 27 31 D5 */ bl func_8027CC2C
+/* 80009A58 000056B8 48 27 31 D5 */ bl C_MTXOrtho
lbl_80009A5C:
/* 80009A5C 000056BC 38 61 00 08 */ addi r3, r1, 8
/* 80009A60 000056C0 38 80 00 01 */ li r4, 1
@@ -1001,7 +1001,7 @@ lbl_8000A54C:
/* 8000A580 000061E0 38 60 00 00 */ li r3, 0
/* 8000A584 000061E4 48 27 6E 8D */ bl func_80281410
/* 8000A588 000061E8 38 61 00 38 */ addi r3, r1, 0x38
-/* 8000A58C 000061EC 48 27 19 A1 */ bl func_8027BF2C
+/* 8000A58C 000061EC 48 27 19 A1 */ bl PSMTXIdentity
/* 8000A590 000061F0 38 61 00 38 */ addi r3, r1, 0x38
/* 8000A594 000061F4 38 80 00 03 */ li r4, 3
/* 8000A598 000061F8 48 27 C4 F1 */ bl GXLoadPosMtxImm
@@ -1020,7 +1020,7 @@ lbl_8000A5B4:
/* 8000A5C8 00006228 38 60 00 00 */ li r3, 0
/* 8000A5CC 0000622C 48 27 6E 45 */ bl func_80281410
/* 8000A5D0 00006230 38 61 00 08 */ addi r3, r1, 8
-/* 8000A5D4 00006234 48 27 19 59 */ bl func_8027BF2C
+/* 8000A5D4 00006234 48 27 19 59 */ bl PSMTXIdentity
/* 8000A5D8 00006238 38 61 00 08 */ addi r3, r1, 8
/* 8000A5DC 0000623C 38 80 00 03 */ li r4, 3
/* 8000A5E0 00006240 48 27 C4 A9 */ bl GXLoadPosMtxImm
diff --git a/asm/code_80025390.s b/asm/code_80025390.s
index a7e99ab..da4511b 100644
--- a/asm/code_80025390.s
+++ b/asm/code_80025390.s
@@ -1719,7 +1719,7 @@ lbl_80026B3C:
/* 80026B60 000227C0 7F 83 E3 78 */ mr r3, r28
/* 80026B64 000227C4 38 81 00 2C */ addi r4, r1, 0x2c
/* 80026B68 000227C8 38 A1 00 38 */ addi r5, r1, 0x38
-/* 80026B6C 000227CC 48 25 61 59 */ bl func_8027CCC4
+/* 80026B6C 000227CC 48 25 61 59 */ bl PSVECAdd
/* 80026B70 000227D0 C0 41 00 38 */ lfs f2, 0x38(r1)
/* 80026B74 000227D4 38 00 00 04 */ li r0, 4
/* 80026B78 000227D8 C0 21 00 3C */ lfs f1, 0x3c(r1)
diff --git a/asm/code_800284B0.s b/asm/code_800284B0.s
index 78e61a3..0e29254 100644
--- a/asm/code_800284B0.s
+++ b/asm/code_800284B0.s
@@ -2109,7 +2109,7 @@ func_8002A42C:
/* 8002A438 00026098 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8002A43C 0002609C 7C 7F 1B 78 */ mr r31, r3
/* 8002A440 000260A0 7F E5 FB 78 */ mr r5, r31
-/* 8002A444 000260A4 48 25 28 A5 */ bl func_8027CCE8
+/* 8002A444 000260A4 48 25 28 A5 */ bl PSVECSubtract
/* 8002A448 000260A8 7F E3 FB 78 */ mr r3, r31
/* 8002A44C 000260AC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8002A450 000260B0 80 01 00 14 */ lwz r0, 0x14(r1)
@@ -2252,7 +2252,7 @@ func_8002A58C:
/* 8002A598 000261F8 38 63 0C 0C */ addi r3, r3, 0xc0c
/* 8002A59C 000261FC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8002A5A0 00026200 38 84 0C 18 */ addi r4, r4, 0xc18
-/* 8002A5A4 00026204 48 25 2A 2D */ bl func_8027CFD0
+/* 8002A5A4 00026204 48 25 2A 2D */ bl PSVECDistance
/* 8002A5A8 00026208 C0 02 81 18 */ lfs f0, lbl_80640718-_SDA2_BASE_(r2)
/* 8002A5AC 0002620C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8002A5B0 00026210 EC 20 00 72 */ fmuls f1, f0, f1
@@ -2281,7 +2281,7 @@ func_8002A5D8:
/* 8002A5E8 00026248 90 01 00 24 */ stw r0, 0x24(r1)
/* 8002A5EC 0002624C 38 84 0C 0C */ addi r4, r4, 0xc0c
/* 8002A5F0 00026250 38 A1 00 08 */ addi r5, r1, 8
-/* 8002A5F4 00026254 48 25 26 F5 */ bl func_8027CCE8
+/* 8002A5F4 00026254 48 25 26 F5 */ bl PSVECSubtract
/* 8002A5F8 00026258 C0 41 00 08 */ lfs f2, 8(r1)
/* 8002A5FC 0002625C 38 61 00 14 */ addi r3, r1, 0x14
/* 8002A600 00026260 C0 21 00 10 */ lfs f1, 0x10(r1)
@@ -2289,7 +2289,7 @@ func_8002A5D8:
/* 8002A608 00026268 D0 41 00 14 */ stfs f2, 0x14(r1)
/* 8002A60C 0002626C D0 21 00 1C */ stfs f1, 0x1c(r1)
/* 8002A610 00026270 D0 01 00 18 */ stfs f0, 0x18(r1)
-/* 8002A614 00026274 48 25 27 71 */ bl func_8027CD84
+/* 8002A614 00026274 48 25 27 71 */ bl PSVECMag
/* 8002A618 00026278 C0 02 81 18 */ lfs f0, lbl_80640718-_SDA2_BASE_(r2)
/* 8002A61C 0002627C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8002A620 00026280 EC 20 00 72 */ fmuls f1, f0, f1
@@ -2306,7 +2306,7 @@ func_8002A630:
/* 8002A640 000262A0 90 01 00 24 */ stw r0, 0x24(r1)
/* 8002A644 000262A4 38 84 0C 0C */ addi r4, r4, 0xc0c
/* 8002A648 000262A8 38 A1 00 08 */ addi r5, r1, 8
-/* 8002A64C 000262AC 48 25 26 9D */ bl func_8027CCE8
+/* 8002A64C 000262AC 48 25 26 9D */ bl PSVECSubtract
/* 8002A650 000262B0 C0 41 00 08 */ lfs f2, 8(r1)
/* 8002A654 000262B4 38 61 00 14 */ addi r3, r1, 0x14
/* 8002A658 000262B8 C0 21 00 0C */ lfs f1, 0xc(r1)
@@ -2314,7 +2314,7 @@ func_8002A630:
/* 8002A660 000262C0 D0 41 00 14 */ stfs f2, 0x14(r1)
/* 8002A664 000262C4 D0 21 00 18 */ stfs f1, 0x18(r1)
/* 8002A668 000262C8 D0 01 00 1C */ stfs f0, 0x1c(r1)
-/* 8002A66C 000262CC 48 25 27 19 */ bl func_8027CD84
+/* 8002A66C 000262CC 48 25 27 19 */ bl PSVECMag
/* 8002A670 000262D0 C0 02 81 18 */ lfs f0, lbl_80640718-_SDA2_BASE_(r2)
/* 8002A674 000262D4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8002A678 000262D8 EC 20 00 72 */ fmuls f1, f0, f1
@@ -2331,7 +2331,7 @@ func_8002A688:
/* 8002A698 000262F8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8002A69C 000262FC 38 84 0C 0C */ addi r4, r4, 0xc0c
/* 8002A6A0 00026300 38 A1 00 08 */ addi r5, r1, 8
-/* 8002A6A4 00026304 48 25 26 45 */ bl func_8027CCE8
+/* 8002A6A4 00026304 48 25 26 45 */ bl PSVECSubtract
/* 8002A6A8 00026308 C0 41 00 0C */ lfs f2, 0xc(r1)
/* 8002A6AC 0002630C 38 61 00 14 */ addi r3, r1, 0x14
/* 8002A6B0 00026310 C0 21 00 10 */ lfs f1, 0x10(r1)
@@ -2339,7 +2339,7 @@ func_8002A688:
/* 8002A6B8 00026318 D0 41 00 18 */ stfs f2, 0x18(r1)
/* 8002A6BC 0002631C D0 21 00 1C */ stfs f1, 0x1c(r1)
/* 8002A6C0 00026320 D0 01 00 14 */ stfs f0, 0x14(r1)
-/* 8002A6C4 00026324 48 25 26 C1 */ bl func_8027CD84
+/* 8002A6C4 00026324 48 25 26 C1 */ bl PSVECMag
/* 8002A6C8 00026328 C0 02 81 18 */ lfs f0, lbl_80640718-_SDA2_BASE_(r2)
/* 8002A6CC 0002632C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8002A6D0 00026330 EC 20 00 72 */ fmuls f1, f0, f1
@@ -2359,7 +2359,7 @@ func_8002A6E0:
lbl_8002A6FC:
/* 8002A6FC 0002635C 38 64 00 0C */ addi r3, r4, 0xc
/* 8002A700 00026360 38 A1 00 08 */ addi r5, r1, 8
-/* 8002A704 00026364 48 25 25 E5 */ bl func_8027CCE8
+/* 8002A704 00026364 48 25 25 E5 */ bl PSVECSubtract
/* 8002A708 00026368 C0 21 00 08 */ lfs f1, 8(r1)
/* 8002A70C 0002636C C0 41 00 0C */ lfs f2, 0xc(r1)
/* 8002A710 00026370 C0 01 00 10 */ lfs f0, 0x10(r1)
@@ -2384,7 +2384,7 @@ func_8002A730:
lbl_8002A74C:
/* 8002A74C 000263AC 38 64 00 0C */ addi r3, r4, 0xc
/* 8002A750 000263B0 38 A1 00 08 */ addi r5, r1, 8
-/* 8002A754 000263B4 48 25 25 95 */ bl func_8027CCE8
+/* 8002A754 000263B4 48 25 25 95 */ bl PSVECSubtract
/* 8002A758 000263B8 C0 21 00 10 */ lfs f1, 0x10(r1)
/* 8002A75C 000263BC C0 41 00 08 */ lfs f2, 8(r1)
/* 8002A760 000263C0 C0 01 00 0C */ lfs f0, 0xc(r1)
@@ -2409,7 +2409,7 @@ func_8002A780:
lbl_8002A79C:
/* 8002A79C 000263FC 38 64 00 0C */ addi r3, r4, 0xc
/* 8002A7A0 00026400 38 A1 00 08 */ addi r5, r1, 8
-/* 8002A7A4 00026404 48 25 25 45 */ bl func_8027CCE8
+/* 8002A7A4 00026404 48 25 25 45 */ bl PSVECSubtract
/* 8002A7A8 00026408 C0 21 00 0C */ lfs f1, 0xc(r1)
/* 8002A7AC 0002640C C0 41 00 08 */ lfs f2, 8(r1)
/* 8002A7B0 00026410 C0 01 00 10 */ lfs f0, 0x10(r1)
diff --git a/asm/nw4r/lyt/lyt_drawInfo.s b/asm/nw4r/lyt/lyt_drawInfo.s
index fde2b45..6742b6e 100644
--- a/asm/nw4r/lyt/lyt_drawInfo.s
+++ b/asm/nw4r/lyt/lyt_drawInfo.s
@@ -26,7 +26,7 @@ __ct__Q34nw4r3lyt8DrawInfoFv:
/* 8038D6D4 00389334 38 63 00 50 */ addi r3, r3, 0x50
/* 8038D6D8 00389338 4B C7 6A 2D */ bl memset
/* 8038D6DC 0038933C 38 7F 00 04 */ addi r3, r31, 4
-/* 8038D6E0 00389340 4B EE E8 4D */ bl func_8027BF2C
+/* 8038D6E0 00389340 4B EE E8 4D */ bl PSMTXIdentity
/* 8038D6E4 00389344 7F E3 FB 78 */ mr r3, r31
/* 8038D6E8 00389348 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8038D6EC 0038934C 80 01 00 14 */ lwz r0, 0x14(r1)
diff --git a/asm/nw4r/lyt/lyt_pane.s b/asm/nw4r/lyt/lyt_pane.s
index a655150..b639336 100644
--- a/asm/nw4r/lyt/lyt_pane.s
+++ b/asm/nw4r/lyt/lyt_pane.s
@@ -444,7 +444,7 @@ lbl_80385510:
/* 8038552C 0038118C C0 1E 00 38 */ lfs f0, 0x38(r30)
/* 80385530 00381190 38 80 00 78 */ li r4, 0x78
/* 80385534 00381194 EC 21 00 32 */ fmuls f1, f1, f0
-/* 80385538 00381198 4B EF 6D 31 */ bl func_8027C268
+/* 80385538 00381198 4B EF 6D 31 */ bl PSMTXRotRad
/* 8038553C 0038119C 38 61 00 10 */ addi r3, r1, 0x10
/* 80385540 003811A0 38 81 00 40 */ addi r4, r1, 0x40
/* 80385544 003811A4 38 A1 00 70 */ addi r5, r1, 0x70
@@ -454,7 +454,7 @@ lbl_80385510:
/* 80385554 003811B4 C0 1E 00 3C */ lfs f0, 0x3c(r30)
/* 80385558 003811B8 38 80 00 79 */ li r4, 0x79
/* 8038555C 003811BC EC 21 00 32 */ fmuls f1, f1, f0
-/* 80385560 003811C0 4B EF 6D 09 */ bl func_8027C268
+/* 80385560 003811C0 4B EF 6D 09 */ bl PSMTXRotRad
/* 80385564 003811C4 38 61 00 10 */ addi r3, r1, 0x10
/* 80385568 003811C8 38 81 00 70 */ addi r4, r1, 0x70
/* 8038556C 003811CC 38 A1 00 40 */ addi r5, r1, 0x40
@@ -464,7 +464,7 @@ lbl_80385510:
/* 8038557C 003811DC C0 1E 00 40 */ lfs f0, 0x40(r30)
/* 80385580 003811E0 38 80 00 7A */ li r4, 0x7a
/* 80385584 003811E4 EC 21 00 32 */ fmuls f1, f1, f0
-/* 80385588 003811E8 4B EF 6C E1 */ bl func_8027C268
+/* 80385588 003811E8 4B EF 6C E1 */ bl PSMTXRotRad
/* 8038558C 003811EC 38 61 00 10 */ addi r3, r1, 0x10
/* 80385590 003811F0 38 81 00 40 */ addi r4, r1, 0x40
/* 80385594 003811F4 38 A1 00 70 */ addi r5, r1, 0x70
@@ -474,7 +474,7 @@ lbl_80385510:
/* 803855A4 00381204 C0 5E 00 30 */ lfs f2, 0x30(r30)
/* 803855A8 00381208 38 9E 00 54 */ addi r4, r30, 0x54
/* 803855AC 0038120C C0 7E 00 34 */ lfs f3, 0x34(r30)
-/* 803855B0 00381210 4B EF 6F 45 */ bl func_8027C4F4
+/* 803855B0 00381210 4B EF 6F 45 */ bl PSMTXTransApply
/* 803855B4 00381214 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 803855B8 00381218 2C 03 00 00 */ cmpwi r3, 0
/* 803855BC 0038121C 41 82 00 18 */ beq lbl_803855D4
@@ -1001,7 +1001,7 @@ lbl_80385C98:
/* 80385CB4 00381914 41 82 00 3C */ beq lbl_80385CF0
/* 80385CB8 00381918 38 63 00 84 */ addi r3, r3, 0x84
/* 80385CBC 0038191C 38 81 00 08 */ addi r4, r1, 8
-/* 80385CC0 00381920 4B EF 62 99 */ bl func_8027BF58
+/* 80385CC0 00381920 4B EF 62 99 */ bl PSMTXCopy
/* 80385CC4 00381924 C0 41 00 0C */ lfs f2, 0xc(r1)
/* 80385CC8 00381928 38 61 00 08 */ addi r3, r1, 8
/* 80385CCC 0038192C C0 21 00 1C */ lfs f1, 0x1c(r1)
diff --git a/asm/nw4r/snd/snd_Sound3DManager.s b/asm/nw4r/snd/snd_Sound3DManager.s
index 37be2fa..b995a7b 100644
--- a/asm/nw4r/snd/snd_Sound3DManager.s
+++ b/asm/nw4r/snd/snd_Sound3DManager.s
@@ -141,9 +141,9 @@ lbl_80376758:
/* 80376758 003723B8 7F 63 DB 78 */ mr r3, r27
/* 8037675C 003723BC 38 87 00 0C */ addi r4, r7, 0xc
/* 80376760 003723C0 38 A1 00 20 */ addi r5, r1, 0x20
-/* 80376764 003723C4 4B F0 62 99 */ bl func_8027C9FC
+/* 80376764 003723C4 4B F0 62 99 */ bl PSMTXMultVec
/* 80376768 003723C8 38 61 00 20 */ addi r3, r1, 0x20
-/* 8037676C 003723CC 4B F0 66 19 */ bl func_8027CD84
+/* 8037676C 003723CC 4B F0 66 19 */ bl PSVECMag
/* 80376770 003723D0 73 E0 00 09 */ andi. r0, r31, 9
/* 80376774 003723D4 FF E0 08 90 */ fmr f31, f1
/* 80376778 003723D8 C3 A2 A7 14 */ lfs f29, lbl_80642D14-_SDA2_BASE_(r2)
@@ -219,7 +219,7 @@ lbl_8037686C:
/* 80376878 003724D8 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 8037687C 003724DC D0 21 00 08 */ stfs f1, 8(r1)
/* 80376880 003724E0 D0 41 00 10 */ stfs f2, 0x10(r1)
-/* 80376884 003724E4 4B F0 65 01 */ bl func_8027CD84
+/* 80376884 003724E4 4B F0 65 01 */ bl PSVECMag
/* 80376888 003724E8 C0 1B 00 30 */ lfs f0, 0x30(r27)
/* 8037688C 003724EC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80376890 003724F0 40 81 00 28 */ ble lbl_803768B8
@@ -234,7 +234,7 @@ lbl_8037686C:
/* 803768B4 00372514 D0 01 00 10 */ stfs f0, 0x10(r1)
lbl_803768B8:
/* 803768B8 00372518 38 61 00 08 */ addi r3, r1, 8
-/* 803768BC 0037251C 4B F0 64 C9 */ bl func_8027CD84
+/* 803768BC 0037251C 4B F0 64 C9 */ bl PSVECMag
/* 803768C0 00372520 C0 41 00 20 */ lfs f2, 0x20(r1)
/* 803768C4 00372524 C0 01 00 28 */ lfs f0, 0x28(r1)
/* 803768C8 00372528 EC 62 00 72 */ fmuls f3, f2, f1
@@ -252,7 +252,7 @@ lbl_803768E8:
/* 803768F4 00372554 4B E5 DC E9 */ bl atan2
/* 803768F8 00372558 FF E0 08 18 */ frsp f31, f1
/* 803768FC 0037255C 38 61 00 14 */ addi r3, r1, 0x14
-/* 80376900 00372560 4B F0 64 85 */ bl func_8027CD84
+/* 80376900 00372560 4B F0 64 85 */ bl PSVECMag
/* 80376904 00372564 C0 1B 00 30 */ lfs f0, 0x30(r27)
/* 80376908 00372568 EF 81 00 24 */ fdivs f28, f1, f0
/* 8037690C 0037256C 4B FF 1B B9 */ bl GetInstance__Q44nw4r3snd6detail9AxManagerFv
diff --git a/asm/text_1.s b/asm/text_1.s
index b672248..ae0222c 100644
--- a/asm/text_1.s
+++ b/asm/text_1.s
@@ -8087,7 +8087,7 @@ lbl_80031B60:
/* 80031BA8 0002D808 48 1F 18 21 */ bl func_802233C8
/* 80031BAC 0002D80C 38 61 00 08 */ addi r3, r1, 8
/* 80031BB0 0002D810 38 81 00 60 */ addi r4, r1, 0x60
-/* 80031BB4 0002D814 48 24 B6 11 */ bl func_8027D1C4
+/* 80031BB4 0002D814 48 24 B6 11 */ bl C_QUATMtx
/* 80031BB8 0002D818 80 7F 00 40 */ lwz r3, 0x40(r31)
/* 80031BBC 0002D81C 38 80 00 01 */ li r4, 1
/* 80031BC0 0002D820 C0 01 00 08 */ lfs f0, 8(r1)
@@ -10001,18 +10001,18 @@ func_800334A0:
/* 80033510 0002F170 38 61 00 14 */ addi r3, r1, 0x14
/* 80033514 0002F174 38 9D 01 AC */ addi r4, r29, 0x1ac
/* 80033518 0002F178 7C 65 1B 78 */ mr r5, r3
-/* 8003351C 0002F17C 48 24 97 CD */ bl func_8027CCE8
+/* 8003351C 0002F17C 48 24 97 CD */ bl PSVECSubtract
/* 80033520 0002F180 38 61 00 14 */ addi r3, r1, 0x14
-/* 80033524 0002F184 48 24 98 61 */ bl func_8027CD84
+/* 80033524 0002F184 48 24 98 61 */ bl PSVECMag
/* 80033528 0002F188 C0 1D 01 84 */ lfs f0, 0x184(r29)
/* 8003352C 0002F18C 38 61 00 14 */ addi r3, r1, 0x14
/* 80033530 0002F190 7C 64 1B 78 */ mr r4, r3
/* 80033534 0002F194 EC 20 08 24 */ fdivs f1, f0, f1
-/* 80033538 0002F198 48 24 97 D5 */ bl func_8027CD0C
+/* 80033538 0002F198 48 24 97 D5 */ bl PSVECScale
/* 8003353C 0002F19C 38 61 00 14 */ addi r3, r1, 0x14
/* 80033540 0002F1A0 38 9D 01 AC */ addi r4, r29, 0x1ac
/* 80033544 0002F1A4 7C 65 1B 78 */ mr r5, r3
-/* 80033548 0002F1A8 48 24 97 7D */ bl func_8027CCC4
+/* 80033548 0002F1A8 48 24 97 7D */ bl PSVECAdd
lbl_8003354C:
/* 8003354C 0002F1AC 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13)
/* 80033550 0002F1B0 48 20 1D 6D */ bl func_802352BC
@@ -16441,7 +16441,7 @@ func_80038B8C:
/* 80038BEC 0003484C 7F E3 FB 78 */ mr r3, r31
/* 80038BF0 00034850 38 81 00 14 */ addi r4, r1, 0x14
/* 80038BF4 00034854 38 A1 00 2C */ addi r5, r1, 0x2c
-/* 80038BF8 00034858 48 24 40 F1 */ bl func_8027CCE8
+/* 80038BF8 00034858 48 24 40 F1 */ bl PSVECSubtract
/* 80038BFC 0003485C C0 41 00 34 */ lfs f2, 0x34(r1)
/* 80038C00 00034860 C0 21 00 2C */ lfs f1, 0x2c(r1)
/* 80038C04 00034864 48 19 B9 D9 */ bl atan2
@@ -16549,7 +16549,7 @@ lbl_80038D58:
/* 80038D78 000349D8 38 61 00 2C */ addi r3, r1, 0x2c
/* 80038D7C 000349DC 38 81 00 20 */ addi r4, r1, 0x20
/* 80038D80 000349E0 38 A1 00 38 */ addi r5, r1, 0x38
-/* 80038D84 000349E4 48 24 3F 65 */ bl func_8027CCE8
+/* 80038D84 000349E4 48 24 3F 65 */ bl PSVECSubtract
/* 80038D88 000349E8 C0 41 00 40 */ lfs f2, 0x40(r1)
/* 80038D8C 000349EC C0 21 00 38 */ lfs f1, 0x38(r1)
/* 80038D90 000349F0 48 19 B8 4D */ bl atan2
@@ -16563,7 +16563,7 @@ lbl_80038D58:
/* 80038DB0 00034A10 48 00 1C C5 */ bl func_8003AA74
/* 80038DB4 00034A14 EF FF 08 28 */ fsubs f31, f31, f1
/* 80038DB8 00034A18 38 61 00 38 */ addi r3, r1, 0x38
-/* 80038DBC 00034A1C 48 24 3F C9 */ bl func_8027CD84
+/* 80038DBC 00034A1C 48 24 3F C9 */ bl PSVECMag
/* 80038DC0 00034A20 C0 41 00 3C */ lfs f2, 0x3c(r1)
/* 80038DC4 00034A24 C0 02 82 30 */ lfs f0, lbl_80640830-_SDA2_BASE_(r2)
/* 80038DC8 00034A28 EC 22 08 24 */ fdivs f1, f2, f1
@@ -16639,7 +16639,7 @@ lbl_80038E9C:
/* 80038EC0 00034B20 38 61 00 2C */ addi r3, r1, 0x2c
/* 80038EC4 00034B24 38 81 00 20 */ addi r4, r1, 0x20
/* 80038EC8 00034B28 38 A1 00 38 */ addi r5, r1, 0x38
-/* 80038ECC 00034B2C 48 24 3E 1D */ bl func_8027CCE8
+/* 80038ECC 00034B2C 48 24 3E 1D */ bl PSVECSubtract
/* 80038ED0 00034B30 C0 41 00 40 */ lfs f2, 0x40(r1)
/* 80038ED4 00034B34 C0 21 00 38 */ lfs f1, 0x38(r1)
/* 80038ED8 00034B38 48 19 B7 05 */ bl atan2
@@ -16662,7 +16662,7 @@ lbl_80038F0C:
/* 80038F18 00034B78 FF E0 00 90 */ fmr f31, f0
lbl_80038F1C:
/* 80038F1C 00034B7C 38 61 00 38 */ addi r3, r1, 0x38
-/* 80038F20 00034B80 48 24 3E 65 */ bl func_8027CD84
+/* 80038F20 00034B80 48 24 3E 65 */ bl PSVECMag
/* 80038F24 00034B84 C0 41 00 3C */ lfs f2, 0x3c(r1)
/* 80038F28 00034B88 C0 02 82 30 */ lfs f0, lbl_80640830-_SDA2_BASE_(r2)
/* 80038F2C 00034B8C EC 22 08 24 */ fdivs f1, f2, f1
@@ -18064,7 +18064,7 @@ lbl_8003A0E0:
/* 8003A1AC 00035E0C 7F C5 F3 78 */ mr r5, r30
/* 8003A1B0 00035E10 38 61 00 08 */ addi r3, r1, 8
/* 8003A1B4 00035E14 38 81 00 14 */ addi r4, r1, 0x14
-/* 8003A1B8 00035E18 48 24 2B 31 */ bl func_8027CCE8
+/* 8003A1B8 00035E18 48 24 2B 31 */ bl PSVECSubtract
lbl_8003A1BC:
/* 8003A1BC 00035E1C E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0
/* 8003A1C0 00035E20 CB E1 00 50 */ lfd f31, 0x50(r1)
@@ -18093,7 +18093,7 @@ func_8003A1E4:
/* 8003A210 00035E70 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 8003A214 00035E74 38 61 00 08 */ addi r3, r1, 8
/* 8003A218 00035E78 D0 01 00 0C */ stfs f0, 0xc(r1)
-/* 8003A21C 00035E7C 48 24 2B 69 */ bl func_8027CD84
+/* 8003A21C 00035E7C 48 24 2B 69 */ bl PSVECMag
/* 8003A220 00035E80 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003A224 00035E84 7C 08 03 A6 */ mtlr r0
/* 8003A228 00035E88 38 21 00 20 */ addi r1, r1, 0x20
@@ -18329,7 +18329,7 @@ lbl_8003A508:
/* 8003A554 000361B4 38 61 00 14 */ addi r3, r1, 0x14
/* 8003A558 000361B8 38 81 00 08 */ addi r4, r1, 8
/* 8003A55C 000361BC 38 A1 00 20 */ addi r5, r1, 0x20
-/* 8003A560 000361C0 48 24 27 89 */ bl func_8027CCE8
+/* 8003A560 000361C0 48 24 27 89 */ bl PSVECSubtract
/* 8003A564 000361C4 80 1F 00 00 */ lwz r0, 0(r31)
/* 8003A568 000361C8 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 8003A56C 000361CC 40 82 00 14 */ bne lbl_8003A580
@@ -18652,7 +18652,7 @@ lbl_8003A9C0:
/* 8003A9D4 00036634 48 1E 89 F5 */ bl func_802233C8
/* 8003A9D8 00036638 38 61 00 08 */ addi r3, r1, 8
/* 8003A9DC 0003663C 38 81 00 18 */ addi r4, r1, 0x18
-/* 8003A9E0 00036640 48 24 27 E5 */ bl func_8027D1C4
+/* 8003A9E0 00036640 48 24 27 E5 */ bl C_QUATMtx
/* 8003A9E4 00036644 C0 01 00 08 */ lfs f0, 8(r1)
/* 8003A9E8 00036648 7F E3 FB 78 */ mr r3, r31
/* 8003A9EC 0003664C 38 80 00 01 */ li r4, 1
@@ -19709,7 +19709,7 @@ func_8003B7FC:
lbl_8003B834:
/* 8003B834 00037494 38 64 00 0C */ addi r3, r4, 0xc
/* 8003B838 00037498 38 A1 00 14 */ addi r5, r1, 0x14
-/* 8003B83C 0003749C 48 24 14 AD */ bl func_8027CCE8
+/* 8003B83C 0003749C 48 24 14 AD */ bl PSVECSubtract
/* 8003B840 000374A0 C3 E1 00 18 */ lfs f31, 0x18(r1)
/* 8003B844 000374A4 C0 21 00 14 */ lfs f1, 0x14(r1)
/* 8003B848 000374A8 C0 01 00 1C */ lfs f0, 0x1c(r1)
@@ -20978,7 +20978,7 @@ lbl_8003C9C8:
/* 8003C9F4 00038654 7C 64 1B 78 */ mr r4, r3
/* 8003C9F8 00038658 7F E3 FB 78 */ mr r3, r31
/* 8003C9FC 0003865C 38 A1 00 28 */ addi r5, r1, 0x28
-/* 8003CA00 00038660 48 24 02 E9 */ bl func_8027CCE8
+/* 8003CA00 00038660 48 24 02 E9 */ bl PSVECSubtract
/* 8003CA04 00038664 C0 41 00 28 */ lfs f2, 0x28(r1)
/* 8003CA08 00038668 38 61 00 34 */ addi r3, r1, 0x34
/* 8003CA0C 0003866C C0 21 00 2C */ lfs f1, 0x2c(r1)
@@ -20987,7 +20987,7 @@ lbl_8003C9C8:
/* 8003CA18 00038678 D0 41 00 34 */ stfs f2, 0x34(r1)
/* 8003CA1C 0003867C D0 21 00 38 */ stfs f1, 0x38(r1)
/* 8003CA20 00038680 D0 01 00 3C */ stfs f0, 0x3c(r1)
-/* 8003CA24 00038684 48 24 03 05 */ bl func_8027CD28
+/* 8003CA24 00038684 48 24 03 05 */ bl PSVECNormalize
/* 8003CA28 00038688 80 7B 0C 04 */ lwz r3, 0xc04(r27)
/* 8003CA2C 0003868C 7F A4 EB 78 */ mr r4, r29
/* 8003CA30 00038690 7F E5 FB 78 */ mr r5, r31
@@ -25468,7 +25468,7 @@ lbl_800405D8:
/* 800405E4 0003C244 38 61 00 2C */ addi r3, r1, 0x2c
/* 800405E8 0003C248 38 9D 00 44 */ addi r4, r29, 0x44
/* 800405EC 0003C24C 38 A1 00 14 */ addi r5, r1, 0x14
-/* 800405F0 0003C250 48 23 C6 D5 */ bl func_8027CCC4
+/* 800405F0 0003C250 48 23 C6 D5 */ bl PSVECAdd
/* 800405F4 0003C254 C0 61 00 14 */ lfs f3, 0x14(r1)
/* 800405F8 0003C258 38 7D 00 2C */ addi r3, r29, 0x2c
/* 800405FC 0003C25C C0 22 82 B4 */ lfs f1, lbl_806408B4-_SDA2_BASE_(r2)
@@ -25513,7 +25513,7 @@ lbl_8004068C:
/* 8004068C 0003C2EC 38 61 00 2C */ addi r3, r1, 0x2c
/* 80040690 0003C2F0 38 9D 00 44 */ addi r4, r29, 0x44
/* 80040694 0003C2F4 7C 65 1B 78 */ mr r5, r3
-/* 80040698 0003C2F8 48 23 C6 2D */ bl func_8027CCC4
+/* 80040698 0003C2F8 48 23 C6 2D */ bl PSVECAdd
/* 8004069C 0003C2FC 7F A3 EB 78 */ mr r3, r29
/* 800406A0 0003C300 38 81 00 20 */ addi r4, r1, 0x20
/* 800406A4 0003C304 38 A1 00 2C */ addi r5, r1, 0x2c
@@ -25564,7 +25564,7 @@ lbl_8004072C:
/* 8004074C 0003C3AC C0 03 00 08 */ lfs f0, 8(r3)
/* 80040750 0003C3B0 38 61 00 2C */ addi r3, r1, 0x2c
/* 80040754 0003C3B4 D0 01 00 34 */ stfs f0, 0x34(r1)
-/* 80040758 0003C3B8 48 23 C5 6D */ bl func_8027CCC4
+/* 80040758 0003C3B8 48 23 C5 6D */ bl PSVECAdd
/* 8004075C 0003C3BC C0 61 00 08 */ lfs f3, 8(r1)
/* 80040760 0003C3C0 38 7D 00 2C */ addi r3, r29, 0x2c
/* 80040764 0003C3C4 C0 22 82 B4 */ lfs f1, lbl_806408B4-_SDA2_BASE_(r2)
@@ -25684,7 +25684,7 @@ lbl_800408B4:
/* 800408FC 0003C55C D0 41 00 2C */ stfs f2, 0x2c(r1)
/* 80040900 0003C560 D0 21 00 30 */ stfs f1, 0x30(r1)
/* 80040904 0003C564 D0 01 00 34 */ stfs f0, 0x34(r1)
-/* 80040908 0003C568 48 23 C6 C9 */ bl func_8027CFD0
+/* 80040908 0003C568 48 23 C6 C9 */ bl PSVECDistance
/* 8004090C 0003C56C C0 02 82 B8 */ lfs f0, lbl_806408B8-_SDA2_BASE_(r2)
/* 80040910 0003C570 EC 20 00 72 */ fmuls f1, f0, f1
lbl_80040914:
@@ -26210,7 +26210,7 @@ func_80040FA0:
/* 80041024 0003CC84 D0 41 00 08 */ stfs f2, 8(r1)
/* 80041028 0003CC88 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 8004102C 0003CC8C D0 01 00 10 */ stfs f0, 0x10(r1)
-/* 80041030 0003CC90 48 23 BD 55 */ bl func_8027CD84
+/* 80041030 0003CC90 48 23 BD 55 */ bl PSVECMag
/* 80041034 0003CC94 C0 02 82 B0 */ lfs f0, lbl_806408B0-_SDA2_BASE_(r2)
/* 80041038 0003CC98 38 00 00 00 */ li r0, 0
/* 8004103C 0003CC9C D0 3E 06 C8 */ stfs f1, 0x6c8(r30)
@@ -26314,7 +26314,7 @@ func_8004111C:
/* 80041188 0003CDE8 38 7F 05 74 */ addi r3, r31, 0x574
/* 8004118C 0003CDEC 38 81 00 14 */ addi r4, r1, 0x14
/* 80041190 0003CDF0 38 A1 00 20 */ addi r5, r1, 0x20
-/* 80041194 0003CDF4 48 23 BB 31 */ bl func_8027CCC4
+/* 80041194 0003CDF4 48 23 BB 31 */ bl PSVECAdd
/* 80041198 0003CDF8 C0 41 00 20 */ lfs f2, 0x20(r1)
/* 8004119C 0003CDFC 38 7F 04 E8 */ addi r3, r31, 0x4e8
/* 800411A0 0003CE00 C0 21 00 24 */ lfs f1, 0x24(r1)
@@ -26381,7 +26381,7 @@ func_80041228:
/* 80041264 0003CEC4 93 A1 00 64 */ stw r29, 0x64(r1)
/* 80041268 0003CEC8 7C 7D 1B 78 */ mr r29, r3
/* 8004126C 0003CECC 38 63 04 FC */ addi r3, r3, 0x4fc
-/* 80041270 0003CED0 48 23 BA 79 */ bl func_8027CCE8
+/* 80041270 0003CED0 48 23 BA 79 */ bl PSVECSubtract
/* 80041274 0003CED4 7F C3 F3 78 */ mr r3, r30
/* 80041278 0003CED8 4B FF F9 C1 */ bl func_80040C38
/* 8004127C 0003CEDC 80 1D 04 BC */ lwz r0, 0x4bc(r29)
@@ -26488,7 +26488,7 @@ lbl_800413CC:
/* 800413E4 0003D044 48 00 00 7C */ b lbl_80041460
lbl_800413E8:
/* 800413E8 0003D048 38 61 00 54 */ addi r3, r1, 0x54
-/* 800413EC 0003D04C 48 23 B9 99 */ bl func_8027CD84
+/* 800413EC 0003D04C 48 23 B9 99 */ bl PSVECMag
/* 800413F0 0003D050 C0 01 00 58 */ lfs f0, 0x58(r1)
/* 800413F4 0003D054 C0 42 82 D4 */ lfs f2, lbl_806408D4-_SDA2_BASE_(r2)
/* 800413F8 0003D058 EC 20 08 24 */ fdivs f1, f0, f1
@@ -26546,7 +26546,7 @@ lbl_80041460:
/* 800414B4 0003D114 7F E3 FB 78 */ mr r3, r31
/* 800414B8 0003D118 38 81 00 14 */ addi r4, r1, 0x14
/* 800414BC 0003D11C 38 A1 00 20 */ addi r5, r1, 0x20
-/* 800414C0 0003D120 48 23 B8 05 */ bl func_8027CCC4
+/* 800414C0 0003D120 48 23 B8 05 */ bl PSVECAdd
/* 800414C4 0003D124 C0 41 00 20 */ lfs f2, 0x20(r1)
/* 800414C8 0003D128 38 7D 04 E8 */ addi r3, r29, 0x4e8
/* 800414CC 0003D12C C0 21 00 24 */ lfs f1, 0x24(r1)
@@ -26943,7 +26943,7 @@ func_800419E4:
/* 80041A10 0003D670 4B FF F7 F5 */ bl func_80041204
/* 80041A14 0003D674 7F E4 FB 78 */ mr r4, r31
/* 80041A18 0003D678 38 A1 00 08 */ addi r5, r1, 8
-/* 80041A1C 0003D67C 48 23 B2 CD */ bl func_8027CCE8
+/* 80041A1C 0003D67C 48 23 B2 CD */ bl PSVECSubtract
/* 80041A20 0003D680 C0 41 00 08 */ lfs f2, 8(r1)
/* 80041A24 0003D684 C0 21 00 0C */ lfs f1, 0xc(r1)
/* 80041A28 0003D688 C0 01 00 10 */ lfs f0, 0x10(r1)
@@ -27274,7 +27274,7 @@ lbl_80041E50:
/* 80041E7C 0003DADC FC 20 F8 90 */ fmr f1, f31
/* 80041E80 0003DAE0 7F 84 E3 78 */ mr r4, r28
/* 80041E84 0003DAE4 38 61 00 60 */ addi r3, r1, 0x60
-/* 80041E88 0003DAE8 48 23 AE 85 */ bl func_8027CD0C
+/* 80041E88 0003DAE8 48 23 AE 85 */ bl PSVECScale
/* 80041E8C 0003DAEC E3 E1 00 C8 */ psq_l f31, 200(r1), 0, qr0
/* 80041E90 0003DAF0 CB E1 00 C0 */ lfd f31, 0xc0(r1)
/* 80041E94 0003DAF4 E3 C1 00 B8 */ psq_l f30, 184(r1), 0, qr0
@@ -27318,14 +27318,14 @@ func_80041ED4:
/* 80041F20 0003DB80 38 61 00 68 */ addi r3, r1, 0x68
/* 80041F24 0003DB84 D0 21 00 70 */ stfs f1, 0x70(r1)
/* 80041F28 0003DB88 D0 01 00 6C */ stfs f0, 0x6c(r1)
-/* 80041F2C 0003DB8C 48 23 AE 59 */ bl func_8027CD84
+/* 80041F2C 0003DB8C 48 23 AE 59 */ bl PSVECMag
/* 80041F30 0003DB90 C0 02 83 2C */ lfs f0, lbl_8064092C-_SDA2_BASE_(r2)
/* 80041F34 0003DB94 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80041F38 0003DB98 40 81 01 40 */ ble lbl_80042078
/* 80041F3C 0003DB9C 7F E3 FB 78 */ mr r3, r31
/* 80041F40 0003DBA0 38 81 00 68 */ addi r4, r1, 0x68
/* 80041F44 0003DBA4 38 A1 00 50 */ addi r5, r1, 0x50
-/* 80041F48 0003DBA8 48 23 AD A1 */ bl func_8027CCE8
+/* 80041F48 0003DBA8 48 23 AD A1 */ bl PSVECSubtract
/* 80041F4C 0003DBAC C0 41 00 50 */ lfs f2, 0x50(r1)
/* 80041F50 0003DBB0 38 61 00 5C */ addi r3, r1, 0x5c
/* 80041F54 0003DBB4 C0 21 00 54 */ lfs f1, 0x54(r1)
@@ -27334,7 +27334,7 @@ func_80041ED4:
/* 80041F60 0003DBC0 D0 41 00 5C */ stfs f2, 0x5c(r1)
/* 80041F64 0003DBC4 D0 21 00 60 */ stfs f1, 0x60(r1)
/* 80041F68 0003DBC8 D0 01 00 64 */ stfs f0, 0x64(r1)
-/* 80041F6C 0003DBCC 48 23 AD BD */ bl func_8027CD28
+/* 80041F6C 0003DBCC 48 23 AD BD */ bl PSVECNormalize
/* 80041F70 0003DBD0 38 61 00 5C */ addi r3, r1, 0x5c
/* 80041F74 0003DBD4 38 81 00 68 */ addi r4, r1, 0x68
/* 80041F78 0003DBD8 48 23 AE 51 */ bl PSQUATDotProduct
@@ -27374,7 +27374,7 @@ lbl_80041FCC:
/* 80041FF8 0003DC58 D0 01 00 6C */ stfs f0, 0x6c(r1)
/* 80041FFC 0003DC5C C0 1E 00 08 */ lfs f0, 8(r30)
/* 80042000 0003DC60 D0 01 00 70 */ stfs f0, 0x70(r1)
-/* 80042004 0003DC64 48 23 AC E5 */ bl func_8027CCE8
+/* 80042004 0003DC64 48 23 AC E5 */ bl PSVECSubtract
/* 80042008 0003DC68 C0 41 00 44 */ lfs f2, 0x44(r1)
/* 8004200C 0003DC6C 38 61 00 5C */ addi r3, r1, 0x5c
/* 80042010 0003DC70 C0 21 00 48 */ lfs f1, 0x48(r1)
@@ -27383,15 +27383,15 @@ lbl_80041FCC:
/* 8004201C 0003DC7C D0 41 00 5C */ stfs f2, 0x5c(r1)
/* 80042020 0003DC80 D0 21 00 60 */ stfs f1, 0x60(r1)
/* 80042024 0003DC84 D0 01 00 64 */ stfs f0, 0x64(r1)
-/* 80042028 0003DC88 48 23 AD 01 */ bl func_8027CD28
+/* 80042028 0003DC88 48 23 AD 01 */ bl PSVECNormalize
/* 8004202C 0003DC8C FC 20 E8 90 */ fmr f1, f29
/* 80042030 0003DC90 38 61 00 5C */ addi r3, r1, 0x5c
/* 80042034 0003DC94 38 81 00 2C */ addi r4, r1, 0x2c
-/* 80042038 0003DC98 48 23 AC D5 */ bl func_8027CD0C
+/* 80042038 0003DC98 48 23 AC D5 */ bl PSVECScale
/* 8004203C 0003DC9C 38 61 00 68 */ addi r3, r1, 0x68
/* 80042040 0003DCA0 38 81 00 2C */ addi r4, r1, 0x2c
/* 80042044 0003DCA4 38 A1 00 38 */ addi r5, r1, 0x38
-/* 80042048 0003DCA8 48 23 AC 7D */ bl func_8027CCC4
+/* 80042048 0003DCA8 48 23 AC 7D */ bl PSVECAdd
/* 8004204C 0003DCAC C0 41 00 38 */ lfs f2, 0x38(r1)
/* 80042050 0003DCB0 C0 21 00 3C */ lfs f1, 0x3c(r1)
/* 80042054 0003DCB4 C0 01 00 40 */ lfs f0, 0x40(r1)
@@ -27417,7 +27417,7 @@ lbl_80042078:
/* 800420A0 0003DD00 7F E4 FB 78 */ mr r4, r31
/* 800420A4 0003DD04 38 61 00 68 */ addi r3, r1, 0x68
/* 800420A8 0003DD08 38 A1 00 20 */ addi r5, r1, 0x20
-/* 800420AC 0003DD0C 48 23 AC 3D */ bl func_8027CCE8
+/* 800420AC 0003DD0C 48 23 AC 3D */ bl PSVECSubtract
/* 800420B0 0003DD10 C0 41 00 20 */ lfs f2, 0x20(r1)
/* 800420B4 0003DD14 38 61 00 5C */ addi r3, r1, 0x5c
/* 800420B8 0003DD18 C0 21 00 24 */ lfs f1, 0x24(r1)
@@ -27425,19 +27425,19 @@ lbl_80042078:
/* 800420C0 0003DD20 D0 41 00 5C */ stfs f2, 0x5c(r1)
/* 800420C4 0003DD24 D0 21 00 60 */ stfs f1, 0x60(r1)
/* 800420C8 0003DD28 D0 01 00 64 */ stfs f0, 0x64(r1)
-/* 800420CC 0003DD2C 48 23 AC B9 */ bl func_8027CD84
+/* 800420CC 0003DD2C 48 23 AC B9 */ bl PSVECMag
/* 800420D0 0003DD30 FF E0 08 90 */ fmr f31, f1
/* 800420D4 0003DD34 38 61 00 5C */ addi r3, r1, 0x5c
/* 800420D8 0003DD38 7C 64 1B 78 */ mr r4, r3
-/* 800420DC 0003DD3C 48 23 AC 4D */ bl func_8027CD28
+/* 800420DC 0003DD3C 48 23 AC 4D */ bl PSVECNormalize
/* 800420E0 0003DD40 EC 3F 07 72 */ fmuls f1, f31, f29
/* 800420E4 0003DD44 38 61 00 5C */ addi r3, r1, 0x5c
/* 800420E8 0003DD48 38 81 00 08 */ addi r4, r1, 8
-/* 800420EC 0003DD4C 48 23 AC 21 */ bl func_8027CD0C
+/* 800420EC 0003DD4C 48 23 AC 21 */ bl PSVECScale
/* 800420F0 0003DD50 7F E3 FB 78 */ mr r3, r31
/* 800420F4 0003DD54 38 81 00 08 */ addi r4, r1, 8
/* 800420F8 0003DD58 38 A1 00 14 */ addi r5, r1, 0x14
-/* 800420FC 0003DD5C 48 23 AB C9 */ bl func_8027CCC4
+/* 800420FC 0003DD5C 48 23 AB C9 */ bl PSVECAdd
/* 80042100 0003DD60 C0 41 00 14 */ lfs f2, 0x14(r1)
/* 80042104 0003DD64 C0 21 00 18 */ lfs f1, 0x18(r1)
/* 80042108 0003DD68 C0 01 00 1C */ lfs f0, 0x1c(r1)
@@ -27490,7 +27490,7 @@ func_8004215C:
/* 800421B4 0003DE14 38 61 00 20 */ addi r3, r1, 0x20
/* 800421B8 0003DE18 7C 65 1B 78 */ mr r5, r3
/* 800421BC 0003DE1C D0 01 00 1C */ stfs f0, 0x1c(r1)
-/* 800421C0 0003DE20 48 23 AB 05 */ bl func_8027CCC4
+/* 800421C0 0003DE20 48 23 AB 05 */ bl PSVECAdd
/* 800421C4 0003DE24 38 61 00 20 */ addi r3, r1, 0x20
/* 800421C8 0003DE28 38 81 00 14 */ addi r4, r1, 0x14
/* 800421CC 0003DE2C 4B FF FD 09 */ bl func_80041ED4
@@ -27564,7 +27564,7 @@ lbl_80042274:
/* 800422C4 0003DF24 38 61 00 20 */ addi r3, r1, 0x20
/* 800422C8 0003DF28 7C 65 1B 78 */ mr r5, r3
/* 800422CC 0003DF2C D0 01 00 1C */ stfs f0, 0x1c(r1)
-/* 800422D0 0003DF30 48 23 A9 F5 */ bl func_8027CCC4
+/* 800422D0 0003DF30 48 23 A9 F5 */ bl PSVECAdd
/* 800422D4 0003DF34 D3 C1 00 24 */ stfs f30, 0x24(r1)
/* 800422D8 0003DF38 38 61 00 20 */ addi r3, r1, 0x20
/* 800422DC 0003DF3C 38 81 00 14 */ addi r4, r1, 0x14
@@ -27617,7 +27617,7 @@ func_8004231C:
/* 80042388 0003DFE8 38 61 00 20 */ addi r3, r1, 0x20
/* 8004238C 0003DFEC 7C 65 1B 78 */ mr r5, r3
/* 80042390 0003DFF0 D0 01 00 1C */ stfs f0, 0x1c(r1)
-/* 80042394 0003DFF4 48 23 A9 31 */ bl func_8027CCC4
+/* 80042394 0003DFF4 48 23 A9 31 */ bl PSVECAdd
/* 80042398 0003DFF8 38 61 00 20 */ addi r3, r1, 0x20
/* 8004239C 0003DFFC 38 81 00 14 */ addi r4, r1, 0x14
/* 800423A0 0003E000 4B FF FB 35 */ bl func_80041ED4
@@ -27703,7 +27703,7 @@ lbl_80042478:
/* 800424C8 0003E128 38 61 00 20 */ addi r3, r1, 0x20
/* 800424CC 0003E12C 7C 65 1B 78 */ mr r5, r3
/* 800424D0 0003E130 D0 01 00 1C */ stfs f0, 0x1c(r1)
-/* 800424D4 0003E134 48 23 A7 F1 */ bl func_8027CCC4
+/* 800424D4 0003E134 48 23 A7 F1 */ bl PSVECAdd
/* 800424D8 0003E138 D3 A1 00 24 */ stfs f29, 0x24(r1)
/* 800424DC 0003E13C 38 61 00 20 */ addi r3, r1, 0x20
/* 800424E0 0003E140 38 81 00 14 */ addi r4, r1, 0x14
@@ -27817,18 +27817,18 @@ func_800425FC:
/* 80042658 0003E2B8 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 8004265C 0003E2BC C0 1F 05 04 */ lfs f0, 0x504(r31)
/* 80042660 0003E2C0 D0 01 00 10 */ stfs f0, 0x10(r1)
-/* 80042664 0003E2C4 48 23 A6 85 */ bl func_8027CCE8
+/* 80042664 0003E2C4 48 23 A6 85 */ bl PSVECSubtract
/* 80042668 0003E2C8 38 61 00 08 */ addi r3, r1, 8
/* 8004266C 0003E2CC 7C 64 1B 78 */ mr r4, r3
-/* 80042670 0003E2D0 48 23 A6 B9 */ bl func_8027CD28
+/* 80042670 0003E2D0 48 23 A6 B9 */ bl PSVECNormalize
/* 80042674 0003E2D4 EC 3E F8 2A */ fadds f1, f30, f31
/* 80042678 0003E2D8 38 61 00 08 */ addi r3, r1, 8
/* 8004267C 0003E2DC 7C 64 1B 78 */ mr r4, r3
-/* 80042680 0003E2E0 48 23 A6 8D */ bl func_8027CD0C
+/* 80042680 0003E2E0 48 23 A6 8D */ bl PSVECScale
/* 80042684 0003E2E4 38 61 00 08 */ addi r3, r1, 8
/* 80042688 0003E2E8 38 9F 05 74 */ addi r4, r31, 0x574
/* 8004268C 0003E2EC 7C 65 1B 78 */ mr r5, r3
-/* 80042690 0003E2F0 48 23 A6 35 */ bl func_8027CCC4
+/* 80042690 0003E2F0 48 23 A6 35 */ bl PSVECAdd
/* 80042694 0003E2F4 38 7F 04 E8 */ addi r3, r31, 0x4e8
/* 80042698 0003E2F8 38 81 00 08 */ addi r4, r1, 8
/* 8004269C 0003E2FC 4B FF E5 49 */ bl func_80040BE4
@@ -27898,7 +27898,7 @@ func_8004274C:
/* 8004276C 0003E3CC 7F C3 F3 78 */ mr r3, r30
/* 80042770 0003E3D0 4B FF EA 95 */ bl func_80041204
/* 80042774 0003E3D4 7F E4 FB 78 */ mr r4, r31
-/* 80042778 0003E3D8 48 23 A8 59 */ bl func_8027CFD0
+/* 80042778 0003E3D8 48 23 A8 59 */ bl PSVECDistance
/* 8004277C 0003E3DC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80042780 0003E3E0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80042784 0003E3E4 83 C1 00 08 */ lwz r30, 8(r1)
@@ -28140,7 +28140,7 @@ func_80042A84:
/* 80042AC8 0003E728 38 61 00 10 */ addi r3, r1, 0x10
/* 80042ACC 0003E72C 7C 65 1B 78 */ mr r5, r3
/* 80042AD0 0003E730 D0 01 00 18 */ stfs f0, 0x18(r1)
-/* 80042AD4 0003E734 48 23 A2 15 */ bl func_8027CCE8
+/* 80042AD4 0003E734 48 23 A2 15 */ bl PSVECSubtract
/* 80042AD8 0003E738 C0 41 00 18 */ lfs f2, 0x18(r1)
/* 80042ADC 0003E73C C0 21 00 10 */ lfs f1, 0x10(r1)
/* 80042AE0 0003E740 48 19 1A FD */ bl atan2
@@ -28190,7 +28190,7 @@ func_80042B34:
/* 80042B84 0003E7E4 38 61 00 18 */ addi r3, r1, 0x18
/* 80042B88 0003E7E8 7C 65 1B 78 */ mr r5, r3
/* 80042B8C 0003E7EC D0 01 00 20 */ stfs f0, 0x20(r1)
-/* 80042B90 0003E7F0 48 23 A1 59 */ bl func_8027CCE8
+/* 80042B90 0003E7F0 48 23 A1 59 */ bl PSVECSubtract
/* 80042B94 0003E7F4 80 1E 06 D0 */ lwz r0, 0x6d0(r30)
/* 80042B98 0003E7F8 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 80042B9C 0003E7FC 41 82 00 28 */ beq lbl_80042BC4
@@ -28219,7 +28219,7 @@ lbl_80042BE4:
/* 80042BF0 0003E850 4B FF FD 61 */ bl func_80042950
/* 80042BF4 0003E854 D0 21 00 14 */ stfs f1, 0x14(r1)
/* 80042BF8 0003E858 38 61 00 18 */ addi r3, r1, 0x18
-/* 80042BFC 0003E85C 48 23 A1 89 */ bl func_8027CD84
+/* 80042BFC 0003E85C 48 23 A1 89 */ bl PSVECMag
/* 80042C00 0003E860 C0 41 00 1C */ lfs f2, 0x1c(r1)
/* 80042C04 0003E864 C0 02 82 BC */ lfs f0, lbl_806408BC-_SDA2_BASE_(r2)
/* 80042C08 0003E868 EC 22 08 24 */ fdivs f1, f2, f1
@@ -28292,7 +28292,7 @@ func_80042CB0:
/* 80042CFC 0003E95C 38 61 00 10 */ addi r3, r1, 0x10
/* 80042D00 0003E960 7C 65 1B 78 */ mr r5, r3
/* 80042D04 0003E964 D0 01 00 18 */ stfs f0, 0x18(r1)
-/* 80042D08 0003E968 48 23 9F E1 */ bl func_8027CCE8
+/* 80042D08 0003E968 48 23 9F E1 */ bl PSVECSubtract
/* 80042D0C 0003E96C 80 1E 06 D0 */ lwz r0, 0x6d0(r30)
/* 80042D10 0003E970 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 80042D14 0003E974 41 82 00 28 */ beq lbl_80042D3C
@@ -28363,9 +28363,9 @@ func_80042DC0:
/* 80042E04 0003EA64 38 61 00 10 */ addi r3, r1, 0x10
/* 80042E08 0003EA68 7C 65 1B 78 */ mr r5, r3
/* 80042E0C 0003EA6C D0 01 00 18 */ stfs f0, 0x18(r1)
-/* 80042E10 0003EA70 48 23 9E D9 */ bl func_8027CCE8
+/* 80042E10 0003EA70 48 23 9E D9 */ bl PSVECSubtract
/* 80042E14 0003EA74 38 61 00 10 */ addi r3, r1, 0x10
-/* 80042E18 0003EA78 48 23 9F 6D */ bl func_8027CD84
+/* 80042E18 0003EA78 48 23 9F 6D */ bl PSVECMag
/* 80042E1C 0003EA7C C0 41 00 14 */ lfs f2, 0x14(r1)
/* 80042E20 0003EA80 C0 02 82 BC */ lfs f0, lbl_806408BC-_SDA2_BASE_(r2)
/* 80042E24 0003EA84 EC 22 08 24 */ fdivs f1, f2, f1
@@ -29513,7 +29513,7 @@ lbl_80043EB0:
/* 80043EE4 0003FB44 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 80043EE8 0003FB48 40 82 00 48 */ bne lbl_80043F30
/* 80043EEC 0003FB4C 38 61 00 B8 */ addi r3, r1, 0xb8
-/* 80043EF0 0003FB50 48 23 90 E1 */ bl func_8027CFD0
+/* 80043EF0 0003FB50 48 23 90 E1 */ bl PSVECDistance
/* 80043EF4 0003FB54 C0 1E 04 D0 */ lfs f0, 0x4d0(r30)
/* 80043EF8 0003FB58 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80043EFC 0003FB5C 40 81 00 1C */ ble lbl_80043F18
@@ -29559,7 +29559,7 @@ lbl_80043F7C:
/* 80043F88 0003FBE8 38 7F 00 14 */ addi r3, r31, 0x14
/* 80043F8C 0003FBEC 38 9E 04 FC */ addi r4, r30, 0x4fc
/* 80043F90 0003FBF0 38 A1 00 38 */ addi r5, r1, 0x38
-/* 80043F94 0003FBF4 48 23 8D 55 */ bl func_8027CCE8
+/* 80043F94 0003FBF4 48 23 8D 55 */ bl PSVECSubtract
/* 80043F98 0003FBF8 C0 81 00 38 */ lfs f4, 0x38(r1)
/* 80043F9C 0003FBFC C0 22 83 50 */ lfs f1, lbl_80640950-_SDA2_BASE_(r2)
/* 80043FA0 0003FC00 C0 61 00 3C */ lfs f3, 0x3c(r1)
@@ -29590,7 +29590,7 @@ lbl_80043FF4:
/* 80043FF8 0003FC58 40 82 00 14 */ bne lbl_8004400C
/* 80043FFC 0003FC5C 38 61 00 A0 */ addi r3, r1, 0xa0
/* 80044000 0003FC60 7C 64 1B 78 */ mr r4, r3
-/* 80044004 0003FC64 48 23 8D 25 */ bl func_8027CD28
+/* 80044004 0003FC64 48 23 8D 25 */ bl PSVECNormalize
/* 80044008 0003FC68 48 00 00 18 */ b lbl_80044020
lbl_8004400C:
/* 8004400C 0003FC6C C0 22 82 B0 */ lfs f1, lbl_806408B0-_SDA2_BASE_(r2)
@@ -29603,7 +29603,7 @@ lbl_80044020:
/* 80044024 0003FC84 38 61 00 A0 */ addi r3, r1, 0xa0
/* 80044028 0003FC88 38 84 36 14 */ addi r4, r4, lbl_80493614@l
/* 8004402C 0003FC8C 38 A1 00 2C */ addi r5, r1, 0x2c
-/* 80044030 0003FC90 48 23 8D B9 */ bl func_8027CDE8
+/* 80044030 0003FC90 48 23 8D B9 */ bl PSVECCrossProduct
/* 80044034 0003FC94 C0 81 00 2C */ lfs f4, 0x2c(r1)
/* 80044038 0003FC98 C0 22 83 50 */ lfs f1, lbl_80640950-_SDA2_BASE_(r2)
/* 8004403C 0003FC9C C0 61 00 34 */ lfs f3, 0x34(r1)
@@ -29634,11 +29634,11 @@ lbl_80044090:
/* 80044094 0003FCF4 40 82 00 44 */ bne lbl_800440D8
/* 80044098 0003FCF8 38 61 00 94 */ addi r3, r1, 0x94
/* 8004409C 0003FCFC 7C 64 1B 78 */ mr r4, r3
-/* 800440A0 0003FD00 48 23 8C 89 */ bl func_8027CD28
+/* 800440A0 0003FD00 48 23 8C 89 */ bl PSVECNormalize
/* 800440A4 0003FD04 C0 3E 06 E4 */ lfs f1, 0x6e4(r30)
/* 800440A8 0003FD08 38 61 00 94 */ addi r3, r1, 0x94
/* 800440AC 0003FD0C 38 81 00 20 */ addi r4, r1, 0x20
-/* 800440B0 0003FD10 48 23 8C 5D */ bl func_8027CD0C
+/* 800440B0 0003FD10 48 23 8C 5D */ bl PSVECScale
/* 800440B4 0003FD14 C0 41 00 20 */ lfs f2, 0x20(r1)
/* 800440B8 0003FD18 C0 21 00 24 */ lfs f1, 0x24(r1)
/* 800440BC 0003FD1C C0 01 00 28 */ lfs f0, 0x28(r1)
@@ -29665,7 +29665,7 @@ lbl_800440E8:
/* 80044108 0003FD68 D0 41 00 88 */ stfs f2, 0x88(r1)
/* 8004410C 0003FD6C D0 21 00 8C */ stfs f1, 0x8c(r1)
/* 80044110 0003FD70 D0 01 00 90 */ stfs f0, 0x90(r1)
-/* 80044114 0003FD74 48 23 8C D5 */ bl func_8027CDE8
+/* 80044114 0003FD74 48 23 8C D5 */ bl PSVECCrossProduct
/* 80044118 0003FD78 C0 01 00 68 */ lfs f0, 0x68(r1)
/* 8004411C 0003FD7C C0 42 83 50 */ lfs f2, lbl_80640950-_SDA2_BASE_(r2)
/* 80044120 0003FD80 FC 00 10 40 */ fcmpo cr0, f0, f2
@@ -29703,7 +29703,7 @@ lbl_80044190:
/* 80044190 0003FDF0 C0 3E 06 DC */ lfs f1, 0x6dc(r30)
/* 80044194 0003FDF4 38 61 00 78 */ addi r3, r1, 0x78
/* 80044198 0003FDF8 38 81 00 A0 */ addi r4, r1, 0xa0
-/* 8004419C 0003FDFC 48 23 8F 89 */ bl func_8027D124
+/* 8004419C 0003FDFC 48 23 8F 89 */ bl C_QUATRotAxisRad
/* 800441A0 0003FE00 C0 41 00 88 */ lfs f2, 0x88(r1)
/* 800441A4 0003FE04 38 61 00 14 */ addi r3, r1, 0x14
/* 800441A8 0003FE08 C0 21 00 8C */ lfs f1, 0x8c(r1)
@@ -29739,7 +29739,7 @@ lbl_8004421C:
/* 8004421C 0003FE7C 38 7E 04 FC */ addi r3, r30, 0x4fc
/* 80044220 0003FE80 38 81 00 AC */ addi r4, r1, 0xac
/* 80044224 0003FE84 38 A1 00 08 */ addi r5, r1, 8
-/* 80044228 0003FE88 48 23 8A 9D */ bl func_8027CCC4
+/* 80044228 0003FE88 48 23 8A 9D */ bl PSVECAdd
/* 8004422C 0003FE8C C0 21 00 08 */ lfs f1, 8(r1)
/* 80044230 0003FE90 C0 A1 00 0C */ lfs f5, 0xc(r1)
/* 80044234 0003FE94 C0 81 00 10 */ lfs f4, 0x10(r1)
@@ -30052,7 +30052,7 @@ lbl_800445F0:
/* 800446A0 00040300 D0 61 00 14 */ stfs f3, 0x14(r1)
/* 800446A4 00040304 D0 41 00 18 */ stfs f2, 0x18(r1)
/* 800446A8 00040308 D0 21 00 1C */ stfs f1, 0x1c(r1)
-/* 800446AC 0004030C 48 23 86 3D */ bl func_8027CCE8
+/* 800446AC 0004030C 48 23 86 3D */ bl PSVECSubtract
/* 800446B0 00040310 C0 41 00 08 */ lfs f2, 8(r1)
/* 800446B4 00040314 38 61 00 44 */ addi r3, r1, 0x44
/* 800446B8 00040318 C0 21 00 0C */ lfs f1, 0xc(r1)
@@ -39116,7 +39116,7 @@ lbl_8004C164:
/* 8004C280 00047EE0 C0 02 84 04 */ lfs f0, lbl_80640A04-_SDA2_BASE_(r2)
/* 8004C284 00047EE4 38 80 00 59 */ li r4, 0x59
/* 8004C288 00047EE8 EC 20 08 2A */ fadds f1, f0, f1
-/* 8004C28C 00047EEC 48 22 FF DD */ bl func_8027C268
+/* 8004C28C 00047EEC 48 22 FF DD */ bl PSMTXRotRad
/* 8004C290 00047EF0 80 DF 00 14 */ lwz r6, 0x14(r31)
/* 8004C294 00047EF4 38 81 00 14 */ addi r4, r1, 0x14
/* 8004C298 00047EF8 7C 85 23 78 */ mr r5, r4
@@ -39127,7 +39127,7 @@ lbl_8004C164:
/* 8004C2AC 00047F0C D0 01 00 18 */ stfs f0, 0x18(r1)
/* 8004C2B0 00047F10 C0 06 00 40 */ lfs f0, 0x40(r6)
/* 8004C2B4 00047F14 D0 01 00 1C */ stfs f0, 0x1c(r1)
-/* 8004C2B8 00047F18 48 23 07 45 */ bl func_8027C9FC
+/* 8004C2B8 00047F18 48 23 07 45 */ bl PSMTXMultVec
/* 8004C2BC 00047F1C 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 8004C2C0 00047F20 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 8004C2C4 00047F24 D0 03 00 4C */ stfs f0, 0x4c(r3)
@@ -39844,10 +39844,10 @@ lbl_8004CCF0:
/* 8004CD24 00048984 38 61 00 24 */ addi r3, r1, 0x24
/* 8004CD28 00048988 38 9E 01 AC */ addi r4, r30, 0x1ac
/* 8004CD2C 0004898C 38 A1 00 18 */ addi r5, r1, 0x18
-/* 8004CD30 00048990 48 22 FF B9 */ bl func_8027CCE8
+/* 8004CD30 00048990 48 22 FF B9 */ bl PSVECSubtract
/* 8004CD34 00048994 38 61 00 18 */ addi r3, r1, 0x18
/* 8004CD38 00048998 7C 64 1B 78 */ mr r4, r3
-/* 8004CD3C 0004899C 48 22 FF ED */ bl func_8027CD28
+/* 8004CD3C 0004899C 48 22 FF ED */ bl PSVECNormalize
/* 8004CD40 000489A0 80 9F 00 14 */ lwz r4, 0x14(r31)
/* 8004CD44 000489A4 7F A3 EB 78 */ mr r3, r29
/* 8004CD48 000489A8 38 A1 00 24 */ addi r5, r1, 0x24
@@ -40296,10 +40296,10 @@ lbl_8004D3B8:
/* 8004D3D0 00049030 38 A1 00 18 */ addi r5, r1, 0x18
/* 8004D3D4 00049034 D0 1F 00 48 */ stfs f0, 0x48(r31)
/* 8004D3D8 00049038 83 DD 0C 04 */ lwz r30, 0xc04(r29)
-/* 8004D3DC 0004903C 48 22 F9 0D */ bl func_8027CCE8
+/* 8004D3DC 0004903C 48 22 F9 0D */ bl PSVECSubtract
/* 8004D3E0 00049040 38 61 00 18 */ addi r3, r1, 0x18
/* 8004D3E4 00049044 7C 64 1B 78 */ mr r4, r3
-/* 8004D3E8 00049048 48 22 F9 41 */ bl func_8027CD28
+/* 8004D3E8 00049048 48 22 F9 41 */ bl PSVECNormalize
/* 8004D3EC 0004904C 80 9F 00 14 */ lwz r4, 0x14(r31)
/* 8004D3F0 00049050 7F C3 F3 78 */ mr r3, r30
/* 8004D3F4 00049054 38 A1 00 24 */ addi r5, r1, 0x24
@@ -44111,15 +44111,15 @@ lbl_80050764:
/* 8005077C 0004C3DC 38 61 00 08 */ addi r3, r1, 8
/* 80050780 0004C3E0 7C 65 1B 78 */ mr r5, r3
/* 80050784 0004C3E4 D0 01 00 10 */ stfs f0, 0x10(r1)
-/* 80050788 0004C3E8 48 22 C5 61 */ bl func_8027CCE8
+/* 80050788 0004C3E8 48 22 C5 61 */ bl PSVECSubtract
/* 8005078C 0004C3EC FC 20 F8 90 */ fmr f1, f31
/* 80050790 0004C3F0 38 61 00 08 */ addi r3, r1, 8
/* 80050794 0004C3F4 7C 64 1B 78 */ mr r4, r3
-/* 80050798 0004C3F8 48 22 C5 75 */ bl func_8027CD0C
+/* 80050798 0004C3F8 48 22 C5 75 */ bl PSVECScale
/* 8005079C 0004C3FC 38 61 00 08 */ addi r3, r1, 8
/* 800507A0 0004C400 38 9F 00 04 */ addi r4, r31, 4
/* 800507A4 0004C404 7C 65 1B 78 */ mr r5, r3
-/* 800507A8 0004C408 48 22 C5 1D */ bl func_8027CCC4
+/* 800507A8 0004C408 48 22 C5 1D */ bl PSVECAdd
/* 800507AC 0004C40C 80 9F 00 1C */ lwz r4, 0x1c(r31)
/* 800507B0 0004C410 38 00 00 01 */ li r0, 1
/* 800507B4 0004C414 C0 01 00 08 */ lfs f0, 8(r1)
diff --git a/asm/text_3.s b/asm/text_3.s
index 12a478a..02ecd73 100644
--- a/asm/text_3.s
+++ b/asm/text_3.s
@@ -76944,7 +76944,7 @@ func_80102480:
lbl_801024B4:
/* 801024B4 000FE114 38 64 00 0C */ addi r3, r4, 0xc
/* 801024B8 000FE118 38 A1 00 2C */ addi r5, r1, 0x2c
-/* 801024BC 000FE11C 48 17 A8 2D */ bl func_8027CCE8
+/* 801024BC 000FE11C 48 17 A8 2D */ bl PSVECSubtract
/* 801024C0 000FE120 C0 41 00 30 */ lfs f2, 0x30(r1)
/* 801024C4 000FE124 C0 21 00 2C */ lfs f1, 0x2c(r1)
/* 801024C8 000FE128 C0 01 00 34 */ lfs f0, 0x34(r1)
@@ -76963,7 +76963,7 @@ lbl_801024D8:
lbl_801024F8:
/* 801024F8 000FE158 38 64 00 0C */ addi r3, r4, 0xc
/* 801024FC 000FE15C 38 A1 00 14 */ addi r5, r1, 0x14
-/* 80102500 000FE160 48 17 A7 E9 */ bl func_8027CCE8
+/* 80102500 000FE160 48 17 A7 E9 */ bl PSVECSubtract
/* 80102504 000FE164 C0 41 00 14 */ lfs f2, 0x14(r1)
/* 80102508 000FE168 C0 21 00 18 */ lfs f1, 0x18(r1)
/* 8010250C 000FE16C C0 01 00 1C */ lfs f0, 0x1c(r1)
@@ -96328,7 +96328,7 @@ lbl_801145D8:
/* 8011460C 0011026C C3 C2 8C 6C */ lfs f30, lbl_8064126C-_SDA2_BASE_(r2)
/* 80114610 00110270 38 81 00 24 */ addi r4, r1, 0x24
/* 80114614 00110274 38 A1 00 18 */ addi r5, r1, 0x18
-/* 80114618 00110278 48 16 86 D1 */ bl func_8027CCE8
+/* 80114618 00110278 48 16 86 D1 */ bl PSVECSubtract
/* 8011461C 0011027C C0 41 00 20 */ lfs f2, 0x20(r1)
/* 80114620 00110280 C0 21 00 18 */ lfs f1, 0x18(r1)
/* 80114624 00110284 48 0B FF B9 */ bl atan2
diff --git a/asm/text_6_2.s b/asm/text_6_2.s
index c3e1708..f40bd49 100644
--- a/asm/text_6_2.s
+++ b/asm/text_6_2.s
@@ -4126,11 +4126,11 @@ func_801DDF78:
/* 801DE04C 001D9CAC D0 3F 01 CC */ stfs f1, 0x1cc(r31)
/* 801DE050 001D9CB0 90 1F 01 D0 */ stw r0, 0x1d0(r31)
/* 801DE054 001D9CB4 D0 5F 01 84 */ stfs f2, 0x184(r31)
-/* 801DE058 001D9CB8 48 09 DE D5 */ bl func_8027BF2C
+/* 801DE058 001D9CB8 48 09 DE D5 */ bl PSMTXIdentity
/* 801DE05C 001D9CBC 38 7F 02 04 */ addi r3, r31, 0x204
-/* 801DE060 001D9CC0 48 09 DE CD */ bl func_8027BF2C
+/* 801DE060 001D9CC0 48 09 DE CD */ bl PSMTXIdentity
/* 801DE064 001D9CC4 38 7F 02 34 */ addi r3, r31, 0x234
-/* 801DE068 001D9CC8 48 09 DE C5 */ bl func_8027BF2C
+/* 801DE068 001D9CC8 48 09 DE C5 */ bl PSMTXIdentity
/* 801DE06C 001D9CCC 7F E3 FB 78 */ mr r3, r31
/* 801DE070 001D9CD0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801DE074 001D9CD4 80 01 00 14 */ lwz r0, 0x14(r1)
@@ -4198,11 +4198,11 @@ func_801DE084:
/* 801DE160 001D9DC0 90 1E 01 D0 */ stw r0, 0x1d0(r30)
/* 801DE164 001D9DC4 D0 DE 01 6C */ stfs f6, 0x16c(r30)
/* 801DE168 001D9DC8 D0 5E 01 84 */ stfs f2, 0x184(r30)
-/* 801DE16C 001D9DCC 48 09 DD C1 */ bl func_8027BF2C
+/* 801DE16C 001D9DCC 48 09 DD C1 */ bl PSMTXIdentity
/* 801DE170 001D9DD0 38 7E 02 04 */ addi r3, r30, 0x204
-/* 801DE174 001D9DD4 48 09 DD B9 */ bl func_8027BF2C
+/* 801DE174 001D9DD4 48 09 DD B9 */ bl PSMTXIdentity
/* 801DE178 001D9DD8 38 7E 02 34 */ addi r3, r30, 0x234
-/* 801DE17C 001D9DDC 48 09 DD B1 */ bl func_8027BF2C
+/* 801DE17C 001D9DDC 48 09 DD B1 */ bl PSMTXIdentity
/* 801DE180 001D9DE0 7F C3 F3 78 */ mr r3, r30
/* 801DE184 001D9DE4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801DE188 001D9DE8 83 C1 00 08 */ lwz r30, 8(r1)
@@ -4473,7 +4473,7 @@ func_801DE524:
/* 801DE544 001DA1A4 38 63 01 C4 */ addi r3, r3, 0x1c4
/* 801DE548 001DA1A8 38 9F 01 AC */ addi r4, r31, 0x1ac
/* 801DE54C 001DA1AC 38 A1 00 20 */ addi r5, r1, 0x20
-/* 801DE550 001DA1B0 48 09 E7 99 */ bl func_8027CCE8
+/* 801DE550 001DA1B0 48 09 E7 99 */ bl PSVECSubtract
/* 801DE554 001DA1B4 C0 41 00 20 */ lfs f2, 0x20(r1)
/* 801DE558 001DA1B8 38 61 00 38 */ addi r3, r1, 0x38
/* 801DE55C 001DA1BC C0 21 00 24 */ lfs f1, 0x24(r1)
@@ -4482,11 +4482,11 @@ func_801DE524:
/* 801DE568 001DA1C8 D0 41 00 38 */ stfs f2, 0x38(r1)
/* 801DE56C 001DA1CC D0 21 00 3C */ stfs f1, 0x3c(r1)
/* 801DE570 001DA1D0 D0 01 00 40 */ stfs f0, 0x40(r1)
-/* 801DE574 001DA1D4 48 09 E7 B5 */ bl func_8027CD28
+/* 801DE574 001DA1D4 48 09 E7 B5 */ bl PSVECNormalize
/* 801DE578 001DA1D8 38 61 00 38 */ addi r3, r1, 0x38
/* 801DE57C 001DA1DC 38 9F 01 B8 */ addi r4, r31, 0x1b8
/* 801DE580 001DA1E0 38 A1 00 14 */ addi r5, r1, 0x14
-/* 801DE584 001DA1E4 48 09 E8 65 */ bl func_8027CDE8
+/* 801DE584 001DA1E4 48 09 E8 65 */ bl PSVECCrossProduct
/* 801DE588 001DA1E8 C0 41 00 14 */ lfs f2, 0x14(r1)
/* 801DE58C 001DA1EC 38 61 00 2C */ addi r3, r1, 0x2c
/* 801DE590 001DA1F0 C0 21 00 18 */ lfs f1, 0x18(r1)
@@ -4495,11 +4495,11 @@ func_801DE524:
/* 801DE59C 001DA1FC D0 41 00 2C */ stfs f2, 0x2c(r1)
/* 801DE5A0 001DA200 D0 21 00 30 */ stfs f1, 0x30(r1)
/* 801DE5A4 001DA204 D0 01 00 34 */ stfs f0, 0x34(r1)
-/* 801DE5A8 001DA208 48 09 E7 81 */ bl func_8027CD28
+/* 801DE5A8 001DA208 48 09 E7 81 */ bl PSVECNormalize
/* 801DE5AC 001DA20C 38 61 00 2C */ addi r3, r1, 0x2c
/* 801DE5B0 001DA210 38 81 00 38 */ addi r4, r1, 0x38
/* 801DE5B4 001DA214 38 A1 00 08 */ addi r5, r1, 8
-/* 801DE5B8 001DA218 48 09 E8 31 */ bl func_8027CDE8
+/* 801DE5B8 001DA218 48 09 E8 31 */ bl PSVECCrossProduct
/* 801DE5BC 001DA21C C0 01 00 08 */ lfs f0, 8(r1)
/* 801DE5C0 001DA220 80 1F 01 04 */ lwz r0, 0x104(r31)
/* 801DE5C4 001DA224 D0 1F 01 B8 */ stfs f0, 0x1b8(r31)
@@ -4550,7 +4550,7 @@ lbl_801DE648:
/* 801DE670 001DA2D0 D0 5F 01 C4 */ stfs f2, 0x1c4(r31)
/* 801DE674 001DA2D4 D0 3F 01 C8 */ stfs f1, 0x1c8(r31)
/* 801DE678 001DA2D8 D0 1F 01 CC */ stfs f0, 0x1cc(r31)
-/* 801DE67C 001DA2DC 48 09 E6 6D */ bl func_8027CCE8
+/* 801DE67C 001DA2DC 48 09 E6 6D */ bl PSVECSubtract
/* 801DE680 001DA2E0 C0 41 00 80 */ lfs f2, 0x80(r1)
/* 801DE684 001DA2E4 38 61 00 A4 */ addi r3, r1, 0xa4
/* 801DE688 001DA2E8 C0 21 00 84 */ lfs f1, 0x84(r1)
@@ -4559,12 +4559,12 @@ lbl_801DE648:
/* 801DE694 001DA2F4 D0 41 00 A4 */ stfs f2, 0xa4(r1)
/* 801DE698 001DA2F8 D0 21 00 A8 */ stfs f1, 0xa8(r1)
/* 801DE69C 001DA2FC D0 01 00 AC */ stfs f0, 0xac(r1)
-/* 801DE6A0 001DA300 48 09 E6 89 */ bl func_8027CD28
+/* 801DE6A0 001DA300 48 09 E6 89 */ bl PSVECNormalize
/* 801DE6A4 001DA304 3C 80 80 49 */ lis r4, lbl_80493614@ha
/* 801DE6A8 001DA308 38 61 00 A4 */ addi r3, r1, 0xa4
/* 801DE6AC 001DA30C 38 84 36 14 */ addi r4, r4, lbl_80493614@l
/* 801DE6B0 001DA310 38 A1 00 74 */ addi r5, r1, 0x74
-/* 801DE6B4 001DA314 48 09 E7 35 */ bl func_8027CDE8
+/* 801DE6B4 001DA314 48 09 E7 35 */ bl PSVECCrossProduct
/* 801DE6B8 001DA318 C0 81 00 74 */ lfs f4, 0x74(r1)
/* 801DE6BC 001DA31C C0 22 96 38 */ lfs f1, lbl_80641C38-_SDA2_BASE_(r2)
/* 801DE6C0 001DA320 C0 61 00 78 */ lfs f3, 0x78(r1)
@@ -4597,7 +4597,7 @@ lbl_801DE714:
/* 801DE720 001DA380 38 61 00 A4 */ addi r3, r1, 0xa4
/* 801DE724 001DA384 38 84 36 20 */ addi r4, r4, lbl_80493620@l
/* 801DE728 001DA388 38 A1 00 68 */ addi r5, r1, 0x68
-/* 801DE72C 001DA38C 48 09 E6 BD */ bl func_8027CDE8
+/* 801DE72C 001DA38C 48 09 E6 BD */ bl PSVECCrossProduct
/* 801DE730 001DA390 C0 41 00 68 */ lfs f2, 0x68(r1)
/* 801DE734 001DA394 C0 21 00 6C */ lfs f1, 0x6c(r1)
/* 801DE738 001DA398 C0 01 00 70 */ lfs f0, 0x70(r1)
@@ -4607,11 +4607,11 @@ lbl_801DE714:
lbl_801DE748:
/* 801DE748 001DA3A8 38 61 00 98 */ addi r3, r1, 0x98
/* 801DE74C 001DA3AC 7C 64 1B 78 */ mr r4, r3
-/* 801DE750 001DA3B0 48 09 E5 D9 */ bl func_8027CD28
+/* 801DE750 001DA3B0 48 09 E5 D9 */ bl PSVECNormalize
/* 801DE754 001DA3B4 38 61 00 98 */ addi r3, r1, 0x98
/* 801DE758 001DA3B8 38 81 00 A4 */ addi r4, r1, 0xa4
/* 801DE75C 001DA3BC 38 A1 00 5C */ addi r5, r1, 0x5c
-/* 801DE760 001DA3C0 48 09 E6 89 */ bl func_8027CDE8
+/* 801DE760 001DA3C0 48 09 E6 89 */ bl PSVECCrossProduct
/* 801DE764 001DA3C4 C0 01 00 5C */ lfs f0, 0x5c(r1)
/* 801DE768 001DA3C8 80 1F 01 04 */ lwz r0, 0x104(r31)
/* 801DE76C 001DA3CC D0 1F 01 B8 */ stfs f0, 0x1b8(r31)
@@ -4637,11 +4637,11 @@ lbl_801DE7A0:
lbl_801DE7B4:
/* 801DE7B4 001DA414 38 7F 00 D0 */ addi r3, r31, 0xd0
/* 801DE7B8 001DA418 38 81 01 10 */ addi r4, r1, 0x110
-/* 801DE7BC 001DA41C 48 09 D8 ED */ bl func_8027C0A8
+/* 801DE7BC 001DA41C 48 09 D8 ED */ bl PSMTXInverse
/* 801DE7C0 001DA420 38 61 01 10 */ addi r3, r1, 0x110
/* 801DE7C4 001DA424 38 9F 01 AC */ addi r4, r31, 0x1ac
/* 801DE7C8 001DA428 38 A1 00 50 */ addi r5, r1, 0x50
-/* 801DE7CC 001DA42C 48 09 E2 31 */ bl func_8027C9FC
+/* 801DE7CC 001DA42C 48 09 E2 31 */ bl PSMTXMultVec
/* 801DE7D0 001DA430 C0 01 00 50 */ lfs f0, 0x50(r1)
/* 801DE7D4 001DA434 38 61 01 10 */ addi r3, r1, 0x110
/* 801DE7D8 001DA438 38 9F 01 B8 */ addi r4, r31, 0x1b8
@@ -4651,7 +4651,7 @@ lbl_801DE7B4:
/* 801DE7E8 001DA448 D0 1F 01 8C */ stfs f0, 0x18c(r31)
/* 801DE7EC 001DA44C C0 01 00 58 */ lfs f0, 0x58(r1)
/* 801DE7F0 001DA450 D0 1F 01 90 */ stfs f0, 0x190(r31)
-/* 801DE7F4 001DA454 48 09 E2 5D */ bl func_8027CA50
+/* 801DE7F4 001DA454 48 09 E2 5D */ bl PSMTXMultVecSR
/* 801DE7F8 001DA458 C0 01 00 44 */ lfs f0, 0x44(r1)
/* 801DE7FC 001DA45C 38 61 01 10 */ addi r3, r1, 0x110
/* 801DE800 001DA460 38 9F 01 C4 */ addi r4, r31, 0x1c4
@@ -4661,7 +4661,7 @@ lbl_801DE7B4:
/* 801DE810 001DA470 D0 1F 01 98 */ stfs f0, 0x198(r31)
/* 801DE814 001DA474 C0 01 00 4C */ lfs f0, 0x4c(r1)
/* 801DE818 001DA478 D0 1F 01 9C */ stfs f0, 0x19c(r31)
-/* 801DE81C 001DA47C 48 09 E1 E1 */ bl func_8027C9FC
+/* 801DE81C 001DA47C 48 09 E1 E1 */ bl PSMTXMultVec
/* 801DE820 001DA480 C0 01 00 38 */ lfs f0, 0x38(r1)
/* 801DE824 001DA484 2C 1E 00 00 */ cmpwi r30, 0
/* 801DE828 001DA488 D0 1F 01 A0 */ stfs f0, 0x1a0(r31)
@@ -4676,7 +4676,7 @@ lbl_801DE848:
/* 801DE848 001DA4A8 38 7F 00 D0 */ addi r3, r31, 0xd0
/* 801DE84C 001DA4AC 38 9F 01 88 */ addi r4, r31, 0x188
/* 801DE850 001DA4B0 38 A1 00 2C */ addi r5, r1, 0x2c
-/* 801DE854 001DA4B4 48 09 E1 A9 */ bl func_8027C9FC
+/* 801DE854 001DA4B4 48 09 E1 A9 */ bl PSMTXMultVec
/* 801DE858 001DA4B8 C0 01 00 2C */ lfs f0, 0x2c(r1)
/* 801DE85C 001DA4BC 38 7F 00 D0 */ addi r3, r31, 0xd0
/* 801DE860 001DA4C0 38 9F 01 94 */ addi r4, r31, 0x194
@@ -4686,7 +4686,7 @@ lbl_801DE848:
/* 801DE870 001DA4D0 D0 1F 01 B0 */ stfs f0, 0x1b0(r31)
/* 801DE874 001DA4D4 C0 01 00 34 */ lfs f0, 0x34(r1)
/* 801DE878 001DA4D8 D0 1F 01 B4 */ stfs f0, 0x1b4(r31)
-/* 801DE87C 001DA4DC 48 09 E1 D5 */ bl func_8027CA50
+/* 801DE87C 001DA4DC 48 09 E1 D5 */ bl PSMTXMultVecSR
/* 801DE880 001DA4E0 C0 01 00 20 */ lfs f0, 0x20(r1)
/* 801DE884 001DA4E4 38 7F 00 D0 */ addi r3, r31, 0xd0
/* 801DE888 001DA4E8 38 9F 01 A0 */ addi r4, r31, 0x1a0
@@ -4696,7 +4696,7 @@ lbl_801DE848:
/* 801DE898 001DA4F8 D0 1F 01 BC */ stfs f0, 0x1bc(r31)
/* 801DE89C 001DA4FC C0 01 00 28 */ lfs f0, 0x28(r1)
/* 801DE8A0 001DA500 D0 1F 01 C0 */ stfs f0, 0x1c0(r31)
-/* 801DE8A4 001DA504 48 09 E1 59 */ bl func_8027C9FC
+/* 801DE8A4 001DA504 48 09 E1 59 */ bl PSMTXMultVec
/* 801DE8A8 001DA508 C0 21 00 14 */ lfs f1, 0x14(r1)
/* 801DE8AC 001DA50C C0 1F 01 B8 */ lfs f0, 0x1b8(r31)
/* 801DE8B0 001DA510 D0 3F 01 C4 */ stfs f1, 0x1c4(r31)
@@ -4772,7 +4772,7 @@ lbl_801DE9A0:
/* 801DE9AC 001DA60C 38 7F 01 AC */ addi r3, r31, 0x1ac
/* 801DE9B0 001DA610 38 84 36 20 */ addi r4, r4, lbl_80493620@l
/* 801DE9B4 001DA614 38 A1 00 08 */ addi r5, r1, 8
-/* 801DE9B8 001DA618 48 09 E3 0D */ bl func_8027CCC4
+/* 801DE9B8 001DA618 48 09 E3 0D */ bl PSVECAdd
/* 801DE9BC 001DA61C C0 01 00 08 */ lfs f0, 8(r1)
/* 801DE9C0 001DA620 D0 1F 01 C4 */ stfs f0, 0x1c4(r31)
/* 801DE9C4 001DA624 C0 01 00 0C */ lfs f0, 0xc(r1)
@@ -4784,19 +4784,19 @@ lbl_801DE9D4:
/* 801DE9D8 001DA638 38 9F 01 AC */ addi r4, r31, 0x1ac
/* 801DE9DC 001DA63C 38 BF 01 B8 */ addi r5, r31, 0x1b8
/* 801DE9E0 001DA640 38 DF 01 C4 */ addi r6, r31, 0x1c4
-/* 801DE9E4 001DA644 48 09 DC 81 */ bl func_8027C664
+/* 801DE9E4 001DA644 48 09 DC 81 */ bl C_MTXLookAt
/* 801DE9E8 001DA648 38 7F 01 D4 */ addi r3, r31, 0x1d4
/* 801DE9EC 001DA64C 38 81 00 E0 */ addi r4, r1, 0xe0
-/* 801DE9F0 001DA650 48 09 D6 B9 */ bl func_8027C0A8
+/* 801DE9F0 001DA650 48 09 D6 B9 */ bl PSMTXInverse
/* 801DE9F4 001DA654 38 61 00 E0 */ addi r3, r1, 0xe0
/* 801DE9F8 001DA658 38 9F 02 04 */ addi r4, r31, 0x204
-/* 801DE9FC 001DA65C 48 09 D5 5D */ bl func_8027BF58
+/* 801DE9FC 001DA65C 48 09 D5 5D */ bl PSMTXCopy
/* 801DEA00 001DA660 38 7F 02 04 */ addi r3, r31, 0x204
/* 801DEA04 001DA664 38 81 00 B0 */ addi r4, r1, 0xb0
-/* 801DEA08 001DA668 48 09 D6 51 */ bl func_8027C058
+/* 801DEA08 001DA668 48 09 D6 51 */ bl PSMTXTranspose
/* 801DEA0C 001DA66C 38 61 00 B0 */ addi r3, r1, 0xb0
/* 801DEA10 001DA670 38 9F 02 34 */ addi r4, r31, 0x234
-/* 801DEA14 001DA674 48 09 D5 45 */ bl func_8027BF58
+/* 801DEA14 001DA674 48 09 D5 45 */ bl PSMTXCopy
/* 801DEA18 001DA678 80 1F 01 04 */ lwz r0, 0x104(r31)
/* 801DEA1C 001DA67C 54 00 06 F2 */ rlwinm r0, r0, 0, 0x1b, 0x19
/* 801DEA20 001DA680 90 1F 01 04 */ stw r0, 0x104(r31)
@@ -4891,7 +4891,7 @@ lbl_801DEB24:
/* 801DEB5C 001DA7BC 38 7D 01 AC */ addi r3, r29, 0x1ac
/* 801DEB60 001DA7C0 38 81 00 30 */ addi r4, r1, 0x30
/* 801DEB64 001DA7C4 38 A1 00 24 */ addi r5, r1, 0x24
-/* 801DEB68 001DA7C8 48 09 E1 81 */ bl func_8027CCE8
+/* 801DEB68 001DA7C8 48 09 E1 81 */ bl PSVECSubtract
/* 801DEB6C 001DA7CC C0 01 00 24 */ lfs f0, 0x24(r1)
/* 801DEB70 001DA7D0 C0 42 96 38 */ lfs f2, lbl_80641C38-_SDA2_BASE_(r2)
/* 801DEB74 001DA7D4 C0 62 96 10 */ lfs f3, lbl_80641C10-_SDA2_BASE_(r2)
@@ -4921,12 +4921,12 @@ lbl_801DEBC0:
/* 801DEBC8 001DA828 3C 60 80 49 */ lis r3, lbl_804932E0@ha
/* 801DEBCC 001DA82C 7F 84 E3 78 */ mr r4, r28
/* 801DEBD0 001DA830 38 63 32 E0 */ addi r3, r3, lbl_804932E0@l
-/* 801DEBD4 001DA834 48 09 D3 85 */ bl func_8027BF58
+/* 801DEBD4 001DA834 48 09 D3 85 */ bl PSMTXCopy
/* 801DEBD8 001DA838 48 00 00 C4 */ b lbl_801DEC9C
lbl_801DEBDC:
/* 801DEBDC 001DA83C 38 61 00 24 */ addi r3, r1, 0x24
/* 801DEBE0 001DA840 7C 64 1B 78 */ mr r4, r3
-/* 801DEBE4 001DA844 48 09 E1 45 */ bl func_8027CD28
+/* 801DEBE4 001DA844 48 09 E1 45 */ bl PSVECNormalize
/* 801DEBE8 001DA848 C0 21 00 2C */ lfs f1, 0x2c(r1)
/* 801DEBEC 001DA84C C0 02 96 00 */ lfs f0, lbl_80641C00-_SDA2_BASE_(r2)
/* 801DEBF0 001DA850 FC 01 00 40 */ fcmpo cr0, f1, f0
@@ -4954,10 +4954,10 @@ lbl_801DEC38:
/* 801DEC38 001DA898 3C 80 80 49 */ lis r4, lbl_80493614@ha
/* 801DEC3C 001DA89C 38 61 00 08 */ addi r3, r1, 8
/* 801DEC40 001DA8A0 38 84 36 14 */ addi r4, r4, lbl_80493614@l
-/* 801DEC44 001DA8A4 48 09 E4 E1 */ bl func_8027D124
+/* 801DEC44 001DA8A4 48 09 E4 E1 */ bl C_QUATRotAxisRad
/* 801DEC48 001DA8A8 38 61 00 40 */ addi r3, r1, 0x40
/* 801DEC4C 001DA8AC 38 81 00 08 */ addi r4, r1, 8
-/* 801DEC50 001DA8B0 48 09 D9 71 */ bl func_8027C5C0
+/* 801DEC50 001DA8B0 48 09 D9 71 */ bl PSMTXQuat
/* 801DEC54 001DA8B4 38 81 00 70 */ addi r4, r1, 0x70
/* 801DEC58 001DA8B8 38 61 00 40 */ addi r3, r1, 0x40
/* 801DEC5C 001DA8BC 7C 85 23 78 */ mr r5, r4
@@ -4977,7 +4977,7 @@ lbl_801DEC78:
/* 801DEC8C 001DA8EC D0 41 00 7C */ stfs f2, 0x7c(r1)
/* 801DEC90 001DA8F0 D0 21 00 8C */ stfs f1, 0x8c(r1)
/* 801DEC94 001DA8F4 D0 01 00 9C */ stfs f0, 0x9c(r1)
-/* 801DEC98 001DA8F8 48 09 D2 C1 */ bl func_8027BF58
+/* 801DEC98 001DA8F8 48 09 D2 C1 */ bl PSMTXCopy
lbl_801DEC9C:
/* 801DEC9C 001DA8FC 80 01 00 B4 */ lwz r0, 0xb4(r1)
/* 801DECA0 001DA900 83 E1 00 AC */ lwz r31, 0xac(r1)
@@ -5520,23 +5520,23 @@ func_801DF3F8:
/* 801DF470 001DB0D0 7F C4 F3 78 */ mr r4, r30
/* 801DF474 001DB0D4 EC 3F F0 2A */ fadds f1, f31, f30
/* 801DF478 001DB0D8 EC 20 08 28 */ fsubs f1, f0, f1
-/* 801DF47C 001DB0DC 48 09 D8 91 */ bl func_8027CD0C
+/* 801DF47C 001DB0DC 48 09 D8 91 */ bl PSVECScale
/* 801DF480 001DB0E0 7F 83 E3 78 */ mr r3, r28
/* 801DF484 001DB0E4 7F E4 FB 78 */ mr r4, r31
/* 801DF488 001DB0E8 38 A1 00 2C */ addi r5, r1, 0x2c
-/* 801DF48C 001DB0EC 48 09 D5 71 */ bl func_8027C9FC
+/* 801DF48C 001DB0EC 48 09 D5 71 */ bl PSMTXMultVec
/* 801DF490 001DB0F0 FC 20 F8 90 */ fmr f1, f31
/* 801DF494 001DB0F4 38 61 00 2C */ addi r3, r1, 0x2c
/* 801DF498 001DB0F8 38 81 00 20 */ addi r4, r1, 0x20
-/* 801DF49C 001DB0FC 48 09 D8 71 */ bl func_8027CD0C
+/* 801DF49C 001DB0FC 48 09 D8 71 */ bl PSVECScale
/* 801DF4A0 001DB100 7F C3 F3 78 */ mr r3, r30
/* 801DF4A4 001DB104 7F C5 F3 78 */ mr r5, r30
/* 801DF4A8 001DB108 38 81 00 20 */ addi r4, r1, 0x20
-/* 801DF4AC 001DB10C 48 09 D8 19 */ bl func_8027CCC4
+/* 801DF4AC 001DB10C 48 09 D8 19 */ bl PSVECAdd
/* 801DF4B0 001DB110 7F A3 EB 78 */ mr r3, r29
/* 801DF4B4 001DB114 7F E4 FB 78 */ mr r4, r31
/* 801DF4B8 001DB118 38 A1 00 14 */ addi r5, r1, 0x14
-/* 801DF4BC 001DB11C 48 09 D5 41 */ bl func_8027C9FC
+/* 801DF4BC 001DB11C 48 09 D5 41 */ bl PSMTXMultVec
/* 801DF4C0 001DB120 C0 61 00 14 */ lfs f3, 0x14(r1)
/* 801DF4C4 001DB124 FC 20 F0 90 */ fmr f1, f30
/* 801DF4C8 001DB128 C0 41 00 18 */ lfs f2, 0x18(r1)
@@ -5546,11 +5546,11 @@ func_801DF3F8:
/* 801DF4D8 001DB138 D0 61 00 2C */ stfs f3, 0x2c(r1)
/* 801DF4DC 001DB13C D0 41 00 30 */ stfs f2, 0x30(r1)
/* 801DF4E0 001DB140 D0 01 00 34 */ stfs f0, 0x34(r1)
-/* 801DF4E4 001DB144 48 09 D8 29 */ bl func_8027CD0C
+/* 801DF4E4 001DB144 48 09 D8 29 */ bl PSVECScale
/* 801DF4E8 001DB148 7F C3 F3 78 */ mr r3, r30
/* 801DF4EC 001DB14C 7F C5 F3 78 */ mr r5, r30
/* 801DF4F0 001DB150 38 81 00 08 */ addi r4, r1, 8
-/* 801DF4F4 001DB154 48 09 D7 D1 */ bl func_8027CCC4
+/* 801DF4F4 001DB154 48 09 D7 D1 */ bl PSVECAdd
/* 801DF4F8 001DB158 E3 E1 00 78 */ psq_l f31, 120(r1), 0, qr0
/* 801DF4FC 001DB15C CB E1 00 70 */ lfd f31, 0x70(r1)
/* 801DF500 001DB160 E3 C1 00 68 */ psq_l f30, 104(r1), 0, qr0
@@ -5763,19 +5763,19 @@ lbl_801DF7A4:
/* 801DF7D4 001DB434 7F C0 2A 14 */ add r30, r0, r5
/* 801DF7D8 001DB438 EF 80 F0 24 */ fdivs f28, f0, f30
/* 801DF7DC 001DB43C EC 3F E0 28 */ fsubs f1, f31, f28
-/* 801DF7E0 001DB440 48 09 D5 2D */ bl func_8027CD0C
+/* 801DF7E0 001DB440 48 09 D5 2D */ bl PSVECScale
/* 801DF7E4 001DB444 7F C4 F3 78 */ mr r4, r30
/* 801DF7E8 001DB448 38 7C 01 0C */ addi r3, r28, 0x10c
/* 801DF7EC 001DB44C 38 A1 00 08 */ addi r5, r1, 8
-/* 801DF7F0 001DB450 48 09 D2 0D */ bl func_8027C9FC
+/* 801DF7F0 001DB450 48 09 D2 0D */ bl PSMTXMultVec
/* 801DF7F4 001DB454 FC 20 E0 90 */ fmr f1, f28
/* 801DF7F8 001DB458 38 61 00 08 */ addi r3, r1, 8
/* 801DF7FC 001DB45C 38 81 00 14 */ addi r4, r1, 0x14
-/* 801DF800 001DB460 48 09 D5 0D */ bl func_8027CD0C
+/* 801DF800 001DB460 48 09 D5 0D */ bl PSVECScale
/* 801DF804 001DB464 7F A3 EB 78 */ mr r3, r29
/* 801DF808 001DB468 7F A5 EB 78 */ mr r5, r29
/* 801DF80C 001DB46C 38 81 00 14 */ addi r4, r1, 0x14
-/* 801DF810 001DB470 48 09 D4 B5 */ bl func_8027CCC4
+/* 801DF810 001DB470 48 09 D4 B5 */ bl PSVECAdd
lbl_801DF814:
/* 801DF814 001DB474 3B 5A 00 0A */ addi r26, r26, 0xa
lbl_801DF818:
@@ -5845,15 +5845,15 @@ lbl_801DF8C8:
/* 801DF900 001DB560 7F 44 D3 78 */ mr r4, r26
/* 801DF904 001DB564 7F 28 1A 14 */ add r25, r8, r3
/* 801DF908 001DB568 7C 68 02 14 */ add r3, r8, r0
-/* 801DF90C 001DB56C 48 09 D3 DD */ bl func_8027CCE8
+/* 801DF90C 001DB56C 48 09 D3 DD */ bl PSVECSubtract
/* 801DF910 001DB570 7F 23 CB 78 */ mr r3, r25
/* 801DF914 001DB574 7F 44 D3 78 */ mr r4, r26
/* 801DF918 001DB578 38 A1 00 14 */ addi r5, r1, 0x14
-/* 801DF91C 001DB57C 48 09 D3 CD */ bl func_8027CCE8
+/* 801DF91C 001DB57C 48 09 D3 CD */ bl PSVECSubtract
/* 801DF920 001DB580 38 61 00 20 */ addi r3, r1, 0x20
/* 801DF924 001DB584 38 81 00 14 */ addi r4, r1, 0x14
/* 801DF928 001DB588 38 A1 00 08 */ addi r5, r1, 8
-/* 801DF92C 001DB58C 48 09 D4 BD */ bl func_8027CDE8
+/* 801DF92C 001DB58C 48 09 D4 BD */ bl PSVECCrossProduct
/* 801DF930 001DB590 C0 01 00 08 */ lfs f0, 8(r1)
/* 801DF934 001DB594 7F 63 DB 78 */ mr r3, r27
/* 801DF938 001DB598 D0 1B 00 00 */ stfs f0, 0(r27)
@@ -5861,7 +5861,7 @@ lbl_801DF8C8:
/* 801DF940 001DB5A0 D0 1B 00 04 */ stfs f0, 4(r27)
/* 801DF944 001DB5A4 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 801DF948 001DB5A8 D0 1B 00 08 */ stfs f0, 8(r27)
-/* 801DF94C 001DB5AC 48 09 D4 39 */ bl func_8027CD84
+/* 801DF94C 001DB5AC 48 09 D4 39 */ bl PSVECMag
/* 801DF950 001DB5B0 FC 01 E0 40 */ fcmpo cr0, f1, f28
/* 801DF954 001DB5B4 40 81 00 34 */ ble lbl_801DF988
/* 801DF958 001DB5B8 40 80 00 20 */ bge lbl_801DF978
@@ -5877,7 +5877,7 @@ lbl_801DF978:
/* 801DF978 001DB5D8 EC 3F 08 24 */ fdivs f1, f31, f1
/* 801DF97C 001DB5DC 7F 63 DB 78 */ mr r3, r27
/* 801DF980 001DB5E0 7F 64 DB 78 */ mr r4, r27
-/* 801DF984 001DB5E4 48 09 D3 89 */ bl func_8027CD0C
+/* 801DF984 001DB5E4 48 09 D3 89 */ bl PSVECScale
lbl_801DF988:
/* 801DF988 001DB5E8 3B 9C 00 01 */ addi r28, r28, 1
/* 801DF98C 001DB5EC 3B BD 00 08 */ addi r29, r29, 8
@@ -6313,7 +6313,7 @@ lbl_801DFF94:
/* 801DFFBC 001DBC1C 48 09 BF D1 */ bl PSMTXConcat
/* 801DFFC0 001DBC20 38 61 00 08 */ addi r3, r1, 8
/* 801DFFC4 001DBC24 38 9F 00 D0 */ addi r4, r31, 0xd0
-/* 801DFFC8 001DBC28 48 09 BF 91 */ bl func_8027BF58
+/* 801DFFC8 001DBC28 48 09 BF 91 */ bl PSMTXCopy
lbl_801DFFCC:
/* 801DFFCC 001DBC2C A0 1F 01 06 */ lhz r0, 0x106(r31)
/* 801DFFD0 001DBC30 60 00 00 10 */ ori r0, r0, 0x10
@@ -6445,7 +6445,7 @@ lbl_801E0144:
/* 801E017C 001DBDDC 41 82 00 80 */ beq lbl_801E01FC
/* 801E0180 001DBDE0 7F 24 CB 78 */ mr r4, r25
/* 801E0184 001DBDE4 38 A1 00 44 */ addi r5, r1, 0x44
-/* 801E0188 001DBDE8 48 09 CB 61 */ bl func_8027CCE8
+/* 801E0188 001DBDE8 48 09 CB 61 */ bl PSVECSubtract
/* 801E018C 001DBDEC C0 41 00 44 */ lfs f2, 0x44(r1)
/* 801E0190 001DBDF0 7F 23 CB 78 */ mr r3, r25
/* 801E0194 001DBDF4 C0 21 00 48 */ lfs f1, 0x48(r1)
@@ -6455,7 +6455,7 @@ lbl_801E0144:
/* 801E01A4 001DBE04 D0 41 00 5C */ stfs f2, 0x5c(r1)
/* 801E01A8 001DBE08 D0 21 00 60 */ stfs f1, 0x60(r1)
/* 801E01AC 001DBE0C D0 01 00 64 */ stfs f0, 0x64(r1)
-/* 801E01B0 001DBE10 48 09 CB 39 */ bl func_8027CCE8
+/* 801E01B0 001DBE10 48 09 CB 39 */ bl PSVECSubtract
/* 801E01B4 001DBE14 C0 81 00 38 */ lfs f4, 0x38(r1)
/* 801E01B8 001DBE18 C0 41 00 40 */ lfs f2, 0x40(r1)
/* 801E01BC 001DBE1C C0 21 00 64 */ lfs f1, 0x64(r1)
@@ -6508,7 +6508,7 @@ lbl_801E0234:
/* 801E026C 001DBECC 41 82 00 80 */ beq lbl_801E02EC
/* 801E0270 001DBED0 7F 44 D3 78 */ mr r4, r26
/* 801E0274 001DBED4 38 A1 00 2C */ addi r5, r1, 0x2c
-/* 801E0278 001DBED8 48 09 CA 71 */ bl func_8027CCE8
+/* 801E0278 001DBED8 48 09 CA 71 */ bl PSVECSubtract
/* 801E027C 001DBEDC C0 41 00 2C */ lfs f2, 0x2c(r1)
/* 801E0280 001DBEE0 7F 43 D3 78 */ mr r3, r26
/* 801E0284 001DBEE4 C0 21 00 30 */ lfs f1, 0x30(r1)
@@ -6518,7 +6518,7 @@ lbl_801E0234:
/* 801E0294 001DBEF4 D0 41 00 5C */ stfs f2, 0x5c(r1)
/* 801E0298 001DBEF8 D0 21 00 60 */ stfs f1, 0x60(r1)
/* 801E029C 001DBEFC D0 01 00 64 */ stfs f0, 0x64(r1)
-/* 801E02A0 001DBF00 48 09 CA 49 */ bl func_8027CCE8
+/* 801E02A0 001DBF00 48 09 CA 49 */ bl PSVECSubtract
/* 801E02A4 001DBF04 C0 81 00 20 */ lfs f4, 0x20(r1)
/* 801E02A8 001DBF08 C0 61 00 24 */ lfs f3, 0x24(r1)
/* 801E02AC 001DBF0C C0 21 00 5C */ lfs f1, 0x5c(r1)
@@ -6569,7 +6569,7 @@ lbl_801E031C:
/* 801E0354 001DBFB4 41 82 00 80 */ beq lbl_801E03D4
/* 801E0358 001DBFB8 7F 44 D3 78 */ mr r4, r26
/* 801E035C 001DBFBC 38 A1 00 14 */ addi r5, r1, 0x14
-/* 801E0360 001DBFC0 48 09 C9 89 */ bl func_8027CCE8
+/* 801E0360 001DBFC0 48 09 C9 89 */ bl PSVECSubtract
/* 801E0364 001DBFC4 C0 41 00 14 */ lfs f2, 0x14(r1)
/* 801E0368 001DBFC8 7F 43 D3 78 */ mr r3, r26
/* 801E036C 001DBFCC C0 21 00 18 */ lfs f1, 0x18(r1)
@@ -6579,7 +6579,7 @@ lbl_801E031C:
/* 801E037C 001DBFDC D0 41 00 5C */ stfs f2, 0x5c(r1)
/* 801E0380 001DBFE0 D0 21 00 60 */ stfs f1, 0x60(r1)
/* 801E0384 001DBFE4 D0 01 00 64 */ stfs f0, 0x64(r1)
-/* 801E0388 001DBFE8 48 09 C9 61 */ bl func_8027CCE8
+/* 801E0388 001DBFE8 48 09 C9 61 */ bl PSVECSubtract
/* 801E038C 001DBFEC C0 61 00 0C */ lfs f3, 0xc(r1)
/* 801E0390 001DBFF0 C0 41 00 10 */ lfs f2, 0x10(r1)
/* 801E0394 001DBFF4 C0 21 00 60 */ lfs f1, 0x60(r1)
@@ -6649,15 +6649,15 @@ lbl_801E0470:
lbl_801E0478:
/* 801E0478 001DC0D8 38 75 00 D0 */ addi r3, r21, 0xd0
/* 801E047C 001DC0DC 38 81 00 98 */ addi r4, r1, 0x98
-/* 801E0480 001DC0E0 48 09 BC 29 */ bl func_8027C0A8
+/* 801E0480 001DC0E0 48 09 BC 29 */ bl PSMTXInverse
/* 801E0484 001DC0E4 7E C4 B3 78 */ mr r4, r22
/* 801E0488 001DC0E8 38 61 00 98 */ addi r3, r1, 0x98
/* 801E048C 001DC0EC 38 A1 00 8C */ addi r5, r1, 0x8c
-/* 801E0490 001DC0F0 48 09 C5 6D */ bl func_8027C9FC
+/* 801E0490 001DC0F0 48 09 C5 6D */ bl PSMTXMultVec
/* 801E0494 001DC0F4 7E E4 BB 78 */ mr r4, r23
/* 801E0498 001DC0F8 38 61 00 98 */ addi r3, r1, 0x98
/* 801E049C 001DC0FC 38 A1 00 80 */ addi r5, r1, 0x80
-/* 801E04A0 001DC100 48 09 C5 5D */ bl func_8027C9FC
+/* 801E04A0 001DC100 48 09 C5 5D */ bl PSMTXMultVec
/* 801E04A4 001DC104 C0 01 00 80 */ lfs f0, 0x80(r1)
/* 801E04A8 001DC108 C0 35 01 20 */ lfs f1, 0x120(r21)
/* 801E04AC 001DC10C FC 00 08 40 */ fcmpo cr0, f0, f1
@@ -6727,7 +6727,7 @@ lbl_801E0590:
/* 801E0590 001DC1F0 38 61 00 80 */ addi r3, r1, 0x80
/* 801E0594 001DC1F4 38 81 00 8C */ addi r4, r1, 0x8c
/* 801E0598 001DC1F8 38 A1 00 74 */ addi r5, r1, 0x74
-/* 801E059C 001DC1FC 48 09 C7 4D */ bl func_8027CCE8
+/* 801E059C 001DC1FC 48 09 C7 4D */ bl PSVECSubtract
/* 801E05A0 001DC200 C0 02 96 5C */ lfs f0, lbl_80641C5C-_SDA2_BASE_(r2)
/* 801E05A4 001DC204 3B E0 00 00 */ li r31, 0
/* 801E05A8 001DC208 C3 E2 96 50 */ lfs f31, lbl_80641C50-_SDA2_BASE_(r2)
@@ -6776,7 +6776,7 @@ lbl_801E064C:
/* 801E064C 001DC2AC 7E 83 A3 78 */ mr r3, r20
/* 801E0650 001DC2B0 38 81 00 8C */ addi r4, r1, 0x8c
/* 801E0654 001DC2B4 38 A1 00 50 */ addi r5, r1, 0x50
-/* 801E0658 001DC2B8 48 09 C6 91 */ bl func_8027CCE8
+/* 801E0658 001DC2B8 48 09 C6 91 */ bl PSVECSubtract
/* 801E065C 001DC2BC 38 61 00 50 */ addi r3, r1, 0x50
/* 801E0660 001DC2C0 38 81 00 68 */ addi r4, r1, 0x68
/* 801E0664 001DC2C4 48 09 C7 65 */ bl PSQUATDotProduct
@@ -6789,11 +6789,11 @@ lbl_801E064C:
/* 801E0680 001DC2E0 38 61 00 74 */ addi r3, r1, 0x74
/* 801E0684 001DC2E4 38 81 00 38 */ addi r4, r1, 0x38
/* 801E0688 001DC2E8 FC 20 F0 90 */ fmr f1, f30
-/* 801E068C 001DC2EC 48 09 C6 81 */ bl func_8027CD0C
+/* 801E068C 001DC2EC 48 09 C6 81 */ bl PSVECScale
/* 801E0690 001DC2F0 38 61 00 8C */ addi r3, r1, 0x8c
/* 801E0694 001DC2F4 38 81 00 38 */ addi r4, r1, 0x38
/* 801E0698 001DC2F8 38 A1 00 44 */ addi r5, r1, 0x44
-/* 801E069C 001DC2FC 48 09 C6 29 */ bl func_8027CCC4
+/* 801E069C 001DC2FC 48 09 C6 29 */ bl PSVECAdd
/* 801E06A0 001DC300 C0 41 00 44 */ lfs f2, 0x44(r1)
/* 801E06A4 001DC304 7E A3 AB 78 */ mr r3, r21
/* 801E06A8 001DC308 C0 21 00 48 */ lfs f1, 0x48(r1)
@@ -6812,15 +6812,15 @@ lbl_801E064C:
/* 801E06DC 001DC33C 7E E3 BB 78 */ mr r3, r23
/* 801E06E0 001DC340 7E C4 B3 78 */ mr r4, r22
/* 801E06E4 001DC344 38 A1 00 14 */ addi r5, r1, 0x14
-/* 801E06E8 001DC348 48 09 C6 01 */ bl func_8027CCE8
+/* 801E06E8 001DC348 48 09 C6 01 */ bl PSVECSubtract
/* 801E06EC 001DC34C FC 20 F0 90 */ fmr f1, f30
/* 801E06F0 001DC350 38 61 00 14 */ addi r3, r1, 0x14
/* 801E06F4 001DC354 38 81 00 20 */ addi r4, r1, 0x20
-/* 801E06F8 001DC358 48 09 C6 15 */ bl func_8027CD0C
+/* 801E06F8 001DC358 48 09 C6 15 */ bl PSVECScale
/* 801E06FC 001DC35C 7E C3 B3 78 */ mr r3, r22
/* 801E0700 001DC360 38 81 00 20 */ addi r4, r1, 0x20
/* 801E0704 001DC364 38 A1 00 2C */ addi r5, r1, 0x2c
-/* 801E0708 001DC368 48 09 C5 BD */ bl func_8027CCC4
+/* 801E0708 001DC368 48 09 C5 BD */ bl PSVECAdd
/* 801E070C 001DC36C C0 01 00 2C */ lfs f0, 0x2c(r1)
/* 801E0710 001DC370 7F 04 C3 78 */ mr r4, r24
/* 801E0714 001DC374 7F 05 C3 78 */ mr r5, r24
@@ -6836,18 +6836,18 @@ lbl_801E064C:
/* 801E073C 001DC39C D0 18 00 04 */ stfs f0, 4(r24)
/* 801E0740 001DC3A0 C0 01 00 70 */ lfs f0, 0x70(r1)
/* 801E0744 001DC3A4 D0 18 00 08 */ stfs f0, 8(r24)
-/* 801E0748 001DC3A8 48 09 C3 09 */ bl func_8027CA50
+/* 801E0748 001DC3A8 48 09 C3 09 */ bl PSMTXMultVecSR
/* 801E074C 001DC3AC 7F 03 C3 78 */ mr r3, r24
/* 801E0750 001DC3B0 7F 04 C3 78 */ mr r4, r24
-/* 801E0754 001DC3B4 48 09 C5 D5 */ bl func_8027CD28
+/* 801E0754 001DC3B4 48 09 C5 D5 */ bl PSVECNormalize
/* 801E0758 001DC3B8 C0 22 96 78 */ lfs f1, lbl_80641C78-_SDA2_BASE_(r2)
/* 801E075C 001DC3BC 7F 03 C3 78 */ mr r3, r24
/* 801E0760 001DC3C0 38 81 00 08 */ addi r4, r1, 8
-/* 801E0764 001DC3C4 48 09 C5 A9 */ bl func_8027CD0C
+/* 801E0764 001DC3C4 48 09 C5 A9 */ bl PSVECScale
/* 801E0768 001DC3C8 7F 23 CB 78 */ mr r3, r25
/* 801E076C 001DC3CC 7F 25 CB 78 */ mr r5, r25
/* 801E0770 001DC3D0 38 81 00 08 */ addi r4, r1, 8
-/* 801E0774 001DC3D4 48 09 C5 51 */ bl func_8027CCC4
+/* 801E0774 001DC3D4 48 09 C5 51 */ bl PSVECAdd
/* 801E0778 001DC3D8 2C 1B 00 00 */ cmpwi r27, 0
/* 801E077C 001DC3DC D3 DA 00 00 */ stfs f30, 0(r26)
/* 801E0780 001DC3E0 3B E0 00 01 */ li r31, 1
@@ -8597,11 +8597,11 @@ lbl_801E1F28:
/* 801E1F78 001DDBD8 D0 41 00 30 */ stfs f2, 0x30(r1)
/* 801E1F7C 001DDBDC D0 21 00 34 */ stfs f1, 0x34(r1)
/* 801E1F80 001DDBE0 D0 01 00 28 */ stfs f0, 0x28(r1)
-/* 801E1F84 001DDBE4 48 09 AD 41 */ bl func_8027CCC4
+/* 801E1F84 001DDBE4 48 09 AD 41 */ bl PSVECAdd
/* 801E1F88 001DDBE8 38 61 00 20 */ addi r3, r1, 0x20
/* 801E1F8C 001DDBEC 38 9F 00 18 */ addi r4, r31, 0x18
/* 801E1F90 001DDBF0 7C 65 1B 78 */ mr r5, r3
-/* 801E1F94 001DDBF4 48 09 AD 55 */ bl func_8027CCE8
+/* 801E1F94 001DDBF4 48 09 AD 55 */ bl PSVECSubtract
/* 801E1F98 001DDBF8 C0 1F 00 18 */ lfs f0, 0x18(r31)
/* 801E1F9C 001DDBFC 38 61 00 14 */ addi r3, r1, 0x14
/* 801E1FA0 001DDC00 7C 65 1B 78 */ mr r5, r3
@@ -8611,7 +8611,7 @@ lbl_801E1F28:
/* 801E1FB0 001DDC10 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 801E1FB4 001DDC14 C0 1F 00 20 */ lfs f0, 0x20(r31)
/* 801E1FB8 001DDC18 D0 01 00 1C */ stfs f0, 0x1c(r1)
-/* 801E1FBC 001DDC1C 48 09 AD 09 */ bl func_8027CCC4
+/* 801E1FBC 001DDC1C 48 09 AD 09 */ bl PSVECAdd
/* 801E1FC0 001DDC20 80 9C 00 18 */ lwz r4, 0x18(r28)
/* 801E1FC4 001DDC24 3C 60 FE FF */ lis r3, 0xFEFEFEFE@ha
/* 801E1FC8 001DDC28 C0 01 00 2C */ lfs f0, 0x2c(r1)
@@ -11285,7 +11285,7 @@ func_801E4360:
/* 801E43B4 001E0014 D0 3E 01 7C */ stfs f1, 0x17c(r30)
/* 801E43B8 001E0018 D0 3E 01 80 */ stfs f1, 0x180(r30)
/* 801E43BC 001E001C D0 3E 01 84 */ stfs f1, 0x184(r30)
-/* 801E43C0 001E0020 48 09 7B 6D */ bl func_8027BF2C
+/* 801E43C0 001E0020 48 09 7B 6D */ bl PSMTXIdentity
/* 801E43C4 001E0024 38 7E 01 0C */ addi r3, r30, 0x10c
/* 801E43C8 001E0028 38 9E 01 3C */ addi r4, r30, 0x13c
/* 801E43CC 001E002C 48 09 92 0D */ bl func_8027D5D8
@@ -11325,7 +11325,7 @@ func_801E4360:
lbl_801E4454:
/* 801E4454 001E00B4 38 61 00 38 */ addi r3, r1, 0x38
/* 801E4458 001E00B8 38 9F 00 2C */ addi r4, r31, 0x2c
-/* 801E445C 001E00BC 48 09 81 65 */ bl func_8027C5C0
+/* 801E445C 001E00BC 48 09 81 65 */ bl PSMTXQuat
/* 801E4460 001E00C0 38 9F 00 D0 */ addi r4, r31, 0xd0
/* 801E4464 001E00C4 38 61 00 38 */ addi r3, r1, 0x38
/* 801E4468 001E00C8 7C 85 23 78 */ mr r5, r4
@@ -11342,7 +11342,7 @@ lbl_801E4454:
lbl_801E4494:
/* 801E4494 001E00F4 38 61 00 08 */ addi r3, r1, 8
/* 801E4498 001E00F8 38 9F 01 6C */ addi r4, r31, 0x16c
-/* 801E449C 001E00FC 48 09 81 25 */ bl func_8027C5C0
+/* 801E449C 001E00FC 48 09 81 25 */ bl PSMTXQuat
/* 801E44A0 001E0100 38 9F 00 D0 */ addi r4, r31, 0xd0
/* 801E44A4 001E0104 38 61 00 08 */ addi r3, r1, 8
/* 801E44A8 001E0108 7C 85 23 78 */ mr r5, r4
@@ -11425,14 +11425,14 @@ lbl_801E45A4:
/* 801E45B0 001E0210 EC 20 18 24 */ fdivs f1, f0, f3
/* 801E45B4 001E0214 EC 40 20 24 */ fdivs f2, f0, f4
/* 801E45B8 001E0218 EC 60 28 24 */ fdivs f3, f0, f5
-/* 801E45BC 001E021C 48 09 7F AD */ bl func_8027C568
+/* 801E45BC 001E021C 48 09 7F AD */ bl PSMTXScaleApply
lbl_801E45C0:
/* 801E45C0 001E0220 38 7F 00 D0 */ addi r3, r31, 0xd0
/* 801E45C4 001E0224 C0 3F 00 20 */ lfs f1, 0x20(r31)
/* 801E45C8 001E0228 C0 5F 00 24 */ lfs f2, 0x24(r31)
/* 801E45CC 001E022C 7C 64 1B 78 */ mr r4, r3
/* 801E45D0 001E0230 C0 7F 00 28 */ lfs f3, 0x28(r31)
-/* 801E45D4 001E0234 48 09 7F 21 */ bl func_8027C4F4
+/* 801E45D4 001E0234 48 09 7F 21 */ bl PSMTXTransApply
/* 801E45D8 001E0238 7F E3 FB 78 */ mr r3, r31
/* 801E45DC 001E023C 48 00 E1 35 */ bl func_801F2710
/* 801E45E0 001E0240 A0 1F 00 10 */ lhz r0, 0x10(r31)
@@ -11444,7 +11444,7 @@ lbl_801E45C0:
/* 801E45F8 001E0258 80 7F 01 08 */ lwz r3, 0x108(r31)
/* 801E45FC 001E025C 38 9F 01 0C */ addi r4, r31, 0x10c
/* 801E4600 001E0260 38 63 00 44 */ addi r3, r3, 0x44
-/* 801E4604 001E0264 48 09 79 55 */ bl func_8027BF58
+/* 801E4604 001E0264 48 09 79 55 */ bl PSMTXCopy
/* 801E4608 001E0268 48 00 00 40 */ b lbl_801E4648
lbl_801E460C:
/* 801E460C 001E026C 80 9F 01 08 */ lwz r4, 0x108(r31)
@@ -11454,14 +11454,14 @@ lbl_801E460C:
/* 801E461C 001E027C 48 09 79 71 */ bl PSMTXConcat
/* 801E4620 001E0280 38 7E 00 D0 */ addi r3, r30, 0xd0
/* 801E4624 001E0284 38 81 00 98 */ addi r4, r1, 0x98
-/* 801E4628 001E0288 48 09 7A 81 */ bl func_8027C0A8
+/* 801E4628 001E0288 48 09 7A 81 */ bl PSMTXInverse
/* 801E462C 001E028C 38 61 00 98 */ addi r3, r1, 0x98
/* 801E4630 001E0290 38 81 00 68 */ addi r4, r1, 0x68
/* 801E4634 001E0294 7C 65 1B 78 */ mr r5, r3
/* 801E4638 001E0298 48 09 79 55 */ bl PSMTXConcat
/* 801E463C 001E029C 38 61 00 98 */ addi r3, r1, 0x98
/* 801E4640 001E02A0 38 9F 01 0C */ addi r4, r31, 0x10c
-/* 801E4644 001E02A4 48 09 79 15 */ bl func_8027BF58
+/* 801E4644 001E02A4 48 09 79 15 */ bl PSMTXCopy
lbl_801E4648:
/* 801E4648 001E02A8 38 7F 01 0C */ addi r3, r31, 0x10c
/* 801E464C 001E02AC 38 9F 01 3C */ addi r4, r31, 0x13c
@@ -12133,7 +12133,7 @@ lbl_801E4F8C:
/* 801E4FC8 001E0C28 EC 01 00 28 */ fsubs f0, f1, f0
/* 801E4FCC 001E0C2C D0 41 00 F4 */ stfs f2, 0xf4(r1)
/* 801E4FD0 001E0C30 D0 01 00 F8 */ stfs f0, 0xf8(r1)
-/* 801E4FD4 001E0C34 48 09 7D B1 */ bl func_8027CD84
+/* 801E4FD4 001E0C34 48 09 7D B1 */ bl PSVECMag
/* 801E4FD8 001E0C38 80 12 00 0C */ lwz r0, 0xc(r18)
/* 801E4FDC 001E0C3C FF E0 08 18 */ frsp f31, f1
/* 801E4FE0 001E0C40 D0 21 04 CC */ stfs f1, 0x4cc(r1)
@@ -12234,7 +12234,7 @@ lbl_801E5148:
/* 801E5154 001E0DB4 7E BD 02 14 */ add r21, r29, r0
/* 801E5158 001E0DB8 38 81 00 88 */ addi r4, r1, 0x88
/* 801E515C 001E0DBC EC 2F 00 32 */ fmuls f1, f15, f0
-/* 801E5160 001E0DC0 48 09 7B AD */ bl func_8027CD0C
+/* 801E5160 001E0DC0 48 09 7B AD */ bl PSVECScale
/* 801E5164 001E0DC4 C0 15 00 04 */ lfs f0, 4(r21)
/* 801E5168 001E0DC8 38 61 00 DC */ addi r3, r1, 0xdc
/* 801E516C 001E0DCC C0 61 00 88 */ lfs f3, 0x88(r1)
@@ -12245,7 +12245,7 @@ lbl_801E5148:
/* 801E5180 001E0DE0 D0 61 00 B8 */ stfs f3, 0xb8(r1)
/* 801E5184 001E0DE4 D0 41 00 BC */ stfs f2, 0xbc(r1)
/* 801E5188 001E0DE8 D0 01 00 C0 */ stfs f0, 0xc0(r1)
-/* 801E518C 001E0DEC 48 09 7B 81 */ bl func_8027CD0C
+/* 801E518C 001E0DEC 48 09 7B 81 */ bl PSVECScale
/* 801E5190 001E0DF0 C0 41 00 7C */ lfs f2, 0x7c(r1)
/* 801E5194 001E0DF4 7E C3 B3 78 */ mr r3, r22
/* 801E5198 001E0DF8 C0 21 00 80 */ lfs f1, 0x80(r1)
@@ -12261,11 +12261,11 @@ lbl_801E5148:
/* 801E51C0 001E0E20 D0 16 00 04 */ stfs f0, 4(r22)
/* 801E51C4 001E0E24 C0 13 00 14 */ lfs f0, 0x14(r19)
/* 801E51C8 001E0E28 D0 16 00 08 */ stfs f0, 8(r22)
-/* 801E51CC 001E0E2C 48 09 7A F9 */ bl func_8027CCC4
+/* 801E51CC 001E0E2C 48 09 7A F9 */ bl PSVECAdd
/* 801E51D0 001E0E30 7E C3 B3 78 */ mr r3, r22
/* 801E51D4 001E0E34 7E C5 B3 78 */ mr r5, r22
/* 801E51D8 001E0E38 38 81 00 AC */ addi r4, r1, 0xac
-/* 801E51DC 001E0E3C 48 09 7A E9 */ bl func_8027CCC4
+/* 801E51DC 001E0E3C 48 09 7A E9 */ bl PSVECAdd
/* 801E51E0 001E0E40 C0 13 00 0C */ lfs f0, 0xc(r19)
/* 801E51E4 001E0E44 38 76 00 0C */ addi r3, r22, 0xc
/* 801E51E8 001E0E48 7C 65 1B 78 */ mr r5, r3
@@ -12275,11 +12275,11 @@ lbl_801E5148:
/* 801E51F8 001E0E58 D0 16 00 10 */ stfs f0, 0x10(r22)
/* 801E51FC 001E0E5C C0 13 00 14 */ lfs f0, 0x14(r19)
/* 801E5200 001E0E60 D0 16 00 14 */ stfs f0, 0x14(r22)
-/* 801E5204 001E0E64 48 09 7A E5 */ bl func_8027CCE8
+/* 801E5204 001E0E64 48 09 7A E5 */ bl PSVECSubtract
/* 801E5208 001E0E68 38 76 00 0C */ addi r3, r22, 0xc
/* 801E520C 001E0E6C 38 81 00 AC */ addi r4, r1, 0xac
/* 801E5210 001E0E70 7C 65 1B 78 */ mr r5, r3
-/* 801E5214 001E0E74 48 09 7A D5 */ bl func_8027CCE8
+/* 801E5214 001E0E74 48 09 7A D5 */ bl PSVECSubtract
/* 801E5218 001E0E78 3A F7 00 01 */ addi r23, r23, 1
/* 801E521C 001E0E7C 3A D6 00 18 */ addi r22, r22, 0x18
/* 801E5220 001E0E80 28 17 00 14 */ cmplwi r23, 0x14
@@ -12488,7 +12488,7 @@ lbl_801E5500:
/* 801E5514 001E1174 80 78 00 04 */ lwz r3, 4(r24)
/* 801E5518 001E1178 82 A4 00 24 */ lwz r21, 0x24(r4)
/* 801E551C 001E117C 38 63 00 04 */ addi r3, r3, 4
-/* 801E5520 001E1180 48 09 6A 0D */ bl func_8027BF2C
+/* 801E5520 001E1180 48 09 6A 0D */ bl PSMTXIdentity
/* 801E5524 001E1184 80 78 00 04 */ lwz r3, 4(r24)
/* 801E5528 001E1188 80 03 00 00 */ lwz r0, 0(r3)
/* 801E552C 001E118C 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b
@@ -12516,7 +12516,7 @@ lbl_801E5500:
/* 801E5584 001E11E4 48 09 6A 09 */ bl PSMTXConcat
/* 801E5588 001E11E8 7F 24 CB 78 */ mr r4, r25
/* 801E558C 001E11EC 38 61 02 38 */ addi r3, r1, 0x238
-/* 801E5590 001E11F0 48 09 69 C9 */ bl func_8027BF58
+/* 801E5590 001E11F0 48 09 69 C9 */ bl PSMTXCopy
/* 801E5594 001E11F4 80 78 00 04 */ lwz r3, 4(r24)
/* 801E5598 001E11F8 80 03 00 00 */ lwz r0, 0(r3)
/* 801E559C 001E11FC 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b
@@ -12542,7 +12542,7 @@ lbl_801E55E0:
/* 801E55E0 001E1240 EC 38 00 24 */ fdivs f1, f24, f0
/* 801E55E4 001E1244 38 61 00 F4 */ addi r3, r1, 0xf4
/* 801E55E8 001E1248 38 81 00 70 */ addi r4, r1, 0x70
-/* 801E55EC 001E124C 48 09 77 21 */ bl func_8027CD0C
+/* 801E55EC 001E124C 48 09 77 21 */ bl PSVECScale
/* 801E55F0 001E1250 C0 41 00 70 */ lfs f2, 0x70(r1)
/* 801E55F4 001E1254 2C 14 00 00 */ cmpwi r20, 0
/* 801E55F8 001E1258 C0 21 00 74 */ lfs f1, 0x74(r1)
@@ -12575,7 +12575,7 @@ lbl_801E563C:
/* 801E565C 001E12BC 48 00 00 20 */ b lbl_801E567C
lbl_801E5660:
/* 801E5660 001E12C0 38 61 00 E8 */ addi r3, r1, 0xe8
-/* 801E5664 001E12C4 48 09 77 21 */ bl func_8027CD84
+/* 801E5664 001E12C4 48 09 77 21 */ bl PSVECMag
/* 801E5668 001E12C8 EC 1E C0 28 */ fsubs f0, f30, f24
/* 801E566C 001E12CC EC 00 00 72 */ fmuls f0, f0, f1
/* 801E5670 001E12D0 EC 00 D8 24 */ fdivs f0, f0, f27
@@ -12601,7 +12601,7 @@ lbl_801E567C:
/* 801E56BC 001E131C 48 09 68 D1 */ bl PSMTXConcat
/* 801E56C0 001E1320 7F 24 CB 78 */ mr r4, r25
/* 801E56C4 001E1324 38 61 01 D8 */ addi r3, r1, 0x1d8
-/* 801E56C8 001E1328 48 09 68 91 */ bl func_8027BF58
+/* 801E56C8 001E1328 48 09 68 91 */ bl PSMTXCopy
/* 801E56CC 001E132C 80 78 00 04 */ lwz r3, 4(r24)
/* 801E56D0 001E1330 80 03 00 00 */ lwz r0, 0(r3)
/* 801E56D4 001E1334 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b
@@ -12665,7 +12665,7 @@ lbl_801E56EC:
/* 801E57B8 001E1418 48 03 DF 09 */ bl func_802236C0
/* 801E57BC 001E141C 38 61 01 A8 */ addi r3, r1, 0x1a8
/* 801E57C0 001E1420 38 81 00 48 */ addi r4, r1, 0x48
-/* 801E57C4 001E1424 48 09 6D FD */ bl func_8027C5C0
+/* 801E57C4 001E1424 48 09 6D FD */ bl PSMTXQuat
/* 801E57C8 001E1428 80 78 00 04 */ lwz r3, 4(r24)
/* 801E57CC 001E142C 38 81 01 A8 */ addi r4, r1, 0x1a8
/* 801E57D0 001E1430 38 A1 01 78 */ addi r5, r1, 0x178
@@ -12674,7 +12674,7 @@ lbl_801E56EC:
/* 801E57DC 001E143C 48 09 67 B1 */ bl PSMTXConcat
/* 801E57E0 001E1440 7F 24 CB 78 */ mr r4, r25
/* 801E57E4 001E1444 38 61 01 78 */ addi r3, r1, 0x178
-/* 801E57E8 001E1448 48 09 67 71 */ bl func_8027BF58
+/* 801E57E8 001E1448 48 09 67 71 */ bl PSMTXCopy
/* 801E57EC 001E144C 80 78 00 04 */ lwz r3, 4(r24)
/* 801E57F0 001E1450 80 03 00 00 */ lwz r0, 0(r3)
/* 801E57F4 001E1454 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b
@@ -12699,7 +12699,7 @@ lbl_801E5810:
/* 801E583C 001E149C 48 03 DE 85 */ bl func_802236C0
/* 801E5840 001E14A0 38 61 01 48 */ addi r3, r1, 0x148
/* 801E5844 001E14A4 38 81 00 28 */ addi r4, r1, 0x28
-/* 801E5848 001E14A8 48 09 6D 79 */ bl func_8027C5C0
+/* 801E5848 001E14A8 48 09 6D 79 */ bl PSMTXQuat
/* 801E584C 001E14AC 80 78 00 04 */ lwz r3, 4(r24)
/* 801E5850 001E14B0 38 81 01 48 */ addi r4, r1, 0x148
/* 801E5854 001E14B4 38 A1 01 18 */ addi r5, r1, 0x118
@@ -12708,7 +12708,7 @@ lbl_801E5810:
/* 801E5860 001E14C0 48 09 67 2D */ bl PSMTXConcat
/* 801E5864 001E14C4 7F 24 CB 78 */ mr r4, r25
/* 801E5868 001E14C8 38 61 01 18 */ addi r3, r1, 0x118
-/* 801E586C 001E14CC 48 09 66 ED */ bl func_8027BF58
+/* 801E586C 001E14CC 48 09 66 ED */ bl PSMTXCopy
/* 801E5870 001E14D0 80 78 00 04 */ lwz r3, 4(r24)
/* 801E5874 001E14D4 80 03 00 00 */ lwz r0, 0(r3)
/* 801E5878 001E14D8 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b
@@ -12895,7 +12895,7 @@ lbl_801E5AEC:
/* 801E5B18 001E1778 82 83 16 E8 */ lwz r20, 0x16e8(r3)
/* 801E5B1C 001E177C 80 74 00 04 */ lwz r3, 4(r20)
/* 801E5B20 001E1780 38 63 00 04 */ addi r3, r3, 4
-/* 801E5B24 001E1784 48 09 64 09 */ bl func_8027BF2C
+/* 801E5B24 001E1784 48 09 64 09 */ bl PSMTXIdentity
/* 801E5B28 001E1788 80 74 00 04 */ lwz r3, 4(r20)
/* 801E5B2C 001E178C C8 01 05 50 */ lfd f0, 0x550(r1)
/* 801E5B30 001E1790 80 03 00 00 */ lwz r0, 0(r3)
@@ -12955,7 +12955,7 @@ lbl_801E5BFC:
/* 801E5C04 001E1864 38 61 00 C4 */ addi r3, r1, 0xc4
/* 801E5C08 001E1868 38 93 00 0C */ addi r4, r19, 0xc
/* 801E5C0C 001E186C 38 A1 00 64 */ addi r5, r1, 0x64
-/* 801E5C10 001E1870 48 09 70 D9 */ bl func_8027CCE8
+/* 801E5C10 001E1870 48 09 70 D9 */ bl PSVECSubtract
/* 801E5C14 001E1874 C0 41 00 64 */ lfs f2, 0x64(r1)
/* 801E5C18 001E1878 38 61 00 F4 */ addi r3, r1, 0xf4
/* 801E5C1C 001E187C C0 21 00 68 */ lfs f1, 0x68(r1)
@@ -12965,7 +12965,7 @@ lbl_801E5BFC:
/* 801E5C2C 001E188C D0 41 00 F4 */ stfs f2, 0xf4(r1)
/* 801E5C30 001E1890 D0 21 00 F8 */ stfs f1, 0xf8(r1)
/* 801E5C34 001E1894 D0 01 00 FC */ stfs f0, 0xfc(r1)
-/* 801E5C38 001E1898 48 09 70 8D */ bl func_8027CCC4
+/* 801E5C38 001E1898 48 09 70 8D */ bl PSVECAdd
/* 801E5C3C 001E189C 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13)
/* 801E5C40 001E18A0 38 81 01 0C */ addi r4, r1, 0x10c
/* 801E5C44 001E18A4 38 A1 00 F4 */ addi r5, r1, 0xf4
@@ -12983,7 +12983,7 @@ lbl_801E5BFC:
/* 801E5C74 001E18D4 EC 01 00 28 */ fsubs f0, f1, f0
/* 801E5C78 001E18D8 D0 41 00 F4 */ stfs f2, 0xf4(r1)
/* 801E5C7C 001E18DC D0 01 00 F8 */ stfs f0, 0xf8(r1)
-/* 801E5C80 001E18E0 48 09 71 05 */ bl func_8027CD84
+/* 801E5C80 001E18E0 48 09 71 05 */ bl PSVECMag
/* 801E5C84 001E18E4 FC 01 C8 40 */ fcmpo cr0, f1, f25
/* 801E5C88 001E18E8 40 81 01 B8 */ ble lbl_801E5E40
/* 801E5C8C 001E18EC 80 12 00 0C */ lwz r0, 0xc(r18)
@@ -13045,7 +13045,7 @@ lbl_801E5D34:
/* 801E5D60 001E19C0 82 83 16 E8 */ lwz r20, 0x16e8(r3)
/* 801E5D64 001E19C4 80 74 00 04 */ lwz r3, 4(r20)
/* 801E5D68 001E19C8 38 63 00 04 */ addi r3, r3, 4
-/* 801E5D6C 001E19CC 48 09 61 C1 */ bl func_8027BF2C
+/* 801E5D6C 001E19CC 48 09 61 C1 */ bl PSMTXIdentity
/* 801E5D70 001E19D0 80 74 00 04 */ lwz r3, 4(r20)
/* 801E5D74 001E19D4 C8 01 05 50 */ lfd f0, 0x550(r1)
/* 801E5D78 001E19D8 80 03 00 00 */ lwz r0, 0(r3)
@@ -13594,7 +13594,7 @@ lbl_801E6510:
/* 801E6528 001E2188 C0 03 00 FC */ lfs f0, 0xfc(r3)
/* 801E652C 001E218C 7C C3 33 78 */ mr r3, r6
/* 801E6530 001E2190 D0 01 00 10 */ stfs f0, 0x10(r1)
-/* 801E6534 001E2194 48 09 67 B5 */ bl func_8027CCE8
+/* 801E6534 001E2194 48 09 67 B5 */ bl PSVECSubtract
/* 801E6538 001E2198 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 801E653C 001E219C C0 42 97 60 */ lfs f2, lbl_80641D60-_SDA2_BASE_(r2)
/* 801E6540 001E21A0 FC 00 10 40 */ fcmpo cr0, f0, f2
@@ -13629,7 +13629,7 @@ lbl_801E6588:
lbl_801E65A8:
/* 801E65A8 001E2208 38 61 00 14 */ addi r3, r1, 0x14
/* 801E65AC 001E220C 7C 64 1B 78 */ mr r4, r3
-/* 801E65B0 001E2210 48 09 67 79 */ bl func_8027CD28
+/* 801E65B0 001E2210 48 09 67 79 */ bl PSVECNormalize
lbl_801E65B4:
/* 801E65B4 001E2214 80 7F 01 34 */ lwz r3, 0x134(r31)
/* 801E65B8 001E2218 C0 01 00 14 */ lfs f0, 0x14(r1)
@@ -13719,7 +13719,7 @@ lbl_801E66C0:
/* 801E66F4 001E2354 D0 41 00 40 */ stfs f2, 0x40(r1)
/* 801E66F8 001E2358 D0 21 00 44 */ stfs f1, 0x44(r1)
/* 801E66FC 001E235C D0 01 00 48 */ stfs f0, 0x48(r1)
-/* 801E6700 001E2360 48 09 66 6D */ bl func_8027CD6C
+/* 801E6700 001E2360 48 09 66 6D */ bl PSVECSquareMag
/* 801E6704 001E2364 C0 02 97 60 */ lfs f0, lbl_80641D60-_SDA2_BASE_(r2)
/* 801E6708 001E2368 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801E670C 001E236C 40 81 00 64 */ ble lbl_801E6770
@@ -13751,7 +13751,7 @@ lbl_801E675C:
/* 801E6760 001E23C0 38 61 00 40 */ addi r3, r1, 0x40
/* 801E6764 001E23C4 7C 64 1B 78 */ mr r4, r3
/* 801E6768 001E23C8 EC 20 10 24 */ fdivs f1, f0, f2
-/* 801E676C 001E23CC 48 09 65 A1 */ bl func_8027CD0C
+/* 801E676C 001E23CC 48 09 65 A1 */ bl PSVECScale
lbl_801E6770:
/* 801E6770 001E23D0 80 7F 01 34 */ lwz r3, 0x134(r31)
/* 801E6774 001E23D4 38 9F 01 10 */ addi r4, r31, 0x110
@@ -13773,7 +13773,7 @@ lbl_801E6788:
/* 801E67B0 001E2410 D0 41 00 40 */ stfs f2, 0x40(r1)
/* 801E67B4 001E2414 D0 21 00 44 */ stfs f1, 0x44(r1)
/* 801E67B8 001E2418 D0 01 00 48 */ stfs f0, 0x48(r1)
-/* 801E67BC 001E241C 48 09 65 B1 */ bl func_8027CD6C
+/* 801E67BC 001E241C 48 09 65 B1 */ bl PSVECSquareMag
/* 801E67C0 001E2420 C0 02 97 60 */ lfs f0, lbl_80641D60-_SDA2_BASE_(r2)
/* 801E67C4 001E2424 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801E67C8 001E2428 40 81 00 64 */ ble lbl_801E682C
@@ -13805,7 +13805,7 @@ lbl_801E6818:
/* 801E681C 001E247C 38 61 00 40 */ addi r3, r1, 0x40
/* 801E6820 001E2480 7C 64 1B 78 */ mr r4, r3
/* 801E6824 001E2484 EC 20 10 24 */ fdivs f1, f0, f2
-/* 801E6828 001E2488 48 09 64 E5 */ bl func_8027CD0C
+/* 801E6828 001E2488 48 09 64 E5 */ bl PSVECScale
lbl_801E682C:
/* 801E682C 001E248C 80 1F 01 30 */ lwz r0, 0x130(r31)
/* 801E6830 001E2490 2C 00 00 00 */ cmpwi r0, 0
@@ -13899,7 +13899,7 @@ lbl_801E696C:
/* 801E6974 001E25D4 C0 22 97 74 */ lfs f1, lbl_80641D74-_SDA2_BASE_(r2)
/* 801E6978 001E25D8 38 61 00 14 */ addi r3, r1, 0x14
/* 801E697C 001E25DC 38 81 00 20 */ addi r4, r1, 0x20
-/* 801E6980 001E25E0 48 09 63 8D */ bl func_8027CD0C
+/* 801E6980 001E25E0 48 09 63 8D */ bl PSVECScale
/* 801E6984 001E25E4 C0 01 00 20 */ lfs f0, 0x20(r1)
/* 801E6988 001E25E8 D0 1F 00 00 */ stfs f0, 0(r31)
/* 801E698C 001E25EC C0 01 00 24 */ lfs f0, 0x24(r1)
@@ -13940,7 +13940,7 @@ func_801E69D8:
/* 801E6A04 001E2664 D0 43 00 00 */ stfs f2, 0(r3)
/* 801E6A08 001E2668 D0 23 00 04 */ stfs f1, 4(r3)
/* 801E6A0C 001E266C D0 03 00 08 */ stfs f0, 8(r3)
-/* 801E6A10 001E2670 48 09 63 5D */ bl func_8027CD6C
+/* 801E6A10 001E2670 48 09 63 5D */ bl PSVECSquareMag
/* 801E6A14 001E2674 C0 02 97 60 */ lfs f0, lbl_80641D60-_SDA2_BASE_(r2)
/* 801E6A18 001E2678 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801E6A1C 001E267C 40 81 00 64 */ ble lbl_801E6A80
@@ -13972,7 +13972,7 @@ lbl_801E6A6C:
/* 801E6A70 001E26D0 7F E3 FB 78 */ mr r3, r31
/* 801E6A74 001E26D4 7F E4 FB 78 */ mr r4, r31
/* 801E6A78 001E26D8 EC 20 10 24 */ fdivs f1, f0, f2
-/* 801E6A7C 001E26DC 48 09 62 91 */ bl func_8027CD0C
+/* 801E6A7C 001E26DC 48 09 62 91 */ bl PSVECScale
lbl_801E6A80:
/* 801E6A80 001E26E0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801E6A84 001E26E4 83 E1 00 0C */ lwz r31, 0xc(r1)
@@ -14013,7 +14013,7 @@ lbl_801E6AE8:
/* 801E6B00 001E2760 D0 41 00 08 */ stfs f2, 8(r1)
/* 801E6B04 001E2764 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 801E6B08 001E2768 D0 01 00 10 */ stfs f0, 0x10(r1)
-/* 801E6B0C 001E276C 48 09 61 DD */ bl func_8027CCE8
+/* 801E6B0C 001E276C 48 09 61 DD */ bl PSVECSubtract
/* 801E6B10 001E2770 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 801E6B14 001E2774 D0 1F 00 00 */ stfs f0, 0(r31)
/* 801E6B18 001E2778 C0 01 00 18 */ lfs f0, 0x18(r1)
@@ -14022,7 +14022,7 @@ lbl_801E6AE8:
/* 801E6B24 001E2784 D0 1F 00 08 */ stfs f0, 8(r31)
lbl_801E6B28:
/* 801E6B28 001E2788 7F E3 FB 78 */ mr r3, r31
-/* 801E6B2C 001E278C 48 09 62 41 */ bl func_8027CD6C
+/* 801E6B2C 001E278C 48 09 62 41 */ bl PSVECSquareMag
/* 801E6B30 001E2790 C0 02 97 60 */ lfs f0, lbl_80641D60-_SDA2_BASE_(r2)
/* 801E6B34 001E2794 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801E6B38 001E2798 40 81 00 64 */ ble lbl_801E6B9C
@@ -14054,7 +14054,7 @@ lbl_801E6B88:
/* 801E6B8C 001E27EC 7F E3 FB 78 */ mr r3, r31
/* 801E6B90 001E27F0 7F E4 FB 78 */ mr r4, r31
/* 801E6B94 001E27F4 EC 20 10 24 */ fdivs f1, f0, f2
-/* 801E6B98 001E27F8 48 09 61 75 */ bl func_8027CD0C
+/* 801E6B98 001E27F8 48 09 61 75 */ bl PSVECScale
lbl_801E6B9C:
/* 801E6B9C 001E27FC 80 01 00 44 */ lwz r0, 0x44(r1)
/* 801E6BA0 001E2800 83 E1 00 3C */ lwz r31, 0x3c(r1)
@@ -16609,7 +16609,7 @@ lbl_801E9160:
/* 801E9180 001E4DE0 D0 01 00 30 */ stfs f0, 0x30(r1)
/* 801E9184 001E4DE4 C0 07 00 20 */ lfs f0, 0x20(r7)
/* 801E9188 001E4DE8 D0 01 00 34 */ stfs f0, 0x34(r1)
-/* 801E918C 001E4DEC 48 09 38 C5 */ bl func_8027CA50
+/* 801E918C 001E4DEC 48 09 38 C5 */ bl PSMTXMultVecSR
/* 801E9190 001E4DF0 C0 01 00 34 */ lfs f0, 0x34(r1)
/* 801E9194 001E4DF4 C0 22 97 98 */ lfs f1, lbl_80641D98-_SDA2_BASE_(r2)
/* 801E9198 001E4DF8 FC 40 00 50 */ fneg f2, f0
@@ -16630,7 +16630,7 @@ lbl_801E91B8:
/* 801E91D0 001E4E30 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801E91D4 001E4E34 40 81 00 10 */ ble lbl_801E91E4
/* 801E91D8 001E4E38 38 61 00 38 */ addi r3, r1, 0x38
-/* 801E91DC 001E4E3C 48 09 2D 51 */ bl func_8027BF2C
+/* 801E91DC 001E4E3C 48 09 2D 51 */ bl PSMTXIdentity
/* 801E91E0 001E4E40 48 00 00 C4 */ b lbl_801E92A4
lbl_801E91E4:
/* 801E91E4 001E4E44 3C 80 80 49 */ lis r4, lbl_80493620@ha
@@ -16647,7 +16647,7 @@ lbl_801E91E4:
/* 801E9210 001E4E70 D0 61 00 20 */ stfs f3, 0x20(r1)
/* 801E9214 001E4E74 D0 21 00 24 */ stfs f1, 0x24(r1)
/* 801E9218 001E4E78 D0 01 00 28 */ stfs f0, 0x28(r1)
-/* 801E921C 001E4E7C 48 09 3C 09 */ bl func_8027CE24
+/* 801E921C 001E4E7C 48 09 3C 09 */ bl C_VECHalfAngle
/* 801E9220 001E4E80 C0 41 00 14 */ lfs f2, 0x14(r1)
/* 801E9224 001E4E84 38 61 00 14 */ addi r3, r1, 0x14
/* 801E9228 001E4E88 C0 21 00 18 */ lfs f1, 0x18(r1)
@@ -16660,7 +16660,7 @@ lbl_801E91E4:
/* 801E9244 001E4EA4 D0 41 00 14 */ stfs f2, 0x14(r1)
/* 801E9248 001E4EA8 D0 21 00 18 */ stfs f1, 0x18(r1)
/* 801E924C 001E4EAC D0 01 00 1C */ stfs f0, 0x1c(r1)
-/* 801E9250 001E4EB0 48 09 3B 99 */ bl func_8027CDE8
+/* 801E9250 001E4EB0 48 09 3B 99 */ bl PSVECCrossProduct
/* 801E9254 001E4EB4 38 61 00 14 */ addi r3, r1, 0x14
/* 801E9258 001E4EB8 38 81 00 20 */ addi r4, r1, 0x20
/* 801E925C 001E4EBC 48 09 3B 6D */ bl PSQUATDotProduct
@@ -16683,7 +16683,7 @@ lbl_801E9290:
lbl_801E9298:
/* 801E9298 001E4EF8 38 61 00 38 */ addi r3, r1, 0x38
/* 801E929C 001E4EFC 38 81 00 08 */ addi r4, r1, 8
-/* 801E92A0 001E4F00 48 09 31 A5 */ bl func_8027C444
+/* 801E92A0 001E4F00 48 09 31 A5 */ bl PSMTXRotAxisRad
lbl_801E92A4:
/* 801E92A4 001E4F04 C0 E2 97 80 */ lfs f7, lbl_80641D80-_SDA2_BASE_(r2)
/* 801E92A8 001E4F08 38 A1 00 38 */ addi r5, r1, 0x38
@@ -17395,11 +17395,11 @@ lbl_801E9CD8:
/* 801E9D38 001E5998 FC 20 08 50 */ fneg f1, f1
/* 801E9D3C 001E599C FC 40 10 50 */ fneg f2, f2
/* 801E9D40 001E59A0 FC 60 00 50 */ fneg f3, f0
-/* 801E9D44 001E59A4 48 09 27 B1 */ bl func_8027C4F4
+/* 801E9D44 001E59A4 48 09 27 B1 */ bl PSMTXTransApply
/* 801E9D48 001E59A8 C0 3F 00 0C */ lfs f1, 0xc(r31)
/* 801E9D4C 001E59AC 38 61 00 20 */ addi r3, r1, 0x20
/* 801E9D50 001E59B0 38 80 00 5A */ li r4, 0x5a
-/* 801E9D54 001E59B4 48 09 25 15 */ bl func_8027C268
+/* 801E9D54 001E59B4 48 09 25 15 */ bl PSMTXRotRad
/* 801E9D58 001E59B8 7F 64 DB 78 */ mr r4, r27
/* 801E9D5C 001E59BC 7F 65 DB 78 */ mr r5, r27
/* 801E9D60 001E59C0 38 61 00 20 */ addi r3, r1, 0x20
@@ -17409,7 +17409,7 @@ lbl_801E9CD8:
/* 801E9D70 001E59D0 C0 5D 00 04 */ lfs f2, 4(r29)
/* 801E9D74 001E59D4 7F 64 DB 78 */ mr r4, r27
/* 801E9D78 001E59D8 C0 7D 00 08 */ lfs f3, 8(r29)
-/* 801E9D7C 001E59DC 48 09 27 79 */ bl func_8027C4F4
+/* 801E9D7C 001E59DC 48 09 27 79 */ bl PSMTXTransApply
/* 801E9D80 001E59E0 C0 5F 00 08 */ lfs f2, 8(r31)
/* 801E9D84 001E59E4 7F 63 DB 78 */ mr r3, r27
/* 801E9D88 001E59E8 C0 3F 00 04 */ lfs f1, 4(r31)
@@ -17418,7 +17418,7 @@ lbl_801E9CD8:
/* 801E9D94 001E59F4 D0 21 00 08 */ stfs f1, 8(r1)
/* 801E9D98 001E59F8 D0 41 00 0C */ stfs f2, 0xc(r1)
/* 801E9D9C 001E59FC D0 61 00 10 */ stfs f3, 0x10(r1)
-/* 801E9DA0 001E5A00 48 09 27 55 */ bl func_8027C4F4
+/* 801E9DA0 001E5A00 48 09 27 55 */ bl PSMTXTransApply
/* 801E9DA4 001E5A04 88 1E 00 1C */ lbz r0, 0x1c(r30)
/* 801E9DA8 001E5A08 7C 00 D0 78 */ andc r0, r0, r26
/* 801E9DAC 001E5A0C 98 1E 00 1C */ stb r0, 0x1c(r30)
@@ -17623,7 +17623,7 @@ lbl_801EA06C:
/* 801EA09C 001E5CFC 80 9A 00 04 */ lwz r4, 4(r26)
/* 801EA0A0 001E5D00 38 61 00 28 */ addi r3, r1, 0x28
/* 801EA0A4 001E5D04 38 84 00 64 */ addi r4, r4, 0x64
-/* 801EA0A8 001E5D08 48 09 1E B1 */ bl func_8027BF58
+/* 801EA0A8 001E5D08 48 09 1E B1 */ bl PSMTXCopy
/* 801EA0AC 001E5D0C 80 7A 00 04 */ lwz r3, 4(r26)
/* 801EA0B0 001E5D10 80 03 00 00 */ lwz r0, 0(r3)
/* 801EA0B4 001E5D14 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
@@ -17632,7 +17632,7 @@ lbl_801EA0BC:
/* 801EA0BC 001E5D1C 80 7A 00 04 */ lwz r3, 4(r26)
/* 801EA0C0 001E5D20 38 81 00 B8 */ addi r4, r1, 0xb8
/* 801EA0C4 001E5D24 38 63 00 64 */ addi r3, r3, 0x64
-/* 801EA0C8 001E5D28 48 09 1E 91 */ bl func_8027BF58
+/* 801EA0C8 001E5D28 48 09 1E 91 */ bl PSMTXCopy
/* 801EA0CC 001E5D2C 88 1C 00 27 */ lbz r0, 0x27(r28)
/* 801EA0D0 001E5D30 2C 00 00 00 */ cmpwi r0, 0
/* 801EA0D4 001E5D34 41 82 01 4C */ beq lbl_801EA220
@@ -17644,11 +17644,11 @@ lbl_801EA0BC:
/* 801EA0EC 001E5D4C D0 21 00 10 */ stfs f1, 0x10(r1)
/* 801EA0F0 001E5D50 D0 21 00 14 */ stfs f1, 0x14(r1)
/* 801EA0F4 001E5D54 D0 61 00 18 */ stfs f3, 0x18(r1)
-/* 801EA0F8 001E5D58 48 09 24 71 */ bl func_8027C568
+/* 801EA0F8 001E5D58 48 09 24 71 */ bl PSMTXScaleApply
/* 801EA0FC 001E5D5C 38 7D 01 AC */ addi r3, r29, 0x1ac
/* 801EA100 001E5D60 38 9D 01 C4 */ addi r4, r29, 0x1c4
/* 801EA104 001E5D64 38 A1 00 1C */ addi r5, r1, 0x1c
-/* 801EA108 001E5D68 48 09 2B E1 */ bl func_8027CCE8
+/* 801EA108 001E5D68 48 09 2B E1 */ bl PSVECSubtract
/* 801EA10C 001E5D6C C0 21 00 1C */ lfs f1, 0x1c(r1)
/* 801EA110 001E5D70 C0 01 00 24 */ lfs f0, 0x24(r1)
/* 801EA114 001E5D74 EC 21 00 72 */ fmuls f1, f1, f1
@@ -17681,7 +17681,7 @@ lbl_801EA13C:
/* 801EA178 001E5DD8 7C 64 1B 78 */ mr r4, r3
/* 801EA17C 001E5DDC EC 21 00 B2 */ fmuls f1, f1, f2
/* 801EA180 001E5DE0 EF C1 00 24 */ fdivs f30, f1, f0
-/* 801EA184 001E5DE4 48 09 2B A5 */ bl func_8027CD28
+/* 801EA184 001E5DE4 48 09 2B A5 */ bl PSVECNormalize
/* 801EA188 001E5DE8 C0 41 00 1C */ lfs f2, 0x1c(r1)
/* 801EA18C 001E5DEC C0 02 97 94 */ lfs f0, lbl_80641D94-_SDA2_BASE_(r2)
/* 801EA190 001E5DF0 FC 02 00 40 */ fcmpo cr0, f2, f0
@@ -17780,7 +17780,7 @@ lbl_801EA2D4:
/* 801EA2DC 001E5F3C FC 80 18 90 */ fmr f4, f3
/* 801EA2E0 001E5F40 FC A0 18 90 */ fmr f5, f3
/* 801EA2E4 001E5F44 FC C0 18 90 */ fmr f6, f3
-/* 801EA2E8 001E5F48 48 09 25 95 */ bl func_8027C87C
+/* 801EA2E8 001E5F48 48 09 25 95 */ bl C_MTXLightPerspective
/* 801EA2EC 001E5F4C 48 00 00 60 */ b lbl_801EA34C
lbl_801EA2F0:
/* 801EA2F0 001E5F50 FC E0 30 90 */ fmr f7, f6
@@ -17792,7 +17792,7 @@ lbl_801EA2F0:
/* 801EA308 001E5F68 C0 9D 01 74 */ lfs f4, 0x174(r29)
/* 801EA30C 001E5F6C C0 BD 01 7C */ lfs f5, 0x17c(r29)
/* 801EA310 001E5F70 D0 C1 00 08 */ stfs f6, 8(r1)
-/* 801EA314 001E5F74 48 09 24 C5 */ bl func_8027C7D8
+/* 801EA314 001E5F74 48 09 24 C5 */ bl C_MTXLightFrustum
/* 801EA318 001E5F78 48 00 00 34 */ b lbl_801EA34C
lbl_801EA31C:
/* 801EA31C 001E5F7C FC A0 30 90 */ fmr f5, f6
@@ -17803,11 +17803,11 @@ lbl_801EA31C:
/* 801EA330 001E5F90 C0 7D 01 70 */ lfs f3, 0x170(r29)
/* 801EA334 001E5F94 C0 9D 01 74 */ lfs f4, 0x174(r29)
/* 801EA338 001E5F98 38 61 00 88 */ addi r3, r1, 0x88
-/* 801EA33C 001E5F9C 48 09 26 39 */ bl func_8027C974
+/* 801EA33C 001E5F9C 48 09 26 39 */ bl C_MTXLightOrtho
/* 801EA340 001E5FA0 48 00 00 0C */ b lbl_801EA34C
lbl_801EA344:
/* 801EA344 001E5FA4 38 61 00 88 */ addi r3, r1, 0x88
-/* 801EA348 001E5FA8 48 09 1B E5 */ bl func_8027BF2C
+/* 801EA348 001E5FA8 48 09 1B E5 */ bl PSMTXIdentity
lbl_801EA34C:
/* 801EA34C 001E5FAC 38 61 00 E8 */ addi r3, r1, 0xe8
/* 801EA350 001E5FB0 38 81 00 88 */ addi r4, r1, 0x88
@@ -17815,7 +17815,7 @@ lbl_801EA34C:
/* 801EA358 001E5FB8 48 09 1C 35 */ bl PSMTXConcat
/* 801EA35C 001E5FBC 38 61 00 58 */ addi r3, r1, 0x58
/* 801EA360 001E5FC0 38 81 00 E8 */ addi r4, r1, 0xe8
-/* 801EA364 001E5FC4 48 09 1B F5 */ bl func_8027BF58
+/* 801EA364 001E5FC4 48 09 1B F5 */ bl PSMTXCopy
lbl_801EA368:
/* 801EA368 001E5FC8 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13)
/* 801EA36C 001E5FCC 38 A1 00 B8 */ addi r5, r1, 0xb8
@@ -20794,7 +20794,7 @@ func_801ECF24:
/* 801ECF2C 001E8B8C FC 60 08 90 */ fmr f3, f1
/* 801ECF30 001E8B90 7C 83 23 78 */ mr r3, r4
/* 801ECF34 001E8B94 7C 04 03 78 */ mr r4, r0
-/* 801ECF38 001E8B98 48 08 F6 30 */ b func_8027C568
+/* 801ECF38 001E8B98 48 08 F6 30 */ b PSMTXScaleApply
.global func_801ECF3C
func_801ECF3C:
@@ -21026,12 +21026,12 @@ func_801ED214:
/* 801ED230 001E8E90 80 BF 00 04 */ lwz r5, 4(r31)
/* 801ED234 001E8E94 7C 83 23 78 */ mr r3, r4
/* 801ED238 001E8E98 38 85 00 64 */ addi r4, r5, 0x64
-/* 801ED23C 001E8E9C 48 08 ED 1D */ bl func_8027BF58
+/* 801ED23C 001E8E9C 48 08 ED 1D */ bl PSMTXCopy
/* 801ED240 001E8EA0 48 00 00 10 */ b lbl_801ED250
lbl_801ED244:
/* 801ED244 001E8EA4 80 7F 00 04 */ lwz r3, 4(r31)
/* 801ED248 001E8EA8 38 63 00 64 */ addi r3, r3, 0x64
-/* 801ED24C 001E8EAC 48 08 EC E1 */ bl func_8027BF2C
+/* 801ED24C 001E8EAC 48 08 EC E1 */ bl PSMTXIdentity
lbl_801ED250:
/* 801ED250 001E8EB0 80 7F 00 04 */ lwz r3, 4(r31)
/* 801ED254 001E8EB4 80 03 00 00 */ lwz r0, 0(r3)
@@ -21155,7 +21155,7 @@ func_801ED364:
/* 801ED3CC 001E902C C0 41 00 0C */ lfs f2, 0xc(r1)
/* 801ED3D0 001E9030 7C 64 1B 78 */ mr r4, r3
/* 801ED3D4 001E9034 C0 61 00 10 */ lfs f3, 0x10(r1)
-/* 801ED3D8 001E9038 48 08 F1 1D */ bl func_8027C4F4
+/* 801ED3D8 001E9038 48 08 F1 1D */ bl PSMTXTransApply
/* 801ED3DC 001E903C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 801ED3E0 001E9040 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 801ED3E4 001E9044 7C 08 03 A6 */ mtlr r0
@@ -22089,27 +22089,27 @@ func_801EE0A4:
/* 801EE100 001E9D60 7F C3 F3 78 */ mr r3, r30
/* 801EE104 001E9D64 EF C0 F8 28 */ fsubs f30, f0, f31
/* 801EE108 001E9D68 FC 20 F0 90 */ fmr f1, f30
-/* 801EE10C 001E9D6C 48 08 EC 01 */ bl func_8027CD0C
+/* 801EE10C 001E9D6C 48 08 EC 01 */ bl PSVECScale
/* 801EE110 001E9D70 7F A3 EB 78 */ mr r3, r29
/* 801EE114 001E9D74 7F E4 FB 78 */ mr r4, r31
/* 801EE118 001E9D78 38 A1 00 2C */ addi r5, r1, 0x2c
-/* 801EE11C 001E9D7C 48 08 E8 E1 */ bl func_8027C9FC
+/* 801EE11C 001E9D7C 48 08 E8 E1 */ bl PSMTXMultVec
/* 801EE120 001E9D80 FC 20 F8 90 */ fmr f1, f31
/* 801EE124 001E9D84 38 61 00 2C */ addi r3, r1, 0x2c
/* 801EE128 001E9D88 38 81 00 20 */ addi r4, r1, 0x20
-/* 801EE12C 001E9D8C 48 08 EB E1 */ bl func_8027CD0C
+/* 801EE12C 001E9D8C 48 08 EB E1 */ bl PSVECScale
/* 801EE130 001E9D90 7F C3 F3 78 */ mr r3, r30
/* 801EE134 001E9D94 7F C5 F3 78 */ mr r5, r30
/* 801EE138 001E9D98 38 81 00 20 */ addi r4, r1, 0x20
-/* 801EE13C 001E9D9C 48 08 EB 89 */ bl func_8027CCC4
+/* 801EE13C 001E9D9C 48 08 EB 89 */ bl PSVECAdd
/* 801EE140 001E9DA0 FC 20 F0 90 */ fmr f1, f30
/* 801EE144 001E9DA4 38 7E 00 0C */ addi r3, r30, 0xc
/* 801EE148 001E9DA8 7C 64 1B 78 */ mr r4, r3
-/* 801EE14C 001E9DAC 48 08 EB C1 */ bl func_8027CD0C
+/* 801EE14C 001E9DAC 48 08 EB C1 */ bl PSVECScale
/* 801EE150 001E9DB0 7F A3 EB 78 */ mr r3, r29
/* 801EE154 001E9DB4 38 9F 00 0C */ addi r4, r31, 0xc
/* 801EE158 001E9DB8 38 A1 00 14 */ addi r5, r1, 0x14
-/* 801EE15C 001E9DBC 48 08 E8 F5 */ bl func_8027CA50
+/* 801EE15C 001E9DBC 48 08 E8 F5 */ bl PSMTXMultVecSR
/* 801EE160 001E9DC0 C0 61 00 14 */ lfs f3, 0x14(r1)
/* 801EE164 001E9DC4 FC 20 F8 90 */ fmr f1, f31
/* 801EE168 001E9DC8 C0 41 00 18 */ lfs f2, 0x18(r1)
@@ -22119,11 +22119,11 @@ func_801EE0A4:
/* 801EE178 001E9DD8 D0 61 00 2C */ stfs f3, 0x2c(r1)
/* 801EE17C 001E9DDC D0 41 00 30 */ stfs f2, 0x30(r1)
/* 801EE180 001E9DE0 D0 01 00 34 */ stfs f0, 0x34(r1)
-/* 801EE184 001E9DE4 48 08 EB 89 */ bl func_8027CD0C
+/* 801EE184 001E9DE4 48 08 EB 89 */ bl PSVECScale
/* 801EE188 001E9DE8 38 7E 00 0C */ addi r3, r30, 0xc
/* 801EE18C 001E9DEC 38 81 00 08 */ addi r4, r1, 8
/* 801EE190 001E9DF0 7C 65 1B 78 */ mr r5, r3
-/* 801EE194 001E9DF4 48 08 EB 31 */ bl func_8027CCC4
+/* 801EE194 001E9DF4 48 08 EB 31 */ bl PSVECAdd
/* 801EE198 001E9DF8 E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0
/* 801EE19C 001E9DFC CB E1 00 60 */ lfd f31, 0x60(r1)
/* 801EE1A0 001E9E00 E3 C1 00 58 */ psq_l f30, 88(r1), 0, qr0
@@ -22174,23 +22174,23 @@ func_801EE1C4:
/* 801EE248 001E9EA8 EC 3F F0 2A */ fadds f1, f31, f30
/* 801EE24C 001E9EAC EF A0 08 28 */ fsubs f29, f0, f1
/* 801EE250 001E9EB0 FC 20 E8 90 */ fmr f1, f29
-/* 801EE254 001E9EB4 48 08 EA B9 */ bl func_8027CD0C
+/* 801EE254 001E9EB4 48 08 EA B9 */ bl PSVECScale
/* 801EE258 001E9EB8 7F 83 E3 78 */ mr r3, r28
/* 801EE25C 001E9EBC 7F E4 FB 78 */ mr r4, r31
/* 801EE260 001E9EC0 38 A1 00 5C */ addi r5, r1, 0x5c
-/* 801EE264 001E9EC4 48 08 E7 99 */ bl func_8027C9FC
+/* 801EE264 001E9EC4 48 08 E7 99 */ bl PSMTXMultVec
/* 801EE268 001E9EC8 FC 20 F8 90 */ fmr f1, f31
/* 801EE26C 001E9ECC 38 61 00 5C */ addi r3, r1, 0x5c
/* 801EE270 001E9ED0 38 81 00 50 */ addi r4, r1, 0x50
-/* 801EE274 001E9ED4 48 08 EA 99 */ bl func_8027CD0C
+/* 801EE274 001E9ED4 48 08 EA 99 */ bl PSVECScale
/* 801EE278 001E9ED8 7F C3 F3 78 */ mr r3, r30
/* 801EE27C 001E9EDC 7F C5 F3 78 */ mr r5, r30
/* 801EE280 001E9EE0 38 81 00 50 */ addi r4, r1, 0x50
-/* 801EE284 001E9EE4 48 08 EA 41 */ bl func_8027CCC4
+/* 801EE284 001E9EE4 48 08 EA 41 */ bl PSVECAdd
/* 801EE288 001E9EE8 7F A3 EB 78 */ mr r3, r29
/* 801EE28C 001E9EEC 7F E4 FB 78 */ mr r4, r31
/* 801EE290 001E9EF0 38 A1 00 44 */ addi r5, r1, 0x44
-/* 801EE294 001E9EF4 48 08 E7 69 */ bl func_8027C9FC
+/* 801EE294 001E9EF4 48 08 E7 69 */ bl PSMTXMultVec
/* 801EE298 001E9EF8 C0 61 00 44 */ lfs f3, 0x44(r1)
/* 801EE29C 001E9EFC FC 20 F0 90 */ fmr f1, f30
/* 801EE2A0 001E9F00 C0 41 00 48 */ lfs f2, 0x48(r1)
@@ -22200,19 +22200,19 @@ func_801EE1C4:
/* 801EE2B0 001E9F10 D0 61 00 5C */ stfs f3, 0x5c(r1)
/* 801EE2B4 001E9F14 D0 41 00 60 */ stfs f2, 0x60(r1)
/* 801EE2B8 001E9F18 D0 01 00 64 */ stfs f0, 0x64(r1)
-/* 801EE2BC 001E9F1C 48 08 EA 51 */ bl func_8027CD0C
+/* 801EE2BC 001E9F1C 48 08 EA 51 */ bl PSVECScale
/* 801EE2C0 001E9F20 7F C3 F3 78 */ mr r3, r30
/* 801EE2C4 001E9F24 7F C5 F3 78 */ mr r5, r30
/* 801EE2C8 001E9F28 38 81 00 38 */ addi r4, r1, 0x38
-/* 801EE2CC 001E9F2C 48 08 E9 F9 */ bl func_8027CCC4
+/* 801EE2CC 001E9F2C 48 08 E9 F9 */ bl PSVECAdd
/* 801EE2D0 001E9F30 FC 20 E8 90 */ fmr f1, f29
/* 801EE2D4 001E9F34 38 7E 00 0C */ addi r3, r30, 0xc
/* 801EE2D8 001E9F38 7C 64 1B 78 */ mr r4, r3
-/* 801EE2DC 001E9F3C 48 08 EA 31 */ bl func_8027CD0C
+/* 801EE2DC 001E9F3C 48 08 EA 31 */ bl PSVECScale
/* 801EE2E0 001E9F40 7F 83 E3 78 */ mr r3, r28
/* 801EE2E4 001E9F44 38 9F 00 0C */ addi r4, r31, 0xc
/* 801EE2E8 001E9F48 38 A1 00 2C */ addi r5, r1, 0x2c
-/* 801EE2EC 001E9F4C 48 08 E7 65 */ bl func_8027CA50
+/* 801EE2EC 001E9F4C 48 08 E7 65 */ bl PSMTXMultVecSR
/* 801EE2F0 001E9F50 C0 61 00 2C */ lfs f3, 0x2c(r1)
/* 801EE2F4 001E9F54 FC 20 F8 90 */ fmr f1, f31
/* 801EE2F8 001E9F58 C0 41 00 30 */ lfs f2, 0x30(r1)
@@ -22222,15 +22222,15 @@ func_801EE1C4:
/* 801EE308 001E9F68 D0 61 00 5C */ stfs f3, 0x5c(r1)
/* 801EE30C 001E9F6C D0 41 00 60 */ stfs f2, 0x60(r1)
/* 801EE310 001E9F70 D0 01 00 64 */ stfs f0, 0x64(r1)
-/* 801EE314 001E9F74 48 08 E9 F9 */ bl func_8027CD0C
+/* 801EE314 001E9F74 48 08 E9 F9 */ bl PSVECScale
/* 801EE318 001E9F78 38 7E 00 0C */ addi r3, r30, 0xc
/* 801EE31C 001E9F7C 38 81 00 20 */ addi r4, r1, 0x20
/* 801EE320 001E9F80 7C 65 1B 78 */ mr r5, r3
-/* 801EE324 001E9F84 48 08 E9 A1 */ bl func_8027CCC4
+/* 801EE324 001E9F84 48 08 E9 A1 */ bl PSVECAdd
/* 801EE328 001E9F88 7F A3 EB 78 */ mr r3, r29
/* 801EE32C 001E9F8C 38 9F 00 0C */ addi r4, r31, 0xc
/* 801EE330 001E9F90 38 A1 00 14 */ addi r5, r1, 0x14
-/* 801EE334 001E9F94 48 08 E7 1D */ bl func_8027CA50
+/* 801EE334 001E9F94 48 08 E7 1D */ bl PSMTXMultVecSR
/* 801EE338 001E9F98 C0 61 00 14 */ lfs f3, 0x14(r1)
/* 801EE33C 001E9F9C FC 20 F0 90 */ fmr f1, f30
/* 801EE340 001E9FA0 C0 41 00 18 */ lfs f2, 0x18(r1)
@@ -22240,11 +22240,11 @@ func_801EE1C4:
/* 801EE350 001E9FB0 D0 61 00 5C */ stfs f3, 0x5c(r1)
/* 801EE354 001E9FB4 D0 41 00 60 */ stfs f2, 0x60(r1)
/* 801EE358 001E9FB8 D0 01 00 64 */ stfs f0, 0x64(r1)
-/* 801EE35C 001E9FBC 48 08 E9 B1 */ bl func_8027CD0C
+/* 801EE35C 001E9FBC 48 08 E9 B1 */ bl PSVECScale
/* 801EE360 001E9FC0 38 7E 00 0C */ addi r3, r30, 0xc
/* 801EE364 001E9FC4 38 81 00 08 */ addi r4, r1, 8
/* 801EE368 001E9FC8 7C 65 1B 78 */ mr r5, r3
-/* 801EE36C 001E9FCC 48 08 E9 59 */ bl func_8027CCC4
+/* 801EE36C 001E9FCC 48 08 E9 59 */ bl PSVECAdd
/* 801EE370 001E9FD0 E3 E1 00 B8 */ psq_l f31, 184(r1), 0, qr0
/* 801EE374 001E9FD4 CB E1 00 B0 */ lfd f31, 0xb0(r1)
/* 801EE378 001E9FD8 E3 C1 00 A8 */ psq_l f30, 168(r1), 0, qr0
@@ -22288,27 +22288,27 @@ func_801EE3A8:
/* 801EE404 001EA064 7F C3 F3 78 */ mr r3, r30
/* 801EE408 001EA068 EF C0 F8 28 */ fsubs f30, f0, f31
/* 801EE40C 001EA06C FC 20 F0 90 */ fmr f1, f30
-/* 801EE410 001EA070 48 08 E8 FD */ bl func_8027CD0C
+/* 801EE410 001EA070 48 08 E8 FD */ bl PSVECScale
/* 801EE414 001EA074 7F A3 EB 78 */ mr r3, r29
/* 801EE418 001EA078 7F E4 FB 78 */ mr r4, r31
/* 801EE41C 001EA07C 38 A1 00 5C */ addi r5, r1, 0x5c
-/* 801EE420 001EA080 48 08 E5 DD */ bl func_8027C9FC
+/* 801EE420 001EA080 48 08 E5 DD */ bl PSMTXMultVec
/* 801EE424 001EA084 FC 20 F8 90 */ fmr f1, f31
/* 801EE428 001EA088 38 61 00 5C */ addi r3, r1, 0x5c
/* 801EE42C 001EA08C 38 81 00 50 */ addi r4, r1, 0x50
-/* 801EE430 001EA090 48 08 E8 DD */ bl func_8027CD0C
+/* 801EE430 001EA090 48 08 E8 DD */ bl PSVECScale
/* 801EE434 001EA094 7F C3 F3 78 */ mr r3, r30
/* 801EE438 001EA098 7F C5 F3 78 */ mr r5, r30
/* 801EE43C 001EA09C 38 81 00 50 */ addi r4, r1, 0x50
-/* 801EE440 001EA0A0 48 08 E8 85 */ bl func_8027CCC4
+/* 801EE440 001EA0A0 48 08 E8 85 */ bl PSVECAdd
/* 801EE444 001EA0A4 FC 20 F0 90 */ fmr f1, f30
/* 801EE448 001EA0A8 38 7E 00 0C */ addi r3, r30, 0xc
/* 801EE44C 001EA0AC 7C 64 1B 78 */ mr r4, r3
-/* 801EE450 001EA0B0 48 08 E8 BD */ bl func_8027CD0C
+/* 801EE450 001EA0B0 48 08 E8 BD */ bl PSVECScale
/* 801EE454 001EA0B4 7F A3 EB 78 */ mr r3, r29
/* 801EE458 001EA0B8 38 9F 00 0C */ addi r4, r31, 0xc
/* 801EE45C 001EA0BC 38 A1 00 44 */ addi r5, r1, 0x44
-/* 801EE460 001EA0C0 48 08 E5 F1 */ bl func_8027CA50
+/* 801EE460 001EA0C0 48 08 E5 F1 */ bl PSMTXMultVecSR
/* 801EE464 001EA0C4 C0 61 00 44 */ lfs f3, 0x44(r1)
/* 801EE468 001EA0C8 FC 20 F8 90 */ fmr f1, f31
/* 801EE46C 001EA0CC C0 41 00 48 */ lfs f2, 0x48(r1)
@@ -22318,19 +22318,19 @@ func_801EE3A8:
/* 801EE47C 001EA0DC D0 61 00 5C */ stfs f3, 0x5c(r1)
/* 801EE480 001EA0E0 D0 41 00 60 */ stfs f2, 0x60(r1)
/* 801EE484 001EA0E4 D0 01 00 64 */ stfs f0, 0x64(r1)
-/* 801EE488 001EA0E8 48 08 E8 85 */ bl func_8027CD0C
+/* 801EE488 001EA0E8 48 08 E8 85 */ bl PSVECScale
/* 801EE48C 001EA0EC 38 7E 00 0C */ addi r3, r30, 0xc
/* 801EE490 001EA0F0 38 81 00 38 */ addi r4, r1, 0x38
/* 801EE494 001EA0F4 7C 65 1B 78 */ mr r5, r3
-/* 801EE498 001EA0F8 48 08 E8 2D */ bl func_8027CCC4
+/* 801EE498 001EA0F8 48 08 E8 2D */ bl PSVECAdd
/* 801EE49C 001EA0FC FC 20 F0 90 */ fmr f1, f30
/* 801EE4A0 001EA100 38 7E 00 18 */ addi r3, r30, 0x18
/* 801EE4A4 001EA104 7C 64 1B 78 */ mr r4, r3
-/* 801EE4A8 001EA108 48 08 E8 65 */ bl func_8027CD0C
+/* 801EE4A8 001EA108 48 08 E8 65 */ bl PSVECScale
/* 801EE4AC 001EA10C 7F A3 EB 78 */ mr r3, r29
/* 801EE4B0 001EA110 38 9F 00 18 */ addi r4, r31, 0x18
/* 801EE4B4 001EA114 38 A1 00 2C */ addi r5, r1, 0x2c
-/* 801EE4B8 001EA118 48 08 E5 99 */ bl func_8027CA50
+/* 801EE4B8 001EA118 48 08 E5 99 */ bl PSMTXMultVecSR
/* 801EE4BC 001EA11C C0 61 00 2C */ lfs f3, 0x2c(r1)
/* 801EE4C0 001EA120 FC 20 F8 90 */ fmr f1, f31
/* 801EE4C4 001EA124 C0 41 00 30 */ lfs f2, 0x30(r1)
@@ -22340,19 +22340,19 @@ func_801EE3A8:
/* 801EE4D4 001EA134 D0 61 00 5C */ stfs f3, 0x5c(r1)
/* 801EE4D8 001EA138 D0 41 00 60 */ stfs f2, 0x60(r1)
/* 801EE4DC 001EA13C D0 01 00 64 */ stfs f0, 0x64(r1)
-/* 801EE4E0 001EA140 48 08 E8 2D */ bl func_8027CD0C
+/* 801EE4E0 001EA140 48 08 E8 2D */ bl PSVECScale
/* 801EE4E4 001EA144 38 7E 00 18 */ addi r3, r30, 0x18
/* 801EE4E8 001EA148 38 81 00 20 */ addi r4, r1, 0x20
/* 801EE4EC 001EA14C 7C 65 1B 78 */ mr r5, r3
-/* 801EE4F0 001EA150 48 08 E7 D5 */ bl func_8027CCC4
+/* 801EE4F0 001EA150 48 08 E7 D5 */ bl PSVECAdd
/* 801EE4F4 001EA154 FC 20 F0 90 */ fmr f1, f30
/* 801EE4F8 001EA158 38 7E 00 24 */ addi r3, r30, 0x24
/* 801EE4FC 001EA15C 7C 64 1B 78 */ mr r4, r3
-/* 801EE500 001EA160 48 08 E8 0D */ bl func_8027CD0C
+/* 801EE500 001EA160 48 08 E8 0D */ bl PSVECScale
/* 801EE504 001EA164 7F A3 EB 78 */ mr r3, r29
/* 801EE508 001EA168 38 9F 00 24 */ addi r4, r31, 0x24
/* 801EE50C 001EA16C 38 A1 00 14 */ addi r5, r1, 0x14
-/* 801EE510 001EA170 48 08 E5 41 */ bl func_8027CA50
+/* 801EE510 001EA170 48 08 E5 41 */ bl PSMTXMultVecSR
/* 801EE514 001EA174 C0 61 00 14 */ lfs f3, 0x14(r1)
/* 801EE518 001EA178 FC 20 F8 90 */ fmr f1, f31
/* 801EE51C 001EA17C C0 41 00 18 */ lfs f2, 0x18(r1)
@@ -22362,11 +22362,11 @@ func_801EE3A8:
/* 801EE52C 001EA18C D0 61 00 5C */ stfs f3, 0x5c(r1)
/* 801EE530 001EA190 D0 41 00 60 */ stfs f2, 0x60(r1)
/* 801EE534 001EA194 D0 01 00 64 */ stfs f0, 0x64(r1)
-/* 801EE538 001EA198 48 08 E7 D5 */ bl func_8027CD0C
+/* 801EE538 001EA198 48 08 E7 D5 */ bl PSVECScale
/* 801EE53C 001EA19C 38 7E 00 24 */ addi r3, r30, 0x24
/* 801EE540 001EA1A0 38 81 00 08 */ addi r4, r1, 8
/* 801EE544 001EA1A4 7C 65 1B 78 */ mr r5, r3
-/* 801EE548 001EA1A8 48 08 E7 7D */ bl func_8027CCC4
+/* 801EE548 001EA1A8 48 08 E7 7D */ bl PSVECAdd
/* 801EE54C 001EA1AC E3 E1 00 98 */ psq_l f31, 152(r1), 0, qr0
/* 801EE550 001EA1B0 CB E1 00 90 */ lfd f31, 0x90(r1)
/* 801EE554 001EA1B4 E3 C1 00 88 */ psq_l f30, 136(r1), 0, qr0
@@ -22417,23 +22417,23 @@ func_801EE578:
/* 801EE5FC 001EA25C EC 3F F0 2A */ fadds f1, f31, f30
/* 801EE600 001EA260 EF A0 08 28 */ fsubs f29, f0, f1
/* 801EE604 001EA264 FC 20 E8 90 */ fmr f1, f29
-/* 801EE608 001EA268 48 08 E7 05 */ bl func_8027CD0C
+/* 801EE608 001EA268 48 08 E7 05 */ bl PSVECScale
/* 801EE60C 001EA26C 7F 83 E3 78 */ mr r3, r28
/* 801EE610 001EA270 7F E4 FB 78 */ mr r4, r31
/* 801EE614 001EA274 38 A1 00 BC */ addi r5, r1, 0xbc
-/* 801EE618 001EA278 48 08 E3 E5 */ bl func_8027C9FC
+/* 801EE618 001EA278 48 08 E3 E5 */ bl PSMTXMultVec
/* 801EE61C 001EA27C FC 20 F8 90 */ fmr f1, f31
/* 801EE620 001EA280 38 61 00 BC */ addi r3, r1, 0xbc
/* 801EE624 001EA284 38 81 00 B0 */ addi r4, r1, 0xb0
-/* 801EE628 001EA288 48 08 E6 E5 */ bl func_8027CD0C
+/* 801EE628 001EA288 48 08 E6 E5 */ bl PSVECScale
/* 801EE62C 001EA28C 7F C3 F3 78 */ mr r3, r30
/* 801EE630 001EA290 7F C5 F3 78 */ mr r5, r30
/* 801EE634 001EA294 38 81 00 B0 */ addi r4, r1, 0xb0
-/* 801EE638 001EA298 48 08 E6 8D */ bl func_8027CCC4
+/* 801EE638 001EA298 48 08 E6 8D */ bl PSVECAdd
/* 801EE63C 001EA29C 7F A3 EB 78 */ mr r3, r29
/* 801EE640 001EA2A0 7F E4 FB 78 */ mr r4, r31
/* 801EE644 001EA2A4 38 A1 00 A4 */ addi r5, r1, 0xa4
-/* 801EE648 001EA2A8 48 08 E3 B5 */ bl func_8027C9FC
+/* 801EE648 001EA2A8 48 08 E3 B5 */ bl PSMTXMultVec
/* 801EE64C 001EA2AC C0 61 00 A4 */ lfs f3, 0xa4(r1)
/* 801EE650 001EA2B0 FC 20 F0 90 */ fmr f1, f30
/* 801EE654 001EA2B4 C0 41 00 A8 */ lfs f2, 0xa8(r1)
@@ -22443,19 +22443,19 @@ func_801EE578:
/* 801EE664 001EA2C4 D0 61 00 BC */ stfs f3, 0xbc(r1)
/* 801EE668 001EA2C8 D0 41 00 C0 */ stfs f2, 0xc0(r1)
/* 801EE66C 001EA2CC D0 01 00 C4 */ stfs f0, 0xc4(r1)
-/* 801EE670 001EA2D0 48 08 E6 9D */ bl func_8027CD0C
+/* 801EE670 001EA2D0 48 08 E6 9D */ bl PSVECScale
/* 801EE674 001EA2D4 7F C3 F3 78 */ mr r3, r30
/* 801EE678 001EA2D8 7F C5 F3 78 */ mr r5, r30
/* 801EE67C 001EA2DC 38 81 00 98 */ addi r4, r1, 0x98
-/* 801EE680 001EA2E0 48 08 E6 45 */ bl func_8027CCC4
+/* 801EE680 001EA2E0 48 08 E6 45 */ bl PSVECAdd
/* 801EE684 001EA2E4 FC 20 E8 90 */ fmr f1, f29
/* 801EE688 001EA2E8 38 7E 00 0C */ addi r3, r30, 0xc
/* 801EE68C 001EA2EC 7C 64 1B 78 */ mr r4, r3
-/* 801EE690 001EA2F0 48 08 E6 7D */ bl func_8027CD0C
+/* 801EE690 001EA2F0 48 08 E6 7D */ bl PSVECScale
/* 801EE694 001EA2F4 7F 83 E3 78 */ mr r3, r28
/* 801EE698 001EA2F8 38 9F 00 0C */ addi r4, r31, 0xc
/* 801EE69C 001EA2FC 38 A1 00 8C */ addi r5, r1, 0x8c
-/* 801EE6A0 001EA300 48 08 E3 B1 */ bl func_8027CA50
+/* 801EE6A0 001EA300 48 08 E3 B1 */ bl PSMTXMultVecSR
/* 801EE6A4 001EA304 C0 61 00 8C */ lfs f3, 0x8c(r1)
/* 801EE6A8 001EA308 FC 20 F8 90 */ fmr f1, f31
/* 801EE6AC 001EA30C C0 41 00 90 */ lfs f2, 0x90(r1)
@@ -22465,15 +22465,15 @@ func_801EE578:
/* 801EE6BC 001EA31C D0 61 00 BC */ stfs f3, 0xbc(r1)
/* 801EE6C0 001EA320 D0 41 00 C0 */ stfs f2, 0xc0(r1)
/* 801EE6C4 001EA324 D0 01 00 C4 */ stfs f0, 0xc4(r1)
-/* 801EE6C8 001EA328 48 08 E6 45 */ bl func_8027CD0C
+/* 801EE6C8 001EA328 48 08 E6 45 */ bl PSVECScale
/* 801EE6CC 001EA32C 38 7E 00 0C */ addi r3, r30, 0xc
/* 801EE6D0 001EA330 38 81 00 80 */ addi r4, r1, 0x80
/* 801EE6D4 001EA334 7C 65 1B 78 */ mr r5, r3
-/* 801EE6D8 001EA338 48 08 E5 ED */ bl func_8027CCC4
+/* 801EE6D8 001EA338 48 08 E5 ED */ bl PSVECAdd
/* 801EE6DC 001EA33C 7F A3 EB 78 */ mr r3, r29
/* 801EE6E0 001EA340 38 9F 00 0C */ addi r4, r31, 0xc
/* 801EE6E4 001EA344 38 A1 00 74 */ addi r5, r1, 0x74
-/* 801EE6E8 001EA348 48 08 E3 69 */ bl func_8027CA50
+/* 801EE6E8 001EA348 48 08 E3 69 */ bl PSMTXMultVecSR
/* 801EE6EC 001EA34C C0 61 00 74 */ lfs f3, 0x74(r1)
/* 801EE6F0 001EA350 FC 20 F0 90 */ fmr f1, f30
/* 801EE6F4 001EA354 C0 41 00 78 */ lfs f2, 0x78(r1)
@@ -22483,19 +22483,19 @@ func_801EE578:
/* 801EE704 001EA364 D0 61 00 BC */ stfs f3, 0xbc(r1)
/* 801EE708 001EA368 D0 41 00 C0 */ stfs f2, 0xc0(r1)
/* 801EE70C 001EA36C D0 01 00 C4 */ stfs f0, 0xc4(r1)
-/* 801EE710 001EA370 48 08 E5 FD */ bl func_8027CD0C
+/* 801EE710 001EA370 48 08 E5 FD */ bl PSVECScale
/* 801EE714 001EA374 38 7E 00 0C */ addi r3, r30, 0xc
/* 801EE718 001EA378 38 81 00 68 */ addi r4, r1, 0x68
/* 801EE71C 001EA37C 7C 65 1B 78 */ mr r5, r3
-/* 801EE720 001EA380 48 08 E5 A5 */ bl func_8027CCC4
+/* 801EE720 001EA380 48 08 E5 A5 */ bl PSVECAdd
/* 801EE724 001EA384 FC 20 E8 90 */ fmr f1, f29
/* 801EE728 001EA388 38 7E 00 18 */ addi r3, r30, 0x18
/* 801EE72C 001EA38C 7C 64 1B 78 */ mr r4, r3
-/* 801EE730 001EA390 48 08 E5 DD */ bl func_8027CD0C
+/* 801EE730 001EA390 48 08 E5 DD */ bl PSVECScale
/* 801EE734 001EA394 7F 83 E3 78 */ mr r3, r28
/* 801EE738 001EA398 38 9F 00 18 */ addi r4, r31, 0x18
/* 801EE73C 001EA39C 38 A1 00 5C */ addi r5, r1, 0x5c
-/* 801EE740 001EA3A0 48 08 E3 11 */ bl func_8027CA50
+/* 801EE740 001EA3A0 48 08 E3 11 */ bl PSMTXMultVecSR
/* 801EE744 001EA3A4 C0 61 00 5C */ lfs f3, 0x5c(r1)
/* 801EE748 001EA3A8 FC 20 F8 90 */ fmr f1, f31
/* 801EE74C 001EA3AC C0 41 00 60 */ lfs f2, 0x60(r1)
@@ -22505,15 +22505,15 @@ func_801EE578:
/* 801EE75C 001EA3BC D0 61 00 BC */ stfs f3, 0xbc(r1)
/* 801EE760 001EA3C0 D0 41 00 C0 */ stfs f2, 0xc0(r1)
/* 801EE764 001EA3C4 D0 01 00 C4 */ stfs f0, 0xc4(r1)
-/* 801EE768 001EA3C8 48 08 E5 A5 */ bl func_8027CD0C
+/* 801EE768 001EA3C8 48 08 E5 A5 */ bl PSVECScale
/* 801EE76C 001EA3CC 38 7E 00 18 */ addi r3, r30, 0x18
/* 801EE770 001EA3D0 38 81 00 50 */ addi r4, r1, 0x50
/* 801EE774 001EA3D4 7C 65 1B 78 */ mr r5, r3
-/* 801EE778 001EA3D8 48 08 E5 4D */ bl func_8027CCC4
+/* 801EE778 001EA3D8 48 08 E5 4D */ bl PSVECAdd
/* 801EE77C 001EA3DC 7F A3 EB 78 */ mr r3, r29
/* 801EE780 001EA3E0 38 9F 00 18 */ addi r4, r31, 0x18
/* 801EE784 001EA3E4 38 A1 00 44 */ addi r5, r1, 0x44
-/* 801EE788 001EA3E8 48 08 E2 C9 */ bl func_8027CA50
+/* 801EE788 001EA3E8 48 08 E2 C9 */ bl PSMTXMultVecSR
/* 801EE78C 001EA3EC C0 61 00 44 */ lfs f3, 0x44(r1)
/* 801EE790 001EA3F0 FC 20 F0 90 */ fmr f1, f30
/* 801EE794 001EA3F4 C0 41 00 48 */ lfs f2, 0x48(r1)
@@ -22523,19 +22523,19 @@ func_801EE578:
/* 801EE7A4 001EA404 D0 61 00 BC */ stfs f3, 0xbc(r1)
/* 801EE7A8 001EA408 D0 41 00 C0 */ stfs f2, 0xc0(r1)
/* 801EE7AC 001EA40C D0 01 00 C4 */ stfs f0, 0xc4(r1)
-/* 801EE7B0 001EA410 48 08 E5 5D */ bl func_8027CD0C
+/* 801EE7B0 001EA410 48 08 E5 5D */ bl PSVECScale
/* 801EE7B4 001EA414 38 7E 00 18 */ addi r3, r30, 0x18
/* 801EE7B8 001EA418 38 81 00 38 */ addi r4, r1, 0x38
/* 801EE7BC 001EA41C 7C 65 1B 78 */ mr r5, r3
-/* 801EE7C0 001EA420 48 08 E5 05 */ bl func_8027CCC4
+/* 801EE7C0 001EA420 48 08 E5 05 */ bl PSVECAdd
/* 801EE7C4 001EA424 FC 20 E8 90 */ fmr f1, f29
/* 801EE7C8 001EA428 38 7E 00 24 */ addi r3, r30, 0x24
/* 801EE7CC 001EA42C 7C 64 1B 78 */ mr r4, r3
-/* 801EE7D0 001EA430 48 08 E5 3D */ bl func_8027CD0C
+/* 801EE7D0 001EA430 48 08 E5 3D */ bl PSVECScale
/* 801EE7D4 001EA434 7F 83 E3 78 */ mr r3, r28
/* 801EE7D8 001EA438 38 9F 00 24 */ addi r4, r31, 0x24
/* 801EE7DC 001EA43C 38 A1 00 2C */ addi r5, r1, 0x2c
-/* 801EE7E0 001EA440 48 08 E2 71 */ bl func_8027CA50
+/* 801EE7E0 001EA440 48 08 E2 71 */ bl PSMTXMultVecSR
/* 801EE7E4 001EA444 C0 61 00 2C */ lfs f3, 0x2c(r1)
/* 801EE7E8 001EA448 FC 20 F8 90 */ fmr f1, f31
/* 801EE7EC 001EA44C C0 41 00 30 */ lfs f2, 0x30(r1)
@@ -22545,15 +22545,15 @@ func_801EE578:
/* 801EE7FC 001EA45C D0 61 00 BC */ stfs f3, 0xbc(r1)
/* 801EE800 001EA460 D0 41 00 C0 */ stfs f2, 0xc0(r1)
/* 801EE804 001EA464 D0 01 00 C4 */ stfs f0, 0xc4(r1)
-/* 801EE808 001EA468 48 08 E5 05 */ bl func_8027CD0C
+/* 801EE808 001EA468 48 08 E5 05 */ bl PSVECScale
/* 801EE80C 001EA46C 38 7E 00 24 */ addi r3, r30, 0x24
/* 801EE810 001EA470 38 81 00 20 */ addi r4, r1, 0x20
/* 801EE814 001EA474 7C 65 1B 78 */ mr r5, r3
-/* 801EE818 001EA478 48 08 E4 AD */ bl func_8027CCC4
+/* 801EE818 001EA478 48 08 E4 AD */ bl PSVECAdd
/* 801EE81C 001EA47C 7F A3 EB 78 */ mr r3, r29
/* 801EE820 001EA480 38 9F 00 24 */ addi r4, r31, 0x24
/* 801EE824 001EA484 38 A1 00 14 */ addi r5, r1, 0x14
-/* 801EE828 001EA488 48 08 E2 29 */ bl func_8027CA50
+/* 801EE828 001EA488 48 08 E2 29 */ bl PSMTXMultVecSR
/* 801EE82C 001EA48C C0 61 00 14 */ lfs f3, 0x14(r1)
/* 801EE830 001EA490 FC 20 F0 90 */ fmr f1, f30
/* 801EE834 001EA494 C0 41 00 18 */ lfs f2, 0x18(r1)
@@ -22563,11 +22563,11 @@ func_801EE578:
/* 801EE844 001EA4A4 D0 61 00 BC */ stfs f3, 0xbc(r1)
/* 801EE848 001EA4A8 D0 41 00 C0 */ stfs f2, 0xc0(r1)
/* 801EE84C 001EA4AC D0 01 00 C4 */ stfs f0, 0xc4(r1)
-/* 801EE850 001EA4B0 48 08 E4 BD */ bl func_8027CD0C
+/* 801EE850 001EA4B0 48 08 E4 BD */ bl PSVECScale
/* 801EE854 001EA4B4 38 7E 00 24 */ addi r3, r30, 0x24
/* 801EE858 001EA4B8 38 81 00 08 */ addi r4, r1, 8
/* 801EE85C 001EA4BC 7C 65 1B 78 */ mr r5, r3
-/* 801EE860 001EA4C0 48 08 E4 65 */ bl func_8027CCC4
+/* 801EE860 001EA4C0 48 08 E4 65 */ bl PSVECAdd
/* 801EE864 001EA4C4 E3 E1 01 18 */ psq_l f31, 280(r1), 0, qr0
/* 801EE868 001EA4C8 CB E1 01 10 */ lfd f31, 0x110(r1)
/* 801EE86C 001EA4CC E3 C1 01 08 */ psq_l f30, 264(r1), 0, qr0
@@ -23005,11 +23005,11 @@ lbl_801EEE1C:
/* 801EEE4C 001EAAAC D0 1F 00 04 */ stfs f0, 4(r31)
/* 801EEE50 001EAAB0 C0 1E 00 08 */ lfs f0, 8(r30)
/* 801EEE54 001EAAB4 D0 1F 00 08 */ stfs f0, 8(r31)
-/* 801EEE58 001EAAB8 48 08 DE B5 */ bl func_8027CD0C
+/* 801EEE58 001EAAB8 48 08 DE B5 */ bl PSVECScale
/* 801EEE5C 001EAABC 7F E3 FB 78 */ mr r3, r31
/* 801EEE60 001EAAC0 7F E5 FB 78 */ mr r5, r31
/* 801EEE64 001EAAC4 38 81 00 08 */ addi r4, r1, 8
-/* 801EEE68 001EAAC8 48 08 DE 5D */ bl func_8027CCC4
+/* 801EEE68 001EAAC8 48 08 DE 5D */ bl PSVECAdd
/* 801EEE6C 001EAACC 3B 9C 00 01 */ addi r28, r28, 1
/* 801EEE70 001EAAD0 3B FF 00 18 */ addi r31, r31, 0x18
/* 801EEE74 001EAAD4 3B DE 00 18 */ addi r30, r30, 0x18
@@ -23063,11 +23063,11 @@ lbl_801EEEF4:
/* 801EEF24 001EAB84 D0 1F 00 04 */ stfs f0, 4(r31)
/* 801EEF28 001EAB88 C0 1E 00 08 */ lfs f0, 8(r30)
/* 801EEF2C 001EAB8C D0 1F 00 08 */ stfs f0, 8(r31)
-/* 801EEF30 001EAB90 48 08 DD DD */ bl func_8027CD0C
+/* 801EEF30 001EAB90 48 08 DD DD */ bl PSVECScale
/* 801EEF34 001EAB94 7F E3 FB 78 */ mr r3, r31
/* 801EEF38 001EAB98 7F E5 FB 78 */ mr r5, r31
/* 801EEF3C 001EAB9C 38 81 00 08 */ addi r4, r1, 8
-/* 801EEF40 001EABA0 48 08 DD 85 */ bl func_8027CCC4
+/* 801EEF40 001EABA0 48 08 DD 85 */ bl PSVECAdd
/* 801EEF44 001EABA4 3B 9C 00 01 */ addi r28, r28, 1
/* 801EEF48 001EABA8 3B FF 00 30 */ addi r31, r31, 0x30
/* 801EEF4C 001EABAC 3B DE 00 30 */ addi r30, r30, 0x30
@@ -23166,10 +23166,10 @@ lbl_801EF074:
/* 801EF090 001EACF0 41 82 00 1C */ beq lbl_801EF0AC
/* 801EF094 001EACF4 7E E3 BB 78 */ mr r3, r23
/* 801EF098 001EACF8 38 81 00 50 */ addi r4, r1, 0x50
-/* 801EF09C 001EACFC 48 08 D0 0D */ bl func_8027C0A8
+/* 801EF09C 001EACFC 48 08 D0 0D */ bl PSMTXInverse
/* 801EF0A0 001EAD00 38 61 00 50 */ addi r3, r1, 0x50
/* 801EF0A4 001EAD04 38 81 00 80 */ addi r4, r1, 0x80
-/* 801EF0A8 001EAD08 48 08 CE B1 */ bl func_8027BF58
+/* 801EF0A8 001EAD08 48 08 CE B1 */ bl PSMTXCopy
lbl_801EF0AC:
/* 801EF0AC 001EAD0C 3B 80 00 00 */ li r28, 0
/* 801EF0B0 001EAD10 48 00 00 F0 */ b lbl_801EF1A0
@@ -23179,7 +23179,7 @@ lbl_801EF0B4:
/* 801EF0BC 001EAD1C 7E E3 BB 78 */ mr r3, r23
/* 801EF0C0 001EAD20 7F C4 F3 78 */ mr r4, r30
/* 801EF0C4 001EAD24 38 A1 00 20 */ addi r5, r1, 0x20
-/* 801EF0C8 001EAD28 48 08 D9 35 */ bl func_8027C9FC
+/* 801EF0C8 001EAD28 48 08 D9 35 */ bl PSMTXMultVec
/* 801EF0CC 001EAD2C C0 01 00 20 */ lfs f0, 0x20(r1)
/* 801EF0D0 001EAD30 7E E3 BB 78 */ mr r3, r23
/* 801EF0D4 001EAD34 38 9E 00 0C */ addi r4, r30, 0xc
@@ -23189,7 +23189,7 @@ lbl_801EF0B4:
/* 801EF0E4 001EAD44 D0 1F 00 04 */ stfs f0, 4(r31)
/* 801EF0E8 001EAD48 C0 01 00 28 */ lfs f0, 0x28(r1)
/* 801EF0EC 001EAD4C D0 1F 00 08 */ stfs f0, 8(r31)
-/* 801EF0F0 001EAD50 48 08 D9 61 */ bl func_8027CA50
+/* 801EF0F0 001EAD50 48 08 D9 61 */ bl PSMTXMultVecSR
/* 801EF0F4 001EAD54 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 801EF0F8 001EAD58 D0 1F 00 0C */ stfs f0, 0xc(r31)
/* 801EF0FC 001EAD5C C0 01 00 18 */ lfs f0, 0x18(r1)
@@ -23200,7 +23200,7 @@ lbl_801EF10C:
/* 801EF10C 001EAD6C 7F E3 FB 78 */ mr r3, r31
/* 801EF110 001EAD70 7F 04 C3 78 */ mr r4, r24
/* 801EF114 001EAD74 38 A1 00 08 */ addi r5, r1, 8
-/* 801EF118 001EAD78 48 08 DB D1 */ bl func_8027CCE8
+/* 801EF118 001EAD78 48 08 DB D1 */ bl PSVECSubtract
/* 801EF11C 001EAD7C C0 41 00 08 */ lfs f2, 8(r1)
/* 801EF120 001EAD80 7F 24 CB 78 */ mr r4, r25
/* 801EF124 001EAD84 C0 21 00 0C */ lfs f1, 0xc(r1)
@@ -23214,7 +23214,7 @@ lbl_801EF10C:
/* 801EF144 001EADA4 7F 44 D3 78 */ mr r4, r26
/* 801EF148 001EADA8 38 61 00 30 */ addi r3, r1, 0x30
/* 801EF14C 001EADAC EC 21 07 F2 */ fmuls f1, f1, f31
-/* 801EF150 001EADB0 48 08 DF D5 */ bl func_8027D124
+/* 801EF150 001EADB0 48 08 DF D5 */ bl C_QUATRotAxisRad
/* 801EF154 001EADB4 7F E3 FB 78 */ mr r3, r31
/* 801EF158 001EADB8 38 81 00 30 */ addi r4, r1, 0x30
/* 801EF15C 001EADBC 48 03 48 B1 */ bl func_80223A0C
@@ -23226,11 +23226,11 @@ lbl_801EF10C:
/* 801EF174 001EADD4 7F E4 FB 78 */ mr r4, r31
/* 801EF178 001EADD8 7F E5 FB 78 */ mr r5, r31
/* 801EF17C 001EADDC 38 61 00 80 */ addi r3, r1, 0x80
-/* 801EF180 001EADE0 48 08 D8 7D */ bl func_8027C9FC
+/* 801EF180 001EADE0 48 08 D8 7D */ bl PSMTXMultVec
/* 801EF184 001EADE4 38 9F 00 0C */ addi r4, r31, 0xc
/* 801EF188 001EADE8 38 61 00 80 */ addi r3, r1, 0x80
/* 801EF18C 001EADEC 7C 85 23 78 */ mr r5, r4
-/* 801EF190 001EADF0 48 08 D8 C1 */ bl func_8027CA50
+/* 801EF190 001EADF0 48 08 D8 C1 */ bl PSMTXMultVecSR
lbl_801EF194:
/* 801EF194 001EADF4 3B 9C 00 01 */ addi r28, r28, 1
/* 801EF198 001EADF8 3B FF 00 18 */ addi r31, r31, 0x18
@@ -23303,10 +23303,10 @@ lbl_801EF260:
/* 801EF284 001EAEE4 41 82 00 1C */ beq lbl_801EF2A0
/* 801EF288 001EAEE8 7E E3 BB 78 */ mr r3, r23
/* 801EF28C 001EAEEC 38 81 00 48 */ addi r4, r1, 0x48
-/* 801EF290 001EAEF0 48 08 CE 19 */ bl func_8027C0A8
+/* 801EF290 001EAEF0 48 08 CE 19 */ bl PSMTXInverse
/* 801EF294 001EAEF4 38 61 00 48 */ addi r3, r1, 0x48
/* 801EF298 001EAEF8 38 81 00 78 */ addi r4, r1, 0x78
-/* 801EF29C 001EAEFC 48 08 CC BD */ bl func_8027BF58
+/* 801EF29C 001EAEFC 48 08 CC BD */ bl PSMTXCopy
lbl_801EF2A0:
/* 801EF2A0 001EAF00 3B 80 00 00 */ li r28, 0
/* 801EF2A4 001EAF04 48 00 01 70 */ b lbl_801EF414
@@ -23316,7 +23316,7 @@ lbl_801EF2A8:
/* 801EF2B0 001EAF10 7E E3 BB 78 */ mr r3, r23
/* 801EF2B4 001EAF14 7F C4 F3 78 */ mr r4, r30
/* 801EF2B8 001EAF18 38 A1 00 2C */ addi r5, r1, 0x2c
-/* 801EF2BC 001EAF1C 48 08 D7 41 */ bl func_8027C9FC
+/* 801EF2BC 001EAF1C 48 08 D7 41 */ bl PSMTXMultVec
/* 801EF2C0 001EAF20 C0 01 00 2C */ lfs f0, 0x2c(r1)
/* 801EF2C4 001EAF24 7E E3 BB 78 */ mr r3, r23
/* 801EF2C8 001EAF28 38 9E 00 0C */ addi r4, r30, 0xc
@@ -23326,7 +23326,7 @@ lbl_801EF2A8:
/* 801EF2D8 001EAF38 D0 1F 00 04 */ stfs f0, 4(r31)
/* 801EF2DC 001EAF3C C0 01 00 34 */ lfs f0, 0x34(r1)
/* 801EF2E0 001EAF40 D0 1F 00 08 */ stfs f0, 8(r31)
-/* 801EF2E4 001EAF44 48 08 D7 6D */ bl func_8027CA50
+/* 801EF2E4 001EAF44 48 08 D7 6D */ bl PSMTXMultVecSR
/* 801EF2E8 001EAF48 C0 01 00 20 */ lfs f0, 0x20(r1)
/* 801EF2EC 001EAF4C 7E E3 BB 78 */ mr r3, r23
/* 801EF2F0 001EAF50 38 9E 00 18 */ addi r4, r30, 0x18
@@ -23336,7 +23336,7 @@ lbl_801EF2A8:
/* 801EF300 001EAF60 D0 1F 00 10 */ stfs f0, 0x10(r31)
/* 801EF304 001EAF64 C0 01 00 28 */ lfs f0, 0x28(r1)
/* 801EF308 001EAF68 D0 1F 00 14 */ stfs f0, 0x14(r31)
-/* 801EF30C 001EAF6C 48 08 D7 45 */ bl func_8027CA50
+/* 801EF30C 001EAF6C 48 08 D7 45 */ bl PSMTXMultVecSR
/* 801EF310 001EAF70 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 801EF314 001EAF74 7E E3 BB 78 */ mr r3, r23
/* 801EF318 001EAF78 38 9E 00 24 */ addi r4, r30, 0x24
@@ -23346,7 +23346,7 @@ lbl_801EF2A8:
/* 801EF328 001EAF88 D0 1F 00 1C */ stfs f0, 0x1c(r31)
/* 801EF32C 001EAF8C C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 801EF330 001EAF90 D0 1F 00 20 */ stfs f0, 0x20(r31)
-/* 801EF334 001EAF94 48 08 D7 1D */ bl func_8027CA50
+/* 801EF334 001EAF94 48 08 D7 1D */ bl PSMTXMultVecSR
/* 801EF338 001EAF98 C0 01 00 08 */ lfs f0, 8(r1)
/* 801EF33C 001EAF9C D0 1F 00 24 */ stfs f0, 0x24(r31)
/* 801EF340 001EAFA0 C0 01 00 0C */ lfs f0, 0xc(r1)
@@ -23357,7 +23357,7 @@ lbl_801EF350:
/* 801EF350 001EAFB0 7F E3 FB 78 */ mr r3, r31
/* 801EF354 001EAFB4 7F 04 C3 78 */ mr r4, r24
/* 801EF358 001EAFB8 7F E5 FB 78 */ mr r5, r31
-/* 801EF35C 001EAFBC 48 08 D9 8D */ bl func_8027CCE8
+/* 801EF35C 001EAFBC 48 08 D9 8D */ bl PSVECSubtract
/* 801EF360 001EAFC0 7F E3 FB 78 */ mr r3, r31
/* 801EF364 001EAFC4 7F 24 CB 78 */ mr r4, r25
/* 801EF368 001EAFC8 48 08 DA 61 */ bl PSQUATDotProduct
@@ -23365,14 +23365,14 @@ lbl_801EF350:
/* 801EF370 001EAFD0 7F 44 D3 78 */ mr r4, r26
/* 801EF374 001EAFD4 38 61 00 38 */ addi r3, r1, 0x38
/* 801EF378 001EAFD8 EC 21 07 F2 */ fmuls f1, f1, f31
-/* 801EF37C 001EAFDC 48 08 DD A9 */ bl func_8027D124
+/* 801EF37C 001EAFDC 48 08 DD A9 */ bl C_QUATRotAxisRad
/* 801EF380 001EAFE0 7F E3 FB 78 */ mr r3, r31
/* 801EF384 001EAFE4 38 81 00 38 */ addi r4, r1, 0x38
/* 801EF388 001EAFE8 48 03 46 85 */ bl func_80223A0C
/* 801EF38C 001EAFEC 7F E3 FB 78 */ mr r3, r31
/* 801EF390 001EAFF0 7F 04 C3 78 */ mr r4, r24
/* 801EF394 001EAFF4 7F E5 FB 78 */ mr r5, r31
-/* 801EF398 001EAFF8 48 08 D9 2D */ bl func_8027CCC4
+/* 801EF398 001EAFF8 48 08 D9 2D */ bl PSVECAdd
/* 801EF39C 001EAFFC 38 7F 00 0C */ addi r3, r31, 0xc
/* 801EF3A0 001EB000 38 81 00 38 */ addi r4, r1, 0x38
/* 801EF3A4 001EB004 48 03 46 69 */ bl func_80223A0C
@@ -23387,19 +23387,19 @@ lbl_801EF350:
/* 801EF3C8 001EB028 7F E4 FB 78 */ mr r4, r31
/* 801EF3CC 001EB02C 7F E5 FB 78 */ mr r5, r31
/* 801EF3D0 001EB030 38 61 00 78 */ addi r3, r1, 0x78
-/* 801EF3D4 001EB034 48 08 D6 29 */ bl func_8027C9FC
+/* 801EF3D4 001EB034 48 08 D6 29 */ bl PSMTXMultVec
/* 801EF3D8 001EB038 38 9F 00 0C */ addi r4, r31, 0xc
/* 801EF3DC 001EB03C 38 61 00 78 */ addi r3, r1, 0x78
/* 801EF3E0 001EB040 7C 85 23 78 */ mr r5, r4
-/* 801EF3E4 001EB044 48 08 D6 6D */ bl func_8027CA50
+/* 801EF3E4 001EB044 48 08 D6 6D */ bl PSMTXMultVecSR
/* 801EF3E8 001EB048 38 9F 00 18 */ addi r4, r31, 0x18
/* 801EF3EC 001EB04C 38 61 00 78 */ addi r3, r1, 0x78
/* 801EF3F0 001EB050 7C 85 23 78 */ mr r5, r4
-/* 801EF3F4 001EB054 48 08 D6 5D */ bl func_8027CA50
+/* 801EF3F4 001EB054 48 08 D6 5D */ bl PSMTXMultVecSR
/* 801EF3F8 001EB058 38 9F 00 24 */ addi r4, r31, 0x24
/* 801EF3FC 001EB05C 38 61 00 78 */ addi r3, r1, 0x78
/* 801EF400 001EB060 7C 85 23 78 */ mr r5, r4
-/* 801EF404 001EB064 48 08 D6 4D */ bl func_8027CA50
+/* 801EF404 001EB064 48 08 D6 4D */ bl PSMTXMultVecSR
lbl_801EF408:
/* 801EF408 001EB068 3B 9C 00 01 */ addi r28, r28, 1
/* 801EF40C 001EB06C 3B FF 00 30 */ addi r31, r31, 0x30
@@ -23763,7 +23763,7 @@ func_801EF8CC:
/* 801EF908 001EB568 7C FE 3B 78 */ mr r30, r7
/* 801EF90C 001EB56C 7D 1F 43 78 */ mr r31, r8
/* 801EF910 001EB570 38 81 00 60 */ addi r4, r1, 0x60
-/* 801EF914 001EB574 48 08 C6 45 */ bl func_8027BF58
+/* 801EF914 001EB574 48 08 C6 45 */ bl PSMTXCopy
/* 801EF918 001EB578 C1 1D 00 00 */ lfs f8, 0(r29)
/* 801EF91C 001EB57C 2C 1C 00 00 */ cmpwi r28, 0
/* 801EF920 001EB580 C0 FD 00 04 */ lfs f7, 4(r29)
@@ -23797,7 +23797,7 @@ lbl_801EF988:
/* 801EF98C 001EB5EC 38 63 32 B0 */ addi r3, r3, lbl_804932B0@l
lbl_801EF990:
/* 801EF990 001EB5F0 38 81 00 30 */ addi r4, r1, 0x30
-/* 801EF994 001EB5F4 48 08 C7 15 */ bl func_8027C0A8
+/* 801EF994 001EB5F4 48 08 C7 15 */ bl PSMTXInverse
/* 801EF998 001EB5F8 38 81 00 60 */ addi r4, r1, 0x60
/* 801EF99C 001EB5FC 38 61 00 30 */ addi r3, r1, 0x30
/* 801EF9A0 001EB600 7C 85 23 78 */ mr r5, r4
@@ -23805,15 +23805,15 @@ lbl_801EF990:
/* 801EF9A8 001EB608 38 81 00 20 */ addi r4, r1, 0x20
/* 801EF9AC 001EB60C 38 61 00 30 */ addi r3, r1, 0x30
/* 801EF9B0 001EB610 7C 85 23 78 */ mr r5, r4
-/* 801EF9B4 001EB614 48 08 D0 49 */ bl func_8027C9FC
+/* 801EF9B4 001EB614 48 08 D0 49 */ bl PSMTXMultVec
/* 801EF9B8 001EB618 38 81 00 14 */ addi r4, r1, 0x14
/* 801EF9BC 001EB61C 38 61 00 30 */ addi r3, r1, 0x30
/* 801EF9C0 001EB620 7C 85 23 78 */ mr r5, r4
-/* 801EF9C4 001EB624 48 08 D0 8D */ bl func_8027CA50
+/* 801EF9C4 001EB624 48 08 D0 8D */ bl PSMTXMultVecSR
/* 801EF9C8 001EB628 38 81 00 08 */ addi r4, r1, 8
/* 801EF9CC 001EB62C 38 61 00 30 */ addi r3, r1, 0x30
/* 801EF9D0 001EB630 7C 85 23 78 */ mr r5, r4
-/* 801EF9D4 001EB634 48 08 D0 7D */ bl func_8027CA50
+/* 801EF9D4 001EB634 48 08 D0 7D */ bl PSMTXMultVecSR
lbl_801EF9D8:
/* 801EF9D8 001EB638 88 1B 00 1A */ lbz r0, 0x1a(r27)
/* 801EF9DC 001EB63C 38 BB 00 04 */ addi r5, r27, 4
@@ -24526,7 +24526,7 @@ lbl_801F0374:
/* 801F03A4 001EC004 48 08 BB E9 */ bl PSMTXConcat
/* 801F03A8 001EC008 38 61 00 18 */ addi r3, r1, 0x18
/* 801F03AC 001EC00C 38 9F 00 D0 */ addi r4, r31, 0xd0
-/* 801F03B0 001EC010 48 08 BB A9 */ bl func_8027BF58
+/* 801F03B0 001EC010 48 08 BB A9 */ bl PSMTXCopy
lbl_801F03B4:
/* 801F03B4 001EC014 C0 22 97 E0 */ lfs f1, lbl_80641DE0-_SDA2_BASE_(r2)
/* 801F03B8 001EC018 7F E6 FB 78 */ mr r6, r31
@@ -24935,7 +24935,7 @@ lbl_801F08E0:
/* 801F0920 001EC580 4B FE E1 1D */ bl func_801DEA3C
/* 801F0924 001EC584 38 61 00 48 */ addi r3, r1, 0x48
/* 801F0928 001EC588 38 9F 00 D0 */ addi r4, r31, 0xd0
-/* 801F092C 001EC58C 48 08 B6 2D */ bl func_8027BF58
+/* 801F092C 001EC58C 48 08 B6 2D */ bl PSMTXCopy
/* 801F0930 001EC590 80 9F 01 68 */ lwz r4, 0x168(r31)
/* 801F0934 001EC594 2C 04 00 00 */ cmpwi r4, 0
/* 801F0938 001EC598 41 82 00 1C */ beq lbl_801F0954
@@ -24944,7 +24944,7 @@ lbl_801F08E0:
/* 801F0944 001EC5A4 48 08 B6 49 */ bl PSMTXConcat
/* 801F0948 001EC5A8 38 61 00 18 */ addi r3, r1, 0x18
/* 801F094C 001EC5AC 38 9F 00 D0 */ addi r4, r31, 0xd0
-/* 801F0950 001EC5B0 48 08 B6 09 */ bl func_8027BF58
+/* 801F0950 001EC5B0 48 08 B6 09 */ bl PSMTXCopy
lbl_801F0954:
/* 801F0954 001EC5B4 C0 22 97 E0 */ lfs f1, lbl_80641DE0-_SDA2_BASE_(r2)
/* 801F0958 001EC5B8 7F E6 FB 78 */ mr r6, r31
@@ -25280,7 +25280,7 @@ lbl_801F0D8C:
/* 801F0DD8 001ECA38 80 96 00 04 */ lwz r4, 4(r22)
/* 801F0DDC 001ECA3C 38 61 00 08 */ addi r3, r1, 8
/* 801F0DE0 001ECA40 38 84 00 64 */ addi r4, r4, 0x64
-/* 801F0DE4 001ECA44 48 08 B1 75 */ bl func_8027BF58
+/* 801F0DE4 001ECA44 48 08 B1 75 */ bl PSMTXCopy
/* 801F0DE8 001ECA48 80 76 00 04 */ lwz r3, 4(r22)
/* 801F0DEC 001ECA4C 80 03 00 00 */ lwz r0, 0(r3)
/* 801F0DF0 001ECA50 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
@@ -26127,7 +26127,7 @@ func_801F19A8:
/* 801F19DC 001ED63C 41 82 00 2C */ beq lbl_801F1A08
/* 801F19E0 001ED640 38 A1 00 08 */ addi r5, r1, 8
/* 801F19E4 001ED644 38 63 00 D0 */ addi r3, r3, 0xd0
-/* 801F19E8 001ED648 48 08 B0 15 */ bl func_8027C9FC
+/* 801F19E8 001ED648 48 08 B0 15 */ bl PSMTXMultVec
/* 801F19EC 001ED64C C0 41 00 08 */ lfs f2, 8(r1)
/* 801F19F0 001ED650 C0 21 00 0C */ lfs f1, 0xc(r1)
/* 801F19F4 001ED654 C0 01 00 10 */ lfs f0, 0x10(r1)
@@ -26146,7 +26146,7 @@ lbl_801F1A20:
/* 801F1A20 001ED680 38 61 00 14 */ addi r3, r1, 0x14
/* 801F1A24 001ED684 7F C4 F3 78 */ mr r4, r30
/* 801F1A28 001ED688 7C 65 1B 78 */ mr r5, r3
-/* 801F1A2C 001ED68C 48 08 B2 BD */ bl func_8027CCE8
+/* 801F1A2C 001ED68C 48 08 B2 BD */ bl PSVECSubtract
/* 801F1A30 001ED690 7F E4 FB 78 */ mr r4, r31
/* 801F1A34 001ED694 38 61 00 14 */ addi r3, r1, 0x14
/* 801F1A38 001ED698 48 08 B3 91 */ bl PSQUATDotProduct
@@ -26247,7 +26247,7 @@ func_801F1AE8:
/* 801F1B9C 001ED7FC 90 9E 00 CC */ stw r4, 0xcc(r30)
/* 801F1BA0 001ED800 48 00 05 5D */ bl func_801F20FC
/* 801F1BA4 001ED804 38 7E 00 D0 */ addi r3, r30, 0xd0
-/* 801F1BA8 001ED808 48 08 A3 85 */ bl func_8027BF2C
+/* 801F1BA8 001ED808 48 08 A3 85 */ bl PSMTXIdentity
/* 801F1BAC 001ED80C 7F C3 F3 78 */ mr r3, r30
/* 801F1BB0 001ED810 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801F1BB4 001ED814 83 C1 00 08 */ lwz r30, 8(r1)
@@ -26319,7 +26319,7 @@ lbl_801F1CA4:
/* 801F1CAC 001ED90C 98 1E 00 12 */ stb r0, 0x12(r30)
/* 801F1CB0 001ED910 80 1C 00 18 */ lwz r0, 0x18(r28)
/* 801F1CB4 001ED914 90 1E 00 B0 */ stw r0, 0xb0(r30)
-/* 801F1CB8 001ED918 48 08 A2 75 */ bl func_8027BF2C
+/* 801F1CB8 001ED918 48 08 A2 75 */ bl PSMTXIdentity
/* 801F1CBC 001ED91C 80 0D A1 14 */ lwz r0, lbl_8063F3D4-_SDA_BASE_(r13)
/* 801F1CC0 001ED920 2C 00 00 00 */ cmpwi r0, 0
/* 801F1CC4 001ED924 40 82 00 0C */ bne lbl_801F1CD0
@@ -27318,7 +27318,7 @@ lbl_801F29A8:
/* 801F29B0 001EE610 C0 5E 00 74 */ lfs f2, 0x74(r30)
/* 801F29B4 001EE614 7C 64 1B 78 */ mr r4, r3
/* 801F29B8 001EE618 C0 7E 00 78 */ lfs f3, 0x78(r30)
-/* 801F29BC 001EE61C 48 08 9B AD */ bl func_8027C568
+/* 801F29BC 001EE61C 48 08 9B AD */ bl PSMTXScaleApply
lbl_801F29C0:
/* 801F29C0 001EE620 A0 7E 00 14 */ lhz r3, 0x14(r30)
/* 801F29C4 001EE624 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e
@@ -27330,7 +27330,7 @@ lbl_801F29C0:
/* 801F29DC 001EE63C 41 82 01 C4 */ beq lbl_801F2BA0
/* 801F29E0 001EE640 38 7F 00 D0 */ addi r3, r31, 0xd0
/* 801F29E4 001EE644 38 81 00 D0 */ addi r4, r1, 0xd0
-/* 801F29E8 001EE648 48 08 95 71 */ bl func_8027BF58
+/* 801F29E8 001EE648 48 08 95 71 */ bl PSMTXCopy
/* 801F29EC 001EE64C C0 21 00 D0 */ lfs f1, 0xd0(r1)
/* 801F29F0 001EE650 C0 01 00 E0 */ lfs f0, 0xe0(r1)
/* 801F29F4 001EE654 EC 21 00 72 */ fmuls f1, f1, f1
@@ -27442,10 +27442,10 @@ lbl_801F2B54:
/* 801F2B60 001EE7C0 EC 40 18 24 */ fdivs f2, f0, f3
/* 801F2B64 001EE7C4 EC 20 20 24 */ fdivs f1, f0, f4
/* 801F2B68 001EE7C8 EC 60 28 24 */ fdivs f3, f0, f5
-/* 801F2B6C 001EE7CC 48 08 99 FD */ bl func_8027C568
+/* 801F2B6C 001EE7CC 48 08 99 FD */ bl PSMTXScaleApply
/* 801F2B70 001EE7D0 38 61 00 48 */ addi r3, r1, 0x48
/* 801F2B74 001EE7D4 38 81 00 D0 */ addi r4, r1, 0xd0
-/* 801F2B78 001EE7D8 48 08 A6 4D */ bl func_8027D1C4
+/* 801F2B78 001EE7D8 48 08 A6 4D */ bl C_QUATMtx
/* 801F2B7C 001EE7DC C0 01 00 48 */ lfs f0, 0x48(r1)
/* 801F2B80 001EE7E0 D0 1E 00 60 */ stfs f0, 0x60(r30)
/* 801F2B84 001EE7E4 C0 01 00 4C */ lfs f0, 0x4c(r1)
@@ -27459,7 +27459,7 @@ lbl_801F2BA0:
/* 801F2BA0 001EE800 80 7E 00 C0 */ lwz r3, 0xc0(r30)
/* 801F2BA4 001EE804 38 81 00 A0 */ addi r4, r1, 0xa0
/* 801F2BA8 001EE808 38 63 00 D0 */ addi r3, r3, 0xd0
-/* 801F2BAC 001EE80C 48 08 93 AD */ bl func_8027BF58
+/* 801F2BAC 001EE80C 48 08 93 AD */ bl PSMTXCopy
/* 801F2BB0 001EE810 C0 21 00 A0 */ lfs f1, 0xa0(r1)
/* 801F2BB4 001EE814 C0 01 00 B0 */ lfs f0, 0xb0(r1)
/* 801F2BB8 001EE818 EC 21 00 72 */ fmuls f1, f1, f1
@@ -27571,10 +27571,10 @@ lbl_801F2D18:
/* 801F2D24 001EE984 EC 40 18 24 */ fdivs f2, f0, f3
/* 801F2D28 001EE988 EC 20 20 24 */ fdivs f1, f0, f4
/* 801F2D2C 001EE98C EC 60 28 24 */ fdivs f3, f0, f5
-/* 801F2D30 001EE990 48 08 98 39 */ bl func_8027C568
+/* 801F2D30 001EE990 48 08 98 39 */ bl PSMTXScaleApply
/* 801F2D34 001EE994 38 61 00 38 */ addi r3, r1, 0x38
/* 801F2D38 001EE998 38 81 00 A0 */ addi r4, r1, 0xa0
-/* 801F2D3C 001EE99C 48 08 A4 89 */ bl func_8027D1C4
+/* 801F2D3C 001EE99C 48 08 A4 89 */ bl C_QUATMtx
/* 801F2D40 001EE9A0 C0 01 00 38 */ lfs f0, 0x38(r1)
/* 801F2D44 001EE9A4 D0 1E 00 60 */ stfs f0, 0x60(r30)
/* 801F2D48 001EE9A8 C0 01 00 3C */ lfs f0, 0x3c(r1)
@@ -27593,7 +27593,7 @@ lbl_801F2D60:
lbl_801F2D78:
/* 801F2D78 001EE9D8 38 61 00 70 */ addi r3, r1, 0x70
/* 801F2D7C 001EE9DC 38 9E 00 60 */ addi r4, r30, 0x60
-/* 801F2D80 001EE9E0 48 08 98 41 */ bl func_8027C5C0
+/* 801F2D80 001EE9E0 48 08 98 41 */ bl PSMTXQuat
/* 801F2D84 001EE9E4 38 9E 00 D0 */ addi r4, r30, 0xd0
/* 801F2D88 001EE9E8 38 61 00 70 */ addi r3, r1, 0x70
/* 801F2D8C 001EE9EC 7C 85 23 78 */ mr r5, r4
@@ -27641,7 +27641,7 @@ lbl_801F2E1C:
/* 801F2E24 001EEA84 C0 5E 00 58 */ lfs f2, 0x58(r30)
/* 801F2E28 001EEA88 7C 64 1B 78 */ mr r4, r3
/* 801F2E2C 001EEA8C C0 7E 00 5C */ lfs f3, 0x5c(r30)
-/* 801F2E30 001EEA90 48 08 96 C5 */ bl func_8027C4F4
+/* 801F2E30 001EEA90 48 08 96 C5 */ bl PSMTXTransApply
lbl_801F2E34:
/* 801F2E34 001EEA94 A0 1E 00 14 */ lhz r0, 0x14(r30)
/* 801F2E38 001EEA98 54 00 05 F3 */ rlwinm. r0, r0, 0, 0x17, 0x19
@@ -27673,7 +27673,7 @@ func_801F2E68:
/* 801F2E90 001EEAF0 41 82 01 E4 */ beq lbl_801F3074
/* 801F2E94 001EEAF4 38 63 00 D0 */ addi r3, r3, 0xd0
/* 801F2E98 001EEAF8 38 81 00 C8 */ addi r4, r1, 0xc8
-/* 801F2E9C 001EEAFC 48 08 90 BD */ bl func_8027BF58
+/* 801F2E9C 001EEAFC 48 08 90 BD */ bl PSMTXCopy
/* 801F2EA0 001EEB00 C0 21 00 C8 */ lfs f1, 0xc8(r1)
/* 801F2EA4 001EEB04 C0 01 00 D8 */ lfs f0, 0xd8(r1)
/* 801F2EA8 001EEB08 EC 21 00 72 */ fmuls f1, f1, f1
@@ -27785,10 +27785,10 @@ lbl_801F3008:
/* 801F3014 001EEC74 EC 40 18 24 */ fdivs f2, f0, f3
/* 801F3018 001EEC78 EC 20 20 24 */ fdivs f1, f0, f4
/* 801F301C 001EEC7C EC 60 28 24 */ fdivs f3, f0, f5
-/* 801F3020 001EEC80 48 08 95 49 */ bl func_8027C568
+/* 801F3020 001EEC80 48 08 95 49 */ bl PSMTXScaleApply
/* 801F3024 001EEC84 38 61 00 78 */ addi r3, r1, 0x78
/* 801F3028 001EEC88 38 81 00 C8 */ addi r4, r1, 0xc8
-/* 801F302C 001EEC8C 48 08 A1 99 */ bl func_8027D1C4
+/* 801F302C 001EEC8C 48 08 A1 99 */ bl C_QUATMtx
/* 801F3030 001EEC90 80 7F 00 B4 */ lwz r3, 0xb4(r31)
/* 801F3034 001EEC94 C0 21 00 78 */ lfs f1, 0x78(r1)
/* 801F3038 001EEC98 D0 23 00 10 */ stfs f1, 0x10(r3)
@@ -27820,15 +27820,15 @@ lbl_801F3090:
/* 801F3098 001EECF8 38 7F 00 7C */ addi r3, r31, 0x7c
/* 801F309C 001EECFC 38 9F 00 20 */ addi r4, r31, 0x20
/* 801F30A0 001EED00 38 A1 00 60 */ addi r5, r1, 0x60
-/* 801F30A4 001EED04 48 08 9C 45 */ bl func_8027CCE8
+/* 801F30A4 001EED04 48 08 9C 45 */ bl PSVECSubtract
/* 801F30A8 001EED08 FC 20 F8 90 */ fmr f1, f31
/* 801F30AC 001EED0C 38 61 00 60 */ addi r3, r1, 0x60
/* 801F30B0 001EED10 38 81 00 6C */ addi r4, r1, 0x6c
-/* 801F30B4 001EED14 48 08 9C 59 */ bl func_8027CD0C
+/* 801F30B4 001EED14 48 08 9C 59 */ bl PSVECScale
/* 801F30B8 001EED18 38 7F 00 20 */ addi r3, r31, 0x20
/* 801F30BC 001EED1C 38 81 00 6C */ addi r4, r1, 0x6c
/* 801F30C0 001EED20 7C 65 1B 78 */ mr r5, r3
-/* 801F30C4 001EED24 48 08 9C 01 */ bl func_8027CCC4
+/* 801F30C4 001EED24 48 08 9C 01 */ bl PSVECAdd
/* 801F30C8 001EED28 A0 1F 00 10 */ lhz r0, 0x10(r31)
/* 801F30CC 001EED2C 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b
/* 801F30D0 001EED30 B0 1F 00 10 */ sth r0, 0x10(r31)
@@ -27901,7 +27901,7 @@ lbl_801F31A8:
/* 801F31C8 001EEE28 41 82 02 24 */ beq lbl_801F33EC
/* 801F31CC 001EEE2C 38 64 00 D0 */ addi r3, r4, 0xd0
/* 801F31D0 001EEE30 38 81 00 98 */ addi r4, r1, 0x98
-/* 801F31D4 001EEE34 48 08 8D 85 */ bl func_8027BF58
+/* 801F31D4 001EEE34 48 08 8D 85 */ bl PSMTXCopy
/* 801F31D8 001EEE38 C0 21 00 98 */ lfs f1, 0x98(r1)
/* 801F31DC 001EEE3C C0 01 00 A8 */ lfs f0, 0xa8(r1)
/* 801F31E0 001EEE40 EC 21 00 72 */ fmuls f1, f1, f1
@@ -28013,10 +28013,10 @@ lbl_801F3340:
/* 801F334C 001EEFAC EC 40 18 24 */ fdivs f2, f0, f3
/* 801F3350 001EEFB0 EC 20 20 24 */ fdivs f1, f0, f4
/* 801F3354 001EEFB4 EC 60 28 24 */ fdivs f3, f0, f5
-/* 801F3358 001EEFB8 48 08 92 11 */ bl func_8027C568
+/* 801F3358 001EEFB8 48 08 92 11 */ bl PSMTXScaleApply
/* 801F335C 001EEFBC 38 61 00 88 */ addi r3, r1, 0x88
/* 801F3360 001EEFC0 38 81 00 98 */ addi r4, r1, 0x98
-/* 801F3364 001EEFC4 48 08 9E 61 */ bl func_8027D1C4
+/* 801F3364 001EEFC4 48 08 9E 61 */ bl C_QUATMtx
/* 801F3368 001EEFC8 38 61 00 88 */ addi r3, r1, 0x88
/* 801F336C 001EEFCC 7C 64 1B 78 */ mr r4, r3
/* 801F3370 001EEFD0 48 08 9D 11 */ bl func_8027D080
@@ -28024,19 +28024,19 @@ lbl_801F3340:
/* 801F3378 001EEFD8 80 7F 00 B4 */ lwz r3, 0xb4(r31)
/* 801F337C 001EEFDC 80 84 00 B4 */ lwz r4, 0xb4(r4)
/* 801F3380 001EEFE0 7C 65 1B 78 */ mr r5, r3
-/* 801F3384 001EEFE4 48 08 9C A1 */ bl func_8027D024
+/* 801F3384 001EEFE4 48 08 9C A1 */ bl PSQUATMultiply
/* 801F3388 001EEFE8 80 7F 00 C0 */ lwz r3, 0xc0(r31)
/* 801F338C 001EEFEC 80 BF 00 B4 */ lwz r5, 0xb4(r31)
/* 801F3390 001EEFF0 80 83 00 B4 */ lwz r4, 0xb4(r3)
/* 801F3394 001EEFF4 38 65 00 10 */ addi r3, r5, 0x10
/* 801F3398 001EEFF8 38 84 00 10 */ addi r4, r4, 0x10
/* 801F339C 001EEFFC 7C 65 1B 78 */ mr r5, r3
-/* 801F33A0 001EF000 48 08 9C 85 */ bl func_8027D024
+/* 801F33A0 001EF000 48 08 9C 85 */ bl PSQUATMultiply
/* 801F33A4 001EF004 80 7F 00 B4 */ lwz r3, 0xb4(r31)
/* 801F33A8 001EF008 FC 20 F8 90 */ fmr f1, f31
/* 801F33AC 001EF00C 38 A1 00 50 */ addi r5, r1, 0x50
/* 801F33B0 001EF010 38 83 00 10 */ addi r4, r3, 0x10
-/* 801F33B4 001EF014 48 08 9F DD */ bl func_8027D390
+/* 801F33B4 001EF014 48 08 9F DD */ bl C_QUATSlerp
/* 801F33B8 001EF018 C0 01 00 50 */ lfs f0, 0x50(r1)
/* 801F33BC 001EF01C 38 7F 00 2C */ addi r3, r31, 0x2c
/* 801F33C0 001EF020 7C 65 1B 78 */ mr r5, r3
@@ -28048,14 +28048,14 @@ lbl_801F3340:
/* 801F33D8 001EF038 D0 1F 00 34 */ stfs f0, 0x34(r31)
/* 801F33DC 001EF03C C0 01 00 5C */ lfs f0, 0x5c(r1)
/* 801F33E0 001EF040 D0 1F 00 38 */ stfs f0, 0x38(r31)
-/* 801F33E4 001EF044 48 08 9C 41 */ bl func_8027D024
+/* 801F33E4 001EF044 48 08 9C 41 */ bl PSQUATMultiply
/* 801F33E8 001EF048 48 00 00 94 */ b lbl_801F347C
lbl_801F33EC:
/* 801F33EC 001EF04C 80 7F 00 B4 */ lwz r3, 0xb4(r31)
/* 801F33F0 001EF050 FC 20 F8 90 */ fmr f1, f31
/* 801F33F4 001EF054 38 A1 00 40 */ addi r5, r1, 0x40
/* 801F33F8 001EF058 38 83 00 10 */ addi r4, r3, 0x10
-/* 801F33FC 001EF05C 48 08 9F 95 */ bl func_8027D390
+/* 801F33FC 001EF05C 48 08 9F 95 */ bl C_QUATSlerp
/* 801F3400 001EF060 C0 01 00 40 */ lfs f0, 0x40(r1)
/* 801F3404 001EF064 D0 1F 00 2C */ stfs f0, 0x2c(r31)
/* 801F3408 001EF068 C0 01 00 44 */ lfs f0, 0x44(r1)
@@ -28080,7 +28080,7 @@ lbl_801F3448:
/* 801F344C 001EF0AC 38 7F 00 2C */ addi r3, r31, 0x2c
/* 801F3450 001EF0B0 38 9F 00 88 */ addi r4, r31, 0x88
/* 801F3454 001EF0B4 38 A1 00 30 */ addi r5, r1, 0x30
-/* 801F3458 001EF0B8 48 08 9F 39 */ bl func_8027D390
+/* 801F3458 001EF0B8 48 08 9F 39 */ bl C_QUATSlerp
/* 801F345C 001EF0BC C0 01 00 30 */ lfs f0, 0x30(r1)
/* 801F3460 001EF0C0 D0 1F 00 2C */ stfs f0, 0x2c(r31)
/* 801F3464 001EF0C4 C0 01 00 34 */ lfs f0, 0x34(r1)
@@ -28103,15 +28103,15 @@ lbl_801F3488:
/* 801F34A0 001EF100 38 7F 00 48 */ addi r3, r31, 0x48
/* 801F34A4 001EF104 7C 64 1B 78 */ mr r4, r3
/* 801F34A8 001EF108 EC 20 F8 28 */ fsubs f1, f0, f31
-/* 801F34AC 001EF10C 48 08 98 61 */ bl func_8027CD0C
+/* 801F34AC 001EF10C 48 08 98 61 */ bl PSVECScale
/* 801F34B0 001EF110 FC 20 F8 90 */ fmr f1, f31
/* 801F34B4 001EF114 38 7F 00 A4 */ addi r3, r31, 0xa4
/* 801F34B8 001EF118 38 81 00 20 */ addi r4, r1, 0x20
-/* 801F34BC 001EF11C 48 08 98 51 */ bl func_8027CD0C
+/* 801F34BC 001EF11C 48 08 98 51 */ bl PSVECScale
/* 801F34C0 001EF120 38 7F 00 48 */ addi r3, r31, 0x48
/* 801F34C4 001EF124 38 81 00 20 */ addi r4, r1, 0x20
/* 801F34C8 001EF128 7C 65 1B 78 */ mr r5, r3
-/* 801F34CC 001EF12C 48 08 97 F9 */ bl func_8027CCC4
+/* 801F34CC 001EF12C 48 08 97 F9 */ bl PSVECAdd
/* 801F34D0 001EF130 48 00 02 98 */ b lbl_801F3768
lbl_801F34D4:
/* 801F34D4 001EF134 C0 3F 00 48 */ lfs f1, 0x48(r31)
@@ -28344,14 +28344,14 @@ func_801F3790:
/* 801F37E4 001EF444 C0 5F 00 4C */ lfs f2, 0x4c(r31)
/* 801F37E8 001EF448 7C 64 1B 78 */ mr r4, r3
/* 801F37EC 001EF44C C0 7F 00 50 */ lfs f3, 0x50(r31)
-/* 801F37F0 001EF450 48 08 8D 79 */ bl func_8027C568
+/* 801F37F0 001EF450 48 08 8D 79 */ bl PSMTXScaleApply
/* 801F37F4 001EF454 80 BF 00 B0 */ lwz r5, 0xb0(r31)
/* 801F37F8 001EF458 38 7F 00 D0 */ addi r3, r31, 0xd0
/* 801F37FC 001EF45C 7C 64 1B 78 */ mr r4, r3
/* 801F3800 001EF460 C0 25 00 0C */ lfs f1, 0xc(r5)
/* 801F3804 001EF464 C0 45 00 10 */ lfs f2, 0x10(r5)
/* 801F3808 001EF468 C0 65 00 14 */ lfs f3, 0x14(r5)
-/* 801F380C 001EF46C 48 08 8C E9 */ bl func_8027C4F4
+/* 801F380C 001EF46C 48 08 8C E9 */ bl PSMTXTransApply
/* 801F3810 001EF470 A0 1F 00 10 */ lhz r0, 0x10(r31)
/* 801F3814 001EF474 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 801F3818 001EF478 41 82 00 1C */ beq lbl_801F3834
@@ -28364,7 +28364,7 @@ func_801F3790:
lbl_801F3834:
/* 801F3834 001EF494 38 61 00 38 */ addi r3, r1, 0x38
/* 801F3838 001EF498 38 9F 00 2C */ addi r4, r31, 0x2c
-/* 801F383C 001EF49C 48 08 8D 85 */ bl func_8027C5C0
+/* 801F383C 001EF49C 48 08 8D 85 */ bl PSMTXQuat
/* 801F3840 001EF4A0 38 9F 00 D0 */ addi r4, r31, 0xd0
/* 801F3844 001EF4A4 38 61 00 38 */ addi r3, r1, 0x38
/* 801F3848 001EF4A8 7C 85 23 78 */ mr r5, r4
@@ -28375,7 +28375,7 @@ lbl_801F3834:
/* 801F385C 001EF4BC C0 25 00 18 */ lfs f1, 0x18(r5)
/* 801F3860 001EF4C0 C0 45 00 1C */ lfs f2, 0x1c(r5)
/* 801F3864 001EF4C4 C0 65 00 20 */ lfs f3, 0x20(r5)
-/* 801F3868 001EF4C8 48 08 8C 8D */ bl func_8027C4F4
+/* 801F3868 001EF4C8 48 08 8C 8D */ bl PSMTXTransApply
/* 801F386C 001EF4CC 48 00 00 58 */ b lbl_801F38C4
lbl_801F3870:
/* 801F3870 001EF4D0 C0 3F 00 48 */ lfs f1, 0x48(r31)
@@ -28395,7 +28395,7 @@ lbl_801F3870:
lbl_801F38A8:
/* 801F38A8 001EF508 38 61 00 08 */ addi r3, r1, 8
/* 801F38AC 001EF50C 38 9F 00 2C */ addi r4, r31, 0x2c
-/* 801F38B0 001EF510 48 08 8D 11 */ bl func_8027C5C0
+/* 801F38B0 001EF510 48 08 8D 11 */ bl PSMTXQuat
/* 801F38B4 001EF514 38 9F 00 D0 */ addi r4, r31, 0xd0
/* 801F38B8 001EF518 38 61 00 08 */ addi r3, r1, 8
/* 801F38BC 001EF51C 7C 85 23 78 */ mr r5, r4
@@ -28406,7 +28406,7 @@ lbl_801F38C4:
/* 801F38CC 001EF52C C0 5F 00 24 */ lfs f2, 0x24(r31)
/* 801F38D0 001EF530 7C 64 1B 78 */ mr r4, r3
/* 801F38D4 001EF534 C0 7F 00 28 */ lfs f3, 0x28(r31)
-/* 801F38D8 001EF538 48 08 8C 1D */ bl func_8027C4F4
+/* 801F38D8 001EF538 48 08 8C 1D */ bl PSMTXTransApply
/* 801F38DC 001EF53C 7F E3 FB 78 */ mr r3, r31
/* 801F38E0 001EF540 4B FF EE 31 */ bl func_801F2710
/* 801F38E4 001EF544 A0 1F 00 10 */ lhz r0, 0x10(r31)
@@ -29457,9 +29457,9 @@ func_801F461C:
/* 801F4710 001F0370 93 A3 00 44 */ stw r29, 0x44(r3)
/* 801F4714 001F0374 93 A3 00 48 */ stw r29, 0x48(r3)
/* 801F4718 001F0378 38 63 00 4C */ addi r3, r3, 0x4c
-/* 801F471C 001F037C 48 08 78 11 */ bl func_8027BF2C
+/* 801F471C 001F037C 48 08 78 11 */ bl PSMTXIdentity
/* 801F4720 001F0380 38 7E 00 7C */ addi r3, r30, 0x7c
-/* 801F4724 001F0384 48 08 78 09 */ bl func_8027BF2C
+/* 801F4724 001F0384 48 08 78 09 */ bl PSMTXIdentity
/* 801F4728 001F0388 3C A0 80 49 */ lis r5, lbl_8049362C@ha
/* 801F472C 001F038C 38 7E 00 AC */ addi r3, r30, 0xac
/* 801F4730 001F0390 38 85 36 2C */ addi r4, r5, lbl_8049362C@l
@@ -29885,7 +29885,7 @@ func_801F4C98:
/* 801F4CC4 001F0924 38 63 01 2C */ addi r3, r3, 0x12c
/* 801F4CC8 001F0928 38 9D 01 20 */ addi r4, r29, 0x120
/* 801F4CCC 001F092C 38 A1 00 0C */ addi r5, r1, 0xc
-/* 801F4CD0 001F0930 48 08 80 19 */ bl func_8027CCE8
+/* 801F4CD0 001F0930 48 08 80 19 */ bl PSVECSubtract
/* 801F4CD4 001F0934 C0 21 00 0C */ lfs f1, 0xc(r1)
/* 801F4CD8 001F0938 C0 02 98 00 */ lfs f0, lbl_80641E00-_SDA2_BASE_(r2)
/* 801F4CDC 001F093C FC 01 00 40 */ fcmpo cr0, f1, f0
@@ -32135,7 +32135,7 @@ lbl_801F6A6C:
/* 801F6A70 001F26D0 38 63 32 B0 */ addi r3, r3, lbl_804932B0@l
lbl_801F6A74:
/* 801F6A74 001F26D4 38 81 00 18 */ addi r4, r1, 0x18
-/* 801F6A78 001F26D8 48 08 56 31 */ bl func_8027C0A8
+/* 801F6A78 001F26D8 48 08 56 31 */ bl PSMTXInverse
/* 801F6A7C 001F26DC 83 BF 00 2C */ lwz r29, 0x2c(r31)
/* 801F6A80 001F26E0 2C 1D 00 00 */ cmpwi r29, 0
/* 801F6A84 001F26E4 41 82 00 54 */ beq lbl_801F6AD8
@@ -32217,12 +32217,12 @@ lbl_801F6B70:
/* 801F6B94 001F27F4 D0 41 01 10 */ stfs f2, 0x110(r1)
/* 801F6B98 001F27F8 D0 21 01 14 */ stfs f1, 0x114(r1)
/* 801F6B9C 001F27FC D0 01 01 18 */ stfs f0, 0x118(r1)
-/* 801F6BA0 001F2800 48 08 61 89 */ bl func_8027CD28
+/* 801F6BA0 001F2800 48 08 61 89 */ bl PSVECNormalize
/* 801F6BA4 001F2804 3C 80 80 49 */ lis r4, lbl_80493614@ha
/* 801F6BA8 001F2808 38 61 01 10 */ addi r3, r1, 0x110
/* 801F6BAC 001F280C 38 84 36 14 */ addi r4, r4, lbl_80493614@l
/* 801F6BB0 001F2810 38 A1 00 A4 */ addi r5, r1, 0xa4
-/* 801F6BB4 001F2814 48 08 62 35 */ bl func_8027CDE8
+/* 801F6BB4 001F2814 48 08 62 35 */ bl PSVECCrossProduct
/* 801F6BB8 001F2818 C0 81 00 A4 */ lfs f4, 0xa4(r1)
/* 801F6BBC 001F281C C0 22 98 18 */ lfs f1, lbl_80641E18-_SDA2_BASE_(r2)
/* 801F6BC0 001F2820 C0 61 00 A8 */ lfs f3, 0xa8(r1)
@@ -32255,7 +32255,7 @@ lbl_801F6C14:
/* 801F6C20 001F2880 38 61 01 10 */ addi r3, r1, 0x110
/* 801F6C24 001F2884 38 84 36 20 */ addi r4, r4, lbl_80493620@l
/* 801F6C28 001F2888 38 A1 00 98 */ addi r5, r1, 0x98
-/* 801F6C2C 001F288C 48 08 61 BD */ bl func_8027CDE8
+/* 801F6C2C 001F288C 48 08 61 BD */ bl PSVECCrossProduct
/* 801F6C30 001F2890 C0 41 00 98 */ lfs f2, 0x98(r1)
/* 801F6C34 001F2894 C0 21 00 9C */ lfs f1, 0x9c(r1)
/* 801F6C38 001F2898 C0 01 00 A0 */ lfs f0, 0xa0(r1)
@@ -32265,11 +32265,11 @@ lbl_801F6C14:
lbl_801F6C48:
/* 801F6C48 001F28A8 38 61 01 04 */ addi r3, r1, 0x104
/* 801F6C4C 001F28AC 7C 64 1B 78 */ mr r4, r3
-/* 801F6C50 001F28B0 48 08 60 D9 */ bl func_8027CD28
+/* 801F6C50 001F28B0 48 08 60 D9 */ bl PSVECNormalize
/* 801F6C54 001F28B4 38 61 01 04 */ addi r3, r1, 0x104
/* 801F6C58 001F28B8 38 81 01 10 */ addi r4, r1, 0x110
/* 801F6C5C 001F28BC 38 A1 00 8C */ addi r5, r1, 0x8c
-/* 801F6C60 001F28C0 48 08 61 89 */ bl func_8027CDE8
+/* 801F6C60 001F28C0 48 08 61 89 */ bl PSVECCrossProduct
/* 801F6C64 001F28C4 C0 41 00 8C */ lfs f2, 0x8c(r1)
/* 801F6C68 001F28C8 C0 21 00 90 */ lfs f1, 0x90(r1)
/* 801F6C6C 001F28CC C0 01 00 94 */ lfs f0, 0x94(r1)
@@ -32388,7 +32388,7 @@ lbl_801F6DE8:
/* 801F6E0C 001F2A6C D0 06 00 04 */ stfs f0, 4(r6)
/* 801F6E10 001F2A70 C0 1A 00 08 */ lfs f0, 8(r26)
/* 801F6E14 001F2A74 D0 06 00 08 */ stfs f0, 8(r6)
-/* 801F6E18 001F2A78 48 08 5E D1 */ bl func_8027CCE8
+/* 801F6E18 001F2A78 48 08 5E D1 */ bl PSVECSubtract
/* 801F6E1C 001F2A7C C0 41 00 78 */ lfs f2, 0x78(r1)
/* 801F6E20 001F2A80 C0 21 00 74 */ lfs f1, 0x74(r1)
/* 801F6E24 001F2A84 C0 01 00 7C */ lfs f0, 0x7c(r1)
@@ -32415,7 +32415,7 @@ lbl_801F6E68:
/* 801F6E68 001F2AC8 EC 3E 10 24 */ fdivs f1, f30, f2
/* 801F6E6C 001F2ACC 38 61 00 D4 */ addi r3, r1, 0xd4
/* 801F6E70 001F2AD0 7C 64 1B 78 */ mr r4, r3
-/* 801F6E74 001F2AD4 48 08 5E 99 */ bl func_8027CD0C
+/* 801F6E74 001F2AD4 48 08 5E 99 */ bl PSVECScale
/* 801F6E78 001F2AD8 C0 1A 00 04 */ lfs f0, 4(r26)
/* 801F6E7C 001F2ADC FC 00 D8 40 */ fcmpo cr0, f0, f27
/* 801F6E80 001F2AE0 40 81 00 08 */ ble lbl_801F6E88
@@ -32426,11 +32426,11 @@ lbl_801F6E8C:
/* 801F6E8C 001F2AEC EC 3F 00 32 */ fmuls f1, f31, f0
/* 801F6E90 001F2AF0 38 61 00 D4 */ addi r3, r1, 0xd4
/* 801F6E94 001F2AF4 7C 64 1B 78 */ mr r4, r3
-/* 801F6E98 001F2AF8 48 08 5E 75 */ bl func_8027CD0C
+/* 801F6E98 001F2AF8 48 08 5E 75 */ bl PSVECScale
/* 801F6E9C 001F2AFC 7F 43 D3 78 */ mr r3, r26
/* 801F6EA0 001F2B00 38 81 00 D4 */ addi r4, r1, 0xd4
/* 801F6EA4 001F2B04 38 A1 00 68 */ addi r5, r1, 0x68
-/* 801F6EA8 001F2B08 48 08 5E 1D */ bl func_8027CCC4
+/* 801F6EA8 001F2B08 48 08 5E 1D */ bl PSVECAdd
/* 801F6EAC 001F2B0C 1C 9B 00 0C */ mulli r4, r27, 0xc
/* 801F6EB0 001F2B10 38 A1 02 30 */ addi r5, r1, 0x230
/* 801F6EB4 001F2B14 38 1B 00 01 */ addi r0, r27, 1
@@ -32446,7 +32446,7 @@ lbl_801F6E8C:
/* 801F6EDC 001F2B3C 7C 63 02 14 */ add r3, r3, r0
/* 801F6EE0 001F2B40 D0 05 00 14 */ stfs f0, 0x14(r5)
/* 801F6EE4 001F2B44 7C 65 1B 78 */ mr r5, r3
-/* 801F6EE8 001F2B48 48 08 5D DD */ bl func_8027CCC4
+/* 801F6EE8 001F2B48 48 08 5D DD */ bl PSVECAdd
/* 801F6EEC 001F2B4C 3B 39 00 01 */ addi r25, r25, 1
/* 801F6EF0 001F2B50 3B 5A 00 0C */ addi r26, r26, 0xc
/* 801F6EF4 001F2B54 28 19 00 08 */ cmplwi r25, 8
@@ -32569,7 +32569,7 @@ lbl_801F7078:
/* 801F709C 001F2CFC D0 41 00 E0 */ stfs f2, 0xe0(r1)
/* 801F70A0 001F2D00 D0 21 00 E4 */ stfs f1, 0xe4(r1)
/* 801F70A4 001F2D04 D0 01 00 E8 */ stfs f0, 0xe8(r1)
-/* 801F70A8 001F2D08 48 08 5C 41 */ bl func_8027CCE8
+/* 801F70A8 001F2D08 48 08 5C 41 */ bl PSVECSubtract
/* 801F70AC 001F2D0C C0 41 00 50 */ lfs f2, 0x50(r1)
/* 801F70B0 001F2D10 C0 01 00 54 */ lfs f0, 0x54(r1)
/* 801F70B4 001F2D14 C3 E1 00 58 */ lfs f31, 0x58(r1)
@@ -32611,11 +32611,11 @@ lbl_801F712C:
/* 801F712C 001F2D8C FC 20 E0 90 */ fmr f1, f28
/* 801F7130 001F2D90 38 61 01 10 */ addi r3, r1, 0x110
/* 801F7134 001F2D94 38 81 00 38 */ addi r4, r1, 0x38
-/* 801F7138 001F2D98 48 08 5B D5 */ bl func_8027CD0C
+/* 801F7138 001F2D98 48 08 5B D5 */ bl PSVECScale
/* 801F713C 001F2D9C 38 61 00 E0 */ addi r3, r1, 0xe0
/* 801F7140 001F2DA0 38 81 00 38 */ addi r4, r1, 0x38
/* 801F7144 001F2DA4 38 A1 00 44 */ addi r5, r1, 0x44
-/* 801F7148 001F2DA8 48 08 5B A1 */ bl func_8027CCE8
+/* 801F7148 001F2DA8 48 08 5B A1 */ bl PSVECSubtract
/* 801F714C 001F2DAC C0 61 00 44 */ lfs f3, 0x44(r1)
/* 801F7150 001F2DB0 FC 40 D8 50 */ fneg f2, f27
/* 801F7154 001F2DB4 C0 01 00 48 */ lfs f0, 0x48(r1)
@@ -32642,7 +32642,7 @@ lbl_801F712C:
/* 801F71A8 001F2E08 D0 1D 01 7C */ stfs f0, 0x17c(r29)
/* 801F71AC 001F2E0C D3 FD 01 80 */ stfs f31, 0x180(r29)
/* 801F71B0 001F2E10 90 1D 01 04 */ stw r0, 0x104(r29)
-/* 801F71B4 001F2E14 48 08 57 C1 */ bl func_8027C974
+/* 801F71B4 001F2E14 48 08 57 C1 */ bl C_MTXLightOrtho
/* 801F71B8 001F2E18 A0 1C 00 DC */ lhz r0, 0xdc(r28)
/* 801F71BC 001F2E1C 54 00 07 7A */ rlwinm r0, r0, 0, 0x1d, 0x1d
/* 801F71C0 001F2E20 2C 00 00 04 */ cmpwi r0, 4
@@ -32675,7 +32675,7 @@ lbl_801F7204:
/* 801F7228 001F2E88 D0 41 01 1C */ stfs f2, 0x11c(r1)
/* 801F722C 001F2E8C D0 21 01 20 */ stfs f1, 0x120(r1)
/* 801F7230 001F2E90 D0 01 01 24 */ stfs f0, 0x124(r1)
-/* 801F7234 001F2E94 48 08 5A B5 */ bl func_8027CCE8
+/* 801F7234 001F2E94 48 08 5A B5 */ bl PSVECSubtract
/* 801F7238 001F2E98 38 61 00 20 */ addi r3, r1, 0x20
/* 801F723C 001F2E9C 38 81 01 10 */ addi r4, r1, 0x110
/* 801F7240 001F2EA0 48 08 5B 89 */ bl PSQUATDotProduct
@@ -32707,7 +32707,7 @@ lbl_801F725C:
/* 801F72A4 001F2F04 D0 1D 01 80 */ stfs f0, 0x180(r29)
/* 801F72A8 001F2F08 90 1D 01 04 */ stw r0, 0x104(r29)
/* 801F72AC 001F2F0C D0 C1 00 08 */ stfs f6, 8(r1)
-/* 801F72B0 001F2F10 48 08 55 29 */ bl func_8027C7D8
+/* 801F72B0 001F2F10 48 08 55 29 */ bl C_MTXLightFrustum
/* 801F72B4 001F2F14 A0 1C 00 DC */ lhz r0, 0xdc(r28)
/* 801F72B8 001F2F18 54 00 07 7A */ rlwinm r0, r0, 0, 0x1d, 0x1d
/* 801F72BC 001F2F1C 2C 00 00 04 */ cmpwi r0, 4
@@ -32758,7 +32758,7 @@ lbl_801F7300:
/* 801F736C 001F2FCC 38 61 01 1C */ addi r3, r1, 0x11c
/* 801F7370 001F2FD0 38 81 01 10 */ addi r4, r1, 0x110
/* 801F7374 001F2FD4 38 A1 00 14 */ addi r5, r1, 0x14
-/* 801F7378 001F2FD8 48 08 59 4D */ bl func_8027CCC4
+/* 801F7378 001F2FD8 48 08 59 4D */ bl PSVECAdd
/* 801F737C 001F2FDC C0 01 01 1C */ lfs f0, 0x11c(r1)
/* 801F7380 001F2FE0 7F A4 EB 78 */ mr r4, r29
/* 801F7384 001F2FE4 80 1D 01 04 */ lwz r0, 0x104(r29)
@@ -32786,7 +32786,7 @@ lbl_801F7300:
/* 801F73DC 001F303C 48 03 BF 01 */ bl func_802332DC
/* 801F73E0 001F3040 38 7D 01 D4 */ addi r3, r29, 0x1d4
/* 801F73E4 001F3044 38 9C 00 4C */ addi r4, r28, 0x4c
-/* 801F73E8 001F3048 48 08 4B 71 */ bl func_8027BF58
+/* 801F73E8 001F3048 48 08 4B 71 */ bl PSMTXCopy
/* 801F73EC 001F304C 38 00 00 00 */ li r0, 0
/* 801F73F0 001F3050 3B C0 00 00 */ li r30, 0
/* 801F73F4 001F3054 90 0D A0 E8 */ stw r0, lbl_8063F3A8-_SDA_BASE_(r13)
@@ -33983,7 +33983,7 @@ lbl_801F83BC:
/* 801F8420 001F4080 D0 23 00 0C */ stfs f1, 0xc(r3)
/* 801F8424 001F4084 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 801F8428 001F4088 7F C3 F3 78 */ mr r3, r30
-/* 801F842C 001F408C 48 08 45 D1 */ bl func_8027C9FC
+/* 801F842C 001F408C 48 08 45 D1 */ bl PSMTXMultVec
/* 801F8430 001F4090 C0 5F 00 D8 */ lfs f2, 0xd8(r31)
/* 801F8434 001F4094 38 9D 00 14 */ addi r4, r29, 0x14
/* 801F8438 001F4098 C0 3F 00 E8 */ lfs f1, 0xe8(r31)
@@ -33996,13 +33996,13 @@ lbl_801F83BC:
/* 801F8454 001F40B4 D0 5D 00 14 */ stfs f2, 0x14(r29)
/* 801F8458 001F40B8 D0 3D 00 18 */ stfs f1, 0x18(r29)
/* 801F845C 001F40BC D0 1D 00 1C */ stfs f0, 0x1c(r29)
-/* 801F8460 001F40C0 48 08 45 F1 */ bl func_8027CA50
+/* 801F8460 001F40C0 48 08 45 F1 */ bl PSMTXMultVecSR
lbl_801F8464:
/* 801F8464 001F40C4 3C 80 80 49 */ lis r4, lbl_80493614@ha
/* 801F8468 001F40C8 38 7D 00 14 */ addi r3, r29, 0x14
/* 801F846C 001F40CC 38 84 36 14 */ addi r4, r4, lbl_80493614@l
/* 801F8470 001F40D0 38 A1 00 74 */ addi r5, r1, 0x74
-/* 801F8474 001F40D4 48 08 49 75 */ bl func_8027CDE8
+/* 801F8474 001F40D4 48 08 49 75 */ bl PSVECCrossProduct
/* 801F8478 001F40D8 C0 81 00 74 */ lfs f4, 0x74(r1)
/* 801F847C 001F40DC C0 22 98 18 */ lfs f1, lbl_80641E18-_SDA2_BASE_(r2)
/* 801F8480 001F40E0 C0 61 00 78 */ lfs f3, 0x78(r1)
@@ -34035,7 +34035,7 @@ lbl_801F84D4:
/* 801F84E0 001F4140 38 7D 00 14 */ addi r3, r29, 0x14
/* 801F84E4 001F4144 38 84 36 20 */ addi r4, r4, lbl_80493620@l
/* 801F84E8 001F4148 38 A1 00 68 */ addi r5, r1, 0x68
-/* 801F84EC 001F414C 48 08 48 FD */ bl func_8027CDE8
+/* 801F84EC 001F414C 48 08 48 FD */ bl PSVECCrossProduct
/* 801F84F0 001F4150 C0 41 00 68 */ lfs f2, 0x68(r1)
/* 801F84F4 001F4154 C0 21 00 6C */ lfs f1, 0x6c(r1)
/* 801F84F8 001F4158 C0 01 00 70 */ lfs f0, 0x70(r1)
@@ -34045,11 +34045,11 @@ lbl_801F84D4:
lbl_801F8508:
/* 801F8508 001F4168 38 61 00 B4 */ addi r3, r1, 0xb4
/* 801F850C 001F416C 7C 64 1B 78 */ mr r4, r3
-/* 801F8510 001F4170 48 08 48 19 */ bl func_8027CD28
+/* 801F8510 001F4170 48 08 48 19 */ bl PSVECNormalize
/* 801F8514 001F4174 38 61 00 B4 */ addi r3, r1, 0xb4
/* 801F8518 001F4178 38 9D 00 14 */ addi r4, r29, 0x14
/* 801F851C 001F417C 38 A1 00 5C */ addi r5, r1, 0x5c
-/* 801F8520 001F4180 48 08 48 C9 */ bl func_8027CDE8
+/* 801F8520 001F4180 48 08 48 C9 */ bl PSVECCrossProduct
/* 801F8524 001F4184 C0 01 00 5C */ lfs f0, 0x5c(r1)
/* 801F8528 001F4188 C0 41 00 60 */ lfs f2, 0x60(r1)
/* 801F852C 001F418C C0 21 00 64 */ lfs f1, 0x64(r1)
@@ -34067,7 +34067,7 @@ lbl_801F8558:
/* 801F8558 001F41B8 C0 3D 00 28 */ lfs f1, 0x28(r29)
/* 801F855C 001F41BC 38 61 00 98 */ addi r3, r1, 0x98
/* 801F8560 001F41C0 38 9D 00 14 */ addi r4, r29, 0x14
-/* 801F8564 001F41C4 48 08 4B C1 */ bl func_8027D124
+/* 801F8564 001F41C4 48 08 4B C1 */ bl C_QUATRotAxisRad
/* 801F8568 001F41C8 38 61 00 C0 */ addi r3, r1, 0xc0
/* 801F856C 001F41CC 38 81 00 98 */ addi r4, r1, 0x98
/* 801F8570 001F41D0 48 02 B4 9D */ bl func_80223A0C
@@ -34075,7 +34075,7 @@ lbl_801F8574:
/* 801F8574 001F41D4 C0 3D 00 20 */ lfs f1, 0x20(r29)
/* 801F8578 001F41D8 38 61 00 B4 */ addi r3, r1, 0xb4
/* 801F857C 001F41DC 38 81 00 50 */ addi r4, r1, 0x50
-/* 801F8580 001F41E0 48 08 47 8D */ bl func_8027CD0C
+/* 801F8580 001F41E0 48 08 47 8D */ bl PSVECScale
/* 801F8584 001F41E4 C0 41 00 50 */ lfs f2, 0x50(r1)
/* 801F8588 001F41E8 38 61 00 C0 */ addi r3, r1, 0xc0
/* 801F858C 001F41EC C0 21 00 54 */ lfs f1, 0x54(r1)
@@ -34085,28 +34085,28 @@ lbl_801F8574:
/* 801F859C 001F41FC D0 21 00 AC */ stfs f1, 0xac(r1)
/* 801F85A0 001F4200 D0 01 00 B0 */ stfs f0, 0xb0(r1)
/* 801F85A4 001F4204 C0 3D 00 24 */ lfs f1, 0x24(r29)
-/* 801F85A8 001F4208 48 08 47 65 */ bl func_8027CD0C
+/* 801F85A8 001F4208 48 08 47 65 */ bl PSVECScale
/* 801F85AC 001F420C 38 61 00 A8 */ addi r3, r1, 0xa8
/* 801F85B0 001F4210 38 81 00 44 */ addi r4, r1, 0x44
/* 801F85B4 001F4214 7C 65 1B 78 */ mr r5, r3
-/* 801F85B8 001F4218 48 08 47 0D */ bl func_8027CCC4
+/* 801F85B8 001F4218 48 08 47 0D */ bl PSVECAdd
/* 801F85BC 001F421C 38 7D 00 08 */ addi r3, r29, 8
/* 801F85C0 001F4220 38 9D 00 14 */ addi r4, r29, 0x14
/* 801F85C4 001F4224 38 A1 00 20 */ addi r5, r1, 0x20
-/* 801F85C8 001F4228 48 08 46 FD */ bl func_8027CCC4
+/* 801F85C8 001F4228 48 08 46 FD */ bl PSVECAdd
/* 801F85CC 001F422C 38 61 00 20 */ addi r3, r1, 0x20
/* 801F85D0 001F4230 38 81 00 A8 */ addi r4, r1, 0xa8
/* 801F85D4 001F4234 38 A1 00 2C */ addi r5, r1, 0x2c
-/* 801F85D8 001F4238 48 08 46 ED */ bl func_8027CCC4
+/* 801F85D8 001F4238 48 08 46 ED */ bl PSVECAdd
/* 801F85DC 001F423C 38 7D 00 08 */ addi r3, r29, 8
/* 801F85E0 001F4240 38 81 00 A8 */ addi r4, r1, 0xa8
/* 801F85E4 001F4244 38 A1 00 38 */ addi r5, r1, 0x38
-/* 801F85E8 001F4248 48 08 46 DD */ bl func_8027CCC4
+/* 801F85E8 001F4248 48 08 46 DD */ bl PSVECAdd
/* 801F85EC 001F424C 38 7D 00 40 */ addi r3, r29, 0x40
/* 801F85F0 001F4250 38 81 00 38 */ addi r4, r1, 0x38
/* 801F85F4 001F4254 38 A1 00 C0 */ addi r5, r1, 0xc0
/* 801F85F8 001F4258 38 C1 00 2C */ addi r6, r1, 0x2c
-/* 801F85FC 001F425C 48 08 40 69 */ bl func_8027C664
+/* 801F85FC 001F425C 48 08 40 69 */ bl C_MTXLookAt
/* 801F8600 001F4260 C0 A2 98 14 */ lfs f5, lbl_80641E14-_SDA2_BASE_(r2)
/* 801F8604 001F4264 38 61 01 00 */ addi r3, r1, 0x100
/* 801F8608 001F4268 C0 61 00 18 */ lfs f3, 0x18(r1)
@@ -34116,14 +34116,14 @@ lbl_801F8574:
/* 801F8618 001F4278 FC 20 10 50 */ fneg f1, f2
/* 801F861C 001F427C FC E0 28 90 */ fmr f7, f5
/* 801F8620 001F4280 FD 00 28 90 */ fmr f8, f5
-/* 801F8624 001F4284 48 08 43 51 */ bl func_8027C974
+/* 801F8624 001F4284 48 08 43 51 */ bl C_MTXLightOrtho
/* 801F8628 001F4288 7F C4 F3 78 */ mr r4, r30
/* 801F862C 001F428C 38 7D 00 40 */ addi r3, r29, 0x40
/* 801F8630 001F4290 38 A1 00 D0 */ addi r5, r1, 0xd0
/* 801F8634 001F4294 48 08 39 59 */ bl PSMTXConcat
/* 801F8638 001F4298 38 61 00 D0 */ addi r3, r1, 0xd0
/* 801F863C 001F429C 38 9D 00 40 */ addi r4, r29, 0x40
-/* 801F8640 001F42A0 48 08 39 19 */ bl func_8027BF58
+/* 801F8640 001F42A0 48 08 39 19 */ bl PSMTXCopy
/* 801F8644 001F42A4 38 9D 00 40 */ addi r4, r29, 0x40
/* 801F8648 001F42A8 38 61 01 00 */ addi r3, r1, 0x100
/* 801F864C 001F42AC 7C 85 23 78 */ mr r5, r4
@@ -34259,7 +34259,7 @@ lbl_801F880C:
/* 801F8810 001F4470 38 63 32 B0 */ addi r3, r3, lbl_804932B0@l
lbl_801F8814:
/* 801F8814 001F4474 38 81 00 20 */ addi r4, r1, 0x20
-/* 801F8818 001F4478 48 08 38 91 */ bl func_8027C0A8
+/* 801F8818 001F4478 48 08 38 91 */ bl PSMTXInverse
/* 801F881C 001F447C 93 9F 00 00 */ stw r28, 0(r31)
/* 801F8820 001F4480 38 9F 00 08 */ addi r4, r31, 8
/* 801F8824 001F4484 C0 5D 00 DC */ lfs f2, 0xdc(r29)
@@ -34274,7 +34274,7 @@ lbl_801F8814:
/* 801F8848 001F44A8 D0 21 00 18 */ stfs f1, 0x18(r1)
/* 801F884C 001F44AC D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 801F8850 001F44B0 D0 1F 00 10 */ stfs f0, 0x10(r31)
-/* 801F8854 001F44B4 48 08 41 A9 */ bl func_8027C9FC
+/* 801F8854 001F44B4 48 08 41 A9 */ bl PSMTXMultVec
/* 801F8858 001F44B8 C0 5D 00 D8 */ lfs f2, 0xd8(r29)
/* 801F885C 001F44BC 38 9F 00 14 */ addi r4, r31, 0x14
/* 801F8860 001F44C0 C0 3D 00 E8 */ lfs f1, 0xe8(r29)
@@ -34287,7 +34287,7 @@ lbl_801F8814:
/* 801F887C 001F44DC D0 21 00 0C */ stfs f1, 0xc(r1)
/* 801F8880 001F44E0 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 801F8884 001F44E4 D0 1F 00 1C */ stfs f0, 0x1c(r31)
-/* 801F8888 001F44E8 48 08 41 C9 */ bl func_8027CA50
+/* 801F8888 001F44E8 48 08 41 C9 */ bl PSMTXMultVecSR
/* 801F888C 001F44EC C0 42 98 00 */ lfs f2, lbl_80641E00-_SDA2_BASE_(r2)
/* 801F8890 001F44F0 38 60 00 FF */ li r3, 0xff
/* 801F8894 001F44F4 C0 22 98 04 */ lfs f1, lbl_80641E04-_SDA2_BASE_(r2)
@@ -34434,14 +34434,14 @@ lbl_801F8A80:
/* 801F8A84 001F46E4 38 63 32 B0 */ addi r3, r3, lbl_804932B0@l
lbl_801F8A88:
/* 801F8A88 001F46E8 38 81 00 20 */ addi r4, r1, 0x20
-/* 801F8A8C 001F46EC 48 08 36 1D */ bl func_8027C0A8
+/* 801F8A8C 001F46EC 48 08 36 1D */ bl PSMTXInverse
/* 801F8A90 001F46F0 93 FE 00 00 */ stw r31, 0(r30)
/* 801F8A94 001F46F4 3B E0 00 00 */ li r31, 0
/* 801F8A98 001F46F8 7F 64 DB 78 */ mr r4, r27
/* 801F8A9C 001F46FC 38 61 00 20 */ addi r3, r1, 0x20
/* 801F8AA0 001F4700 93 FE 00 04 */ stw r31, 4(r30)
/* 801F8AA4 001F4704 38 A1 00 14 */ addi r5, r1, 0x14
-/* 801F8AA8 001F4708 48 08 3F 55 */ bl func_8027C9FC
+/* 801F8AA8 001F4708 48 08 3F 55 */ bl PSMTXMultVec
/* 801F8AAC 001F470C C0 01 00 14 */ lfs f0, 0x14(r1)
/* 801F8AB0 001F4710 7F 84 E3 78 */ mr r4, r28
/* 801F8AB4 001F4714 38 61 00 20 */ addi r3, r1, 0x20
@@ -34451,7 +34451,7 @@ lbl_801F8A88:
/* 801F8AC4 001F4724 D0 1E 00 0C */ stfs f0, 0xc(r30)
/* 801F8AC8 001F4728 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 801F8ACC 001F472C D0 1E 00 10 */ stfs f0, 0x10(r30)
-/* 801F8AD0 001F4730 48 08 3F 81 */ bl func_8027CA50
+/* 801F8AD0 001F4730 48 08 3F 81 */ bl PSMTXMultVecSR
/* 801F8AD4 001F4734 C0 01 00 08 */ lfs f0, 8(r1)
/* 801F8AD8 001F4738 38 00 00 FF */ li r0, 0xff
/* 801F8ADC 001F473C C0 42 98 00 */ lfs f2, lbl_80641E00-_SDA2_BASE_(r2)
@@ -35163,7 +35163,7 @@ lbl_801F952C:
/* 801F9530 001F5190 41 82 00 2C */ beq lbl_801F955C
/* 801F9534 001F5194 38 65 00 D0 */ addi r3, r5, 0xd0
/* 801F9538 001F5198 38 A1 00 08 */ addi r5, r1, 8
-/* 801F953C 001F519C 48 08 34 C1 */ bl func_8027C9FC
+/* 801F953C 001F519C 48 08 34 C1 */ bl PSMTXMultVec
/* 801F9540 001F51A0 C0 41 00 08 */ lfs f2, 8(r1)
/* 801F9544 001F51A4 C0 21 00 0C */ lfs f1, 0xc(r1)
/* 801F9548 001F51A8 C0 01 00 10 */ lfs f0, 0x10(r1)
@@ -35190,7 +35190,7 @@ lbl_801F9590:
/* 801F9590 001F51F0 38 61 00 14 */ addi r3, r1, 0x14
/* 801F9594 001F51F4 7F C4 F3 78 */ mr r4, r30
/* 801F9598 001F51F8 7C 65 1B 78 */ mr r5, r3
-/* 801F959C 001F51FC 48 08 37 4D */ bl func_8027CCE8
+/* 801F959C 001F51FC 48 08 37 4D */ bl PSVECSubtract
/* 801F95A0 001F5200 7F E4 FB 78 */ mr r4, r31
/* 801F95A4 001F5204 38 61 00 14 */ addi r3, r1, 0x14
/* 801F95A8 001F5208 48 08 38 21 */ bl PSQUATDotProduct
@@ -35239,7 +35239,7 @@ lbl_801F9620:
/* 801F9644 001F52A4 C0 04 01 B4 */ lfs f0, 0x1b4(r4)
/* 801F9648 001F52A8 38 81 00 14 */ addi r4, r1, 0x14
/* 801F964C 001F52AC D0 01 00 1C */ stfs f0, 0x1c(r1)
-/* 801F9650 001F52B0 48 08 36 99 */ bl func_8027CCE8
+/* 801F9650 001F52B0 48 08 36 99 */ bl PSVECSubtract
/* 801F9654 001F52B4 83 DB 00 30 */ lwz r30, 0x30(r27)
/* 801F9658 001F52B8 2C 1E 00 00 */ cmpwi r30, 0
/* 801F965C 001F52BC 41 82 00 C0 */ beq lbl_801F971C
@@ -35709,7 +35709,7 @@ lbl_801F9C98:
/* 801F9CB4 001F5914 41 82 02 48 */ beq lbl_801F9EFC
/* 801F9CB8 001F5918 38 7F 00 D0 */ addi r3, r31, 0xd0
/* 801F9CBC 001F591C 38 81 00 70 */ addi r4, r1, 0x70
-/* 801F9CC0 001F5920 48 08 22 99 */ bl func_8027BF58
+/* 801F9CC0 001F5920 48 08 22 99 */ bl PSMTXCopy
/* 801F9CC4 001F5924 C0 21 00 70 */ lfs f1, 0x70(r1)
/* 801F9CC8 001F5928 C0 01 00 80 */ lfs f0, 0x80(r1)
/* 801F9CCC 001F592C EC 21 00 72 */ fmuls f1, f1, f1
@@ -35826,10 +35826,10 @@ lbl_801F9E40:
/* 801F9E4C 001F5AAC EC 40 18 24 */ fdivs f2, f0, f3
/* 801F9E50 001F5AB0 EC 20 20 24 */ fdivs f1, f0, f4
/* 801F9E54 001F5AB4 EC 60 28 24 */ fdivs f3, f0, f5
-/* 801F9E58 001F5AB8 48 08 27 11 */ bl func_8027C568
+/* 801F9E58 001F5AB8 48 08 27 11 */ bl PSMTXScaleApply
/* 801F9E5C 001F5ABC 38 61 00 20 */ addi r3, r1, 0x20
/* 801F9E60 001F5AC0 38 81 00 70 */ addi r4, r1, 0x70
-/* 801F9E64 001F5AC4 48 08 33 61 */ bl func_8027D1C4
+/* 801F9E64 001F5AC4 48 08 33 61 */ bl C_QUATMtx
/* 801F9E68 001F5AC8 80 7F 01 38 */ lwz r3, 0x138(r31)
/* 801F9E6C 001F5ACC C0 61 00 20 */ lfs f3, 0x20(r1)
/* 801F9E70 001F5AD0 C0 41 00 24 */ lfs f2, 0x24(r1)
@@ -35893,7 +35893,7 @@ lbl_801F9F20:
/* 801F9F44 001F5BA4 38 61 00 64 */ addi r3, r1, 0x64
/* 801F9F48 001F5BA8 38 9F 01 14 */ addi r4, r31, 0x114
/* 801F9F4C 001F5BAC 38 A1 00 08 */ addi r5, r1, 8
-/* 801F9F50 001F5BB0 48 08 2D 99 */ bl func_8027CCE8
+/* 801F9F50 001F5BB0 48 08 2D 99 */ bl PSVECSubtract
/* 801F9F54 001F5BB4 C0 22 98 44 */ lfs f1, lbl_80641E44-_SDA2_BASE_(r2)
/* 801F9F58 001F5BB8 38 61 00 08 */ addi r3, r1, 8
/* 801F9F5C 001F5BBC FC 1F 08 40 */ fcmpo cr0, f31, f1
@@ -35913,7 +35913,7 @@ lbl_801F9F88:
/* 801F9F88 001F5BE8 C0 02 98 4C */ lfs f0, lbl_80641E4C-_SDA2_BASE_(r2)
/* 801F9F8C 001F5BEC 38 81 00 14 */ addi r4, r1, 0x14
/* 801F9F90 001F5BF0 EC 20 F8 24 */ fdivs f1, f0, f31
-/* 801F9F94 001F5BF4 48 08 2D 79 */ bl func_8027CD0C
+/* 801F9F94 001F5BF4 48 08 2D 79 */ bl PSVECScale
/* 801F9F98 001F5BF8 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 801F9F9C 001F5BFC D0 1F 01 20 */ stfs f0, 0x120(r31)
/* 801F9FA0 001F5C00 C0 01 00 18 */ lfs f0, 0x18(r1)
@@ -43670,10 +43670,10 @@ func_80200F00:
/* 80200F5C 001FCBBC C0 04 01 B4 */ lfs f0, 0x1b4(r4)
/* 80200F60 001FCBC0 38 81 00 14 */ addi r4, r1, 0x14
/* 80200F64 001FCBC4 D0 01 00 1C */ stfs f0, 0x1c(r1)
-/* 80200F68 001FCBC8 48 07 BD 81 */ bl func_8027CCE8
+/* 80200F68 001FCBC8 48 07 BD 81 */ bl PSVECSubtract
/* 80200F6C 001FCBCC 38 61 00 08 */ addi r3, r1, 8
/* 80200F70 001FCBD0 7C 64 1B 78 */ mr r4, r3
-/* 80200F74 001FCBD4 48 07 BD B5 */ bl func_8027CD28
+/* 80200F74 001FCBD4 48 07 BD B5 */ bl PSVECNormalize
/* 80200F78 001FCBD8 83 7E 00 14 */ lwz r27, 0x14(r30)
/* 80200F7C 001FCBDC 2C 1B 00 00 */ cmpwi r27, 0
/* 80200F80 001FCBE0 41 82 01 38 */ beq lbl_802010B8
@@ -44318,7 +44318,7 @@ lbl_8020187C:
/* 80201894 001FD4F4 48 07 A6 F9 */ bl PSMTXConcat
/* 80201898 001FD4F8 38 61 00 70 */ addi r3, r1, 0x70
/* 8020189C 001FD4FC 38 81 00 A0 */ addi r4, r1, 0xa0
-/* 802018A0 001FD500 48 07 A6 B9 */ bl func_8027BF58
+/* 802018A0 001FD500 48 07 A6 B9 */ bl PSMTXCopy
/* 802018A4 001FD504 57 E4 06 3E */ clrlwi r4, r31, 0x18
/* 802018A8 001FD508 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13)
/* 802018AC 001FD50C 3A A4 00 0D */ addi r21, r4, 0xd
@@ -44913,7 +44913,7 @@ lbl_80202198:
/* 802021B4 001FDE14 48 07 9D D9 */ bl PSMTXConcat
/* 802021B8 001FDE18 38 61 00 40 */ addi r3, r1, 0x40
/* 802021BC 001FDE1C 38 81 00 A0 */ addi r4, r1, 0xa0
-/* 802021C0 001FDE20 48 07 9D 99 */ bl func_8027BF58
+/* 802021C0 001FDE20 48 07 9D 99 */ bl PSMTXCopy
/* 802021C4 001FDE24 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13)
/* 802021C8 001FDE28 38 A1 00 A0 */ addi r5, r1, 0xa0
/* 802021CC 001FDE2C 38 80 00 0D */ li r4, 0xd
@@ -44925,7 +44925,7 @@ lbl_80202198:
/* 802021E4 001FDE44 48 07 9D A9 */ bl PSMTXConcat
/* 802021E8 001FDE48 38 61 00 10 */ addi r3, r1, 0x10
/* 802021EC 001FDE4C 38 81 00 A0 */ addi r4, r1, 0xa0
-/* 802021F0 001FDE50 48 07 9D 69 */ bl func_8027BF58
+/* 802021F0 001FDE50 48 07 9D 69 */ bl PSMTXCopy
/* 802021F4 001FDE54 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13)
/* 802021F8 001FDE58 38 A1 00 A0 */ addi r5, r1, 0xa0
/* 802021FC 001FDE5C 38 80 00 0E */ li r4, 0xe
@@ -46045,10 +46045,10 @@ func_8020313C:
/* 80203198 001FEDF8 C0 04 01 B4 */ lfs f0, 0x1b4(r4)
/* 8020319C 001FEDFC 38 81 00 14 */ addi r4, r1, 0x14
/* 802031A0 001FEE00 D0 01 00 1C */ stfs f0, 0x1c(r1)
-/* 802031A4 001FEE04 48 07 9B 45 */ bl func_8027CCE8
+/* 802031A4 001FEE04 48 07 9B 45 */ bl PSVECSubtract
/* 802031A8 001FEE08 38 61 00 08 */ addi r3, r1, 8
/* 802031AC 001FEE0C 7C 64 1B 78 */ mr r4, r3
-/* 802031B0 001FEE10 48 07 9B 79 */ bl func_8027CD28
+/* 802031B0 001FEE10 48 07 9B 79 */ bl PSVECNormalize
/* 802031B4 001FEE14 83 7E 00 10 */ lwz r27, 0x10(r30)
/* 802031B8 001FEE18 2C 1B 00 00 */ cmpwi r27, 0
/* 802031BC 001FEE1C 41 82 01 38 */ beq lbl_802032F4
@@ -47349,10 +47349,10 @@ func_802043B0:
/* 802043D8 00200038 48 02 EF 05 */ bl func_802332DC
/* 802043DC 0020003C 38 7E 01 D4 */ addi r3, r30, 0x1d4
/* 802043E0 00200040 38 9F 00 00 */ addi r4, r31, 0
-/* 802043E4 00200044 48 07 7B 75 */ bl func_8027BF58
+/* 802043E4 00200044 48 07 7B 75 */ bl PSMTXCopy
/* 802043E8 00200048 38 7F 00 30 */ addi r3, r31, 0x30
/* 802043EC 0020004C 38 9E 02 04 */ addi r4, r30, 0x204
-/* 802043F0 00200050 48 07 8D D5 */ bl func_8027D1C4
+/* 802043F0 00200050 48 07 8D D5 */ bl C_QUATMtx
/* 802043F4 00200054 C0 1E 01 AC */ lfs f0, 0x1ac(r30)
/* 802043F8 00200058 38 9F 00 40 */ addi r4, r31, 0x40
/* 802043FC 0020005C 38 7E 01 C4 */ addi r3, r30, 0x1c4
@@ -47362,10 +47362,10 @@ func_802043B0:
/* 8020440C 0020006C D0 04 00 04 */ stfs f0, 4(r4)
/* 80204410 00200070 C0 1E 01 B4 */ lfs f0, 0x1b4(r30)
/* 80204414 00200074 D0 04 00 08 */ stfs f0, 8(r4)
-/* 80204418 00200078 48 07 88 D1 */ bl func_8027CCE8
+/* 80204418 00200078 48 07 88 D1 */ bl PSVECSubtract
/* 8020441C 0020007C 38 61 00 14 */ addi r3, r1, 0x14
/* 80204420 00200080 7C 64 1B 78 */ mr r4, r3
-/* 80204424 00200084 48 07 89 05 */ bl func_8027CD28
+/* 80204424 00200084 48 07 89 05 */ bl PSVECNormalize
/* 80204428 00200088 C0 41 00 14 */ lfs f2, 0x14(r1)
/* 8020442C 0020008C 38 7F 00 4C */ addi r3, r31, 0x4c
/* 80204430 00200090 C0 21 00 18 */ lfs f1, 0x18(r1)
@@ -47388,7 +47388,7 @@ lbl_80204458:
/* 80204470 002000D0 D0 04 00 04 */ stfs f0, 4(r4)
/* 80204474 002000D4 C0 1E 01 C0 */ lfs f0, 0x1c0(r30)
/* 80204478 002000D8 D0 04 00 08 */ stfs f0, 8(r4)
-/* 8020447C 002000DC 48 07 89 6D */ bl func_8027CDE8
+/* 8020447C 002000DC 48 07 89 6D */ bl PSVECCrossProduct
/* 80204480 002000E0 C0 41 00 08 */ lfs f2, 8(r1)
/* 80204484 002000E4 38 7F 00 64 */ addi r3, r31, 0x64
/* 80204488 002000E8 C0 21 00 0C */ lfs f1, 0xc(r1)
@@ -47482,7 +47482,7 @@ func_802044C4:
/* 802045DC 0020023C D0 5D 00 4C */ stfs f2, 0x4c(r29)
/* 802045E0 00200240 D0 23 00 04 */ stfs f1, 4(r3)
/* 802045E4 00200244 D0 03 00 08 */ stfs f0, 8(r3)
-/* 802045E8 00200248 48 07 88 01 */ bl func_8027CDE8
+/* 802045E8 00200248 48 07 88 01 */ bl PSVECCrossProduct
/* 802045EC 0020024C C0 61 00 08 */ lfs f3, 8(r1)
/* 802045F0 00200250 3C C0 80 49 */ lis r6, lbl_8049362C@ha
/* 802045F4 00200254 C0 02 99 44 */ lfs f0, lbl_80641F44-_SDA2_BASE_(r2)
@@ -47497,36 +47497,36 @@ func_802044C4:
/* 80204618 00200278 D0 47 00 04 */ stfs f2, 4(r7)
/* 8020461C 0020027C D0 27 00 08 */ stfs f1, 8(r7)
/* 80204620 00200280 D0 0D A1 CC */ stfs f0, lbl_8063F48C-_SDA_BASE_(r13)
-/* 80204624 00200284 48 07 80 41 */ bl func_8027C664
+/* 80204624 00200284 48 07 80 41 */ bl C_MTXLookAt
/* 80204628 00200288 38 7D 00 00 */ addi r3, r29, 0
/* 8020462C 0020028C 38 81 00 50 */ addi r4, r1, 0x50
-/* 80204630 00200290 48 07 7A 79 */ bl func_8027C0A8
+/* 80204630 00200290 48 07 7A 79 */ bl PSMTXInverse
/* 80204634 00200294 38 61 00 50 */ addi r3, r1, 0x50
/* 80204638 00200298 38 81 00 B0 */ addi r4, r1, 0xb0
-/* 8020463C 0020029C 48 07 79 1D */ bl func_8027BF58
+/* 8020463C 0020029C 48 07 79 1D */ bl PSMTXCopy
/* 80204640 002002A0 38 61 00 B0 */ addi r3, r1, 0xb0
/* 80204644 002002A4 38 81 00 20 */ addi r4, r1, 0x20
-/* 80204648 002002A8 48 07 7A 11 */ bl func_8027C058
+/* 80204648 002002A8 48 07 7A 11 */ bl PSMTXTranspose
/* 8020464C 002002AC 38 61 00 20 */ addi r3, r1, 0x20
/* 80204650 002002B0 38 81 00 80 */ addi r4, r1, 0x80
-/* 80204654 002002B4 48 07 79 05 */ bl func_8027BF58
+/* 80204654 002002B4 48 07 79 05 */ bl PSMTXCopy
/* 80204658 002002B8 38 7D 00 30 */ addi r3, r29, 0x30
/* 8020465C 002002BC 38 81 00 B0 */ addi r4, r1, 0xb0
-/* 80204660 002002C0 48 07 8B 65 */ bl func_8027D1C4
+/* 80204660 002002C0 48 07 8B 65 */ bl C_QUATMtx
/* 80204664 002002C4 80 8D A3 D8 */ lwz r4, lbl_8063F698-_SDA_BASE_(r13)
/* 80204668 002002C8 38 7D 00 00 */ addi r3, r29, 0
/* 8020466C 002002CC 83 A4 16 E8 */ lwz r29, 0x16e8(r4)
/* 80204670 002002D0 80 9D 00 04 */ lwz r4, 4(r29)
/* 80204674 002002D4 38 84 00 04 */ addi r4, r4, 4
-/* 80204678 002002D8 48 07 78 E1 */ bl func_8027BF58
+/* 80204678 002002D8 48 07 78 E1 */ bl PSMTXCopy
/* 8020467C 002002DC 80 9D 00 04 */ lwz r4, 4(r29)
/* 80204680 002002E0 38 61 00 B0 */ addi r3, r1, 0xb0
/* 80204684 002002E4 38 84 00 34 */ addi r4, r4, 0x34
-/* 80204688 002002E8 48 07 78 D1 */ bl func_8027BF58
+/* 80204688 002002E8 48 07 78 D1 */ bl PSMTXCopy
/* 8020468C 002002EC 80 9D 00 04 */ lwz r4, 4(r29)
/* 80204690 002002F0 38 61 00 80 */ addi r3, r1, 0x80
/* 80204694 002002F4 38 84 00 64 */ addi r4, r4, 0x64
-/* 80204698 002002F8 48 07 78 C1 */ bl func_8027BF58
+/* 80204698 002002F8 48 07 78 C1 */ bl PSMTXCopy
/* 8020469C 002002FC 80 9D 00 04 */ lwz r4, 4(r29)
/* 802046A0 00200300 38 00 00 01 */ li r0, 1
/* 802046A4 00200304 80 64 00 00 */ lwz r3, 0(r4)
@@ -51591,7 +51591,7 @@ lbl_80207E38:
/* 80207E3C 00203A9C 7F A4 EB 78 */ mr r4, r29
/* 80207E40 00203AA0 38 61 00 50 */ addi r3, r1, 0x50
/* 80207E44 00203AA4 EC 21 00 32 */ fmuls f1, f1, f0
-/* 80207E48 00203AA8 48 07 52 DD */ bl func_8027D124
+/* 80207E48 00203AA8 48 07 52 DD */ bl C_QUATRotAxisRad
/* 80207E4C 00203AAC C0 1E 00 28 */ lfs f0, 0x28(r30)
/* 80207E50 00203AB0 7F 83 E3 78 */ mr r3, r28
/* 80207E54 00203AB4 38 81 00 50 */ addi r4, r1, 0x50
@@ -51661,7 +51661,7 @@ lbl_80207F28:
/* 80207F34 00203B94 7F 84 E3 78 */ mr r4, r28
/* 80207F38 00203B98 EC 21 00 B2 */ fmuls f1, f1, f2
/* 80207F3C 00203B9C EC 21 00 2A */ fadds f1, f1, f0
-/* 80207F40 00203BA0 48 07 4D CD */ bl func_8027CD0C
+/* 80207F40 00203BA0 48 07 4D CD */ bl PSVECScale
/* 80207F44 00203BA4 48 00 00 14 */ b lbl_80207F58
lbl_80207F48:
/* 80207F48 00203BA8 C0 02 99 90 */ lfs f0, lbl_80641F90-_SDA2_BASE_(r2)
@@ -51731,7 +51731,7 @@ lbl_80207FEC:
lbl_80208028:
/* 80208028 00203C88 38 61 00 60 */ addi r3, r1, 0x60
/* 8020802C 00203C8C 7C 64 1B 78 */ mr r4, r3
-/* 80208030 00203C90 48 07 4C DD */ bl func_8027CD0C
+/* 80208030 00203C90 48 07 4C DD */ bl PSVECScale
/* 80208034 00203C94 C0 1E 00 04 */ lfs f0, 4(r30)
/* 80208038 00203C98 38 61 00 60 */ addi r3, r1, 0x60
/* 8020803C 00203C9C 7C 65 1B 78 */ mr r5, r3
@@ -51741,11 +51741,11 @@ lbl_80208028:
/* 8020804C 00203CAC D0 01 00 48 */ stfs f0, 0x48(r1)
/* 80208050 00203CB0 C0 1E 00 0C */ lfs f0, 0xc(r30)
/* 80208054 00203CB4 D0 01 00 4C */ stfs f0, 0x4c(r1)
-/* 80208058 00203CB8 48 07 4C 6D */ bl func_8027CCC4
+/* 80208058 00203CB8 48 07 4C 6D */ bl PSVECAdd
/* 8020805C 00203CBC 7F 83 E3 78 */ mr r3, r28
/* 80208060 00203CC0 7F 85 E3 78 */ mr r5, r28
/* 80208064 00203CC4 38 81 00 60 */ addi r4, r1, 0x60
-/* 80208068 00203CC8 48 07 4C 5D */ bl func_8027CCC4
+/* 80208068 00203CC8 48 07 4C 5D */ bl PSVECAdd
/* 8020806C 00203CCC C0 1C 00 00 */ lfs f0, 0(r28)
/* 80208070 00203CD0 C0 42 99 94 */ lfs f2, lbl_80641F94-_SDA2_BASE_(r2)
/* 80208074 00203CD4 FC 00 10 40 */ fcmpo cr0, f0, f2
@@ -51773,7 +51773,7 @@ lbl_802080BC:
/* 802080C0 00203D20 40 82 00 2C */ bne lbl_802080EC
/* 802080C4 00203D24 7F 83 E3 78 */ mr r3, r28
/* 802080C8 00203D28 38 81 00 38 */ addi r4, r1, 0x38
-/* 802080CC 00203D2C 48 07 4C 5D */ bl func_8027CD28
+/* 802080CC 00203D2C 48 07 4C 5D */ bl PSVECNormalize
/* 802080D0 00203D30 C0 01 00 38 */ lfs f0, 0x38(r1)
/* 802080D4 00203D34 D0 1D 00 00 */ stfs f0, 0(r29)
/* 802080D8 00203D38 C0 01 00 3C */ lfs f0, 0x3c(r1)
@@ -51856,7 +51856,7 @@ lbl_802081BC:
/* 802081E0 00203E40 D0 01 00 30 */ stfs f0, 0x30(r1)
/* 802081E4 00203E44 C0 1E 00 18 */ lfs f0, 0x18(r30)
/* 802081E8 00203E48 D0 01 00 34 */ stfs f0, 0x34(r1)
-/* 802081EC 00203E4C 48 07 4F 39 */ bl func_8027D124
+/* 802081EC 00203E4C 48 07 4F 39 */ bl C_QUATRotAxisRad
/* 802081F0 00203E50 C0 1E 00 04 */ lfs f0, 4(r30)
/* 802081F4 00203E54 7F A3 EB 78 */ mr r3, r29
/* 802081F8 00203E58 38 81 00 50 */ addi r4, r1, 0x50
@@ -51933,7 +51933,7 @@ lbl_802082D4:
/* 802082F0 00203F50 D0 01 00 24 */ stfs f0, 0x24(r1)
/* 802082F4 00203F54 C0 1E 00 0C */ lfs f0, 0xc(r30)
/* 802082F8 00203F58 D0 01 00 28 */ stfs f0, 0x28(r1)
-/* 802082FC 00203F5C 48 07 4E 29 */ bl func_8027D124
+/* 802082FC 00203F5C 48 07 4E 29 */ bl C_QUATRotAxisRad
/* 80208300 00203F60 7F A3 EB 78 */ mr r3, r29
/* 80208304 00203F64 38 81 00 50 */ addi r4, r1, 0x50
/* 80208308 00203F68 48 01 B7 05 */ bl func_80223A0C
@@ -51997,7 +51997,7 @@ lbl_802083C4:
/* 802083D0 00204030 38 81 00 14 */ addi r4, r1, 0x14
/* 802083D4 00204034 EC 21 00 B2 */ fmuls f1, f1, f2
/* 802083D8 00204038 EC 21 00 2A */ fadds f1, f1, f0
-/* 802083DC 0020403C 48 07 49 31 */ bl func_8027CD0C
+/* 802083DC 0020403C 48 07 49 31 */ bl PSVECScale
/* 802083E0 00204040 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 802083E4 00204044 D0 1C 00 00 */ stfs f0, 0(r28)
/* 802083E8 00204048 C0 01 00 18 */ lfs f0, 0x18(r1)
@@ -52073,7 +52073,7 @@ lbl_802084D4:
/* 802084D8 00204138 7F A4 EB 78 */ mr r4, r29
/* 802084DC 0020413C 38 61 00 50 */ addi r3, r1, 0x50
/* 802084E0 00204140 EC 21 00 32 */ fmuls f1, f1, f0
-/* 802084E4 00204144 48 07 4C 41 */ bl func_8027D124
+/* 802084E4 00204144 48 07 4C 41 */ bl C_QUATRotAxisRad
/* 802084E8 00204148 C0 1E 00 1C */ lfs f0, 0x1c(r30)
/* 802084EC 0020414C 7F 83 E3 78 */ mr r3, r28
/* 802084F0 00204150 38 81 00 50 */ addi r4, r1, 0x50
@@ -52143,7 +52143,7 @@ lbl_802085C4:
/* 802085D0 00204230 7F 84 E3 78 */ mr r4, r28
/* 802085D4 00204234 EC 21 00 B2 */ fmuls f1, f1, f2
/* 802085D8 00204238 EC 21 00 2A */ fadds f1, f1, f0
-/* 802085DC 0020423C 48 07 47 31 */ bl func_8027CD0C
+/* 802085DC 0020423C 48 07 47 31 */ bl PSVECScale
/* 802085E0 00204240 C0 1E 00 04 */ lfs f0, 4(r30)
/* 802085E4 00204244 7F 83 E3 78 */ mr r3, r28
/* 802085E8 00204248 7F 85 E3 78 */ mr r5, r28
@@ -52153,7 +52153,7 @@ lbl_802085C4:
/* 802085F8 00204258 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 802085FC 0020425C C0 1E 00 0C */ lfs f0, 0xc(r30)
/* 80208600 00204260 D0 01 00 10 */ stfs f0, 0x10(r1)
-/* 80208604 00204264 48 07 46 C1 */ bl func_8027CCC4
+/* 80208604 00204264 48 07 46 C1 */ bl PSVECAdd
/* 80208608 00204268 48 00 00 20 */ b lbl_80208628
lbl_8020860C:
/* 8020860C 0020426C C0 02 99 90 */ lfs f0, lbl_80641F90-_SDA2_BASE_(r2)
@@ -52234,7 +52234,7 @@ lbl_802086C0:
/* 80208720 00204380 D0 01 00 28 */ stfs f0, 0x28(r1)
/* 80208724 00204384 EC 02 00 F2 */ fmuls f0, f2, f3
/* 80208728 00204388 EC 21 00 2A */ fadds f1, f1, f0
-/* 8020872C 0020438C 48 07 49 F9 */ bl func_8027D124
+/* 8020872C 0020438C 48 07 49 F9 */ bl C_QUATRotAxisRad
/* 80208730 00204390 C0 1E 00 04 */ lfs f0, 4(r30)
/* 80208734 00204394 7F A3 EB 78 */ mr r3, r29
/* 80208738 00204398 38 81 00 30 */ addi r4, r1, 0x30
@@ -52270,7 +52270,7 @@ lbl_802086C0:
/* 802087B0 00204410 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 802087B4 00204414 EC 02 00 F2 */ fmuls f0, f2, f3
/* 802087B8 00204418 EC 21 00 32 */ fmuls f1, f1, f0
-/* 802087BC 0020441C 48 07 49 69 */ bl func_8027D124
+/* 802087BC 0020441C 48 07 49 69 */ bl C_QUATRotAxisRad
/* 802087C0 00204420 7F A3 EB 78 */ mr r3, r29
/* 802087C4 00204424 38 81 00 30 */ addi r4, r1, 0x30
/* 802087C8 00204428 48 01 B2 45 */ bl func_80223A0C
@@ -52333,7 +52333,7 @@ lbl_80208880:
/* 8020888C 002044EC 7F A4 EB 78 */ mr r4, r29
/* 80208890 002044F0 EC 21 00 B2 */ fmuls f1, f1, f2
/* 80208894 002044F4 EC 21 00 2A */ fadds f1, f1, f0
-/* 80208898 002044F8 48 07 44 75 */ bl func_8027CD0C
+/* 80208898 002044F8 48 07 44 75 */ bl PSVECScale
/* 8020889C 002044FC 48 00 01 00 */ b lbl_8020899C
lbl_802088A0:
/* 802088A0 00204500 55 00 06 B5 */ rlwinm. r0, r8, 0, 0x1a, 0x1a
@@ -52395,7 +52395,7 @@ lbl_80208954:
/* 80208960 002045C0 38 81 00 08 */ addi r4, r1, 8
/* 80208964 002045C4 EC 21 00 B2 */ fmuls f1, f1, f2
/* 80208968 002045C8 EC 21 00 2A */ fadds f1, f1, f0
-/* 8020896C 002045CC 48 07 43 A1 */ bl func_8027CD0C
+/* 8020896C 002045CC 48 07 43 A1 */ bl PSVECScale
/* 80208970 002045D0 C0 01 00 08 */ lfs f0, 8(r1)
/* 80208974 002045D4 D0 1D 00 00 */ stfs f0, 0(r29)
/* 80208978 002045D8 C0 01 00 0C */ lfs f0, 0xc(r1)
@@ -52513,7 +52513,7 @@ lbl_80208AE8:
/* 80208B20 00204780 FC 20 88 90 */ fmr f1, f17
/* 80208B24 00204784 38 7D 00 14 */ addi r3, r29, 0x14
/* 80208B28 00204788 38 81 00 E4 */ addi r4, r1, 0xe4
-/* 80208B2C 0020478C 48 07 41 E1 */ bl func_8027CD0C
+/* 80208B2C 0020478C 48 07 41 E1 */ bl PSVECScale
/* 80208B30 00204790 C0 41 00 E4 */ lfs f2, 0xe4(r1)
/* 80208B34 00204794 38 7D 00 08 */ addi r3, r29, 8
/* 80208B38 00204798 C0 21 00 E8 */ lfs f1, 0xe8(r1)
@@ -52523,7 +52523,7 @@ lbl_80208AE8:
/* 80208B48 002047A8 D0 41 00 F0 */ stfs f2, 0xf0(r1)
/* 80208B4C 002047AC D0 21 00 F4 */ stfs f1, 0xf4(r1)
/* 80208B50 002047B0 D0 01 00 F8 */ stfs f0, 0xf8(r1)
-/* 80208B54 002047B4 48 07 41 71 */ bl func_8027CCC4
+/* 80208B54 002047B4 48 07 41 71 */ bl PSVECAdd
/* 80208B58 002047B8 48 01 AC D9 */ bl func_80223830
/* 80208B5C 002047BC 80 03 00 00 */ lwz r0, 0(r3)
/* 80208B60 002047C0 93 E1 01 00 */ stw r31, 0x100(r1)
@@ -52566,15 +52566,15 @@ lbl_80208AE8:
/* 80208BF4 00204854 38 77 00 AC */ addi r3, r23, 0xac
/* 80208BF8 00204858 38 97 00 D4 */ addi r4, r23, 0xd4
/* 80208BFC 0020485C 38 A1 00 94 */ addi r5, r1, 0x94
-/* 80208C00 00204860 48 07 40 E9 */ bl func_8027CCE8
+/* 80208C00 00204860 48 07 40 E9 */ bl PSVECSubtract
/* 80208C04 00204864 FC 20 90 90 */ fmr f1, f18
/* 80208C08 00204868 38 61 00 94 */ addi r3, r1, 0x94
/* 80208C0C 0020486C 38 81 00 88 */ addi r4, r1, 0x88
-/* 80208C10 00204870 48 07 40 FD */ bl func_8027CD0C
+/* 80208C10 00204870 48 07 40 FD */ bl PSVECScale
/* 80208C14 00204874 38 61 00 88 */ addi r3, r1, 0x88
/* 80208C18 00204878 38 97 00 D4 */ addi r4, r23, 0xd4
/* 80208C1C 0020487C 38 A1 00 D8 */ addi r5, r1, 0xd8
-/* 80208C20 00204880 48 07 40 A5 */ bl func_8027CCC4
+/* 80208C20 00204880 48 07 40 A5 */ bl PSVECAdd
/* 80208C24 00204884 C0 01 00 D8 */ lfs f0, 0xd8(r1)
/* 80208C28 00204888 FC 20 90 90 */ fmr f1, f18
/* 80208C2C 0020488C 38 77 00 E0 */ addi r3, r23, 0xe0
@@ -52585,7 +52585,7 @@ lbl_80208AE8:
/* 80208C40 002048A0 D0 1D 00 24 */ stfs f0, 0x24(r29)
/* 80208C44 002048A4 C0 01 00 E0 */ lfs f0, 0xe0(r1)
/* 80208C48 002048A8 D0 1D 00 28 */ stfs f0, 0x28(r29)
-/* 80208C4C 002048AC 48 07 47 45 */ bl func_8027D390
+/* 80208C4C 002048AC 48 07 47 45 */ bl C_QUATSlerp
/* 80208C50 002048B0 C0 01 00 C8 */ lfs f0, 0xc8(r1)
/* 80208C54 002048B4 38 77 00 C8 */ addi r3, r23, 0xc8
/* 80208C58 002048B8 38 97 00 F0 */ addi r4, r23, 0xf0
@@ -52597,15 +52597,15 @@ lbl_80208AE8:
/* 80208C70 002048D0 D0 1D 00 34 */ stfs f0, 0x34(r29)
/* 80208C74 002048D4 C0 01 00 D4 */ lfs f0, 0xd4(r1)
/* 80208C78 002048D8 D0 1D 00 38 */ stfs f0, 0x38(r29)
-/* 80208C7C 002048DC 48 07 40 6D */ bl func_8027CCE8
+/* 80208C7C 002048DC 48 07 40 6D */ bl PSVECSubtract
/* 80208C80 002048E0 FC 20 90 90 */ fmr f1, f18
/* 80208C84 002048E4 38 61 00 7C */ addi r3, r1, 0x7c
/* 80208C88 002048E8 38 81 00 70 */ addi r4, r1, 0x70
-/* 80208C8C 002048EC 48 07 40 81 */ bl func_8027CD0C
+/* 80208C8C 002048EC 48 07 40 81 */ bl PSVECScale
/* 80208C90 002048F0 38 61 00 70 */ addi r3, r1, 0x70
/* 80208C94 002048F4 38 97 00 F0 */ addi r4, r23, 0xf0
/* 80208C98 002048F8 38 A1 00 B8 */ addi r5, r1, 0xb8
-/* 80208C9C 002048FC 48 07 40 29 */ bl func_8027CCC4
+/* 80208C9C 002048FC 48 07 40 29 */ bl PSVECAdd
/* 80208CA0 00204900 C0 01 00 B8 */ lfs f0, 0xb8(r1)
/* 80208CA4 00204904 D0 1D 00 3C */ stfs f0, 0x3c(r29)
/* 80208CA8 00204908 C0 01 00 BC */ lfs f0, 0xbc(r1)
@@ -52618,7 +52618,7 @@ lbl_80208AE8:
/* 80208CC4 00204924 38 7D 00 08 */ addi r3, r29, 8
/* 80208CC8 00204928 38 9D 00 20 */ addi r4, r29, 0x20
/* 80208CCC 0020492C 7C 65 1B 78 */ mr r5, r3
-/* 80208CD0 00204930 48 07 40 19 */ bl func_8027CCE8
+/* 80208CD0 00204930 48 07 40 19 */ bl PSVECSubtract
/* 80208CD4 00204934 38 7D 00 2C */ addi r3, r29, 0x2c
/* 80208CD8 00204938 38 81 00 60 */ addi r4, r1, 0x60
/* 80208CDC 0020493C 48 07 43 A5 */ bl func_8027D080
@@ -52701,19 +52701,19 @@ lbl_80208DDC:
/* 80208DE4 00204A44 38 7D 00 14 */ addi r3, r29, 0x14
/* 80208DE8 00204A48 38 97 00 14 */ addi r4, r23, 0x14
/* 80208DEC 00204A4C 7C 65 1B 78 */ mr r5, r3
-/* 80208DF0 00204A50 48 07 3E D5 */ bl func_8027CCC4
+/* 80208DF0 00204A50 48 07 3E D5 */ bl PSVECAdd
/* 80208DF4 00204A54 38 7D 00 08 */ addi r3, r29, 8
/* 80208DF8 00204A58 38 9D 00 20 */ addi r4, r29, 0x20
/* 80208DFC 00204A5C 38 A1 00 A0 */ addi r5, r1, 0xa0
-/* 80208E00 00204A60 48 07 3E E9 */ bl func_8027CCE8
+/* 80208E00 00204A60 48 07 3E E9 */ bl PSVECSubtract
/* 80208E04 00204A64 38 77 00 94 */ addi r3, r23, 0x94
/* 80208E08 00204A68 38 81 00 A0 */ addi r4, r1, 0xa0
/* 80208E0C 00204A6C 38 A1 00 AC */ addi r5, r1, 0xac
-/* 80208E10 00204A70 48 07 3F D9 */ bl func_8027CDE8
+/* 80208E10 00204A70 48 07 3F D9 */ bl PSVECCrossProduct
/* 80208E14 00204A74 38 7D 00 14 */ addi r3, r29, 0x14
/* 80208E18 00204A78 38 81 00 AC */ addi r4, r1, 0xac
/* 80208E1C 00204A7C 7C 65 1B 78 */ mr r5, r3
-/* 80208E20 00204A80 48 07 3E A5 */ bl func_8027CCC4
+/* 80208E20 00204A80 48 07 3E A5 */ bl PSVECAdd
/* 80208E24 00204A84 48 00 01 28 */ b lbl_80208F4C
lbl_80208E28:
/* 80208E28 00204A88 A0 1A 00 00 */ lhz r0, 0(r26)
@@ -52722,7 +52722,7 @@ lbl_80208E28:
/* 80208E34 00204A94 38 7D 00 08 */ addi r3, r29, 8
/* 80208E38 00204A98 38 97 00 AC */ addi r4, r23, 0xac
/* 80208E3C 00204A9C 7C 65 1B 78 */ mr r5, r3
-/* 80208E40 00204AA0 48 07 3E A9 */ bl func_8027CCE8
+/* 80208E40 00204AA0 48 07 3E A9 */ bl PSVECSubtract
/* 80208E44 00204AA4 38 77 00 B8 */ addi r3, r23, 0xb8
/* 80208E48 00204AA8 38 81 00 30 */ addi r4, r1, 0x30
/* 80208E4C 00204AAC 48 07 42 35 */ bl func_8027D080
@@ -53055,7 +53055,7 @@ lbl_802092D4:
/* 802092DC 00204F3C 38 A1 00 18 */ addi r5, r1, 0x18
/* 802092E0 00204F40 D0 03 00 C4 */ stfs f0, 0xc4(r3)
/* 802092E4 00204F44 38 63 00 08 */ addi r3, r3, 8
-/* 802092E8 00204F48 48 07 39 DD */ bl func_8027CCC4
+/* 802092E8 00204F48 48 07 39 DD */ bl PSVECAdd
/* 802092EC 00204F4C C0 41 00 18 */ lfs f2, 0x18(r1)
/* 802092F0 00204F50 38 7F 00 84 */ addi r3, r31, 0x84
/* 802092F4 00204F54 C0 21 00 1C */ lfs f1, 0x1c(r1)
@@ -53065,7 +53065,7 @@ lbl_802092D4:
/* 80209304 00204F64 D0 41 00 28 */ stfs f2, 0x28(r1)
/* 80209308 00204F68 D0 21 00 2C */ stfs f1, 0x2c(r1)
/* 8020930C 00204F6C D0 01 00 30 */ stfs f0, 0x30(r1)
-/* 80209310 00204F70 48 07 3D 15 */ bl func_8027D024
+/* 80209310 00204F70 48 07 3D 15 */ bl PSQUATMultiply
/* 80209314 00204F74 C0 61 00 08 */ lfs f3, 8(r1)
/* 80209318 00204F78 38 7F 00 AC */ addi r3, r31, 0xac
/* 8020931C 00204F7C C0 41 00 0C */ lfs f2, 0xc(r1)
@@ -53735,7 +53735,7 @@ lbl_80209C60:
/* 80209CB0 00205910 80 8D A1 F0 */ lwz r4, lbl_8063F4B0-_SDA_BASE_(r13)
/* 80209CB4 00205914 38 63 00 0C */ addi r3, r3, 0xc
/* 80209CB8 00205918 38 84 01 20 */ addi r4, r4, 0x120
-/* 80209CBC 0020591C 48 07 34 19 */ bl func_8027D0D4
+/* 80209CBC 0020591C 48 07 34 19 */ bl PSQUATDivide
/* 80209CC0 00205920 C0 61 00 10 */ lfs f3, 0x10(r1)
/* 80209CC4 00205924 38 61 00 20 */ addi r3, r1, 0x20
/* 80209CC8 00205928 C0 41 00 14 */ lfs f2, 0x14(r1)
@@ -53987,7 +53987,7 @@ lbl_80209FE0:
/* 80209FFC 00205C5C 38 7C 00 68 */ addi r3, r28, 0x68
/* 8020A000 00205C60 38 81 00 30 */ addi r4, r1, 0x30
/* 8020A004 00205C64 7C 65 1B 78 */ mr r5, r3
-/* 8020A008 00205C68 48 07 30 1D */ bl func_8027D024
+/* 8020A008 00205C68 48 07 30 1D */ bl PSQUATMultiply
lbl_8020A00C:
/* 8020A00C 00205C6C 80 7E 01 28 */ lwz r3, 0x128(r30)
/* 8020A010 00205C70 2C 03 00 00 */ cmpwi r3, 0
@@ -54402,11 +54402,11 @@ func_8020A4E0:
/* 8020A568 002061C8 D0 41 00 0C */ stfs f2, 0xc(r1)
/* 8020A56C 002061CC D0 21 00 10 */ stfs f1, 0x10(r1)
/* 8020A570 002061D0 D0 01 00 14 */ stfs f0, 0x14(r1)
-/* 8020A574 002061D4 48 07 2A B1 */ bl func_8027D024
+/* 8020A574 002061D4 48 07 2A B1 */ bl PSQUATMultiply
/* 8020A578 002061D8 38 7C 00 B8 */ addi r3, r28, 0xb8
/* 8020A57C 002061DC 38 9F 22 20 */ addi r4, r31, 0x2220
/* 8020A580 002061E0 7C 65 1B 78 */ mr r5, r3
-/* 8020A584 002061E4 48 07 2A A1 */ bl func_8027D024
+/* 8020A584 002061E4 48 07 2A A1 */ bl PSQUATMultiply
/* 8020A588 002061E8 48 00 00 20 */ b lbl_8020A5A8
lbl_8020A58C:
/* 8020A58C 002061EC 81 9E 00 1C */ lwz r12, 0x1c(r30)
@@ -55098,7 +55098,7 @@ lbl_8020AEDC:
/* 8020AEDC 00206B3C 38 7D 00 AC */ addi r3, r29, 0xac
/* 8020AEE0 00206B40 38 9E 22 30 */ addi r4, r30, 0x2230
/* 8020AEE4 00206B44 38 A1 00 14 */ addi r5, r1, 0x14
-/* 8020AEE8 00206B48 48 07 1E 01 */ bl func_8027CCE8
+/* 8020AEE8 00206B48 48 07 1E 01 */ bl PSVECSubtract
/* 8020AEEC 00206B4C 38 7F 22 3C */ addi r3, r31, 0x223c
/* 8020AEF0 00206B50 38 81 00 14 */ addi r4, r1, 0x14
/* 8020AEF4 00206B54 48 07 1E D5 */ bl PSQUATDotProduct
@@ -55110,7 +55110,7 @@ lbl_8020AF08:
/* 8020AF08 00206B68 38 7C 00 AC */ addi r3, r28, 0xac
/* 8020AF0C 00206B6C 38 9E 22 30 */ addi r4, r30, 0x2230
/* 8020AF10 00206B70 38 A1 00 08 */ addi r5, r1, 8
-/* 8020AF14 00206B74 48 07 1D D5 */ bl func_8027CCE8
+/* 8020AF14 00206B74 48 07 1D D5 */ bl PSVECSubtract
/* 8020AF18 00206B78 38 7F 22 3C */ addi r3, r31, 0x223c
/* 8020AF1C 00206B7C 38 81 00 08 */ addi r4, r1, 8
/* 8020AF20 00206B80 48 07 1E A9 */ bl PSQUATDotProduct
@@ -55210,7 +55210,7 @@ func_8020B028:
/* 8020B068 00206CC8 38 A1 00 28 */ addi r5, r1, 0x28
/* 8020B06C 00206CCC D0 21 00 6C */ stfs f1, 0x6c(r1)
/* 8020B070 00206CD0 D0 01 00 70 */ stfs f0, 0x70(r1)
-/* 8020B074 00206CD4 48 07 1D 75 */ bl func_8027CDE8
+/* 8020B074 00206CD4 48 07 1D 75 */ bl PSVECCrossProduct
/* 8020B078 00206CD8 C0 01 00 28 */ lfs f0, 0x28(r1)
/* 8020B07C 00206CDC C0 42 99 94 */ lfs f2, lbl_80641F94-_SDA2_BASE_(r2)
/* 8020B080 00206CE0 FC 00 10 40 */ fcmpo cr0, f0, f2
@@ -55281,7 +55281,7 @@ lbl_8020B164:
/* 8020B168 00206DC8 C0 22 99 B0 */ lfs f1, lbl_80641FB0-_SDA2_BASE_(r2)
/* 8020B16C 00206DCC 38 61 00 58 */ addi r3, r1, 0x58
/* 8020B170 00206DD0 38 84 36 08 */ addi r4, r4, lbl_80493608@l
-/* 8020B174 00206DD4 48 07 1F B1 */ bl func_8027D124
+/* 8020B174 00206DD4 48 07 1F B1 */ bl C_QUATRotAxisRad
/* 8020B178 00206DD8 48 00 00 58 */ b lbl_8020B1D0
lbl_8020B17C:
/* 8020B17C 00206DDC 3C 60 80 49 */ lis r3, lbl_80493620@ha
@@ -55307,7 +55307,7 @@ lbl_8020B1BC:
lbl_8020B1C4:
/* 8020B1C4 00206E24 38 61 00 58 */ addi r3, r1, 0x58
/* 8020B1C8 00206E28 38 81 00 28 */ addi r4, r1, 0x28
-/* 8020B1CC 00206E2C 48 07 1F 59 */ bl func_8027D124
+/* 8020B1CC 00206E2C 48 07 1F 59 */ bl C_QUATRotAxisRad
lbl_8020B1D0:
/* 8020B1D0 00206E30 80 9F 00 00 */ lwz r4, 0(r31)
/* 8020B1D4 00206E34 38 61 00 68 */ addi r3, r1, 0x68
@@ -55330,7 +55330,7 @@ lbl_8020B1D0:
/* 8020B218 00206E78 D0 01 00 70 */ stfs f0, 0x70(r1)
/* 8020B21C 00206E7C 80 7F 00 00 */ lwz r3, 0(r31)
/* 8020B220 00206E80 38 63 00 AC */ addi r3, r3, 0xac
-/* 8020B224 00206E84 48 07 1A A1 */ bl func_8027CCC4
+/* 8020B224 00206E84 48 07 1A A1 */ bl PSVECAdd
/* 8020B228 00206E88 C0 41 00 48 */ lfs f2, 0x48(r1)
/* 8020B22C 00206E8C 38 81 00 58 */ addi r4, r1, 0x58
/* 8020B230 00206E90 C0 21 00 4C */ lfs f1, 0x4c(r1)
@@ -55341,7 +55341,7 @@ lbl_8020B1D0:
/* 8020B244 00206EA4 D0 01 00 A0 */ stfs f0, 0xa0(r1)
/* 8020B248 00206EA8 80 7F 00 00 */ lwz r3, 0(r31)
/* 8020B24C 00206EAC 38 63 00 B8 */ addi r3, r3, 0xb8
-/* 8020B250 00206EB0 48 07 1D D5 */ bl func_8027D024
+/* 8020B250 00206EB0 48 07 1D D5 */ bl PSQUATMultiply
/* 8020B254 00206EB4 C0 41 00 38 */ lfs f2, 0x38(r1)
/* 8020B258 00206EB8 3C A0 80 49 */ lis r5, lbl_8049362C@ha
/* 8020B25C 00206EBC C0 21 00 3C */ lfs f1, 0x3c(r1)
@@ -55561,7 +55561,7 @@ func_8020B4F8:
/* 8020B570 002071D0 C8 21 00 20 */ lfd f1, 0x20(r1)
/* 8020B574 002071D4 EC 21 10 28 */ fsubs f1, f1, f2
/* 8020B578 002071D8 EC 21 00 24 */ fdivs f1, f1, f0
-/* 8020B57C 002071DC 48 07 17 91 */ bl func_8027CD0C
+/* 8020B57C 002071DC 48 07 17 91 */ bl PSVECScale
/* 8020B580 002071E0 C0 01 00 08 */ lfs f0, 8(r1)
/* 8020B584 002071E4 38 7D 00 80 */ addi r3, r29, 0x80
/* 8020B588 002071E8 7C 65 1B 78 */ mr r5, r3
@@ -55571,7 +55571,7 @@ func_8020B4F8:
/* 8020B598 002071F8 D0 1D 00 84 */ stfs f0, 0x84(r29)
/* 8020B59C 002071FC C0 01 00 10 */ lfs f0, 0x10(r1)
/* 8020B5A0 00207200 D0 1D 00 88 */ stfs f0, 0x88(r29)
-/* 8020B5A4 00207204 48 07 17 21 */ bl func_8027CCC4
+/* 8020B5A4 00207204 48 07 17 21 */ bl PSVECAdd
/* 8020B5A8 00207208 C0 22 99 CC */ lfs f1, lbl_80641FCC-_SDA2_BASE_(r2)
/* 8020B5AC 0020720C 3C 80 80 49 */ lis r4, lbl_80493638@ha
/* 8020B5B0 00207210 C0 02 99 D0 */ lfs f0, lbl_80641FD0-_SDA2_BASE_(r2)
@@ -55902,7 +55902,7 @@ lbl_8020BA24:
/* 8020BA78 002076D8 80 8D A1 F0 */ lwz r4, lbl_8063F4B0-_SDA_BASE_(r13)
/* 8020BA7C 002076DC 38 63 00 0C */ addi r3, r3, 0xc
/* 8020BA80 002076E0 38 84 01 20 */ addi r4, r4, 0x120
-/* 8020BA84 002076E4 48 07 16 51 */ bl func_8027D0D4
+/* 8020BA84 002076E4 48 07 16 51 */ bl PSQUATDivide
/* 8020BA88 002076E8 C0 61 00 40 */ lfs f3, 0x40(r1)
/* 8020BA8C 002076EC 38 61 00 60 */ addi r3, r1, 0x60
/* 8020BA90 002076F0 C0 41 00 44 */ lfs f2, 0x44(r1)
@@ -56052,7 +56052,7 @@ lbl_8020BC74:
/* 8020BC74 002078D4 FC 20 F0 90 */ fmr f1, f30
/* 8020BC78 002078D8 38 7D 00 8C */ addi r3, r29, 0x8c
/* 8020BC7C 002078DC 38 81 00 30 */ addi r4, r1, 0x30
-/* 8020BC80 002078E0 48 07 10 8D */ bl func_8027CD0C
+/* 8020BC80 002078E0 48 07 10 8D */ bl PSVECScale
/* 8020BC84 002078E4 C0 41 00 30 */ lfs f2, 0x30(r1)
/* 8020BC88 002078E8 38 61 00 50 */ addi r3, r1, 0x50
/* 8020BC8C 002078EC C0 21 00 34 */ lfs f1, 0x34(r1)
@@ -56065,7 +56065,7 @@ lbl_8020BC74:
/* 8020BCA8 00207908 38 7D 00 70 */ addi r3, r29, 0x70
/* 8020BCAC 0020790C 38 81 00 50 */ addi r4, r1, 0x50
/* 8020BCB0 00207910 7C 65 1B 78 */ mr r5, r3
-/* 8020BCB4 00207914 48 07 13 71 */ bl func_8027D024
+/* 8020BCB4 00207914 48 07 13 71 */ bl PSQUATMultiply
lbl_8020BCB8:
/* 8020BCB8 00207918 88 1D 00 5A */ lbz r0, 0x5a(r29)
/* 8020BCBC 0020791C 54 00 07 FF */ clrlwi. r0, r0, 0x1f
@@ -56327,7 +56327,7 @@ lbl_8020C004:
/* 8020C028 00207C88 D0 01 00 94 */ stfs f0, 0x94(r1)
/* 8020C02C 00207C8C C0 1D 00 10 */ lfs f0, 0x10(r29)
/* 8020C030 00207C90 D0 01 00 98 */ stfs f0, 0x98(r1)
-/* 8020C034 00207C94 48 07 0F F1 */ bl func_8027D024
+/* 8020C034 00207C94 48 07 0F F1 */ bl PSQUATMultiply
/* 8020C038 00207C98 C0 C1 00 20 */ lfs f6, 0x20(r1)
/* 8020C03C 00207C9C 38 7D 00 30 */ addi r3, r29, 0x30
/* 8020C040 00207CA0 C0 A1 00 24 */ lfs f5, 0x24(r1)
@@ -56403,7 +56403,7 @@ lbl_8020C134:
/* 8020C13C 00207D9C 41 82 01 20 */ beq lbl_8020C25C
/* 8020C140 00207DA0 38 61 00 08 */ addi r3, r1, 8
/* 8020C144 00207DA4 38 9B 00 3C */ addi r4, r27, 0x3c
-/* 8020C148 00207DA8 48 07 04 79 */ bl func_8027C5C0
+/* 8020C148 00207DA8 48 07 04 79 */ bl PSMTXQuat
/* 8020C14C 00207DAC C0 3B 00 4C */ lfs f1, 0x4c(r27)
/* 8020C150 00207DB0 38 61 00 38 */ addi r3, r1, 0x38
/* 8020C154 00207DB4 C0 5B 00 50 */ lfs f2, 0x50(r27)
@@ -56418,7 +56418,7 @@ lbl_8020C134:
/* 8020C178 00207DD8 C0 5B 00 34 */ lfs f2, 0x34(r27)
/* 8020C17C 00207DDC 7C 64 1B 78 */ mr r4, r3
/* 8020C180 00207DE0 C0 7B 00 38 */ lfs f3, 0x38(r27)
-/* 8020C184 00207DE4 48 07 03 71 */ bl func_8027C4F4
+/* 8020C184 00207DE4 48 07 03 71 */ bl PSMTXTransApply
/* 8020C188 00207DE8 80 8D A3 D8 */ lwz r4, lbl_8063F698-_SDA_BASE_(r13)
/* 8020C18C 00207DEC 38 00 00 00 */ li r0, 0
/* 8020C190 00207DF0 80 64 16 38 */ lwz r3, 0x1638(r4)
@@ -56973,7 +56973,7 @@ lbl_8020C914:
/* 8020C914 00208574 38 7D 00 30 */ addi r3, r29, 0x30
/* 8020C918 00208578 38 9E 22 30 */ addi r4, r30, 0x2230
/* 8020C91C 0020857C 38 A1 00 14 */ addi r5, r1, 0x14
-/* 8020C920 00208580 48 07 03 C9 */ bl func_8027CCE8
+/* 8020C920 00208580 48 07 03 C9 */ bl PSVECSubtract
/* 8020C924 00208584 38 7F 22 3C */ addi r3, r31, 0x223c
/* 8020C928 00208588 38 81 00 14 */ addi r4, r1, 0x14
/* 8020C92C 0020858C 48 07 04 9D */ bl PSQUATDotProduct
@@ -56985,7 +56985,7 @@ lbl_8020C940:
/* 8020C940 002085A0 38 7C 00 30 */ addi r3, r28, 0x30
/* 8020C944 002085A4 38 9E 22 30 */ addi r4, r30, 0x2230
/* 8020C948 002085A8 38 A1 00 08 */ addi r5, r1, 8
-/* 8020C94C 002085AC 48 07 03 9D */ bl func_8027CCE8
+/* 8020C94C 002085AC 48 07 03 9D */ bl PSVECSubtract
/* 8020C950 002085B0 38 7F 22 3C */ addi r3, r31, 0x223c
/* 8020C954 002085B4 38 81 00 08 */ addi r4, r1, 8
/* 8020C958 002085B8 48 07 04 71 */ bl PSQUATDotProduct
@@ -57261,7 +57261,7 @@ lbl_8020CCFC:
/* 8020CD08 00208968 38 61 00 D4 */ addi r3, r1, 0xd4
/* 8020CD0C 0020896C 38 9D 00 08 */ addi r4, r29, 8
/* 8020CD10 00208970 38 A1 00 8C */ addi r5, r1, 0x8c
-/* 8020CD14 00208974 48 06 FF D5 */ bl func_8027CCE8
+/* 8020CD14 00208974 48 06 FF D5 */ bl PSVECSubtract
/* 8020CD18 00208978 C0 41 00 8C */ lfs f2, 0x8c(r1)
/* 8020CD1C 0020897C 38 61 00 C8 */ addi r3, r1, 0xc8
/* 8020CD20 00208980 C0 21 00 90 */ lfs f1, 0x90(r1)
@@ -57269,7 +57269,7 @@ lbl_8020CCFC:
/* 8020CD28 00208988 D0 41 00 C8 */ stfs f2, 0xc8(r1)
/* 8020CD2C 0020898C D0 21 00 CC */ stfs f1, 0xcc(r1)
/* 8020CD30 00208990 D0 01 00 D0 */ stfs f0, 0xd0(r1)
-/* 8020CD34 00208994 48 07 00 51 */ bl func_8027CD84
+/* 8020CD34 00208994 48 07 00 51 */ bl PSVECMag
/* 8020CD38 00208998 C0 02 99 F8 */ lfs f0, lbl_80641FF8-_SDA2_BASE_(r2)
/* 8020CD3C 0020899C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8020CD40 002089A0 40 81 00 54 */ ble lbl_8020CD94
@@ -57280,14 +57280,14 @@ lbl_8020CCFC:
/* 8020CD54 002089B4 EC 02 00 32 */ fmuls f0, f2, f0
/* 8020CD58 002089B8 EC 1F 00 32 */ fmuls f0, f31, f0
/* 8020CD5C 002089BC EC 20 08 24 */ fdivs f1, f0, f1
-/* 8020CD60 002089C0 48 06 FF AD */ bl func_8027CD0C
+/* 8020CD60 002089C0 48 06 FF AD */ bl PSVECScale
/* 8020CD64 002089C4 48 00 00 30 */ b lbl_8020CD94
lbl_8020CD68:
/* 8020CD68 002089C8 C0 1D 00 24 */ lfs f0, 0x24(r29)
/* 8020CD6C 002089CC 38 61 00 D4 */ addi r3, r1, 0xd4
/* 8020CD70 002089D0 38 81 00 80 */ addi r4, r1, 0x80
/* 8020CD74 002089D4 EC 20 07 F2 */ fmuls f1, f0, f31
-/* 8020CD78 002089D8 48 06 FF 95 */ bl func_8027CD0C
+/* 8020CD78 002089D8 48 06 FF 95 */ bl PSVECScale
/* 8020CD7C 002089DC C0 41 00 80 */ lfs f2, 0x80(r1)
/* 8020CD80 002089E0 C0 21 00 84 */ lfs f1, 0x84(r1)
/* 8020CD84 002089E4 C0 01 00 88 */ lfs f0, 0x88(r1)
@@ -57298,7 +57298,7 @@ lbl_8020CD94:
/* 8020CD94 002089F4 38 7D 00 14 */ addi r3, r29, 0x14
/* 8020CD98 002089F8 38 81 00 C8 */ addi r4, r1, 0xc8
/* 8020CD9C 002089FC 7C 65 1B 78 */ mr r5, r3
-/* 8020CDA0 00208A00 48 06 FF 25 */ bl func_8027CCC4
+/* 8020CDA0 00208A00 48 06 FF 25 */ bl PSVECAdd
/* 8020CDA4 00208A04 C0 7F 00 A4 */ lfs f3, 0xa4(r31)
/* 8020CDA8 00208A08 C0 02 9A 00 */ lfs f0, lbl_80642000-_SDA2_BASE_(r2)
/* 8020CDAC 00208A0C FC 03 00 00 */ fcmpu cr0, f3, f0
@@ -57317,7 +57317,7 @@ lbl_8020CD94:
/* 8020CDE0 00208A40 EC 3F 00 72 */ fmuls f1, f31, f1
/* 8020CDE4 00208A44 EC 23 00 72 */ fmuls f1, f3, f1
/* 8020CDE8 00208A48 EC 20 08 28 */ fsubs f1, f0, f1
-/* 8020CDEC 00208A4C 48 06 FF 21 */ bl func_8027CD0C
+/* 8020CDEC 00208A4C 48 06 FF 21 */ bl PSVECScale
lbl_8020CDF0:
/* 8020CDF0 00208A50 C0 1D 00 08 */ lfs f0, 8(r29)
/* 8020CDF4 00208A54 FC 20 F8 90 */ fmr f1, f31
@@ -57328,18 +57328,18 @@ lbl_8020CDF0:
/* 8020CE08 00208A68 D0 01 00 C0 */ stfs f0, 0xc0(r1)
/* 8020CE0C 00208A6C C0 1D 00 10 */ lfs f0, 0x10(r29)
/* 8020CE10 00208A70 D0 01 00 C4 */ stfs f0, 0xc4(r1)
-/* 8020CE14 00208A74 48 06 FE F9 */ bl func_8027CD0C
+/* 8020CE14 00208A74 48 06 FE F9 */ bl PSVECScale
/* 8020CE18 00208A78 38 7D 00 08 */ addi r3, r29, 8
/* 8020CE1C 00208A7C 38 81 00 74 */ addi r4, r1, 0x74
/* 8020CE20 00208A80 7C 65 1B 78 */ mr r5, r3
-/* 8020CE24 00208A84 48 06 FE A1 */ bl func_8027CCC4
+/* 8020CE24 00208A84 48 06 FE A1 */ bl PSVECAdd
/* 8020CE28 00208A88 80 1F 00 00 */ lwz r0, 0(r31)
/* 8020CE2C 00208A8C 54 00 05 AD */ rlwinm. r0, r0, 0, 0x16, 0x16
/* 8020CE30 00208A90 41 82 02 CC */ beq lbl_8020D0FC
/* 8020CE34 00208A94 83 9D 00 20 */ lwz r28, 0x20(r29)
/* 8020CE38 00208A98 38 61 00 E0 */ addi r3, r1, 0xe0
/* 8020CE3C 00208A9C 38 9C 00 0C */ addi r4, r28, 0xc
-/* 8020CE40 00208AA0 48 06 F7 81 */ bl func_8027C5C0
+/* 8020CE40 00208AA0 48 06 F7 81 */ bl PSMTXQuat
/* 8020CE44 00208AA4 C0 3C 00 1C */ lfs f1, 0x1c(r28)
/* 8020CE48 00208AA8 38 61 01 70 */ addi r3, r1, 0x170
/* 8020CE4C 00208AAC C0 5C 00 20 */ lfs f2, 0x20(r28)
@@ -57354,11 +57354,11 @@ lbl_8020CDF0:
/* 8020CE70 00208AD0 C0 5C 00 04 */ lfs f2, 4(r28)
/* 8020CE74 00208AD4 7C 64 1B 78 */ mr r4, r3
/* 8020CE78 00208AD8 C0 7C 00 08 */ lfs f3, 8(r28)
-/* 8020CE7C 00208ADC 48 06 F6 79 */ bl func_8027C4F4
+/* 8020CE7C 00208ADC 48 06 F6 79 */ bl PSMTXTransApply
/* 8020CE80 00208AE0 38 61 01 70 */ addi r3, r1, 0x170
/* 8020CE84 00208AE4 38 9D 00 08 */ addi r4, r29, 8
/* 8020CE88 00208AE8 38 A1 00 68 */ addi r5, r1, 0x68
-/* 8020CE8C 00208AEC 48 06 FB 71 */ bl func_8027C9FC
+/* 8020CE8C 00208AEC 48 06 FB 71 */ bl PSMTXMultVec
/* 8020CE90 00208AF0 C0 41 00 68 */ lfs f2, 0x68(r1)
/* 8020CE94 00208AF4 38 81 00 BC */ addi r4, r1, 0xbc
/* 8020CE98 00208AF8 C0 21 00 6C */ lfs f1, 0x6c(r1)
@@ -57368,7 +57368,7 @@ lbl_8020CDF0:
/* 8020CEA8 00208B08 D0 41 00 B0 */ stfs f2, 0xb0(r1)
/* 8020CEAC 00208B0C D0 21 00 B4 */ stfs f1, 0xb4(r1)
/* 8020CEB0 00208B10 D0 01 00 B8 */ stfs f0, 0xb8(r1)
-/* 8020CEB4 00208B14 48 06 FB 49 */ bl func_8027C9FC
+/* 8020CEB4 00208B14 48 06 FB 49 */ bl PSMTXMultVec
/* 8020CEB8 00208B18 80 CD A1 F0 */ lwz r6, lbl_8063F4B0-_SDA_BASE_(r13)
/* 8020CEBC 00208B1C 38 61 00 BC */ addi r3, r1, 0xbc
/* 8020CEC0 00208B20 38 81 00 B0 */ addi r4, r1, 0xb0
@@ -57386,7 +57386,7 @@ lbl_8020CDF0:
/* 8020CEF0 00208B50 48 07 01 91 */ bl func_8027D080
/* 8020CEF4 00208B54 38 61 01 40 */ addi r3, r1, 0x140
/* 8020CEF8 00208B58 38 81 00 58 */ addi r4, r1, 0x58
-/* 8020CEFC 00208B5C 48 06 F6 C5 */ bl func_8027C5C0
+/* 8020CEFC 00208B5C 48 06 F6 C5 */ bl PSMTXQuat
/* 8020CF00 00208B60 80 7D 00 20 */ lwz r3, 0x20(r29)
/* 8020CF04 00208B64 C0 62 99 FC */ lfs f3, lbl_80641FFC-_SDA2_BASE_(r2)
/* 8020CF08 00208B68 C0 43 00 1C */ lfs f2, 0x1c(r3)
@@ -57445,11 +57445,11 @@ lbl_8020CFAC:
/* 8020CFB8 00208C18 EC 20 18 24 */ fdivs f1, f0, f3
/* 8020CFBC 00208C1C EC 40 20 24 */ fdivs f2, f0, f4
/* 8020CFC0 00208C20 EC 60 28 24 */ fdivs f3, f0, f5
-/* 8020CFC4 00208C24 48 06 F5 A5 */ bl func_8027C568
+/* 8020CFC4 00208C24 48 06 F5 A5 */ bl PSMTXScaleApply
/* 8020CFC8 00208C28 80 9D 00 20 */ lwz r4, 0x20(r29)
/* 8020CFCC 00208C2C 38 61 00 A4 */ addi r3, r1, 0xa4
/* 8020CFD0 00208C30 38 A1 00 48 */ addi r5, r1, 0x48
-/* 8020CFD4 00208C34 48 06 FD 15 */ bl func_8027CCE8
+/* 8020CFD4 00208C34 48 06 FD 15 */ bl PSVECSubtract
/* 8020CFD8 00208C38 C0 01 00 48 */ lfs f0, 0x48(r1)
/* 8020CFDC 00208C3C 38 9D 00 08 */ addi r4, r29, 8
/* 8020CFE0 00208C40 7C 85 23 78 */ mr r5, r4
@@ -57459,13 +57459,13 @@ lbl_8020CFAC:
/* 8020CFF0 00208C50 D0 1D 00 0C */ stfs f0, 0xc(r29)
/* 8020CFF4 00208C54 C0 01 00 50 */ lfs f0, 0x50(r1)
/* 8020CFF8 00208C58 D0 1D 00 10 */ stfs f0, 0x10(r29)
-/* 8020CFFC 00208C5C 48 06 FA 55 */ bl func_8027CA50
+/* 8020CFFC 00208C5C 48 06 FA 55 */ bl PSMTXMultVecSR
/* 8020D000 00208C60 38 9D 00 14 */ addi r4, r29, 0x14
/* 8020D004 00208C64 38 61 01 70 */ addi r3, r1, 0x170
/* 8020D008 00208C68 7C 85 23 78 */ mr r5, r4
-/* 8020D00C 00208C6C 48 06 FA 45 */ bl func_8027CA50
+/* 8020D00C 00208C6C 48 06 FA 45 */ bl PSMTXMultVecSR
/* 8020D010 00208C70 38 7D 00 14 */ addi r3, r29, 0x14
-/* 8020D014 00208C74 48 06 FD 71 */ bl func_8027CD84
+/* 8020D014 00208C74 48 06 FD 71 */ bl PSVECMag
/* 8020D018 00208C78 C0 02 99 F8 */ lfs f0, lbl_80641FF8-_SDA2_BASE_(r2)
/* 8020D01C 00208C7C FF C0 08 90 */ fmr f30, f1
/* 8020D020 00208C80 FC 01 00 40 */ fcmpo cr0, f1, f0
@@ -57473,20 +57473,20 @@ lbl_8020CFAC:
/* 8020D028 00208C88 38 7D 00 14 */ addi r3, r29, 0x14
/* 8020D02C 00208C8C 38 81 00 98 */ addi r4, r1, 0x98
/* 8020D030 00208C90 7C 65 1B 78 */ mr r5, r3
-/* 8020D034 00208C94 48 06 FE C9 */ bl func_8027CEFC
+/* 8020D034 00208C94 48 06 FE C9 */ bl C_VECReflect
/* 8020D038 00208C98 FC 20 F0 90 */ fmr f1, f30
/* 8020D03C 00208C9C 38 7D 00 14 */ addi r3, r29, 0x14
/* 8020D040 00208CA0 7C 64 1B 78 */ mr r4, r3
-/* 8020D044 00208CA4 48 06 FC C9 */ bl func_8027CD0C
+/* 8020D044 00208CA4 48 06 FC C9 */ bl PSVECScale
lbl_8020D048:
/* 8020D048 00208CA8 38 7D 00 14 */ addi r3, r29, 0x14
/* 8020D04C 00208CAC C0 3F 00 A8 */ lfs f1, 0xa8(r31)
/* 8020D050 00208CB0 7C 64 1B 78 */ mr r4, r3
-/* 8020D054 00208CB4 48 06 FC B9 */ bl func_8027CD0C
+/* 8020D054 00208CB4 48 06 FC B9 */ bl PSVECScale
/* 8020D058 00208CB8 38 9D 00 14 */ addi r4, r29, 0x14
/* 8020D05C 00208CBC 38 61 01 40 */ addi r3, r1, 0x140
/* 8020D060 00208CC0 7C 85 23 78 */ mr r5, r4
-/* 8020D064 00208CC4 48 06 F9 ED */ bl func_8027CA50
+/* 8020D064 00208CC4 48 06 F9 ED */ bl PSMTXMultVecSR
/* 8020D068 00208CC8 80 1F 00 00 */ lwz r0, 0(r31)
/* 8020D06C 00208CCC 54 00 05 29 */ rlwinm. r0, r0, 0, 0x14, 0x14
/* 8020D070 00208CD0 41 82 00 60 */ beq lbl_8020D0D0
@@ -57499,11 +57499,11 @@ lbl_8020D048:
/* 8020D08C 00208CEC 48 06 FF F5 */ bl func_8027D080
/* 8020D090 00208CF0 38 61 01 10 */ addi r3, r1, 0x110
/* 8020D094 00208CF4 38 81 00 38 */ addi r4, r1, 0x38
-/* 8020D098 00208CF8 48 06 F5 29 */ bl func_8027C5C0
+/* 8020D098 00208CF8 48 06 F5 29 */ bl PSMTXQuat
/* 8020D09C 00208CFC 38 81 00 98 */ addi r4, r1, 0x98
/* 8020D0A0 00208D00 38 61 01 10 */ addi r3, r1, 0x110
/* 8020D0A4 00208D04 7C 85 23 78 */ mr r5, r4
-/* 8020D0A8 00208D08 48 06 F9 A9 */ bl func_8027CA50
+/* 8020D0A8 00208D08 48 06 F9 A9 */ bl PSMTXMultVecSR
/* 8020D0AC 00208D0C 80 7E 01 04 */ lwz r3, 0x104(r30)
/* 8020D0B0 00208D10 38 9D 00 08 */ addi r4, r29, 8
/* 8020D0B4 00208D14 38 A1 00 98 */ addi r5, r1, 0x98
@@ -57520,11 +57520,11 @@ lbl_8020D0D0:
/* 8020D0DC 00208D3C 38 81 00 28 */ addi r4, r1, 0x28
/* 8020D0E0 00208D40 EC 01 00 28 */ fsubs f0, f1, f0
/* 8020D0E4 00208D44 EC 3F 00 32 */ fmuls f1, f31, f0
-/* 8020D0E8 00208D48 48 06 FC 25 */ bl func_8027CD0C
+/* 8020D0E8 00208D48 48 06 FC 25 */ bl PSVECScale
/* 8020D0EC 00208D4C 38 7D 00 08 */ addi r3, r29, 8
/* 8020D0F0 00208D50 38 81 00 28 */ addi r4, r1, 0x28
/* 8020D0F4 00208D54 7C 65 1B 78 */ mr r5, r3
-/* 8020D0F8 00208D58 48 06 FB CD */ bl func_8027CCC4
+/* 8020D0F8 00208D58 48 06 FB CD */ bl PSVECAdd
lbl_8020D0FC:
/* 8020D0FC 00208D5C 38 60 00 01 */ li r3, 1
lbl_8020D100:
@@ -57572,11 +57572,11 @@ func_8020D130:
/* 8020D198 00208DF8 7F A3 EB 78 */ mr r3, r29
/* 8020D19C 00208DFC 7F C4 F3 78 */ mr r4, r30
/* 8020D1A0 00208E00 7F A5 EB 78 */ mr r5, r29
-/* 8020D1A4 00208E04 48 06 FB 21 */ bl func_8027CCC4
+/* 8020D1A4 00208E04 48 06 FB 21 */ bl PSVECAdd
/* 8020D1A8 00208E08 38 7E 00 0C */ addi r3, r30, 0xc
/* 8020D1AC 00208E0C 38 9F 00 0C */ addi r4, r31, 0xc
/* 8020D1B0 00208E10 38 A1 00 18 */ addi r5, r1, 0x18
-/* 8020D1B4 00208E14 48 06 FE 71 */ bl func_8027D024
+/* 8020D1B4 00208E14 48 06 FE 71 */ bl PSQUATMultiply
/* 8020D1B8 00208E18 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 8020D1BC 00208E1C D0 1D 00 0C */ stfs f0, 0xc(r29)
/* 8020D1C0 00208E20 C0 01 00 1C */ lfs f0, 0x1c(r1)
@@ -57657,7 +57657,7 @@ func_8020D250:
/* 8020D2D4 00208F34 38 7C 00 48 */ addi r3, r28, 0x48
/* 8020D2D8 00208F38 80 9C 00 20 */ lwz r4, 0x20(r28)
/* 8020D2DC 00208F3C 7C 65 1B 78 */ mr r5, r3
-/* 8020D2E0 00208F40 48 06 F9 E5 */ bl func_8027CCC4
+/* 8020D2E0 00208F40 48 06 F9 E5 */ bl PSVECAdd
/* 8020D2E4 00208F44 57 E0 05 AD */ rlwinm. r0, r31, 0, 0x16, 0x16
/* 8020D2E8 00208F48 41 82 00 10 */ beq lbl_8020D2F8
/* 8020D2EC 00208F4C C0 1E 00 24 */ lfs f0, 0x24(r30)
@@ -58174,7 +58174,7 @@ func_8020D9F0:
/* 8020DA2C 0020968C 38 A1 00 90 */ addi r5, r1, 0x90
/* 8020DA30 00209690 38 84 22 30 */ addi r4, r4, lbl_80492230@l
/* 8020DA34 00209694 38 63 00 48 */ addi r3, r3, 0x48
-/* 8020DA38 00209698 48 06 F2 B1 */ bl func_8027CCE8
+/* 8020DA38 00209698 48 06 F2 B1 */ bl PSVECSubtract
/* 8020DA3C 0020969C 3C 60 80 49 */ lis r3, lbl_8049223C@ha
/* 8020DA40 002096A0 38 81 00 90 */ addi r4, r1, 0x90
/* 8020DA44 002096A4 38 63 22 3C */ addi r3, r3, lbl_8049223C@l
@@ -58418,16 +58418,16 @@ lbl_8020DD9C:
/* 8020DDA0 00209A00 C0 3A 00 24 */ lfs f1, 0x24(r26)
/* 8020DDA4 00209A04 38 61 00 C8 */ addi r3, r1, 0xc8
/* 8020DDA8 00209A08 38 9B 36 14 */ addi r4, r27, lbl_80493614@l
-/* 8020DDAC 00209A0C 48 06 F3 79 */ bl func_8027D124
+/* 8020DDAC 00209A0C 48 06 F3 79 */ bl C_QUATRotAxisRad
/* 8020DDB0 00209A10 3C 80 80 49 */ lis r4, lbl_80493620@ha
/* 8020DDB4 00209A14 C0 3A 00 28 */ lfs f1, 0x28(r26)
/* 8020DDB8 00209A18 38 61 00 B8 */ addi r3, r1, 0xb8
/* 8020DDBC 00209A1C 38 84 36 20 */ addi r4, r4, lbl_80493620@l
-/* 8020DDC0 00209A20 48 06 F3 65 */ bl func_8027D124
+/* 8020DDC0 00209A20 48 06 F3 65 */ bl C_QUATRotAxisRad
/* 8020DDC4 00209A24 38 61 00 B8 */ addi r3, r1, 0xb8
/* 8020DDC8 00209A28 38 81 00 C8 */ addi r4, r1, 0xc8
/* 8020DDCC 00209A2C 7C 65 1B 78 */ mr r5, r3
-/* 8020DDD0 00209A30 48 06 F2 55 */ bl func_8027D024
+/* 8020DDD0 00209A30 48 06 F2 55 */ bl PSQUATMultiply
/* 8020DDD4 00209A34 3C 80 80 49 */ lis r4, lbl_80493608@ha
/* 8020DDD8 00209A38 38 61 00 78 */ addi r3, r1, 0x78
/* 8020DDDC 00209A3C 38 A4 36 08 */ addi r5, r4, lbl_80493608@l
@@ -58516,7 +58516,7 @@ lbl_8020DEFC:
/* 8020DF1C 00209B7C 38 61 01 08 */ addi r3, r1, 0x108
/* 8020DF20 00209B80 38 81 00 FC */ addi r4, r1, 0xfc
/* 8020DF24 00209B84 38 A1 00 60 */ addi r5, r1, 0x60
-/* 8020DF28 00209B88 48 06 EE C1 */ bl func_8027CDE8
+/* 8020DF28 00209B88 48 06 EE C1 */ bl PSVECCrossProduct
/* 8020DF2C 00209B8C C0 41 00 60 */ lfs f2, 0x60(r1)
/* 8020DF30 00209B90 C0 21 00 64 */ lfs f1, 0x64(r1)
/* 8020DF34 00209B94 C0 01 00 68 */ lfs f0, 0x68(r1)
@@ -58540,7 +58540,7 @@ lbl_8020DF64:
/* 8020DF70 00209BD0 C0 38 00 54 */ lfs f1, 0x54(r24)
/* 8020DF74 00209BD4 38 61 00 C8 */ addi r3, r1, 0xc8
/* 8020DF78 00209BD8 38 81 00 F0 */ addi r4, r1, 0xf0
-/* 8020DF7C 00209BDC 48 06 F1 A9 */ bl func_8027D124
+/* 8020DF7C 00209BDC 48 06 F1 A9 */ bl C_QUATRotAxisRad
/* 8020DF80 00209BE0 38 61 00 FC */ addi r3, r1, 0xfc
/* 8020DF84 00209BE4 38 81 00 C8 */ addi r4, r1, 0xc8
/* 8020DF88 00209BE8 48 01 5A 85 */ bl func_80223A0C
@@ -58594,7 +58594,7 @@ lbl_8020DF98:
/* 8020E044 00209CA4 48 06 ED 85 */ bl PSQUATDotProduct
/* 8020E048 00209CA8 38 61 01 08 */ addi r3, r1, 0x108
/* 8020E04C 00209CAC 7C 64 1B 78 */ mr r4, r3
-/* 8020E050 00209CB0 48 06 EC BD */ bl func_8027CD0C
+/* 8020E050 00209CB0 48 06 EC BD */ bl PSVECScale
/* 8020E054 00209CB4 C0 41 00 FC */ lfs f2, 0xfc(r1)
/* 8020E058 00209CB8 38 61 00 34 */ addi r3, r1, 0x34
/* 8020E05C 00209CBC C0 21 01 00 */ lfs f1, 0x100(r1)
@@ -58629,15 +58629,15 @@ lbl_8020DF98:
/* 8020E0D0 00209D30 48 06 EC F9 */ bl PSQUATDotProduct
/* 8020E0D4 00209D34 38 61 00 FC */ addi r3, r1, 0xfc
/* 8020E0D8 00209D38 7C 64 1B 78 */ mr r4, r3
-/* 8020E0DC 00209D3C 48 06 EC 31 */ bl func_8027CD0C
+/* 8020E0DC 00209D3C 48 06 EC 31 */ bl PSVECScale
/* 8020E0E0 00209D40 38 61 01 08 */ addi r3, r1, 0x108
/* 8020E0E4 00209D44 C0 38 00 58 */ lfs f1, 0x58(r24)
/* 8020E0E8 00209D48 7C 64 1B 78 */ mr r4, r3
-/* 8020E0EC 00209D4C 48 06 EC 21 */ bl func_8027CD0C
+/* 8020E0EC 00209D4C 48 06 EC 21 */ bl PSVECScale
/* 8020E0F0 00209D50 38 61 00 FC */ addi r3, r1, 0xfc
/* 8020E0F4 00209D54 C0 38 00 5C */ lfs f1, 0x5c(r24)
/* 8020E0F8 00209D58 7C 64 1B 78 */ mr r4, r3
-/* 8020E0FC 00209D5C 48 06 EC 11 */ bl func_8027CD0C
+/* 8020E0FC 00209D5C 48 06 EC 11 */ bl PSVECScale
/* 8020E100 00209D60 2C 19 00 00 */ cmpwi r25, 0
/* 8020E104 00209D64 40 82 00 50 */ bne lbl_8020E154
/* 8020E108 00209D68 C0 38 00 54 */ lfs f1, 0x54(r24)
@@ -58654,7 +58654,7 @@ lbl_8020E120:
/* 8020E12C 00209D8C C0 38 00 54 */ lfs f1, 0x54(r24)
/* 8020E130 00209D90 38 61 00 C8 */ addi r3, r1, 0xc8
/* 8020E134 00209D94 38 81 00 F0 */ addi r4, r1, 0xf0
-/* 8020E138 00209D98 48 06 EF ED */ bl func_8027D124
+/* 8020E138 00209D98 48 06 EF ED */ bl C_QUATRotAxisRad
/* 8020E13C 00209D9C 38 61 00 FC */ addi r3, r1, 0xfc
/* 8020E140 00209DA0 38 81 00 C8 */ addi r4, r1, 0xc8
/* 8020E144 00209DA4 48 01 58 C9 */ bl func_80223A0C
@@ -58673,19 +58673,19 @@ lbl_8020E154:
/* 8020E174 00209DD4 C0 3A 00 1C */ lfs f1, 0x1c(r26)
/* 8020E178 00209DD8 38 61 01 08 */ addi r3, r1, 0x108
/* 8020E17C 00209DDC 38 81 00 28 */ addi r4, r1, 0x28
-/* 8020E180 00209DE0 48 06 EB 8D */ bl func_8027CD0C
+/* 8020E180 00209DE0 48 06 EB 8D */ bl PSVECScale
/* 8020E184 00209DE4 38 61 00 E4 */ addi r3, r1, 0xe4
/* 8020E188 00209DE8 38 81 00 28 */ addi r4, r1, 0x28
/* 8020E18C 00209DEC 7C 65 1B 78 */ mr r5, r3
-/* 8020E190 00209DF0 48 06 EB 35 */ bl func_8027CCC4
+/* 8020E190 00209DF0 48 06 EB 35 */ bl PSVECAdd
/* 8020E194 00209DF4 C0 3A 00 20 */ lfs f1, 0x20(r26)
/* 8020E198 00209DF8 38 61 00 FC */ addi r3, r1, 0xfc
/* 8020E19C 00209DFC 38 81 00 1C */ addi r4, r1, 0x1c
-/* 8020E1A0 00209E00 48 06 EB 6D */ bl func_8027CD0C
+/* 8020E1A0 00209E00 48 06 EB 6D */ bl PSVECScale
/* 8020E1A4 00209E04 38 61 00 E4 */ addi r3, r1, 0xe4
/* 8020E1A8 00209E08 38 81 00 1C */ addi r4, r1, 0x1c
/* 8020E1AC 00209E0C 7C 65 1B 78 */ mr r5, r3
-/* 8020E1B0 00209E10 48 06 EB 15 */ bl func_8027CCC4
+/* 8020E1B0 00209E10 48 06 EB 15 */ bl PSVECAdd
lbl_8020E1B4:
/* 8020E1B4 00209E14 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13)
/* 8020E1B8 00209E18 38 80 00 04 */ li r4, 4
@@ -58699,11 +58699,11 @@ lbl_8020E1B4:
/* 8020E1D8 00209E38 D0 41 00 D8 */ stfs f2, 0xd8(r1)
/* 8020E1DC 00209E3C D0 21 00 DC */ stfs f1, 0xdc(r1)
/* 8020E1E0 00209E40 D0 01 00 E0 */ stfs f0, 0xe0(r1)
-/* 8020E1E4 00209E44 48 06 EB 05 */ bl func_8027CCE8
+/* 8020E1E4 00209E44 48 06 EB 05 */ bl PSVECSubtract
/* 8020E1E8 00209E48 38 61 00 D8 */ addi r3, r1, 0xd8
/* 8020E1EC 00209E4C 38 81 00 FC */ addi r4, r1, 0xfc
/* 8020E1F0 00209E50 7C 65 1B 78 */ mr r5, r3
-/* 8020E1F4 00209E54 48 06 EA D1 */ bl func_8027CCC4
+/* 8020E1F4 00209E54 48 06 EA D1 */ bl PSVECAdd
/* 8020E1F8 00209E58 C0 01 00 E0 */ lfs f0, 0xe0(r1)
/* 8020E1FC 00209E5C 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 8020E200 00209E60 C0 21 00 DC */ lfs f1, 0xdc(r1)
@@ -58732,11 +58732,11 @@ lbl_8020E244:
/* 8020E258 00209EB8 7C 65 1B 78 */ mr r5, r3
/* 8020E25C 00209EBC B0 19 80 00 */ sth r0, 0xCC008000@l(r25)
/* 8020E260 00209EC0 B0 D9 80 00 */ sth r6, -0x8000(r25)
-/* 8020E264 00209EC4 48 06 EA 61 */ bl func_8027CCC4
+/* 8020E264 00209EC4 48 06 EA 61 */ bl PSVECAdd
/* 8020E268 00209EC8 38 61 00 D8 */ addi r3, r1, 0xd8
/* 8020E26C 00209ECC 38 81 01 08 */ addi r4, r1, 0x108
/* 8020E270 00209ED0 7C 65 1B 78 */ mr r5, r3
-/* 8020E274 00209ED4 48 06 EA 51 */ bl func_8027CCC4
+/* 8020E274 00209ED4 48 06 EA 51 */ bl PSVECAdd
/* 8020E278 00209ED8 C0 01 00 E0 */ lfs f0, 0xe0(r1)
/* 8020E27C 00209EDC 2C 1E 00 00 */ cmpwi r30, 0
/* 8020E280 00209EE0 C0 21 00 DC */ lfs f1, 0xdc(r1)
@@ -58764,11 +58764,11 @@ lbl_8020E2C0:
/* 8020E2D4 00209F34 7C 65 1B 78 */ mr r5, r3
/* 8020E2D8 00209F38 B0 19 80 00 */ sth r0, 0xCC008000@l(r25)
/* 8020E2DC 00209F3C B0 D9 80 00 */ sth r6, -0x8000(r25)
-/* 8020E2E0 00209F40 48 06 EA 09 */ bl func_8027CCE8
+/* 8020E2E0 00209F40 48 06 EA 09 */ bl PSVECSubtract
/* 8020E2E4 00209F44 38 61 00 D8 */ addi r3, r1, 0xd8
/* 8020E2E8 00209F48 38 81 00 FC */ addi r4, r1, 0xfc
/* 8020E2EC 00209F4C 7C 65 1B 78 */ mr r5, r3
-/* 8020E2F0 00209F50 48 06 E9 F9 */ bl func_8027CCE8
+/* 8020E2F0 00209F50 48 06 E9 F9 */ bl PSVECSubtract
/* 8020E2F4 00209F54 C0 01 00 E0 */ lfs f0, 0xe0(r1)
/* 8020E2F8 00209F58 2C 1E 00 00 */ cmpwi r30, 0
/* 8020E2FC 00209F5C C0 21 00 DC */ lfs f1, 0xdc(r1)
@@ -58796,11 +58796,11 @@ lbl_8020E33C:
/* 8020E350 00209FB0 7C 65 1B 78 */ mr r5, r3
/* 8020E354 00209FB4 B0 19 80 00 */ sth r0, 0xCC008000@l(r25)
/* 8020E358 00209FB8 B0 D9 80 00 */ sth r6, -0x8000(r25)
-/* 8020E35C 00209FBC 48 06 E9 8D */ bl func_8027CCE8
+/* 8020E35C 00209FBC 48 06 E9 8D */ bl PSVECSubtract
/* 8020E360 00209FC0 38 61 00 D8 */ addi r3, r1, 0xd8
/* 8020E364 00209FC4 38 81 01 08 */ addi r4, r1, 0x108
/* 8020E368 00209FC8 7C 65 1B 78 */ mr r5, r3
-/* 8020E36C 00209FCC 48 06 E9 7D */ bl func_8027CCE8
+/* 8020E36C 00209FCC 48 06 E9 7D */ bl PSVECSubtract
/* 8020E370 00209FD0 C0 01 00 E0 */ lfs f0, 0xe0(r1)
/* 8020E374 00209FD4 2C 1E 00 00 */ cmpwi r30, 0
/* 8020E378 00209FD8 C0 21 00 DC */ lfs f1, 0xdc(r1)
@@ -59224,7 +59224,7 @@ lbl_8020E954:
/* 8020E954 0020A5B4 38 7D 00 48 */ addi r3, r29, 0x48
/* 8020E958 0020A5B8 38 9E 22 30 */ addi r4, r30, 0x2230
/* 8020E95C 0020A5BC 38 A1 00 14 */ addi r5, r1, 0x14
-/* 8020E960 0020A5C0 48 06 E3 89 */ bl func_8027CCE8
+/* 8020E960 0020A5C0 48 06 E3 89 */ bl PSVECSubtract
/* 8020E964 0020A5C4 38 7F 22 3C */ addi r3, r31, 0x223c
/* 8020E968 0020A5C8 38 81 00 14 */ addi r4, r1, 0x14
/* 8020E96C 0020A5CC 48 06 E4 5D */ bl PSQUATDotProduct
@@ -59236,7 +59236,7 @@ lbl_8020E980:
/* 8020E980 0020A5E0 38 7C 00 48 */ addi r3, r28, 0x48
/* 8020E984 0020A5E4 38 9E 22 30 */ addi r4, r30, 0x2230
/* 8020E988 0020A5E8 38 A1 00 08 */ addi r5, r1, 8
-/* 8020E98C 0020A5EC 48 06 E3 5D */ bl func_8027CCE8
+/* 8020E98C 0020A5EC 48 06 E3 5D */ bl PSVECSubtract
/* 8020E990 0020A5F0 38 7F 22 3C */ addi r3, r31, 0x223c
/* 8020E994 0020A5F4 38 81 00 08 */ addi r4, r1, 8
/* 8020E998 0020A5F8 48 06 E4 31 */ bl PSQUATDotProduct
@@ -59385,7 +59385,7 @@ func_8020EB1C:
/* 8020EBA4 0020A804 38 61 00 5C */ addi r3, r1, 0x5c
/* 8020EBA8 0020A808 80 9C 00 20 */ lwz r4, 0x20(r28)
/* 8020EBAC 0020A80C 7C 65 1B 78 */ mr r5, r3
-/* 8020EBB0 0020A810 48 06 E1 15 */ bl func_8027CCC4
+/* 8020EBB0 0020A810 48 06 E1 15 */ bl PSVECAdd
/* 8020EBB4 0020A814 80 9C 00 20 */ lwz r4, 0x20(r28)
/* 8020EBB8 0020A818 38 61 00 50 */ addi r3, r1, 0x50
/* 8020EBBC 0020A81C C0 3C 00 38 */ lfs f1, 0x38(r28)
@@ -59411,11 +59411,11 @@ func_8020EB1C:
/* 8020EC0C 0020A86C C0 22 9A 40 */ lfs f1, lbl_80642040-_SDA2_BASE_(r2)
/* 8020EC10 0020A870 38 61 00 50 */ addi r3, r1, 0x50
/* 8020EC14 0020A874 38 81 00 2C */ addi r4, r1, 0x2c
-/* 8020EC18 0020A878 48 06 E0 F5 */ bl func_8027CD0C
+/* 8020EC18 0020A878 48 06 E0 F5 */ bl PSVECScale
/* 8020EC1C 0020A87C 38 61 00 5C */ addi r3, r1, 0x5c
/* 8020EC20 0020A880 38 81 00 2C */ addi r4, r1, 0x2c
/* 8020EC24 0020A884 7C 65 1B 78 */ mr r5, r3
-/* 8020EC28 0020A888 48 06 E0 C1 */ bl func_8027CCE8
+/* 8020EC28 0020A888 48 06 E0 C1 */ bl PSVECSubtract
lbl_8020EC2C:
/* 8020EC2C 0020A88C C0 01 00 5C */ lfs f0, 0x5c(r1)
/* 8020EC30 0020A890 38 61 00 5C */ addi r3, r1, 0x5c
@@ -59426,7 +59426,7 @@ lbl_8020EC2C:
/* 8020EC44 0020A8A4 D0 1C 00 40 */ stfs f0, 0x40(r28)
/* 8020EC48 0020A8A8 C0 01 00 64 */ lfs f0, 0x64(r1)
/* 8020EC4C 0020A8AC D0 1C 00 44 */ stfs f0, 0x44(r28)
-/* 8020EC50 0020A8B0 48 06 E0 75 */ bl func_8027CCC4
+/* 8020EC50 0020A8B0 48 06 E0 75 */ bl PSVECAdd
/* 8020EC54 0020A8B4 C0 01 00 5C */ lfs f0, 0x5c(r1)
/* 8020EC58 0020A8B8 FC 20 F8 90 */ fmr f1, f31
/* 8020EC5C 0020A8BC 38 7C 00 54 */ addi r3, r28, 0x54
@@ -59616,7 +59616,7 @@ lbl_8020EF04:
/* 8020EF0C 0020AB6C 38 81 00 08 */ addi r4, r1, 8
/* 8020EF10 0020AB70 EF FF 00 2A */ fadds f31, f31, f0
/* 8020EF14 0020AB74 FC 20 F8 90 */ fmr f1, f31
-/* 8020EF18 0020AB78 48 06 DD F5 */ bl func_8027CD0C
+/* 8020EF18 0020AB78 48 06 DD F5 */ bl PSVECScale
/* 8020EF1C 0020AB7C C0 01 00 08 */ lfs f0, 8(r1)
/* 8020EF20 0020AB80 D0 1E 00 30 */ stfs f0, 0x30(r30)
/* 8020EF24 0020AB84 C0 01 00 0C */ lfs f0, 0xc(r1)
@@ -60387,7 +60387,7 @@ func_8020F998:
/* 8020FA10 0020B670 C8 21 00 20 */ lfd f1, 0x20(r1)
/* 8020FA14 0020B674 EC 21 10 28 */ fsubs f1, f1, f2
/* 8020FA18 0020B678 EC 21 00 24 */ fdivs f1, f1, f0
-/* 8020FA1C 0020B67C 48 06 D2 F1 */ bl func_8027CD0C
+/* 8020FA1C 0020B67C 48 06 D2 F1 */ bl PSVECScale
/* 8020FA20 0020B680 C0 01 00 08 */ lfs f0, 8(r1)
/* 8020FA24 0020B684 38 7D 00 78 */ addi r3, r29, 0x78
/* 8020FA28 0020B688 7C 65 1B 78 */ mr r5, r3
@@ -60397,7 +60397,7 @@ func_8020F998:
/* 8020FA38 0020B698 D0 1D 00 7C */ stfs f0, 0x7c(r29)
/* 8020FA3C 0020B69C C0 01 00 10 */ lfs f0, 0x10(r1)
/* 8020FA40 0020B6A0 D0 1D 00 80 */ stfs f0, 0x80(r29)
-/* 8020FA44 0020B6A4 48 06 D2 81 */ bl func_8027CCC4
+/* 8020FA44 0020B6A4 48 06 D2 81 */ bl PSVECAdd
/* 8020FA48 0020B6A8 C0 22 9A 64 */ lfs f1, lbl_80642064-_SDA2_BASE_(r2)
/* 8020FA4C 0020B6AC 3C 80 80 49 */ lis r4, lbl_80493638@ha
/* 8020FA50 0020B6B0 C0 02 9A 68 */ lfs f0, lbl_80642068-_SDA2_BASE_(r2)
@@ -60846,7 +60846,7 @@ lbl_8021009C:
/* 8021009C 0020BCFC FC 20 F0 90 */ fmr f1, f30
/* 802100A0 0020BD00 38 7D 00 88 */ addi r3, r29, 0x88
/* 802100A4 0020BD04 38 81 00 40 */ addi r4, r1, 0x40
-/* 802100A8 0020BD08 48 06 CC 65 */ bl func_8027CD0C
+/* 802100A8 0020BD08 48 06 CC 65 */ bl PSVECScale
/* 802100AC 0020BD0C C0 41 00 40 */ lfs f2, 0x40(r1)
/* 802100B0 0020BD10 38 61 00 50 */ addi r3, r1, 0x50
/* 802100B4 0020BD14 C0 21 00 44 */ lfs f1, 0x44(r1)
@@ -60859,7 +60859,7 @@ lbl_8021009C:
/* 802100D0 0020BD30 38 7D 00 68 */ addi r3, r29, 0x68
/* 802100D4 0020BD34 38 81 00 50 */ addi r4, r1, 0x50
/* 802100D8 0020BD38 7C 65 1B 78 */ mr r5, r3
-/* 802100DC 0020BD3C 48 06 CF 49 */ bl func_8027D024
+/* 802100DC 0020BD3C 48 06 CF 49 */ bl PSQUATMultiply
lbl_802100E0:
/* 802100E0 0020BD40 80 7F 00 40 */ lwz r3, 0x40(r31)
/* 802100E4 0020BD44 2C 03 00 00 */ cmpwi r3, 0
@@ -61081,7 +61081,7 @@ lbl_802103A8:
/* 802103C8 0020C028 D0 01 00 94 */ stfs f0, 0x94(r1)
/* 802103CC 0020C02C C0 1D 00 10 */ lfs f0, 0x10(r29)
/* 802103D0 0020C030 D0 01 00 98 */ stfs f0, 0x98(r1)
-/* 802103D4 0020C034 48 06 CC 51 */ bl func_8027D024
+/* 802103D4 0020C034 48 06 CC 51 */ bl PSQUATMultiply
/* 802103D8 0020C038 C0 C1 00 30 */ lfs f6, 0x30(r1)
/* 802103DC 0020C03C 38 7D 00 30 */ addi r3, r29, 0x30
/* 802103E0 0020C040 C0 A1 00 34 */ lfs f5, 0x34(r1)
@@ -61136,14 +61136,14 @@ func_80210450:
/* 80210494 0020C0F4 98 01 00 09 */ stb r0, 9(r1)
/* 80210498 0020C0F8 98 01 00 0A */ stb r0, 0xa(r1)
/* 8021049C 0020C0FC 98 01 00 0B */ stb r0, 0xb(r1)
-/* 802104A0 0020C100 48 06 C8 49 */ bl func_8027CCE8
+/* 802104A0 0020C100 48 06 C8 49 */ bl PSVECSubtract
/* 802104A4 0020C104 3C 60 80 49 */ lis r3, lbl_8049223C@ha
/* 802104A8 0020C108 38 81 00 0C */ addi r4, r1, 0xc
/* 802104AC 0020C10C 38 63 22 3C */ addi r3, r3, lbl_8049223C@l
/* 802104B0 0020C110 48 06 C9 19 */ bl PSQUATDotProduct
/* 802104B4 0020C114 FF E0 08 90 */ fmr f31, f1
/* 802104B8 0020C118 38 7D 00 4C */ addi r3, r29, 0x4c
-/* 802104BC 0020C11C 48 06 C8 C9 */ bl func_8027CD84
+/* 802104BC 0020C11C 48 06 C8 C9 */ bl PSVECMag
/* 802104C0 0020C120 C0 42 9A 88 */ lfs f2, lbl_80642088-_SDA2_BASE_(r2)
/* 802104C4 0020C124 EC 3F 08 28 */ fsubs f1, f31, f1
/* 802104C8 0020C128 C0 0D A1 CC */ lfs f0, lbl_8063F48C-_SDA_BASE_(r13)
@@ -61233,7 +61233,7 @@ lbl_80210534:
lbl_8021060C:
/* 8021060C 0020C26C 38 61 00 18 */ addi r3, r1, 0x18
/* 80210610 0020C270 38 9D 00 3C */ addi r4, r29, 0x3c
-/* 80210614 0020C274 48 06 BF AD */ bl func_8027C5C0
+/* 80210614 0020C274 48 06 BF AD */ bl PSMTXQuat
/* 80210618 0020C278 C0 3D 00 4C */ lfs f1, 0x4c(r29)
/* 8021061C 0020C27C 38 61 00 48 */ addi r3, r1, 0x48
/* 80210620 0020C280 C0 5D 00 50 */ lfs f2, 0x50(r29)
@@ -61248,7 +61248,7 @@ lbl_8021060C:
/* 80210644 0020C2A4 C0 5D 00 34 */ lfs f2, 0x34(r29)
/* 80210648 0020C2A8 7C 64 1B 78 */ mr r4, r3
/* 8021064C 0020C2AC C0 7D 00 38 */ lfs f3, 0x38(r29)
-/* 80210650 0020C2B0 48 06 BE A5 */ bl func_8027C4F4
+/* 80210650 0020C2B0 48 06 BE A5 */ bl PSMTXTransApply
/* 80210654 0020C2B4 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13)
/* 80210658 0020C2B8 38 81 00 48 */ addi r4, r1, 0x48
/* 8021065C 0020C2BC 80 63 16 E8 */ lwz r3, 0x16e8(r3)
@@ -61688,7 +61688,7 @@ lbl_80210AF0:
/* 80210CB0 0020C910 90 04 00 00 */ stw r0, 0(r4)
/* 80210CB4 0020C914 80 9C 00 20 */ lwz r4, 0x20(r28)
/* 80210CB8 0020C918 38 84 00 5C */ addi r4, r4, 0x5c
-/* 80210CBC 0020C91C 48 06 BD 41 */ bl func_8027C9FC
+/* 80210CBC 0020C91C 48 06 BD 41 */ bl PSMTXMultVec
/* 80210CC0 0020C920 80 61 00 14 */ lwz r3, 0x14(r1)
/* 80210CC4 0020C924 C0 01 00 2C */ lfs f0, 0x2c(r1)
/* 80210CC8 0020C928 80 03 00 04 */ lwz r0, 4(r3)
@@ -61912,13 +61912,13 @@ lbl_80210FD8:
/* 80211010 0020CC70 D0 41 00 38 */ stfs f2, 0x38(r1)
/* 80211014 0020CC74 D0 21 00 3C */ stfs f1, 0x3c(r1)
/* 80211018 0020CC78 D0 01 00 40 */ stfs f0, 0x40(r1)
-/* 8021101C 0020CC7C 48 06 BD 0D */ bl func_8027CD28
+/* 8021101C 0020CC7C 48 06 BD 0D */ bl PSVECNormalize
lbl_80211020:
/* 80211020 0020CC80 38 81 00 38 */ addi r4, r1, 0x38
/* 80211024 0020CC84 3C 60 80 49 */ lis r3, lbl_804921F0@ha
/* 80211028 0020CC88 7C 85 23 78 */ mr r5, r4
/* 8021102C 0020CC8C 38 63 21 F0 */ addi r3, r3, lbl_804921F0@l
-/* 80211030 0020CC90 48 06 BA 21 */ bl func_8027CA50
+/* 80211030 0020CC90 48 06 BA 21 */ bl PSMTXMultVecSR
/* 80211034 0020CC94 80 61 00 10 */ lwz r3, 0x10(r1)
/* 80211038 0020CC98 C0 01 00 38 */ lfs f0, 0x38(r1)
/* 8021103C 0020CC9C D0 03 00 18 */ stfs f0, 0x18(r3)
@@ -62200,7 +62200,7 @@ lbl_80211440:
/* 80211440 0020D0A0 38 7D 00 30 */ addi r3, r29, 0x30
/* 80211444 0020D0A4 38 9E 22 30 */ addi r4, r30, 0x2230
/* 80211448 0020D0A8 38 A1 00 14 */ addi r5, r1, 0x14
-/* 8021144C 0020D0AC 48 06 B8 9D */ bl func_8027CCE8
+/* 8021144C 0020D0AC 48 06 B8 9D */ bl PSVECSubtract
/* 80211450 0020D0B0 38 7F 22 3C */ addi r3, r31, 0x223c
/* 80211454 0020D0B4 38 81 00 14 */ addi r4, r1, 0x14
/* 80211458 0020D0B8 48 06 B9 71 */ bl PSQUATDotProduct
@@ -62212,7 +62212,7 @@ lbl_8021146C:
/* 8021146C 0020D0CC 38 7C 00 30 */ addi r3, r28, 0x30
/* 80211470 0020D0D0 38 9E 22 30 */ addi r4, r30, 0x2230
/* 80211474 0020D0D4 38 A1 00 08 */ addi r5, r1, 8
-/* 80211478 0020D0D8 48 06 B8 71 */ bl func_8027CCE8
+/* 80211478 0020D0D8 48 06 B8 71 */ bl PSVECSubtract
/* 8021147C 0020D0DC 38 7F 22 3C */ addi r3, r31, 0x223c
/* 80211480 0020D0E0 38 81 00 08 */ addi r4, r1, 8
/* 80211484 0020D0E4 48 06 B9 45 */ bl PSQUATDotProduct
@@ -64401,19 +64401,19 @@ lbl_80213398:
/* 802133A0 0020F000 C0 41 00 30 */ lfs f2, 0x30(r1)
/* 802133A4 0020F004 7F 44 D3 78 */ mr r4, r26
/* 802133A8 0020F008 C0 61 00 34 */ lfs f3, 0x34(r1)
-/* 802133AC 0020F00C 48 06 91 49 */ bl func_8027C4F4
+/* 802133AC 0020F00C 48 06 91 49 */ bl PSMTXTransApply
/* 802133B0 0020F010 C0 21 00 5C */ lfs f1, 0x5c(r1)
/* 802133B4 0020F014 7F 43 D3 78 */ mr r3, r26
/* 802133B8 0020F018 C0 41 00 60 */ lfs f2, 0x60(r1)
/* 802133BC 0020F01C 7F 44 D3 78 */ mr r4, r26
/* 802133C0 0020F020 C0 61 00 64 */ lfs f3, 0x64(r1)
-/* 802133C4 0020F024 48 06 91 A5 */ bl func_8027C568
+/* 802133C4 0020F024 48 06 91 A5 */ bl PSMTXScaleApply
/* 802133C8 0020F028 C0 21 00 44 */ lfs f1, 0x44(r1)
/* 802133CC 0020F02C 7F 43 D3 78 */ mr r3, r26
/* 802133D0 0020F030 C0 41 00 48 */ lfs f2, 0x48(r1)
/* 802133D4 0020F034 7F 44 D3 78 */ mr r4, r26
/* 802133D8 0020F038 C0 61 00 4C */ lfs f3, 0x4c(r1)
-/* 802133DC 0020F03C 48 06 91 19 */ bl func_8027C4F4
+/* 802133DC 0020F03C 48 06 91 19 */ bl PSMTXTransApply
/* 802133E0 0020F040 3B E0 00 00 */ li r31, 0
/* 802133E4 0020F044 48 00 01 60 */ b lbl_80213544
lbl_802133E8:
@@ -64422,7 +64422,7 @@ lbl_802133E8:
/* 802133F0 0020F050 C0 41 00 54 */ lfs f2, 0x54(r1)
/* 802133F4 0020F054 7F 44 D3 78 */ mr r4, r26
/* 802133F8 0020F058 C0 61 00 58 */ lfs f3, 0x58(r1)
-/* 802133FC 0020F05C 48 06 90 F9 */ bl func_8027C4F4
+/* 802133FC 0020F05C 48 06 90 F9 */ bl PSMTXTransApply
/* 80213400 0020F060 48 00 01 44 */ b lbl_80213544
lbl_80213404:
/* 80213404 0020F064 C0 01 00 38 */ lfs f0, 0x38(r1)
@@ -64435,12 +64435,12 @@ lbl_80213404:
/* 80213420 0020F080 C0 41 00 30 */ lfs f2, 0x30(r1)
/* 80213424 0020F084 7F 44 D3 78 */ mr r4, r26
/* 80213428 0020F088 C0 61 00 34 */ lfs f3, 0x34(r1)
-/* 8021342C 0020F08C 48 06 90 C9 */ bl func_8027C4F4
+/* 8021342C 0020F08C 48 06 90 C9 */ bl PSMTXTransApply
/* 80213430 0020F090 C0 01 00 38 */ lfs f0, 0x38(r1)
/* 80213434 0020F094 38 61 01 28 */ addi r3, r1, 0x128
/* 80213438 0020F098 38 80 00 58 */ li r4, 0x58
/* 8021343C 0020F09C EC 3F 00 32 */ fmuls f1, f31, f0
-/* 80213440 0020F0A0 48 06 8E 29 */ bl func_8027C268
+/* 80213440 0020F0A0 48 06 8E 29 */ bl PSMTXRotRad
/* 80213444 0020F0A4 7F 44 D3 78 */ mr r4, r26
/* 80213448 0020F0A8 7F 45 D3 78 */ mr r5, r26
/* 8021344C 0020F0AC 38 61 01 28 */ addi r3, r1, 0x128
@@ -64450,7 +64450,7 @@ lbl_80213404:
/* 8021345C 0020F0BC C0 41 00 48 */ lfs f2, 0x48(r1)
/* 80213460 0020F0C0 7F 44 D3 78 */ mr r4, r26
/* 80213464 0020F0C4 C0 61 00 4C */ lfs f3, 0x4c(r1)
-/* 80213468 0020F0C8 48 06 90 8D */ bl func_8027C4F4
+/* 80213468 0020F0C8 48 06 90 8D */ bl PSMTXTransApply
/* 8021346C 0020F0CC 48 00 00 D8 */ b lbl_80213544
lbl_80213470:
/* 80213470 0020F0D0 C0 01 00 3C */ lfs f0, 0x3c(r1)
@@ -64463,12 +64463,12 @@ lbl_80213470:
/* 8021348C 0020F0EC C0 41 00 30 */ lfs f2, 0x30(r1)
/* 80213490 0020F0F0 7F 44 D3 78 */ mr r4, r26
/* 80213494 0020F0F4 C0 61 00 34 */ lfs f3, 0x34(r1)
-/* 80213498 0020F0F8 48 06 90 5D */ bl func_8027C4F4
+/* 80213498 0020F0F8 48 06 90 5D */ bl PSMTXTransApply
/* 8021349C 0020F0FC C0 01 00 3C */ lfs f0, 0x3c(r1)
/* 802134A0 0020F100 38 61 00 F8 */ addi r3, r1, 0xf8
/* 802134A4 0020F104 38 80 00 59 */ li r4, 0x59
/* 802134A8 0020F108 EC 3F 00 32 */ fmuls f1, f31, f0
-/* 802134AC 0020F10C 48 06 8D BD */ bl func_8027C268
+/* 802134AC 0020F10C 48 06 8D BD */ bl PSMTXRotRad
/* 802134B0 0020F110 7F 44 D3 78 */ mr r4, r26
/* 802134B4 0020F114 7F 45 D3 78 */ mr r5, r26
/* 802134B8 0020F118 38 61 00 F8 */ addi r3, r1, 0xf8
@@ -64478,7 +64478,7 @@ lbl_80213470:
/* 802134C8 0020F128 C0 41 00 48 */ lfs f2, 0x48(r1)
/* 802134CC 0020F12C 7F 44 D3 78 */ mr r4, r26
/* 802134D0 0020F130 C0 61 00 4C */ lfs f3, 0x4c(r1)
-/* 802134D4 0020F134 48 06 90 21 */ bl func_8027C4F4
+/* 802134D4 0020F134 48 06 90 21 */ bl PSMTXTransApply
/* 802134D8 0020F138 48 00 00 6C */ b lbl_80213544
lbl_802134DC:
/* 802134DC 0020F13C C0 01 00 40 */ lfs f0, 0x40(r1)
@@ -64491,12 +64491,12 @@ lbl_802134DC:
/* 802134F8 0020F158 C0 41 00 30 */ lfs f2, 0x30(r1)
/* 802134FC 0020F15C 7F 44 D3 78 */ mr r4, r26
/* 80213500 0020F160 C0 61 00 34 */ lfs f3, 0x34(r1)
-/* 80213504 0020F164 48 06 8F F1 */ bl func_8027C4F4
+/* 80213504 0020F164 48 06 8F F1 */ bl PSMTXTransApply
/* 80213508 0020F168 C0 01 00 40 */ lfs f0, 0x40(r1)
/* 8021350C 0020F16C 38 61 00 C8 */ addi r3, r1, 0xc8
/* 80213510 0020F170 38 80 00 5A */ li r4, 0x5a
/* 80213514 0020F174 EC 3F 00 32 */ fmuls f1, f31, f0
-/* 80213518 0020F178 48 06 8D 51 */ bl func_8027C268
+/* 80213518 0020F178 48 06 8D 51 */ bl PSMTXRotRad
/* 8021351C 0020F17C 7F 44 D3 78 */ mr r4, r26
/* 80213520 0020F180 7F 45 D3 78 */ mr r5, r26
/* 80213524 0020F184 38 61 00 C8 */ addi r3, r1, 0xc8
@@ -64506,7 +64506,7 @@ lbl_802134DC:
/* 80213534 0020F194 C0 41 00 48 */ lfs f2, 0x48(r1)
/* 80213538 0020F198 7F 44 D3 78 */ mr r4, r26
/* 8021353C 0020F19C C0 61 00 4C */ lfs f3, 0x4c(r1)
-/* 80213540 0020F1A0 48 06 8F B5 */ bl func_8027C4F4
+/* 80213540 0020F1A0 48 06 8F B5 */ bl PSMTXTransApply
lbl_80213544:
/* 80213544 0020F1A4 3B DE 00 01 */ addi r30, r30, 1
/* 80213548 0020F1A8 3B BD 00 01 */ addi r29, r29, 1
@@ -64543,7 +64543,7 @@ lbl_80213588:
/* 802135B8 0020F218 D0 61 00 20 */ stfs f3, 0x20(r1)
/* 802135BC 0020F21C D0 41 00 24 */ stfs f2, 0x24(r1)
/* 802135C0 0020F220 D0 01 00 28 */ stfs f0, 0x28(r1)
-/* 802135C4 0020F224 48 06 8E 81 */ bl func_8027C444
+/* 802135C4 0020F224 48 06 8E 81 */ bl PSMTXRotAxisRad
/* 802135C8 0020F228 7F 24 CB 78 */ mr r4, r25
/* 802135CC 0020F22C 7F 25 CB 78 */ mr r5, r25
/* 802135D0 0020F230 38 61 00 98 */ addi r3, r1, 0x98
@@ -64561,7 +64561,7 @@ lbl_802135D8:
/* 802135FC 0020F25C D0 61 00 14 */ stfs f3, 0x14(r1)
/* 80213600 0020F260 D0 41 00 18 */ stfs f2, 0x18(r1)
/* 80213604 0020F264 D0 01 00 1C */ stfs f0, 0x1c(r1)
-/* 80213608 0020F268 48 06 8E 3D */ bl func_8027C444
+/* 80213608 0020F268 48 06 8E 3D */ bl PSMTXRotAxisRad
/* 8021360C 0020F26C 7F 24 CB 78 */ mr r4, r25
/* 80213610 0020F270 7F 25 CB 78 */ mr r5, r25
/* 80213614 0020F274 38 61 00 68 */ addi r3, r1, 0x68
@@ -64575,7 +64575,7 @@ lbl_8021361C:
/* 80213630 0020F290 D0 21 00 08 */ stfs f1, 8(r1)
/* 80213634 0020F294 D0 41 00 0C */ stfs f2, 0xc(r1)
/* 80213638 0020F298 D0 61 00 10 */ stfs f3, 0x10(r1)
-/* 8021363C 0020F29C 48 06 8E B9 */ bl func_8027C4F4
+/* 8021363C 0020F29C 48 06 8E B9 */ bl PSMTXTransApply
lbl_80213640:
/* 80213640 0020F2A0 38 60 00 01 */ li r3, 1
/* 80213644 0020F2A4 E3 E1 01 A8 */ psq_l f31, 424(r1), 0, qr0
@@ -68309,35 +68309,35 @@ lbl_80216C38:
/* 80216C44 002128A4 38 81 00 08 */ addi r4, r1, 8
/* 80216C48 002128A8 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80216C4C 002128AC 7C 7E 02 14 */ add r3, r30, r0
-/* 80216C50 002128B0 48 06 60 BD */ bl func_8027CD0C
+/* 80216C50 002128B0 48 06 60 BD */ bl PSVECScale
/* 80216C54 002128B4 1C 1A 00 0C */ mulli r0, r26, 0xc
/* 80216C58 002128B8 EC 3D 07 F2 */ fmuls f1, f29, f31
/* 80216C5C 002128BC 38 81 00 14 */ addi r4, r1, 0x14
/* 80216C60 002128C0 7C 7E 02 14 */ add r3, r30, r0
-/* 80216C64 002128C4 48 06 60 A9 */ bl func_8027CD0C
+/* 80216C64 002128C4 48 06 60 A9 */ bl PSVECScale
/* 80216C68 002128C8 38 12 00 01 */ addi r0, r18, 1
/* 80216C6C 002128CC EC 3E 07 32 */ fmuls f1, f30, f28
/* 80216C70 002128D0 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80216C74 002128D4 38 81 00 20 */ addi r4, r1, 0x20
/* 80216C78 002128D8 7C 7E 02 14 */ add r3, r30, r0
-/* 80216C7C 002128DC 48 06 60 91 */ bl func_8027CD0C
+/* 80216C7C 002128DC 48 06 60 91 */ bl PSVECScale
/* 80216C80 002128E0 1C 12 00 0C */ mulli r0, r18, 0xc
/* 80216C84 002128E4 EC 3D 07 32 */ fmuls f1, f29, f28
/* 80216C88 002128E8 38 81 00 2C */ addi r4, r1, 0x2c
/* 80216C8C 002128EC 7C 7E 02 14 */ add r3, r30, r0
-/* 80216C90 002128F0 48 06 60 7D */ bl func_8027CD0C
+/* 80216C90 002128F0 48 06 60 7D */ bl PSVECScale
/* 80216C94 002128F4 38 61 00 2C */ addi r3, r1, 0x2c
/* 80216C98 002128F8 38 81 00 20 */ addi r4, r1, 0x20
/* 80216C9C 002128FC 38 A1 00 38 */ addi r5, r1, 0x38
-/* 80216CA0 00212900 48 06 60 25 */ bl func_8027CCC4
+/* 80216CA0 00212900 48 06 60 25 */ bl PSVECAdd
/* 80216CA4 00212904 38 61 00 38 */ addi r3, r1, 0x38
/* 80216CA8 00212908 38 81 00 14 */ addi r4, r1, 0x14
/* 80216CAC 0021290C 38 A1 00 44 */ addi r5, r1, 0x44
-/* 80216CB0 00212910 48 06 60 15 */ bl func_8027CCC4
+/* 80216CB0 00212910 48 06 60 15 */ bl PSVECAdd
/* 80216CB4 00212914 38 61 00 44 */ addi r3, r1, 0x44
/* 80216CB8 00212918 38 81 00 08 */ addi r4, r1, 8
/* 80216CBC 0021291C 38 A1 00 50 */ addi r5, r1, 0x50
-/* 80216CC0 00212920 48 06 60 05 */ bl func_8027CCC4
+/* 80216CC0 00212920 48 06 60 05 */ bl PSVECAdd
/* 80216CC4 00212924 C0 41 00 50 */ lfs f2, 0x50(r1)
/* 80216CC8 00212928 C0 21 00 54 */ lfs f1, 0x54(r1)
/* 80216CCC 0021292C C0 01 00 58 */ lfs f0, 0x58(r1)
@@ -68348,7 +68348,7 @@ lbl_80216CDC:
/* 80216CDC 0021293C 38 81 00 5C */ addi r4, r1, 0x5c
/* 80216CE0 00212940 7E 23 8B 78 */ mr r3, r17
/* 80216CE4 00212944 7C 85 23 78 */ mr r5, r4
-/* 80216CE8 00212948 48 06 5D 69 */ bl func_8027CA50
+/* 80216CE8 00212948 48 06 5D 69 */ bl PSMTXMultVecSR
/* 80216CEC 0021294C 57 20 18 38 */ slwi r0, r25, 3
/* 80216CF0 00212950 C0 01 00 5C */ lfs f0, 0x5c(r1)
/* 80216CF4 00212954 7C 3B 04 2E */ lfsx f1, r27, r0
@@ -68415,11 +68415,11 @@ func_80216D6C:
lbl_80216DD0:
/* 80216DD0 00212A30 7F E3 FB 78 */ mr r3, r31
/* 80216DD4 00212A34 7F E4 FB 78 */ mr r4, r31
-/* 80216DD8 00212A38 48 06 5F 51 */ bl func_8027CD28
+/* 80216DD8 00212A38 48 06 5F 51 */ bl PSVECNormalize
/* 80216DDC 00212A3C 7F C3 F3 78 */ mr r3, r30
/* 80216DE0 00212A40 7F E4 FB 78 */ mr r4, r31
/* 80216DE4 00212A44 38 A1 00 08 */ addi r5, r1, 8
-/* 80216DE8 00212A48 48 06 60 01 */ bl func_8027CDE8
+/* 80216DE8 00212A48 48 06 60 01 */ bl PSVECCrossProduct
/* 80216DEC 00212A4C C0 21 00 08 */ lfs f1, 8(r1)
/* 80216DF0 00212A50 C0 02 9A E8 */ lfs f0, lbl_806420E8-_SDA2_BASE_(r2)
/* 80216DF4 00212A54 FC 20 0A 10 */ fabs f1, f1
@@ -68439,7 +68439,7 @@ lbl_80216DD0:
lbl_80216E2C:
/* 80216E2C 00212A8C 38 61 00 08 */ addi r3, r1, 8
/* 80216E30 00212A90 7C 64 1B 78 */ mr r4, r3
-/* 80216E34 00212A94 48 06 5E F5 */ bl func_8027CD28
+/* 80216E34 00212A94 48 06 5E F5 */ bl PSVECNormalize
/* 80216E38 00212A98 7F C3 F3 78 */ mr r3, r30
/* 80216E3C 00212A9C 7F E4 FB 78 */ mr r4, r31
/* 80216E40 00212AA0 48 06 5F 89 */ bl PSQUATDotProduct
@@ -68468,7 +68468,7 @@ lbl_80216E8C:
lbl_80216E94:
/* 80216E94 00212AF4 38 61 00 18 */ addi r3, r1, 0x18
/* 80216E98 00212AF8 38 81 00 08 */ addi r4, r1, 8
-/* 80216E9C 00212AFC 48 06 55 A9 */ bl func_8027C444
+/* 80216E9C 00212AFC 48 06 55 A9 */ bl PSMTXRotAxisRad
/* 80216EA0 00212B00 7F A4 EB 78 */ mr r4, r29
/* 80216EA4 00212B04 7F A5 EB 78 */ mr r5, r29
/* 80216EA8 00212B08 38 61 00 18 */ addi r3, r1, 0x18
@@ -68511,7 +68511,7 @@ func_80216ED8:
lbl_80216F28:
/* 80216F28 00212B88 7F E3 FB 78 */ mr r3, r31
/* 80216F2C 00212B8C 7F E4 FB 78 */ mr r4, r31
-/* 80216F30 00212B90 48 06 5D F9 */ bl func_8027CD28
+/* 80216F30 00212B90 48 06 5D F9 */ bl PSVECNormalize
/* 80216F34 00212B94 C0 7E 00 00 */ lfs f3, 0(r30)
/* 80216F38 00212B98 C0 5F 00 00 */ lfs f2, 0(r31)
/* 80216F3C 00212B9C C0 3E 00 08 */ lfs f1, 8(r30)
@@ -68548,7 +68548,7 @@ lbl_80216FA0:
/* 80216FAC 00212C0C 40 81 00 24 */ ble lbl_80216FD0
/* 80216FB0 00212C10 38 61 00 38 */ addi r3, r1, 0x38
/* 80216FB4 00212C14 38 80 00 59 */ li r4, 0x59
-/* 80216FB8 00212C18 48 06 52 B1 */ bl func_8027C268
+/* 80216FB8 00212C18 48 06 52 B1 */ bl PSMTXRotRad
/* 80216FBC 00212C1C 7F A4 EB 78 */ mr r4, r29
/* 80216FC0 00212C20 7F A5 EB 78 */ mr r5, r29
/* 80216FC4 00212C24 38 61 00 38 */ addi r3, r1, 0x38
@@ -68558,7 +68558,7 @@ lbl_80216FD0:
/* 80216FD0 00212C30 FC 20 08 50 */ fneg f1, f1
/* 80216FD4 00212C34 38 61 00 08 */ addi r3, r1, 8
/* 80216FD8 00212C38 38 80 00 59 */ li r4, 0x59
-/* 80216FDC 00212C3C 48 06 52 8D */ bl func_8027C268
+/* 80216FDC 00212C3C 48 06 52 8D */ bl PSMTXRotRad
/* 80216FE0 00212C40 7F A4 EB 78 */ mr r4, r29
/* 80216FE4 00212C44 7F A5 EB 78 */ mr r5, r29
/* 80216FE8 00212C48 38 61 00 08 */ addi r3, r1, 8
@@ -68596,13 +68596,13 @@ func_80217018:
/* 80217050 00212CB0 D0 41 00 44 */ stfs f2, 0x44(r1)
/* 80217054 00212CB4 D0 21 00 48 */ stfs f1, 0x48(r1)
/* 80217058 00212CB8 D0 01 00 4C */ stfs f0, 0x4c(r1)
-/* 8021705C 00212CBC 48 06 5D 29 */ bl func_8027CD84
+/* 8021705C 00212CBC 48 06 5D 29 */ bl PSVECMag
/* 80217060 00212CC0 D0 21 00 38 */ stfs f1, 0x38(r1)
/* 80217064 00212CC4 38 7F 00 10 */ addi r3, r31, 0x10
-/* 80217068 00212CC8 48 06 5D 1D */ bl func_8027CD84
+/* 80217068 00212CC8 48 06 5D 1D */ bl PSVECMag
/* 8021706C 00212CCC D0 21 00 3C */ stfs f1, 0x3c(r1)
/* 80217070 00212CD0 38 7F 00 20 */ addi r3, r31, 0x20
-/* 80217074 00212CD4 48 06 5D 11 */ bl func_8027CD84
+/* 80217074 00212CD4 48 06 5D 11 */ bl PSVECMag
/* 80217078 00212CD8 FC 00 08 90 */ fmr f0, f1
/* 8021707C 00212CDC D0 21 00 40 */ stfs f1, 0x40(r1)
/* 80217080 00212CE0 C0 21 00 38 */ lfs f1, 0x38(r1)
@@ -68628,7 +68628,7 @@ lbl_802170C0:
/* 802170C8 00212D28 C0 41 00 48 */ lfs f2, 0x48(r1)
/* 802170CC 00212D2C 7C 64 1B 78 */ mr r4, r3
/* 802170D0 00212D30 C0 61 00 4C */ lfs f3, 0x4c(r1)
-/* 802170D4 00212D34 48 06 54 21 */ bl func_8027C4F4
+/* 802170D4 00212D34 48 06 54 21 */ bl PSMTXTransApply
/* 802170D8 00212D38 48 00 00 F8 */ b lbl_802171D0
lbl_802170DC:
/* 802170DC 00212D3C C0 21 00 4C */ lfs f1, 0x4c(r1)
@@ -68660,7 +68660,7 @@ lbl_80217138:
/* 80217140 00212DA0 C0 41 00 48 */ lfs f2, 0x48(r1)
/* 80217144 00212DA4 7C 64 1B 78 */ mr r4, r3
/* 80217148 00212DA8 C0 61 00 4C */ lfs f3, 0x4c(r1)
-/* 8021714C 00212DAC 48 06 53 A9 */ bl func_8027C4F4
+/* 8021714C 00212DAC 48 06 53 A9 */ bl PSMTXTransApply
/* 80217150 00212DB0 48 00 00 80 */ b lbl_802171D0
lbl_80217154:
/* 80217154 00212DB4 C0 41 00 4C */ lfs f2, 0x4c(r1)
@@ -68694,7 +68694,7 @@ lbl_802171B8:
/* 802171C0 00212E20 C0 41 00 48 */ lfs f2, 0x48(r1)
/* 802171C4 00212E24 7C 64 1B 78 */ mr r4, r3
/* 802171C8 00212E28 C0 61 00 4C */ lfs f3, 0x4c(r1)
-/* 802171CC 00212E2C 48 06 53 29 */ bl func_8027C4F4
+/* 802171CC 00212E2C 48 06 53 29 */ bl PSMTXTransApply
lbl_802171D0:
/* 802171D0 00212E30 E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0
/* 802171D4 00212E34 80 01 00 74 */ lwz r0, 0x74(r1)
@@ -68796,7 +68796,7 @@ func_80217294:
lbl_80217324:
/* 80217324 00212F84 7C A3 2B 78 */ mr r3, r5
/* 80217328 00212F88 38 81 00 80 */ addi r4, r1, 0x80
-/* 8021732C 00212F8C 48 06 4C 2D */ bl func_8027BF58
+/* 8021732C 00212F8C 48 06 4C 2D */ bl PSMTXCopy
/* 80217330 00212F90 38 81 00 80 */ addi r4, r1, 0x80
/* 80217334 00212F94 7F 63 DB 78 */ mr r3, r27
/* 80217338 00212F98 7C 85 23 78 */ mr r5, r4
@@ -68836,11 +68836,11 @@ lbl_8021738C:
/* 802173BC 0021301C D0 01 00 3C */ stfs f0, 0x3c(r1)
/* 802173C0 00213020 C0 1E 00 08 */ lfs f0, 8(r30)
/* 802173C4 00213024 D0 01 00 40 */ stfs f0, 0x40(r1)
-/* 802173C8 00213028 48 06 56 89 */ bl func_8027CA50
+/* 802173C8 00213028 48 06 56 89 */ bl PSMTXMultVecSR
/* 802173CC 0021302C 38 61 00 80 */ addi r3, r1, 0x80
/* 802173D0 00213030 38 81 00 38 */ addi r4, r1, 0x38
/* 802173D4 00213034 38 A1 00 20 */ addi r5, r1, 0x20
-/* 802173D8 00213038 48 06 56 25 */ bl func_8027C9FC
+/* 802173D8 00213038 48 06 56 25 */ bl PSMTXMultVec
/* 802173DC 0021303C C2 E1 00 28 */ lfs f23, 0x28(r1)
/* 802173E0 00213040 EC 17 C0 28 */ fsubs f0, f23, f24
/* 802173E4 00213044 D0 01 00 28 */ stfs f0, 0x28(r1)
@@ -68851,19 +68851,19 @@ lbl_8021738C:
/* 802173F8 00213058 D3 21 00 30 */ stfs f25, 0x30(r1)
/* 802173FC 0021305C 38 61 00 2C */ addi r3, r1, 0x2c
/* 80217400 00213060 D3 21 00 24 */ stfs f25, 0x24(r1)
-/* 80217404 00213064 48 06 59 69 */ bl func_8027CD6C
+/* 80217404 00213064 48 06 59 69 */ bl PSVECSquareMag
/* 80217408 00213068 FC 01 D0 40 */ fcmpo cr0, f1, f26
/* 8021740C 0021306C 40 81 00 50 */ ble lbl_8021745C
/* 80217410 00213070 38 61 00 20 */ addi r3, r1, 0x20
-/* 80217414 00213074 48 06 59 59 */ bl func_8027CD6C
+/* 80217414 00213074 48 06 59 59 */ bl PSVECSquareMag
/* 80217418 00213078 FC 01 D0 40 */ fcmpo cr0, f1, f26
/* 8021741C 0021307C 40 81 00 40 */ ble lbl_8021745C
/* 80217420 00213080 38 61 00 2C */ addi r3, r1, 0x2c
/* 80217424 00213084 7C 64 1B 78 */ mr r4, r3
-/* 80217428 00213088 48 06 59 01 */ bl func_8027CD28
+/* 80217428 00213088 48 06 59 01 */ bl PSVECNormalize
/* 8021742C 0021308C 38 61 00 20 */ addi r3, r1, 0x20
/* 80217430 00213090 7C 64 1B 78 */ mr r4, r3
-/* 80217434 00213094 48 06 58 F5 */ bl func_8027CD28
+/* 80217434 00213094 48 06 58 F5 */ bl PSVECNormalize
/* 80217438 00213098 38 61 00 2C */ addi r3, r1, 0x2c
/* 8021743C 0021309C 38 81 00 20 */ addi r4, r1, 0x20
/* 80217440 002130A0 48 06 59 89 */ bl PSQUATDotProduct
@@ -68882,19 +68882,19 @@ lbl_80217464:
/* 8021746C 002130CC D3 21 00 2C */ stfs f25, 0x2c(r1)
/* 80217470 002130D0 38 61 00 2C */ addi r3, r1, 0x2c
/* 80217474 002130D4 D3 21 00 20 */ stfs f25, 0x20(r1)
-/* 80217478 002130D8 48 06 58 F5 */ bl func_8027CD6C
+/* 80217478 002130D8 48 06 58 F5 */ bl PSVECSquareMag
/* 8021747C 002130DC FC 01 D0 40 */ fcmpo cr0, f1, f26
/* 80217480 002130E0 40 81 00 50 */ ble lbl_802174D0
/* 80217484 002130E4 38 61 00 20 */ addi r3, r1, 0x20
-/* 80217488 002130E8 48 06 58 E5 */ bl func_8027CD6C
+/* 80217488 002130E8 48 06 58 E5 */ bl PSVECSquareMag
/* 8021748C 002130EC FC 01 D0 40 */ fcmpo cr0, f1, f26
/* 80217490 002130F0 40 81 00 40 */ ble lbl_802174D0
/* 80217494 002130F4 38 61 00 2C */ addi r3, r1, 0x2c
/* 80217498 002130F8 7C 64 1B 78 */ mr r4, r3
-/* 8021749C 002130FC 48 06 58 8D */ bl func_8027CD28
+/* 8021749C 002130FC 48 06 58 8D */ bl PSVECNormalize
/* 802174A0 00213100 38 61 00 20 */ addi r3, r1, 0x20
/* 802174A4 00213104 7C 64 1B 78 */ mr r4, r3
-/* 802174A8 00213108 48 06 58 81 */ bl func_8027CD28
+/* 802174A8 00213108 48 06 58 81 */ bl PSVECNormalize
/* 802174AC 0021310C 38 61 00 2C */ addi r3, r1, 0x2c
/* 802174B0 00213110 38 81 00 20 */ addi r4, r1, 0x20
/* 802174B4 00213114 48 06 59 15 */ bl PSQUATDotProduct
@@ -68934,25 +68934,25 @@ lbl_80217520:
/* 8021752C 0021318C 38 61 00 80 */ addi r3, r1, 0x80
/* 80217530 00213190 D3 21 00 18 */ stfs f25, 0x18(r1)
/* 80217534 00213194 D3 61 00 1C */ stfs f27, 0x1c(r1)
-/* 80217538 00213198 48 06 55 19 */ bl func_8027CA50
+/* 80217538 00213198 48 06 55 19 */ bl PSMTXMultVecSR
/* 8021753C 0021319C 38 61 00 20 */ addi r3, r1, 0x20
/* 80217540 002131A0 38 81 00 14 */ addi r4, r1, 0x14
/* 80217544 002131A4 38 A1 00 08 */ addi r5, r1, 8
-/* 80217548 002131A8 48 06 58 A1 */ bl func_8027CDE8
+/* 80217548 002131A8 48 06 58 A1 */ bl PSVECCrossProduct
/* 8021754C 002131AC 38 61 00 08 */ addi r3, r1, 8
-/* 80217550 002131B0 48 06 58 1D */ bl func_8027CD6C
+/* 80217550 002131B0 48 06 58 1D */ bl PSVECSquareMag
/* 80217554 002131B4 FC 01 D0 40 */ fcmpo cr0, f1, f26
/* 80217558 002131B8 40 81 00 AC */ ble lbl_80217604
/* 8021755C 002131BC 38 61 00 20 */ addi r3, r1, 0x20
-/* 80217560 002131C0 48 06 58 0D */ bl func_8027CD6C
+/* 80217560 002131C0 48 06 58 0D */ bl PSVECSquareMag
/* 80217564 002131C4 FC 01 D0 40 */ fcmpo cr0, f1, f26
/* 80217568 002131C8 40 81 00 9C */ ble lbl_80217604
/* 8021756C 002131CC 38 61 00 08 */ addi r3, r1, 8
/* 80217570 002131D0 7C 64 1B 78 */ mr r4, r3
-/* 80217574 002131D4 48 06 57 B5 */ bl func_8027CD28
+/* 80217574 002131D4 48 06 57 B5 */ bl PSVECNormalize
/* 80217578 002131D8 38 61 00 20 */ addi r3, r1, 0x20
/* 8021757C 002131DC 7C 64 1B 78 */ mr r4, r3
-/* 80217580 002131E0 48 06 57 A9 */ bl func_8027CD28
+/* 80217580 002131E0 48 06 57 A9 */ bl PSVECNormalize
/* 80217584 002131E4 38 61 00 14 */ addi r3, r1, 0x14
/* 80217588 002131E8 38 81 00 20 */ addi r4, r1, 0x20
/* 8021758C 002131EC 48 06 58 3D */ bl PSQUATDotProduct
@@ -68974,11 +68974,11 @@ lbl_802175C0:
/* 802175C0 00213220 EC 3D 00 28 */ fsubs f1, f29, f0
/* 802175C4 00213224 38 61 00 50 */ addi r3, r1, 0x50
/* 802175C8 00213228 38 81 00 08 */ addi r4, r1, 8
-/* 802175CC 0021322C 48 06 4E 79 */ bl func_8027C444
+/* 802175CC 0021322C 48 06 4E 79 */ bl PSMTXRotAxisRad
/* 802175D0 00213230 38 81 00 2C */ addi r4, r1, 0x2c
/* 802175D4 00213234 38 61 00 50 */ addi r3, r1, 0x50
/* 802175D8 00213238 7C 85 23 78 */ mr r5, r4
-/* 802175DC 0021323C 48 06 54 75 */ bl func_8027CA50
+/* 802175DC 0021323C 48 06 54 75 */ bl PSMTXMultVecSR
/* 802175E0 00213240 38 61 00 2C */ addi r3, r1, 0x2c
/* 802175E4 00213244 38 81 00 20 */ addi r4, r1, 0x20
/* 802175E8 00213248 48 06 57 E1 */ bl PSQUATDotProduct
@@ -68993,19 +68993,19 @@ lbl_80217604:
/* 80217608 00213268 48 00 00 6C */ b lbl_80217674
lbl_8021760C:
/* 8021760C 0021326C 38 61 00 2C */ addi r3, r1, 0x2c
-/* 80217610 00213270 48 06 57 5D */ bl func_8027CD6C
+/* 80217610 00213270 48 06 57 5D */ bl PSVECSquareMag
/* 80217614 00213274 FC 01 D0 40 */ fcmpo cr0, f1, f26
/* 80217618 00213278 40 81 00 50 */ ble lbl_80217668
/* 8021761C 0021327C 38 61 00 20 */ addi r3, r1, 0x20
-/* 80217620 00213280 48 06 57 4D */ bl func_8027CD6C
+/* 80217620 00213280 48 06 57 4D */ bl PSVECSquareMag
/* 80217624 00213284 FC 01 D0 40 */ fcmpo cr0, f1, f26
/* 80217628 00213288 40 81 00 40 */ ble lbl_80217668
/* 8021762C 0021328C 38 61 00 2C */ addi r3, r1, 0x2c
/* 80217630 00213290 7C 64 1B 78 */ mr r4, r3
-/* 80217634 00213294 48 06 56 F5 */ bl func_8027CD28
+/* 80217634 00213294 48 06 56 F5 */ bl PSVECNormalize
/* 80217638 00213298 38 61 00 20 */ addi r3, r1, 0x20
/* 8021763C 0021329C 7C 64 1B 78 */ mr r4, r3
-/* 80217640 002132A0 48 06 56 E9 */ bl func_8027CD28
+/* 80217640 002132A0 48 06 56 E9 */ bl PSVECNormalize
/* 80217644 002132A4 38 61 00 2C */ addi r3, r1, 0x2c
/* 80217648 002132A8 38 81 00 20 */ addi r4, r1, 0x20
/* 8021764C 002132AC 48 06 57 7D */ bl PSQUATDotProduct
@@ -69225,7 +69225,7 @@ lbl_80217944:
/* 80217964 002135C4 40 82 00 44 */ bne lbl_802179A8
/* 80217968 002135C8 7D C3 73 78 */ mr r3, r14
/* 8021796C 002135CC 38 81 01 90 */ addi r4, r1, 0x190
-/* 80217970 002135D0 48 06 45 E9 */ bl func_8027BF58
+/* 80217970 002135D0 48 06 45 E9 */ bl PSMTXCopy
/* 80217974 002135D4 38 81 01 90 */ addi r4, r1, 0x190
/* 80217978 002135D8 80 61 00 08 */ lwz r3, 8(r1)
/* 8021797C 002135DC 7C 85 23 78 */ mr r5, r4
@@ -69242,7 +69242,7 @@ lbl_80217944:
lbl_802179A8:
/* 802179A8 00213608 7D C3 73 78 */ mr r3, r14
/* 802179AC 0021360C 38 81 01 90 */ addi r4, r1, 0x190
-/* 802179B0 00213610 48 06 45 A9 */ bl func_8027BF58
+/* 802179B0 00213610 48 06 45 A9 */ bl PSMTXCopy
/* 802179B4 00213614 80 96 00 00 */ lwz r4, 0(r22)
/* 802179B8 00213618 7E 03 83 78 */ mr r3, r16
/* 802179BC 0021361C 80 A1 01 F0 */ lwz r5, 0x1f0(r1)
@@ -69423,35 +69423,35 @@ lbl_80217C44:
/* 80217C50 002138B0 38 81 00 C4 */ addi r4, r1, 0xc4
/* 80217C54 002138B4 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80217C58 002138B8 7C 74 02 14 */ add r3, r20, r0
-/* 80217C5C 002138BC 48 06 50 B1 */ bl func_8027CD0C
+/* 80217C5C 002138BC 48 06 50 B1 */ bl PSVECScale
/* 80217C60 002138C0 1C 0F 00 0C */ mulli r0, r15, 0xc
/* 80217C64 002138C4 EC 36 05 F2 */ fmuls f1, f22, f23
/* 80217C68 002138C8 38 81 00 D0 */ addi r4, r1, 0xd0
/* 80217C6C 002138CC 7C 74 02 14 */ add r3, r20, r0
-/* 80217C70 002138D0 48 06 50 9D */ bl func_8027CD0C
+/* 80217C70 002138D0 48 06 50 9D */ bl PSVECScale
/* 80217C74 002138D4 38 17 FF FF */ addi r0, r23, -1
/* 80217C78 002138D8 EC 38 05 72 */ fmuls f1, f24, f21
/* 80217C7C 002138DC 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80217C80 002138E0 38 81 00 DC */ addi r4, r1, 0xdc
/* 80217C84 002138E4 7C 74 02 14 */ add r3, r20, r0
-/* 80217C88 002138E8 48 06 50 85 */ bl func_8027CD0C
+/* 80217C88 002138E8 48 06 50 85 */ bl PSVECScale
/* 80217C8C 002138EC 1C 17 00 0C */ mulli r0, r23, 0xc
/* 80217C90 002138F0 EC 36 05 72 */ fmuls f1, f22, f21
/* 80217C94 002138F4 38 81 00 E8 */ addi r4, r1, 0xe8
/* 80217C98 002138F8 7C 74 02 14 */ add r3, r20, r0
-/* 80217C9C 002138FC 48 06 50 71 */ bl func_8027CD0C
+/* 80217C9C 002138FC 48 06 50 71 */ bl PSVECScale
/* 80217CA0 00213900 38 61 00 E8 */ addi r3, r1, 0xe8
/* 80217CA4 00213904 38 81 00 DC */ addi r4, r1, 0xdc
/* 80217CA8 00213908 38 A1 00 F4 */ addi r5, r1, 0xf4
-/* 80217CAC 0021390C 48 06 50 19 */ bl func_8027CCC4
+/* 80217CAC 0021390C 48 06 50 19 */ bl PSVECAdd
/* 80217CB0 00213910 38 61 00 F4 */ addi r3, r1, 0xf4
/* 80217CB4 00213914 38 81 00 D0 */ addi r4, r1, 0xd0
/* 80217CB8 00213918 38 A1 01 00 */ addi r5, r1, 0x100
-/* 80217CBC 0021391C 48 06 50 09 */ bl func_8027CCC4
+/* 80217CBC 0021391C 48 06 50 09 */ bl PSVECAdd
/* 80217CC0 00213920 38 61 01 00 */ addi r3, r1, 0x100
/* 80217CC4 00213924 38 81 00 C4 */ addi r4, r1, 0xc4
/* 80217CC8 00213928 38 A1 01 0C */ addi r5, r1, 0x10c
-/* 80217CCC 0021392C 48 06 4F F9 */ bl func_8027CCC4
+/* 80217CCC 0021392C 48 06 4F F9 */ bl PSVECAdd
/* 80217CD0 00213930 C0 41 01 0C */ lfs f2, 0x10c(r1)
/* 80217CD4 00213934 C0 21 01 10 */ lfs f1, 0x110(r1)
/* 80217CD8 00213938 C0 01 01 14 */ lfs f0, 0x114(r1)
@@ -69469,35 +69469,35 @@ lbl_80217CEC:
/* 80217D04 00213964 38 81 00 70 */ addi r4, r1, 0x70
/* 80217D08 00213968 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80217D0C 0021396C 7C 74 02 14 */ add r3, r20, r0
-/* 80217D10 00213970 48 06 4F FD */ bl func_8027CD0C
+/* 80217D10 00213970 48 06 4F FD */ bl PSVECScale
/* 80217D14 00213974 1C 0F 00 0C */ mulli r0, r15, 0xc
/* 80217D18 00213978 EC 36 05 F2 */ fmuls f1, f22, f23
/* 80217D1C 0021397C 38 81 00 7C */ addi r4, r1, 0x7c
/* 80217D20 00213980 7C 74 02 14 */ add r3, r20, r0
-/* 80217D24 00213984 48 06 4F E9 */ bl func_8027CD0C
+/* 80217D24 00213984 48 06 4F E9 */ bl PSVECScale
/* 80217D28 00213988 38 17 00 01 */ addi r0, r23, 1
/* 80217D2C 0021398C EC 38 05 72 */ fmuls f1, f24, f21
/* 80217D30 00213990 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80217D34 00213994 38 81 00 88 */ addi r4, r1, 0x88
/* 80217D38 00213998 7C 74 02 14 */ add r3, r20, r0
-/* 80217D3C 0021399C 48 06 4F D1 */ bl func_8027CD0C
+/* 80217D3C 0021399C 48 06 4F D1 */ bl PSVECScale
/* 80217D40 002139A0 1C 17 00 0C */ mulli r0, r23, 0xc
/* 80217D44 002139A4 EC 36 05 72 */ fmuls f1, f22, f21
/* 80217D48 002139A8 38 81 00 94 */ addi r4, r1, 0x94
/* 80217D4C 002139AC 7C 74 02 14 */ add r3, r20, r0
-/* 80217D50 002139B0 48 06 4F BD */ bl func_8027CD0C
+/* 80217D50 002139B0 48 06 4F BD */ bl PSVECScale
/* 80217D54 002139B4 38 61 00 94 */ addi r3, r1, 0x94
/* 80217D58 002139B8 38 81 00 88 */ addi r4, r1, 0x88
/* 80217D5C 002139BC 38 A1 00 A0 */ addi r5, r1, 0xa0
-/* 80217D60 002139C0 48 06 4F 65 */ bl func_8027CCC4
+/* 80217D60 002139C0 48 06 4F 65 */ bl PSVECAdd
/* 80217D64 002139C4 38 61 00 A0 */ addi r3, r1, 0xa0
/* 80217D68 002139C8 38 81 00 7C */ addi r4, r1, 0x7c
/* 80217D6C 002139CC 38 A1 00 AC */ addi r5, r1, 0xac
-/* 80217D70 002139D0 48 06 4F 55 */ bl func_8027CCC4
+/* 80217D70 002139D0 48 06 4F 55 */ bl PSVECAdd
/* 80217D74 002139D4 38 61 00 AC */ addi r3, r1, 0xac
/* 80217D78 002139D8 38 81 00 70 */ addi r4, r1, 0x70
/* 80217D7C 002139DC 38 A1 00 B8 */ addi r5, r1, 0xb8
-/* 80217D80 002139E0 48 06 4F 45 */ bl func_8027CCC4
+/* 80217D80 002139E0 48 06 4F 45 */ bl PSVECAdd
/* 80217D84 002139E4 C0 41 00 B8 */ lfs f2, 0xb8(r1)
/* 80217D88 002139E8 C0 21 00 BC */ lfs f1, 0xbc(r1)
/* 80217D8C 002139EC C0 01 00 C0 */ lfs f0, 0xc0(r1)
@@ -69512,35 +69512,35 @@ lbl_80217DA0:
/* 80217DAC 00213A0C 38 81 00 1C */ addi r4, r1, 0x1c
/* 80217DB0 00213A10 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80217DB4 00213A14 7C 74 02 14 */ add r3, r20, r0
-/* 80217DB8 00213A18 48 06 4F 55 */ bl func_8027CD0C
+/* 80217DB8 00213A18 48 06 4F 55 */ bl PSVECScale
/* 80217DBC 00213A1C 1C 0F 00 0C */ mulli r0, r15, 0xc
/* 80217DC0 00213A20 EC 36 05 F2 */ fmuls f1, f22, f23
/* 80217DC4 00213A24 38 81 00 28 */ addi r4, r1, 0x28
/* 80217DC8 00213A28 7C 74 02 14 */ add r3, r20, r0
-/* 80217DCC 00213A2C 48 06 4F 41 */ bl func_8027CD0C
+/* 80217DCC 00213A2C 48 06 4F 41 */ bl PSVECScale
/* 80217DD0 00213A30 38 17 00 01 */ addi r0, r23, 1
/* 80217DD4 00213A34 EC 38 05 72 */ fmuls f1, f24, f21
/* 80217DD8 00213A38 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80217DDC 00213A3C 38 81 00 34 */ addi r4, r1, 0x34
/* 80217DE0 00213A40 7C 74 02 14 */ add r3, r20, r0
-/* 80217DE4 00213A44 48 06 4F 29 */ bl func_8027CD0C
+/* 80217DE4 00213A44 48 06 4F 29 */ bl PSVECScale
/* 80217DE8 00213A48 1C 17 00 0C */ mulli r0, r23, 0xc
/* 80217DEC 00213A4C EC 36 05 72 */ fmuls f1, f22, f21
/* 80217DF0 00213A50 38 81 00 40 */ addi r4, r1, 0x40
/* 80217DF4 00213A54 7C 74 02 14 */ add r3, r20, r0
-/* 80217DF8 00213A58 48 06 4F 15 */ bl func_8027CD0C
+/* 80217DF8 00213A58 48 06 4F 15 */ bl PSVECScale
/* 80217DFC 00213A5C 38 61 00 40 */ addi r3, r1, 0x40
/* 80217E00 00213A60 38 81 00 34 */ addi r4, r1, 0x34
/* 80217E04 00213A64 38 A1 00 4C */ addi r5, r1, 0x4c
-/* 80217E08 00213A68 48 06 4E BD */ bl func_8027CCC4
+/* 80217E08 00213A68 48 06 4E BD */ bl PSVECAdd
/* 80217E0C 00213A6C 38 61 00 4C */ addi r3, r1, 0x4c
/* 80217E10 00213A70 38 81 00 28 */ addi r4, r1, 0x28
/* 80217E14 00213A74 38 A1 00 58 */ addi r5, r1, 0x58
-/* 80217E18 00213A78 48 06 4E AD */ bl func_8027CCC4
+/* 80217E18 00213A78 48 06 4E AD */ bl PSVECAdd
/* 80217E1C 00213A7C 38 61 00 58 */ addi r3, r1, 0x58
/* 80217E20 00213A80 38 81 00 1C */ addi r4, r1, 0x1c
/* 80217E24 00213A84 38 A1 00 64 */ addi r5, r1, 0x64
-/* 80217E28 00213A88 48 06 4E 9D */ bl func_8027CCC4
+/* 80217E28 00213A88 48 06 4E 9D */ bl PSVECAdd
/* 80217E2C 00213A8C C0 41 00 64 */ lfs f2, 0x64(r1)
/* 80217E30 00213A90 C0 21 00 68 */ lfs f1, 0x68(r1)
/* 80217E34 00213A94 C0 01 00 6C */ lfs f0, 0x6c(r1)
@@ -69551,7 +69551,7 @@ lbl_80217E44:
/* 80217E44 00213AA4 38 81 01 18 */ addi r4, r1, 0x118
/* 80217E48 00213AA8 38 61 01 90 */ addi r3, r1, 0x190
/* 80217E4C 00213AAC 7C 85 23 78 */ mr r5, r4
-/* 80217E50 00213AB0 48 06 4C 01 */ bl func_8027CA50
+/* 80217E50 00213AB0 48 06 4C 01 */ bl PSMTXMultVecSR
/* 80217E54 00213AB4 7D FD 92 14 */ add r15, r29, r18
/* 80217E58 00213AB8 2C 1F 00 00 */ cmpwi r31, 0
/* 80217E5C 00213ABC 1C 0F 00 0C */ mulli r0, r15, 0xc
@@ -69585,7 +69585,7 @@ lbl_80217E44:
lbl_80217ECC:
/* 80217ECC 00213B2C 38 61 01 18 */ addi r3, r1, 0x118
/* 80217ED0 00213B30 7C 64 1B 78 */ mr r4, r3
-/* 80217ED4 00213B34 48 06 4E 55 */ bl func_8027CD28
+/* 80217ED4 00213B34 48 06 4E 55 */ bl PSVECNormalize
/* 80217ED8 00213B38 C0 41 01 18 */ lfs f2, 0x118(r1)
/* 80217EDC 00213B3C FC 02 D8 40 */ fcmpo cr0, f2, f27
/* 80217EE0 00213B40 4C 40 13 82 */ cror 2, 0, 2
@@ -73069,13 +73069,13 @@ lbl_8021B0CC:
/* 8021B13C 00216D9C D3 DA 00 24 */ stfs f30, 0x24(r26)
/* 8021B140 00216DA0 D3 FA 00 28 */ stfs f31, 0x28(r26)
/* 8021B144 00216DA4 D3 DA 00 2C */ stfs f30, 0x2c(r26)
-/* 8021B148 00216DA8 48 06 13 AD */ bl func_8027C4F4
+/* 8021B148 00216DA8 48 06 13 AD */ bl PSMTXTransApply
/* 8021B14C 00216DAC C0 41 00 64 */ lfs f2, 0x64(r1)
/* 8021B150 00216DB0 7F 43 D3 78 */ mr r3, r26
/* 8021B154 00216DB4 C0 21 00 60 */ lfs f1, 0x60(r1)
/* 8021B158 00216DB8 7F 44 D3 78 */ mr r4, r26
/* 8021B15C 00216DBC C0 62 9B 48 */ lfs f3, lbl_80642148-_SDA2_BASE_(r2)
-/* 8021B160 00216DC0 48 06 14 09 */ bl func_8027C568
+/* 8021B160 00216DC0 48 06 14 09 */ bl PSMTXScaleApply
/* 8021B164 00216DC4 48 00 01 58 */ b lbl_8021B2BC
lbl_8021B168:
/* 8021B168 00216DC8 1C 04 00 30 */ mulli r0, r4, 0x30
@@ -73098,7 +73098,7 @@ lbl_8021B168:
/* 8021B1AC 00216E0C D3 DA 00 24 */ stfs f30, 0x24(r26)
/* 8021B1B0 00216E10 D3 FA 00 28 */ stfs f31, 0x28(r26)
/* 8021B1B4 00216E14 D3 DA 00 2C */ stfs f30, 0x2c(r26)
-/* 8021B1B8 00216E18 48 06 13 B1 */ bl func_8027C568
+/* 8021B1B8 00216E18 48 06 13 B1 */ bl PSMTXScaleApply
/* 8021B1BC 00216E1C C0 21 00 6C */ lfs f1, 0x6c(r1)
/* 8021B1C0 00216E20 7F 43 D3 78 */ mr r3, r26
/* 8021B1C4 00216E24 C0 01 00 68 */ lfs f0, 0x68(r1)
@@ -73106,7 +73106,7 @@ lbl_8021B168:
/* 8021B1CC 00216E2C FC 40 08 50 */ fneg f2, f1
/* 8021B1D0 00216E30 C0 62 9B 48 */ lfs f3, lbl_80642148-_SDA2_BASE_(r2)
/* 8021B1D4 00216E34 FC 20 00 50 */ fneg f1, f0
-/* 8021B1D8 00216E38 48 06 13 1D */ bl func_8027C4F4
+/* 8021B1D8 00216E38 48 06 13 1D */ bl PSMTXTransApply
/* 8021B1DC 00216E3C 48 00 00 E0 */ b lbl_8021B2BC
lbl_8021B1E0:
/* 8021B1E0 00216E40 88 1A 00 0B */ lbz r0, 0xb(r26)
@@ -73127,7 +73127,7 @@ lbl_8021B1E0:
/* 8021B21C 00216E7C C0 21 00 60 */ lfs f1, 0x60(r1)
/* 8021B220 00216E80 7F 44 D3 78 */ mr r4, r26
/* 8021B224 00216E84 C0 62 9B 48 */ lfs f3, lbl_80642148-_SDA2_BASE_(r2)
-/* 8021B228 00216E88 48 06 13 41 */ bl func_8027C568
+/* 8021B228 00216E88 48 06 13 41 */ bl PSMTXScaleApply
/* 8021B22C 00216E8C 48 00 00 90 */ b lbl_8021B2BC
lbl_8021B230:
/* 8021B230 00216E90 1C 04 00 30 */ mulli r0, r4, 0x30
@@ -73145,7 +73145,7 @@ lbl_8021B230:
/* 8021B260 00216EC0 FC 40 08 50 */ fneg f2, f1
/* 8021B264 00216EC4 C0 62 9B 48 */ lfs f3, lbl_80642148-_SDA2_BASE_(r2)
/* 8021B268 00216EC8 FC 20 00 50 */ fneg f1, f0
-/* 8021B26C 00216ECC 48 06 12 89 */ bl func_8027C4F4
+/* 8021B26C 00216ECC 48 06 12 89 */ bl PSMTXTransApply
/* 8021B270 00216ED0 48 00 00 4C */ b lbl_8021B2BC
lbl_8021B274:
/* 8021B274 00216ED4 1C 06 00 30 */ mulli r0, r6, 0x30
@@ -73165,7 +73165,7 @@ lbl_8021B274:
/* 8021B2AC 00216F0C C0 3A 00 0C */ lfs f1, 0xc(r26)
/* 8021B2B0 00216F10 7D E4 7B 78 */ mr r4, r15
/* 8021B2B4 00216F14 C0 62 9B 48 */ lfs f3, lbl_80642148-_SDA2_BASE_(r2)
-/* 8021B2B8 00216F18 48 06 12 3D */ bl func_8027C4F4
+/* 8021B2B8 00216F18 48 06 12 3D */ bl PSMTXTransApply
lbl_8021B2BC:
/* 8021B2BC 00216F1C 3A 10 00 01 */ addi r16, r16, 1
lbl_8021B2C0:
@@ -74677,13 +74677,13 @@ lbl_8021C7C0:
/* 8021C7C4 00218424 38 61 00 08 */ addi r3, r1, 8
/* 8021C7C8 00218428 C0 22 9B 74 */ lfs f1, lbl_80642174-_SDA2_BASE_(r2)
/* 8021C7CC 0021842C 38 80 00 59 */ li r4, 0x59
-/* 8021C7D0 00218430 48 05 FA 99 */ bl func_8027C268
+/* 8021C7D0 00218430 48 05 FA 99 */ bl PSMTXRotRad
/* 8021C7D4 00218434 C0 22 9B 60 */ lfs f1, lbl_80642160-_SDA2_BASE_(r2)
/* 8021C7D8 00218438 38 61 00 08 */ addi r3, r1, 8
/* 8021C7DC 0021843C C0 42 9B 78 */ lfs f2, lbl_80642178-_SDA2_BASE_(r2)
/* 8021C7E0 00218440 7C 64 1B 78 */ mr r4, r3
/* 8021C7E4 00218444 FC 60 08 90 */ fmr f3, f1
-/* 8021C7E8 00218448 48 05 FD 0D */ bl func_8027C4F4
+/* 8021C7E8 00218448 48 05 FD 0D */ bl PSMTXTransApply
/* 8021C7EC 0021844C 80 7D 16 E8 */ lwz r3, 0x16e8(r29)
/* 8021C7F0 00218450 38 81 00 08 */ addi r4, r1, 8
/* 8021C7F4 00218454 48 01 A0 85 */ bl func_80236878
@@ -75958,7 +75958,7 @@ lbl_8021D9F8:
/* 8021DA18 00219678 2C 00 00 00 */ cmpwi r0, 0
/* 8021DA1C 0021967C 41 82 00 1C */ beq lbl_8021DA38
/* 8021DA20 00219680 38 61 00 60 */ addi r3, r1, 0x60
-/* 8021DA24 00219684 48 05 F3 61 */ bl func_8027CD84
+/* 8021DA24 00219684 48 05 F3 61 */ bl PSVECMag
/* 8021DA28 00219688 C0 02 9B 88 */ lfs f0, lbl_80642188-_SDA2_BASE_(r2)
/* 8021DA2C 0021968C EC 00 00 72 */ fmuls f0, f0, f1
/* 8021DA30 00219690 D0 12 00 24 */ stfs f0, 0x24(r18)
@@ -75968,7 +75968,7 @@ lbl_8021DA38:
/* 8021DA3C 0021969C D0 12 00 24 */ stfs f0, 0x24(r18)
lbl_8021DA40:
/* 8021DA40 002196A0 38 72 00 4C */ addi r3, r18, 0x4c
-/* 8021DA44 002196A4 48 05 F3 41 */ bl func_8027CD84
+/* 8021DA44 002196A4 48 05 F3 41 */ bl PSVECMag
/* 8021DA48 002196A8 C0 12 00 24 */ lfs f0, 0x24(r18)
/* 8021DA4C 002196AC 88 12 00 20 */ lbz r0, 0x20(r18)
/* 8021DA50 002196B0 EE C0 00 72 */ fmuls f22, f0, f1
@@ -75994,7 +75994,7 @@ lbl_8021DA94:
/* 8021DA98 002196F8 C0 32 00 24 */ lfs f1, 0x24(r18)
/* 8021DA9C 002196FC 38 72 00 4C */ addi r3, r18, 0x4c
/* 8021DAA0 00219700 38 81 00 48 */ addi r4, r1, 0x48
-/* 8021DAA4 00219704 48 05 F2 69 */ bl func_8027CD0C
+/* 8021DAA4 00219704 48 05 F2 69 */ bl PSVECScale
/* 8021DAA8 00219708 C0 22 9B 8C */ lfs f1, lbl_8064218C-_SDA2_BASE_(r2)
/* 8021DAAC 0021970C 38 61 00 48 */ addi r3, r1, 0x48
/* 8021DAB0 00219710 FC 16 08 40 */ fcmpo cr0, f22, f1
@@ -76014,7 +76014,7 @@ lbl_8021DADC:
/* 8021DADC 0021973C C0 02 9B 80 */ lfs f0, lbl_80642180-_SDA2_BASE_(r2)
/* 8021DAE0 00219740 38 81 00 54 */ addi r4, r1, 0x54
/* 8021DAE4 00219744 EC 20 B8 24 */ fdivs f1, f0, f23
-/* 8021DAE8 00219748 48 05 F2 25 */ bl func_8027CD0C
+/* 8021DAE8 00219748 48 05 F2 25 */ bl PSVECScale
/* 8021DAEC 0021974C C0 41 00 54 */ lfs f2, 0x54(r1)
/* 8021DAF0 00219750 7E 63 9B 78 */ mr r3, r19
/* 8021DAF4 00219754 C0 21 00 58 */ lfs f1, 0x58(r1)
@@ -76035,7 +76035,7 @@ lbl_8021DB18:
/* 8021DB2C 0021978C 40 81 00 2C */ ble lbl_8021DB58
/* 8021DB30 00219790 38 61 00 6C */ addi r3, r1, 0x6c
/* 8021DB34 00219794 38 81 00 3C */ addi r4, r1, 0x3c
-/* 8021DB38 00219798 48 05 F1 D5 */ bl func_8027CD0C
+/* 8021DB38 00219798 48 05 F1 D5 */ bl PSVECScale
/* 8021DB3C 0021979C C0 41 00 3C */ lfs f2, 0x3c(r1)
/* 8021DB40 002197A0 FE E0 C0 90 */ fmr f23, f24
/* 8021DB44 002197A4 C0 21 00 40 */ lfs f1, 0x40(r1)
@@ -76067,7 +76067,7 @@ lbl_8021DB98:
/* 8021DB9C 002197FC 38 61 00 6C */ addi r3, r1, 0x6c
/* 8021DBA0 00219800 7C 64 1B 78 */ mr r4, r3
/* 8021DBA4 00219804 EC 20 B0 24 */ fdivs f1, f0, f22
-/* 8021DBA8 00219808 48 05 F1 65 */ bl func_8027CD0C
+/* 8021DBA8 00219808 48 05 F1 65 */ bl PSVECScale
/* 8021DBAC 0021980C 38 61 00 60 */ addi r3, r1, 0x60
/* 8021DBB0 00219810 38 81 00 6C */ addi r4, r1, 0x6c
/* 8021DBB4 00219814 48 05 F2 15 */ bl PSQUATDotProduct
@@ -76148,7 +76148,7 @@ lbl_8021DCA8:
/* 8021DCBC 0021991C 38 A1 00 30 */ addi r5, r1, 0x30
/* 8021DCC0 00219920 1C 00 00 0C */ mulli r0, r0, 0xc
/* 8021DCC4 00219924 7C 9C 02 14 */ add r4, r28, r0
-/* 8021DCC8 00219928 48 05 ED 89 */ bl func_8027CA50
+/* 8021DCC8 00219928 48 05 ED 89 */ bl PSMTXMultVecSR
/* 8021DCCC 0021992C C0 01 00 30 */ lfs f0, 0x30(r1)
/* 8021DCD0 00219930 3A 60 00 00 */ li r19, 0
/* 8021DCD4 00219934 D0 1A 00 00 */ stfs f0, 0(r26)
@@ -76169,7 +76169,7 @@ lbl_8021DCFC:
/* 8021DD0C 0021996C 7C 04 02 2E */ lhzx r0, r4, r0
/* 8021DD10 00219970 1C 00 00 0C */ mulli r0, r0, 0xc
/* 8021DD14 00219974 7C 9D 02 14 */ add r4, r29, r0
-/* 8021DD18 00219978 48 05 EC E5 */ bl func_8027C9FC
+/* 8021DD18 00219978 48 05 EC E5 */ bl PSMTXMultVec
/* 8021DD1C 0021997C 56 63 04 3E */ clrlwi r3, r19, 0x10
/* 8021DD20 00219980 80 1A 00 0C */ lwz r0, 0xc(r26)
/* 8021DD24 00219984 1F 63 00 0C */ mulli r27, r3, 0xc
@@ -76183,17 +76183,17 @@ lbl_8021DCFC:
/* 8021DD44 002199A4 D0 05 00 04 */ stfs f0, 4(r5)
/* 8021DD48 002199A8 C0 01 00 2C */ lfs f0, 0x2c(r1)
/* 8021DD4C 002199AC D0 05 00 08 */ stfs f0, 8(r5)
-/* 8021DD50 002199B0 48 05 EF BD */ bl func_8027CD0C
+/* 8021DD50 002199B0 48 05 EF BD */ bl PSVECScale
/* 8021DD54 002199B4 80 1A 00 0C */ lwz r0, 0xc(r26)
/* 8021DD58 002199B8 38 81 00 18 */ addi r4, r1, 0x18
/* 8021DD5C 002199BC 7C 60 DA 14 */ add r3, r0, r27
/* 8021DD60 002199C0 7C 65 1B 78 */ mr r5, r3
-/* 8021DD64 002199C4 48 05 EF 61 */ bl func_8027CCC4
+/* 8021DD64 002199C4 48 05 EF 61 */ bl PSVECAdd
/* 8021DD68 002199C8 80 1A 00 0C */ lwz r0, 0xc(r26)
/* 8021DD6C 002199CC 38 7A 00 14 */ addi r3, r26, 0x14
/* 8021DD70 002199D0 7C 65 1B 78 */ mr r5, r3
/* 8021DD74 002199D4 7C 80 DA 14 */ add r4, r0, r27
-/* 8021DD78 002199D8 48 05 EF 4D */ bl func_8027CCC4
+/* 8021DD78 002199D8 48 05 EF 4D */ bl PSVECAdd
/* 8021DD7C 002199DC 3A 73 00 01 */ addi r19, r19, 1
lbl_8021DD80:
/* 8021DD80 002199E0 56 60 04 3E */ clrlwi r0, r19, 0x10
@@ -76215,11 +76215,11 @@ lbl_8021DDB8:
/* 8021DDB8 00219A18 EC 3C 00 24 */ fdivs f1, f28, f0
/* 8021DDBC 00219A1C 38 7A 00 14 */ addi r3, r26, 0x14
/* 8021DDC0 00219A20 7C 64 1B 78 */ mr r4, r3
-/* 8021DDC4 00219A24 48 05 EF 49 */ bl func_8027CD0C
+/* 8021DDC4 00219A24 48 05 EF 49 */ bl PSVECScale
/* 8021DDC8 00219A28 38 7A 00 14 */ addi r3, r26, 0x14
/* 8021DDCC 00219A2C 38 81 00 78 */ addi r4, r1, 0x78
/* 8021DDD0 00219A30 38 A1 00 0C */ addi r5, r1, 0xc
-/* 8021DDD4 00219A34 48 05 EF 15 */ bl func_8027CCE8
+/* 8021DDD4 00219A34 48 05 EF 15 */ bl PSVECSubtract
/* 8021DDD8 00219A38 38 61 00 6C */ addi r3, r1, 0x6c
/* 8021DDDC 00219A3C 38 81 00 0C */ addi r4, r1, 0xc
/* 8021DDE0 00219A40 48 05 EF E9 */ bl PSQUATDotProduct
@@ -76414,11 +76414,11 @@ lbl_8021E098:
/* 8021E0B4 00219D14 C0 3A 00 24 */ lfs f1, 0x24(r26)
/* 8021E0B8 00219D18 38 7A 00 4C */ addi r3, r26, 0x4c
/* 8021E0BC 00219D1C 38 81 00 44 */ addi r4, r1, 0x44
-/* 8021E0C0 00219D20 48 05 EC 4D */ bl func_8027CD0C
+/* 8021E0C0 00219D20 48 05 EC 4D */ bl PSVECScale
/* 8021E0C4 00219D24 38 61 00 44 */ addi r3, r1, 0x44
/* 8021E0C8 00219D28 38 9F 00 20 */ addi r4, r31, 0x20
/* 8021E0CC 00219D2C 38 A1 00 78 */ addi r5, r1, 0x78
-/* 8021E0D0 00219D30 48 05 EC 19 */ bl func_8027CCE8
+/* 8021E0D0 00219D30 48 05 EC 19 */ bl PSVECSubtract
/* 8021E0D4 00219D34 C0 21 00 78 */ lfs f1, 0x78(r1)
/* 8021E0D8 00219D38 C0 1A 00 4C */ lfs f0, 0x4c(r26)
/* 8021E0DC 00219D3C EC 01 00 32 */ fmuls f0, f1, f0
@@ -76443,33 +76443,33 @@ lbl_8021E11C:
/* 8021E11C 00219D7C 38 61 00 78 */ addi r3, r1, 0x78
/* 8021E120 00219D80 C0 3A 00 58 */ lfs f1, 0x58(r26)
/* 8021E124 00219D84 7C 64 1B 78 */ mr r4, r3
-/* 8021E128 00219D88 48 05 EB E5 */ bl func_8027CD0C
+/* 8021E128 00219D88 48 05 EB E5 */ bl PSVECScale
/* 8021E12C 00219D8C C0 3A 00 24 */ lfs f1, 0x24(r26)
/* 8021E130 00219D90 38 7A 00 5C */ addi r3, r26, 0x5c
/* 8021E134 00219D94 38 81 00 38 */ addi r4, r1, 0x38
-/* 8021E138 00219D98 48 05 EB D5 */ bl func_8027CD0C
+/* 8021E138 00219D98 48 05 EB D5 */ bl PSVECScale
/* 8021E13C 00219D9C 38 61 00 78 */ addi r3, r1, 0x78
/* 8021E140 00219DA0 38 81 00 38 */ addi r4, r1, 0x38
/* 8021E144 00219DA4 7C 65 1B 78 */ mr r5, r3
-/* 8021E148 00219DA8 48 05 EB 7D */ bl func_8027CCC4
+/* 8021E148 00219DA8 48 05 EB 7D */ bl PSVECAdd
/* 8021E14C 00219DAC FC 20 F0 90 */ fmr f1, f30
/* 8021E150 00219DB0 38 61 00 78 */ addi r3, r1, 0x78
/* 8021E154 00219DB4 38 81 00 2C */ addi r4, r1, 0x2c
-/* 8021E158 00219DB8 48 05 EB B5 */ bl func_8027CD0C
+/* 8021E158 00219DB8 48 05 EB B5 */ bl PSVECScale
/* 8021E15C 00219DBC 38 7F 00 20 */ addi r3, r31, 0x20
/* 8021E160 00219DC0 38 81 00 2C */ addi r4, r1, 0x2c
/* 8021E164 00219DC4 7C 65 1B 78 */ mr r5, r3
-/* 8021E168 00219DC8 48 05 EB 5D */ bl func_8027CCC4
+/* 8021E168 00219DC8 48 05 EB 5D */ bl PSVECAdd
/* 8021E16C 00219DCC C0 3A 00 48 */ lfs f1, 0x48(r26)
/* 8021E170 00219DD0 7F E3 FB 78 */ mr r3, r31
/* 8021E174 00219DD4 C0 1A 00 24 */ lfs f0, 0x24(r26)
/* 8021E178 00219DD8 38 81 00 20 */ addi r4, r1, 0x20
/* 8021E17C 00219DDC EC 21 00 32 */ fmuls f1, f1, f0
-/* 8021E180 00219DE0 48 05 EB 8D */ bl func_8027CD0C
+/* 8021E180 00219DE0 48 05 EB 8D */ bl PSVECScale
/* 8021E184 00219DE4 38 7F 00 20 */ addi r3, r31, 0x20
/* 8021E188 00219DE8 38 81 00 20 */ addi r4, r1, 0x20
/* 8021E18C 00219DEC 38 A1 00 6C */ addi r5, r1, 0x6c
-/* 8021E190 00219DF0 48 05 EB 35 */ bl func_8027CCC4
+/* 8021E190 00219DF0 48 05 EB 35 */ bl PSVECAdd
/* 8021E194 00219DF4 C0 1F 00 14 */ lfs f0, 0x14(r31)
/* 8021E198 00219DF8 FC 20 F0 90 */ fmr f1, f30
/* 8021E19C 00219DFC 38 61 00 6C */ addi r3, r1, 0x6c
@@ -76479,11 +76479,11 @@ lbl_8021E11C:
/* 8021E1AC 00219E0C D0 01 00 64 */ stfs f0, 0x64(r1)
/* 8021E1B0 00219E10 C0 1F 00 1C */ lfs f0, 0x1c(r31)
/* 8021E1B4 00219E14 D0 01 00 68 */ stfs f0, 0x68(r1)
-/* 8021E1B8 00219E18 48 05 EB 55 */ bl func_8027CD0C
+/* 8021E1B8 00219E18 48 05 EB 55 */ bl PSVECScale
/* 8021E1BC 00219E1C 38 7F 00 14 */ addi r3, r31, 0x14
/* 8021E1C0 00219E20 38 81 00 14 */ addi r4, r1, 0x14
/* 8021E1C4 00219E24 7C 65 1B 78 */ mr r5, r3
-/* 8021E1C8 00219E28 48 05 EA FD */ bl func_8027CCC4
+/* 8021E1C8 00219E28 48 05 EA FD */ bl PSVECAdd
/* 8021E1CC 00219E2C 88 1A 00 1E */ lbz r0, 0x1e(r26)
/* 8021E1D0 00219E30 2C 00 00 00 */ cmpwi r0, 0
/* 8021E1D4 00219E34 41 82 00 38 */ beq lbl_8021E20C
@@ -76504,7 +76504,7 @@ lbl_8021E20C:
/* 8021E20C 00219E6C FC 20 F0 90 */ fmr f1, f30
/* 8021E210 00219E70 38 7F 00 2C */ addi r3, r31, 0x2c
/* 8021E214 00219E74 38 81 00 08 */ addi r4, r1, 8
-/* 8021E218 00219E78 48 05 EA F5 */ bl func_8027CD0C
+/* 8021E218 00219E78 48 05 EA F5 */ bl PSVECScale
/* 8021E21C 00219E7C 38 61 00 50 */ addi r3, r1, 0x50
/* 8021E220 00219E80 38 81 00 08 */ addi r4, r1, 8
/* 8021E224 00219E84 48 00 54 9D */ bl func_802236C0
@@ -76516,14 +76516,14 @@ lbl_8021E238:
/* 8021E238 00219E98 7F 83 E3 78 */ mr r3, r28
/* 8021E23C 00219E9C 7F 85 E3 78 */ mr r5, r28
/* 8021E240 00219EA0 38 81 00 60 */ addi r4, r1, 0x60
-/* 8021E244 00219EA4 48 05 EA A5 */ bl func_8027CCE8
+/* 8021E244 00219EA4 48 05 EA A5 */ bl PSVECSubtract
/* 8021E248 00219EA8 7F 83 E3 78 */ mr r3, r28
/* 8021E24C 00219EAC 38 81 00 50 */ addi r4, r1, 0x50
/* 8021E250 00219EB0 48 00 57 BD */ bl func_80223A0C
/* 8021E254 00219EB4 7F 83 E3 78 */ mr r3, r28
/* 8021E258 00219EB8 7F 85 E3 78 */ mr r5, r28
/* 8021E25C 00219EBC 38 9F 00 14 */ addi r4, r31, 0x14
-/* 8021E260 00219EC0 48 05 EA 65 */ bl func_8027CCC4
+/* 8021E260 00219EC0 48 05 EA 65 */ bl PSVECAdd
/* 8021E264 00219EC4 3B 7B 00 01 */ addi r27, r27, 1
/* 8021E268 00219EC8 3B 9C 00 0C */ addi r28, r28, 0xc
lbl_8021E26C:
@@ -77258,7 +77258,7 @@ lbl_8021ED2C:
/* 8021ED3C 0021A99C 7C 65 1B 78 */ mr r5, r3
/* 8021ED40 0021A9A0 1C 00 00 0C */ mulli r0, r0, 0xc
/* 8021ED44 0021A9A4 7C 9E 02 14 */ add r4, r30, r0
-/* 8021ED48 0021A9A8 48 05 DF 7D */ bl func_8027CCC4
+/* 8021ED48 0021A9A8 48 05 DF 7D */ bl PSVECAdd
/* 8021ED4C 0021A9AC 3B 18 00 01 */ addi r24, r24, 1
lbl_8021ED50:
/* 8021ED50 0021A9B0 57 00 04 3E */ clrlwi r0, r24, 0x10
@@ -77280,29 +77280,29 @@ lbl_8021ED88:
/* 8021ED88 0021A9E8 EC 3E 00 24 */ fdivs f1, f30, f0
/* 8021ED8C 0021A9EC 38 61 00 B4 */ addi r3, r1, 0xb4
/* 8021ED90 0021A9F0 7C 64 1B 78 */ mr r4, r3
-/* 8021ED94 0021A9F4 48 05 DF 79 */ bl func_8027CD0C
+/* 8021ED94 0021A9F4 48 05 DF 79 */ bl PSVECScale
/* 8021ED98 0021A9F8 38 61 00 C0 */ addi r3, r1, 0xc0
/* 8021ED9C 0021A9FC 38 81 00 B4 */ addi r4, r1, 0xb4
/* 8021EDA0 0021AA00 7C 65 1B 78 */ mr r5, r3
-/* 8021EDA4 0021AA04 48 05 DF 45 */ bl func_8027CCE8
+/* 8021EDA4 0021AA04 48 05 DF 45 */ bl PSVECSubtract
/* 8021EDA8 0021AA08 38 61 00 C0 */ addi r3, r1, 0xc0
/* 8021EDAC 0021AA0C 7C 64 1B 78 */ mr r4, r3
-/* 8021EDB0 0021AA10 48 05 DF 79 */ bl func_8027CD28
+/* 8021EDB0 0021AA10 48 05 DF 79 */ bl PSVECNormalize
/* 8021EDB4 0021AA14 C0 17 00 1C */ lfs f0, 0x1c(r23)
/* 8021EDB8 0021AA18 38 61 00 C0 */ addi r3, r1, 0xc0
/* 8021EDBC 0021AA1C 7C 64 1B 78 */ mr r4, r3
/* 8021EDC0 0021AA20 EC 3F 00 32 */ fmuls f1, f31, f0
-/* 8021EDC4 0021AA24 48 05 DF 49 */ bl func_8027CD0C
+/* 8021EDC4 0021AA24 48 05 DF 49 */ bl PSVECScale
/* 8021EDC8 0021AA28 A0 1A 00 00 */ lhz r0, 0(r26)
/* 8021EDCC 0021AA2C 38 81 00 A8 */ addi r4, r1, 0xa8
/* 8021EDD0 0021AA30 C0 37 00 20 */ lfs f1, 0x20(r23)
/* 8021EDD4 0021AA34 1C 00 00 0C */ mulli r0, r0, 0xc
/* 8021EDD8 0021AA38 7C 7D 02 14 */ add r3, r29, r0
-/* 8021EDDC 0021AA3C 48 05 DF 31 */ bl func_8027CD0C
+/* 8021EDDC 0021AA3C 48 05 DF 31 */ bl PSVECScale
/* 8021EDE0 0021AA40 38 61 00 B4 */ addi r3, r1, 0xb4
/* 8021EDE4 0021AA44 38 81 00 C0 */ addi r4, r1, 0xc0
/* 8021EDE8 0021AA48 38 A1 00 9C */ addi r5, r1, 0x9c
-/* 8021EDEC 0021AA4C 48 05 DE FD */ bl func_8027CCE8
+/* 8021EDEC 0021AA4C 48 05 DE FD */ bl PSVECSubtract
/* 8021EDF0 0021AA50 C0 01 00 A4 */ lfs f0, 0xa4(r1)
/* 8021EDF4 0021AA54 38 61 00 B4 */ addi r3, r1, 0xb4
/* 8021EDF8 0021AA58 C0 21 00 A0 */ lfs f1, 0xa0(r1)
@@ -77316,11 +77316,11 @@ lbl_8021ED88:
/* 8021EE18 0021AA78 D0 16 80 00 */ stfs f0, -0x8000(r22)
/* 8021EE1C 0021AA7C C0 02 9B C4 */ lfs f0, lbl_806421C4-_SDA2_BASE_(r2)
/* 8021EE20 0021AA80 D0 16 80 00 */ stfs f0, -0x8000(r22)
-/* 8021EE24 0021AA84 48 05 DE C5 */ bl func_8027CCE8
+/* 8021EE24 0021AA84 48 05 DE C5 */ bl PSVECSubtract
/* 8021EE28 0021AA88 38 61 00 84 */ addi r3, r1, 0x84
/* 8021EE2C 0021AA8C 38 81 00 A8 */ addi r4, r1, 0xa8
/* 8021EE30 0021AA90 38 A1 00 90 */ addi r5, r1, 0x90
-/* 8021EE34 0021AA94 48 05 DE 91 */ bl func_8027CCC4
+/* 8021EE34 0021AA94 48 05 DE 91 */ bl PSVECAdd
/* 8021EE38 0021AA98 C0 01 00 98 */ lfs f0, 0x98(r1)
/* 8021EE3C 0021AA9C 38 61 00 B4 */ addi r3, r1, 0xb4
/* 8021EE40 0021AAA0 C0 21 00 94 */ lfs f1, 0x94(r1)
@@ -77334,11 +77334,11 @@ lbl_8021ED88:
/* 8021EE60 0021AAC0 D0 16 80 00 */ stfs f0, -0x8000(r22)
/* 8021EE64 0021AAC4 C0 02 9B C4 */ lfs f0, lbl_806421C4-_SDA2_BASE_(r2)
/* 8021EE68 0021AAC8 D0 16 80 00 */ stfs f0, -0x8000(r22)
-/* 8021EE6C 0021AACC 48 05 DE 59 */ bl func_8027CCC4
+/* 8021EE6C 0021AACC 48 05 DE 59 */ bl PSVECAdd
/* 8021EE70 0021AAD0 38 61 00 6C */ addi r3, r1, 0x6c
/* 8021EE74 0021AAD4 38 81 00 A8 */ addi r4, r1, 0xa8
/* 8021EE78 0021AAD8 38 A1 00 78 */ addi r5, r1, 0x78
-/* 8021EE7C 0021AADC 48 05 DE 49 */ bl func_8027CCC4
+/* 8021EE7C 0021AADC 48 05 DE 49 */ bl PSVECAdd
/* 8021EE80 0021AAE0 C0 01 00 80 */ lfs f0, 0x80(r1)
/* 8021EE84 0021AAE4 38 61 00 B4 */ addi r3, r1, 0xb4
/* 8021EE88 0021AAE8 C0 21 00 7C */ lfs f1, 0x7c(r1)
@@ -77352,7 +77352,7 @@ lbl_8021ED88:
/* 8021EEA8 0021AB08 D0 16 80 00 */ stfs f0, -0x8000(r22)
/* 8021EEAC 0021AB0C C0 02 9B B8 */ lfs f0, lbl_806421B8-_SDA2_BASE_(r2)
/* 8021EEB0 0021AB10 D0 16 80 00 */ stfs f0, -0x8000(r22)
-/* 8021EEB4 0021AB14 48 05 DE 11 */ bl func_8027CCC4
+/* 8021EEB4 0021AB14 48 05 DE 11 */ bl PSVECAdd
/* 8021EEB8 0021AB18 C0 01 00 68 */ lfs f0, 0x68(r1)
/* 8021EEBC 0021AB1C 38 61 00 C0 */ addi r3, r1, 0xc0
/* 8021EEC0 0021AB20 C0 21 00 64 */ lfs f1, 0x64(r1)
@@ -77366,7 +77366,7 @@ lbl_8021ED88:
/* 8021EEE0 0021AB40 D0 16 80 00 */ stfs f0, -0x8000(r22)
/* 8021EEE4 0021AB44 C0 02 9B B8 */ lfs f0, lbl_806421B8-_SDA2_BASE_(r2)
/* 8021EEE8 0021AB48 D0 16 80 00 */ stfs f0, -0x8000(r22)
-/* 8021EEEC 0021AB4C 48 05 DE FD */ bl func_8027CDE8
+/* 8021EEEC 0021AB4C 48 05 DE FD */ bl PSVECCrossProduct
/* 8021EEF0 0021AB50 C0 41 00 54 */ lfs f2, 0x54(r1)
/* 8021EEF4 0021AB54 38 61 00 C0 */ addi r3, r1, 0xc0
/* 8021EEF8 0021AB58 C0 21 00 58 */ lfs f1, 0x58(r1)
@@ -77375,16 +77375,16 @@ lbl_8021ED88:
/* 8021EF04 0021AB64 D0 41 00 C0 */ stfs f2, 0xc0(r1)
/* 8021EF08 0021AB68 D0 21 00 C4 */ stfs f1, 0xc4(r1)
/* 8021EF0C 0021AB6C D0 01 00 C8 */ stfs f0, 0xc8(r1)
-/* 8021EF10 0021AB70 48 05 DE 19 */ bl func_8027CD28
+/* 8021EF10 0021AB70 48 05 DE 19 */ bl PSVECNormalize
/* 8021EF14 0021AB74 C0 17 00 1C */ lfs f0, 0x1c(r23)
/* 8021EF18 0021AB78 38 61 00 C0 */ addi r3, r1, 0xc0
/* 8021EF1C 0021AB7C 7C 64 1B 78 */ mr r4, r3
/* 8021EF20 0021AB80 EC 3F 00 32 */ fmuls f1, f31, f0
-/* 8021EF24 0021AB84 48 05 DD E9 */ bl func_8027CD0C
+/* 8021EF24 0021AB84 48 05 DD E9 */ bl PSVECScale
/* 8021EF28 0021AB88 38 61 00 B4 */ addi r3, r1, 0xb4
/* 8021EF2C 0021AB8C 38 81 00 C0 */ addi r4, r1, 0xc0
/* 8021EF30 0021AB90 38 A1 00 48 */ addi r5, r1, 0x48
-/* 8021EF34 0021AB94 48 05 DD B5 */ bl func_8027CCE8
+/* 8021EF34 0021AB94 48 05 DD B5 */ bl PSVECSubtract
/* 8021EF38 0021AB98 C0 01 00 50 */ lfs f0, 0x50(r1)
/* 8021EF3C 0021AB9C 38 61 00 B4 */ addi r3, r1, 0xb4
/* 8021EF40 0021ABA0 C0 21 00 4C */ lfs f1, 0x4c(r1)
@@ -77398,11 +77398,11 @@ lbl_8021ED88:
/* 8021EF60 0021ABC0 D0 16 80 00 */ stfs f0, -0x8000(r22)
/* 8021EF64 0021ABC4 C0 02 9B C4 */ lfs f0, lbl_806421C4-_SDA2_BASE_(r2)
/* 8021EF68 0021ABC8 D0 16 80 00 */ stfs f0, -0x8000(r22)
-/* 8021EF6C 0021ABCC 48 05 DD 7D */ bl func_8027CCE8
+/* 8021EF6C 0021ABCC 48 05 DD 7D */ bl PSVECSubtract
/* 8021EF70 0021ABD0 38 61 00 30 */ addi r3, r1, 0x30
/* 8021EF74 0021ABD4 38 81 00 A8 */ addi r4, r1, 0xa8
/* 8021EF78 0021ABD8 38 A1 00 3C */ addi r5, r1, 0x3c
-/* 8021EF7C 0021ABDC 48 05 DD 49 */ bl func_8027CCC4
+/* 8021EF7C 0021ABDC 48 05 DD 49 */ bl PSVECAdd
/* 8021EF80 0021ABE0 C0 01 00 44 */ lfs f0, 0x44(r1)
/* 8021EF84 0021ABE4 38 61 00 B4 */ addi r3, r1, 0xb4
/* 8021EF88 0021ABE8 C0 21 00 40 */ lfs f1, 0x40(r1)
@@ -77416,11 +77416,11 @@ lbl_8021ED88:
/* 8021EFA8 0021AC08 D0 16 80 00 */ stfs f0, -0x8000(r22)
/* 8021EFAC 0021AC0C C0 02 9B C4 */ lfs f0, lbl_806421C4-_SDA2_BASE_(r2)
/* 8021EFB0 0021AC10 D0 16 80 00 */ stfs f0, -0x8000(r22)
-/* 8021EFB4 0021AC14 48 05 DD 11 */ bl func_8027CCC4
+/* 8021EFB4 0021AC14 48 05 DD 11 */ bl PSVECAdd
/* 8021EFB8 0021AC18 38 61 00 18 */ addi r3, r1, 0x18
/* 8021EFBC 0021AC1C 38 81 00 A8 */ addi r4, r1, 0xa8
/* 8021EFC0 0021AC20 38 A1 00 24 */ addi r5, r1, 0x24
-/* 8021EFC4 0021AC24 48 05 DD 01 */ bl func_8027CCC4
+/* 8021EFC4 0021AC24 48 05 DD 01 */ bl PSVECAdd
/* 8021EFC8 0021AC28 C0 01 00 2C */ lfs f0, 0x2c(r1)
/* 8021EFCC 0021AC2C 38 61 00 B4 */ addi r3, r1, 0xb4
/* 8021EFD0 0021AC30 C0 21 00 28 */ lfs f1, 0x28(r1)
@@ -77434,7 +77434,7 @@ lbl_8021ED88:
/* 8021EFF0 0021AC50 D0 16 80 00 */ stfs f0, -0x8000(r22)
/* 8021EFF4 0021AC54 C0 02 9B B8 */ lfs f0, lbl_806421B8-_SDA2_BASE_(r2)
/* 8021EFF8 0021AC58 D0 16 80 00 */ stfs f0, -0x8000(r22)
-/* 8021EFFC 0021AC5C 48 05 DC C9 */ bl func_8027CCC4
+/* 8021EFFC 0021AC5C 48 05 DC C9 */ bl PSVECAdd
/* 8021F000 0021AC60 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 8021F004 0021AC64 3B 39 00 01 */ addi r25, r25, 1
/* 8021F008 0021AC68 C0 21 00 10 */ lfs f1, 0x10(r1)
@@ -77595,7 +77595,7 @@ lbl_8021F228:
/* 8021F238 0021AE98 7C 65 1B 78 */ mr r5, r3
/* 8021F23C 0021AE9C 1C 00 00 0C */ mulli r0, r0, 0xc
/* 8021F240 0021AEA0 7C 9E 02 14 */ add r4, r30, r0
-/* 8021F244 0021AEA4 48 05 DA 81 */ bl func_8027CCC4
+/* 8021F244 0021AEA4 48 05 DA 81 */ bl PSVECAdd
/* 8021F248 0021AEA8 3B 18 00 01 */ addi r24, r24, 1
lbl_8021F24C:
/* 8021F24C 0021AEAC 57 00 04 3E */ clrlwi r0, r24, 0x10
@@ -77617,29 +77617,29 @@ lbl_8021F284:
/* 8021F284 0021AEE4 EC 3E 00 24 */ fdivs f1, f30, f0
/* 8021F288 0021AEE8 38 61 00 6C */ addi r3, r1, 0x6c
/* 8021F28C 0021AEEC 7C 64 1B 78 */ mr r4, r3
-/* 8021F290 0021AEF0 48 05 DA 7D */ bl func_8027CD0C
+/* 8021F290 0021AEF0 48 05 DA 7D */ bl PSVECScale
/* 8021F294 0021AEF4 38 61 00 84 */ addi r3, r1, 0x84
/* 8021F298 0021AEF8 38 81 00 6C */ addi r4, r1, 0x6c
/* 8021F29C 0021AEFC 7C 65 1B 78 */ mr r5, r3
-/* 8021F2A0 0021AF00 48 05 DA 49 */ bl func_8027CCE8
+/* 8021F2A0 0021AF00 48 05 DA 49 */ bl PSVECSubtract
/* 8021F2A4 0021AF04 38 61 00 84 */ addi r3, r1, 0x84
/* 8021F2A8 0021AF08 7C 64 1B 78 */ mr r4, r3
-/* 8021F2AC 0021AF0C 48 05 DA 7D */ bl func_8027CD28
+/* 8021F2AC 0021AF0C 48 05 DA 7D */ bl PSVECNormalize
/* 8021F2B0 0021AF10 C0 17 00 1C */ lfs f0, 0x1c(r23)
/* 8021F2B4 0021AF14 38 61 00 84 */ addi r3, r1, 0x84
/* 8021F2B8 0021AF18 7C 64 1B 78 */ mr r4, r3
/* 8021F2BC 0021AF1C EC 3F 00 32 */ fmuls f1, f31, f0
-/* 8021F2C0 0021AF20 48 05 DA 4D */ bl func_8027CD0C
+/* 8021F2C0 0021AF20 48 05 DA 4D */ bl PSVECScale
/* 8021F2C4 0021AF24 A0 1A 00 00 */ lhz r0, 0(r26)
/* 8021F2C8 0021AF28 38 81 00 60 */ addi r4, r1, 0x60
/* 8021F2CC 0021AF2C C0 37 00 20 */ lfs f1, 0x20(r23)
/* 8021F2D0 0021AF30 1C 00 00 0C */ mulli r0, r0, 0xc
/* 8021F2D4 0021AF34 7C 7D 02 14 */ add r3, r29, r0
-/* 8021F2D8 0021AF38 48 05 DA 35 */ bl func_8027CD0C
+/* 8021F2D8 0021AF38 48 05 DA 35 */ bl PSVECScale
/* 8021F2DC 0021AF3C 38 61 00 84 */ addi r3, r1, 0x84
/* 8021F2E0 0021AF40 38 81 00 60 */ addi r4, r1, 0x60
/* 8021F2E4 0021AF44 38 A1 00 54 */ addi r5, r1, 0x54
-/* 8021F2E8 0021AF48 48 05 DB 01 */ bl func_8027CDE8
+/* 8021F2E8 0021AF48 48 05 DB 01 */ bl PSVECCrossProduct
/* 8021F2EC 0021AF4C C0 41 00 54 */ lfs f2, 0x54(r1)
/* 8021F2F0 0021AF50 38 61 00 78 */ addi r3, r1, 0x78
/* 8021F2F4 0021AF54 C0 21 00 58 */ lfs f1, 0x58(r1)
@@ -77648,16 +77648,16 @@ lbl_8021F284:
/* 8021F300 0021AF60 D0 41 00 78 */ stfs f2, 0x78(r1)
/* 8021F304 0021AF64 D0 21 00 7C */ stfs f1, 0x7c(r1)
/* 8021F308 0021AF68 D0 01 00 80 */ stfs f0, 0x80(r1)
-/* 8021F30C 0021AF6C 48 05 DA 1D */ bl func_8027CD28
+/* 8021F30C 0021AF6C 48 05 DA 1D */ bl PSVECNormalize
/* 8021F310 0021AF70 C0 17 00 1C */ lfs f0, 0x1c(r23)
/* 8021F314 0021AF74 38 61 00 78 */ addi r3, r1, 0x78
/* 8021F318 0021AF78 7C 64 1B 78 */ mr r4, r3
/* 8021F31C 0021AF7C EC 3F 00 32 */ fmuls f1, f31, f0
-/* 8021F320 0021AF80 48 05 D9 ED */ bl func_8027CD0C
+/* 8021F320 0021AF80 48 05 D9 ED */ bl PSVECScale
/* 8021F324 0021AF84 38 61 00 6C */ addi r3, r1, 0x6c
/* 8021F328 0021AF88 38 81 00 60 */ addi r4, r1, 0x60
/* 8021F32C 0021AF8C 38 A1 00 48 */ addi r5, r1, 0x48
-/* 8021F330 0021AF90 48 05 D9 95 */ bl func_8027CCC4
+/* 8021F330 0021AF90 48 05 D9 95 */ bl PSVECAdd
/* 8021F334 0021AF94 C0 01 00 50 */ lfs f0, 0x50(r1)
/* 8021F338 0021AF98 38 61 00 6C */ addi r3, r1, 0x6c
/* 8021F33C 0021AF9C C0 21 00 4C */ lfs f1, 0x4c(r1)
@@ -77671,7 +77671,7 @@ lbl_8021F284:
/* 8021F35C 0021AFBC D0 16 80 00 */ stfs f0, -0x8000(r22)
/* 8021F360 0021AFC0 C0 02 9B C8 */ lfs f0, lbl_806421C8-_SDA2_BASE_(r2)
/* 8021F364 0021AFC4 D0 16 80 00 */ stfs f0, -0x8000(r22)
-/* 8021F368 0021AFC8 48 05 D9 81 */ bl func_8027CCE8
+/* 8021F368 0021AFC8 48 05 D9 81 */ bl PSVECSubtract
/* 8021F36C 0021AFCC C0 01 00 44 */ lfs f0, 0x44(r1)
/* 8021F370 0021AFD0 38 61 00 6C */ addi r3, r1, 0x6c
/* 8021F374 0021AFD4 C0 21 00 40 */ lfs f1, 0x40(r1)
@@ -77685,7 +77685,7 @@ lbl_8021F284:
/* 8021F394 0021AFF4 D0 16 80 00 */ stfs f0, -0x8000(r22)
/* 8021F398 0021AFF8 C0 02 9B C4 */ lfs f0, lbl_806421C4-_SDA2_BASE_(r2)
/* 8021F39C 0021AFFC D0 16 80 00 */ stfs f0, -0x8000(r22)
-/* 8021F3A0 0021B000 48 05 D9 49 */ bl func_8027CCE8
+/* 8021F3A0 0021B000 48 05 D9 49 */ bl PSVECSubtract
/* 8021F3A4 0021B004 C0 01 00 38 */ lfs f0, 0x38(r1)
/* 8021F3A8 0021B008 38 61 00 6C */ addi r3, r1, 0x6c
/* 8021F3AC 0021B00C C0 21 00 34 */ lfs f1, 0x34(r1)
@@ -77699,7 +77699,7 @@ lbl_8021F284:
/* 8021F3CC 0021B02C D0 16 80 00 */ stfs f0, -0x8000(r22)
/* 8021F3D0 0021B030 C0 02 9B C4 */ lfs f0, lbl_806421C4-_SDA2_BASE_(r2)
/* 8021F3D4 0021B034 D0 16 80 00 */ stfs f0, -0x8000(r22)
-/* 8021F3D8 0021B038 48 05 D8 ED */ bl func_8027CCC4
+/* 8021F3D8 0021B038 48 05 D8 ED */ bl PSVECAdd
/* 8021F3DC 0021B03C C0 01 00 2C */ lfs f0, 0x2c(r1)
/* 8021F3E0 0021B040 38 61 00 6C */ addi r3, r1, 0x6c
/* 8021F3E4 0021B044 C0 21 00 28 */ lfs f1, 0x28(r1)
@@ -77713,7 +77713,7 @@ lbl_8021F284:
/* 8021F404 0021B064 D0 16 80 00 */ stfs f0, -0x8000(r22)
/* 8021F408 0021B068 C0 02 9B B8 */ lfs f0, lbl_806421B8-_SDA2_BASE_(r2)
/* 8021F40C 0021B06C D0 16 80 00 */ stfs f0, -0x8000(r22)
-/* 8021F410 0021B070 48 05 D8 B5 */ bl func_8027CCC4
+/* 8021F410 0021B070 48 05 D8 B5 */ bl PSVECAdd
/* 8021F414 0021B074 C0 01 00 20 */ lfs f0, 0x20(r1)
/* 8021F418 0021B078 38 61 00 6C */ addi r3, r1, 0x6c
/* 8021F41C 0021B07C C0 21 00 1C */ lfs f1, 0x1c(r1)
@@ -77727,7 +77727,7 @@ lbl_8021F284:
/* 8021F43C 0021B09C D0 16 80 00 */ stfs f0, -0x8000(r22)
/* 8021F440 0021B0A0 C0 02 9B B8 */ lfs f0, lbl_806421B8-_SDA2_BASE_(r2)
/* 8021F444 0021B0A4 D0 16 80 00 */ stfs f0, -0x8000(r22)
-/* 8021F448 0021B0A8 48 05 D8 A1 */ bl func_8027CCE8
+/* 8021F448 0021B0A8 48 05 D8 A1 */ bl PSVECSubtract
/* 8021F44C 0021B0AC C0 01 00 14 */ lfs f0, 0x14(r1)
/* 8021F450 0021B0B0 C0 21 00 10 */ lfs f1, 0x10(r1)
/* 8021F454 0021B0B4 C0 41 00 0C */ lfs f2, 0xc(r1)
@@ -78695,7 +78695,7 @@ lbl_802202E0:
/* 802202E0 0021BF40 C0 3E 00 44 */ lfs f1, 0x44(r30)
/* 802202E4 0021BF44 38 61 00 10 */ addi r3, r1, 0x10
/* 802202E8 0021BF48 38 9E 00 20 */ addi r4, r30, 0x20
-/* 802202EC 0021BF4C 48 05 CE 39 */ bl func_8027D124
+/* 802202EC 0021BF4C 48 05 CE 39 */ bl C_QUATRotAxisRad
/* 802202F0 0021BF50 38 61 00 2C */ addi r3, r1, 0x2c
/* 802202F4 0021BF54 38 81 00 10 */ addi r4, r1, 0x10
/* 802202F8 0021BF58 48 00 37 15 */ bl func_80223A0C
@@ -78706,11 +78706,11 @@ lbl_80220308:
/* 80220308 0021BF68 38 61 00 2C */ addi r3, r1, 0x2c
/* 8022030C 0021BF6C C0 3E 00 48 */ lfs f1, 0x48(r30)
/* 80220310 0021BF70 7C 64 1B 78 */ mr r4, r3
-/* 80220314 0021BF74 48 05 C9 F9 */ bl func_8027CD0C
+/* 80220314 0021BF74 48 05 C9 F9 */ bl PSVECScale
/* 80220318 0021BF78 38 61 00 20 */ addi r3, r1, 0x20
/* 8022031C 0021BF7C C0 3E 00 4C */ lfs f1, 0x4c(r30)
/* 80220320 0021BF80 7C 64 1B 78 */ mr r4, r3
-/* 80220324 0021BF84 48 05 C9 E9 */ bl func_8027CD0C
+/* 80220324 0021BF84 48 05 C9 E9 */ bl PSVECScale
/* 80220328 0021BF88 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13)
/* 8022032C 0021BF8C 38 00 00 80 */ li r0, 0x80
/* 80220330 0021BF90 38 80 00 04 */ li r4, 4
@@ -78726,11 +78726,11 @@ lbl_80220308:
/* 80220358 0021BFB8 D0 01 00 3C */ stfs f0, 0x3c(r1)
/* 8022035C 0021BFBC C0 1E 00 1C */ lfs f0, 0x1c(r30)
/* 80220360 0021BFC0 D0 01 00 40 */ stfs f0, 0x40(r1)
-/* 80220364 0021BFC4 48 05 C9 85 */ bl func_8027CCE8
+/* 80220364 0021BFC4 48 05 C9 85 */ bl PSVECSubtract
/* 80220368 0021BFC8 38 61 00 38 */ addi r3, r1, 0x38
/* 8022036C 0021BFCC 38 81 00 20 */ addi r4, r1, 0x20
/* 80220370 0021BFD0 7C 65 1B 78 */ mr r5, r3
-/* 80220374 0021BFD4 48 05 C9 51 */ bl func_8027CCC4
+/* 80220374 0021BFD4 48 05 C9 51 */ bl PSVECAdd
/* 80220378 0021BFD8 C0 01 00 40 */ lfs f0, 0x40(r1)
/* 8022037C 0021BFDC 38 61 00 38 */ addi r3, r1, 0x38
/* 80220380 0021BFE0 C0 21 00 3C */ lfs f1, 0x3c(r1)
@@ -78745,11 +78745,11 @@ lbl_80220308:
/* 802203A4 0021C004 C0 3E 00 50 */ lfs f1, 0x50(r30)
/* 802203A8 0021C008 D0 3D 80 00 */ stfs f1, -0x8000(r29)
/* 802203AC 0021C00C D0 1D 80 00 */ stfs f0, -0x8000(r29)
-/* 802203B0 0021C010 48 05 C9 15 */ bl func_8027CCC4
+/* 802203B0 0021C010 48 05 C9 15 */ bl PSVECAdd
/* 802203B4 0021C014 38 61 00 38 */ addi r3, r1, 0x38
/* 802203B8 0021C018 38 81 00 2C */ addi r4, r1, 0x2c
/* 802203BC 0021C01C 7C 65 1B 78 */ mr r5, r3
-/* 802203C0 0021C020 48 05 C9 05 */ bl func_8027CCC4
+/* 802203C0 0021C020 48 05 C9 05 */ bl PSVECAdd
/* 802203C4 0021C024 C0 01 00 40 */ lfs f0, 0x40(r1)
/* 802203C8 0021C028 38 61 00 38 */ addi r3, r1, 0x38
/* 802203CC 0021C02C C0 21 00 3C */ lfs f1, 0x3c(r1)
@@ -78763,11 +78763,11 @@ lbl_80220308:
/* 802203EC 0021C04C C0 3E 00 58 */ lfs f1, 0x58(r30)
/* 802203F0 0021C050 D0 3D 80 00 */ stfs f1, -0x8000(r29)
/* 802203F4 0021C054 D0 1D 80 00 */ stfs f0, -0x8000(r29)
-/* 802203F8 0021C058 48 05 C8 F1 */ bl func_8027CCE8
+/* 802203F8 0021C058 48 05 C8 F1 */ bl PSVECSubtract
/* 802203FC 0021C05C 38 61 00 38 */ addi r3, r1, 0x38
/* 80220400 0021C060 38 81 00 20 */ addi r4, r1, 0x20
/* 80220404 0021C064 7C 65 1B 78 */ mr r5, r3
-/* 80220408 0021C068 48 05 C8 E1 */ bl func_8027CCE8
+/* 80220408 0021C068 48 05 C8 E1 */ bl PSVECSubtract
/* 8022040C 0021C06C C0 01 00 40 */ lfs f0, 0x40(r1)
/* 80220410 0021C070 38 61 00 38 */ addi r3, r1, 0x38
/* 80220414 0021C074 C0 21 00 3C */ lfs f1, 0x3c(r1)
@@ -78781,11 +78781,11 @@ lbl_80220308:
/* 80220434 0021C094 C0 3E 00 60 */ lfs f1, 0x60(r30)
/* 80220438 0021C098 D0 3D 80 00 */ stfs f1, -0x8000(r29)
/* 8022043C 0021C09C D0 1D 80 00 */ stfs f0, -0x8000(r29)
-/* 80220440 0021C0A0 48 05 C8 A9 */ bl func_8027CCE8
+/* 80220440 0021C0A0 48 05 C8 A9 */ bl PSVECSubtract
/* 80220444 0021C0A4 38 61 00 38 */ addi r3, r1, 0x38
/* 80220448 0021C0A8 38 81 00 2C */ addi r4, r1, 0x2c
/* 8022044C 0021C0AC 7C 65 1B 78 */ mr r5, r3
-/* 80220450 0021C0B0 48 05 C8 99 */ bl func_8027CCE8
+/* 80220450 0021C0B0 48 05 C8 99 */ bl PSVECSubtract
/* 80220454 0021C0B4 C0 01 00 40 */ lfs f0, 0x40(r1)
/* 80220458 0021C0B8 C0 21 00 3C */ lfs f1, 0x3c(r1)
/* 8022045C 0021C0BC C0 41 00 38 */ lfs f2, 0x38(r1)
@@ -78850,7 +78850,7 @@ func_80220504:
/* 80220534 0021C194 D0 23 00 24 */ stfs f1, 0x24(r3)
/* 80220538 0021C198 D0 03 00 28 */ stfs f0, 0x28(r3)
/* 8022053C 0021C19C 38 63 00 20 */ addi r3, r3, 0x20
-/* 80220540 0021C1A0 48 05 C8 A9 */ bl func_8027CDE8
+/* 80220540 0021C1A0 48 05 C8 A9 */ bl PSVECCrossProduct
/* 80220544 0021C1A4 C0 81 00 20 */ lfs f4, 0x20(r1)
/* 80220548 0021C1A8 C0 22 9B DC */ lfs f1, lbl_806421DC-_SDA2_BASE_(r2)
/* 8022054C 0021C1AC D0 9F 00 2C */ stfs f4, 0x2c(r31)
@@ -78883,7 +78883,7 @@ lbl_802205A0:
/* 802205AC 0021C20C 38 7F 00 20 */ addi r3, r31, 0x20
/* 802205B0 0021C210 38 84 36 20 */ addi r4, r4, lbl_80493620@l
/* 802205B4 0021C214 38 A1 00 14 */ addi r5, r1, 0x14
-/* 802205B8 0021C218 48 05 C8 31 */ bl func_8027CDE8
+/* 802205B8 0021C218 48 05 C8 31 */ bl PSVECCrossProduct
/* 802205BC 0021C21C C0 01 00 14 */ lfs f0, 0x14(r1)
/* 802205C0 0021C220 D0 1F 00 2C */ stfs f0, 0x2c(r31)
/* 802205C4 0021C224 C0 01 00 18 */ lfs f0, 0x18(r1)
@@ -78893,11 +78893,11 @@ lbl_802205A0:
lbl_802205D4:
/* 802205D4 0021C234 38 7F 00 2C */ addi r3, r31, 0x2c
/* 802205D8 0021C238 7C 64 1B 78 */ mr r4, r3
-/* 802205DC 0021C23C 48 05 C7 4D */ bl func_8027CD28
+/* 802205DC 0021C23C 48 05 C7 4D */ bl PSVECNormalize
/* 802205E0 0021C240 38 7F 00 20 */ addi r3, r31, 0x20
/* 802205E4 0021C244 38 9F 00 2C */ addi r4, r31, 0x2c
/* 802205E8 0021C248 38 A1 00 08 */ addi r5, r1, 8
-/* 802205EC 0021C24C 48 05 C7 FD */ bl func_8027CDE8
+/* 802205EC 0021C24C 48 05 C7 FD */ bl PSVECCrossProduct
/* 802205F0 0021C250 C0 01 00 08 */ lfs f0, 8(r1)
/* 802205F4 0021C254 D0 1F 00 38 */ stfs f0, 0x38(r31)
/* 802205F8 0021C258 C0 01 00 0C */ lfs f0, 0xc(r1)
@@ -78935,7 +78935,7 @@ func_8022063C:
/* 80220660 0021C2C0 7C 03 03 78 */ mr r3, r0
/* 80220664 0021C2C4 7F C4 F3 78 */ mr r4, r30
/* 80220668 0021C2C8 38 A1 00 EC */ addi r5, r1, 0xec
-/* 8022066C 0021C2CC 48 05 C3 91 */ bl func_8027C9FC
+/* 8022066C 0021C2CC 48 05 C3 91 */ bl PSMTXMultVec
/* 80220670 0021C2D0 C0 BE 00 14 */ lfs f5, 0x14(r30)
/* 80220674 0021C2D4 3C 60 80 49 */ lis r3, lbl_80493250@ha
/* 80220678 0021C2D8 C0 41 00 EC */ lfs f2, 0xec(r1)
@@ -78953,7 +78953,7 @@ func_8022063C:
/* 802206A8 0021C308 D0 61 00 D4 */ stfs f3, 0xd4(r1)
/* 802206AC 0021C30C D0 81 00 D8 */ stfs f4, 0xd8(r1)
/* 802206B0 0021C310 D0 A1 00 DC */ stfs f5, 0xdc(r1)
-/* 802206B4 0021C314 48 05 C3 49 */ bl func_8027C9FC
+/* 802206B4 0021C314 48 05 C3 49 */ bl PSMTXMultVec
/* 802206B8 0021C318 C0 41 00 E0 */ lfs f2, 0xe0(r1)
/* 802206BC 0021C31C 38 81 00 BC */ addi r4, r1, 0xbc
/* 802206C0 0021C320 C0 21 00 E4 */ lfs f1, 0xe4(r1)
@@ -78969,7 +78969,7 @@ func_8022063C:
/* 802206E8 0021C348 D0 61 00 BC */ stfs f3, 0xbc(r1)
/* 802206EC 0021C34C D0 81 00 C0 */ stfs f4, 0xc0(r1)
/* 802206F0 0021C350 D0 A1 00 C4 */ stfs f5, 0xc4(r1)
-/* 802206F4 0021C354 48 05 C3 09 */ bl func_8027C9FC
+/* 802206F4 0021C354 48 05 C3 09 */ bl PSMTXMultVec
/* 802206F8 0021C358 C0 41 00 C8 */ lfs f2, 0xc8(r1)
/* 802206FC 0021C35C 38 81 00 A4 */ addi r4, r1, 0xa4
/* 80220700 0021C360 C0 21 00 CC */ lfs f1, 0xcc(r1)
@@ -78985,7 +78985,7 @@ func_8022063C:
/* 80220728 0021C388 D0 61 00 A4 */ stfs f3, 0xa4(r1)
/* 8022072C 0021C38C D0 81 00 A8 */ stfs f4, 0xa8(r1)
/* 80220730 0021C390 D0 A1 00 AC */ stfs f5, 0xac(r1)
-/* 80220734 0021C394 48 05 C2 C9 */ bl func_8027C9FC
+/* 80220734 0021C394 48 05 C2 C9 */ bl PSMTXMultVec
/* 80220738 0021C398 C0 41 00 B0 */ lfs f2, 0xb0(r1)
/* 8022073C 0021C39C 38 81 00 8C */ addi r4, r1, 0x8c
/* 80220740 0021C3A0 C0 21 00 B4 */ lfs f1, 0xb4(r1)
@@ -79001,7 +79001,7 @@ func_8022063C:
/* 80220768 0021C3C8 D0 61 00 8C */ stfs f3, 0x8c(r1)
/* 8022076C 0021C3CC D0 81 00 90 */ stfs f4, 0x90(r1)
/* 80220770 0021C3D0 D0 A1 00 94 */ stfs f5, 0x94(r1)
-/* 80220774 0021C3D4 48 05 C2 89 */ bl func_8027C9FC
+/* 80220774 0021C3D4 48 05 C2 89 */ bl PSMTXMultVec
/* 80220778 0021C3D8 C0 41 00 98 */ lfs f2, 0x98(r1)
/* 8022077C 0021C3DC 38 81 00 74 */ addi r4, r1, 0x74
/* 80220780 0021C3E0 C0 21 00 9C */ lfs f1, 0x9c(r1)
@@ -79017,7 +79017,7 @@ func_8022063C:
/* 802207A8 0021C408 D0 61 00 74 */ stfs f3, 0x74(r1)
/* 802207AC 0021C40C D0 81 00 78 */ stfs f4, 0x78(r1)
/* 802207B0 0021C410 D0 A1 00 7C */ stfs f5, 0x7c(r1)
-/* 802207B4 0021C414 48 05 C2 49 */ bl func_8027C9FC
+/* 802207B4 0021C414 48 05 C2 49 */ bl PSMTXMultVec
/* 802207B8 0021C418 C0 41 00 80 */ lfs f2, 0x80(r1)
/* 802207BC 0021C41C 38 81 00 5C */ addi r4, r1, 0x5c
/* 802207C0 0021C420 C0 21 00 84 */ lfs f1, 0x84(r1)
@@ -79033,7 +79033,7 @@ func_8022063C:
/* 802207E8 0021C448 D0 61 00 5C */ stfs f3, 0x5c(r1)
/* 802207EC 0021C44C D0 81 00 60 */ stfs f4, 0x60(r1)
/* 802207F0 0021C450 D0 A1 00 64 */ stfs f5, 0x64(r1)
-/* 802207F4 0021C454 48 05 C2 09 */ bl func_8027C9FC
+/* 802207F4 0021C454 48 05 C2 09 */ bl PSMTXMultVec
/* 802207F8 0021C458 C0 41 00 68 */ lfs f2, 0x68(r1)
/* 802207FC 0021C45C 38 9E 00 0C */ addi r4, r30, 0xc
/* 80220800 0021C460 C0 21 00 6C */ lfs f1, 0x6c(r1)
@@ -79043,7 +79043,7 @@ func_8022063C:
/* 80220810 0021C470 80 7E 00 18 */ lwz r3, 0x18(r30)
/* 80220814 0021C474 D0 3F 00 4C */ stfs f1, 0x4c(r31)
/* 80220818 0021C478 D0 1F 00 50 */ stfs f0, 0x50(r31)
-/* 8022081C 0021C47C 48 05 C1 E1 */ bl func_8027C9FC
+/* 8022081C 0021C47C 48 05 C1 E1 */ bl PSMTXMultVec
/* 80220820 0021C480 C0 41 00 50 */ lfs f2, 0x50(r1)
/* 80220824 0021C484 C0 21 00 54 */ lfs f1, 0x54(r1)
/* 80220828 0021C488 C0 01 00 58 */ lfs f0, 0x58(r1)
@@ -79122,17 +79122,17 @@ func_8022091C:
/* 80220938 0021C598 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8022093C 0021C59C 7C 7E 1B 78 */ mr r30, r3
/* 80220940 0021C5A0 7F E3 FB 78 */ mr r3, r31
-/* 80220944 0021C5A4 48 05 C3 81 */ bl func_8027CCC4
+/* 80220944 0021C5A4 48 05 C3 81 */ bl PSVECAdd
/* 80220948 0021C5A8 C0 22 9B F0 */ lfs f1, lbl_806421F0-_SDA2_BASE_(r2)
/* 8022094C 0021C5AC 7F C4 F3 78 */ mr r4, r30
/* 80220950 0021C5B0 38 61 00 08 */ addi r3, r1, 8
-/* 80220954 0021C5B4 48 05 C3 B9 */ bl func_8027CD0C
+/* 80220954 0021C5B4 48 05 C3 B9 */ bl PSVECScale
/* 80220958 0021C5B8 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 8022095C 0021C5BC 2C 03 00 00 */ cmpwi r3, 0
/* 80220960 0021C5C0 41 82 00 10 */ beq lbl_80220970
/* 80220964 0021C5C4 7F C4 F3 78 */ mr r4, r30
/* 80220968 0021C5C8 7F C5 F3 78 */ mr r5, r30
-/* 8022096C 0021C5CC 48 05 C0 91 */ bl func_8027C9FC
+/* 8022096C 0021C5CC 48 05 C0 91 */ bl PSMTXMultVec
lbl_80220970:
/* 80220970 0021C5D0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80220974 0021C5D4 83 E1 00 1C */ lwz r31, 0x1c(r1)
@@ -79157,7 +79157,7 @@ func_80220988:
/* 802209B4 0021C614 40 82 00 14 */ bne lbl_802209C8
/* 802209B8 0021C618 7F 85 E3 78 */ mr r5, r28
/* 802209BC 0021C61C 38 64 00 0C */ addi r3, r4, 0xc
-/* 802209C0 0021C620 48 05 C3 29 */ bl func_8027CCE8
+/* 802209C0 0021C620 48 05 C3 29 */ bl PSVECSubtract
/* 802209C4 0021C624 48 00 01 0C */ b lbl_80220AD0
lbl_802209C8:
/* 802209C8 0021C628 7F A3 EB 78 */ mr r3, r29
@@ -79166,7 +79166,7 @@ lbl_802209C8:
/* 802209D4 0021C634 80 7D 00 18 */ lwz r3, 0x18(r29)
/* 802209D8 0021C638 38 9F 32 50 */ addi r4, r31, lbl_80493250@l
/* 802209DC 0021C63C 7C 85 23 78 */ mr r5, r4
-/* 802209E0 0021C640 48 05 C0 71 */ bl func_8027CA50
+/* 802209E0 0021C640 48 05 C0 71 */ bl PSMTXMultVecSR
/* 802209E4 0021C644 38 7F 32 50 */ addi r3, r31, 0x3250
/* 802209E8 0021C648 C0 5F 32 50 */ lfs f2, 0x3250(r31)
/* 802209EC 0021C64C C0 23 00 04 */ lfs f1, 4(r3)
@@ -79183,7 +79183,7 @@ lbl_80220A14:
/* 80220A14 0021C674 80 7D 00 18 */ lwz r3, 0x18(r29)
/* 80220A18 0021C678 7F E4 FB 78 */ mr r4, r31
/* 80220A1C 0021C67C 7F E5 FB 78 */ mr r5, r31
-/* 80220A20 0021C680 48 05 C0 31 */ bl func_8027CA50
+/* 80220A20 0021C680 48 05 C0 31 */ bl PSMTXMultVecSR
/* 80220A24 0021C684 C0 7F 00 00 */ lfs f3, 0(r31)
/* 80220A28 0021C688 C0 01 00 20 */ lfs f0, 0x20(r1)
/* 80220A2C 0021C68C C0 5F 00 04 */ lfs f2, 4(r31)
@@ -79232,7 +79232,7 @@ lbl_80220AB0:
/* 80220AC0 0021C720 7F 85 E3 78 */ mr r5, r28
/* 80220AC4 0021C724 38 61 00 14 */ addi r3, r1, 0x14
/* 80220AC8 0021C728 38 81 00 20 */ addi r4, r1, 0x20
-/* 80220ACC 0021C72C 48 05 C2 1D */ bl func_8027CCE8
+/* 80220ACC 0021C72C 48 05 C2 1D */ bl PSVECSubtract
lbl_80220AD0:
/* 80220AD0 0021C730 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80220AD4 0021C734 83 E1 00 3C */ lwz r31, 0x3c(r1)
@@ -79308,11 +79308,11 @@ func_80220B88:
/* 80220BBC 0021C81C 41 82 00 20 */ beq lbl_80220BDC
/* 80220BC0 0021C820 7C 03 03 78 */ mr r3, r0
/* 80220BC4 0021C824 38 81 00 18 */ addi r4, r1, 0x18
-/* 80220BC8 0021C828 48 05 B4 E1 */ bl func_8027C0A8
+/* 80220BC8 0021C828 48 05 B4 E1 */ bl PSMTXInverse
/* 80220BCC 0021C82C 38 81 00 08 */ addi r4, r1, 8
/* 80220BD0 0021C830 38 61 00 18 */ addi r3, r1, 0x18
/* 80220BD4 0021C834 7C 85 23 78 */ mr r5, r4
-/* 80220BD8 0021C838 48 05 BE 25 */ bl func_8027C9FC
+/* 80220BD8 0021C838 48 05 BE 25 */ bl PSMTXMultVec
lbl_80220BDC:
/* 80220BDC 0021C83C C0 61 00 08 */ lfs f3, 8(r1)
/* 80220BE0 0021C840 C0 1F 00 00 */ lfs f0, 0(r31)
@@ -79385,11 +79385,11 @@ lbl_80220CA8:
/* 80220CC4 0021C924 2C 03 00 00 */ cmpwi r3, 0
/* 80220CC8 0021C928 41 82 00 1C */ beq lbl_80220CE4
/* 80220CCC 0021C92C 38 81 00 18 */ addi r4, r1, 0x18
-/* 80220CD0 0021C930 48 05 B3 D9 */ bl func_8027C0A8
+/* 80220CD0 0021C930 48 05 B3 D9 */ bl PSMTXInverse
/* 80220CD4 0021C934 38 81 00 08 */ addi r4, r1, 8
/* 80220CD8 0021C938 38 61 00 18 */ addi r3, r1, 0x18
/* 80220CDC 0021C93C 7C 85 23 78 */ mr r5, r4
-/* 80220CE0 0021C940 48 05 BD 1D */ bl func_8027C9FC
+/* 80220CE0 0021C940 48 05 BD 1D */ bl PSMTXMultVec
lbl_80220CE4:
/* 80220CE4 0021C944 C0 21 00 08 */ lfs f1, 8(r1)
/* 80220CE8 0021C948 C0 1D 00 00 */ lfs f0, 0(r29)
@@ -80021,7 +80021,7 @@ lbl_802215D4:
/* 802215F8 0021D258 EC 21 00 24 */ fdivs f1, f1, f0
/* 802215FC 0021D25C 7C 66 22 14 */ add r3, r6, r4
/* 80221600 0021D260 7C 86 02 14 */ add r4, r6, r0
-/* 80221604 0021D264 48 05 BD 8D */ bl func_8027D390
+/* 80221604 0021D264 48 05 BD 8D */ bl C_QUATSlerp
/* 80221608 0021D268 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 8022160C 0021D26C D0 1F 00 1C */ stfs f0, 0x1c(r31)
/* 80221610 0021D270 C0 01 00 1C */ lfs f0, 0x1c(r1)
@@ -80050,7 +80050,7 @@ lbl_8022162C:
/* 80221668 0021D2C8 7C 69 42 14 */ add r3, r9, r8
/* 8022166C 0021D2CC 7C A9 2A 14 */ add r5, r9, r5
/* 80221670 0021D2D0 7C C9 02 14 */ add r6, r9, r0
-/* 80221674 0021D2D4 48 05 BE B9 */ bl func_8027D52C
+/* 80221674 0021D2D4 48 05 BE B9 */ bl C_QUATSquad
/* 80221678 0021D2D8 C0 01 00 08 */ lfs f0, 8(r1)
/* 8022167C 0021D2DC D0 1F 00 1C */ stfs f0, 0x1c(r31)
/* 80221680 0021D2E0 C0 01 00 0C */ lfs f0, 0xc(r1)
@@ -80870,7 +80870,7 @@ lbl_80222220:
/* 80222240 0021DEA0 7C 63 02 14 */ add r3, r3, r0
/* 80222244 0021DEA4 EF E2 08 24 */ fdivs f31, f2, f1
/* 80222248 0021DEA8 EC 20 F8 28 */ fsubs f1, f0, f31
-/* 8022224C 0021DEAC 48 05 AA C1 */ bl func_8027CD0C
+/* 8022224C 0021DEAC 48 05 AA C1 */ bl PSVECScale
/* 80222250 0021DEB0 C0 01 00 44 */ lfs f0, 0x44(r1)
/* 80222254 0021DEB4 FC 20 F8 90 */ fmr f1, f31
/* 80222258 0021DEB8 80 7F 00 00 */ lwz r3, 0(r31)
@@ -80883,11 +80883,11 @@ lbl_80222220:
/* 80222274 0021DED4 A0 1E 00 02 */ lhz r0, 2(r30)
/* 80222278 0021DED8 1C 00 00 0C */ mulli r0, r0, 0xc
/* 8022227C 0021DEDC 7C 63 02 14 */ add r3, r3, r0
-/* 80222280 0021DEE0 48 05 AA 8D */ bl func_8027CD0C
+/* 80222280 0021DEE0 48 05 AA 8D */ bl PSVECScale
/* 80222284 0021DEE4 38 7F 00 1C */ addi r3, r31, 0x1c
/* 80222288 0021DEE8 38 81 00 38 */ addi r4, r1, 0x38
/* 8022228C 0021DEEC 7C 65 1B 78 */ mr r5, r3
-/* 80222290 0021DEF0 48 05 AA 35 */ bl func_8027CCC4
+/* 80222290 0021DEF0 48 05 AA 35 */ bl PSVECAdd
/* 80222294 0021DEF4 48 00 01 14 */ b lbl_802223A8
lbl_80222298:
/* 80222298 0021DEF8 C0 64 00 08 */ lfs f3, 8(r4)
@@ -80909,7 +80909,7 @@ lbl_80222298:
/* 802222D8 0021DF38 EF C2 F8 28 */ fsubs f30, f2, f31
/* 802222DC 0021DF3C EF A3 00 2A */ fadds f29, f3, f0
/* 802222E0 0021DF40 EC 21 F0 28 */ fsubs f1, f1, f30
-/* 802222E4 0021DF44 48 05 AA 29 */ bl func_8027CD0C
+/* 802222E4 0021DF44 48 05 AA 29 */ bl PSVECScale
/* 802222E8 0021DF48 C0 01 00 2C */ lfs f0, 0x2c(r1)
/* 802222EC 0021DF4C FC 20 F0 90 */ fmr f1, f30
/* 802222F0 0021DF50 80 7F 00 00 */ lwz r3, 0(r31)
@@ -80922,33 +80922,33 @@ lbl_80222298:
/* 8022230C 0021DF6C A0 1E 00 02 */ lhz r0, 2(r30)
/* 80222310 0021DF70 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80222314 0021DF74 7C 63 02 14 */ add r3, r3, r0
-/* 80222318 0021DF78 48 05 A9 F5 */ bl func_8027CD0C
+/* 80222318 0021DF78 48 05 A9 F5 */ bl PSVECScale
/* 8022231C 0021DF7C 38 7F 00 1C */ addi r3, r31, 0x1c
/* 80222320 0021DF80 38 81 00 20 */ addi r4, r1, 0x20
/* 80222324 0021DF84 7C 65 1B 78 */ mr r5, r3
-/* 80222328 0021DF88 48 05 A9 9D */ bl func_8027CCC4
+/* 80222328 0021DF88 48 05 A9 9D */ bl PSVECAdd
/* 8022232C 0021DF8C A0 1D 00 06 */ lhz r0, 6(r29)
/* 80222330 0021DF90 FC 20 E8 90 */ fmr f1, f29
/* 80222334 0021DF94 80 7F 00 04 */ lwz r3, 4(r31)
/* 80222338 0021DF98 38 81 00 14 */ addi r4, r1, 0x14
/* 8022233C 0021DF9C 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80222340 0021DFA0 7C 63 02 14 */ add r3, r3, r0
-/* 80222344 0021DFA4 48 05 A9 C9 */ bl func_8027CD0C
+/* 80222344 0021DFA4 48 05 A9 C9 */ bl PSVECScale
/* 80222348 0021DFA8 38 7F 00 1C */ addi r3, r31, 0x1c
/* 8022234C 0021DFAC 38 81 00 14 */ addi r4, r1, 0x14
/* 80222350 0021DFB0 7C 65 1B 78 */ mr r5, r3
-/* 80222354 0021DFB4 48 05 A9 71 */ bl func_8027CCC4
+/* 80222354 0021DFB4 48 05 A9 71 */ bl PSVECAdd
/* 80222358 0021DFB8 A0 1E 00 04 */ lhz r0, 4(r30)
/* 8022235C 0021DFBC FC 20 F8 90 */ fmr f1, f31
/* 80222360 0021DFC0 80 7F 00 04 */ lwz r3, 4(r31)
/* 80222364 0021DFC4 38 81 00 08 */ addi r4, r1, 8
/* 80222368 0021DFC8 1C 00 00 0C */ mulli r0, r0, 0xc
/* 8022236C 0021DFCC 7C 63 02 14 */ add r3, r3, r0
-/* 80222370 0021DFD0 48 05 A9 9D */ bl func_8027CD0C
+/* 80222370 0021DFD0 48 05 A9 9D */ bl PSVECScale
/* 80222374 0021DFD4 38 7F 00 1C */ addi r3, r31, 0x1c
/* 80222378 0021DFD8 38 81 00 08 */ addi r4, r1, 8
/* 8022237C 0021DFDC 7C 65 1B 78 */ mr r5, r3
-/* 80222380 0021DFE0 48 05 A9 45 */ bl func_8027CCC4
+/* 80222380 0021DFE0 48 05 A9 45 */ bl PSVECAdd
/* 80222384 0021DFE4 48 00 00 24 */ b lbl_802223A8
lbl_80222388:
/* 80222388 0021DFE8 1C 06 00 0C */ mulli r0, r6, 0xc
diff --git a/asm/text_7.s b/asm/text_7.s
index 6390e7e..55e5957 100644
--- a/asm/text_7.s
+++ b/asm/text_7.s
@@ -625,11 +625,11 @@ lbl_80223408:
lbl_80223418:
/* 80223418 0021F078 C0 24 00 00 */ lfs f1, 0(r4)
/* 8022341C 0021F07C 38 80 00 58 */ li r4, 0x58
-/* 80223420 0021F080 48 05 8E 49 */ bl func_8027C268
+/* 80223420 0021F080 48 05 8E 49 */ bl PSMTXRotRad
/* 80223424 0021F084 C0 3F 00 04 */ lfs f1, 4(r31)
/* 80223428 0021F088 38 61 02 28 */ addi r3, r1, 0x228
/* 8022342C 0021F08C 38 80 00 59 */ li r4, 0x59
-/* 80223430 0021F090 48 05 8E 39 */ bl func_8027C268
+/* 80223430 0021F090 48 05 8E 39 */ bl PSMTXRotRad
/* 80223434 0021F094 7F C4 F3 78 */ mr r4, r30
/* 80223438 0021F098 7F C5 F3 78 */ mr r5, r30
/* 8022343C 0021F09C 38 61 02 28 */ addi r3, r1, 0x228
@@ -637,7 +637,7 @@ lbl_80223418:
/* 80223444 0021F0A4 C0 3F 00 08 */ lfs f1, 8(r31)
/* 80223448 0021F0A8 38 61 01 F8 */ addi r3, r1, 0x1f8
/* 8022344C 0021F0AC 38 80 00 5A */ li r4, 0x5a
-/* 80223450 0021F0B0 48 05 8E 19 */ bl func_8027C268
+/* 80223450 0021F0B0 48 05 8E 19 */ bl PSMTXRotRad
/* 80223454 0021F0B4 7F C4 F3 78 */ mr r4, r30
/* 80223458 0021F0B8 7F C5 F3 78 */ mr r5, r30
/* 8022345C 0021F0BC 38 61 01 F8 */ addi r3, r1, 0x1f8
@@ -646,11 +646,11 @@ lbl_80223418:
lbl_80223468:
/* 80223468 0021F0C8 C0 24 00 04 */ lfs f1, 4(r4)
/* 8022346C 0021F0CC 38 80 00 58 */ li r4, 0x58
-/* 80223470 0021F0D0 48 05 8D F9 */ bl func_8027C268
+/* 80223470 0021F0D0 48 05 8D F9 */ bl PSMTXRotRad
/* 80223474 0021F0D4 C0 3F 00 08 */ lfs f1, 8(r31)
/* 80223478 0021F0D8 38 61 01 C8 */ addi r3, r1, 0x1c8
/* 8022347C 0021F0DC 38 80 00 5A */ li r4, 0x5a
-/* 80223480 0021F0E0 48 05 8D E9 */ bl func_8027C268
+/* 80223480 0021F0E0 48 05 8D E9 */ bl PSMTXRotRad
/* 80223484 0021F0E4 7F C4 F3 78 */ mr r4, r30
/* 80223488 0021F0E8 7F C5 F3 78 */ mr r5, r30
/* 8022348C 0021F0EC 38 61 01 C8 */ addi r3, r1, 0x1c8
@@ -658,7 +658,7 @@ lbl_80223468:
/* 80223494 0021F0F4 C0 3F 00 00 */ lfs f1, 0(r31)
/* 80223498 0021F0F8 38 61 01 98 */ addi r3, r1, 0x198
/* 8022349C 0021F0FC 38 80 00 58 */ li r4, 0x58
-/* 802234A0 0021F100 48 05 8D C9 */ bl func_8027C268
+/* 802234A0 0021F100 48 05 8D C9 */ bl PSMTXRotRad
/* 802234A4 0021F104 7F C4 F3 78 */ mr r4, r30
/* 802234A8 0021F108 7F C5 F3 78 */ mr r5, r30
/* 802234AC 0021F10C 38 61 01 98 */ addi r3, r1, 0x198
@@ -667,11 +667,11 @@ lbl_80223468:
lbl_802234B8:
/* 802234B8 0021F118 C0 24 00 08 */ lfs f1, 8(r4)
/* 802234BC 0021F11C 38 80 00 5A */ li r4, 0x5a
-/* 802234C0 0021F120 48 05 8D A9 */ bl func_8027C268
+/* 802234C0 0021F120 48 05 8D A9 */ bl PSMTXRotRad
/* 802234C4 0021F124 C0 3F 00 00 */ lfs f1, 0(r31)
/* 802234C8 0021F128 38 61 01 68 */ addi r3, r1, 0x168
/* 802234CC 0021F12C 38 80 00 58 */ li r4, 0x58
-/* 802234D0 0021F130 48 05 8D 99 */ bl func_8027C268
+/* 802234D0 0021F130 48 05 8D 99 */ bl PSMTXRotRad
/* 802234D4 0021F134 7F C4 F3 78 */ mr r4, r30
/* 802234D8 0021F138 7F C5 F3 78 */ mr r5, r30
/* 802234DC 0021F13C 38 61 01 68 */ addi r3, r1, 0x168
@@ -679,7 +679,7 @@ lbl_802234B8:
/* 802234E4 0021F144 C0 3F 00 04 */ lfs f1, 4(r31)
/* 802234E8 0021F148 38 61 01 38 */ addi r3, r1, 0x138
/* 802234EC 0021F14C 38 80 00 59 */ li r4, 0x59
-/* 802234F0 0021F150 48 05 8D 79 */ bl func_8027C268
+/* 802234F0 0021F150 48 05 8D 79 */ bl PSMTXRotRad
/* 802234F4 0021F154 7F C4 F3 78 */ mr r4, r30
/* 802234F8 0021F158 7F C5 F3 78 */ mr r5, r30
/* 802234FC 0021F15C 38 61 01 38 */ addi r3, r1, 0x138
@@ -688,11 +688,11 @@ lbl_802234B8:
lbl_80223508:
/* 80223508 0021F168 C0 24 00 00 */ lfs f1, 0(r4)
/* 8022350C 0021F16C 38 80 00 58 */ li r4, 0x58
-/* 80223510 0021F170 48 05 8D 59 */ bl func_8027C268
+/* 80223510 0021F170 48 05 8D 59 */ bl PSMTXRotRad
/* 80223514 0021F174 C0 3F 00 08 */ lfs f1, 8(r31)
/* 80223518 0021F178 38 61 01 08 */ addi r3, r1, 0x108
/* 8022351C 0021F17C 38 80 00 5A */ li r4, 0x5a
-/* 80223520 0021F180 48 05 8D 49 */ bl func_8027C268
+/* 80223520 0021F180 48 05 8D 49 */ bl PSMTXRotRad
/* 80223524 0021F184 7F C4 F3 78 */ mr r4, r30
/* 80223528 0021F188 7F C5 F3 78 */ mr r5, r30
/* 8022352C 0021F18C 38 61 01 08 */ addi r3, r1, 0x108
@@ -700,7 +700,7 @@ lbl_80223508:
/* 80223534 0021F194 C0 3F 00 04 */ lfs f1, 4(r31)
/* 80223538 0021F198 38 61 00 D8 */ addi r3, r1, 0xd8
/* 8022353C 0021F19C 38 80 00 59 */ li r4, 0x59
-/* 80223540 0021F1A0 48 05 8D 29 */ bl func_8027C268
+/* 80223540 0021F1A0 48 05 8D 29 */ bl PSMTXRotRad
/* 80223544 0021F1A4 7F C4 F3 78 */ mr r4, r30
/* 80223548 0021F1A8 7F C5 F3 78 */ mr r5, r30
/* 8022354C 0021F1AC 38 61 00 D8 */ addi r3, r1, 0xd8
@@ -709,11 +709,11 @@ lbl_80223508:
lbl_80223558:
/* 80223558 0021F1B8 C0 24 00 04 */ lfs f1, 4(r4)
/* 8022355C 0021F1BC 38 80 00 59 */ li r4, 0x59
-/* 80223560 0021F1C0 48 05 8D 09 */ bl func_8027C268
+/* 80223560 0021F1C0 48 05 8D 09 */ bl PSMTXRotRad
/* 80223564 0021F1C4 C0 3F 00 00 */ lfs f1, 0(r31)
/* 80223568 0021F1C8 38 61 00 A8 */ addi r3, r1, 0xa8
/* 8022356C 0021F1CC 38 80 00 58 */ li r4, 0x58
-/* 80223570 0021F1D0 48 05 8C F9 */ bl func_8027C268
+/* 80223570 0021F1D0 48 05 8C F9 */ bl PSMTXRotRad
/* 80223574 0021F1D4 7F C4 F3 78 */ mr r4, r30
/* 80223578 0021F1D8 7F C5 F3 78 */ mr r5, r30
/* 8022357C 0021F1DC 38 61 00 A8 */ addi r3, r1, 0xa8
@@ -721,7 +721,7 @@ lbl_80223558:
/* 80223584 0021F1E4 C0 3F 00 08 */ lfs f1, 8(r31)
/* 80223588 0021F1E8 38 61 00 78 */ addi r3, r1, 0x78
/* 8022358C 0021F1EC 38 80 00 5A */ li r4, 0x5a
-/* 80223590 0021F1F0 48 05 8C D9 */ bl func_8027C268
+/* 80223590 0021F1F0 48 05 8C D9 */ bl PSMTXRotRad
/* 80223594 0021F1F4 7F C4 F3 78 */ mr r4, r30
/* 80223598 0021F1F8 7F C5 F3 78 */ mr r5, r30
/* 8022359C 0021F1FC 38 61 00 78 */ addi r3, r1, 0x78
@@ -730,11 +730,11 @@ lbl_80223558:
lbl_802235A8:
/* 802235A8 0021F208 C0 24 00 08 */ lfs f1, 8(r4)
/* 802235AC 0021F20C 38 80 00 5A */ li r4, 0x5a
-/* 802235B0 0021F210 48 05 8C B9 */ bl func_8027C268
+/* 802235B0 0021F210 48 05 8C B9 */ bl PSMTXRotRad
/* 802235B4 0021F214 C0 3F 00 04 */ lfs f1, 4(r31)
/* 802235B8 0021F218 38 61 00 48 */ addi r3, r1, 0x48
/* 802235BC 0021F21C 38 80 00 59 */ li r4, 0x59
-/* 802235C0 0021F220 48 05 8C A9 */ bl func_8027C268
+/* 802235C0 0021F220 48 05 8C A9 */ bl PSMTXRotRad
/* 802235C4 0021F224 7F C4 F3 78 */ mr r4, r30
/* 802235C8 0021F228 7F C5 F3 78 */ mr r5, r30
/* 802235CC 0021F22C 38 61 00 48 */ addi r3, r1, 0x48
@@ -742,7 +742,7 @@ lbl_802235A8:
/* 802235D4 0021F234 C0 3F 00 00 */ lfs f1, 0(r31)
/* 802235D8 0021F238 38 61 00 18 */ addi r3, r1, 0x18
/* 802235DC 0021F23C 38 80 00 58 */ li r4, 0x58
-/* 802235E0 0021F240 48 05 8C 89 */ bl func_8027C268
+/* 802235E0 0021F240 48 05 8C 89 */ bl PSMTXRotRad
/* 802235E4 0021F244 7F C4 F3 78 */ mr r4, r30
/* 802235E8 0021F248 7F C5 F3 78 */ mr r5, r30
/* 802235EC 0021F24C 38 61 00 18 */ addi r3, r1, 0x18
@@ -754,7 +754,7 @@ lbl_802235F8:
/* 80223600 0021F260 48 00 00 C1 */ bl func_802236C0
/* 80223604 0021F264 7F C3 F3 78 */ mr r3, r30
/* 80223608 0021F268 38 81 00 08 */ addi r4, r1, 8
-/* 8022360C 0021F26C 48 05 8F B5 */ bl func_8027C5C0
+/* 8022360C 0021F26C 48 05 8F B5 */ bl PSMTXQuat
lbl_80223610:
/* 80223610 0021F270 7F C3 F3 78 */ mr r3, r30
/* 80223614 0021F274 83 E1 02 5C */ lwz r31, 0x25c(r1)
@@ -778,7 +778,7 @@ func_8022362C:
/* 80223650 0021F2B0 38 63 32 B0 */ addi r3, r3, lbl_804932B0@l
/* 80223654 0021F2B4 B0 A4 00 02 */ sth r5, 2(r4)
/* 80223658 0021F2B8 98 04 00 04 */ stb r0, 4(r4)
-/* 8022365C 0021F2BC 48 05 88 D1 */ bl func_8027BF2C
+/* 8022365C 0021F2BC 48 05 88 D1 */ bl PSMTXIdentity
/* 80223660 0021F2C0 C0 22 9C 20 */ lfs f1, lbl_80642220-_SDA2_BASE_(r2)
/* 80223664 0021F2C4 3C 60 80 49 */ lis r3, lbl_804932E0@ha
/* 80223668 0021F2C8 38 63 32 E0 */ addi r3, r3, lbl_804932E0@l
@@ -795,15 +795,15 @@ func_8022362C:
.global func_80223694
func_80223694:
-/* 80223694 0021F2F4 48 05 94 10 */ b func_8027CAA4
+/* 80223694 0021F2F4 48 05 94 10 */ b C_MTXFrustum
.global func_80223698
func_80223698:
-/* 80223698 0021F2F8 48 05 95 94 */ b func_8027CC2C
+/* 80223698 0021F2F8 48 05 95 94 */ b C_MTXOrtho
.global func_8022369C
func_8022369C:
-/* 8022369C 0021F2FC 48 05 94 A4 */ b func_8027CB40
+/* 8022369C 0021F2FC 48 05 94 A4 */ b C_MTXPerspective
.global func_802236A0
func_802236A0:
@@ -836,7 +836,7 @@ func_802236C0:
/* 802236FC 0021F35C 7C 7F 1B 78 */ mr r31, r3
/* 80223700 0021F360 7C 83 23 78 */ mr r3, r4
/* 80223704 0021F364 38 81 00 08 */ addi r4, r1, 8
-/* 80223708 0021F368 48 05 96 05 */ bl func_8027CD0C
+/* 80223708 0021F368 48 05 96 05 */ bl PSVECScale
/* 8022370C 0021F36C C0 21 00 08 */ lfs f1, 8(r1)
/* 80223710 0021F370 4B FB 09 69 */ bl cos
/* 80223714 0021F374 C0 01 00 0C */ lfs f0, 0xc(r1)
@@ -2835,7 +2835,7 @@ lbl_802250A8:
lbl_80225158:
/* 80225158 00220DB8 7F E3 FB 78 */ mr r3, r31
/* 8022515C 00220DBC 7F E4 FB 78 */ mr r4, r31
-/* 80225160 00220DC0 48 05 7B C9 */ bl func_8027CD28
+/* 80225160 00220DC0 48 05 7B C9 */ bl PSVECNormalize
/* 80225164 00220DC4 48 00 08 C8 */ b lbl_80225A2C
/* 80225168 00220DC8 A8 1D 00 08 */ lha r0, 8(r29)
/* 8022516C 00220DCC 2C 00 00 01 */ cmpwi r0, 1
@@ -3070,7 +3070,7 @@ lbl_80225480:
/* 80225480 002210E0 7C 64 1B 78 */ mr r4, r3
/* 80225484 002210E4 7F E3 FB 78 */ mr r3, r31
/* 80225488 002210E8 38 A1 00 78 */ addi r5, r1, 0x78
-/* 8022548C 002210EC 48 05 79 5D */ bl func_8027CDE8
+/* 8022548C 002210EC 48 05 79 5D */ bl PSVECCrossProduct
/* 80225490 002210F0 80 7C 09 14 */ lwz r3, 0x914(r28)
/* 80225494 002210F4 38 00 00 04 */ li r0, 4
/* 80225498 002210F8 C0 01 00 78 */ lfs f0, 0x78(r1)
@@ -3109,13 +3109,13 @@ lbl_80225504:
/* 80225510 00221170 D0 1E 00 04 */ stfs f0, 4(r30)
/* 80225514 00221174 48 00 05 18 */ b lbl_80225A2C
/* 80225518 00221178 7F E3 FB 78 */ mr r3, r31
-/* 8022551C 0022117C 48 05 78 69 */ bl func_8027CD84
+/* 8022551C 0022117C 48 05 78 69 */ bl PSVECMag
/* 80225520 00221180 38 00 00 02 */ li r0, 2
/* 80225524 00221184 D0 3E 00 04 */ stfs f1, 4(r30)
/* 80225528 00221188 B0 1E 00 00 */ sth r0, 0(r30)
/* 8022552C 0022118C 48 00 05 00 */ b lbl_80225A2C
/* 80225530 00221190 7F E3 FB 78 */ mr r3, r31
-/* 80225534 00221194 48 05 78 39 */ bl func_8027CD6C
+/* 80225534 00221194 48 05 78 39 */ bl PSVECSquareMag
/* 80225538 00221198 38 00 00 02 */ li r0, 2
/* 8022553C 0022119C D0 3E 00 04 */ stfs f1, 4(r30)
/* 80225540 002211A0 B0 1E 00 00 */ sth r0, 0(r30)
@@ -3125,7 +3125,7 @@ lbl_80225504:
/* 80225550 002211B0 40 82 00 BC */ bne lbl_8022560C
/* 80225554 002211B4 7F E3 FB 78 */ mr r3, r31
/* 80225558 002211B8 38 81 00 6C */ addi r4, r1, 0x6c
-/* 8022555C 002211BC 48 05 77 CD */ bl func_8027CD28
+/* 8022555C 002211BC 48 05 77 CD */ bl PSVECNormalize
/* 80225560 002211C0 A8 1D 00 08 */ lha r0, 8(r29)
/* 80225564 002211C4 2C 00 00 04 */ cmpwi r0, 4
/* 80225568 002211C8 40 82 00 0C */ bne lbl_80225574
@@ -3136,7 +3136,7 @@ lbl_80225574:
/* 80225578 002211D8 4B E0 2D 69 */ bl func_800282E0
lbl_8022557C:
/* 8022557C 002211DC 38 81 00 60 */ addi r4, r1, 0x60
-/* 80225580 002211E0 48 05 77 A9 */ bl func_8027CD28
+/* 80225580 002211E0 48 05 77 A9 */ bl PSVECNormalize
/* 80225584 002211E4 38 61 00 6C */ addi r3, r1, 0x6c
/* 80225588 002211E8 38 81 00 60 */ addi r4, r1, 0x60
/* 8022558C 002211EC 48 05 78 3D */ bl PSQUATDotProduct
@@ -3197,7 +3197,7 @@ lbl_80225640:
/* 80225640 002212A0 7C 64 1B 78 */ mr r4, r3
/* 80225644 002212A4 7F E3 FB 78 */ mr r3, r31
/* 80225648 002212A8 38 A1 00 44 */ addi r5, r1, 0x44
-/* 8022564C 002212AC 48 05 76 9D */ bl func_8027CCE8
+/* 8022564C 002212AC 48 05 76 9D */ bl PSVECSubtract
/* 80225650 002212B0 C0 41 00 44 */ lfs f2, 0x44(r1)
/* 80225654 002212B4 38 61 00 6C */ addi r3, r1, 0x6c
/* 80225658 002212B8 C0 21 00 48 */ lfs f1, 0x48(r1)
@@ -3205,7 +3205,7 @@ lbl_80225640:
/* 80225660 002212C0 D0 41 00 6C */ stfs f2, 0x6c(r1)
/* 80225664 002212C4 D0 21 00 70 */ stfs f1, 0x70(r1)
/* 80225668 002212C8 D0 01 00 74 */ stfs f0, 0x74(r1)
-/* 8022566C 002212CC 48 05 77 19 */ bl func_8027CD84
+/* 8022566C 002212CC 48 05 77 19 */ bl PSVECMag
/* 80225670 002212D0 38 00 00 02 */ li r0, 2
/* 80225674 002212D4 D0 3E 00 04 */ stfs f1, 4(r30)
/* 80225678 002212D8 B0 1E 00 00 */ sth r0, 0(r30)
@@ -3247,7 +3247,7 @@ lbl_802256D8:
/* 802256FC 0022135C D0 21 00 68 */ stfs f1, 0x68(r1)
/* 80225700 00221360 D0 01 00 64 */ stfs f0, 0x64(r1)
/* 80225704 00221364 D0 01 00 70 */ stfs f0, 0x70(r1)
-/* 80225708 00221368 48 05 75 E1 */ bl func_8027CCE8
+/* 80225708 00221368 48 05 75 E1 */ bl PSVECSubtract
/* 8022570C 0022136C C0 41 00 38 */ lfs f2, 0x38(r1)
/* 80225710 00221370 38 61 00 6C */ addi r3, r1, 0x6c
/* 80225714 00221374 C0 21 00 3C */ lfs f1, 0x3c(r1)
@@ -3255,7 +3255,7 @@ lbl_802256D8:
/* 8022571C 0022137C D0 41 00 6C */ stfs f2, 0x6c(r1)
/* 80225720 00221380 D0 21 00 70 */ stfs f1, 0x70(r1)
/* 80225724 00221384 D0 01 00 74 */ stfs f0, 0x74(r1)
-/* 80225728 00221388 48 05 76 5D */ bl func_8027CD84
+/* 80225728 00221388 48 05 76 5D */ bl PSVECMag
/* 8022572C 0022138C 38 00 00 02 */ li r0, 2
/* 80225730 00221390 D0 3E 00 04 */ stfs f1, 4(r30)
/* 80225734 00221394 B0 1E 00 00 */ sth r0, 0(r30)
@@ -3290,7 +3290,7 @@ lbl_80225790:
/* 80225798 002213F8 38 61 00 50 */ addi r3, r1, 0x50
/* 8022579C 002213FC EC 20 00 72 */ fmuls f1, f0, f1
/* 802257A0 00221400 38 84 36 08 */ addi r4, r4, lbl_80493608@l
-/* 802257A4 00221404 48 05 79 81 */ bl func_8027D124
+/* 802257A4 00221404 48 05 79 81 */ bl C_QUATRotAxisRad
/* 802257A8 00221408 C0 1F 00 00 */ lfs f0, 0(r31)
/* 802257AC 0022140C 38 61 00 2C */ addi r3, r1, 0x2c
/* 802257B0 00221410 38 81 00 50 */ addi r4, r1, 0x50
@@ -3331,7 +3331,7 @@ lbl_80225828:
/* 80225830 00221490 38 61 00 50 */ addi r3, r1, 0x50
/* 80225834 00221494 EC 20 00 72 */ fmuls f1, f0, f1
/* 80225838 00221498 38 84 36 14 */ addi r4, r4, lbl_80493614@l
-/* 8022583C 0022149C 48 05 78 E9 */ bl func_8027D124
+/* 8022583C 0022149C 48 05 78 E9 */ bl C_QUATRotAxisRad
/* 80225840 002214A0 C0 1F 00 00 */ lfs f0, 0(r31)
/* 80225844 002214A4 38 61 00 20 */ addi r3, r1, 0x20
/* 80225848 002214A8 38 81 00 50 */ addi r4, r1, 0x50
@@ -3372,7 +3372,7 @@ lbl_802258C0:
/* 802258C8 00221528 38 61 00 50 */ addi r3, r1, 0x50
/* 802258CC 0022152C EC 20 00 72 */ fmuls f1, f0, f1
/* 802258D0 00221530 38 84 36 20 */ addi r4, r4, lbl_80493620@l
-/* 802258D4 00221534 48 05 78 51 */ bl func_8027D124
+/* 802258D4 00221534 48 05 78 51 */ bl C_QUATRotAxisRad
/* 802258D8 00221538 C0 1F 00 00 */ lfs f0, 0(r31)
/* 802258DC 0022153C 38 61 00 14 */ addi r3, r1, 0x14
/* 802258E0 00221540 38 81 00 50 */ addi r4, r1, 0x50
@@ -3449,7 +3449,7 @@ lbl_802259DC:
/* 802259E0 00221640 38 61 00 50 */ addi r3, r1, 0x50
/* 802259E4 00221644 38 81 00 6C */ addi r4, r1, 0x6c
/* 802259E8 00221648 EC 20 00 72 */ fmuls f1, f0, f1
-/* 802259EC 0022164C 48 05 77 39 */ bl func_8027D124
+/* 802259EC 0022164C 48 05 77 39 */ bl C_QUATRotAxisRad
/* 802259F0 00221650 C0 1F 00 00 */ lfs f0, 0(r31)
/* 802259F4 00221654 38 61 00 08 */ addi r3, r1, 8
/* 802259F8 00221658 38 81 00 50 */ addi r4, r1, 0x50
@@ -13394,7 +13394,7 @@ lbl_8022E058:
/* 8022E068 00229CC8 80 85 00 04 */ lwz r4, 4(r5)
/* 8022E06C 00229CCC 38 A1 00 08 */ addi r5, r1, 8
/* 8022E070 00229CD0 80 63 00 04 */ lwz r3, 4(r3)
-/* 8022E074 00229CD4 48 04 EC 51 */ bl func_8027CCC4
+/* 8022E074 00229CD4 48 04 EC 51 */ bl PSVECAdd
/* 8022E078 00229CD8 A8 7D 00 00 */ lha r3, 0(r29)
/* 8022E07C 00229CDC 38 01 00 08 */ addi r0, r1, 8
/* 8022E080 00229CE0 90 1D 00 04 */ stw r0, 4(r29)
@@ -13704,7 +13704,7 @@ lbl_8022E474:
/* 8022E484 0022A0E4 80 85 00 04 */ lwz r4, 4(r5)
/* 8022E488 0022A0E8 38 A1 00 08 */ addi r5, r1, 8
/* 8022E48C 0022A0EC 80 63 00 04 */ lwz r3, 4(r3)
-/* 8022E490 0022A0F0 48 04 E8 59 */ bl func_8027CCE8
+/* 8022E490 0022A0F0 48 04 E8 59 */ bl PSVECSubtract
/* 8022E494 0022A0F4 A8 7D 00 00 */ lha r3, 0(r29)
/* 8022E498 0022A0F8 38 01 00 08 */ addi r0, r1, 8
/* 8022E49C 0022A0FC 90 1D 00 04 */ stw r0, 4(r29)
@@ -14556,7 +14556,7 @@ lbl_8022EFE0:
/* 8022EFE0 0022AC40 C0 02 9C F8 */ lfs f0, lbl_806422F8-_SDA2_BASE_(r2)
/* 8022EFE4 0022AC44 38 81 00 08 */ addi r4, r1, 8
/* 8022EFE8 0022AC48 EC 20 08 24 */ fdivs f1, f0, f1
-/* 8022EFEC 0022AC4C 48 04 DD 21 */ bl func_8027CD0C
+/* 8022EFEC 0022AC4C 48 04 DD 21 */ bl PSVECScale
/* 8022EFF0 0022AC50 A8 7E 00 00 */ lha r3, 0(r30)
/* 8022EFF4 0022AC54 38 01 00 08 */ addi r0, r1, 8
/* 8022EFF8 0022AC58 90 1E 00 04 */ stw r0, 4(r30)
@@ -14907,7 +14907,7 @@ lbl_8022F464:
/* 8022F464 0022B0C4 7C 64 1B 78 */ mr r4, r3
/* 8022F468 0022B0C8 7F C3 F3 78 */ mr r3, r30
/* 8022F46C 0022B0CC 38 A1 00 08 */ addi r5, r1, 8
-/* 8022F470 0022B0D0 48 04 D8 79 */ bl func_8027CCE8
+/* 8022F470 0022B0D0 48 04 D8 79 */ bl PSVECSubtract
/* 8022F474 0022B0D4 C0 21 00 08 */ lfs f1, 8(r1)
/* 8022F478 0022B0D8 C0 02 9C E0 */ lfs f0, lbl_806422E0-_SDA2_BASE_(r2)
/* 8022F47C 0022B0DC FC 01 00 40 */ fcmpo cr0, f1, f0
@@ -15138,7 +15138,7 @@ lbl_8022F76C:
/* 8022F76C 0022B3CC 7C 64 1B 78 */ mr r4, r3
/* 8022F770 0022B3D0 7F C3 F3 78 */ mr r3, r30
/* 8022F774 0022B3D4 38 A1 00 08 */ addi r5, r1, 8
-/* 8022F778 0022B3D8 48 04 D5 71 */ bl func_8027CCE8
+/* 8022F778 0022B3D8 48 04 D5 71 */ bl PSVECSubtract
/* 8022F77C 0022B3DC C0 21 00 08 */ lfs f1, 8(r1)
/* 8022F780 0022B3E0 C0 02 9C E0 */ lfs f0, lbl_806422E0-_SDA2_BASE_(r2)
/* 8022F784 0022B3E4 FC 01 00 40 */ fcmpo cr0, f1, f0
@@ -18946,11 +18946,11 @@ lbl_80232D7C:
/* 80232D98 0022E9F8 41 82 00 30 */ beq lbl_80232DC8
/* 80232D9C 0022E9FC 7F 03 C3 78 */ mr r3, r24
/* 80232DA0 0022EA00 38 81 00 70 */ addi r4, r1, 0x70
-/* 80232DA4 0022EA04 48 04 93 05 */ bl func_8027C0A8
+/* 80232DA4 0022EA04 48 04 93 05 */ bl PSMTXInverse
/* 80232DA8 0022EA08 80 9B 00 04 */ lwz r4, 4(r27)
/* 80232DAC 0022EA0C 38 61 00 70 */ addi r3, r1, 0x70
/* 80232DB0 0022EA10 38 84 00 34 */ addi r4, r4, 0x34
-/* 80232DB4 0022EA14 48 04 91 A5 */ bl func_8027BF58
+/* 80232DB4 0022EA14 48 04 91 A5 */ bl PSMTXCopy
/* 80232DB8 0022EA18 80 7B 00 04 */ lwz r3, 4(r27)
/* 80232DBC 0022EA1C 80 03 00 00 */ lwz r0, 0(r3)
/* 80232DC0 0022EA20 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
@@ -19010,7 +19010,7 @@ lbl_80232E90:
/* 80232E90 0022EAF0 7F C4 F3 78 */ mr r4, r30
/* 80232E94 0022EAF4 38 61 00 58 */ addi r3, r1, 0x58
/* 80232E98 0022EAF8 38 A1 00 1C */ addi r5, r1, 0x1c
-/* 80232E9C 0022EAFC 48 04 9E 4D */ bl func_8027CCE8
+/* 80232E9C 0022EAFC 48 04 9E 4D */ bl PSVECSubtract
/* 80232EA0 0022EB00 C0 41 00 1C */ lfs f2, 0x1c(r1)
/* 80232EA4 0022EB04 38 61 00 64 */ addi r3, r1, 0x64
/* 80232EA8 0022EB08 C0 21 00 20 */ lfs f1, 0x20(r1)
@@ -19050,7 +19050,7 @@ lbl_80232EFC:
/* 80232F2C 0022EB8C 7F A4 EB 78 */ mr r4, r29
/* 80232F30 0022EB90 38 61 00 40 */ addi r3, r1, 0x40
/* 80232F34 0022EB94 38 A1 00 10 */ addi r5, r1, 0x10
-/* 80232F38 0022EB98 48 04 9D B1 */ bl func_8027CCE8
+/* 80232F38 0022EB98 48 04 9D B1 */ bl PSVECSubtract
/* 80232F3C 0022EB9C C0 01 00 10 */ lfs f0, 0x10(r1)
/* 80232F40 0022EBA0 3B 20 00 01 */ li r25, 1
/* 80232F44 0022EBA4 3B 5A FF FF */ addi r26, r26, -1
@@ -19174,7 +19174,7 @@ lbl_802330F8:
/* 802330F8 0022ED58 7F 24 CB 78 */ mr r4, r25
/* 802330FC 0022ED5C 38 61 00 58 */ addi r3, r1, 0x58
/* 80233100 0022ED60 38 A1 00 1C */ addi r5, r1, 0x1c
-/* 80233104 0022ED64 48 04 9B E5 */ bl func_8027CCE8
+/* 80233104 0022ED64 48 04 9B E5 */ bl PSVECSubtract
/* 80233108 0022ED68 C0 41 00 1C */ lfs f2, 0x1c(r1)
/* 8023310C 0022ED6C 38 61 00 64 */ addi r3, r1, 0x64
/* 80233110 0022ED70 C0 21 00 20 */ lfs f1, 0x20(r1)
@@ -19214,7 +19214,7 @@ lbl_80233164:
/* 80233194 0022EDF4 7F 04 C3 78 */ mr r4, r24
/* 80233198 0022EDF8 38 61 00 40 */ addi r3, r1, 0x40
/* 8023319C 0022EDFC 38 A1 00 10 */ addi r5, r1, 0x10
-/* 802331A0 0022EE00 48 04 9B 49 */ bl func_8027CCE8
+/* 802331A0 0022EE00 48 04 9B 49 */ bl PSVECSubtract
/* 802331A4 0022EE04 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 802331A8 0022EE08 3B C0 00 01 */ li r30, 1
/* 802331AC 0022EE0C 3B FF FF FF */ addi r31, r31, -1
@@ -19441,15 +19441,15 @@ lbl_80233480:
/* 802334AC 0022F10C 83 BE 16 E8 */ lwz r29, 0x16e8(r30)
/* 802334B0 0022F110 80 9D 00 04 */ lwz r4, 4(r29)
/* 802334B4 0022F114 38 84 00 04 */ addi r4, r4, 4
-/* 802334B8 0022F118 48 04 8A A1 */ bl func_8027BF58
+/* 802334B8 0022F118 48 04 8A A1 */ bl PSMTXCopy
/* 802334BC 0022F11C 80 9D 00 04 */ lwz r4, 4(r29)
/* 802334C0 0022F120 38 7F 02 04 */ addi r3, r31, 0x204
/* 802334C4 0022F124 38 84 00 34 */ addi r4, r4, 0x34
-/* 802334C8 0022F128 48 04 8A 91 */ bl func_8027BF58
+/* 802334C8 0022F128 48 04 8A 91 */ bl PSMTXCopy
/* 802334CC 0022F12C 80 9D 00 04 */ lwz r4, 4(r29)
/* 802334D0 0022F130 38 7F 02 34 */ addi r3, r31, 0x234
/* 802334D4 0022F134 38 84 00 64 */ addi r4, r4, 0x64
-/* 802334D8 0022F138 48 04 8A 81 */ bl func_8027BF58
+/* 802334D8 0022F138 48 04 8A 81 */ bl PSMTXCopy
/* 802334DC 0022F13C 80 7D 00 04 */ lwz r3, 4(r29)
/* 802334E0 0022F140 80 03 00 00 */ lwz r0, 0(r3)
/* 802334E4 0022F144 60 00 00 04 */ ori r0, r0, 4
@@ -21124,7 +21124,7 @@ lbl_80234CBC:
/* 80234CF8 00230958 83 DF 16 E8 */ lwz r30, 0x16e8(r31)
/* 80234CFC 0023095C 80 7E 00 04 */ lwz r3, 4(r30)
/* 80234D00 00230960 38 63 00 04 */ addi r3, r3, 4
-/* 80234D04 00230964 48 04 72 29 */ bl func_8027BF2C
+/* 80234D04 00230964 48 04 72 29 */ bl PSMTXIdentity
/* 80234D08 00230968 80 7E 00 04 */ lwz r3, 4(r30)
/* 80234D0C 0023096C C0 02 9D 40 */ lfs f0, lbl_80642340-_SDA2_BASE_(r2)
/* 80234D10 00230970 80 03 00 00 */ lwz r0, 0(r3)
@@ -21257,7 +21257,7 @@ lbl_80234EA4:
/* 80234EE0 00230B40 83 DF 16 E8 */ lwz r30, 0x16e8(r31)
/* 80234EE4 00230B44 80 7E 00 04 */ lwz r3, 4(r30)
/* 80234EE8 00230B48 38 63 00 04 */ addi r3, r3, 4
-/* 80234EEC 00230B4C 48 04 70 41 */ bl func_8027BF2C
+/* 80234EEC 00230B4C 48 04 70 41 */ bl PSMTXIdentity
/* 80234EF0 00230B50 80 7E 00 04 */ lwz r3, 4(r30)
/* 80234EF4 00230B54 C0 02 9D 40 */ lfs f0, lbl_80642340-_SDA2_BASE_(r2)
/* 80234EF8 00230B58 80 03 00 00 */ lwz r0, 0(r3)
@@ -21368,7 +21368,7 @@ func_80234FE0:
/* 80235078 00230CD8 83 DF 16 E8 */ lwz r30, 0x16e8(r31)
/* 8023507C 00230CDC 80 7E 00 04 */ lwz r3, 4(r30)
/* 80235080 00230CE0 38 63 00 04 */ addi r3, r3, 4
-/* 80235084 00230CE4 48 04 6E A9 */ bl func_8027BF2C
+/* 80235084 00230CE4 48 04 6E A9 */ bl PSMTXIdentity
/* 80235088 00230CE8 80 7E 00 04 */ lwz r3, 4(r30)
/* 8023508C 00230CEC C0 02 9D 40 */ lfs f0, lbl_80642340-_SDA2_BASE_(r2)
/* 80235090 00230CF0 80 03 00 00 */ lwz r0, 0(r3)
@@ -21866,9 +21866,9 @@ lbl_80235734:
/* 8023577C 002313DC 41 82 00 94 */ beq lbl_80235810
/* 80235780 002313E0 38 81 00 0C */ addi r4, r1, 0xc
/* 80235784 002313E4 7C 85 23 78 */ mr r5, r4
-/* 80235788 002313E8 48 04 72 75 */ bl func_8027C9FC
+/* 80235788 002313E8 48 04 72 75 */ bl PSMTXMultVec
/* 8023578C 002313EC 38 61 00 0C */ addi r3, r1, 0xc
-/* 80235790 002313F0 48 04 75 DD */ bl func_8027CD6C
+/* 80235790 002313F0 48 04 75 DD */ bl PSVECSquareMag
/* 80235794 002313F4 C0 02 9D 80 */ lfs f0, lbl_80642380-_SDA2_BASE_(r2)
/* 80235798 002313F8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8023579C 002313FC 40 81 00 64 */ ble lbl_80235800
@@ -21900,7 +21900,7 @@ lbl_802357EC:
/* 802357F0 00231450 38 61 00 0C */ addi r3, r1, 0xc
/* 802357F4 00231454 7C 64 1B 78 */ mr r4, r3
/* 802357F8 00231458 EC 20 10 24 */ fdivs f1, f0, f2
-/* 802357FC 0023145C 48 04 75 11 */ bl func_8027CD0C
+/* 802357FC 0023145C 48 04 75 11 */ bl PSVECScale
lbl_80235800:
/* 80235800 00231460 88 1E 00 01 */ lbz r0, 1(r30)
/* 80235804 00231464 60 00 00 04 */ ori r0, r0, 4
@@ -21913,7 +21913,7 @@ lbl_80235810:
/* 8023581C 0023147C 38 81 00 18 */ addi r4, r1, 0x18
/* 80235820 00231480 7F A3 EB 78 */ mr r3, r29
/* 80235824 00231484 7C 85 23 78 */ mr r5, r4
-/* 80235828 00231488 48 04 71 D5 */ bl func_8027C9FC
+/* 80235828 00231488 48 04 71 D5 */ bl PSMTXMultVec
/* 8023582C 0023148C 88 1E 00 01 */ lbz r0, 1(r30)
/* 80235830 00231490 60 00 00 02 */ ori r0, r0, 2
/* 80235834 00231494 98 1E 00 01 */ stb r0, 1(r30)
@@ -23010,7 +23010,7 @@ func_80236704:
/* 80236738 00232398 7C 03 02 14 */ add r0, r3, r0
/* 8023673C 0023239C 38 63 00 04 */ addi r3, r3, 4
/* 80236740 002323A0 90 1E 00 08 */ stw r0, 8(r30)
-/* 80236744 002323A4 48 04 57 E9 */ bl func_8027BF2C
+/* 80236744 002323A4 48 04 57 E9 */ bl PSMTXIdentity
/* 80236748 002323A8 80 9E 00 04 */ lwz r4, 4(r30)
/* 8023674C 002323AC 7F C3 F3 78 */ mr r3, r30
/* 80236750 002323B0 80 04 00 00 */ lwz r0, 0(r4)
@@ -23066,7 +23066,7 @@ func_802367D4:
/* 802367F8 00232458 40 82 00 40 */ bne lbl_80236838
/* 802367FC 0023245C 38 65 FF 70 */ addi r3, r5, -144
/* 80236800 00232460 38 85 00 04 */ addi r4, r5, 4
-/* 80236804 00232464 48 04 57 55 */ bl func_8027BF58
+/* 80236804 00232464 48 04 57 55 */ bl PSMTXCopy
/* 80236808 00232468 80 7F 00 04 */ lwz r3, 4(r31)
/* 8023680C 0023246C 80 03 FF 6C */ lwz r0, -0x94(r3)
/* 80236810 00232470 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
@@ -23083,7 +23083,7 @@ lbl_80236828:
lbl_80236838:
/* 80236838 00232498 7C 83 23 78 */ mr r3, r4
/* 8023683C 0023249C 38 85 00 04 */ addi r4, r5, 4
-/* 80236840 002324A0 48 04 57 19 */ bl func_8027BF58
+/* 80236840 002324A0 48 04 57 19 */ bl PSMTXCopy
/* 80236844 002324A4 80 7F 00 04 */ lwz r3, 4(r31)
/* 80236848 002324A8 80 03 00 00 */ lwz r0, 0(r3)
/* 8023684C 002324AC 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b
@@ -23113,7 +23113,7 @@ func_80236878:
/* 8023689C 002324FC 40 82 00 40 */ bne lbl_802368DC
/* 802368A0 00232500 38 65 FF 70 */ addi r3, r5, -144
/* 802368A4 00232504 38 85 00 04 */ addi r4, r5, 4
-/* 802368A8 00232508 48 04 56 B1 */ bl func_8027BF58
+/* 802368A8 00232508 48 04 56 B1 */ bl PSMTXCopy
/* 802368AC 0023250C 80 7F 00 04 */ lwz r3, 4(r31)
/* 802368B0 00232510 80 03 FF 6C */ lwz r0, -0x94(r3)
/* 802368B4 00232514 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
@@ -23134,7 +23134,7 @@ lbl_802368DC:
/* 802368E8 00232548 80 9F 00 04 */ lwz r4, 4(r31)
/* 802368EC 0023254C 38 61 00 08 */ addi r3, r1, 8
/* 802368F0 00232550 38 84 00 04 */ addi r4, r4, 4
-/* 802368F4 00232554 48 04 56 65 */ bl func_8027BF58
+/* 802368F4 00232554 48 04 56 65 */ bl PSMTXCopy
/* 802368F8 00232558 80 7F 00 04 */ lwz r3, 4(r31)
/* 802368FC 0023255C 80 03 00 00 */ lwz r0, 0(r3)
/* 80236900 00232560 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b
@@ -24995,7 +24995,7 @@ lbl_80238344:
/* 80238374 00233FD4 80 9D 00 04 */ lwz r4, 4(r29)
/* 80238378 00233FD8 38 61 00 08 */ addi r3, r1, 8
/* 8023837C 00233FDC 38 84 00 64 */ addi r4, r4, 0x64
-/* 80238380 00233FE0 48 04 3B D9 */ bl func_8027BF58
+/* 80238380 00233FE0 48 04 3B D9 */ bl PSMTXCopy
/* 80238384 00233FE4 80 7D 00 04 */ lwz r3, 4(r29)
/* 80238388 00233FE8 80 03 00 00 */ lwz r0, 0(r3)
/* 8023838C 00233FEC 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
@@ -35466,7 +35466,7 @@ lbl_802412F8:
/* 80241524 0023D184 D0 21 00 4C */ stfs f1, 0x4c(r1)
/* 80241528 0023D188 D0 21 00 50 */ stfs f1, 0x50(r1)
/* 8024152C 0023D18C D0 61 00 54 */ stfs f3, 0x54(r1)
-/* 80241530 0023D190 48 03 AF C5 */ bl func_8027C4F4
+/* 80241530 0023D190 48 03 AF C5 */ bl PSMTXTransApply
/* 80241534 0023D194 C0 5D 00 BC */ lfs f2, 0xbc(r29)
/* 80241538 0023D198 38 61 00 98 */ addi r3, r1, 0x98
/* 8024153C 0023D19C C0 3D 00 B8 */ lfs f1, 0xb8(r29)
@@ -35475,15 +35475,15 @@ lbl_802412F8:
/* 80241548 0023D1A8 D0 21 00 40 */ stfs f1, 0x40(r1)
/* 8024154C 0023D1AC D0 41 00 44 */ stfs f2, 0x44(r1)
/* 80241550 0023D1B0 D0 61 00 48 */ stfs f3, 0x48(r1)
-/* 80241554 0023D1B4 48 03 B0 15 */ bl func_8027C568
+/* 80241554 0023D1B4 48 03 B0 15 */ bl PSMTXScaleApply
/* 80241558 0023D1B8 3C 80 80 49 */ lis r4, lbl_80493620@ha
/* 8024155C 0023D1BC C0 3D 00 B4 */ lfs f1, 0xb4(r29)
/* 80241560 0023D1C0 38 61 00 30 */ addi r3, r1, 0x30
/* 80241564 0023D1C4 38 84 36 20 */ addi r4, r4, lbl_80493620@l
-/* 80241568 0023D1C8 48 03 BB BD */ bl func_8027D124
+/* 80241568 0023D1C8 48 03 BB BD */ bl C_QUATRotAxisRad
/* 8024156C 0023D1CC 38 61 00 68 */ addi r3, r1, 0x68
/* 80241570 0023D1D0 38 81 00 30 */ addi r4, r1, 0x30
-/* 80241574 0023D1D4 48 03 B0 4D */ bl func_8027C5C0
+/* 80241574 0023D1D4 48 03 B0 4D */ bl PSMTXQuat
/* 80241578 0023D1D8 38 81 00 98 */ addi r4, r1, 0x98
/* 8024157C 0023D1DC 38 61 00 68 */ addi r3, r1, 0x68
/* 80241580 0023D1E0 7C 85 23 78 */ mr r5, r4
@@ -35496,7 +35496,7 @@ lbl_802412F8:
/* 8024159C 0023D1FC D0 21 00 20 */ stfs f1, 0x20(r1)
/* 802415A0 0023D200 D0 41 00 24 */ stfs f2, 0x24(r1)
/* 802415A4 0023D204 D0 61 00 28 */ stfs f3, 0x28(r1)
-/* 802415A8 0023D208 48 03 AF 4D */ bl func_8027C4F4
+/* 802415A8 0023D208 48 03 AF 4D */ bl PSMTXTransApply
/* 802415AC 0023D20C C0 22 9E 40 */ lfs f1, lbl_80642440-_SDA2_BASE_(r2)
/* 802415B0 0023D210 38 61 00 98 */ addi r3, r1, 0x98
/* 802415B4 0023D214 C0 62 9E 3C */ lfs f3, lbl_8064243C-_SDA2_BASE_(r2)
@@ -35505,7 +35505,7 @@ lbl_802412F8:
/* 802415C0 0023D220 D0 21 00 14 */ stfs f1, 0x14(r1)
/* 802415C4 0023D224 D0 21 00 18 */ stfs f1, 0x18(r1)
/* 802415C8 0023D228 D0 61 00 1C */ stfs f3, 0x1c(r1)
-/* 802415CC 0023D22C 48 03 AF 9D */ bl func_8027C568
+/* 802415CC 0023D22C 48 03 AF 9D */ bl PSMTXScaleApply
/* 802415D0 0023D230 C0 22 9E 40 */ lfs f1, lbl_80642440-_SDA2_BASE_(r2)
/* 802415D4 0023D234 38 61 00 98 */ addi r3, r1, 0x98
/* 802415D8 0023D238 C0 62 9E 38 */ lfs f3, lbl_80642438-_SDA2_BASE_(r2)
@@ -35514,7 +35514,7 @@ lbl_802412F8:
/* 802415E4 0023D244 D0 21 00 08 */ stfs f1, 8(r1)
/* 802415E8 0023D248 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 802415EC 0023D24C D0 61 00 10 */ stfs f3, 0x10(r1)
-/* 802415F0 0023D250 48 03 AF 05 */ bl func_8027C4F4
+/* 802415F0 0023D250 48 03 AF 05 */ bl PSMTXTransApply
/* 802415F4 0023D254 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13)
/* 802415F8 0023D258 38 E1 00 98 */ addi r7, r1, 0x98
/* 802415FC 0023D25C 38 80 00 01 */ li r4, 1
@@ -36105,10 +36105,10 @@ lbl_80241D1C:
/* 80241EE8 0023DB48 C0 3D 00 B4 */ lfs f1, 0xb4(r29)
/* 80241EEC 0023DB4C 38 61 00 48 */ addi r3, r1, 0x48
/* 80241EF0 0023DB50 38 84 36 20 */ addi r4, r4, lbl_80493620@l
-/* 80241EF4 0023DB54 48 03 B2 31 */ bl func_8027D124
+/* 80241EF4 0023DB54 48 03 B2 31 */ bl C_QUATRotAxisRad
/* 80241EF8 0023DB58 38 61 00 68 */ addi r3, r1, 0x68
/* 80241EFC 0023DB5C 38 81 00 48 */ addi r4, r1, 0x48
-/* 80241F00 0023DB60 48 03 A6 C1 */ bl func_8027C5C0
+/* 80241F00 0023DB60 48 03 A6 C1 */ bl PSMTXQuat
/* 80241F04 0023DB64 38 81 00 C8 */ addi r4, r1, 0xc8
/* 80241F08 0023DB68 38 61 00 68 */ addi r3, r1, 0x68
/* 80241F0C 0023DB6C 7C 85 23 78 */ mr r5, r4
@@ -36121,10 +36121,10 @@ lbl_80241D1C:
/* 80241F28 0023DB88 D0 21 00 38 */ stfs f1, 0x38(r1)
/* 80241F2C 0023DB8C D0 41 00 3C */ stfs f2, 0x3c(r1)
/* 80241F30 0023DB90 D0 61 00 40 */ stfs f3, 0x40(r1)
-/* 80241F34 0023DB94 48 03 A5 C1 */ bl func_8027C4F4
+/* 80241F34 0023DB94 48 03 A5 C1 */ bl PSMTXTransApply
/* 80241F38 0023DB98 38 61 00 C8 */ addi r3, r1, 0xc8
/* 80241F3C 0023DB9C 38 81 00 98 */ addi r4, r1, 0x98
-/* 80241F40 0023DBA0 48 03 A0 19 */ bl func_8027BF58
+/* 80241F40 0023DBA0 48 03 A0 19 */ bl PSMTXCopy
/* 80241F44 0023DBA4 C0 22 9E 6C */ lfs f1, lbl_8064246C-_SDA2_BASE_(r2)
/* 80241F48 0023DBA8 38 61 00 98 */ addi r3, r1, 0x98
/* 80241F4C 0023DBAC C0 42 9E 40 */ lfs f2, lbl_80642440-_SDA2_BASE_(r2)
@@ -36133,7 +36133,7 @@ lbl_80241D1C:
/* 80241F58 0023DBB8 D0 21 00 2C */ stfs f1, 0x2c(r1)
/* 80241F5C 0023DBBC D0 41 00 30 */ stfs f2, 0x30(r1)
/* 80241F60 0023DBC0 D0 61 00 34 */ stfs f3, 0x34(r1)
-/* 80241F64 0023DBC4 48 03 A6 05 */ bl func_8027C568
+/* 80241F64 0023DBC4 48 03 A6 05 */ bl PSMTXScaleApply
/* 80241F68 0023DBC8 C0 22 9E 40 */ lfs f1, lbl_80642440-_SDA2_BASE_(r2)
/* 80241F6C 0023DBCC 38 61 00 98 */ addi r3, r1, 0x98
/* 80241F70 0023DBD0 C0 62 9E 38 */ lfs f3, lbl_80642438-_SDA2_BASE_(r2)
@@ -36142,7 +36142,7 @@ lbl_80241D1C:
/* 80241F7C 0023DBDC D0 21 00 20 */ stfs f1, 0x20(r1)
/* 80241F80 0023DBE0 D0 21 00 24 */ stfs f1, 0x24(r1)
/* 80241F84 0023DBE4 D0 61 00 28 */ stfs f3, 0x28(r1)
-/* 80241F88 0023DBE8 48 03 A5 6D */ bl func_8027C4F4
+/* 80241F88 0023DBE8 48 03 A5 6D */ bl PSMTXTransApply
/* 80241F8C 0023DBEC 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13)
/* 80241F90 0023DBF0 38 E1 00 98 */ addi r7, r1, 0x98
/* 80241F94 0023DBF4 38 80 00 00 */ li r4, 0
@@ -36159,7 +36159,7 @@ lbl_80241D1C:
/* 80241FC0 0023DC20 D0 21 00 14 */ stfs f1, 0x14(r1)
/* 80241FC4 0023DC24 D0 21 00 18 */ stfs f1, 0x18(r1)
/* 80241FC8 0023DC28 D0 61 00 1C */ stfs f3, 0x1c(r1)
-/* 80241FCC 0023DC2C 48 03 A5 9D */ bl func_8027C568
+/* 80241FCC 0023DC2C 48 03 A5 9D */ bl PSMTXScaleApply
/* 80241FD0 0023DC30 C0 22 9E 74 */ lfs f1, lbl_80642474-_SDA2_BASE_(r2)
/* 80241FD4 0023DC34 38 61 00 C8 */ addi r3, r1, 0xc8
/* 80241FD8 0023DC38 C0 42 9E 70 */ lfs f2, lbl_80642470-_SDA2_BASE_(r2)
@@ -36168,7 +36168,7 @@ lbl_80241D1C:
/* 80241FE4 0023DC44 D0 21 00 08 */ stfs f1, 8(r1)
/* 80241FE8 0023DC48 D0 41 00 0C */ stfs f2, 0xc(r1)
/* 80241FEC 0023DC4C D0 61 00 10 */ stfs f3, 0x10(r1)
-/* 80241FF0 0023DC50 48 03 A5 05 */ bl func_8027C4F4
+/* 80241FF0 0023DC50 48 03 A5 05 */ bl PSMTXTransApply
/* 80241FF4 0023DC54 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13)
/* 80241FF8 0023DC58 38 81 00 C8 */ addi r4, r1, 0xc8
/* 80241FFC 0023DC5C 80 63 16 E8 */ lwz r3, 0x16e8(r3)
@@ -36655,10 +36655,10 @@ lbl_80242578:
/* 80242744 0023E3A4 C0 3D 00 B4 */ lfs f1, 0xb4(r29)
/* 80242748 0023E3A8 38 61 00 48 */ addi r3, r1, 0x48
/* 8024274C 0023E3AC 38 84 36 20 */ addi r4, r4, lbl_80493620@l
-/* 80242750 0023E3B0 48 03 A9 D5 */ bl func_8027D124
+/* 80242750 0023E3B0 48 03 A9 D5 */ bl C_QUATRotAxisRad
/* 80242754 0023E3B4 38 61 00 68 */ addi r3, r1, 0x68
/* 80242758 0023E3B8 38 81 00 48 */ addi r4, r1, 0x48
-/* 8024275C 0023E3BC 48 03 9E 65 */ bl func_8027C5C0
+/* 8024275C 0023E3BC 48 03 9E 65 */ bl PSMTXQuat
/* 80242760 0023E3C0 38 81 00 C8 */ addi r4, r1, 0xc8
/* 80242764 0023E3C4 38 61 00 68 */ addi r3, r1, 0x68
/* 80242768 0023E3C8 7C 85 23 78 */ mr r5, r4
@@ -36671,10 +36671,10 @@ lbl_80242578:
/* 80242784 0023E3E4 D0 21 00 38 */ stfs f1, 0x38(r1)
/* 80242788 0023E3E8 D0 41 00 3C */ stfs f2, 0x3c(r1)
/* 8024278C 0023E3EC D0 61 00 40 */ stfs f3, 0x40(r1)
-/* 80242790 0023E3F0 48 03 9D 65 */ bl func_8027C4F4
+/* 80242790 0023E3F0 48 03 9D 65 */ bl PSMTXTransApply
/* 80242794 0023E3F4 38 61 00 C8 */ addi r3, r1, 0xc8
/* 80242798 0023E3F8 38 81 00 98 */ addi r4, r1, 0x98
-/* 8024279C 0023E3FC 48 03 97 BD */ bl func_8027BF58
+/* 8024279C 0023E3FC 48 03 97 BD */ bl PSMTXCopy
/* 802427A0 0023E400 C0 22 9E 6C */ lfs f1, lbl_8064246C-_SDA2_BASE_(r2)
/* 802427A4 0023E404 38 61 00 98 */ addi r3, r1, 0x98
/* 802427A8 0023E408 C0 42 9E 40 */ lfs f2, lbl_80642440-_SDA2_BASE_(r2)
@@ -36683,7 +36683,7 @@ lbl_80242578:
/* 802427B4 0023E414 D0 21 00 2C */ stfs f1, 0x2c(r1)
/* 802427B8 0023E418 D0 41 00 30 */ stfs f2, 0x30(r1)
/* 802427BC 0023E41C D0 61 00 34 */ stfs f3, 0x34(r1)
-/* 802427C0 0023E420 48 03 9D A9 */ bl func_8027C568
+/* 802427C0 0023E420 48 03 9D A9 */ bl PSMTXScaleApply
/* 802427C4 0023E424 C0 22 9E 40 */ lfs f1, lbl_80642440-_SDA2_BASE_(r2)
/* 802427C8 0023E428 38 61 00 98 */ addi r3, r1, 0x98
/* 802427CC 0023E42C C0 62 9E 38 */ lfs f3, lbl_80642438-_SDA2_BASE_(r2)
@@ -36692,7 +36692,7 @@ lbl_80242578:
/* 802427D8 0023E438 D0 21 00 20 */ stfs f1, 0x20(r1)
/* 802427DC 0023E43C D0 21 00 24 */ stfs f1, 0x24(r1)
/* 802427E0 0023E440 D0 61 00 28 */ stfs f3, 0x28(r1)
-/* 802427E4 0023E444 48 03 9D 11 */ bl func_8027C4F4
+/* 802427E4 0023E444 48 03 9D 11 */ bl PSMTXTransApply
/* 802427E8 0023E448 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13)
/* 802427EC 0023E44C 38 E1 00 98 */ addi r7, r1, 0x98
/* 802427F0 0023E450 38 80 00 00 */ li r4, 0
@@ -36709,7 +36709,7 @@ lbl_80242578:
/* 8024281C 0023E47C D0 21 00 14 */ stfs f1, 0x14(r1)
/* 80242820 0023E480 D0 21 00 18 */ stfs f1, 0x18(r1)
/* 80242824 0023E484 D0 61 00 1C */ stfs f3, 0x1c(r1)
-/* 80242828 0023E488 48 03 9D 41 */ bl func_8027C568
+/* 80242828 0023E488 48 03 9D 41 */ bl PSMTXScaleApply
/* 8024282C 0023E48C C0 22 9E 74 */ lfs f1, lbl_80642474-_SDA2_BASE_(r2)
/* 80242830 0023E490 38 61 00 C8 */ addi r3, r1, 0xc8
/* 80242834 0023E494 C0 42 9E 70 */ lfs f2, lbl_80642470-_SDA2_BASE_(r2)
@@ -36718,7 +36718,7 @@ lbl_80242578:
/* 80242840 0023E4A0 D0 21 00 08 */ stfs f1, 8(r1)
/* 80242844 0023E4A4 D0 41 00 0C */ stfs f2, 0xc(r1)
/* 80242848 0023E4A8 D0 61 00 10 */ stfs f3, 0x10(r1)
-/* 8024284C 0023E4AC 48 03 9C A9 */ bl func_8027C4F4
+/* 8024284C 0023E4AC 48 03 9C A9 */ bl PSMTXTransApply
/* 80242850 0023E4B0 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13)
/* 80242854 0023E4B4 38 81 00 C8 */ addi r4, r1, 0xc8
/* 80242858 0023E4B8 80 63 16 E8 */ lwz r3, 0x16e8(r3)
@@ -54445,7 +54445,7 @@ func_80251CC8:
/* 80251D10 0024D970 7C 79 1B 78 */ mr r25, r3
/* 80251D14 0024D974 38 61 00 C8 */ addi r3, r1, 0xc8
/* 80251D18 0024D978 3B 60 00 00 */ li r27, 0
-/* 80251D1C 0024D97C 48 02 A2 11 */ bl func_8027BF2C
+/* 80251D1C 0024D97C 48 02 A2 11 */ bl PSMTXIdentity
/* 80251D20 0024D980 C3 62 9F 34 */ lfs f27, lbl_80642534-_SDA2_BASE_(r2)
/* 80251D24 0024D984 3B 40 00 00 */ li r26, 0
/* 80251D28 0024D988 C3 42 9F 30 */ lfs f26, lbl_80642530-_SDA2_BASE_(r2)
@@ -54590,11 +54590,11 @@ lbl_80251F14:
/* 80251F14 0024DB74 80 19 00 08 */ lwz r0, 8(r25)
/* 80251F18 0024DB78 7C 60 E2 14 */ add r3, r0, r28
/* 80251F1C 0024DB7C 38 63 00 38 */ addi r3, r3, 0x38
-/* 80251F20 0024DB80 48 02 A0 0D */ bl func_8027BF2C
+/* 80251F20 0024DB80 48 02 A0 0D */ bl PSMTXIdentity
/* 80251F24 0024DB84 38 61 00 98 */ addi r3, r1, 0x98
-/* 80251F28 0024DB88 48 02 A0 05 */ bl func_8027BF2C
+/* 80251F28 0024DB88 48 02 A0 05 */ bl PSMTXIdentity
/* 80251F2C 0024DB8C 38 61 00 68 */ addi r3, r1, 0x68
-/* 80251F30 0024DB90 48 02 9F FD */ bl func_8027BF2C
+/* 80251F30 0024DB90 48 02 9F FD */ bl PSMTXIdentity
/* 80251F34 0024DB94 80 19 00 08 */ lwz r0, 8(r25)
/* 80251F38 0024DB98 38 61 00 98 */ addi r3, r1, 0x98
/* 80251F3C 0024DB9C C0 62 9F 24 */ lfs f3, lbl_80642524-_SDA2_BASE_(r2)
@@ -54602,13 +54602,13 @@ lbl_80251F14:
/* 80251F44 0024DBA4 7C A0 E2 14 */ add r5, r0, r28
/* 80251F48 0024DBA8 C0 45 00 30 */ lfs f2, 0x30(r5)
/* 80251F4C 0024DBAC C0 25 00 2C */ lfs f1, 0x2c(r5)
-/* 80251F50 0024DBB0 48 02 A6 19 */ bl func_8027C568
+/* 80251F50 0024DBB0 48 02 A6 19 */ bl PSMTXScaleApply
/* 80251F54 0024DBB4 80 19 00 08 */ lwz r0, 8(r25)
/* 80251F58 0024DBB8 38 61 00 08 */ addi r3, r1, 8
/* 80251F5C 0024DBBC 38 80 00 5A */ li r4, 0x5a
/* 80251F60 0024DBC0 7C A0 E2 14 */ add r5, r0, r28
/* 80251F64 0024DBC4 C0 25 00 34 */ lfs f1, 0x34(r5)
-/* 80251F68 0024DBC8 48 02 A3 01 */ bl func_8027C268
+/* 80251F68 0024DBC8 48 02 A3 01 */ bl PSMTXRotRad
/* 80251F6C 0024DBCC 38 81 00 68 */ addi r4, r1, 0x68
/* 80251F70 0024DBD0 38 61 00 08 */ addi r3, r1, 8
/* 80251F74 0024DBD4 7C 85 23 78 */ mr r5, r4
@@ -54626,10 +54626,10 @@ lbl_80251F14:
/* 80251FA4 0024DC04 38 64 00 38 */ addi r3, r4, 0x38
/* 80251FA8 0024DC08 C0 24 00 24 */ lfs f1, 0x24(r4)
/* 80251FAC 0024DC0C 7C 64 1B 78 */ mr r4, r3
-/* 80251FB0 0024DC10 48 02 A5 45 */ bl func_8027C4F4
+/* 80251FB0 0024DC10 48 02 A5 45 */ bl PSMTXTransApply
/* 80251FB4 0024DC14 38 61 00 C8 */ addi r3, r1, 0xc8
/* 80251FB8 0024DC18 38 81 00 38 */ addi r4, r1, 0x38
-/* 80251FBC 0024DC1C 48 02 9F 9D */ bl func_8027BF58
+/* 80251FBC 0024DC1C 48 02 9F 9D */ bl PSMTXCopy
/* 80251FC0 0024DC20 57 44 04 3E */ clrlwi r4, r26, 0x10
/* 80251FC4 0024DC24 80 79 00 08 */ lwz r3, 8(r25)
/* 80251FC8 0024DC28 1C 04 00 2C */ mulli r0, r4, 0x2c
@@ -54871,33 +54871,33 @@ lbl_80252300:
/* 8025231C 0024DF7C 41 80 FE E0 */ blt lbl_802521FC
lbl_80252320:
/* 80252320 0024DF80 38 61 02 38 */ addi r3, r1, 0x238
-/* 80252324 0024DF84 48 02 9C 09 */ bl func_8027BF2C
+/* 80252324 0024DF84 48 02 9C 09 */ bl PSMTXIdentity
/* 80252328 0024DF88 38 61 01 78 */ addi r3, r1, 0x178
-/* 8025232C 0024DF8C 48 02 9C 01 */ bl func_8027BF2C
+/* 8025232C 0024DF8C 48 02 9C 01 */ bl PSMTXIdentity
/* 80252330 0024DF90 A0 7C 00 94 */ lhz r3, 0x94(r28)
/* 80252334 0024DF94 54 60 07 FF */ clrlwi. r0, r3, 0x1f
/* 80252338 0024DF98 41 82 00 94 */ beq lbl_802523CC
/* 8025233C 0024DF9C 54 60 06 F7 */ rlwinm. r0, r3, 0, 0x1b, 0x1b
/* 80252340 0024DFA0 41 82 00 74 */ beq lbl_802523B4
/* 80252344 0024DFA4 38 61 02 C8 */ addi r3, r1, 0x2c8
-/* 80252348 0024DFA8 48 02 9B E5 */ bl func_8027BF2C
+/* 80252348 0024DFA8 48 02 9B E5 */ bl PSMTXIdentity
/* 8025234C 0024DFAC 38 61 02 98 */ addi r3, r1, 0x298
-/* 80252350 0024DFB0 48 02 9B DD */ bl func_8027BF2C
+/* 80252350 0024DFB0 48 02 9B DD */ bl PSMTXIdentity
/* 80252354 0024DFB4 38 61 02 98 */ addi r3, r1, 0x298
/* 80252358 0024DFB8 C0 5C 00 18 */ lfs f2, 0x18(r28)
/* 8025235C 0024DFBC C0 3C 00 14 */ lfs f1, 0x14(r28)
/* 80252360 0024DFC0 7C 64 1B 78 */ mr r4, r3
/* 80252364 0024DFC4 C0 62 9F 20 */ lfs f3, lbl_80642520-_SDA2_BASE_(r2)
-/* 80252368 0024DFC8 48 02 A1 8D */ bl func_8027C4F4
+/* 80252368 0024DFC8 48 02 A1 8D */ bl PSMTXTransApply
/* 8025236C 0024DFCC 38 61 02 98 */ addi r3, r1, 0x298
/* 80252370 0024DFD0 38 81 02 68 */ addi r4, r1, 0x268
-/* 80252374 0024DFD4 48 02 9D 35 */ bl func_8027C0A8
+/* 80252374 0024DFD4 48 02 9D 35 */ bl PSMTXInverse
/* 80252378 0024DFD8 38 61 02 C8 */ addi r3, r1, 0x2c8
/* 8025237C 0024DFDC C0 5C 00 30 */ lfs f2, 0x30(r28)
/* 80252380 0024DFE0 C0 3C 00 2C */ lfs f1, 0x2c(r28)
/* 80252384 0024DFE4 7C 64 1B 78 */ mr r4, r3
/* 80252388 0024DFE8 C0 62 9F 24 */ lfs f3, lbl_80642524-_SDA2_BASE_(r2)
-/* 8025238C 0024DFEC 48 02 A1 DD */ bl func_8027C568
+/* 8025238C 0024DFEC 48 02 A1 DD */ bl PSMTXScaleApply
/* 80252390 0024DFF0 38 61 02 68 */ addi r3, r1, 0x268
/* 80252394 0024DFF4 38 81 02 C8 */ addi r4, r1, 0x2c8
/* 80252398 0024DFF8 38 A1 02 F8 */ addi r5, r1, 0x2f8
@@ -54913,7 +54913,7 @@ lbl_802523B4:
/* 802523BC 0024E01C C0 3C 00 2C */ lfs f1, 0x2c(r28)
/* 802523C0 0024E020 7C 64 1B 78 */ mr r4, r3
/* 802523C4 0024E024 C0 62 9F 24 */ lfs f3, lbl_80642524-_SDA2_BASE_(r2)
-/* 802523C8 0024E028 48 02 A1 A1 */ bl func_8027C568
+/* 802523C8 0024E028 48 02 A1 A1 */ bl PSMTXScaleApply
lbl_802523CC:
/* 802523CC 0024E02C A0 7C 00 94 */ lhz r3, 0x94(r28)
/* 802523D0 0024E030 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e
@@ -54921,22 +54921,22 @@ lbl_802523CC:
/* 802523D8 0024E038 54 60 06 B5 */ rlwinm. r0, r3, 0, 0x1a, 0x1a
/* 802523DC 0024E03C 41 82 00 7C */ beq lbl_80252458
/* 802523E0 0024E040 38 61 02 08 */ addi r3, r1, 0x208
-/* 802523E4 0024E044 48 02 9B 49 */ bl func_8027BF2C
+/* 802523E4 0024E044 48 02 9B 49 */ bl PSMTXIdentity
/* 802523E8 0024E048 38 61 01 D8 */ addi r3, r1, 0x1d8
-/* 802523EC 0024E04C 48 02 9B 41 */ bl func_8027BF2C
+/* 802523EC 0024E04C 48 02 9B 41 */ bl PSMTXIdentity
/* 802523F0 0024E050 38 61 01 D8 */ addi r3, r1, 0x1d8
/* 802523F4 0024E054 C0 5C 00 18 */ lfs f2, 0x18(r28)
/* 802523F8 0024E058 C0 3C 00 14 */ lfs f1, 0x14(r28)
/* 802523FC 0024E05C 7C 64 1B 78 */ mr r4, r3
/* 80252400 0024E060 C0 62 9F 20 */ lfs f3, lbl_80642520-_SDA2_BASE_(r2)
-/* 80252404 0024E064 48 02 A0 F1 */ bl func_8027C4F4
+/* 80252404 0024E064 48 02 A0 F1 */ bl PSMTXTransApply
/* 80252408 0024E068 38 61 01 D8 */ addi r3, r1, 0x1d8
/* 8025240C 0024E06C 38 81 01 A8 */ addi r4, r1, 0x1a8
-/* 80252410 0024E070 48 02 9C 99 */ bl func_8027C0A8
+/* 80252410 0024E070 48 02 9C 99 */ bl PSMTXInverse
/* 80252414 0024E074 C0 3C 00 28 */ lfs f1, 0x28(r28)
/* 80252418 0024E078 38 61 00 E8 */ addi r3, r1, 0xe8
/* 8025241C 0024E07C 38 80 00 5A */ li r4, 0x5a
-/* 80252420 0024E080 48 02 9E 49 */ bl func_8027C268
+/* 80252420 0024E080 48 02 9E 49 */ bl PSMTXRotRad
/* 80252424 0024E084 38 81 02 08 */ addi r4, r1, 0x208
/* 80252428 0024E088 38 61 00 E8 */ addi r3, r1, 0xe8
/* 8025242C 0024E08C 7C 85 23 78 */ mr r5, r4
@@ -54954,7 +54954,7 @@ lbl_80252458:
/* 80252458 0024E0B8 C0 3C 00 28 */ lfs f1, 0x28(r28)
/* 8025245C 0024E0BC 38 61 00 B8 */ addi r3, r1, 0xb8
/* 80252460 0024E0C0 38 80 00 5A */ li r4, 0x5a
-/* 80252464 0024E0C4 48 02 9E 05 */ bl func_8027C268
+/* 80252464 0024E0C4 48 02 9E 05 */ bl PSMTXRotRad
/* 80252468 0024E0C8 38 81 01 78 */ addi r4, r1, 0x178
/* 8025246C 0024E0CC 38 61 00 B8 */ addi r3, r1, 0xb8
/* 80252470 0024E0D0 7C 85 23 78 */ mr r5, r4
@@ -54972,7 +54972,7 @@ lbl_80252478:
/* 8025249C 0024E0FC C0 21 00 68 */ lfs f1, 0x68(r1)
/* 802524A0 0024E100 7C 64 1B 78 */ mr r4, r3
/* 802524A4 0024E104 C0 62 9F 20 */ lfs f3, lbl_80642520-_SDA2_BASE_(r2)
-/* 802524A8 0024E108 48 02 A0 4D */ bl func_8027C4F4
+/* 802524A8 0024E108 48 02 A0 4D */ bl PSMTXTransApply
lbl_802524AC:
/* 802524AC 0024E10C A0 1C 00 94 */ lhz r0, 0x94(r28)
/* 802524B0 0024E110 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
@@ -55253,13 +55253,13 @@ lbl_80252884:
/* 802528A0 0024E500 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19
/* 802528A4 0024E504 41 82 00 CC */ beq lbl_80252970
/* 802528A8 0024E508 38 61 01 48 */ addi r3, r1, 0x148
-/* 802528AC 0024E50C 48 02 A4 D9 */ bl func_8027CD84
+/* 802528AC 0024E50C 48 02 A4 D9 */ bl PSVECMag
/* 802528B0 0024E510 D0 21 00 5C */ stfs f1, 0x5c(r1)
/* 802528B4 0024E514 38 61 01 58 */ addi r3, r1, 0x158
-/* 802528B8 0024E518 48 02 A4 CD */ bl func_8027CD84
+/* 802528B8 0024E518 48 02 A4 CD */ bl PSVECMag
/* 802528BC 0024E51C D0 21 00 60 */ stfs f1, 0x60(r1)
/* 802528C0 0024E520 38 61 01 68 */ addi r3, r1, 0x168
-/* 802528C4 0024E524 48 02 A4 C1 */ bl func_8027CD84
+/* 802528C4 0024E524 48 02 A4 C1 */ bl PSVECMag
/* 802528C8 0024E528 C0 61 00 78 */ lfs f3, 0x78(r1)
/* 802528CC 0024E52C C0 C1 00 5C */ lfs f6, 0x5c(r1)
/* 802528D0 0024E530 C0 41 00 80 */ lfs f2, 0x80(r1)
@@ -55419,7 +55419,7 @@ lbl_80252B14:
lbl_80252B2C:
/* 80252B2C 0024E78C 38 61 02 F8 */ addi r3, r1, 0x2f8
/* 80252B30 0024E790 38 81 01 18 */ addi r4, r1, 0x118
-/* 80252B34 0024E794 48 02 94 25 */ bl func_8027BF58
+/* 80252B34 0024E794 48 02 94 25 */ bl PSMTXCopy
/* 80252B38 0024E798 56 20 04 3E */ clrlwi r0, r17, 0x10
/* 80252B3C 0024E79C FC 20 E8 90 */ fmr f1, f29
/* 80252B40 0024E7A0 1C 00 00 A0 */ mulli r0, r0, 0xa0
@@ -55673,27 +55673,27 @@ lbl_80252EFC:
/* 80252F04 0024EB64 80 9E 00 18 */ lwz r4, 0x18(r30)
/* 80252F08 0024EB68 1C 00 00 98 */ mulli r0, r0, 0x98
/* 80252F0C 0024EB6C 7F A4 02 14 */ add r29, r4, r0
-/* 80252F10 0024EB70 48 02 90 1D */ bl func_8027BF2C
+/* 80252F10 0024EB70 48 02 90 1D */ bl PSMTXIdentity
/* 80252F14 0024EB74 A0 1F 00 0A */ lhz r0, 0xa(r31)
/* 80252F18 0024EB78 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 80252F1C 0024EB7C 41 82 00 78 */ beq lbl_80252F94
/* 80252F20 0024EB80 38 61 01 20 */ addi r3, r1, 0x120
-/* 80252F24 0024EB84 48 02 90 09 */ bl func_8027BF2C
+/* 80252F24 0024EB84 48 02 90 09 */ bl PSMTXIdentity
/* 80252F28 0024EB88 38 61 00 F0 */ addi r3, r1, 0xf0
-/* 80252F2C 0024EB8C 48 02 90 01 */ bl func_8027BF2C
+/* 80252F2C 0024EB8C 48 02 90 01 */ bl PSMTXIdentity
/* 80252F30 0024EB90 C0 22 9F 40 */ lfs f1, lbl_80642540-_SDA2_BASE_(r2)
/* 80252F34 0024EB94 38 61 00 F0 */ addi r3, r1, 0xf0
/* 80252F38 0024EB98 C0 62 9F 20 */ lfs f3, lbl_80642520-_SDA2_BASE_(r2)
/* 80252F3C 0024EB9C 7C 64 1B 78 */ mr r4, r3
/* 80252F40 0024EBA0 FC 40 08 90 */ fmr f2, f1
-/* 80252F44 0024EBA4 48 02 95 B1 */ bl func_8027C4F4
+/* 80252F44 0024EBA4 48 02 95 B1 */ bl PSMTXTransApply
/* 80252F48 0024EBA8 38 61 00 F0 */ addi r3, r1, 0xf0
/* 80252F4C 0024EBAC 38 81 00 C0 */ addi r4, r1, 0xc0
-/* 80252F50 0024EBB0 48 02 91 59 */ bl func_8027C0A8
+/* 80252F50 0024EBB0 48 02 91 59 */ bl PSMTXInverse
/* 80252F54 0024EBB4 C0 3F 00 14 */ lfs f1, 0x14(r31)
/* 80252F58 0024EBB8 38 61 00 30 */ addi r3, r1, 0x30
/* 80252F5C 0024EBBC 38 80 00 5A */ li r4, 0x5a
-/* 80252F60 0024EBC0 48 02 93 09 */ bl func_8027C268
+/* 80252F60 0024EBC0 48 02 93 09 */ bl PSMTXRotRad
/* 80252F64 0024EBC4 38 81 01 20 */ addi r4, r1, 0x120
/* 80252F68 0024EBC8 38 61 00 30 */ addi r3, r1, 0x30
/* 80252F6C 0024EBCC 7C 85 23 78 */ mr r5, r4
@@ -55711,13 +55711,13 @@ lbl_80252F94:
/* 80252F98 0024EBF8 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80252F9C 0024EBFC 41 82 00 34 */ beq lbl_80252FD0
/* 80252FA0 0024EC00 38 61 00 60 */ addi r3, r1, 0x60
-/* 80252FA4 0024EC04 48 02 8F 89 */ bl func_8027BF2C
+/* 80252FA4 0024EC04 48 02 8F 89 */ bl PSMTXIdentity
/* 80252FA8 0024EC08 38 61 00 60 */ addi r3, r1, 0x60
/* 80252FAC 0024EC0C C0 5F 00 1C */ lfs f2, 0x1c(r31)
/* 80252FB0 0024EC10 C0 3F 00 18 */ lfs f1, 0x18(r31)
/* 80252FB4 0024EC14 7C 64 1B 78 */ mr r4, r3
/* 80252FB8 0024EC18 C0 62 9F 24 */ lfs f3, lbl_80642524-_SDA2_BASE_(r2)
-/* 80252FBC 0024EC1C 48 02 95 AD */ bl func_8027C568
+/* 80252FBC 0024EC1C 48 02 95 AD */ bl PSMTXScaleApply
/* 80252FC0 0024EC20 38 81 01 50 */ addi r4, r1, 0x150
/* 80252FC4 0024EC24 38 61 00 60 */ addi r3, r1, 0x60
/* 80252FC8 0024EC28 7C 85 23 78 */ mr r5, r4
@@ -55731,7 +55731,7 @@ lbl_80252FD0:
/* 80252FE4 0024EC44 C0 3F 00 0C */ lfs f1, 0xc(r31)
/* 80252FE8 0024EC48 7C 64 1B 78 */ mr r4, r3
/* 80252FEC 0024EC4C C0 62 9F 20 */ lfs f3, lbl_80642520-_SDA2_BASE_(r2)
-/* 80252FF0 0024EC50 48 02 95 05 */ bl func_8027C4F4
+/* 80252FF0 0024EC50 48 02 95 05 */ bl PSMTXTransApply
lbl_80252FF4:
/* 80252FF4 0024EC54 C1 61 01 50 */ lfs f11, 0x150(r1)
/* 80252FF8 0024EC58 C1 21 01 54 */ lfs f9, 0x154(r1)
@@ -58846,12 +58846,12 @@ func_80255A00:
/* 80255A70 002516D0 D0 21 00 08 */ stfs f1, 8(r1)
/* 80255A74 002516D4 7C 65 1B 78 */ mr r5, r3
/* 80255A78 002516D8 D0 01 00 0C */ stfs f0, 0xc(r1)
-/* 80255A7C 002516DC 48 02 72 49 */ bl func_8027CCC4
+/* 80255A7C 002516DC 48 02 72 49 */ bl PSVECAdd
/* 80255A80 002516E0 7F E4 FB 78 */ mr r4, r31
/* 80255A84 002516E4 38 61 00 50 */ addi r3, r1, 0x50
/* 80255A88 002516E8 38 A1 00 14 */ addi r5, r1, 0x14
/* 80255A8C 002516EC 38 C1 00 08 */ addi r6, r1, 8
-/* 80255A90 002516F0 48 02 6B D5 */ bl func_8027C664
+/* 80255A90 002516F0 48 02 6B D5 */ bl C_MTXLookAt
/* 80255A94 002516F4 38 61 00 20 */ addi r3, r1, 0x20
/* 80255A98 002516F8 38 81 00 50 */ addi r4, r1, 0x50
/* 80255A9C 002516FC 38 A0 00 30 */ li r5, 0x30
diff --git a/asm/text_8.s b/asm/text_8.s
index 5c31ed6..0ab0816 100644
--- a/asm/text_8.s
+++ b/asm/text_8.s
@@ -2,1620 +2,6 @@
.section .text, "ax" # 0x80006980 - 0x803E1E60
-.global func_8027BF2C
-func_8027BF2C:
-/* 8027BF2C 00277B8C C0 02 A0 74 */ lfs f0, lbl_80642674-_SDA2_BASE_(r2)
-/* 8027BF30 00277B90 C0 22 A0 70 */ lfs f1, lbl_80642670-_SDA2_BASE_(r2)
-/* 8027BF34 00277B94 F0 03 00 08 */ psq_st f0, 8(r3), 0, qr0
-/* 8027BF38 00277B98 10 41 04 A0 */ ps_merge10 f2, f1, f0
-/* 8027BF3C 00277B9C 10 20 0C 60 */ ps_merge01 f1, f0, f1
-/* 8027BF40 00277BA0 F0 03 00 18 */ psq_st f0, 24(r3), 0, qr0
-/* 8027BF44 00277BA4 F0 03 00 20 */ psq_st f0, 32(r3), 0, qr0
-/* 8027BF48 00277BA8 F0 23 00 10 */ psq_st f1, 16(r3), 0, qr0
-/* 8027BF4C 00277BAC F0 43 00 00 */ psq_st f2, 0(r3), 0, qr0
-/* 8027BF50 00277BB0 F0 43 00 28 */ psq_st f2, 40(r3), 0, qr0
-/* 8027BF54 00277BB4 4E 80 00 20 */ blr
-
-.global func_8027BF58
-func_8027BF58:
-/* 8027BF58 00277BB8 E0 03 00 00 */ psq_l f0, 0(r3), 0, qr0
-/* 8027BF5C 00277BBC F0 04 00 00 */ psq_st f0, 0(r4), 0, qr0
-/* 8027BF60 00277BC0 E0 23 00 08 */ psq_l f1, 8(r3), 0, qr0
-/* 8027BF64 00277BC4 F0 24 00 08 */ psq_st f1, 8(r4), 0, qr0
-/* 8027BF68 00277BC8 E0 43 00 10 */ psq_l f2, 16(r3), 0, qr0
-/* 8027BF6C 00277BCC F0 44 00 10 */ psq_st f2, 16(r4), 0, qr0
-/* 8027BF70 00277BD0 E0 63 00 18 */ psq_l f3, 24(r3), 0, qr0
-/* 8027BF74 00277BD4 F0 64 00 18 */ psq_st f3, 24(r4), 0, qr0
-/* 8027BF78 00277BD8 E0 83 00 20 */ psq_l f4, 32(r3), 0, qr0
-/* 8027BF7C 00277BDC F0 84 00 20 */ psq_st f4, 32(r4), 0, qr0
-/* 8027BF80 00277BE0 E0 A3 00 28 */ psq_l f5, 40(r3), 0, qr0
-/* 8027BF84 00277BE4 F0 A4 00 28 */ psq_st f5, 40(r4), 0, qr0
-/* 8027BF88 00277BE8 4E 80 00 20 */ blr
-
-.global PSMTXConcat
-PSMTXConcat:
-/* 8027BF8C 00277BEC 94 21 FF C0 */ stwu r1, -0x40(r1)
-/* 8027BF90 00277BF0 E0 03 00 00 */ psq_l f0, 0(r3), 0, qr0
-/* 8027BF94 00277BF4 D9 C1 00 08 */ stfd f14, 8(r1)
-/* 8027BF98 00277BF8 E0 C4 00 00 */ psq_l f6, 0(r4), 0, qr0
-/* 8027BF9C 00277BFC 3C C0 80 64 */ lis r6, lbl_8063DB08@ha
-/* 8027BFA0 00277C00 E0 E4 00 08 */ psq_l f7, 8(r4), 0, qr0
-/* 8027BFA4 00277C04 D9 E1 00 10 */ stfd f15, 0x10(r1)
-/* 8027BFA8 00277C08 38 C6 DB 08 */ addi r6, r6, lbl_8063DB08@l
-/* 8027BFAC 00277C0C DB E1 00 28 */ stfd f31, 0x28(r1)
-/* 8027BFB0 00277C10 E1 04 00 10 */ psq_l f8, 16(r4), 0, qr0
-/* 8027BFB4 00277C14 11 86 00 18 */ ps_muls0 f12, f6, f0
-/* 8027BFB8 00277C18 E0 43 00 10 */ psq_l f2, 16(r3), 0, qr0
-/* 8027BFBC 00277C1C 11 A7 00 18 */ ps_muls0 f13, f7, f0
-/* 8027BFC0 00277C20 E3 E6 00 00 */ psq_l f31, 0(r6), 0, qr0
-/* 8027BFC4 00277C24 11 C6 00 98 */ ps_muls0 f14, f6, f2
-/* 8027BFC8 00277C28 E1 24 00 18 */ psq_l f9, 24(r4), 0, qr0
-/* 8027BFCC 00277C2C 11 E7 00 98 */ ps_muls0 f15, f7, f2
-/* 8027BFD0 00277C30 E0 23 00 08 */ psq_l f1, 8(r3), 0, qr0
-/* 8027BFD4 00277C34 11 88 60 1E */ ps_madds1 f12, f8, f0, f12
-/* 8027BFD8 00277C38 E0 63 00 18 */ psq_l f3, 24(r3), 0, qr0
-/* 8027BFDC 00277C3C 11 C8 70 9E */ ps_madds1 f14, f8, f2, f14
-/* 8027BFE0 00277C40 E1 44 00 20 */ psq_l f10, 32(r4), 0, qr0
-/* 8027BFE4 00277C44 11 A9 68 1E */ ps_madds1 f13, f9, f0, f13
-/* 8027BFE8 00277C48 E1 64 00 28 */ psq_l f11, 40(r4), 0, qr0
-/* 8027BFEC 00277C4C 11 E9 78 9E */ ps_madds1 f15, f9, f2, f15
-/* 8027BFF0 00277C50 E0 83 00 20 */ psq_l f4, 32(r3), 0, qr0
-/* 8027BFF4 00277C54 E0 A3 00 28 */ psq_l f5, 40(r3), 0, qr0
-/* 8027BFF8 00277C58 11 8A 60 5C */ ps_madds0 f12, f10, f1, f12
-/* 8027BFFC 00277C5C 11 AB 68 5C */ ps_madds0 f13, f11, f1, f13
-/* 8027C000 00277C60 11 CA 70 DC */ ps_madds0 f14, f10, f3, f14
-/* 8027C004 00277C64 11 EB 78 DC */ ps_madds0 f15, f11, f3, f15
-/* 8027C008 00277C68 F1 85 00 00 */ psq_st f12, 0(r5), 0, qr0
-/* 8027C00C 00277C6C 10 46 01 18 */ ps_muls0 f2, f6, f4
-/* 8027C010 00277C70 11 BF 68 5E */ ps_madds1 f13, f31, f1, f13
-/* 8027C014 00277C74 10 07 01 18 */ ps_muls0 f0, f7, f4
-/* 8027C018 00277C78 F1 C5 00 10 */ psq_st f14, 16(r5), 0, qr0
-/* 8027C01C 00277C7C 11 FF 78 DE */ ps_madds1 f15, f31, f3, f15
-/* 8027C020 00277C80 F1 A5 00 08 */ psq_st f13, 8(r5), 0, qr0
-/* 8027C024 00277C84 10 48 11 1E */ ps_madds1 f2, f8, f4, f2
-/* 8027C028 00277C88 10 09 01 1E */ ps_madds1 f0, f9, f4, f0
-/* 8027C02C 00277C8C 10 4A 11 5C */ ps_madds0 f2, f10, f5, f2
-/* 8027C030 00277C90 C9 C1 00 08 */ lfd f14, 8(r1)
-/* 8027C034 00277C94 F1 E5 00 18 */ psq_st f15, 24(r5), 0, qr0
-/* 8027C038 00277C98 10 0B 01 5C */ ps_madds0 f0, f11, f5, f0
-/* 8027C03C 00277C9C F0 45 00 20 */ psq_st f2, 32(r5), 0, qr0
-/* 8027C040 00277CA0 10 1F 01 5E */ ps_madds1 f0, f31, f5, f0
-/* 8027C044 00277CA4 C9 E1 00 10 */ lfd f15, 0x10(r1)
-/* 8027C048 00277CA8 F0 05 00 28 */ psq_st f0, 40(r5), 0, qr0
-/* 8027C04C 00277CAC CB E1 00 28 */ lfd f31, 0x28(r1)
-/* 8027C050 00277CB0 38 21 00 40 */ addi r1, r1, 0x40
-/* 8027C054 00277CB4 4E 80 00 20 */ blr
-
-.global func_8027C058
-func_8027C058:
-/* 8027C058 00277CB8 E0 23 00 00 */ psq_l f1, 0(r3), 0, qr0
-/* 8027C05C 00277CBC E0 43 00 10 */ psq_l f2, 16(r3), 0, qr0
-/* 8027C060 00277CC0 C0 02 A0 74 */ lfs f0, lbl_80642674-_SDA2_BASE_(r2)
-/* 8027C064 00277CC4 10 81 14 20 */ ps_merge00 f4, f1, f2
-/* 8027C068 00277CC8 E0 63 80 08 */ psq_l f3, 8(r3), 1, qr0
-/* 8027C06C 00277CCC 10 A1 14 E0 */ ps_merge11 f5, f1, f2
-/* 8027C070 00277CD0 E0 43 80 18 */ psq_l f2, 24(r3), 1, qr0
-/* 8027C074 00277CD4 E0 23 00 20 */ psq_l f1, 32(r3), 0, qr0
-/* 8027C078 00277CD8 10 43 14 20 */ ps_merge00 f2, f3, f2
-/* 8027C07C 00277CDC F0 84 00 00 */ psq_st f4, 0(r4), 0, qr0
-/* 8027C080 00277CE0 10 81 04 20 */ ps_merge00 f4, f1, f0
-/* 8027C084 00277CE4 C0 63 00 28 */ lfs f3, 0x28(r3)
-/* 8027C088 00277CE8 F0 A4 00 10 */ psq_st f5, 16(r4), 0, qr0
-/* 8027C08C 00277CEC 10 A1 04 A0 */ ps_merge10 f5, f1, f0
-/* 8027C090 00277CF0 D0 04 00 2C */ stfs f0, 0x2c(r4)
-/* 8027C094 00277CF4 F0 44 00 20 */ psq_st f2, 32(r4), 0, qr0
-/* 8027C098 00277CF8 F0 84 00 08 */ psq_st f4, 8(r4), 0, qr0
-/* 8027C09C 00277CFC F0 A4 00 18 */ psq_st f5, 24(r4), 0, qr0
-/* 8027C0A0 00277D00 D0 64 00 28 */ stfs f3, 0x28(r4)
-/* 8027C0A4 00277D04 4E 80 00 20 */ blr
-
-.global func_8027C0A8
-func_8027C0A8:
-/* 8027C0A8 00277D08 E0 03 80 00 */ psq_l f0, 0(r3), 1, qr0
-/* 8027C0AC 00277D0C E0 23 00 04 */ psq_l f1, 4(r3), 0, qr0
-/* 8027C0B0 00277D10 E0 43 80 10 */ psq_l f2, 16(r3), 1, qr0
-/* 8027C0B4 00277D14 10 C1 04 A0 */ ps_merge10 f6, f1, f0
-/* 8027C0B8 00277D18 E0 63 00 14 */ psq_l f3, 20(r3), 0, qr0
-/* 8027C0BC 00277D1C E0 83 80 20 */ psq_l f4, 32(r3), 1, qr0
-/* 8027C0C0 00277D20 10 E3 14 A0 */ ps_merge10 f7, f3, f2
-/* 8027C0C4 00277D24 E0 A3 00 24 */ psq_l f5, 36(r3), 0, qr0
-/* 8027C0C8 00277D28 11 63 01 B2 */ ps_mul f11, f3, f6
-/* 8027C0CC 00277D2C 11 A5 01 F2 */ ps_mul f13, f5, f7
-/* 8027C0D0 00277D30 11 05 24 A0 */ ps_merge10 f8, f5, f4
-/* 8027C0D4 00277D34 11 61 59 F8 */ ps_msub f11, f1, f7, f11
-/* 8027C0D8 00277D38 11 81 02 32 */ ps_mul f12, f1, f8
-/* 8027C0DC 00277D3C 11 A3 6A 38 */ ps_msub f13, f3, f8, f13
-/* 8027C0E0 00277D40 11 43 01 32 */ ps_mul f10, f3, f4
-/* 8027C0E4 00277D44 11 85 61 B8 */ ps_msub f12, f5, f6, f12
-/* 8027C0E8 00277D48 11 20 01 72 */ ps_mul f9, f0, f5
-/* 8027C0EC 00277D4C 11 01 00 B2 */ ps_mul f8, f1, f2
-/* 8027C0F0 00277D50 10 C6 30 28 */ ps_sub f6, f6, f6
-/* 8027C0F4 00277D54 11 42 51 78 */ ps_msub f10, f2, f5, f10
-/* 8027C0F8 00277D58 10 E0 03 72 */ ps_mul f7, f0, f13
-/* 8027C0FC 00277D5C 11 21 49 38 */ ps_msub f9, f1, f4, f9
-/* 8027C100 00277D60 10 E2 3B 3A */ ps_madd f7, f2, f12, f7
-/* 8027C104 00277D64 11 00 40 F8 */ ps_msub f8, f0, f3, f8
-/* 8027C108 00277D68 10 E4 3A FA */ ps_madd f7, f4, f11, f7
-/* 8027C10C 00277D6C 10 07 30 40 */ ps_cmpo0 cr0, f7, f6
-/* 8027C110 00277D70 40 82 00 0C */ bne lbl_8027C11C
-/* 8027C114 00277D74 38 60 00 00 */ li r3, 0
-/* 8027C118 00277D78 4E 80 00 20 */ blr
-lbl_8027C11C:
-/* 8027C11C 00277D7C EC 00 38 30 */ fres f0, f7
-/* 8027C120 00277D80 10 C0 00 2A */ ps_add f6, f0, f0
-/* 8027C124 00277D84 10 A0 00 32 */ ps_mul f5, f0, f0
-/* 8027C128 00277D88 10 07 31 7C */ ps_nmsub f0, f7, f5, f6
-/* 8027C12C 00277D8C C0 23 00 0C */ lfs f1, 0xc(r3)
-/* 8027C130 00277D90 11 AD 00 18 */ ps_muls0 f13, f13, f0
-/* 8027C134 00277D94 C0 43 00 1C */ lfs f2, 0x1c(r3)
-/* 8027C138 00277D98 11 8C 00 18 */ ps_muls0 f12, f12, f0
-/* 8027C13C 00277D9C C0 63 00 2C */ lfs f3, 0x2c(r3)
-/* 8027C140 00277DA0 11 6B 00 18 */ ps_muls0 f11, f11, f0
-/* 8027C144 00277DA4 10 AD 64 20 */ ps_merge00 f5, f13, f12
-/* 8027C148 00277DA8 11 4A 00 18 */ ps_muls0 f10, f10, f0
-/* 8027C14C 00277DAC 10 8D 64 E0 */ ps_merge11 f4, f13, f12
-/* 8027C150 00277DB0 11 29 00 18 */ ps_muls0 f9, f9, f0
-/* 8027C154 00277DB4 F0 A4 00 00 */ psq_st f5, 0(r4), 0, qr0
-/* 8027C158 00277DB8 10 CD 00 72 */ ps_mul f6, f13, f1
-/* 8027C15C 00277DBC F0 84 00 10 */ psq_st f4, 16(r4), 0, qr0
-/* 8027C160 00277DC0 11 08 00 18 */ ps_muls0 f8, f8, f0
-/* 8027C164 00277DC4 10 CC 30 BA */ ps_madd f6, f12, f2, f6
-/* 8027C168 00277DC8 F1 44 80 20 */ psq_st f10, 32(r4), 1, qr0
-/* 8027C16C 00277DCC 10 CB 30 FE */ ps_nmadd f6, f11, f3, f6
-/* 8027C170 00277DD0 F1 24 80 24 */ psq_st f9, 36(r4), 1, qr0
-/* 8027C174 00277DD4 10 EA 00 72 */ ps_mul f7, f10, f1
-/* 8027C178 00277DD8 10 AB 34 20 */ ps_merge00 f5, f11, f6
-/* 8027C17C 00277DDC F1 04 80 28 */ psq_st f8, 40(r4), 1, qr0
-/* 8027C180 00277DE0 10 8B 34 E0 */ ps_merge11 f4, f11, f6
-/* 8027C184 00277DE4 F0 A4 00 08 */ psq_st f5, 8(r4), 0, qr0
-/* 8027C188 00277DE8 10 E9 38 BA */ ps_madd f7, f9, f2, f7
-/* 8027C18C 00277DEC F0 84 00 18 */ psq_st f4, 24(r4), 0, qr0
-/* 8027C190 00277DF0 10 E8 38 FE */ ps_nmadd f7, f8, f3, f7
-/* 8027C194 00277DF4 38 60 00 01 */ li r3, 1
-/* 8027C198 00277DF8 F0 E4 80 2C */ psq_st f7, 44(r4), 1, qr0
-/* 8027C19C 00277DFC 4E 80 00 20 */ blr
-
-.global PSMTXInvXpose
-PSMTXInvXpose:
-/* 8027C1A0 00277E00 E0 03 80 00 */ psq_l f0, 0(r3), 1, qr0
-/* 8027C1A4 00277E04 E0 23 00 04 */ psq_l f1, 4(r3), 0, qr0
-/* 8027C1A8 00277E08 E0 43 80 10 */ psq_l f2, 16(r3), 1, qr0
-/* 8027C1AC 00277E0C 10 C1 04 A0 */ ps_merge10 f6, f1, f0
-/* 8027C1B0 00277E10 E0 63 00 14 */ psq_l f3, 20(r3), 0, qr0
-/* 8027C1B4 00277E14 E0 83 80 20 */ psq_l f4, 32(r3), 1, qr0
-/* 8027C1B8 00277E18 10 E3 14 A0 */ ps_merge10 f7, f3, f2
-/* 8027C1BC 00277E1C E0 A3 00 24 */ psq_l f5, 36(r3), 0, qr0
-/* 8027C1C0 00277E20 11 63 01 B2 */ ps_mul f11, f3, f6
-/* 8027C1C4 00277E24 11 05 24 A0 */ ps_merge10 f8, f5, f4
-/* 8027C1C8 00277E28 11 A5 01 F2 */ ps_mul f13, f5, f7
-/* 8027C1CC 00277E2C 11 61 59 F8 */ ps_msub f11, f1, f7, f11
-/* 8027C1D0 00277E30 11 81 02 32 */ ps_mul f12, f1, f8
-/* 8027C1D4 00277E34 11 A3 6A 38 */ ps_msub f13, f3, f8, f13
-/* 8027C1D8 00277E38 11 85 61 B8 */ ps_msub f12, f5, f6, f12
-/* 8027C1DC 00277E3C 11 43 01 32 */ ps_mul f10, f3, f4
-/* 8027C1E0 00277E40 11 20 01 72 */ ps_mul f9, f0, f5
-/* 8027C1E4 00277E44 11 01 00 B2 */ ps_mul f8, f1, f2
-/* 8027C1E8 00277E48 11 42 51 78 */ ps_msub f10, f2, f5, f10
-/* 8027C1EC 00277E4C 11 21 49 38 */ ps_msub f9, f1, f4, f9
-/* 8027C1F0 00277E50 11 00 40 F8 */ ps_msub f8, f0, f3, f8
-/* 8027C1F4 00277E54 10 E0 03 72 */ ps_mul f7, f0, f13
-/* 8027C1F8 00277E58 10 21 08 28 */ ps_sub f1, f1, f1
-/* 8027C1FC 00277E5C 10 E2 3B 3A */ ps_madd f7, f2, f12, f7
-/* 8027C200 00277E60 10 E4 3A FA */ ps_madd f7, f4, f11, f7
-/* 8027C204 00277E64 10 07 08 40 */ ps_cmpo0 cr0, f7, f1
-/* 8027C208 00277E68 40 82 00 0C */ bne lbl_8027C214
-/* 8027C20C 00277E6C 38 60 00 00 */ li r3, 0
-/* 8027C210 00277E70 4E 80 00 20 */ blr
-lbl_8027C214:
-/* 8027C214 00277E74 EC 00 38 30 */ fres f0, f7
-/* 8027C218 00277E78 F0 24 80 0C */ psq_st f1, 12(r4), 1, qr0
-/* 8027C21C 00277E7C 10 C0 00 2A */ ps_add f6, f0, f0
-/* 8027C220 00277E80 10 A0 00 32 */ ps_mul f5, f0, f0
-/* 8027C224 00277E84 F0 24 80 1C */ psq_st f1, 28(r4), 1, qr0
-/* 8027C228 00277E88 10 07 31 7C */ ps_nmsub f0, f7, f5, f6
-/* 8027C22C 00277E8C F0 24 80 2C */ psq_st f1, 44(r4), 1, qr0
-/* 8027C230 00277E90 11 AD 00 18 */ ps_muls0 f13, f13, f0
-/* 8027C234 00277E94 11 8C 00 18 */ ps_muls0 f12, f12, f0
-/* 8027C238 00277E98 11 6B 00 18 */ ps_muls0 f11, f11, f0
-/* 8027C23C 00277E9C F1 A4 00 00 */ psq_st f13, 0(r4), 0, qr0
-/* 8027C240 00277EA0 F1 84 00 10 */ psq_st f12, 16(r4), 0, qr0
-/* 8027C244 00277EA4 11 4A 00 18 */ ps_muls0 f10, f10, f0
-/* 8027C248 00277EA8 11 29 00 18 */ ps_muls0 f9, f9, f0
-/* 8027C24C 00277EAC F1 64 00 20 */ psq_st f11, 32(r4), 0, qr0
-/* 8027C250 00277EB0 F1 44 80 08 */ psq_st f10, 8(r4), 1, qr0
-/* 8027C254 00277EB4 11 08 00 18 */ ps_muls0 f8, f8, f0
-/* 8027C258 00277EB8 38 60 00 01 */ li r3, 1
-/* 8027C25C 00277EBC F1 24 80 18 */ psq_st f9, 24(r4), 1, qr0
-/* 8027C260 00277EC0 F1 04 80 28 */ psq_st f8, 40(r4), 1, qr0
-/* 8027C264 00277EC4 4E 80 00 20 */ blr
-
-.global func_8027C268
-func_8027C268:
-/* 8027C268 00277EC8 94 21 FF D0 */ stwu r1, -0x30(r1)
-/* 8027C26C 00277ECC 7C 08 02 A6 */ mflr r0
-/* 8027C270 00277ED0 90 01 00 34 */ stw r0, 0x34(r1)
-/* 8027C274 00277ED4 DB E1 00 20 */ stfd f31, 0x20(r1)
-/* 8027C278 00277ED8 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
-/* 8027C27C 00277EDC DB C1 00 10 */ stfd f30, 0x10(r1)
-/* 8027C280 00277EE0 F3 C1 00 18 */ psq_st f30, 24(r1), 0, qr0
-/* 8027C284 00277EE4 FF C0 08 90 */ fmr f30, f1
-/* 8027C288 00277EE8 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 8027C28C 00277EEC 7C 9F 23 78 */ mr r31, r4
-/* 8027C290 00277EF0 93 C1 00 08 */ stw r30, 8(r1)
-/* 8027C294 00277EF4 7C 7E 1B 78 */ mr r30, r3
-/* 8027C298 00277EF8 4B F5 81 ED */ bl sin
-/* 8027C29C 00277EFC FF E0 08 18 */ frsp f31, f1
-/* 8027C2A0 00277F00 FC 20 F0 90 */ fmr f1, f30
-/* 8027C2A4 00277F04 4B F5 7D D5 */ bl cos
-/* 8027C2A8 00277F08 FC 40 08 18 */ frsp f2, f1
-/* 8027C2AC 00277F0C 7F C3 F3 78 */ mr r3, r30
-/* 8027C2B0 00277F10 FC 20 F8 90 */ fmr f1, f31
-/* 8027C2B4 00277F14 7F E4 07 74 */ extsb r4, r31
-/* 8027C2B8 00277F18 48 00 00 2D */ bl func_8027C2E4
-/* 8027C2BC 00277F1C E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
-/* 8027C2C0 00277F20 CB E1 00 20 */ lfd f31, 0x20(r1)
-/* 8027C2C4 00277F24 E3 C1 00 18 */ psq_l f30, 24(r1), 0, qr0
-/* 8027C2C8 00277F28 CB C1 00 10 */ lfd f30, 0x10(r1)
-/* 8027C2CC 00277F2C 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 8027C2D0 00277F30 80 01 00 34 */ lwz r0, 0x34(r1)
-/* 8027C2D4 00277F34 83 C1 00 08 */ lwz r30, 8(r1)
-/* 8027C2D8 00277F38 7C 08 03 A6 */ mtlr r0
-/* 8027C2DC 00277F3C 38 21 00 30 */ addi r1, r1, 0x30
-/* 8027C2E0 00277F40 4E 80 00 20 */ blr
-
-.global func_8027C2E4
-func_8027C2E4:
-/* 8027C2E4 00277F44 FC A0 08 18 */ frsp f5, f1
-/* 8027C2E8 00277F48 60 80 00 20 */ ori r0, r4, 0x20
-/* 8027C2EC 00277F4C FC 80 10 18 */ frsp f4, f2
-/* 8027C2F0 00277F50 28 00 00 78 */ cmplwi r0, 0x78
-/* 8027C2F4 00277F54 C0 02 A0 74 */ lfs f0, lbl_80642674-_SDA2_BASE_(r2)
-/* 8027C2F8 00277F58 10 40 28 50 */ ps_neg f2, f5
-/* 8027C2FC 00277F5C C0 22 A0 70 */ lfs f1, lbl_80642670-_SDA2_BASE_(r2)
-/* 8027C300 00277F60 41 82 00 18 */ beq lbl_8027C318
-/* 8027C304 00277F64 28 00 00 79 */ cmplwi r0, 0x79
-/* 8027C308 00277F68 41 82 00 38 */ beq lbl_8027C340
-/* 8027C30C 00277F6C 28 00 00 7A */ cmplwi r0, 0x7a
-/* 8027C310 00277F70 41 82 00 5C */ beq lbl_8027C36C
-/* 8027C314 00277F74 4E 80 00 20 */ blr
-lbl_8027C318:
-/* 8027C318 00277F78 10 65 24 20 */ ps_merge00 f3, f5, f4
-/* 8027C31C 00277F7C F0 23 80 00 */ psq_st f1, 0(r3), 1, qr0
-/* 8027C320 00277F80 10 24 14 20 */ ps_merge00 f1, f4, f2
-/* 8027C324 00277F84 F0 03 00 04 */ psq_st f0, 4(r3), 0, qr0
-/* 8027C328 00277F88 F0 03 00 0C */ psq_st f0, 12(r3), 0, qr0
-/* 8027C32C 00277F8C F0 03 00 1C */ psq_st f0, 28(r3), 0, qr0
-/* 8027C330 00277F90 F0 03 80 2C */ psq_st f0, 44(r3), 1, qr0
-/* 8027C334 00277F94 F0 63 00 24 */ psq_st f3, 36(r3), 0, qr0
-/* 8027C338 00277F98 F0 23 00 14 */ psq_st f1, 20(r3), 0, qr0
-/* 8027C33C 00277F9C 4E 80 00 20 */ blr
-lbl_8027C340:
-/* 8027C340 00277FA0 10 64 04 20 */ ps_merge00 f3, f4, f0
-/* 8027C344 00277FA4 F0 03 00 18 */ psq_st f0, 24(r3), 0, qr0
-/* 8027C348 00277FA8 10 20 0C 20 */ ps_merge00 f1, f0, f1
-/* 8027C34C 00277FAC 10 42 04 20 */ ps_merge00 f2, f2, f0
-/* 8027C350 00277FB0 10 05 04 20 */ ps_merge00 f0, f5, f0
-/* 8027C354 00277FB4 F0 63 00 00 */ psq_st f3, 0(r3), 0, qr0
-/* 8027C358 00277FB8 F0 63 00 28 */ psq_st f3, 40(r3), 0, qr0
-/* 8027C35C 00277FBC F0 23 00 10 */ psq_st f1, 16(r3), 0, qr0
-/* 8027C360 00277FC0 F0 03 00 08 */ psq_st f0, 8(r3), 0, qr0
-/* 8027C364 00277FC4 F0 43 00 20 */ psq_st f2, 32(r3), 0, qr0
-/* 8027C368 00277FC8 4E 80 00 20 */ blr
-lbl_8027C36C:
-/* 8027C36C 00277FCC 10 65 24 20 */ ps_merge00 f3, f5, f4
-/* 8027C370 00277FD0 F0 03 00 08 */ psq_st f0, 8(r3), 0, qr0
-/* 8027C374 00277FD4 10 44 14 20 */ ps_merge00 f2, f4, f2
-/* 8027C378 00277FD8 10 21 04 20 */ ps_merge00 f1, f1, f0
-/* 8027C37C 00277FDC F0 03 00 18 */ psq_st f0, 24(r3), 0, qr0
-/* 8027C380 00277FE0 F0 03 00 20 */ psq_st f0, 32(r3), 0, qr0
-/* 8027C384 00277FE4 F0 63 00 10 */ psq_st f3, 16(r3), 0, qr0
-/* 8027C388 00277FE8 F0 43 00 00 */ psq_st f2, 0(r3), 0, qr0
-/* 8027C38C 00277FEC F0 23 00 28 */ psq_st f1, 40(r3), 0, qr0
-/* 8027C390 00277FF0 4E 80 00 20 */ blr
-
-.global func_8027C394
-func_8027C394:
-/* 8027C394 00277FF4 E0 64 00 00 */ psq_l f3, 0(r4), 0, qr0
-/* 8027C398 00277FF8 FD 60 10 18 */ frsp f11, f2
-/* 8027C39C 00277FFC C1 42 A0 78 */ lfs f10, lbl_80642678-_SDA2_BASE_(r2)
-/* 8027C3A0 00278000 FD 80 08 18 */ frsp f12, f1
-/* 8027C3A4 00278004 10 83 00 F2 */ ps_mul f4, f3, f3
-/* 8027C3A8 00278008 C0 44 00 08 */ lfs f2, 8(r4)
-/* 8027C3AC 0027800C ED 0A 50 2A */ fadds f8, f10, f10
-/* 8027C3B0 00278010 C1 22 A0 7C */ lfs f9, lbl_8064267C-_SDA2_BASE_(r2)
-/* 8027C3B4 00278014 EC 2A 50 28 */ fsubs f1, f10, f10
-/* 8027C3B8 00278018 10 A2 20 BA */ ps_madd f5, f2, f2, f4
-/* 8027C3BC 0027801C EC 08 58 28 */ fsubs f0, f8, f11
-/* 8027C3C0 00278020 11 6B 5C 20 */ ps_merge00 f11, f11, f11
-/* 8027C3C4 00278024 10 C5 20 94 */ ps_sum0 f6, f5, f2, f4
-/* 8027C3C8 00278028 FC E0 30 34 */ frsqrte f7, f6
-/* 8027C3CC 0027802C EC 87 01 F2 */ fmuls f4, f7, f7
-/* 8027C3D0 00278030 EC A7 02 B2 */ fmuls f5, f7, f10
-/* 8027C3D4 00278034 EC 84 49 BC */ fnmsubs f4, f4, f6, f9
-/* 8027C3D8 00278038 EC E4 01 72 */ fmuls f7, f4, f5
-/* 8027C3DC 0027803C 10 63 01 D8 */ ps_muls0 f3, f3, f7
-/* 8027C3E0 00278040 10 42 01 D8 */ ps_muls0 f2, f2, f7
-/* 8027C3E4 00278044 10 C3 00 18 */ ps_muls0 f6, f3, f0
-/* 8027C3E8 00278048 10 E2 00 18 */ ps_muls0 f7, f2, f0
-/* 8027C3EC 0027804C 11 43 03 18 */ ps_muls0 f10, f3, f12
-/* 8027C3F0 00278050 10 A6 00 DA */ ps_muls1 f5, f6, f3
-/* 8027C3F4 00278054 10 86 00 D8 */ ps_muls0 f4, f6, f3
-/* 8027C3F8 00278058 10 C6 00 98 */ ps_muls0 f6, f6, f2
-/* 8027C3FC 0027805C EC 02 2B 3C */ fnmsubs f0, f2, f12, f5
-/* 8027C400 00278060 10 60 50 50 */ ps_neg f3, f10
-/* 8027C404 00278064 ED 02 2B 3A */ fmadds f8, f2, f12, f5
-/* 8027C408 00278068 10 84 58 14 */ ps_sum0 f4, f4, f0, f11
-/* 8027C40C 0027806C 10 03 30 54 */ ps_sum0 f0, f3, f1, f6
-/* 8027C410 00278070 10 E7 00 98 */ ps_muls0 f7, f7, f2
-/* 8027C414 00278074 11 26 50 54 */ ps_sum0 f9, f6, f1, f10
-/* 8027C418 00278078 F0 83 00 00 */ psq_st f4, 0(r3), 0, qr0
-/* 8027C41C 0027807C 10 66 19 94 */ ps_sum0 f3, f6, f6, f3
-/* 8027C420 00278080 10 AB 2A 16 */ ps_sum1 f5, f11, f8, f5
-/* 8027C424 00278084 F0 03 00 18 */ psq_st f0, 24(r3), 0, qr0
-/* 8027C428 00278088 10 E7 58 54 */ ps_sum0 f7, f7, f1, f11
-/* 8027C42C 0027808C 10 CA 30 D6 */ ps_sum1 f6, f10, f3, f6
-/* 8027C430 00278090 F1 23 00 08 */ psq_st f9, 8(r3), 0, qr0
-/* 8027C434 00278094 F0 A3 00 10 */ psq_st f5, 16(r3), 0, qr0
-/* 8027C438 00278098 F0 C3 00 20 */ psq_st f6, 32(r3), 0, qr0
-/* 8027C43C 0027809C F0 E3 00 28 */ psq_st f7, 40(r3), 0, qr0
-/* 8027C440 002780A0 4E 80 00 20 */ blr
-
-.global func_8027C444
-func_8027C444:
-/* 8027C444 002780A4 94 21 FF D0 */ stwu r1, -0x30(r1)
-/* 8027C448 002780A8 7C 08 02 A6 */ mflr r0
-/* 8027C44C 002780AC 90 01 00 34 */ stw r0, 0x34(r1)
-/* 8027C450 002780B0 DB E1 00 20 */ stfd f31, 0x20(r1)
-/* 8027C454 002780B4 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
-/* 8027C458 002780B8 DB C1 00 10 */ stfd f30, 0x10(r1)
-/* 8027C45C 002780BC F3 C1 00 18 */ psq_st f30, 24(r1), 0, qr0
-/* 8027C460 002780C0 FF C0 08 90 */ fmr f30, f1
-/* 8027C464 002780C4 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 8027C468 002780C8 7C 9F 23 78 */ mr r31, r4
-/* 8027C46C 002780CC 93 C1 00 08 */ stw r30, 8(r1)
-/* 8027C470 002780D0 7C 7E 1B 78 */ mr r30, r3
-/* 8027C474 002780D4 4B F5 80 11 */ bl sin
-/* 8027C478 002780D8 FF E0 08 18 */ frsp f31, f1
-/* 8027C47C 002780DC FC 20 F0 90 */ fmr f1, f30
-/* 8027C480 002780E0 4B F5 7B F9 */ bl cos
-/* 8027C484 002780E4 FC 40 08 18 */ frsp f2, f1
-/* 8027C488 002780E8 7F C3 F3 78 */ mr r3, r30
-/* 8027C48C 002780EC FC 20 F8 90 */ fmr f1, f31
-/* 8027C490 002780F0 7F E4 FB 78 */ mr r4, r31
-/* 8027C494 002780F4 4B FF FF 01 */ bl func_8027C394
-/* 8027C498 002780F8 E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
-/* 8027C49C 002780FC CB E1 00 20 */ lfd f31, 0x20(r1)
-/* 8027C4A0 00278100 E3 C1 00 18 */ psq_l f30, 24(r1), 0, qr0
-/* 8027C4A4 00278104 CB C1 00 10 */ lfd f30, 0x10(r1)
-/* 8027C4A8 00278108 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 8027C4AC 0027810C 80 01 00 34 */ lwz r0, 0x34(r1)
-/* 8027C4B0 00278110 83 C1 00 08 */ lwz r30, 8(r1)
-/* 8027C4B4 00278114 7C 08 03 A6 */ mtlr r0
-/* 8027C4B8 00278118 38 21 00 30 */ addi r1, r1, 0x30
-/* 8027C4BC 0027811C 4E 80 00 20 */ blr
-
-.global PSMTXTrans
-PSMTXTrans:
-/* 8027C4C0 00278120 C0 02 A0 74 */ lfs f0, lbl_80642674-_SDA2_BASE_(r2)
-/* 8027C4C4 00278124 C0 82 A0 70 */ lfs f4, lbl_80642670-_SDA2_BASE_(r2)
-/* 8027C4C8 00278128 D0 23 00 0C */ stfs f1, 0xc(r3)
-/* 8027C4CC 0027812C D0 43 00 1C */ stfs f2, 0x1c(r3)
-/* 8027C4D0 00278130 F0 03 00 04 */ psq_st f0, 4(r3), 0, qr0
-/* 8027C4D4 00278134 F0 03 00 20 */ psq_st f0, 32(r3), 0, qr0
-/* 8027C4D8 00278138 D0 03 00 10 */ stfs f0, 0x10(r3)
-/* 8027C4DC 0027813C D0 83 00 14 */ stfs f4, 0x14(r3)
-/* 8027C4E0 00278140 D0 03 00 18 */ stfs f0, 0x18(r3)
-/* 8027C4E4 00278144 D0 83 00 28 */ stfs f4, 0x28(r3)
-/* 8027C4E8 00278148 D0 63 00 2C */ stfs f3, 0x2c(r3)
-/* 8027C4EC 0027814C D0 83 00 00 */ stfs f4, 0(r3)
-/* 8027C4F0 00278150 4E 80 00 20 */ blr
-
-.global func_8027C4F4
-func_8027C4F4:
-/* 8027C4F4 00278154 E0 83 00 00 */ psq_l f4, 0(r3), 0, qr0
-/* 8027C4F8 00278158 FC 20 08 18 */ frsp f1, f1
-/* 8027C4FC 0027815C E0 A3 00 08 */ psq_l f5, 8(r3), 0, qr0
-/* 8027C500 00278160 FC 40 10 18 */ frsp f2, f2
-/* 8027C504 00278164 E0 E3 00 18 */ psq_l f7, 24(r3), 0, qr0
-/* 8027C508 00278168 FC 60 18 18 */ frsp f3, f3
-/* 8027C50C 0027816C E1 03 00 28 */ psq_l f8, 40(r3), 0, qr0
-/* 8027C510 00278170 F0 84 00 00 */ psq_st f4, 0(r4), 0, qr0
-/* 8027C514 00278174 10 A1 29 56 */ ps_sum1 f5, f1, f5, f5
-/* 8027C518 00278178 E0 C3 00 10 */ psq_l f6, 16(r3), 0, qr0
-/* 8027C51C 0027817C F0 A4 00 08 */ psq_st f5, 8(r4), 0, qr0
-/* 8027C520 00278180 10 E2 39 D6 */ ps_sum1 f7, f2, f7, f7
-/* 8027C524 00278184 E1 23 00 20 */ psq_l f9, 32(r3), 0, qr0
-/* 8027C528 00278188 F0 C4 00 10 */ psq_st f6, 16(r4), 0, qr0
-/* 8027C52C 0027818C 11 03 42 16 */ ps_sum1 f8, f3, f8, f8
-/* 8027C530 00278190 F0 E4 00 18 */ psq_st f7, 24(r4), 0, qr0
-/* 8027C534 00278194 F1 24 00 20 */ psq_st f9, 32(r4), 0, qr0
-/* 8027C538 00278198 F1 04 00 28 */ psq_st f8, 40(r4), 0, qr0
-/* 8027C53C 0027819C 4E 80 00 20 */ blr
-
-.global PSMTXScale
-PSMTXScale:
-/* 8027C540 002781A0 C0 02 A0 74 */ lfs f0, lbl_80642674-_SDA2_BASE_(r2)
-/* 8027C544 002781A4 D0 23 00 00 */ stfs f1, 0(r3)
-/* 8027C548 002781A8 F0 03 00 04 */ psq_st f0, 4(r3), 0, qr0
-/* 8027C54C 002781AC F0 03 00 0C */ psq_st f0, 12(r3), 0, qr0
-/* 8027C550 002781B0 D0 43 00 14 */ stfs f2, 0x14(r3)
-/* 8027C554 002781B4 F0 03 00 18 */ psq_st f0, 24(r3), 0, qr0
-/* 8027C558 002781B8 F0 03 00 20 */ psq_st f0, 32(r3), 0, qr0
-/* 8027C55C 002781BC D0 63 00 28 */ stfs f3, 0x28(r3)
-/* 8027C560 002781C0 D0 03 00 2C */ stfs f0, 0x2c(r3)
-/* 8027C564 002781C4 4E 80 00 20 */ blr
-
-.global func_8027C568
-func_8027C568:
-/* 8027C568 002781C8 FC 20 08 18 */ frsp f1, f1
-/* 8027C56C 002781CC E0 83 00 00 */ psq_l f4, 0(r3), 0, qr0
-/* 8027C570 002781D0 FC 40 10 18 */ frsp f2, f2
-/* 8027C574 002781D4 E0 A3 00 08 */ psq_l f5, 8(r3), 0, qr0
-/* 8027C578 002781D8 FC 60 18 18 */ frsp f3, f3
-/* 8027C57C 002781DC 10 84 00 58 */ ps_muls0 f4, f4, f1
-/* 8027C580 002781E0 E0 C3 00 10 */ psq_l f6, 16(r3), 0, qr0
-/* 8027C584 002781E4 10 A5 00 58 */ ps_muls0 f5, f5, f1
-/* 8027C588 002781E8 E0 E3 00 18 */ psq_l f7, 24(r3), 0, qr0
-/* 8027C58C 002781EC 10 C6 00 98 */ ps_muls0 f6, f6, f2
-/* 8027C590 002781F0 E1 03 00 20 */ psq_l f8, 32(r3), 0, qr0
-/* 8027C594 002781F4 F0 84 00 00 */ psq_st f4, 0(r4), 0, qr0
-/* 8027C598 002781F8 10 E7 00 98 */ ps_muls0 f7, f7, f2
-/* 8027C59C 002781FC E0 43 00 28 */ psq_l f2, 40(r3), 0, qr0
-/* 8027C5A0 00278200 F0 A4 00 08 */ psq_st f5, 8(r4), 0, qr0
-/* 8027C5A4 00278204 11 08 00 D8 */ ps_muls0 f8, f8, f3
-/* 8027C5A8 00278208 F0 C4 00 10 */ psq_st f6, 16(r4), 0, qr0
-/* 8027C5AC 0027820C 10 42 00 D8 */ ps_muls0 f2, f2, f3
-/* 8027C5B0 00278210 F0 E4 00 18 */ psq_st f7, 24(r4), 0, qr0
-/* 8027C5B4 00278214 F1 04 00 20 */ psq_st f8, 32(r4), 0, qr0
-/* 8027C5B8 00278218 F0 44 00 28 */ psq_st f2, 40(r4), 0, qr0
-/* 8027C5BC 0027821C 4E 80 00 20 */ blr
-
-.global func_8027C5C0
-func_8027C5C0:
-/* 8027C5C0 00278220 E0 84 00 00 */ psq_l f4, 0(r4), 0, qr0
-/* 8027C5C4 00278224 E0 A4 00 08 */ psq_l f5, 8(r4), 0, qr0
-/* 8027C5C8 00278228 10 C4 01 32 */ ps_mul f6, f4, f4
-/* 8027C5CC 0027822C C0 22 A0 70 */ lfs f1, lbl_80642670-_SDA2_BASE_(r2)
-/* 8027C5D0 00278230 11 24 24 A0 */ ps_merge10 f9, f4, f4
-/* 8027C5D4 00278234 EC 01 08 28 */ fsubs f0, f1, f1
-/* 8027C5D8 00278238 11 05 31 7A */ ps_madd f8, f5, f5, f6
-/* 8027C5DC 0027823C 11 45 01 5A */ ps_muls1 f10, f5, f5
-/* 8027C5E0 00278240 EC 41 08 2A */ fadds f2, f1, f1
-/* 8027C5E4 00278244 F0 03 80 0C */ psq_st f0, 12(r3), 1, qr0
-/* 8027C5E8 00278248 10 68 42 14 */ ps_sum0 f3, f8, f8, f8
-/* 8027C5EC 0027824C 10 E5 01 72 */ ps_mul f7, f5, f5
-/* 8027C5F0 00278250 F0 03 80 2C */ psq_st f0, 44(r3), 1, qr0
-/* 8027C5F4 00278254 11 84 52 7A */ ps_madd f12, f4, f9, f10
-/* 8027C5F8 00278258 ED A0 18 30 */ fres f13, f3
-/* 8027C5FC 0027825C 10 63 13 7C */ ps_nmsub f3, f3, f13, f2
-/* 8027C600 00278260 11 69 01 5A */ ps_muls1 f11, f9, f5
-/* 8027C604 00278264 11 44 52 78 */ ps_msub f10, f4, f9, f10
-/* 8027C608 00278268 10 6D 00 F2 */ ps_mul f3, f13, f3
-/* 8027C60C 0027826C 11 24 59 5C */ ps_madds0 f9, f4, f5, f11
-/* 8027C610 00278270 11 07 32 16 */ ps_sum1 f8, f7, f8, f6
-/* 8027C614 00278274 EC 63 00 B2 */ fmuls f3, f3, f2
-/* 8027C618 00278278 11 6B 48 BC */ ps_nmsub f11, f11, f2, f9
-/* 8027C61C 0027827C 10 C6 31 94 */ ps_sum0 f6, f6, f6, f6
-/* 8027C620 00278280 11 29 00 F2 */ ps_mul f9, f9, f3
-/* 8027C624 00278284 11 6B 00 F2 */ ps_mul f11, f11, f3
-/* 8027C628 00278288 11 08 08 FC */ ps_nmsub f8, f8, f3, f1
-/* 8027C62C 0027828C 11 8C 00 F2 */ ps_mul f12, f12, f3
-/* 8027C630 00278290 F1 23 80 08 */ psq_st f9, 8(r3), 1, qr0
-/* 8027C634 00278294 11 4A 00 F2 */ ps_mul f10, f10, f3
-/* 8027C638 00278298 10 EB 04 A0 */ ps_merge10 f7, f11, f0
-/* 8027C63C 0027829C 10 AC 44 20 */ ps_merge00 f5, f12, f8
-/* 8027C640 002782A0 10 88 54 A0 */ ps_merge10 f4, f8, f10
-/* 8027C644 002782A4 11 AB 4C 60 */ ps_merge01 f13, f11, f9
-/* 8027C648 002782A8 F0 E3 00 18 */ psq_st f7, 24(r3), 0, qr0
-/* 8027C64C 002782AC 10 C6 08 FC */ ps_nmsub f6, f6, f3, f1
-/* 8027C650 002782B0 F0 A3 00 10 */ psq_st f5, 16(r3), 0, qr0
-/* 8027C654 002782B4 F0 C3 80 28 */ psq_st f6, 40(r3), 1, qr0
-/* 8027C658 002782B8 F0 83 00 00 */ psq_st f4, 0(r3), 0, qr0
-/* 8027C65C 002782BC F1 A3 00 20 */ psq_st f13, 32(r3), 0, qr0
-/* 8027C660 002782C0 4E 80 00 20 */ blr
-
-.global func_8027C664
-func_8027C664:
-/* 8027C664 002782C4 94 21 FF C0 */ stwu r1, -0x40(r1)
-/* 8027C668 002782C8 7C 08 02 A6 */ mflr r0
-/* 8027C66C 002782CC C0 24 00 00 */ lfs f1, 0(r4)
-/* 8027C670 002782D0 90 01 00 44 */ stw r0, 0x44(r1)
-/* 8027C674 002782D4 C0 06 00 00 */ lfs f0, 0(r6)
-/* 8027C678 002782D8 93 E1 00 3C */ stw r31, 0x3c(r1)
-/* 8027C67C 002782DC 7C BF 2B 78 */ mr r31, r5
-/* 8027C680 002782E0 EC 81 00 28 */ fsubs f4, f1, f0
-/* 8027C684 002782E4 C0 64 00 04 */ lfs f3, 4(r4)
-/* 8027C688 002782E8 93 C1 00 38 */ stw r30, 0x38(r1)
-/* 8027C68C 002782EC 7C 9E 23 78 */ mr r30, r4
-/* 8027C690 002782F0 C0 46 00 04 */ lfs f2, 4(r6)
-/* 8027C694 002782F4 93 A1 00 34 */ stw r29, 0x34(r1)
-/* 8027C698 002782F8 EC 43 10 28 */ fsubs f2, f3, f2
-/* 8027C69C 002782FC C0 24 00 08 */ lfs f1, 8(r4)
-/* 8027C6A0 00278300 C0 06 00 08 */ lfs f0, 8(r6)
-/* 8027C6A4 00278304 7C 7D 1B 78 */ mr r29, r3
-/* 8027C6A8 00278308 38 61 00 20 */ addi r3, r1, 0x20
-/* 8027C6AC 0027830C D0 81 00 20 */ stfs f4, 0x20(r1)
-/* 8027C6B0 00278310 EC 01 00 28 */ fsubs f0, f1, f0
-/* 8027C6B4 00278314 D0 41 00 24 */ stfs f2, 0x24(r1)
-/* 8027C6B8 00278318 7C 64 1B 78 */ mr r4, r3
-/* 8027C6BC 0027831C D0 01 00 28 */ stfs f0, 0x28(r1)
-/* 8027C6C0 00278320 48 00 06 69 */ bl func_8027CD28
-/* 8027C6C4 00278324 7F E3 FB 78 */ mr r3, r31
-/* 8027C6C8 00278328 38 81 00 20 */ addi r4, r1, 0x20
-/* 8027C6CC 0027832C 38 A1 00 14 */ addi r5, r1, 0x14
-/* 8027C6D0 00278330 48 00 07 19 */ bl func_8027CDE8
-/* 8027C6D4 00278334 38 61 00 14 */ addi r3, r1, 0x14
-/* 8027C6D8 00278338 7C 64 1B 78 */ mr r4, r3
-/* 8027C6DC 0027833C 48 00 06 4D */ bl func_8027CD28
-/* 8027C6E0 00278340 38 61 00 20 */ addi r3, r1, 0x20
-/* 8027C6E4 00278344 38 81 00 14 */ addi r4, r1, 0x14
-/* 8027C6E8 00278348 38 A1 00 08 */ addi r5, r1, 8
-/* 8027C6EC 0027834C 48 00 06 FD */ bl func_8027CDE8
-/* 8027C6F0 00278350 C0 01 00 14 */ lfs f0, 0x14(r1)
-/* 8027C6F4 00278354 C0 9E 00 00 */ lfs f4, 0(r30)
-/* 8027C6F8 00278358 D0 1D 00 00 */ stfs f0, 0(r29)
-/* 8027C6FC 0027835C C0 7E 00 04 */ lfs f3, 4(r30)
-/* 8027C700 00278360 C0 01 00 18 */ lfs f0, 0x18(r1)
-/* 8027C704 00278364 C0 BE 00 08 */ lfs f5, 8(r30)
-/* 8027C708 00278368 D0 1D 00 04 */ stfs f0, 4(r29)
-/* 8027C70C 0027836C C0 01 00 1C */ lfs f0, 0x1c(r1)
-/* 8027C710 00278370 D0 1D 00 08 */ stfs f0, 8(r29)
-/* 8027C714 00278374 C0 21 00 14 */ lfs f1, 0x14(r1)
-/* 8027C718 00278378 C0 01 00 18 */ lfs f0, 0x18(r1)
-/* 8027C71C 0027837C EC 24 00 72 */ fmuls f1, f4, f1
-/* 8027C720 00278380 C0 41 00 1C */ lfs f2, 0x1c(r1)
-/* 8027C724 00278384 EC 03 00 32 */ fmuls f0, f3, f0
-/* 8027C728 00278388 EC 45 00 B2 */ fmuls f2, f5, f2
-/* 8027C72C 0027838C EC 01 00 2A */ fadds f0, f1, f0
-/* 8027C730 00278390 EC 02 00 2A */ fadds f0, f2, f0
-/* 8027C734 00278394 FC 00 00 50 */ fneg f0, f0
-/* 8027C738 00278398 D0 1D 00 0C */ stfs f0, 0xc(r29)
-/* 8027C73C 0027839C C0 01 00 08 */ lfs f0, 8(r1)
-/* 8027C740 002783A0 D0 1D 00 10 */ stfs f0, 0x10(r29)
-/* 8027C744 002783A4 C0 01 00 0C */ lfs f0, 0xc(r1)
-/* 8027C748 002783A8 D0 1D 00 14 */ stfs f0, 0x14(r29)
-/* 8027C74C 002783AC C0 01 00 10 */ lfs f0, 0x10(r1)
-/* 8027C750 002783B0 D0 1D 00 18 */ stfs f0, 0x18(r29)
-/* 8027C754 002783B4 C0 21 00 08 */ lfs f1, 8(r1)
-/* 8027C758 002783B8 C0 01 00 0C */ lfs f0, 0xc(r1)
-/* 8027C75C 002783BC C0 41 00 10 */ lfs f2, 0x10(r1)
-/* 8027C760 002783C0 EC 24 00 72 */ fmuls f1, f4, f1
-/* 8027C764 002783C4 EC 03 00 32 */ fmuls f0, f3, f0
-/* 8027C768 002783C8 EC 45 00 B2 */ fmuls f2, f5, f2
-/* 8027C76C 002783CC EC 01 00 2A */ fadds f0, f1, f0
-/* 8027C770 002783D0 EC 02 00 2A */ fadds f0, f2, f0
-/* 8027C774 002783D4 FC 00 00 50 */ fneg f0, f0
-/* 8027C778 002783D8 D0 1D 00 1C */ stfs f0, 0x1c(r29)
-/* 8027C77C 002783DC C0 01 00 20 */ lfs f0, 0x20(r1)
-/* 8027C780 002783E0 D0 1D 00 20 */ stfs f0, 0x20(r29)
-/* 8027C784 002783E4 C0 01 00 24 */ lfs f0, 0x24(r1)
-/* 8027C788 002783E8 D0 1D 00 24 */ stfs f0, 0x24(r29)
-/* 8027C78C 002783EC C0 01 00 28 */ lfs f0, 0x28(r1)
-/* 8027C790 002783F0 D0 1D 00 28 */ stfs f0, 0x28(r29)
-/* 8027C794 002783F4 C0 21 00 20 */ lfs f1, 0x20(r1)
-/* 8027C798 002783F8 C0 01 00 24 */ lfs f0, 0x24(r1)
-/* 8027C79C 002783FC C0 41 00 28 */ lfs f2, 0x28(r1)
-/* 8027C7A0 00278400 EC 24 00 72 */ fmuls f1, f4, f1
-/* 8027C7A4 00278404 EC 03 00 32 */ fmuls f0, f3, f0
-/* 8027C7A8 00278408 EC 45 00 B2 */ fmuls f2, f5, f2
-/* 8027C7AC 0027840C EC 01 00 2A */ fadds f0, f1, f0
-/* 8027C7B0 00278410 EC 02 00 2A */ fadds f0, f2, f0
-/* 8027C7B4 00278414 FC 00 00 50 */ fneg f0, f0
-/* 8027C7B8 00278418 D0 1D 00 2C */ stfs f0, 0x2c(r29)
-/* 8027C7BC 0027841C 83 E1 00 3C */ lwz r31, 0x3c(r1)
-/* 8027C7C0 00278420 83 C1 00 38 */ lwz r30, 0x38(r1)
-/* 8027C7C4 00278424 83 A1 00 34 */ lwz r29, 0x34(r1)
-/* 8027C7C8 00278428 80 01 00 44 */ lwz r0, 0x44(r1)
-/* 8027C7CC 0027842C 7C 08 03 A6 */ mtlr r0
-/* 8027C7D0 00278430 38 21 00 40 */ addi r1, r1, 0x40
-/* 8027C7D4 00278434 4E 80 00 20 */ blr
-
-.global func_8027C7D8
-func_8027C7D8:
-/* 8027C7D8 00278438 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 8027C7DC 0027843C DB E1 00 10 */ stfd f31, 0x10(r1)
-/* 8027C7E0 00278440 F3 E1 00 18 */ psq_st f31, 24(r1), 0, qr0
-/* 8027C7E4 00278444 EC 04 18 28 */ fsubs f0, f4, f3
-/* 8027C7E8 00278448 C1 42 A0 74 */ lfs f10, lbl_80642674-_SDA2_BASE_(r2)
-/* 8027C7EC 0027844C C1 82 A0 70 */ lfs f12, lbl_80642670-_SDA2_BASE_(r2)
-/* 8027C7F0 00278450 ED 21 10 28 */ fsubs f9, f1, f2
-/* 8027C7F4 00278454 C1 62 A0 80 */ lfs f11, lbl_80642680-_SDA2_BASE_(r2)
-/* 8027C7F8 00278458 EC 64 18 2A */ fadds f3, f4, f3
-/* 8027C7FC 0027845C ED AC 00 24 */ fdivs f13, f12, f0
-/* 8027C800 00278460 C0 02 A0 84 */ lfs f0, lbl_80642684-_SDA2_BASE_(r2)
-/* 8027C804 00278464 C3 E1 00 28 */ lfs f31, 0x28(r1)
-/* 8027C808 00278468 D0 03 00 28 */ stfs f0, 0x28(r3)
-/* 8027C80C 0027846C D1 43 00 04 */ stfs f10, 4(r3)
-/* 8027C810 00278470 D1 43 00 0C */ stfs f10, 0xc(r3)
-/* 8027C814 00278474 EC 8B 01 72 */ fmuls f4, f11, f5
-/* 8027C818 00278478 D1 43 00 10 */ stfs f10, 0x10(r3)
-/* 8027C81C 0027847C EC 01 10 2A */ fadds f0, f1, f2
-/* 8027C820 00278480 EC 2D 00 F2 */ fmuls f1, f13, f3
-/* 8027C824 00278484 D1 43 00 1C */ stfs f10, 0x1c(r3)
-/* 8027C828 00278488 EC AC 48 24 */ fdivs f5, f12, f9
-/* 8027C82C 0027848C D1 43 00 20 */ stfs f10, 0x20(r3)
-/* 8027C830 00278490 D1 43 00 24 */ stfs f10, 0x24(r3)
-/* 8027C834 00278494 D1 43 00 2C */ stfs f10, 0x2c(r3)
-/* 8027C838 00278498 EC 46 00 72 */ fmuls f2, f6, f1
-/* 8027C83C 0027849C EC 05 00 32 */ fmuls f0, f5, f0
-/* 8027C840 002784A0 EC 64 03 72 */ fmuls f3, f4, f13
-/* 8027C844 002784A4 EC 24 01 72 */ fmuls f1, f4, f5
-/* 8027C848 002784A8 EC 07 00 32 */ fmuls f0, f7, f0
-/* 8027C84C 002784AC EC 66 00 F2 */ fmuls f3, f6, f3
-/* 8027C850 002784B0 EC 42 40 28 */ fsubs f2, f2, f8
-/* 8027C854 002784B4 EC 27 00 72 */ fmuls f1, f7, f1
-/* 8027C858 002784B8 EC 00 F8 28 */ fsubs f0, f0, f31
-/* 8027C85C 002784BC D0 63 00 00 */ stfs f3, 0(r3)
-/* 8027C860 002784C0 D0 43 00 08 */ stfs f2, 8(r3)
-/* 8027C864 002784C4 D0 23 00 14 */ stfs f1, 0x14(r3)
-/* 8027C868 002784C8 D0 03 00 18 */ stfs f0, 0x18(r3)
-/* 8027C86C 002784CC E3 E1 00 18 */ psq_l f31, 24(r1), 0, qr0
-/* 8027C870 002784D0 CB E1 00 10 */ lfd f31, 0x10(r1)
-/* 8027C874 002784D4 38 21 00 20 */ addi r1, r1, 0x20
-/* 8027C878 002784D8 4E 80 00 20 */ blr
-
-.global func_8027C87C
-func_8027C87C:
-/* 8027C87C 002784DC 94 21 FF A0 */ stwu r1, -0x60(r1)
-/* 8027C880 002784E0 7C 08 02 A6 */ mflr r0
-/* 8027C884 002784E4 90 01 00 64 */ stw r0, 0x64(r1)
-/* 8027C888 002784E8 DB E1 00 50 */ stfd f31, 0x50(r1)
-/* 8027C88C 002784EC F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0
-/* 8027C890 002784F0 DB C1 00 40 */ stfd f30, 0x40(r1)
-/* 8027C894 002784F4 F3 C1 00 48 */ psq_st f30, 72(r1), 0, qr0
-/* 8027C898 002784F8 DB A1 00 30 */ stfd f29, 0x30(r1)
-/* 8027C89C 002784FC F3 A1 00 38 */ psq_st f29, 56(r1), 0, qr0
-/* 8027C8A0 00278500 DB 81 00 20 */ stfd f28, 0x20(r1)
-/* 8027C8A4 00278504 F3 81 00 28 */ psq_st f28, 40(r1), 0, qr0
-/* 8027C8A8 00278508 DB 61 00 10 */ stfd f27, 0x10(r1)
-/* 8027C8AC 0027850C F3 61 00 18 */ psq_st f27, 24(r1), 0, qr0
-/* 8027C8B0 00278510 FF 60 10 90 */ fmr f27, f2
-/* 8027C8B4 00278514 C0 E2 A0 78 */ lfs f7, lbl_80642678-_SDA2_BASE_(r2)
-/* 8027C8B8 00278518 FF 80 18 90 */ fmr f28, f3
-/* 8027C8BC 0027851C 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 8027C8C0 00278520 FF A0 20 90 */ fmr f29, f4
-/* 8027C8C4 00278524 EC 27 00 72 */ fmuls f1, f7, f1
-/* 8027C8C8 00278528 C0 02 A0 88 */ lfs f0, lbl_80642688-_SDA2_BASE_(r2)
-/* 8027C8CC 0027852C FF C0 28 90 */ fmr f30, f5
-/* 8027C8D0 00278530 FF E0 30 90 */ fmr f31, f6
-/* 8027C8D4 00278534 7C 7F 1B 78 */ mr r31, r3
-/* 8027C8D8 00278538 EC 20 00 72 */ fmuls f1, f0, f1
-/* 8027C8DC 0027853C 4B F5 7C 81 */ bl tan
-/* 8027C8E0 00278540 FC A0 08 18 */ frsp f5, f1
-/* 8027C8E4 00278544 C0 62 A0 74 */ lfs f3, lbl_80642674-_SDA2_BASE_(r2)
-/* 8027C8E8 00278548 C0 82 A0 70 */ lfs f4, lbl_80642670-_SDA2_BASE_(r2)
-/* 8027C8EC 0027854C FC 20 F8 50 */ fneg f1, f31
-/* 8027C8F0 00278550 C0 02 A0 84 */ lfs f0, lbl_80642684-_SDA2_BASE_(r2)
-/* 8027C8F4 00278554 FC 40 F0 50 */ fneg f2, f30
-/* 8027C8F8 00278558 EC 84 28 24 */ fdivs f4, f4, f5
-/* 8027C8FC 0027855C D0 3F 00 18 */ stfs f1, 0x18(r31)
-/* 8027C900 00278560 D0 1F 00 28 */ stfs f0, 0x28(r31)
-/* 8027C904 00278564 D0 7F 00 04 */ stfs f3, 4(r31)
-/* 8027C908 00278568 D0 5F 00 08 */ stfs f2, 8(r31)
-/* 8027C90C 0027856C D0 7F 00 0C */ stfs f3, 0xc(r31)
-/* 8027C910 00278570 EC 24 D8 24 */ fdivs f1, f4, f27
-/* 8027C914 00278574 D0 7F 00 10 */ stfs f3, 0x10(r31)
-/* 8027C918 00278578 D0 7F 00 1C */ stfs f3, 0x1c(r31)
-/* 8027C91C 0027857C D0 7F 00 20 */ stfs f3, 0x20(r31)
-/* 8027C920 00278580 D0 7F 00 24 */ stfs f3, 0x24(r31)
-/* 8027C924 00278584 D0 7F 00 2C */ stfs f3, 0x2c(r31)
-/* 8027C928 00278588 EC 3C 00 72 */ fmuls f1, f28, f1
-/* 8027C92C 0027858C EC 04 07 72 */ fmuls f0, f4, f29
-/* 8027C930 00278590 D0 3F 00 00 */ stfs f1, 0(r31)
-/* 8027C934 00278594 D0 1F 00 14 */ stfs f0, 0x14(r31)
-/* 8027C938 00278598 E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0
-/* 8027C93C 0027859C CB E1 00 50 */ lfd f31, 0x50(r1)
-/* 8027C940 002785A0 E3 C1 00 48 */ psq_l f30, 72(r1), 0, qr0
-/* 8027C944 002785A4 CB C1 00 40 */ lfd f30, 0x40(r1)
-/* 8027C948 002785A8 E3 A1 00 38 */ psq_l f29, 56(r1), 0, qr0
-/* 8027C94C 002785AC CB A1 00 30 */ lfd f29, 0x30(r1)
-/* 8027C950 002785B0 E3 81 00 28 */ psq_l f28, 40(r1), 0, qr0
-/* 8027C954 002785B4 CB 81 00 20 */ lfd f28, 0x20(r1)
-/* 8027C958 002785B8 E3 61 00 18 */ psq_l f27, 24(r1), 0, qr0
-/* 8027C95C 002785BC CB 61 00 10 */ lfd f27, 0x10(r1)
-/* 8027C960 002785C0 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 8027C964 002785C4 80 01 00 64 */ lwz r0, 0x64(r1)
-/* 8027C968 002785C8 7C 08 03 A6 */ mtlr r0
-/* 8027C96C 002785CC 38 21 00 60 */ addi r1, r1, 0x60
-/* 8027C970 002785D0 4E 80 00 20 */ blr
-
-.global func_8027C974
-func_8027C974:
-/* 8027C974 002785D4 ED 64 18 28 */ fsubs f11, f4, f3
-/* 8027C978 002785D8 C1 22 A0 74 */ lfs f9, lbl_80642674-_SDA2_BASE_(r2)
-/* 8027C97C 002785DC C1 42 A0 70 */ lfs f10, lbl_80642670-_SDA2_BASE_(r2)
-/* 8027C980 002785E0 EC 01 10 28 */ fsubs f0, f1, f2
-/* 8027C984 002785E4 EC 64 18 2A */ fadds f3, f4, f3
-/* 8027C988 002785E8 C0 82 A0 80 */ lfs f4, lbl_80642680-_SDA2_BASE_(r2)
-/* 8027C98C 002785EC ED 8A 58 24 */ fdivs f12, f10, f11
-/* 8027C990 002785F0 D1 23 00 04 */ stfs f9, 4(r3)
-/* 8027C994 002785F4 D1 23 00 08 */ stfs f9, 8(r3)
-/* 8027C998 002785F8 D1 23 00 10 */ stfs f9, 0x10(r3)
-/* 8027C99C 002785FC D1 23 00 18 */ stfs f9, 0x18(r3)
-/* 8027C9A0 00278600 D1 23 00 20 */ stfs f9, 0x20(r3)
-/* 8027C9A4 00278604 ED 6A 00 24 */ fdivs f11, f10, f0
-/* 8027C9A8 00278608 D1 23 00 24 */ stfs f9, 0x24(r3)
-/* 8027C9AC 0027860C D1 23 00 28 */ stfs f9, 0x28(r3)
-/* 8027C9B0 00278610 D1 43 00 2C */ stfs f10, 0x2c(r3)
-/* 8027C9B4 00278614 EC 01 10 2A */ fadds f0, f1, f2
-/* 8027C9B8 00278618 FC 20 18 50 */ fneg f1, f3
-/* 8027C9BC 0027861C EC 64 03 32 */ fmuls f3, f4, f12
-/* 8027C9C0 00278620 FC 00 00 50 */ fneg f0, f0
-/* 8027C9C4 00278624 EC 4C 00 72 */ fmuls f2, f12, f1
-/* 8027C9C8 00278628 EC 24 02 F2 */ fmuls f1, f4, f11
-/* 8027C9CC 0027862C EC 0B 00 32 */ fmuls f0, f11, f0
-/* 8027C9D0 00278630 EC 45 00 B2 */ fmuls f2, f5, f2
-/* 8027C9D4 00278634 EC 63 01 72 */ fmuls f3, f3, f5
-/* 8027C9D8 00278638 EC 06 00 32 */ fmuls f0, f6, f0
-/* 8027C9DC 0027863C EC 47 10 2A */ fadds f2, f7, f2
-/* 8027C9E0 00278640 EC 21 01 B2 */ fmuls f1, f1, f6
-/* 8027C9E4 00278644 D0 63 00 00 */ stfs f3, 0(r3)
-/* 8027C9E8 00278648 EC 08 00 2A */ fadds f0, f8, f0
-/* 8027C9EC 0027864C D0 43 00 0C */ stfs f2, 0xc(r3)
-/* 8027C9F0 00278650 D0 23 00 14 */ stfs f1, 0x14(r3)
-/* 8027C9F4 00278654 D0 03 00 1C */ stfs f0, 0x1c(r3)
-/* 8027C9F8 00278658 4E 80 00 20 */ blr
-
-.global func_8027C9FC
-func_8027C9FC:
-/* 8027C9FC 0027865C E0 04 00 00 */ psq_l f0, 0(r4), 0, qr0
-/* 8027CA00 00278660 E0 43 00 00 */ psq_l f2, 0(r3), 0, qr0
-/* 8027CA04 00278664 E0 24 80 08 */ psq_l f1, 8(r4), 1, qr0
-/* 8027CA08 00278668 10 82 00 32 */ ps_mul f4, f2, f0
-/* 8027CA0C 0027866C E0 63 00 08 */ psq_l f3, 8(r3), 0, qr0
-/* 8027CA10 00278670 10 A3 20 7A */ ps_madd f5, f3, f1, f4
-/* 8027CA14 00278674 E1 03 00 10 */ psq_l f8, 16(r3), 0, qr0
-/* 8027CA18 00278678 10 C5 29 94 */ ps_sum0 f6, f5, f6, f5
-/* 8027CA1C 0027867C E1 23 00 18 */ psq_l f9, 24(r3), 0, qr0
-/* 8027CA20 00278680 11 48 00 32 */ ps_mul f10, f8, f0
-/* 8027CA24 00278684 F0 C5 80 00 */ psq_st f6, 0(r5), 1, qr0
-/* 8027CA28 00278688 11 69 50 7A */ ps_madd f11, f9, f1, f10
-/* 8027CA2C 0027868C E0 43 00 20 */ psq_l f2, 32(r3), 0, qr0
-/* 8027CA30 00278690 11 8B 5B 14 */ ps_sum0 f12, f11, f12, f11
-/* 8027CA34 00278694 E0 63 00 28 */ psq_l f3, 40(r3), 0, qr0
-/* 8027CA38 00278698 10 82 00 32 */ ps_mul f4, f2, f0
-/* 8027CA3C 0027869C F1 85 80 04 */ psq_st f12, 4(r5), 1, qr0
-/* 8027CA40 002786A0 10 A3 20 7A */ ps_madd f5, f3, f1, f4
-/* 8027CA44 002786A4 10 C5 29 94 */ ps_sum0 f6, f5, f6, f5
-/* 8027CA48 002786A8 F0 C5 80 08 */ psq_st f6, 8(r5), 1, qr0
-/* 8027CA4C 002786AC 4E 80 00 20 */ blr
-
-.global func_8027CA50
-func_8027CA50:
-/* 8027CA50 002786B0 E0 03 00 00 */ psq_l f0, 0(r3), 0, qr0
-/* 8027CA54 002786B4 E0 C4 00 00 */ psq_l f6, 0(r4), 0, qr0
-/* 8027CA58 002786B8 E0 43 00 10 */ psq_l f2, 16(r3), 0, qr0
-/* 8027CA5C 002786BC 11 00 01 B2 */ ps_mul f8, f0, f6
-/* 8027CA60 002786C0 E0 83 00 20 */ psq_l f4, 32(r3), 0, qr0
-/* 8027CA64 002786C4 11 42 01 B2 */ ps_mul f10, f2, f6
-/* 8027CA68 002786C8 E0 E4 80 08 */ psq_l f7, 8(r4), 1, qr0
-/* 8027CA6C 002786CC 11 84 01 B2 */ ps_mul f12, f4, f6
-/* 8027CA70 002786D0 E0 63 00 18 */ psq_l f3, 24(r3), 0, qr0
-/* 8027CA74 002786D4 11 08 42 14 */ ps_sum0 f8, f8, f8, f8
-/* 8027CA78 002786D8 E0 A3 00 28 */ psq_l f5, 40(r3), 0, qr0
-/* 8027CA7C 002786DC 11 4A 52 94 */ ps_sum0 f10, f10, f10, f10
-/* 8027CA80 002786E0 E0 23 00 08 */ psq_l f1, 8(r3), 0, qr0
-/* 8027CA84 002786E4 11 8C 63 14 */ ps_sum0 f12, f12, f12, f12
-/* 8027CA88 002786E8 11 21 41 FA */ ps_madd f9, f1, f7, f8
-/* 8027CA8C 002786EC F1 25 80 00 */ psq_st f9, 0(r5), 1, qr0
-/* 8027CA90 002786F0 11 63 51 FA */ ps_madd f11, f3, f7, f10
-/* 8027CA94 002786F4 F1 65 80 04 */ psq_st f11, 4(r5), 1, qr0
-/* 8027CA98 002786F8 11 A5 61 FA */ ps_madd f13, f5, f7, f12
-/* 8027CA9C 002786FC F1 A5 80 08 */ psq_st f13, 8(r5), 1, qr0
-/* 8027CAA0 00278700 4E 80 00 20 */ blr
-
-.global func_8027CAA4
-func_8027CAA4:
-/* 8027CAA4 00278704 EC 04 18 28 */ fsubs f0, f4, f3
-/* 8027CAA8 00278708 C1 22 A0 98 */ lfs f9, lbl_80642698-_SDA2_BASE_(r2)
-/* 8027CAAC 0027870C C1 62 A0 90 */ lfs f11, lbl_80642690-_SDA2_BASE_(r2)
-/* 8027CAB0 00278710 ED 01 10 28 */ fsubs f8, f1, f2
-/* 8027CAB4 00278714 EC E6 28 28 */ fsubs f7, f6, f5
-/* 8027CAB8 00278718 C1 42 A0 94 */ lfs f10, lbl_80642694-_SDA2_BASE_(r2)
-/* 8027CABC 0027871C ED 8B 00 24 */ fdivs f12, f11, f0
-/* 8027CAC0 00278720 C0 02 A0 9C */ lfs f0, lbl_8064269C-_SDA2_BASE_(r2)
-/* 8027CAC4 00278724 D1 23 00 04 */ stfs f9, 4(r3)
-/* 8027CAC8 00278728 D0 03 00 38 */ stfs f0, 0x38(r3)
-/* 8027CACC 0027872C D1 23 00 0C */ stfs f9, 0xc(r3)
-/* 8027CAD0 00278730 D1 23 00 10 */ stfs f9, 0x10(r3)
-/* 8027CAD4 00278734 ED 0B 40 24 */ fdivs f8, f11, f8
-/* 8027CAD8 00278738 D1 23 00 1C */ stfs f9, 0x1c(r3)
-/* 8027CADC 0027873C D1 23 00 20 */ stfs f9, 0x20(r3)
-/* 8027CAE0 00278740 D1 23 00 24 */ stfs f9, 0x24(r3)
-/* 8027CAE4 00278744 D1 23 00 30 */ stfs f9, 0x30(r3)
-/* 8027CAE8 00278748 D1 23 00 34 */ stfs f9, 0x34(r3)
-/* 8027CAEC 0027874C EC 01 10 2A */ fadds f0, f1, f2
-/* 8027CAF0 00278750 D1 23 00 3C */ stfs f9, 0x3c(r3)
-/* 8027CAF4 00278754 EC 64 18 2A */ fadds f3, f4, f3
-/* 8027CAF8 00278758 ED 4A 01 72 */ fmuls f10, f10, f5
-/* 8027CAFC 0027875C EC 08 00 32 */ fmuls f0, f8, f0
-/* 8027CB00 00278760 EC 4C 00 F2 */ fmuls f2, f12, f3
-/* 8027CB04 00278764 EC 2A 02 32 */ fmuls f1, f10, f8
-/* 8027CB08 00278768 EC 8A 03 32 */ fmuls f4, f10, f12
-/* 8027CB0C 0027876C D0 03 00 18 */ stfs f0, 0x18(r3)
-/* 8027CB10 00278770 EC C6 01 72 */ fmuls f6, f6, f5
-/* 8027CB14 00278774 D0 23 00 14 */ stfs f1, 0x14(r3)
-/* 8027CB18 00278778 EC 6B 38 24 */ fdivs f3, f11, f7
-/* 8027CB1C 0027877C D0 83 00 00 */ stfs f4, 0(r3)
-/* 8027CB20 00278780 D0 43 00 08 */ stfs f2, 8(r3)
-/* 8027CB24 00278784 FC 20 28 50 */ fneg f1, f5
-/* 8027CB28 00278788 FC 00 30 50 */ fneg f0, f6
-/* 8027CB2C 0027878C EC 21 00 F2 */ fmuls f1, f1, f3
-/* 8027CB30 00278790 EC 03 00 32 */ fmuls f0, f3, f0
-/* 8027CB34 00278794 D0 23 00 28 */ stfs f1, 0x28(r3)
-/* 8027CB38 00278798 D0 03 00 2C */ stfs f0, 0x2c(r3)
-/* 8027CB3C 0027879C 4E 80 00 20 */ blr
-
-.global func_8027CB40
-func_8027CB40:
-/* 8027CB40 002787A0 94 21 FF C0 */ stwu r1, -0x40(r1)
-/* 8027CB44 002787A4 7C 08 02 A6 */ mflr r0
-/* 8027CB48 002787A8 90 01 00 44 */ stw r0, 0x44(r1)
-/* 8027CB4C 002787AC DB E1 00 30 */ stfd f31, 0x30(r1)
-/* 8027CB50 002787B0 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0
-/* 8027CB54 002787B4 DB C1 00 20 */ stfd f30, 0x20(r1)
-/* 8027CB58 002787B8 F3 C1 00 28 */ psq_st f30, 40(r1), 0, qr0
-/* 8027CB5C 002787BC DB A1 00 10 */ stfd f29, 0x10(r1)
-/* 8027CB60 002787C0 F3 A1 00 18 */ psq_st f29, 24(r1), 0, qr0
-/* 8027CB64 002787C4 FF A0 10 90 */ fmr f29, f2
-/* 8027CB68 002787C8 C0 A2 A0 A0 */ lfs f5, lbl_806426A0-_SDA2_BASE_(r2)
-/* 8027CB6C 002787CC FF C0 18 90 */ fmr f30, f3
-/* 8027CB70 002787D0 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 8027CB74 002787D4 FF E0 20 90 */ fmr f31, f4
-/* 8027CB78 002787D8 EC 25 00 72 */ fmuls f1, f5, f1
-/* 8027CB7C 002787DC C0 02 A0 A4 */ lfs f0, lbl_806426A4-_SDA2_BASE_(r2)
-/* 8027CB80 002787E0 7C 7F 1B 78 */ mr r31, r3
-/* 8027CB84 002787E4 EC 20 00 72 */ fmuls f1, f0, f1
-/* 8027CB88 002787E8 4B F5 79 D5 */ bl tan
-/* 8027CB8C 002787EC FC 80 08 18 */ frsp f4, f1
-/* 8027CB90 002787F0 C0 62 A0 98 */ lfs f3, lbl_80642698-_SDA2_BASE_(r2)
-/* 8027CB94 002787F4 C0 A2 A0 90 */ lfs f5, lbl_80642690-_SDA2_BASE_(r2)
-/* 8027CB98 002787F8 EC 5F F0 28 */ fsubs f2, f31, f30
-/* 8027CB9C 002787FC C0 02 A0 9C */ lfs f0, lbl_8064269C-_SDA2_BASE_(r2)
-/* 8027CBA0 00278800 EC 3F 07 B2 */ fmuls f1, f31, f30
-/* 8027CBA4 00278804 EC C5 20 24 */ fdivs f6, f5, f4
-/* 8027CBA8 00278808 D0 1F 00 38 */ stfs f0, 0x38(r31)
-/* 8027CBAC 0027880C D0 7F 00 04 */ stfs f3, 4(r31)
-/* 8027CBB0 00278810 D0 7F 00 08 */ stfs f3, 8(r31)
-/* 8027CBB4 00278814 D0 7F 00 0C */ stfs f3, 0xc(r31)
-/* 8027CBB8 00278818 D0 7F 00 10 */ stfs f3, 0x10(r31)
-/* 8027CBBC 0027881C EC A5 10 24 */ fdivs f5, f5, f2
-/* 8027CBC0 00278820 D0 7F 00 18 */ stfs f3, 0x18(r31)
-/* 8027CBC4 00278824 D0 DF 00 14 */ stfs f6, 0x14(r31)
-/* 8027CBC8 00278828 D0 7F 00 1C */ stfs f3, 0x1c(r31)
-/* 8027CBCC 0027882C D0 7F 00 20 */ stfs f3, 0x20(r31)
-/* 8027CBD0 00278830 D0 7F 00 24 */ stfs f3, 0x24(r31)
-/* 8027CBD4 00278834 EC 86 E8 24 */ fdivs f4, f6, f29
-/* 8027CBD8 00278838 D0 7F 00 30 */ stfs f3, 0x30(r31)
-/* 8027CBDC 0027883C D0 7F 00 34 */ stfs f3, 0x34(r31)
-/* 8027CBE0 00278840 D0 7F 00 3C */ stfs f3, 0x3c(r31)
-/* 8027CBE4 00278844 FC 00 08 50 */ fneg f0, f1
-/* 8027CBE8 00278848 D0 9F 00 00 */ stfs f4, 0(r31)
-/* 8027CBEC 0027884C FC 40 F0 50 */ fneg f2, f30
-/* 8027CBF0 00278850 EC 05 00 32 */ fmuls f0, f5, f0
-/* 8027CBF4 00278854 EC 22 01 72 */ fmuls f1, f2, f5
-/* 8027CBF8 00278858 D0 1F 00 2C */ stfs f0, 0x2c(r31)
-/* 8027CBFC 0027885C D0 3F 00 28 */ stfs f1, 0x28(r31)
-/* 8027CC00 00278860 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0
-/* 8027CC04 00278864 CB E1 00 30 */ lfd f31, 0x30(r1)
-/* 8027CC08 00278868 E3 C1 00 28 */ psq_l f30, 40(r1), 0, qr0
-/* 8027CC0C 0027886C CB C1 00 20 */ lfd f30, 0x20(r1)
-/* 8027CC10 00278870 E3 A1 00 18 */ psq_l f29, 24(r1), 0, qr0
-/* 8027CC14 00278874 CB A1 00 10 */ lfd f29, 0x10(r1)
-/* 8027CC18 00278878 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 8027CC1C 0027887C 80 01 00 44 */ lwz r0, 0x44(r1)
-/* 8027CC20 00278880 7C 08 03 A6 */ mtlr r0
-/* 8027CC24 00278884 38 21 00 40 */ addi r1, r1, 0x40
-/* 8027CC28 00278888 4E 80 00 20 */ blr
-
-.global func_8027CC2C
-func_8027CC2C:
-/* 8027CC2C 0027888C ED 64 18 28 */ fsubs f11, f4, f3
-/* 8027CC30 00278890 C1 02 A0 98 */ lfs f8, lbl_80642698-_SDA2_BASE_(r2)
-/* 8027CC34 00278894 C1 42 A0 90 */ lfs f10, lbl_80642690-_SDA2_BASE_(r2)
-/* 8027CC38 00278898 EC E1 10 28 */ fsubs f7, f1, f2
-/* 8027CC3C 0027889C EC 06 28 28 */ fsubs f0, f6, f5
-/* 8027CC40 002788A0 C1 22 A0 94 */ lfs f9, lbl_80642694-_SDA2_BASE_(r2)
-/* 8027CC44 002788A4 ED 8A 58 24 */ fdivs f12, f10, f11
-/* 8027CC48 002788A8 C0 A2 A0 9C */ lfs f5, lbl_8064269C-_SDA2_BASE_(r2)
-/* 8027CC4C 002788AC D1 03 00 04 */ stfs f8, 4(r3)
-/* 8027CC50 002788B0 D1 03 00 08 */ stfs f8, 8(r3)
-/* 8027CC54 002788B4 D1 03 00 10 */ stfs f8, 0x10(r3)
-/* 8027CC58 002788B8 D1 03 00 18 */ stfs f8, 0x18(r3)
-/* 8027CC5C 002788BC ED 6A 38 24 */ fdivs f11, f10, f7
-/* 8027CC60 002788C0 D1 03 00 20 */ stfs f8, 0x20(r3)
-/* 8027CC64 002788C4 D1 03 00 24 */ stfs f8, 0x24(r3)
-/* 8027CC68 002788C8 D1 03 00 30 */ stfs f8, 0x30(r3)
-/* 8027CC6C 002788CC D1 03 00 34 */ stfs f8, 0x34(r3)
-/* 8027CC70 002788D0 D1 03 00 38 */ stfs f8, 0x38(r3)
-/* 8027CC74 002788D4 EC EA 00 24 */ fdivs f7, f10, f0
-/* 8027CC78 002788D8 D1 43 00 3C */ stfs f10, 0x3c(r3)
-/* 8027CC7C 002788DC FC 00 30 50 */ fneg f0, f6
-/* 8027CC80 002788E0 EC 21 10 2A */ fadds f1, f1, f2
-/* 8027CC84 002788E4 EC 64 18 2A */ fadds f3, f4, f3
-/* 8027CC88 002788E8 EC C9 03 32 */ fmuls f6, f9, f12
-/* 8027CC8C 002788EC EC 00 01 F2 */ fmuls f0, f0, f7
-/* 8027CC90 002788F0 FC 40 18 50 */ fneg f2, f3
-/* 8027CC94 002788F4 EC 69 02 F2 */ fmuls f3, f9, f11
-/* 8027CC98 002788F8 D0 C3 00 00 */ stfs f6, 0(r3)
-/* 8027CC9C 002788FC FC 20 08 50 */ fneg f1, f1
-/* 8027CCA0 00278900 EC 8C 00 B2 */ fmuls f4, f12, f2
-/* 8027CCA4 00278904 D0 03 00 2C */ stfs f0, 0x2c(r3)
-/* 8027CCA8 00278908 EC 4B 00 72 */ fmuls f2, f11, f1
-/* 8027CCAC 0027890C D0 63 00 14 */ stfs f3, 0x14(r3)
-/* 8027CCB0 00278910 EC 25 01 F2 */ fmuls f1, f5, f7
-/* 8027CCB4 00278914 D0 83 00 0C */ stfs f4, 0xc(r3)
-/* 8027CCB8 00278918 D0 43 00 1C */ stfs f2, 0x1c(r3)
-/* 8027CCBC 0027891C D0 23 00 28 */ stfs f1, 0x28(r3)
-/* 8027CCC0 00278920 4E 80 00 20 */ blr
-
-.global func_8027CCC4
-func_8027CCC4:
-/* 8027CCC4 00278924 E0 43 00 00 */ psq_l f2, 0(r3), 0, qr0
-/* 8027CCC8 00278928 E0 84 00 00 */ psq_l f4, 0(r4), 0, qr0
-/* 8027CCCC 0027892C 10 C2 20 2A */ ps_add f6, f2, f4
-/* 8027CCD0 00278930 F0 C5 00 00 */ psq_st f6, 0(r5), 0, qr0
-/* 8027CCD4 00278934 E0 63 80 08 */ psq_l f3, 8(r3), 1, qr0
-/* 8027CCD8 00278938 E0 A4 80 08 */ psq_l f5, 8(r4), 1, qr0
-/* 8027CCDC 0027893C 10 E3 28 2A */ ps_add f7, f3, f5
-/* 8027CCE0 00278940 F0 E5 80 08 */ psq_st f7, 8(r5), 1, qr0
-/* 8027CCE4 00278944 4E 80 00 20 */ blr
-
-.global func_8027CCE8
-func_8027CCE8:
-/* 8027CCE8 00278948 E0 43 00 00 */ psq_l f2, 0(r3), 0, qr0
-/* 8027CCEC 0027894C E0 84 00 00 */ psq_l f4, 0(r4), 0, qr0
-/* 8027CCF0 00278950 10 C2 20 28 */ ps_sub f6, f2, f4
-/* 8027CCF4 00278954 F0 C5 00 00 */ psq_st f6, 0(r5), 0, qr0
-/* 8027CCF8 00278958 E0 63 80 08 */ psq_l f3, 8(r3), 1, qr0
-/* 8027CCFC 0027895C E0 A4 80 08 */ psq_l f5, 8(r4), 1, qr0
-/* 8027CD00 00278960 10 E3 28 28 */ ps_sub f7, f3, f5
-/* 8027CD04 00278964 F0 E5 80 08 */ psq_st f7, 8(r5), 1, qr0
-/* 8027CD08 00278968 4E 80 00 20 */ blr
-
-.global func_8027CD0C
-func_8027CD0C:
-/* 8027CD0C 0027896C E0 03 00 00 */ psq_l f0, 0(r3), 0, qr0
-/* 8027CD10 00278970 E0 43 80 08 */ psq_l f2, 8(r3), 1, qr0
-/* 8027CD14 00278974 10 00 00 58 */ ps_muls0 f0, f0, f1
-/* 8027CD18 00278978 10 22 00 58 */ ps_muls0 f1, f2, f1
-/* 8027CD1C 0027897C F0 04 00 00 */ psq_st f0, 0(r4), 0, qr0
-/* 8027CD20 00278980 F0 24 80 08 */ psq_st f1, 8(r4), 1, qr0
-/* 8027CD24 00278984 4E 80 00 20 */ blr
-
-.global func_8027CD28
-func_8027CD28:
-/* 8027CD28 00278988 E0 43 00 00 */ psq_l f2, 0(r3), 0, qr0
-/* 8027CD2C 0027898C E0 63 80 08 */ psq_l f3, 8(r3), 1, qr0
-/* 8027CD30 00278990 10 A2 00 B2 */ ps_mul f5, f2, f2
-/* 8027CD34 00278994 C0 02 A0 A8 */ lfs f0, lbl_806426A8-_SDA2_BASE_(r2)
-/* 8027CD38 00278998 C0 22 A0 AC */ lfs f1, lbl_806426AC-_SDA2_BASE_(r2)
-/* 8027CD3C 0027899C 10 83 28 FA */ ps_madd f4, f3, f3, f5
-/* 8027CD40 002789A0 10 84 28 D4 */ ps_sum0 f4, f4, f3, f5
-/* 8027CD44 002789A4 FC A0 20 34 */ frsqrte f5, f4
-/* 8027CD48 002789A8 EC C5 01 72 */ fmuls f6, f5, f5
-/* 8027CD4C 002789AC EC 05 00 32 */ fmuls f0, f5, f0
-/* 8027CD50 002789B0 EC C6 09 3C */ fnmsubs f6, f6, f4, f1
-/* 8027CD54 002789B4 EC A6 00 32 */ fmuls f5, f6, f0
-/* 8027CD58 002789B8 10 42 01 58 */ ps_muls0 f2, f2, f5
-/* 8027CD5C 002789BC 10 63 01 58 */ ps_muls0 f3, f3, f5
-/* 8027CD60 002789C0 F0 44 00 00 */ psq_st f2, 0(r4), 0, qr0
-/* 8027CD64 002789C4 F0 64 80 08 */ psq_st f3, 8(r4), 1, qr0
-/* 8027CD68 002789C8 4E 80 00 20 */ blr
-
-.global func_8027CD6C
-func_8027CD6C:
-/* 8027CD6C 002789CC E0 03 00 00 */ psq_l f0, 0(r3), 0, qr0
-/* 8027CD70 002789D0 C0 23 00 08 */ lfs f1, 8(r3)
-/* 8027CD74 002789D4 10 00 00 32 */ ps_mul f0, f0, f0
-/* 8027CD78 002789D8 10 21 00 7A */ ps_madd f1, f1, f1, f0
-/* 8027CD7C 002789DC 10 21 00 14 */ ps_sum0 f1, f1, f0, f0
-/* 8027CD80 002789E0 4E 80 00 20 */ blr
-
-.global func_8027CD84
-func_8027CD84:
-/* 8027CD84 002789E4 E0 03 00 00 */ psq_l f0, 0(r3), 0, qr0
-/* 8027CD88 002789E8 C0 82 A0 A8 */ lfs f4, lbl_806426A8-_SDA2_BASE_(r2)
-/* 8027CD8C 002789EC 10 00 00 32 */ ps_mul f0, f0, f0
-/* 8027CD90 002789F0 C0 23 00 08 */ lfs f1, 8(r3)
-/* 8027CD94 002789F4 EC 44 20 28 */ fsubs f2, f4, f4
-/* 8027CD98 002789F8 10 21 00 7A */ ps_madd f1, f1, f1, f0
-/* 8027CD9C 002789FC 10 21 00 14 */ ps_sum0 f1, f1, f0, f0
-/* 8027CDA0 00278A00 FC 01 10 00 */ fcmpu cr0, f1, f2
-/* 8027CDA4 00278A04 4D 82 00 20 */ beqlr
-/* 8027CDA8 00278A08 FC 00 08 34 */ frsqrte f0, f1
-/* 8027CDAC 00278A0C C0 62 A0 AC */ lfs f3, lbl_806426AC-_SDA2_BASE_(r2)
-/* 8027CDB0 00278A10 EC 40 00 32 */ fmuls f2, f0, f0
-/* 8027CDB4 00278A14 EC 00 01 32 */ fmuls f0, f0, f4
-/* 8027CDB8 00278A18 EC 42 18 7C */ fnmsubs f2, f2, f1, f3
-/* 8027CDBC 00278A1C EC 02 00 32 */ fmuls f0, f2, f0
-/* 8027CDC0 00278A20 EC 21 00 32 */ fmuls f1, f1, f0
-/* 8027CDC4 00278A24 4E 80 00 20 */ blr
-
-.global PSQUATDotProduct
-PSQUATDotProduct:
-/* 8027CDC8 00278A28 E0 43 00 04 */ psq_l f2, 4(r3), 0, qr0
-/* 8027CDCC 00278A2C E0 64 00 04 */ psq_l f3, 4(r4), 0, qr0
-/* 8027CDD0 00278A30 10 42 00 F2 */ ps_mul f2, f2, f3
-/* 8027CDD4 00278A34 E0 A3 00 00 */ psq_l f5, 0(r3), 0, qr0
-/* 8027CDD8 00278A38 E0 84 00 00 */ psq_l f4, 0(r4), 0, qr0
-/* 8027CDDC 00278A3C 10 65 11 3A */ ps_madd f3, f5, f4, f2
-/* 8027CDE0 00278A40 10 23 10 94 */ ps_sum0 f1, f3, f2, f2
-/* 8027CDE4 00278A44 4E 80 00 20 */ blr
-
-.global func_8027CDE8
-func_8027CDE8:
-/* 8027CDE8 00278A48 E0 24 00 00 */ psq_l f1, 0(r4), 0, qr0
-/* 8027CDEC 00278A4C C0 43 00 08 */ lfs f2, 8(r3)
-/* 8027CDF0 00278A50 E0 03 00 00 */ psq_l f0, 0(r3), 0, qr0
-/* 8027CDF4 00278A54 10 C1 0C A0 */ ps_merge10 f6, f1, f1
-/* 8027CDF8 00278A58 C0 64 00 08 */ lfs f3, 8(r4)
-/* 8027CDFC 00278A5C 10 81 00 B2 */ ps_mul f4, f1, f2
-/* 8027CE00 00278A60 10 E1 00 18 */ ps_muls0 f7, f1, f0
-/* 8027CE04 00278A64 10 A0 20 F8 */ ps_msub f5, f0, f3, f4
-/* 8027CE08 00278A68 11 00 39 B8 */ ps_msub f8, f0, f6, f7
-/* 8027CE0C 00278A6C 11 25 2C E0 */ ps_merge11 f9, f5, f5
-/* 8027CE10 00278A70 11 45 44 60 */ ps_merge01 f10, f5, f8
-/* 8027CE14 00278A74 F1 25 80 00 */ psq_st f9, 0(r5), 1, qr0
-/* 8027CE18 00278A78 11 40 50 50 */ ps_neg f10, f10
-/* 8027CE1C 00278A7C F1 45 00 04 */ psq_st f10, 4(r5), 0, qr0
-/* 8027CE20 00278A80 4E 80 00 20 */ blr
-
-.global func_8027CE24
-func_8027CE24:
-/* 8027CE24 00278A84 94 21 FF C0 */ stwu r1, -0x40(r1)
-/* 8027CE28 00278A88 7C 08 02 A6 */ mflr r0
-/* 8027CE2C 00278A8C C0 43 00 00 */ lfs f2, 0(r3)
-/* 8027CE30 00278A90 C0 23 00 04 */ lfs f1, 4(r3)
-/* 8027CE34 00278A94 C0 03 00 08 */ lfs f0, 8(r3)
-/* 8027CE38 00278A98 FC A0 10 50 */ fneg f5, f2
-/* 8027CE3C 00278A9C C0 44 00 00 */ lfs f2, 0(r4)
-/* 8027CE40 00278AA0 FC 80 08 50 */ fneg f4, f1
-/* 8027CE44 00278AA4 C0 24 00 04 */ lfs f1, 4(r4)
-/* 8027CE48 00278AA8 FC 60 00 50 */ fneg f3, f0
-/* 8027CE4C 00278AAC C0 04 00 08 */ lfs f0, 8(r4)
-/* 8027CE50 00278AB0 90 01 00 44 */ stw r0, 0x44(r1)
-/* 8027CE54 00278AB4 38 61 00 20 */ addi r3, r1, 0x20
-/* 8027CE58 00278AB8 FC 40 10 50 */ fneg f2, f2
-/* 8027CE5C 00278ABC 7C 64 1B 78 */ mr r4, r3
-/* 8027CE60 00278AC0 93 E1 00 3C */ stw r31, 0x3c(r1)
-/* 8027CE64 00278AC4 FC 20 08 50 */ fneg f1, f1
-/* 8027CE68 00278AC8 FC 00 00 50 */ fneg f0, f0
-/* 8027CE6C 00278ACC 7C BF 2B 78 */ mr r31, r5
-/* 8027CE70 00278AD0 D0 A1 00 20 */ stfs f5, 0x20(r1)
-/* 8027CE74 00278AD4 D0 81 00 24 */ stfs f4, 0x24(r1)
-/* 8027CE78 00278AD8 D0 61 00 28 */ stfs f3, 0x28(r1)
-/* 8027CE7C 00278ADC D0 41 00 14 */ stfs f2, 0x14(r1)
-/* 8027CE80 00278AE0 D0 21 00 18 */ stfs f1, 0x18(r1)
-/* 8027CE84 00278AE4 D0 01 00 1C */ stfs f0, 0x1c(r1)
-/* 8027CE88 00278AE8 4B FF FE A1 */ bl func_8027CD28
-/* 8027CE8C 00278AEC 38 61 00 14 */ addi r3, r1, 0x14
-/* 8027CE90 00278AF0 7C 64 1B 78 */ mr r4, r3
-/* 8027CE94 00278AF4 4B FF FE 95 */ bl func_8027CD28
-/* 8027CE98 00278AF8 38 61 00 20 */ addi r3, r1, 0x20
-/* 8027CE9C 00278AFC 38 81 00 14 */ addi r4, r1, 0x14
-/* 8027CEA0 00278B00 38 A1 00 08 */ addi r5, r1, 8
-/* 8027CEA4 00278B04 4B FF FE 21 */ bl func_8027CCC4
-/* 8027CEA8 00278B08 38 61 00 08 */ addi r3, r1, 8
-/* 8027CEAC 00278B0C 7C 64 1B 78 */ mr r4, r3
-/* 8027CEB0 00278B10 4B FF FF 19 */ bl PSQUATDotProduct
-/* 8027CEB4 00278B14 C0 02 A0 B0 */ lfs f0, lbl_806426B0-_SDA2_BASE_(r2)
-/* 8027CEB8 00278B18 FC 01 00 40 */ fcmpo cr0, f1, f0
-/* 8027CEBC 00278B1C 40 81 00 14 */ ble lbl_8027CED0
-/* 8027CEC0 00278B20 7F E4 FB 78 */ mr r4, r31
-/* 8027CEC4 00278B24 38 61 00 08 */ addi r3, r1, 8
-/* 8027CEC8 00278B28 4B FF FE 61 */ bl func_8027CD28
-/* 8027CECC 00278B2C 48 00 00 1C */ b lbl_8027CEE8
-lbl_8027CED0:
-/* 8027CED0 00278B30 80 61 00 08 */ lwz r3, 8(r1)
-/* 8027CED4 00278B34 80 01 00 0C */ lwz r0, 0xc(r1)
-/* 8027CED8 00278B38 90 7F 00 00 */ stw r3, 0(r31)
-/* 8027CEDC 00278B3C 90 1F 00 04 */ stw r0, 4(r31)
-/* 8027CEE0 00278B40 80 01 00 10 */ lwz r0, 0x10(r1)
-/* 8027CEE4 00278B44 90 1F 00 08 */ stw r0, 8(r31)
-lbl_8027CEE8:
-/* 8027CEE8 00278B48 80 01 00 44 */ lwz r0, 0x44(r1)
-/* 8027CEEC 00278B4C 83 E1 00 3C */ lwz r31, 0x3c(r1)
-/* 8027CEF0 00278B50 7C 08 03 A6 */ mtlr r0
-/* 8027CEF4 00278B54 38 21 00 40 */ addi r1, r1, 0x40
-/* 8027CEF8 00278B58 4E 80 00 20 */ blr
-
-.global func_8027CEFC
-func_8027CEFC:
-/* 8027CEFC 00278B5C 94 21 FF D0 */ stwu r1, -0x30(r1)
-/* 8027CF00 00278B60 7C 08 02 A6 */ mflr r0
-/* 8027CF04 00278B64 C0 43 00 00 */ lfs f2, 0(r3)
-/* 8027CF08 00278B68 90 01 00 34 */ stw r0, 0x34(r1)
-/* 8027CF0C 00278B6C C0 23 00 04 */ lfs f1, 4(r3)
-/* 8027CF10 00278B70 FC 40 10 50 */ fneg f2, f2
-/* 8027CF14 00278B74 C0 03 00 08 */ lfs f0, 8(r3)
-/* 8027CF18 00278B78 38 61 00 14 */ addi r3, r1, 0x14
-/* 8027CF1C 00278B7C 93 E1 00 2C */ stw r31, 0x2c(r1)
-/* 8027CF20 00278B80 FC 20 08 50 */ fneg f1, f1
-/* 8027CF24 00278B84 FC 00 00 50 */ fneg f0, f0
-/* 8027CF28 00278B88 93 C1 00 28 */ stw r30, 0x28(r1)
-/* 8027CF2C 00278B8C 7C 9E 23 78 */ mr r30, r4
-/* 8027CF30 00278B90 7C BF 2B 78 */ mr r31, r5
-/* 8027CF34 00278B94 7C 64 1B 78 */ mr r4, r3
-/* 8027CF38 00278B98 D0 41 00 14 */ stfs f2, 0x14(r1)
-/* 8027CF3C 00278B9C D0 21 00 18 */ stfs f1, 0x18(r1)
-/* 8027CF40 00278BA0 D0 01 00 1C */ stfs f0, 0x1c(r1)
-/* 8027CF44 00278BA4 4B FF FD E5 */ bl func_8027CD28
-/* 8027CF48 00278BA8 7F C3 F3 78 */ mr r3, r30
-/* 8027CF4C 00278BAC 38 81 00 08 */ addi r4, r1, 8
-/* 8027CF50 00278BB0 4B FF FD D9 */ bl func_8027CD28
-/* 8027CF54 00278BB4 38 61 00 14 */ addi r3, r1, 0x14
-/* 8027CF58 00278BB8 38 81 00 08 */ addi r4, r1, 8
-/* 8027CF5C 00278BBC 4B FF FE 6D */ bl PSQUATDotProduct
-/* 8027CF60 00278BC0 C0 62 A0 B4 */ lfs f3, lbl_806426B4-_SDA2_BASE_(r2)
-/* 8027CF64 00278BC4 7F E3 FB 78 */ mr r3, r31
-/* 8027CF68 00278BC8 C0 41 00 08 */ lfs f2, 8(r1)
-/* 8027CF6C 00278BCC 7F E4 FB 78 */ mr r4, r31
-/* 8027CF70 00278BD0 C0 01 00 14 */ lfs f0, 0x14(r1)
-/* 8027CF74 00278BD4 EC 43 00 B2 */ fmuls f2, f3, f2
-/* 8027CF78 00278BD8 EC 42 00 72 */ fmuls f2, f2, f1
-/* 8027CF7C 00278BDC EC 02 00 28 */ fsubs f0, f2, f0
-/* 8027CF80 00278BE0 D0 1F 00 00 */ stfs f0, 0(r31)
-/* 8027CF84 00278BE4 C0 41 00 0C */ lfs f2, 0xc(r1)
-/* 8027CF88 00278BE8 C0 01 00 18 */ lfs f0, 0x18(r1)
-/* 8027CF8C 00278BEC EC 43 00 B2 */ fmuls f2, f3, f2
-/* 8027CF90 00278BF0 EC 42 00 72 */ fmuls f2, f2, f1
-/* 8027CF94 00278BF4 EC 02 00 28 */ fsubs f0, f2, f0
-/* 8027CF98 00278BF8 D0 1F 00 04 */ stfs f0, 4(r31)
-/* 8027CF9C 00278BFC C0 41 00 10 */ lfs f2, 0x10(r1)
-/* 8027CFA0 00278C00 C0 01 00 1C */ lfs f0, 0x1c(r1)
-/* 8027CFA4 00278C04 EC 43 00 B2 */ fmuls f2, f3, f2
-/* 8027CFA8 00278C08 EC 22 00 72 */ fmuls f1, f2, f1
-/* 8027CFAC 00278C0C EC 01 00 28 */ fsubs f0, f1, f0
-/* 8027CFB0 00278C10 D0 1F 00 08 */ stfs f0, 8(r31)
-/* 8027CFB4 00278C14 4B FF FD 75 */ bl func_8027CD28
-/* 8027CFB8 00278C18 80 01 00 34 */ lwz r0, 0x34(r1)
-/* 8027CFBC 00278C1C 83 E1 00 2C */ lwz r31, 0x2c(r1)
-/* 8027CFC0 00278C20 83 C1 00 28 */ lwz r30, 0x28(r1)
-/* 8027CFC4 00278C24 7C 08 03 A6 */ mtlr r0
-/* 8027CFC8 00278C28 38 21 00 30 */ addi r1, r1, 0x30
-/* 8027CFCC 00278C2C 4E 80 00 20 */ blr
-
-.global func_8027CFD0
-func_8027CFD0:
-/* 8027CFD0 00278C30 E0 03 00 04 */ psq_l f0, 4(r3), 0, qr0
-/* 8027CFD4 00278C34 E0 24 00 04 */ psq_l f1, 4(r4), 0, qr0
-/* 8027CFD8 00278C38 C0 62 A0 A8 */ lfs f3, lbl_806426A8-_SDA2_BASE_(r2)
-/* 8027CFDC 00278C3C 10 40 08 28 */ ps_sub f2, f0, f1
-/* 8027CFE0 00278C40 E0 03 00 00 */ psq_l f0, 0(r3), 0, qr0
-/* 8027CFE4 00278C44 E0 24 00 00 */ psq_l f1, 0(r4), 0, qr0
-/* 8027CFE8 00278C48 EC 83 18 28 */ fsubs f4, f3, f3
-/* 8027CFEC 00278C4C 10 42 00 B2 */ ps_mul f2, f2, f2
-/* 8027CFF0 00278C50 10 00 08 28 */ ps_sub f0, f0, f1
-/* 8027CFF4 00278C54 10 20 10 3A */ ps_madd f1, f0, f0, f2
-/* 8027CFF8 00278C58 10 21 10 94 */ ps_sum0 f1, f1, f2, f2
-/* 8027CFFC 00278C5C FC 04 08 00 */ fcmpu cr0, f4, f1
-/* 8027D000 00278C60 4D 82 00 20 */ beqlr
-/* 8027D004 00278C64 FC 00 08 34 */ frsqrte f0, f1
-/* 8027D008 00278C68 C0 82 A0 AC */ lfs f4, lbl_806426AC-_SDA2_BASE_(r2)
-/* 8027D00C 00278C6C EC 40 00 32 */ fmuls f2, f0, f0
-/* 8027D010 00278C70 EC 00 00 F2 */ fmuls f0, f0, f3
-/* 8027D014 00278C74 EC 42 20 7C */ fnmsubs f2, f2, f1, f4
-/* 8027D018 00278C78 EC 02 00 32 */ fmuls f0, f2, f0
-/* 8027D01C 00278C7C EC 21 00 32 */ fmuls f1, f1, f0
-/* 8027D020 00278C80 4E 80 00 20 */ blr
-
-.global func_8027D024
-func_8027D024:
-/* 8027D024 00278C84 E0 03 00 00 */ psq_l f0, 0(r3), 0, qr0
-/* 8027D028 00278C88 E0 23 00 08 */ psq_l f1, 8(r3), 0, qr0
-/* 8027D02C 00278C8C 10 A0 00 50 */ ps_neg f5, f0
-/* 8027D030 00278C90 E0 44 00 00 */ psq_l f2, 0(r4), 0, qr0
-/* 8027D034 00278C94 10 C0 08 50 */ ps_neg f6, f1
-/* 8027D038 00278C98 E0 64 00 08 */ psq_l f3, 8(r4), 0, qr0
-/* 8027D03C 00278C9C 10 E1 00 98 */ ps_muls0 f7, f1, f2
-/* 8027D040 00278CA0 10 85 04 60 */ ps_merge01 f4, f5, f0
-/* 8027D044 00278CA4 10 26 0C 60 */ ps_merge01 f1, f6, f1
-/* 8027D048 00278CA8 10 A5 00 98 */ ps_muls0 f5, f5, f2
-/* 8027D04C 00278CAC 11 04 00 9A */ ps_muls1 f8, f4, f2
-/* 8027D050 00278CB0 10 E4 38 DC */ ps_madds0 f7, f4, f3, f7
-/* 8027D054 00278CB4 10 41 00 9A */ ps_muls1 f2, f1, f2
-/* 8027D058 00278CB8 10 A1 28 DC */ ps_madds0 f5, f1, f3, f5
-/* 8027D05C 00278CBC 10 E7 3C A0 */ ps_merge10 f7, f7, f7
-/* 8027D060 00278CC0 10 40 10 DE */ ps_madds1 f2, f0, f3, f2
-/* 8027D064 00278CC4 10 A5 2C A0 */ ps_merge10 f5, f5, f5
-/* 8027D068 00278CC8 11 06 40 DE */ ps_madds1 f8, f6, f3, f8
-/* 8027D06C 00278CCC 10 E7 10 2A */ ps_add f7, f7, f2
-/* 8027D070 00278CD0 10 A5 40 28 */ ps_sub f5, f5, f8
-/* 8027D074 00278CD4 F0 E5 00 00 */ psq_st f7, 0(r5), 0, qr0
-/* 8027D078 00278CD8 F0 A5 00 08 */ psq_st f5, 8(r5), 0, qr0
-/* 8027D07C 00278CDC 4E 80 00 20 */ blr
-
-.global func_8027D080
-func_8027D080:
-/* 8027D080 00278CE0 E0 03 00 00 */ psq_l f0, 0(r3), 0, qr0
-/* 8027D084 00278CE4 C0 A2 A0 B8 */ lfs f5, lbl_806426B8-_SDA2_BASE_(r2)
-/* 8027D088 00278CE8 10 40 00 32 */ ps_mul f2, f0, f0
-/* 8027D08C 00278CEC E0 23 00 08 */ psq_l f1, 8(r3), 0, qr0
-/* 8027D090 00278CF0 10 85 28 28 */ ps_sub f4, f5, f5
-/* 8027D094 00278CF4 10 65 28 2A */ ps_add f3, f5, f5
-/* 8027D098 00278CF8 10 41 10 7A */ ps_madd f2, f1, f1, f2
-/* 8027D09C 00278CFC 10 42 10 94 */ ps_sum0 f2, f2, f2, f2
-/* 8027D0A0 00278D00 FC 02 20 00 */ fcmpu cr0, f2, f4
-/* 8027D0A4 00278D04 41 82 00 10 */ beq lbl_8027D0B4
-/* 8027D0A8 00278D08 EC A0 10 30 */ fres f5, f2
-/* 8027D0AC 00278D0C 10 42 19 7C */ ps_nmsub f2, f2, f5, f3
-/* 8027D0B0 00278D10 10 A5 00 B2 */ ps_mul f5, f5, f2
-lbl_8027D0B4:
-/* 8027D0B4 00278D14 10 60 28 50 */ ps_neg f3, f5
-/* 8027D0B8 00278D18 10 45 00 5A */ ps_muls1 f2, f5, f1
-/* 8027D0BC 00278D1C 10 00 00 D8 */ ps_muls0 f0, f0, f3
-/* 8027D0C0 00278D20 10 21 00 D8 */ ps_muls0 f1, f1, f3
-/* 8027D0C4 00278D24 F0 44 80 0C */ psq_st f2, 12(r4), 1, qr0
-/* 8027D0C8 00278D28 F0 04 00 00 */ psq_st f0, 0(r4), 0, qr0
-/* 8027D0CC 00278D2C F0 24 80 08 */ psq_st f1, 8(r4), 1, qr0
-/* 8027D0D0 00278D30 4E 80 00 20 */ blr
-
-.global func_8027D0D4
-func_8027D0D4:
-/* 8027D0D4 00278D34 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 8027D0D8 00278D38 7C 08 02 A6 */ mflr r0
-/* 8027D0DC 00278D3C 90 01 00 24 */ stw r0, 0x24(r1)
-/* 8027D0E0 00278D40 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 8027D0E4 00278D44 7C BF 2B 78 */ mr r31, r5
-/* 8027D0E8 00278D48 93 C1 00 18 */ stw r30, 0x18(r1)
-/* 8027D0EC 00278D4C 7C 7E 1B 78 */ mr r30, r3
-/* 8027D0F0 00278D50 7C 83 23 78 */ mr r3, r4
-/* 8027D0F4 00278D54 38 81 00 08 */ addi r4, r1, 8
-/* 8027D0F8 00278D58 4B FF FF 89 */ bl func_8027D080
-/* 8027D0FC 00278D5C 7F C4 F3 78 */ mr r4, r30
-/* 8027D100 00278D60 7F E5 FB 78 */ mr r5, r31
-/* 8027D104 00278D64 38 61 00 08 */ addi r3, r1, 8
-/* 8027D108 00278D68 4B FF FF 1D */ bl func_8027D024
-/* 8027D10C 00278D6C 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 8027D110 00278D70 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 8027D114 00278D74 83 C1 00 18 */ lwz r30, 0x18(r1)
-/* 8027D118 00278D78 7C 08 03 A6 */ mtlr r0
-/* 8027D11C 00278D7C 38 21 00 20 */ addi r1, r1, 0x20
-/* 8027D120 00278D80 4E 80 00 20 */ blr
-
-.global func_8027D124
-func_8027D124:
-/* 8027D124 00278D84 94 21 FF C0 */ stwu r1, -0x40(r1)
-/* 8027D128 00278D88 7C 08 02 A6 */ mflr r0
-/* 8027D12C 00278D8C 90 01 00 44 */ stw r0, 0x44(r1)
-/* 8027D130 00278D90 DB E1 00 30 */ stfd f31, 0x30(r1)
-/* 8027D134 00278D94 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0
-/* 8027D138 00278D98 DB C1 00 20 */ stfd f30, 0x20(r1)
-/* 8027D13C 00278D9C F3 C1 00 28 */ psq_st f30, 40(r1), 0, qr0
-/* 8027D140 00278DA0 FF C0 08 90 */ fmr f30, f1
-/* 8027D144 00278DA4 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 8027D148 00278DA8 7C 7F 1B 78 */ mr r31, r3
-/* 8027D14C 00278DAC 7C 83 23 78 */ mr r3, r4
-/* 8027D150 00278DB0 38 81 00 08 */ addi r4, r1, 8
-/* 8027D154 00278DB4 4B FF FB D5 */ bl func_8027CD28
-/* 8027D158 00278DB8 C0 02 A0 C0 */ lfs f0, lbl_806426C0-_SDA2_BASE_(r2)
-/* 8027D15C 00278DBC EF C0 07 B2 */ fmuls f30, f0, f30
-/* 8027D160 00278DC0 FC 20 F0 90 */ fmr f1, f30
-/* 8027D164 00278DC4 4B F5 73 21 */ bl sin
-/* 8027D168 00278DC8 FF E0 08 18 */ frsp f31, f1
-/* 8027D16C 00278DCC FC 20 F0 90 */ fmr f1, f30
-/* 8027D170 00278DD0 4B F5 6F 09 */ bl cos
-/* 8027D174 00278DD4 C0 01 00 08 */ lfs f0, 8(r1)
-/* 8027D178 00278DD8 FC 20 08 18 */ frsp f1, f1
-/* 8027D17C 00278DDC EC 1F 00 32 */ fmuls f0, f31, f0
-/* 8027D180 00278DE0 D0 1F 00 00 */ stfs f0, 0(r31)
-/* 8027D184 00278DE4 C0 01 00 0C */ lfs f0, 0xc(r1)
-/* 8027D188 00278DE8 EC 1F 00 32 */ fmuls f0, f31, f0
-/* 8027D18C 00278DEC D0 1F 00 04 */ stfs f0, 4(r31)
-/* 8027D190 00278DF0 C0 01 00 10 */ lfs f0, 0x10(r1)
-/* 8027D194 00278DF4 EC 1F 00 32 */ fmuls f0, f31, f0
-/* 8027D198 00278DF8 D0 3F 00 0C */ stfs f1, 0xc(r31)
-/* 8027D19C 00278DFC D0 1F 00 08 */ stfs f0, 8(r31)
-/* 8027D1A0 00278E00 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0
-/* 8027D1A4 00278E04 CB E1 00 30 */ lfd f31, 0x30(r1)
-/* 8027D1A8 00278E08 E3 C1 00 28 */ psq_l f30, 40(r1), 0, qr0
-/* 8027D1AC 00278E0C CB C1 00 20 */ lfd f30, 0x20(r1)
-/* 8027D1B0 00278E10 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 8027D1B4 00278E14 80 01 00 44 */ lwz r0, 0x44(r1)
-/* 8027D1B8 00278E18 7C 08 03 A6 */ mtlr r0
-/* 8027D1BC 00278E1C 38 21 00 40 */ addi r1, r1, 0x40
-/* 8027D1C0 00278E20 4E 80 00 20 */ blr
-
-.global func_8027D1C4
-func_8027D1C4:
-/* 8027D1C4 00278E24 94 21 FF C0 */ stwu r1, -0x40(r1)
-/* 8027D1C8 00278E28 7C 08 02 A6 */ mflr r0
-/* 8027D1CC 00278E2C 90 01 00 44 */ stw r0, 0x44(r1)
-/* 8027D1D0 00278E30 39 61 00 40 */ addi r11, r1, 0x40
-/* 8027D1D4 00278E34 4B F4 9F 4D */ bl _savegpr_25
-/* 8027D1D8 00278E38 C0 64 00 00 */ lfs f3, 0(r4)
-/* 8027D1DC 00278E3C 3C C0 80 40 */ lis r6, lbl_80400004@ha
-/* 8027D1E0 00278E40 C0 44 00 14 */ lfs f2, 0x14(r4)
-/* 8027D1E4 00278E44 7C 7F 1B 78 */ mr r31, r3
-/* 8027D1E8 00278E48 84 A6 D9 A8 */ lwzu r5, -0x2658(r6)
-/* 8027D1EC 00278E4C 7C 99 23 78 */ mr r25, r4
-/* 8027D1F0 00278E50 EC 23 10 2A */ fadds f1, f3, f2
-/* 8027D1F4 00278E54 C0 04 00 28 */ lfs f0, 0x28(r4)
-/* 8027D1F8 00278E58 80 66 00 04 */ lwz r3, lbl_80400004@l(r6)
-/* 8027D1FC 00278E5C 80 06 00 08 */ lwz r0, 8(r6)
-/* 8027D200 00278E60 EC 20 08 2A */ fadds f1, f0, f1
-/* 8027D204 00278E64 C0 02 A0 BC */ lfs f0, lbl_806426BC-_SDA2_BASE_(r2)
-/* 8027D208 00278E68 90 A1 00 14 */ stw r5, 0x14(r1)
-/* 8027D20C 00278E6C FC 01 00 40 */ fcmpo cr0, f1, f0
-/* 8027D210 00278E70 90 61 00 18 */ stw r3, 0x18(r1)
-/* 8027D214 00278E74 90 01 00 1C */ stw r0, 0x1c(r1)
-/* 8027D218 00278E78 40 81 00 64 */ ble lbl_8027D27C
-/* 8027D21C 00278E7C C0 02 A0 B8 */ lfs f0, lbl_806426B8-_SDA2_BASE_(r2)
-/* 8027D220 00278E80 EC 20 08 2A */ fadds f1, f0, f1
-/* 8027D224 00278E84 4B F5 76 11 */ bl sqrt
-/* 8027D228 00278E88 FC E0 08 18 */ frsp f7, f1
-/* 8027D22C 00278E8C C0 C2 A0 C0 */ lfs f6, lbl_806426C0-_SDA2_BASE_(r2)
-/* 8027D230 00278E90 C0 B9 00 24 */ lfs f5, 0x24(r25)
-/* 8027D234 00278E94 C0 99 00 18 */ lfs f4, 0x18(r25)
-/* 8027D238 00278E98 ED 06 38 24 */ fdivs f8, f6, f7
-/* 8027D23C 00278E9C C0 79 00 08 */ lfs f3, 8(r25)
-/* 8027D240 00278EA0 C0 59 00 20 */ lfs f2, 0x20(r25)
-/* 8027D244 00278EA4 C0 39 00 10 */ lfs f1, 0x10(r25)
-/* 8027D248 00278EA8 C0 19 00 04 */ lfs f0, 4(r25)
-/* 8027D24C 00278EAC EC 85 20 28 */ fsubs f4, f5, f4
-/* 8027D250 00278EB0 EC 43 10 28 */ fsubs f2, f3, f2
-/* 8027D254 00278EB4 EC 01 00 28 */ fsubs f0, f1, f0
-/* 8027D258 00278EB8 EC A6 01 F2 */ fmuls f5, f6, f7
-/* 8027D25C 00278EBC EC 68 01 32 */ fmuls f3, f8, f4
-/* 8027D260 00278EC0 EC 28 00 B2 */ fmuls f1, f8, f2
-/* 8027D264 00278EC4 EC 08 00 32 */ fmuls f0, f8, f0
-/* 8027D268 00278EC8 D0 BF 00 0C */ stfs f5, 0xc(r31)
-/* 8027D26C 00278ECC D0 7F 00 00 */ stfs f3, 0(r31)
-/* 8027D270 00278ED0 D0 3F 00 04 */ stfs f1, 4(r31)
-/* 8027D274 00278ED4 D0 1F 00 08 */ stfs f0, 8(r31)
-/* 8027D278 00278ED8 48 00 01 00 */ b lbl_8027D378
-lbl_8027D27C:
-/* 8027D27C 00278EDC FC 02 18 40 */ fcmpo cr0, f2, f3
-/* 8027D280 00278EE0 38 A0 00 00 */ li r5, 0
-/* 8027D284 00278EE4 40 81 00 08 */ ble lbl_8027D28C
-/* 8027D288 00278EE8 38 A0 00 01 */ li r5, 1
-lbl_8027D28C:
-/* 8027D28C 00278EEC 54 A0 20 36 */ slwi r0, r5, 4
-/* 8027D290 00278EF0 54 A3 10 3A */ slwi r3, r5, 2
-/* 8027D294 00278EF4 7C 04 02 14 */ add r0, r4, r0
-/* 8027D298 00278EF8 C0 24 00 28 */ lfs f1, 0x28(r4)
-/* 8027D29C 00278EFC 7C 03 04 2E */ lfsx f0, r3, r0
-/* 8027D2A0 00278F00 FC 01 00 40 */ fcmpo cr0, f1, f0
-/* 8027D2A4 00278F04 40 81 00 08 */ ble lbl_8027D2AC
-/* 8027D2A8 00278F08 38 A0 00 02 */ li r5, 2
-lbl_8027D2AC:
-/* 8027D2AC 00278F0C 54 BA 10 3A */ slwi r26, r5, 2
-/* 8027D2B0 00278F10 38 61 00 14 */ addi r3, r1, 0x14
-/* 8027D2B4 00278F14 7C C3 D0 2E */ lwzx r6, r3, r26
-/* 8027D2B8 00278F18 54 A0 20 36 */ slwi r0, r5, 4
-/* 8027D2BC 00278F1C 7F 24 02 14 */ add r25, r4, r0
-/* 8027D2C0 00278F20 C0 02 A0 B8 */ lfs f0, lbl_806426B8-_SDA2_BASE_(r2)
-/* 8027D2C4 00278F24 54 DC 10 3A */ slwi r28, r6, 2
-/* 8027D2C8 00278F28 54 C0 20 36 */ slwi r0, r6, 4
-/* 8027D2CC 00278F2C 7C 63 E0 2E */ lwzx r3, r3, r28
-/* 8027D2D0 00278F30 7F A4 02 14 */ add r29, r4, r0
-/* 8027D2D4 00278F34 7C 7D E4 2E */ lfsx f3, r29, r28
-/* 8027D2D8 00278F38 54 60 20 36 */ slwi r0, r3, 4
-/* 8027D2DC 00278F3C 54 7E 10 3A */ slwi r30, r3, 2
-/* 8027D2E0 00278F40 7F 64 02 14 */ add r27, r4, r0
-/* 8027D2E4 00278F44 7C 39 D4 2E */ lfsx f1, r25, r26
-/* 8027D2E8 00278F48 7C 5B F4 2E */ lfsx f2, r27, r30
-/* 8027D2EC 00278F4C EC 43 10 2A */ fadds f2, f3, f2
-/* 8027D2F0 00278F50 EC 21 10 28 */ fsubs f1, f1, f2
-/* 8027D2F4 00278F54 EC 20 08 2A */ fadds f1, f0, f1
-/* 8027D2F8 00278F58 4B F5 75 3D */ bl sqrt
-/* 8027D2FC 00278F5C FC A0 08 18 */ frsp f5, f1
-/* 8027D300 00278F60 C0 42 A0 C0 */ lfs f2, lbl_806426C0-_SDA2_BASE_(r2)
-/* 8027D304 00278F64 C0 02 A0 BC */ lfs f0, lbl_806426BC-_SDA2_BASE_(r2)
-/* 8027D308 00278F68 38 61 00 08 */ addi r3, r1, 8
-/* 8027D30C 00278F6C EC 22 01 72 */ fmuls f1, f2, f5
-/* 8027D310 00278F70 FC 00 28 00 */ fcmpu cr0, f0, f5
-/* 8027D314 00278F74 7C 23 D5 2E */ stfsx f1, r3, r26
-/* 8027D318 00278F78 41 82 00 08 */ beq lbl_8027D320
-/* 8027D31C 00278F7C EC A2 28 24 */ fdivs f5, f2, f5
-lbl_8027D320:
-/* 8027D320 00278F80 7C 59 E4 2E */ lfsx f2, r25, r28
-/* 8027D324 00278F84 38 61 00 08 */ addi r3, r1, 8
-/* 8027D328 00278F88 7C 1D D4 2E */ lfsx f0, r29, r26
-/* 8027D32C 00278F8C 7C 39 F4 2E */ lfsx f1, r25, r30
-/* 8027D330 00278F90 EC 42 00 2A */ fadds f2, f2, f0
-/* 8027D334 00278F94 7C 1B D4 2E */ lfsx f0, r27, r26
-/* 8027D338 00278F98 7C 9B E4 2E */ lfsx f4, r27, r28
-/* 8027D33C 00278F9C EC 01 00 2A */ fadds f0, f1, f0
-/* 8027D340 00278FA0 7C 7D F4 2E */ lfsx f3, r29, r30
-/* 8027D344 00278FA4 EC 25 00 B2 */ fmuls f1, f5, f2
-/* 8027D348 00278FA8 EC 44 18 28 */ fsubs f2, f4, f3
-/* 8027D34C 00278FAC EC 05 00 32 */ fmuls f0, f5, f0
-/* 8027D350 00278FB0 7C 23 E5 2E */ stfsx f1, r3, r28
-/* 8027D354 00278FB4 EC 65 00 B2 */ fmuls f3, f5, f2
-/* 8027D358 00278FB8 7C 03 F5 2E */ stfsx f0, r3, r30
-/* 8027D35C 00278FBC C0 41 00 08 */ lfs f2, 8(r1)
-/* 8027D360 00278FC0 C0 21 00 0C */ lfs f1, 0xc(r1)
-/* 8027D364 00278FC4 C0 01 00 10 */ lfs f0, 0x10(r1)
-/* 8027D368 00278FC8 D0 7F 00 0C */ stfs f3, 0xc(r31)
-/* 8027D36C 00278FCC D0 5F 00 00 */ stfs f2, 0(r31)
-/* 8027D370 00278FD0 D0 3F 00 04 */ stfs f1, 4(r31)
-/* 8027D374 00278FD4 D0 1F 00 08 */ stfs f0, 8(r31)
-lbl_8027D378:
-/* 8027D378 00278FD8 39 61 00 40 */ addi r11, r1, 0x40
-/* 8027D37C 00278FDC 4B F4 9D F1 */ bl _restgpr_25
-/* 8027D380 00278FE0 80 01 00 44 */ lwz r0, 0x44(r1)
-/* 8027D384 00278FE4 7C 08 03 A6 */ mtlr r0
-/* 8027D388 00278FE8 38 21 00 40 */ addi r1, r1, 0x40
-/* 8027D38C 00278FEC 4E 80 00 20 */ blr
-
-.global func_8027D390
-func_8027D390:
-/* 8027D390 00278FF0 94 21 FF A0 */ stwu r1, -0x60(r1)
-/* 8027D394 00278FF4 7C 08 02 A6 */ mflr r0
-/* 8027D398 00278FF8 90 01 00 64 */ stw r0, 0x64(r1)
-/* 8027D39C 00278FFC DB E1 00 50 */ stfd f31, 0x50(r1)
-/* 8027D3A0 00279000 F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0
-/* 8027D3A4 00279004 DB C1 00 40 */ stfd f30, 0x40(r1)
-/* 8027D3A8 00279008 F3 C1 00 48 */ psq_st f30, 72(r1), 0, qr0
-/* 8027D3AC 0027900C DB A1 00 30 */ stfd f29, 0x30(r1)
-/* 8027D3B0 00279010 F3 A1 00 38 */ psq_st f29, 56(r1), 0, qr0
-/* 8027D3B4 00279014 DB 81 00 20 */ stfd f28, 0x20(r1)
-/* 8027D3B8 00279018 F3 81 00 28 */ psq_st f28, 40(r1), 0, qr0
-/* 8027D3BC 0027901C FF E0 08 90 */ fmr f31, f1
-/* 8027D3C0 00279020 C0 83 00 00 */ lfs f4, 0(r3)
-/* 8027D3C4 00279024 C0 64 00 00 */ lfs f3, 0(r4)
-/* 8027D3C8 00279028 C0 43 00 04 */ lfs f2, 4(r3)
-/* 8027D3CC 0027902C C0 04 00 04 */ lfs f0, 4(r4)
-/* 8027D3D0 00279030 EC 64 00 F2 */ fmuls f3, f4, f3
-/* 8027D3D4 00279034 C0 83 00 08 */ lfs f4, 8(r3)
-/* 8027D3D8 00279038 EC 02 00 32 */ fmuls f0, f2, f0
-/* 8027D3DC 0027903C C0 44 00 08 */ lfs f2, 8(r4)
-/* 8027D3E0 00279040 C0 C3 00 0C */ lfs f6, 0xc(r3)
-/* 8027D3E4 00279044 EC 84 00 B2 */ fmuls f4, f4, f2
-/* 8027D3E8 00279048 C0 A4 00 0C */ lfs f5, 0xc(r4)
-/* 8027D3EC 0027904C EC 43 00 2A */ fadds f2, f3, f0
-/* 8027D3F0 00279050 EC 66 01 72 */ fmuls f3, f6, f5
-/* 8027D3F4 00279054 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 8027D3F8 00279058 C0 02 A0 BC */ lfs f0, lbl_806426BC-_SDA2_BASE_(r2)
-/* 8027D3FC 0027905C EC 44 10 2A */ fadds f2, f4, f2
-/* 8027D400 00279060 93 C1 00 18 */ stw r30, 0x18(r1)
-/* 8027D404 00279064 C3 C2 A0 B8 */ lfs f30, lbl_806426B8-_SDA2_BASE_(r2)
-/* 8027D408 00279068 93 A1 00 14 */ stw r29, 0x14(r1)
-/* 8027D40C 0027906C 7C 7D 1B 78 */ mr r29, r3
-/* 8027D410 00279070 EC 43 10 2A */ fadds f2, f3, f2
-/* 8027D414 00279074 7C 9E 23 78 */ mr r30, r4
-/* 8027D418 00279078 7C BF 2B 78 */ mr r31, r5
-/* 8027D41C 0027907C FC 02 00 40 */ fcmpo cr0, f2, f0
-/* 8027D420 00279080 40 80 00 0C */ bge lbl_8027D42C
-/* 8027D424 00279084 FC 40 10 50 */ fneg f2, f2
-/* 8027D428 00279088 FF C0 F0 50 */ fneg f30, f30
-lbl_8027D42C:
-/* 8027D42C 0027908C C0 02 A0 C4 */ lfs f0, lbl_806426C4-_SDA2_BASE_(r2)
-/* 8027D430 00279090 FC 02 00 40 */ fcmpo cr0, f2, f0
-/* 8027D434 00279094 4C 40 13 82 */ cror 2, 0, 2
-/* 8027D438 00279098 40 82 00 4C */ bne lbl_8027D484
-/* 8027D43C 0027909C FC 20 10 90 */ fmr f1, f2
-/* 8027D440 002790A0 4B F5 71 95 */ bl acos
-/* 8027D444 002790A4 FF A0 08 18 */ frsp f29, f1
-/* 8027D448 002790A8 FC 20 E8 90 */ fmr f1, f29
-/* 8027D44C 002790AC 4B F5 70 39 */ bl sin
-/* 8027D450 002790B0 C0 02 A0 B8 */ lfs f0, lbl_806426B8-_SDA2_BASE_(r2)
-/* 8027D454 002790B4 FF 80 08 18 */ frsp f28, f1
-/* 8027D458 002790B8 EC 00 F8 28 */ fsubs f0, f0, f31
-/* 8027D45C 002790BC EC 20 07 72 */ fmuls f1, f0, f29
-/* 8027D460 002790C0 4B F5 70 25 */ bl sin
-/* 8027D464 002790C4 FC 00 08 18 */ frsp f0, f1
-/* 8027D468 002790C8 EC 3F 07 72 */ fmuls f1, f31, f29
-/* 8027D46C 002790CC EF E0 E0 24 */ fdivs f31, f0, f28
-/* 8027D470 002790D0 4B F5 70 15 */ bl sin
-/* 8027D474 002790D4 FC 00 08 18 */ frsp f0, f1
-/* 8027D478 002790D8 EC 00 E0 24 */ fdivs f0, f0, f28
-/* 8027D47C 002790DC EF DE 00 32 */ fmuls f30, f30, f0
-/* 8027D480 002790E0 48 00 00 10 */ b lbl_8027D490
-lbl_8027D484:
-/* 8027D484 002790E4 C0 02 A0 B8 */ lfs f0, lbl_806426B8-_SDA2_BASE_(r2)
-/* 8027D488 002790E8 EF DE 00 72 */ fmuls f30, f30, f1
-/* 8027D48C 002790EC EF E0 08 28 */ fsubs f31, f0, f1
-lbl_8027D490:
-/* 8027D490 002790F0 C0 1D 00 00 */ lfs f0, 0(r29)
-/* 8027D494 002790F4 C0 5E 00 00 */ lfs f2, 0(r30)
-/* 8027D498 002790F8 C0 3D 00 04 */ lfs f1, 4(r29)
-/* 8027D49C 002790FC EC FF 00 32 */ fmuls f7, f31, f0
-/* 8027D4A0 00279100 C0 1E 00 04 */ lfs f0, 4(r30)
-/* 8027D4A4 00279104 EC DE 00 B2 */ fmuls f6, f30, f2
-/* 8027D4A8 00279108 C0 7D 00 08 */ lfs f3, 8(r29)
-/* 8027D4AC 0027910C EC BF 00 72 */ fmuls f5, f31, f1
-/* 8027D4B0 00279110 EC 9E 00 32 */ fmuls f4, f30, f0
-/* 8027D4B4 00279114 C0 5E 00 08 */ lfs f2, 8(r30)
-/* 8027D4B8 00279118 EC 7F 00 F2 */ fmuls f3, f31, f3
-/* 8027D4BC 0027911C C0 3D 00 0C */ lfs f1, 0xc(r29)
-/* 8027D4C0 00279120 EC C7 30 2A */ fadds f6, f7, f6
-/* 8027D4C4 00279124 C0 1E 00 0C */ lfs f0, 0xc(r30)
-/* 8027D4C8 00279128 EC 5E 00 B2 */ fmuls f2, f30, f2
-/* 8027D4CC 0027912C EC 85 20 2A */ fadds f4, f5, f4
-/* 8027D4D0 00279130 D0 DF 00 00 */ stfs f6, 0(r31)
-/* 8027D4D4 00279134 EC 3F 00 72 */ fmuls f1, f31, f1
-/* 8027D4D8 00279138 EC 1E 00 32 */ fmuls f0, f30, f0
-/* 8027D4DC 0027913C EC 43 10 2A */ fadds f2, f3, f2
-/* 8027D4E0 00279140 D0 9F 00 04 */ stfs f4, 4(r31)
-/* 8027D4E4 00279144 EC 01 00 2A */ fadds f0, f1, f0
-/* 8027D4E8 00279148 D0 5F 00 08 */ stfs f2, 8(r31)
-/* 8027D4EC 0027914C D0 1F 00 0C */ stfs f0, 0xc(r31)
-/* 8027D4F0 00279150 E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0
-/* 8027D4F4 00279154 CB E1 00 50 */ lfd f31, 0x50(r1)
-/* 8027D4F8 00279158 E3 C1 00 48 */ psq_l f30, 72(r1), 0, qr0
-/* 8027D4FC 0027915C CB C1 00 40 */ lfd f30, 0x40(r1)
-/* 8027D500 00279160 E3 A1 00 38 */ psq_l f29, 56(r1), 0, qr0
-/* 8027D504 00279164 CB A1 00 30 */ lfd f29, 0x30(r1)
-/* 8027D508 00279168 E3 81 00 28 */ psq_l f28, 40(r1), 0, qr0
-/* 8027D50C 0027916C CB 81 00 20 */ lfd f28, 0x20(r1)
-/* 8027D510 00279170 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 8027D514 00279174 83 C1 00 18 */ lwz r30, 0x18(r1)
-/* 8027D518 00279178 83 A1 00 14 */ lwz r29, 0x14(r1)
-/* 8027D51C 0027917C 80 01 00 64 */ lwz r0, 0x64(r1)
-/* 8027D520 00279180 7C 08 03 A6 */ mtlr r0
-/* 8027D524 00279184 38 21 00 60 */ addi r1, r1, 0x60
-/* 8027D528 00279188 4E 80 00 20 */ blr
-
-.global func_8027D52C
-func_8027D52C:
-/* 8027D52C 0027918C 94 21 FF A0 */ stwu r1, -0x60(r1)
-/* 8027D530 00279190 7C 08 02 A6 */ mflr r0
-/* 8027D534 00279194 90 01 00 64 */ stw r0, 0x64(r1)
-/* 8027D538 00279198 DB E1 00 50 */ stfd f31, 0x50(r1)
-/* 8027D53C 0027919C F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0
-/* 8027D540 002791A0 DB C1 00 40 */ stfd f30, 0x40(r1)
-/* 8027D544 002791A4 F3 C1 00 48 */ psq_st f30, 72(r1), 0, qr0
-/* 8027D548 002791A8 FF C0 08 90 */ fmr f30, f1
-/* 8027D54C 002791AC C0 42 A0 C8 */ lfs f2, lbl_806426C8-_SDA2_BASE_(r2)
-/* 8027D550 002791B0 93 E1 00 3C */ stw r31, 0x3c(r1)
-/* 8027D554 002791B4 7C FF 3B 78 */ mr r31, r7
-/* 8027D558 002791B8 C0 02 A0 B8 */ lfs f0, lbl_806426B8-_SDA2_BASE_(r2)
-/* 8027D55C 002791BC EC 42 00 72 */ fmuls f2, f2, f1
-/* 8027D560 002791C0 93 C1 00 38 */ stw r30, 0x38(r1)
-/* 8027D564 002791C4 7C BE 2B 78 */ mr r30, r5
-/* 8027D568 002791C8 EC 00 08 28 */ fsubs f0, f0, f1
-/* 8027D56C 002791CC 38 A1 00 18 */ addi r5, r1, 0x18
-/* 8027D570 002791D0 93 A1 00 34 */ stw r29, 0x34(r1)
-/* 8027D574 002791D4 7C 9D 23 78 */ mr r29, r4
-/* 8027D578 002791D8 7C C4 33 78 */ mr r4, r6
-/* 8027D57C 002791DC EF E2 00 32 */ fmuls f31, f2, f0
-/* 8027D580 002791E0 4B FF FE 11 */ bl func_8027D390
-/* 8027D584 002791E4 FC 20 F0 90 */ fmr f1, f30
-/* 8027D588 002791E8 7F A3 EB 78 */ mr r3, r29
-/* 8027D58C 002791EC 7F C4 F3 78 */ mr r4, r30
-/* 8027D590 002791F0 38 A1 00 08 */ addi r5, r1, 8
-/* 8027D594 002791F4 4B FF FD FD */ bl func_8027D390
-/* 8027D598 002791F8 FC 20 F8 90 */ fmr f1, f31
-/* 8027D59C 002791FC 7F E5 FB 78 */ mr r5, r31
-/* 8027D5A0 00279200 38 61 00 18 */ addi r3, r1, 0x18
-/* 8027D5A4 00279204 38 81 00 08 */ addi r4, r1, 8
-/* 8027D5A8 00279208 4B FF FD E9 */ bl func_8027D390
-/* 8027D5AC 0027920C E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0
-/* 8027D5B0 00279210 CB E1 00 50 */ lfd f31, 0x50(r1)
-/* 8027D5B4 00279214 E3 C1 00 48 */ psq_l f30, 72(r1), 0, qr0
-/* 8027D5B8 00279218 CB C1 00 40 */ lfd f30, 0x40(r1)
-/* 8027D5BC 0027921C 83 E1 00 3C */ lwz r31, 0x3c(r1)
-/* 8027D5C0 00279220 83 C1 00 38 */ lwz r30, 0x38(r1)
-/* 8027D5C4 00279224 80 01 00 64 */ lwz r0, 0x64(r1)
-/* 8027D5C8 00279228 83 A1 00 34 */ lwz r29, 0x34(r1)
-/* 8027D5CC 0027922C 7C 08 03 A6 */ mtlr r0
-/* 8027D5D0 00279230 38 21 00 60 */ addi r1, r1, 0x60
-/* 8027D5D4 00279234 4E 80 00 20 */ blr
-
-.global func_8027D5D8
-func_8027D5D8:
-/* 8027D5D8 00279238 E0 03 00 00 */ psq_l f0, 0(r3), 0, qr0
-/* 8027D5DC 0027923C E0 43 00 10 */ psq_l f2, 16(r3), 0, qr0
-/* 8027D5E0 00279240 E0 83 00 20 */ psq_l f4, 32(r3), 0, qr0
-/* 8027D5E4 00279244 E0 23 00 08 */ psq_l f1, 8(r3), 0, qr0
-/* 8027D5E8 00279248 10 C0 14 20 */ ps_merge00 f6, f0, f2
-/* 8027D5EC 0027924C E0 63 00 18 */ psq_l f3, 24(r3), 0, qr0
-/* 8027D5F0 00279250 11 84 04 60 */ ps_merge01 f12, f4, f0
-/* 8027D5F4 00279254 E0 A3 00 28 */ psq_l f5, 40(r3), 0, qr0
-/* 8027D5F8 00279258 10 E2 24 E0 */ ps_merge11 f7, f2, f4
-/* 8027D5FC 0027925C F0 C4 00 00 */ psq_st f6, 0(r4), 0, qr0
-/* 8027D600 00279260 11 01 1C 20 */ ps_merge00 f8, f1, f3
-/* 8027D604 00279264 F1 84 00 08 */ psq_st f12, 8(r4), 0, qr0
-/* 8027D608 00279268 11 25 0C 60 */ ps_merge01 f9, f5, f1
-/* 8027D60C 0027926C F0 E4 00 10 */ psq_st f7, 16(r4), 0, qr0
-/* 8027D610 00279270 11 43 2C E0 */ ps_merge11 f10, f3, f5
-/* 8027D614 00279274 F1 04 00 18 */ psq_st f8, 24(r4), 0, qr0
-/* 8027D618 00279278 F1 24 00 20 */ psq_st f9, 32(r4), 0, qr0
-/* 8027D61C 0027927C F1 44 00 28 */ psq_st f10, 40(r4), 0, qr0
-/* 8027D620 00279280 4E 80 00 20 */ blr
lbl_8027D624:
/* 8027D624 00279284 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8027D628 00279288 7C 08 02 A6 */ mflr r0
diff --git a/obj_files.mk b/obj_files.mk
index 5ac3625..c0c392d 100644
--- a/obj_files.mk
+++ b/obj_files.mk
@@ -154,6 +154,11 @@ TEXT_O_FILES := \
$(BUILD_DIR)/asm/SDK/VI/vi.o \
$(BUILD_DIR)/asm/SDK/VI/i2c.o \
$(BUILD_DIR)/asm/SDK/VI/vi3in1.o \
+ $(BUILD_DIR)/asm/SDK/MTX/mtx.o \
+ $(BUILD_DIR)/asm/SDK/MTX/mtxvec.o \
+ $(BUILD_DIR)/asm/SDK/MTX/mtx44.o \
+ $(BUILD_DIR)/asm/SDK/MTX/vec.o \
+ $(BUILD_DIR)/asm/SDK/MTX/quat.o \
$(BUILD_DIR)/asm/text_8.o \
$(BUILD_DIR)/asm/text_9.o \
$(BUILD_DIR)/asm/text_10.o \