Merge pull request #369 from hatal175/J3DSkinDeform

Work on J3DSkinDeform
This commit is contained in:
hatal175
2023-07-14 13:01:45 +03:00
committed by GitHub
29 changed files with 840 additions and 1282 deletions
+4 -4
View File
@@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes)
.init | 97.972973% | 9280 | 9472
.extab | 100.000000% | 96 | 96
.extabindex | 100.000000% | 96 | 96
.text | 28.373683% | 1020472 | 3596544
.text | 28.487793% | 1024576 | 3596544
.ctors | 100.000000% | 448 | 448
.dtors | 100.000000% | 32 | 32
.rodata | 100.000000% | 193856 | 193856
.data | 100.000000% | 197632 | 197632
.sdata | 100.000000% | 1408 | 1408
.sdata2 | 100.000000% | 20832 | 20832
Total | 35.924542% | 1444408 | 4020672
Total | 36.026614% | 1448512 | 4020672
## Total
Section | Percentage | Decompiled (bytes) | Total (bytes)
---|---|---|---
main.dol | 35.924542% | 1444408 | 4020672
main.dol | 36.026614% | 1448512 | 4020672
RELs | 33.847533% | 3892576 | 11500324
Total | 34.385577% | 5336984 | 15520996
Total | 34.412018% | 5341088 | 15520996
## RELs
@@ -1,41 +0,0 @@
lbl_8032C7BC:
/* 8032C7BC C0 03 00 00 */ lfs f0, 0(r3)
/* 8032C7C0 C0 44 00 00 */ lfs f2, 0(r4)
/* 8032C7C4 EC 60 00 B2 */ fmuls f3, f0, f2
/* 8032C7C8 C0 03 00 10 */ lfs f0, 0x10(r3)
/* 8032C7CC EC 80 00 B2 */ fmuls f4, f0, f2
/* 8032C7D0 C0 03 00 20 */ lfs f0, 0x20(r3)
/* 8032C7D4 EC A0 00 B2 */ fmuls f5, f0, f2
/* 8032C7D8 C0 03 00 04 */ lfs f0, 4(r3)
/* 8032C7DC C0 44 00 04 */ lfs f2, 4(r4)
/* 8032C7E0 EC 00 00 B2 */ fmuls f0, f0, f2
/* 8032C7E4 EC 63 00 2A */ fadds f3, f3, f0
/* 8032C7E8 C0 03 00 14 */ lfs f0, 0x14(r3)
/* 8032C7EC EC 00 00 B2 */ fmuls f0, f0, f2
/* 8032C7F0 EC 84 00 2A */ fadds f4, f4, f0
/* 8032C7F4 C0 03 00 24 */ lfs f0, 0x24(r3)
/* 8032C7F8 EC 00 00 B2 */ fmuls f0, f0, f2
/* 8032C7FC EC A5 00 2A */ fadds f5, f5, f0
/* 8032C800 C0 03 00 08 */ lfs f0, 8(r3)
/* 8032C804 C0 44 00 08 */ lfs f2, 8(r4)
/* 8032C808 EC 00 00 B2 */ fmuls f0, f0, f2
/* 8032C80C EC 63 00 2A */ fadds f3, f3, f0
/* 8032C810 C0 03 00 18 */ lfs f0, 0x18(r3)
/* 8032C814 EC 00 00 B2 */ fmuls f0, f0, f2
/* 8032C818 EC 84 00 2A */ fadds f4, f4, f0
/* 8032C81C C0 03 00 28 */ lfs f0, 0x28(r3)
/* 8032C820 EC 00 00 B2 */ fmuls f0, f0, f2
/* 8032C824 EC A5 00 2A */ fadds f5, f5, f0
/* 8032C828 C0 45 00 00 */ lfs f2, 0(r5)
/* 8032C82C EC 03 00 72 */ fmuls f0, f3, f1
/* 8032C830 EC 02 00 2A */ fadds f0, f2, f0
/* 8032C834 D0 05 00 00 */ stfs f0, 0(r5)
/* 8032C838 C0 45 00 04 */ lfs f2, 4(r5)
/* 8032C83C EC 04 00 72 */ fmuls f0, f4, f1
/* 8032C840 EC 02 00 2A */ fadds f0, f2, f0
/* 8032C844 D0 05 00 04 */ stfs f0, 4(r5)
/* 8032C848 C0 45 00 08 */ lfs f2, 8(r5)
/* 8032C84C EC 05 00 72 */ fmuls f0, f5, f1
/* 8032C850 EC 02 00 2A */ fadds f0, f2, f0
/* 8032C854 D0 05 00 08 */ stfs f0, 8(r5)
/* 8032C858 4E 80 00 20 */ blr
@@ -1,47 +0,0 @@
lbl_8032C704:
/* 8032C704 C0 43 00 0C */ lfs f2, 0xc(r3)
/* 8032C708 C0 03 00 00 */ lfs f0, 0(r3)
/* 8032C70C C0 64 00 00 */ lfs f3, 0(r4)
/* 8032C710 EC 00 00 F2 */ fmuls f0, f0, f3
/* 8032C714 EC 82 00 2A */ fadds f4, f2, f0
/* 8032C718 C0 43 00 1C */ lfs f2, 0x1c(r3)
/* 8032C71C C0 03 00 10 */ lfs f0, 0x10(r3)
/* 8032C720 EC 00 00 F2 */ fmuls f0, f0, f3
/* 8032C724 EC A2 00 2A */ fadds f5, f2, f0
/* 8032C728 C0 43 00 2C */ lfs f2, 0x2c(r3)
/* 8032C72C C0 03 00 20 */ lfs f0, 0x20(r3)
/* 8032C730 EC 00 00 F2 */ fmuls f0, f0, f3
/* 8032C734 EC 62 00 2A */ fadds f3, f2, f0
/* 8032C738 C0 03 00 04 */ lfs f0, 4(r3)
/* 8032C73C C0 44 00 04 */ lfs f2, 4(r4)
/* 8032C740 EC 00 00 B2 */ fmuls f0, f0, f2
/* 8032C744 EC 84 00 2A */ fadds f4, f4, f0
/* 8032C748 C0 03 00 14 */ lfs f0, 0x14(r3)
/* 8032C74C EC 00 00 B2 */ fmuls f0, f0, f2
/* 8032C750 EC A5 00 2A */ fadds f5, f5, f0
/* 8032C754 C0 03 00 24 */ lfs f0, 0x24(r3)
/* 8032C758 EC 00 00 B2 */ fmuls f0, f0, f2
/* 8032C75C EC 63 00 2A */ fadds f3, f3, f0
/* 8032C760 C0 03 00 08 */ lfs f0, 8(r3)
/* 8032C764 C0 44 00 08 */ lfs f2, 8(r4)
/* 8032C768 EC 00 00 B2 */ fmuls f0, f0, f2
/* 8032C76C EC 84 00 2A */ fadds f4, f4, f0
/* 8032C770 C0 03 00 18 */ lfs f0, 0x18(r3)
/* 8032C774 EC 00 00 B2 */ fmuls f0, f0, f2
/* 8032C778 EC A5 00 2A */ fadds f5, f5, f0
/* 8032C77C C0 03 00 28 */ lfs f0, 0x28(r3)
/* 8032C780 EC 00 00 B2 */ fmuls f0, f0, f2
/* 8032C784 EC 63 00 2A */ fadds f3, f3, f0
/* 8032C788 C0 45 00 00 */ lfs f2, 0(r5)
/* 8032C78C EC 04 00 72 */ fmuls f0, f4, f1
/* 8032C790 EC 02 00 2A */ fadds f0, f2, f0
/* 8032C794 D0 05 00 00 */ stfs f0, 0(r5)
/* 8032C798 C0 45 00 04 */ lfs f2, 4(r5)
/* 8032C79C EC 05 00 72 */ fmuls f0, f5, f1
/* 8032C7A0 EC 02 00 2A */ fadds f0, f2, f0
/* 8032C7A4 D0 05 00 04 */ stfs f0, 4(r5)
/* 8032C7A8 C0 45 00 08 */ lfs f2, 8(r5)
/* 8032C7AC EC 03 00 72 */ fmuls f0, f3, f1
/* 8032C7B0 EC 02 00 2A */ fadds f0, f2, f0
/* 8032C7B4 D0 05 00 08 */ stfs f0, 8(r5)
/* 8032C7B8 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_8032C6E4:
/* 8032C6E4 38 00 00 00 */ li r0, 0
/* 8032C6E8 90 03 00 00 */ stw r0, 0(r3)
/* 8032C6EC 90 03 00 04 */ stw r0, 4(r3)
/* 8032C6F0 90 03 00 08 */ stw r0, 8(r3)
/* 8032C6F4 90 03 00 0C */ stw r0, 0xc(r3)
/* 8032C6F8 B0 03 00 10 */ sth r0, 0x10(r3)
/* 8032C6FC B0 03 00 12 */ sth r0, 0x12(r3)
/* 8032C700 4E 80 00 20 */ blr
@@ -1,18 +0,0 @@
lbl_8032C96C:
/* 8032C96C 3C 80 80 3D */ lis r4, __vt__13J3DSkinDeform@ha /* 0x803CEE70@ha */
/* 8032C970 38 04 EE 70 */ addi r0, r4, __vt__13J3DSkinDeform@l /* 0x803CEE70@l */
/* 8032C974 90 03 00 00 */ stw r0, 0(r3)
/* 8032C978 38 80 00 00 */ li r4, 0
/* 8032C97C 90 83 00 04 */ stw r4, 4(r3)
/* 8032C980 90 83 00 08 */ stw r4, 8(r3)
/* 8032C984 90 83 00 0C */ stw r4, 0xc(r3)
/* 8032C988 90 83 00 10 */ stw r4, 0x10(r3)
/* 8032C98C 38 00 00 03 */ li r0, 3
/* 8032C990 90 03 00 14 */ stw r0, 0x14(r3)
/* 8032C994 38 00 00 01 */ li r0, 1
/* 8032C998 98 03 00 18 */ stb r0, 0x18(r3)
/* 8032C99C 98 83 00 19 */ stb r4, 0x19(r3)
/* 8032C9A0 90 83 00 1C */ stw r4, 0x1c(r3)
/* 8032C9A4 90 83 00 20 */ stw r4, 0x20(r3)
/* 8032C9A8 90 83 00 24 */ stw r4, 0x24(r3)
/* 8032C9AC 4E 80 00 20 */ blr
@@ -1,20 +0,0 @@
lbl_8032E1B0:
/* 8032E1B0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8032E1B4 7C 08 02 A6 */ mflr r0
/* 8032E1B8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8032E1BC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8032E1C0 7C 7F 1B 79 */ or. r31, r3, r3
/* 8032E1C4 41 82 00 1C */ beq lbl_8032E1E0
/* 8032E1C8 3C A0 80 3D */ lis r5, __vt__13J3DSkinDeform@ha /* 0x803CEE70@ha */
/* 8032E1CC 38 05 EE 70 */ addi r0, r5, __vt__13J3DSkinDeform@l /* 0x803CEE70@l */
/* 8032E1D0 90 1F 00 00 */ stw r0, 0(r31)
/* 8032E1D4 7C 80 07 35 */ extsh. r0, r4
/* 8032E1D8 40 81 00 08 */ ble lbl_8032E1E0
/* 8032E1DC 4B FA 0B 61 */ bl __dl__FPv
lbl_8032E1E0:
/* 8032E1E0 7F E3 FB 78 */ mr r3, r31
/* 8032E1E4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8032E1E8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8032E1EC 7C 08 03 A6 */ mtlr r0
/* 8032E1F0 38 21 00 10 */ addi r1, r1, 0x10
/* 8032E1F4 4E 80 00 20 */ blr
@@ -1,34 +0,0 @@
lbl_8032D87C:
/* 8032D87C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8032D880 7C 08 02 A6 */ mflr r0
/* 8032D884 90 01 00 24 */ stw r0, 0x24(r1)
/* 8032D888 39 61 00 20 */ addi r11, r1, 0x20
/* 8032D88C 48 03 49 45 */ bl _savegpr_26
/* 8032D890 80 A4 00 00 */ lwz r5, 0(r4)
/* 8032D894 A0 05 00 1E */ lhz r0, 0x1e(r5)
/* 8032D898 28 00 00 00 */ cmplwi r0, 0
/* 8032D89C 41 82 00 40 */ beq lbl_8032D8DC
/* 8032D8A0 A3 C5 00 1C */ lhz r30, 0x1c(r5)
/* 8032D8A4 83 84 00 0C */ lwz r28, 0xc(r4)
/* 8032D8A8 83 A5 00 2C */ lwz r29, 0x2c(r5)
/* 8032D8AC 83 63 00 0C */ lwz r27, 0xc(r3)
/* 8032D8B0 3B 40 00 00 */ li r26, 0
/* 8032D8B4 3B E0 00 00 */ li r31, 0
/* 8032D8B8 48 00 00 1C */ b lbl_8032D8D4
lbl_8032D8BC:
/* 8032D8BC 7C 7C FA 14 */ add r3, r28, r31
/* 8032D8C0 7C 9D FA 14 */ add r4, r29, r31
/* 8032D8C4 7C BB FA 14 */ add r5, r27, r31
/* 8032D8C8 48 01 8C 1D */ bl PSMTXConcat
/* 8032D8CC 3B 5A 00 01 */ addi r26, r26, 1
/* 8032D8D0 3B FF 00 30 */ addi r31, r31, 0x30
lbl_8032D8D4:
/* 8032D8D4 7C 1A F0 00 */ cmpw r26, r30
/* 8032D8D8 41 80 FF E4 */ blt lbl_8032D8BC
lbl_8032D8DC:
/* 8032D8DC 39 61 00 20 */ addi r11, r1, 0x20
/* 8032D8E0 48 03 49 3D */ bl _restgpr_26
/* 8032D8E4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8032D8E8 7C 08 03 A6 */ mtlr r0
/* 8032D8EC 38 21 00 20 */ addi r1, r1, 0x20
/* 8032D8F0 4E 80 00 20 */ blr
@@ -1,100 +0,0 @@
lbl_8032D5C4:
/* 8032D5C4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8032D5C8 7C 08 02 A6 */ mflr r0
/* 8032D5CC 90 01 00 24 */ stw r0, 0x24(r1)
/* 8032D5D0 39 61 00 20 */ addi r11, r1, 0x20
/* 8032D5D4 48 03 4C 01 */ bl _savegpr_27
/* 8032D5D8 7C 7C 1B 78 */ mr r28, r3
/* 8032D5DC 7C 9D 23 78 */ mr r29, r4
/* 8032D5E0 83 E4 00 00 */ lwz r31, 0(r4)
/* 8032D5E4 A3 7F 00 34 */ lhz r27, 0x34(r31)
/* 8032D5E8 3B C0 00 00 */ li r30, 0
/* 8032D5EC 48 00 01 28 */ b lbl_8032D714
lbl_8032D5F0:
/* 8032D5F0 80 7F 00 38 */ lwz r3, 0x38(r31)
/* 8032D5F4 57 C0 04 3E */ clrlwi r0, r30, 0x10
/* 8032D5F8 7C 63 00 AE */ lbzx r3, r3, r0
/* 8032D5FC 28 03 00 00 */ cmplwi r3, 0
/* 8032D600 40 82 00 8C */ bne lbl_8032D68C
/* 8032D604 80 BD 00 04 */ lwz r5, 4(r29)
/* 8032D608 80 9F 00 3C */ lwz r4, 0x3c(r31)
/* 8032D60C 54 03 08 3C */ slwi r3, r0, 1
/* 8032D610 7C C4 1A 2E */ lhzx r6, r4, r3
/* 8032D614 7C 65 30 AE */ lbzx r3, r5, r6
/* 8032D618 28 03 00 01 */ cmplwi r3, 1
/* 8032D61C 40 82 00 50 */ bne lbl_8032D66C
/* 8032D620 80 9D 00 0C */ lwz r4, 0xc(r29)
/* 8032D624 1C 66 00 30 */ mulli r3, r6, 0x30
/* 8032D628 7C 84 1A 14 */ add r4, r4, r3
/* 8032D62C 80 7C 00 10 */ lwz r3, 0x10(r28)
/* 8032D630 1C 00 00 24 */ mulli r0, r0, 0x24
/* 8032D634 7C 63 02 14 */ add r3, r3, r0
/* 8032D638 E0 A4 00 00 */ psq_l f5, 0(r4), 0, 0 /* qr0 */
/* 8032D63C C0 84 00 08 */ lfs f4, 8(r4)
/* 8032D640 E0 64 00 10 */ psq_l f3, 16(r4), 0, 0 /* qr0 */
/* 8032D644 C0 44 00 18 */ lfs f2, 0x18(r4)
/* 8032D648 E0 24 00 20 */ psq_l f1, 32(r4), 0, 0 /* qr0 */
/* 8032D64C C0 04 00 28 */ lfs f0, 0x28(r4)
/* 8032D650 F0 A3 00 00 */ psq_st f5, 0(r3), 0, 0 /* qr0 */
/* 8032D654 D0 83 00 08 */ stfs f4, 8(r3)
/* 8032D658 F0 63 00 0C */ psq_st f3, 12(r3), 0, 0 /* qr0 */
/* 8032D65C D0 43 00 14 */ stfs f2, 0x14(r3)
/* 8032D660 F0 23 00 18 */ psq_st f1, 24(r3), 0, 0 /* qr0 */
/* 8032D664 D0 03 00 20 */ stfs f0, 0x20(r3)
/* 8032D668 48 00 00 A8 */ b lbl_8032D710
lbl_8032D66C:
/* 8032D66C 80 9D 00 0C */ lwz r4, 0xc(r29)
/* 8032D670 1C 66 00 30 */ mulli r3, r6, 0x30
/* 8032D674 7C 64 1A 14 */ add r3, r4, r3
/* 8032D678 80 9C 00 10 */ lwz r4, 0x10(r28)
/* 8032D67C 1C 00 00 24 */ mulli r0, r0, 0x24
/* 8032D680 7C 84 02 14 */ add r4, r4, r0
/* 8032D684 4B FE 42 19 */ bl J3DPSCalcInverseTranspose__FPA4_fPA3_f
/* 8032D688 48 00 00 88 */ b lbl_8032D710
lbl_8032D68C:
/* 8032D68C 80 BD 00 08 */ lwz r5, 8(r29)
/* 8032D690 80 9F 00 3C */ lwz r4, 0x3c(r31)
/* 8032D694 54 03 08 3C */ slwi r3, r0, 1
/* 8032D698 7C C4 1A 2E */ lhzx r6, r4, r3
/* 8032D69C 7C 65 30 AE */ lbzx r3, r5, r6
/* 8032D6A0 28 03 00 01 */ cmplwi r3, 1
/* 8032D6A4 40 82 00 50 */ bne lbl_8032D6F4
/* 8032D6A8 80 9D 00 10 */ lwz r4, 0x10(r29)
/* 8032D6AC 1C 66 00 30 */ mulli r3, r6, 0x30
/* 8032D6B0 7C 84 1A 14 */ add r4, r4, r3
/* 8032D6B4 80 7C 00 10 */ lwz r3, 0x10(r28)
/* 8032D6B8 1C 00 00 24 */ mulli r0, r0, 0x24
/* 8032D6BC 7C 63 02 14 */ add r3, r3, r0
/* 8032D6C0 E0 A4 00 00 */ psq_l f5, 0(r4), 0, 0 /* qr0 */
/* 8032D6C4 C0 84 00 08 */ lfs f4, 8(r4)
/* 8032D6C8 E0 64 00 10 */ psq_l f3, 16(r4), 0, 0 /* qr0 */
/* 8032D6CC C0 44 00 18 */ lfs f2, 0x18(r4)
/* 8032D6D0 E0 24 00 20 */ psq_l f1, 32(r4), 0, 0 /* qr0 */
/* 8032D6D4 C0 04 00 28 */ lfs f0, 0x28(r4)
/* 8032D6D8 F0 A3 00 00 */ psq_st f5, 0(r3), 0, 0 /* qr0 */
/* 8032D6DC D0 83 00 08 */ stfs f4, 8(r3)
/* 8032D6E0 F0 63 00 0C */ psq_st f3, 12(r3), 0, 0 /* qr0 */
/* 8032D6E4 D0 43 00 14 */ stfs f2, 0x14(r3)
/* 8032D6E8 F0 23 00 18 */ psq_st f1, 24(r3), 0, 0 /* qr0 */
/* 8032D6EC D0 03 00 20 */ stfs f0, 0x20(r3)
/* 8032D6F0 48 00 00 20 */ b lbl_8032D710
lbl_8032D6F4:
/* 8032D6F4 80 9D 00 10 */ lwz r4, 0x10(r29)
/* 8032D6F8 1C 66 00 30 */ mulli r3, r6, 0x30
/* 8032D6FC 7C 64 1A 14 */ add r3, r4, r3
/* 8032D700 80 9C 00 10 */ lwz r4, 0x10(r28)
/* 8032D704 1C 00 00 24 */ mulli r0, r0, 0x24
/* 8032D708 7C 84 02 14 */ add r4, r4, r0
/* 8032D70C 4B FE 41 91 */ bl J3DPSCalcInverseTranspose__FPA4_fPA3_f
lbl_8032D710:
/* 8032D710 3B DE 00 01 */ addi r30, r30, 1
lbl_8032D714:
/* 8032D714 57 C0 04 3E */ clrlwi r0, r30, 0x10
/* 8032D718 7C 00 D8 40 */ cmplw r0, r27
/* 8032D71C 41 80 FE D4 */ blt lbl_8032D5F0
/* 8032D720 39 61 00 20 */ addi r11, r1, 0x20
/* 8032D724 48 03 4A FD */ bl _restgpr_27
/* 8032D728 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8032D72C 7C 08 03 A6 */ mtlr r0
/* 8032D730 38 21 00 20 */ addi r1, r1, 0x20
/* 8032D734 4E 80 00 20 */ blr
@@ -1,37 +0,0 @@
lbl_8032C8E4:
/* 8032C8E4 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8032C8E8 7C 08 02 A6 */ mflr r0
/* 8032C8EC 90 01 00 34 */ stw r0, 0x34(r1)
/* 8032C8F0 39 61 00 30 */ addi r11, r1, 0x30
/* 8032C8F4 48 03 58 D5 */ bl _savegpr_24
/* 8032C8F8 7C 78 1B 78 */ mr r24, r3
/* 8032C8FC 7C 99 23 78 */ mr r25, r4
/* 8032C900 7C BA 2B 78 */ mr r26, r5
/* 8032C904 7C DB 33 78 */ mr r27, r6
/* 8032C908 A3 A3 00 12 */ lhz r29, 0x12(r3)
/* 8032C90C 3B 80 00 00 */ li r28, 0
/* 8032C910 3B E0 00 00 */ li r31, 0
/* 8032C914 3B C0 00 00 */ li r30, 0
/* 8032C918 48 00 00 34 */ b lbl_8032C94C
lbl_8032C91C:
/* 8032C91C 80 78 00 04 */ lwz r3, 4(r24)
/* 8032C920 7C 03 F2 2E */ lhzx r0, r3, r30
/* 8032C924 1C 00 00 0C */ mulli r0, r0, 0xc
/* 8032C928 7F 23 CB 78 */ mr r3, r25
/* 8032C92C 80 98 00 0C */ lwz r4, 0xc(r24)
/* 8032C930 7C 24 FC 2E */ lfsx f1, r4, r31
/* 8032C934 7C 9A 02 14 */ add r4, r26, r0
/* 8032C938 7C BB 02 14 */ add r5, r27, r0
/* 8032C93C 4B FF FE 81 */ bl J3DPSWeightMTXMultVecSR__FPA4_ffP3VecP3Vec
/* 8032C940 3B 9C 00 01 */ addi r28, r28, 1
/* 8032C944 3B FF 00 04 */ addi r31, r31, 4
/* 8032C948 3B DE 00 02 */ addi r30, r30, 2
lbl_8032C94C:
/* 8032C94C 7C 1C E8 00 */ cmpw r28, r29
/* 8032C950 41 80 FF CC */ blt lbl_8032C91C
/* 8032C954 39 61 00 30 */ addi r11, r1, 0x30
/* 8032C958 48 03 58 BD */ bl _restgpr_24
/* 8032C95C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8032C960 7C 08 03 A6 */ mtlr r0
/* 8032C964 38 21 00 30 */ addi r1, r1, 0x30
/* 8032C968 4E 80 00 20 */ blr
@@ -1,37 +0,0 @@
lbl_8032C85C:
/* 8032C85C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8032C860 7C 08 02 A6 */ mflr r0
/* 8032C864 90 01 00 34 */ stw r0, 0x34(r1)
/* 8032C868 39 61 00 30 */ addi r11, r1, 0x30
/* 8032C86C 48 03 59 5D */ bl _savegpr_24
/* 8032C870 7C 78 1B 78 */ mr r24, r3
/* 8032C874 7C 99 23 78 */ mr r25, r4
/* 8032C878 7C BA 2B 78 */ mr r26, r5
/* 8032C87C 7C DB 33 78 */ mr r27, r6
/* 8032C880 A3 A3 00 10 */ lhz r29, 0x10(r3)
/* 8032C884 3B 80 00 00 */ li r28, 0
/* 8032C888 3B E0 00 00 */ li r31, 0
/* 8032C88C 3B C0 00 00 */ li r30, 0
/* 8032C890 48 00 00 34 */ b lbl_8032C8C4
lbl_8032C894:
/* 8032C894 80 78 00 00 */ lwz r3, 0(r24)
/* 8032C898 7C 03 F2 2E */ lhzx r0, r3, r30
/* 8032C89C 1C 00 00 0C */ mulli r0, r0, 0xc
/* 8032C8A0 7F 23 CB 78 */ mr r3, r25
/* 8032C8A4 80 98 00 08 */ lwz r4, 8(r24)
/* 8032C8A8 7C 24 FC 2E */ lfsx f1, r4, r31
/* 8032C8AC 7C 9A 02 14 */ add r4, r26, r0
/* 8032C8B0 7C BB 02 14 */ add r5, r27, r0
/* 8032C8B4 4B FF FE 51 */ bl J3DPSWeightMTXMultVec__FPA4_ffP3VecP3Vec
/* 8032C8B8 3B 9C 00 01 */ addi r28, r28, 1
/* 8032C8BC 3B FF 00 04 */ addi r31, r31, 4
/* 8032C8C0 3B DE 00 02 */ addi r30, r30, 2
lbl_8032C8C4:
/* 8032C8C4 7C 1C E8 00 */ cmpw r28, r29
/* 8032C8C8 41 80 FF CC */ blt lbl_8032C894
/* 8032C8CC 39 61 00 30 */ addi r11, r1, 0x30
/* 8032C8D0 48 03 59 45 */ bl _restgpr_24
/* 8032C8D4 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8032C8D8 7C 08 03 A6 */ mtlr r0
/* 8032C8DC 38 21 00 30 */ addi r1, r1, 0x30
/* 8032C8E0 4E 80 00 20 */ blr
@@ -1,13 +0,0 @@
lbl_8032E180:
/* 8032E180 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8032E184 7C 08 02 A6 */ mflr r0
/* 8032E188 90 01 00 14 */ stw r0, 0x14(r1)
/* 8032E18C 81 83 00 00 */ lwz r12, 0(r3)
/* 8032E190 81 8C 00 08 */ lwz r12, 8(r12)
/* 8032E194 7D 89 03 A6 */ mtctr r12
/* 8032E198 38 84 00 88 */ addi r4, r4, 0x88
/* 8032E19C 4E 80 04 21 */ bctrl
/* 8032E1A0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8032E1A4 7C 08 03 A6 */ mtlr r0
/* 8032E1A8 38 21 00 10 */ addi r1, r1, 0x10
/* 8032E1AC 4E 80 00 20 */ blr
@@ -1,86 +0,0 @@
lbl_8032DA1C:
/* 8032DA1C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8032DA20 7C 08 02 A6 */ mflr r0
/* 8032DA24 90 01 00 34 */ stw r0, 0x34(r1)
/* 8032DA28 39 61 00 30 */ addi r11, r1, 0x30
/* 8032DA2C 48 03 47 A1 */ bl _savegpr_25
/* 8032DA30 7C 9C 23 78 */ mr r28, r4
/* 8032DA34 7C BD 2B 78 */ mr r29, r5
/* 8032DA38 80 84 00 24 */ lwz r4, 0x24(r4)
/* 8032DA3C 80 1C 00 28 */ lwz r0, 0x28(r28)
/* 8032DA40 90 1C 00 24 */ stw r0, 0x24(r28)
/* 8032DA44 90 9C 00 28 */ stw r4, 0x28(r28)
/* 8032DA48 80 A5 00 00 */ lwz r5, 0(r5)
/* 8032DA4C 80 9C 00 00 */ lwz r4, 0(r28)
/* 8032DA50 80 04 00 04 */ lwz r0, 4(r4)
/* 8032DA54 83 FC 00 30 */ lwz r31, 0x30(r28)
/* 8032DA58 83 DC 00 24 */ lwz r30, 0x24(r28)
/* 8032DA5C 38 80 00 00 */ li r4, 0
/* 8032DA60 C0 02 CA 6C */ lfs f0, lit_1578(r2)
/* 8032DA64 7C 09 03 A6 */ mtctr r0
/* 8032DA68 2C 00 00 00 */ cmpwi r0, 0
/* 8032DA6C 40 81 00 1C */ ble lbl_8032DA88
lbl_8032DA70:
/* 8032DA70 7C DE 22 14 */ add r6, r30, r4
/* 8032DA74 D0 06 00 00 */ stfs f0, 0(r6)
/* 8032DA78 D0 06 00 04 */ stfs f0, 4(r6)
/* 8032DA7C D0 06 00 08 */ stfs f0, 8(r6)
/* 8032DA80 38 84 00 0C */ addi r4, r4, 0xc
/* 8032DA84 42 00 FF EC */ bdnz lbl_8032DA70
lbl_8032DA88:
/* 8032DA88 A0 05 00 1E */ lhz r0, 0x1e(r5)
/* 8032DA8C 28 00 00 00 */ cmplwi r0, 0
/* 8032DA90 41 82 00 4C */ beq lbl_8032DADC
/* 8032DA94 A3 45 00 1C */ lhz r26, 0x1c(r5)
/* 8032DA98 3B 20 00 00 */ li r25, 0
/* 8032DA9C 83 A3 00 24 */ lwz r29, 0x24(r3)
/* 8032DAA0 83 63 00 0C */ lwz r27, 0xc(r3)
/* 8032DAA4 48 00 00 28 */ b lbl_8032DACC
lbl_8032DAA8:
/* 8032DAA8 57 24 04 3E */ clrlwi r4, r25, 0x10
/* 8032DAAC 1C 04 00 14 */ mulli r0, r4, 0x14
/* 8032DAB0 7C 7D 02 14 */ add r3, r29, r0
/* 8032DAB4 1C 04 00 30 */ mulli r0, r4, 0x30
/* 8032DAB8 7C 9B 02 14 */ add r4, r27, r0
/* 8032DABC 7F E5 FB 78 */ mr r5, r31
/* 8032DAC0 7F C6 F3 78 */ mr r6, r30
/* 8032DAC4 4B FF EE 21 */ bl calcSkin_VtxNrmF32__12J3DSkinNListFPA4_fPvPv
/* 8032DAC8 3B 39 00 01 */ addi r25, r25, 1
lbl_8032DACC:
/* 8032DACC 57 20 04 3E */ clrlwi r0, r25, 0x10
/* 8032DAD0 7C 00 D0 40 */ cmplw r0, r26
/* 8032DAD4 41 80 FF D4 */ blt lbl_8032DAA8
/* 8032DAD8 48 00 00 48 */ b lbl_8032DB20
lbl_8032DADC:
/* 8032DADC A3 65 00 1C */ lhz r27, 0x1c(r5)
/* 8032DAE0 3B 20 00 00 */ li r25, 0
/* 8032DAE4 83 43 00 24 */ lwz r26, 0x24(r3)
/* 8032DAE8 48 00 00 2C */ b lbl_8032DB14
lbl_8032DAEC:
/* 8032DAEC 57 25 04 3E */ clrlwi r5, r25, 0x10
/* 8032DAF0 1C 05 00 14 */ mulli r0, r5, 0x14
/* 8032DAF4 7C 7A 02 14 */ add r3, r26, r0
/* 8032DAF8 80 9D 00 0C */ lwz r4, 0xc(r29)
/* 8032DAFC 1C 05 00 30 */ mulli r0, r5, 0x30
/* 8032DB00 7C 84 02 14 */ add r4, r4, r0
/* 8032DB04 7F E5 FB 78 */ mr r5, r31
/* 8032DB08 7F C6 F3 78 */ mr r6, r30
/* 8032DB0C 4B FF ED D9 */ bl calcSkin_VtxNrmF32__12J3DSkinNListFPA4_fPvPv
/* 8032DB10 3B 39 00 01 */ addi r25, r25, 1
lbl_8032DB14:
/* 8032DB14 57 20 04 3E */ clrlwi r0, r25, 0x10
/* 8032DB18 7C 00 D8 40 */ cmplw r0, r27
/* 8032DB1C 41 80 FF D0 */ blt lbl_8032DAEC
lbl_8032DB20:
/* 8032DB20 80 7C 00 00 */ lwz r3, 0(r28)
/* 8032DB24 80 03 00 04 */ lwz r0, 4(r3)
/* 8032DB28 80 7C 00 24 */ lwz r3, 0x24(r28)
/* 8032DB2C 1C 80 00 0C */ mulli r4, r0, 0xc
/* 8032DB30 48 00 DA AD */ bl DCStoreRange
/* 8032DB34 93 DC 00 30 */ stw r30, 0x30(r28)
/* 8032DB38 39 61 00 30 */ addi r11, r1, 0x30
/* 8032DB3C 48 03 46 DD */ bl _restgpr_25
/* 8032DB40 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8032DB44 7C 08 03 A6 */ mtlr r0
/* 8032DB48 38 21 00 30 */ addi r1, r1, 0x30
/* 8032DB4C 4E 80 00 20 */ blr
@@ -1,82 +0,0 @@
lbl_8032D8F4:
/* 8032D8F4 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8032D8F8 7C 08 02 A6 */ mflr r0
/* 8032D8FC 90 01 00 34 */ stw r0, 0x34(r1)
/* 8032D900 39 61 00 30 */ addi r11, r1, 0x30
/* 8032D904 48 03 48 C9 */ bl _savegpr_25
/* 8032D908 7C 9C 23 78 */ mr r28, r4
/* 8032D90C 7C BD 2B 78 */ mr r29, r5
/* 8032D910 80 84 00 1C */ lwz r4, 0x1c(r4)
/* 8032D914 80 1C 00 20 */ lwz r0, 0x20(r28)
/* 8032D918 90 1C 00 1C */ stw r0, 0x1c(r28)
/* 8032D91C 90 9C 00 20 */ stw r4, 0x20(r28)
/* 8032D920 80 A5 00 00 */ lwz r5, 0(r5)
/* 8032D924 80 9C 00 00 */ lwz r4, 0(r28)
/* 8032D928 80 04 00 00 */ lwz r0, 0(r4)
/* 8032D92C 83 FC 00 2C */ lwz r31, 0x2c(r28)
/* 8032D930 80 DC 00 1C */ lwz r6, 0x1c(r28)
/* 8032D934 7C DE 33 78 */ mr r30, r6
/* 8032D938 1C 80 00 0C */ mulli r4, r0, 0xc
/* 8032D93C 38 04 00 1F */ addi r0, r4, 0x1f
/* 8032D940 54 00 D9 7E */ srwi r0, r0, 5
/* 8032D944 7C 09 03 A6 */ mtctr r0
lbl_8032D948:
/* 8032D948 7C 00 37 EC */ dcbz 0, r6
/* 8032D94C 38 C6 00 20 */ addi r6, r6, 0x20
/* 8032D950 42 00 FF F8 */ bdnz lbl_8032D948
/* 8032D954 A0 05 00 1E */ lhz r0, 0x1e(r5)
/* 8032D958 28 00 00 00 */ cmplwi r0, 0
/* 8032D95C 41 82 00 4C */ beq lbl_8032D9A8
/* 8032D960 A3 45 00 1C */ lhz r26, 0x1c(r5)
/* 8032D964 3B 20 00 00 */ li r25, 0
/* 8032D968 83 A3 00 24 */ lwz r29, 0x24(r3)
/* 8032D96C 83 63 00 0C */ lwz r27, 0xc(r3)
/* 8032D970 48 00 00 28 */ b lbl_8032D998
lbl_8032D974:
/* 8032D974 57 24 04 3E */ clrlwi r4, r25, 0x10
/* 8032D978 1C 04 00 14 */ mulli r0, r4, 0x14
/* 8032D97C 7C 7D 02 14 */ add r3, r29, r0
/* 8032D980 1C 04 00 30 */ mulli r0, r4, 0x30
/* 8032D984 7C 9B 02 14 */ add r4, r27, r0
/* 8032D988 7F E5 FB 78 */ mr r5, r31
/* 8032D98C 7F C6 F3 78 */ mr r6, r30
/* 8032D990 4B FF EE CD */ bl calcSkin_VtxPosF32__12J3DSkinNListFPA4_fPvPv
/* 8032D994 3B 39 00 01 */ addi r25, r25, 1
lbl_8032D998:
/* 8032D998 57 20 04 3E */ clrlwi r0, r25, 0x10
/* 8032D99C 7C 00 D0 40 */ cmplw r0, r26
/* 8032D9A0 41 80 FF D4 */ blt lbl_8032D974
/* 8032D9A4 48 00 00 48 */ b lbl_8032D9EC
lbl_8032D9A8:
/* 8032D9A8 A3 65 00 1C */ lhz r27, 0x1c(r5)
/* 8032D9AC 3B 20 00 00 */ li r25, 0
/* 8032D9B0 83 43 00 24 */ lwz r26, 0x24(r3)
/* 8032D9B4 48 00 00 2C */ b lbl_8032D9E0
lbl_8032D9B8:
/* 8032D9B8 57 25 04 3E */ clrlwi r5, r25, 0x10
/* 8032D9BC 1C 05 00 14 */ mulli r0, r5, 0x14
/* 8032D9C0 7C 7A 02 14 */ add r3, r26, r0
/* 8032D9C4 80 9D 00 0C */ lwz r4, 0xc(r29)
/* 8032D9C8 1C 05 00 30 */ mulli r0, r5, 0x30
/* 8032D9CC 7C 84 02 14 */ add r4, r4, r0
/* 8032D9D0 7F E5 FB 78 */ mr r5, r31
/* 8032D9D4 7F C6 F3 78 */ mr r6, r30
/* 8032D9D8 4B FF EE 85 */ bl calcSkin_VtxPosF32__12J3DSkinNListFPA4_fPvPv
/* 8032D9DC 3B 39 00 01 */ addi r25, r25, 1
lbl_8032D9E0:
/* 8032D9E0 57 20 04 3E */ clrlwi r0, r25, 0x10
/* 8032D9E4 7C 00 D8 40 */ cmplw r0, r27
/* 8032D9E8 41 80 FF D0 */ blt lbl_8032D9B8
lbl_8032D9EC:
/* 8032D9EC 80 7C 00 00 */ lwz r3, 0(r28)
/* 8032D9F0 80 03 00 00 */ lwz r0, 0(r3)
/* 8032D9F4 80 7C 00 1C */ lwz r3, 0x1c(r28)
/* 8032D9F8 1C 80 00 0C */ mulli r4, r0, 0xc
/* 8032D9FC 48 00 DB E1 */ bl DCStoreRange
/* 8032DA00 93 DC 00 2C */ stw r30, 0x2c(r28)
/* 8032DA04 39 61 00 30 */ addi r11, r1, 0x30
/* 8032DA08 48 03 48 11 */ bl _restgpr_25
/* 8032DA0C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8032DA10 7C 08 03 A6 */ mtlr r0
/* 8032DA14 38 21 00 30 */ addi r1, r1, 0x30
/* 8032DA18 4E 80 00 20 */ blr
@@ -1,79 +0,0 @@
lbl_8032E064:
/* 8032E064 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8032E068 7C 08 02 A6 */ mflr r0
/* 8032E06C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8032E070 39 61 00 20 */ addi r11, r1, 0x20
/* 8032E074 48 03 41 69 */ bl _savegpr_29
/* 8032E078 7C 7E 1B 78 */ mr r30, r3
/* 8032E07C 7C 9F 23 78 */ mr r31, r4
/* 8032E080 7C BD 2B 78 */ mr r29, r5
/* 8032E084 80 85 00 00 */ lwz r4, 0(r5)
/* 8032E088 80 04 00 08 */ lwz r0, 8(r4)
/* 8032E08C 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
/* 8032E090 41 82 00 0C */ beq lbl_8032E09C
/* 8032E094 7F A4 EB 78 */ mr r4, r29
/* 8032E098 4B FF F7 E5 */ bl calcAnmInvJointMtx__13J3DSkinDeformFP12J3DMtxBuffer
lbl_8032E09C:
/* 8032E09C 80 1E 00 14 */ lwz r0, 0x14(r30)
/* 8032E0A0 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 8032E0A4 41 82 00 5C */ beq lbl_8032E100
/* 8032E0A8 80 7D 00 00 */ lwz r3, 0(r29)
/* 8032E0AC 80 03 00 08 */ lwz r0, 8(r3)
/* 8032E0B0 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
/* 8032E0B4 41 82 00 18 */ beq lbl_8032E0CC
/* 8032E0B8 7F C3 F3 78 */ mr r3, r30
/* 8032E0BC 7F E4 FB 78 */ mr r4, r31
/* 8032E0C0 7F A5 EB 78 */ mr r5, r29
/* 8032E0C4 4B FF F8 31 */ bl deformFastVtxPos_F32__13J3DSkinDeformCFP15J3DVertexBufferP12J3DMtxBuffer
/* 8032E0C8 48 00 00 38 */ b lbl_8032E100
lbl_8032E0CC:
/* 8032E0CC 80 7F 00 00 */ lwz r3, 0(r31)
/* 8032E0D0 80 03 00 50 */ lwz r0, 0x50(r3)
/* 8032E0D4 2C 00 00 04 */ cmpwi r0, 4
/* 8032E0D8 40 82 00 18 */ bne lbl_8032E0F0
/* 8032E0DC 7F C3 F3 78 */ mr r3, r30
/* 8032E0E0 7F E4 FB 78 */ mr r4, r31
/* 8032E0E4 7F A5 EB 78 */ mr r5, r29
/* 8032E0E8 4B FF FA 69 */ bl deformVtxPos_F32__13J3DSkinDeformCFP15J3DVertexBufferP12J3DMtxBuffer
/* 8032E0EC 48 00 00 14 */ b lbl_8032E100
lbl_8032E0F0:
/* 8032E0F0 7F C3 F3 78 */ mr r3, r30
/* 8032E0F4 7F E4 FB 78 */ mr r4, r31
/* 8032E0F8 7F A5 EB 78 */ mr r5, r29
/* 8032E0FC 4B FF FB 79 */ bl deformVtxPos_S16__13J3DSkinDeformCFP15J3DVertexBufferP12J3DMtxBuffer
lbl_8032E100:
/* 8032E100 80 1E 00 14 */ lwz r0, 0x14(r30)
/* 8032E104 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 8032E108 41 82 00 60 */ beq lbl_8032E168
/* 8032E10C 80 7D 00 00 */ lwz r3, 0(r29)
/* 8032E110 80 03 00 08 */ lwz r0, 8(r3)
/* 8032E114 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
/* 8032E118 41 82 00 18 */ beq lbl_8032E130
/* 8032E11C 7F C3 F3 78 */ mr r3, r30
/* 8032E120 7F E4 FB 78 */ mr r4, r31
/* 8032E124 7F A5 EB 78 */ mr r5, r29
/* 8032E128 4B FF F8 F5 */ bl deformFastVtxNrm_F32__13J3DSkinDeformCFP15J3DVertexBufferP12J3DMtxBuffer
/* 8032E12C 48 00 00 3C */ b lbl_8032E168
lbl_8032E130:
/* 8032E130 7F C3 F3 78 */ mr r3, r30
/* 8032E134 7F A4 EB 78 */ mr r4, r29
/* 8032E138 4B FF F4 8D */ bl calcNrmMtx__13J3DSkinDeformFP12J3DMtxBuffer
/* 8032E13C 80 7F 00 00 */ lwz r3, 0(r31)
/* 8032E140 80 03 00 58 */ lwz r0, 0x58(r3)
/* 8032E144 2C 00 00 04 */ cmpwi r0, 4
/* 8032E148 40 82 00 14 */ bne lbl_8032E15C
/* 8032E14C 7F C3 F3 78 */ mr r3, r30
/* 8032E150 7F E4 FB 78 */ mr r4, r31
/* 8032E154 4B FF FC 65 */ bl deformVtxNrm_F32__13J3DSkinDeformCFP15J3DVertexBuffer
/* 8032E158 48 00 00 10 */ b lbl_8032E168
lbl_8032E15C:
/* 8032E15C 7F C3 F3 78 */ mr r3, r30
/* 8032E160 7F E4 FB 78 */ mr r4, r31
/* 8032E164 4B FF FD 59 */ bl deformVtxNrm_S16__13J3DSkinDeformCFP15J3DVertexBuffer
lbl_8032E168:
/* 8032E168 39 61 00 20 */ addi r11, r1, 0x20
/* 8032E16C 48 03 40 BD */ bl _restgpr_29
/* 8032E170 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8032E174 7C 08 03 A6 */ mtlr r0
/* 8032E178 38 21 00 20 */ addi r1, r1, 0x20
/* 8032E17C 4E 80 00 20 */ blr
@@ -1,39 +0,0 @@
lbl_8032DFDC:
/* 8032DFDC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8032DFE0 7C 08 02 A6 */ mflr r0
/* 8032DFE4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8032DFE8 7C 85 23 78 */ mr r5, r4
/* 8032DFEC 80 04 00 08 */ lwz r0, 8(r4)
/* 8032DFF0 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 8032DFF4 41 82 00 14 */ beq lbl_8032E008
/* 8032DFF8 80 03 00 14 */ lwz r0, 0x14(r3)
/* 8032DFFC 60 00 00 02 */ ori r0, r0, 2
/* 8032E000 90 03 00 14 */ stw r0, 0x14(r3)
/* 8032E004 48 00 00 10 */ b lbl_8032E014
lbl_8032E008:
/* 8032E008 80 03 00 14 */ lwz r0, 0x14(r3)
/* 8032E00C 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 8032E010 90 03 00 14 */ stw r0, 0x14(r3)
lbl_8032E014:
/* 8032E014 80 05 00 08 */ lwz r0, 8(r5)
/* 8032E018 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 8032E01C 41 82 00 14 */ beq lbl_8032E030
/* 8032E020 80 03 00 14 */ lwz r0, 0x14(r3)
/* 8032E024 60 00 00 01 */ ori r0, r0, 1
/* 8032E028 90 03 00 14 */ stw r0, 0x14(r3)
/* 8032E02C 48 00 00 10 */ b lbl_8032E03C
lbl_8032E030:
/* 8032E030 80 03 00 14 */ lwz r0, 0x14(r3)
/* 8032E034 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 8032E038 90 03 00 14 */ stw r0, 0x14(r3)
lbl_8032E03C:
/* 8032E03C 38 85 00 88 */ addi r4, r5, 0x88
/* 8032E040 80 A5 00 84 */ lwz r5, 0x84(r5)
/* 8032E044 81 83 00 00 */ lwz r12, 0(r3)
/* 8032E048 81 8C 00 08 */ lwz r12, 8(r12)
/* 8032E04C 7D 89 03 A6 */ mtctr r12
/* 8032E050 4E 80 04 21 */ bctrl
/* 8032E054 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8032E058 7C 08 03 A6 */ mtlr r0
/* 8032E05C 38 21 00 10 */ addi r1, r1, 0x10
/* 8032E060 4E 80 00 20 */ blr
@@ -1,385 +0,0 @@
lbl_8032C9B0:
/* 8032C9B0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8032C9B4 7C 08 02 A6 */ mflr r0
/* 8032C9B8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8032C9BC 39 61 00 20 */ addi r11, r1, 0x20
/* 8032C9C0 48 03 58 19 */ bl _savegpr_28
/* 8032C9C4 7C 7C 1B 78 */ mr r28, r3
/* 8032C9C8 7C 9D 23 78 */ mr r29, r4
/* 8032C9CC A0 04 00 2E */ lhz r0, 0x2e(r4)
/* 8032C9D0 80 E4 00 34 */ lwz r7, 0x34(r4)
/* 8032C9D4 81 04 00 38 */ lwz r8, 0x38(r4)
/* 8032C9D8 39 20 00 00 */ li r9, 0
/* 8032C9DC 39 40 00 00 */ li r10, 0
/* 8032C9E0 38 60 00 00 */ li r3, 0
/* 8032C9E4 3C 80 80 43 */ lis r4, sWorkArea_WEvlpMixMtx__13J3DSkinDeform@ha /* 0x80437218@ha */
/* 8032C9E8 38 C4 72 18 */ addi r6, r4, sWorkArea_WEvlpMixMtx__13J3DSkinDeform@l /* 0x80437218@l */
/* 8032C9EC 3C 80 80 44 */ lis r4, sWorkArea_WEvlpMixWeight__13J3DSkinDeform@ha /* 0x80438218@ha */
/* 8032C9F0 38 A4 82 18 */ addi r5, r4, sWorkArea_WEvlpMixWeight__13J3DSkinDeform@l /* 0x80438218@l */
/* 8032C9F4 7C 09 03 A6 */ mtctr r0
/* 8032C9F8 2C 00 00 00 */ cmpwi r0, 0
/* 8032C9FC 40 81 00 38 */ ble lbl_8032CA34
lbl_8032CA00:
/* 8032CA00 55 20 08 3C */ slwi r0, r9, 1
/* 8032CA04 7C 07 02 14 */ add r0, r7, r0
/* 8032CA08 7C 06 19 2E */ stwx r0, r6, r3
/* 8032CA0C 55 20 10 3A */ slwi r0, r9, 2
/* 8032CA10 7C 08 02 14 */ add r0, r8, r0
/* 8032CA14 7C 05 19 2E */ stwx r0, r5, r3
/* 8032CA18 80 9D 00 30 */ lwz r4, 0x30(r29)
/* 8032CA1C 55 40 04 3E */ clrlwi r0, r10, 0x10
/* 8032CA20 7C 04 00 AE */ lbzx r0, r4, r0
/* 8032CA24 7D 29 02 14 */ add r9, r9, r0
/* 8032CA28 39 4A 00 01 */ addi r10, r10, 1
/* 8032CA2C 38 63 00 04 */ addi r3, r3, 4
/* 8032CA30 42 00 FF D0 */ bdnz lbl_8032CA00
lbl_8032CA34:
/* 8032CA34 A0 1D 00 2C */ lhz r0, 0x2c(r29)
/* 8032CA38 28 00 00 00 */ cmplwi r0, 0
/* 8032CA3C 41 82 00 30 */ beq lbl_8032CA6C
/* 8032CA40 54 1E 04 3E */ clrlwi r30, r0, 0x10
/* 8032CA44 1C 7E 00 14 */ mulli r3, r30, 0x14
/* 8032CA48 38 63 00 10 */ addi r3, r3, 0x10
/* 8032CA4C 4B FA 22 79 */ bl __nwa__FUl
/* 8032CA50 3C 80 80 33 */ lis r4, __ct__12J3DSkinNListFv@ha /* 0x8032C6E4@ha */
/* 8032CA54 38 84 C6 E4 */ addi r4, r4, __ct__12J3DSkinNListFv@l /* 0x8032C6E4@l */
/* 8032CA58 38 A0 00 00 */ li r5, 0
/* 8032CA5C 38 C0 00 14 */ li r6, 0x14
/* 8032CA60 7F C7 F3 78 */ mr r7, r30
/* 8032CA64 48 03 54 B1 */ bl __construct_new_array
/* 8032CA68 90 7C 00 24 */ stw r3, 0x24(r28)
lbl_8032CA6C:
/* 8032CA6C 38 60 00 00 */ li r3, 0
/* 8032CA70 38 80 00 00 */ li r4, 0
/* 8032CA74 48 00 00 AC */ b lbl_8032CB20
lbl_8032CA78:
/* 8032CA78 80 BC 00 04 */ lwz r5, 4(r28)
/* 8032CA7C 7C C5 22 2E */ lhzx r6, r5, r4
/* 8032CA80 28 06 FF FF */ cmplwi r6, 0xffff
/* 8032CA84 41 82 00 94 */ beq lbl_8032CB18
/* 8032CA88 80 BD 00 48 */ lwz r5, 0x48(r29)
/* 8032CA8C 7C 05 30 AE */ lbzx r0, r5, r6
/* 8032CA90 28 00 00 00 */ cmplwi r0, 0
/* 8032CA94 40 82 00 2C */ bne lbl_8032CAC0
/* 8032CA98 80 BD 00 4C */ lwz r5, 0x4c(r29)
/* 8032CA9C 54 C0 08 3C */ slwi r0, r6, 1
/* 8032CAA0 7C 05 02 2E */ lhzx r0, r5, r0
/* 8032CAA4 80 FC 00 24 */ lwz r7, 0x24(r28)
/* 8032CAA8 1C A0 00 14 */ mulli r5, r0, 0x14
/* 8032CAAC 38 C5 00 10 */ addi r6, r5, 0x10
/* 8032CAB0 7C A7 32 2E */ lhzx r5, r7, r6
/* 8032CAB4 38 05 00 01 */ addi r0, r5, 1
/* 8032CAB8 7C 07 33 2E */ sthx r0, r7, r6
/* 8032CABC 48 00 00 5C */ b lbl_8032CB18
lbl_8032CAC0:
/* 8032CAC0 80 BD 00 4C */ lwz r5, 0x4c(r29)
/* 8032CAC4 54 C0 08 3C */ slwi r0, r6, 1
/* 8032CAC8 7C 05 02 2E */ lhzx r0, r5, r0
/* 8032CACC 80 BD 00 30 */ lwz r5, 0x30(r29)
/* 8032CAD0 7C C5 00 AE */ lbzx r6, r5, r0
/* 8032CAD4 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d
/* 8032CAD8 3C A0 80 43 */ lis r5, sWorkArea_WEvlpMixMtx__13J3DSkinDeform@ha /* 0x80437218@ha */
/* 8032CADC 38 A5 72 18 */ addi r5, r5, sWorkArea_WEvlpMixMtx__13J3DSkinDeform@l /* 0x80437218@l */
/* 8032CAE0 7D 25 00 2E */ lwzx r9, r5, r0
/* 8032CAE4 38 A0 00 00 */ li r5, 0
/* 8032CAE8 7C C9 03 A6 */ mtctr r6
/* 8032CAEC 2C 06 00 00 */ cmpwi r6, 0
/* 8032CAF0 40 81 00 28 */ ble lbl_8032CB18
lbl_8032CAF4:
/* 8032CAF4 81 1C 00 24 */ lwz r8, 0x24(r28)
/* 8032CAF8 7C 09 2A 2E */ lhzx r0, r9, r5
/* 8032CAFC 1C C0 00 14 */ mulli r6, r0, 0x14
/* 8032CB00 38 E6 00 10 */ addi r7, r6, 0x10
/* 8032CB04 7C C8 3A 2E */ lhzx r6, r8, r7
/* 8032CB08 38 06 00 01 */ addi r0, r6, 1
/* 8032CB0C 7C 08 3B 2E */ sthx r0, r8, r7
/* 8032CB10 38 A5 00 02 */ addi r5, r5, 2
/* 8032CB14 42 00 FF E0 */ bdnz lbl_8032CAF4
lbl_8032CB18:
/* 8032CB18 38 63 00 01 */ addi r3, r3, 1
/* 8032CB1C 38 84 00 02 */ addi r4, r4, 2
lbl_8032CB20:
/* 8032CB20 80 1D 00 88 */ lwz r0, 0x88(r29)
/* 8032CB24 7C 03 00 40 */ cmplw r3, r0
/* 8032CB28 41 80 FF 50 */ blt lbl_8032CA78
/* 8032CB2C 38 60 00 00 */ li r3, 0
/* 8032CB30 38 80 00 00 */ li r4, 0
/* 8032CB34 48 00 00 AC */ b lbl_8032CBE0
lbl_8032CB38:
/* 8032CB38 80 BC 00 08 */ lwz r5, 8(r28)
/* 8032CB3C 7C C5 22 2E */ lhzx r6, r5, r4
/* 8032CB40 28 06 FF FF */ cmplwi r6, 0xffff
/* 8032CB44 41 82 00 94 */ beq lbl_8032CBD8
/* 8032CB48 80 BD 00 48 */ lwz r5, 0x48(r29)
/* 8032CB4C 7C 05 30 AE */ lbzx r0, r5, r6
/* 8032CB50 28 00 00 00 */ cmplwi r0, 0
/* 8032CB54 40 82 00 2C */ bne lbl_8032CB80
/* 8032CB58 80 BD 00 4C */ lwz r5, 0x4c(r29)
/* 8032CB5C 54 C0 08 3C */ slwi r0, r6, 1
/* 8032CB60 7C 05 02 2E */ lhzx r0, r5, r0
/* 8032CB64 80 FC 00 24 */ lwz r7, 0x24(r28)
/* 8032CB68 1C A0 00 14 */ mulli r5, r0, 0x14
/* 8032CB6C 38 C5 00 12 */ addi r6, r5, 0x12
/* 8032CB70 7C A7 32 2E */ lhzx r5, r7, r6
/* 8032CB74 38 05 00 01 */ addi r0, r5, 1
/* 8032CB78 7C 07 33 2E */ sthx r0, r7, r6
/* 8032CB7C 48 00 00 5C */ b lbl_8032CBD8
lbl_8032CB80:
/* 8032CB80 80 BD 00 4C */ lwz r5, 0x4c(r29)
/* 8032CB84 54 C0 08 3C */ slwi r0, r6, 1
/* 8032CB88 7C 05 02 2E */ lhzx r0, r5, r0
/* 8032CB8C 80 BD 00 30 */ lwz r5, 0x30(r29)
/* 8032CB90 7C C5 00 AE */ lbzx r6, r5, r0
/* 8032CB94 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d
/* 8032CB98 3C A0 80 43 */ lis r5, sWorkArea_WEvlpMixMtx__13J3DSkinDeform@ha /* 0x80437218@ha */
/* 8032CB9C 38 A5 72 18 */ addi r5, r5, sWorkArea_WEvlpMixMtx__13J3DSkinDeform@l /* 0x80437218@l */
/* 8032CBA0 7D 25 00 2E */ lwzx r9, r5, r0
/* 8032CBA4 38 A0 00 00 */ li r5, 0
/* 8032CBA8 7C C9 03 A6 */ mtctr r6
/* 8032CBAC 2C 06 00 00 */ cmpwi r6, 0
/* 8032CBB0 40 81 00 28 */ ble lbl_8032CBD8
lbl_8032CBB4:
/* 8032CBB4 81 1C 00 24 */ lwz r8, 0x24(r28)
/* 8032CBB8 7C 09 2A 2E */ lhzx r0, r9, r5
/* 8032CBBC 1C C0 00 14 */ mulli r6, r0, 0x14
/* 8032CBC0 38 E6 00 12 */ addi r7, r6, 0x12
/* 8032CBC4 7C C8 3A 2E */ lhzx r6, r8, r7
/* 8032CBC8 38 06 00 01 */ addi r0, r6, 1
/* 8032CBCC 7C 08 3B 2E */ sthx r0, r8, r7
/* 8032CBD0 38 A5 00 02 */ addi r5, r5, 2
/* 8032CBD4 42 00 FF E0 */ bdnz lbl_8032CBB4
lbl_8032CBD8:
/* 8032CBD8 38 63 00 01 */ addi r3, r3, 1
/* 8032CBDC 38 84 00 02 */ addi r4, r4, 2
lbl_8032CBE0:
/* 8032CBE0 80 1D 00 8C */ lwz r0, 0x8c(r29)
/* 8032CBE4 7C 03 00 40 */ cmplw r3, r0
/* 8032CBE8 41 80 FF 50 */ blt lbl_8032CB38
/* 8032CBEC 3B C0 00 00 */ li r30, 0
/* 8032CBF0 48 00 00 BC */ b lbl_8032CCAC
lbl_8032CBF4:
/* 8032CBF4 80 7C 00 24 */ lwz r3, 0x24(r28)
/* 8032CBF8 57 C0 04 3E */ clrlwi r0, r30, 0x10
/* 8032CBFC 1F E0 00 14 */ mulli r31, r0, 0x14
/* 8032CC00 38 1F 00 10 */ addi r0, r31, 0x10
/* 8032CC04 7C 03 02 2E */ lhzx r0, r3, r0
/* 8032CC08 28 00 00 00 */ cmplwi r0, 0
/* 8032CC0C 41 82 00 44 */ beq lbl_8032CC50
/* 8032CC10 54 03 0B FC */ rlwinm r3, r0, 1, 0xf, 0x1e
/* 8032CC14 4B FA 20 B1 */ bl __nwa__FUl
/* 8032CC18 80 9C 00 24 */ lwz r4, 0x24(r28)
/* 8032CC1C 7C 64 F9 2E */ stwx r3, r4, r31
/* 8032CC20 80 7C 00 24 */ lwz r3, 0x24(r28)
/* 8032CC24 38 1F 00 10 */ addi r0, r31, 0x10
/* 8032CC28 7C 03 02 2E */ lhzx r0, r3, r0
/* 8032CC2C 54 03 10 3A */ slwi r3, r0, 2
/* 8032CC30 4B FA 20 95 */ bl __nwa__FUl
/* 8032CC34 80 9C 00 24 */ lwz r4, 0x24(r28)
/* 8032CC38 38 1F 00 08 */ addi r0, r31, 8
/* 8032CC3C 7C 64 01 2E */ stwx r3, r4, r0
/* 8032CC40 38 80 00 00 */ li r4, 0
/* 8032CC44 80 7C 00 24 */ lwz r3, 0x24(r28)
/* 8032CC48 38 1F 00 10 */ addi r0, r31, 0x10
/* 8032CC4C 7C 83 03 2E */ sthx r4, r3, r0
lbl_8032CC50:
/* 8032CC50 80 7C 00 24 */ lwz r3, 0x24(r28)
/* 8032CC54 38 1F 00 12 */ addi r0, r31, 0x12
/* 8032CC58 7C 03 02 2E */ lhzx r0, r3, r0
/* 8032CC5C 28 00 00 00 */ cmplwi r0, 0
/* 8032CC60 41 82 00 48 */ beq lbl_8032CCA8
/* 8032CC64 54 03 0B FC */ rlwinm r3, r0, 1, 0xf, 0x1e
/* 8032CC68 4B FA 20 5D */ bl __nwa__FUl
/* 8032CC6C 80 9C 00 24 */ lwz r4, 0x24(r28)
/* 8032CC70 38 1F 00 04 */ addi r0, r31, 4
/* 8032CC74 7C 64 01 2E */ stwx r3, r4, r0
/* 8032CC78 80 7C 00 24 */ lwz r3, 0x24(r28)
/* 8032CC7C 38 1F 00 12 */ addi r0, r31, 0x12
/* 8032CC80 7C 03 02 2E */ lhzx r0, r3, r0
/* 8032CC84 54 03 10 3A */ slwi r3, r0, 2
/* 8032CC88 4B FA 20 3D */ bl __nwa__FUl
/* 8032CC8C 80 9C 00 24 */ lwz r4, 0x24(r28)
/* 8032CC90 38 1F 00 0C */ addi r0, r31, 0xc
/* 8032CC94 7C 64 01 2E */ stwx r3, r4, r0
/* 8032CC98 38 80 00 00 */ li r4, 0
/* 8032CC9C 80 7C 00 24 */ lwz r3, 0x24(r28)
/* 8032CCA0 38 1F 00 12 */ addi r0, r31, 0x12
/* 8032CCA4 7C 83 03 2E */ sthx r4, r3, r0
lbl_8032CCA8:
/* 8032CCA8 3B DE 00 01 */ addi r30, r30, 1
lbl_8032CCAC:
/* 8032CCAC 57 C3 04 3E */ clrlwi r3, r30, 0x10
/* 8032CCB0 A0 1D 00 2C */ lhz r0, 0x2c(r29)
/* 8032CCB4 7C 03 00 40 */ cmplw r3, r0
/* 8032CCB8 41 80 FF 3C */ blt lbl_8032CBF4
/* 8032CCBC 38 60 00 00 */ li r3, 0
/* 8032CCC0 38 80 00 00 */ li r4, 0
/* 8032CCC4 48 00 01 20 */ b lbl_8032CDE4
lbl_8032CCC8:
/* 8032CCC8 80 BC 00 04 */ lwz r5, 4(r28)
/* 8032CCCC 7C C5 22 2E */ lhzx r6, r5, r4
/* 8032CCD0 28 06 FF FF */ cmplwi r6, 0xffff
/* 8032CCD4 41 82 01 08 */ beq lbl_8032CDDC
/* 8032CCD8 80 BD 00 48 */ lwz r5, 0x48(r29)
/* 8032CCDC 7C 05 30 AE */ lbzx r0, r5, r6
/* 8032CCE0 28 00 00 00 */ cmplwi r0, 0
/* 8032CCE4 40 82 00 54 */ bne lbl_8032CD38
/* 8032CCE8 80 BD 00 4C */ lwz r5, 0x4c(r29)
/* 8032CCEC 54 C0 08 3C */ slwi r0, r6, 1
/* 8032CCF0 7C 05 02 2E */ lhzx r0, r5, r0
/* 8032CCF4 80 FC 00 24 */ lwz r7, 0x24(r28)
/* 8032CCF8 1D 00 00 14 */ mulli r8, r0, 0x14
/* 8032CCFC 38 A8 00 10 */ addi r5, r8, 0x10
/* 8032CD00 7C C7 2A 2E */ lhzx r6, r7, r5
/* 8032CD04 38 06 00 01 */ addi r0, r6, 1
/* 8032CD08 7C 07 2B 2E */ sthx r0, r7, r5
/* 8032CD0C 80 BC 00 24 */ lwz r5, 0x24(r28)
/* 8032CD10 7C A5 40 2E */ lwzx r5, r5, r8
/* 8032CD14 54 C0 0B FC */ rlwinm r0, r6, 1, 0xf, 0x1e
/* 8032CD18 7C 65 03 2E */ sthx r3, r5, r0
/* 8032CD1C C0 02 CA 68 */ lfs f0, lit_1110(r2)
/* 8032CD20 80 BC 00 24 */ lwz r5, 0x24(r28)
/* 8032CD24 38 08 00 08 */ addi r0, r8, 8
/* 8032CD28 7C A5 00 2E */ lwzx r5, r5, r0
/* 8032CD2C 54 C0 13 BA */ rlwinm r0, r6, 2, 0xe, 0x1d
/* 8032CD30 7C 05 05 2E */ stfsx f0, r5, r0
/* 8032CD34 48 00 00 A8 */ b lbl_8032CDDC
lbl_8032CD38:
/* 8032CD38 80 BD 00 4C */ lwz r5, 0x4c(r29)
/* 8032CD3C 54 C0 08 3C */ slwi r0, r6, 1
/* 8032CD40 7C 05 02 2E */ lhzx r0, r5, r0
/* 8032CD44 80 BD 00 30 */ lwz r5, 0x30(r29)
/* 8032CD48 7C E5 00 AE */ lbzx r7, r5, r0
/* 8032CD4C 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d
/* 8032CD50 3C A0 80 43 */ lis r5, sWorkArea_WEvlpMixMtx__13J3DSkinDeform@ha /* 0x80437218@ha */
/* 8032CD54 38 A5 72 18 */ addi r5, r5, sWorkArea_WEvlpMixMtx__13J3DSkinDeform@l /* 0x80437218@l */
/* 8032CD58 7D 45 00 2E */ lwzx r10, r5, r0
/* 8032CD5C 3C A0 80 44 */ lis r5, sWorkArea_WEvlpMixWeight__13J3DSkinDeform@ha /* 0x80438218@ha */
/* 8032CD60 38 A5 82 18 */ addi r5, r5, sWorkArea_WEvlpMixWeight__13J3DSkinDeform@l /* 0x80438218@l */
/* 8032CD64 7D 65 00 2E */ lwzx r11, r5, r0
/* 8032CD68 38 A0 00 00 */ li r5, 0
/* 8032CD6C 38 C0 00 00 */ li r6, 0
/* 8032CD70 7C E9 03 A6 */ mtctr r7
/* 8032CD74 2C 07 00 00 */ cmpwi r7, 0
/* 8032CD78 40 81 00 64 */ ble lbl_8032CDDC
lbl_8032CD7C:
/* 8032CD7C 81 1C 00 24 */ lwz r8, 0x24(r28)
/* 8032CD80 7C 0A 32 2E */ lhzx r0, r10, r6
/* 8032CD84 1C E0 00 14 */ mulli r7, r0, 0x14
/* 8032CD88 38 E7 00 10 */ addi r7, r7, 0x10
/* 8032CD8C 7D 28 3A 2E */ lhzx r9, r8, r7
/* 8032CD90 38 09 00 01 */ addi r0, r9, 1
/* 8032CD94 7C 08 3B 2E */ sthx r0, r8, r7
/* 8032CD98 80 FC 00 24 */ lwz r7, 0x24(r28)
/* 8032CD9C 7C 0A 32 2E */ lhzx r0, r10, r6
/* 8032CDA0 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8032CDA4 7C E7 00 2E */ lwzx r7, r7, r0
/* 8032CDA8 55 20 0B FC */ rlwinm r0, r9, 1, 0xf, 0x1e
/* 8032CDAC 7C 67 03 2E */ sthx r3, r7, r0
/* 8032CDB0 7C 0B 2C 2E */ lfsx f0, r11, r5
/* 8032CDB4 81 1C 00 24 */ lwz r8, 0x24(r28)
/* 8032CDB8 7C 0A 32 2E */ lhzx r0, r10, r6
/* 8032CDBC 1C E0 00 14 */ mulli r7, r0, 0x14
/* 8032CDC0 38 07 00 08 */ addi r0, r7, 8
/* 8032CDC4 7C E8 00 2E */ lwzx r7, r8, r0
/* 8032CDC8 55 20 13 BA */ rlwinm r0, r9, 2, 0xe, 0x1d
/* 8032CDCC 7C 07 05 2E */ stfsx f0, r7, r0
/* 8032CDD0 38 A5 00 04 */ addi r5, r5, 4
/* 8032CDD4 38 C6 00 02 */ addi r6, r6, 2
/* 8032CDD8 42 00 FF A4 */ bdnz lbl_8032CD7C
lbl_8032CDDC:
/* 8032CDDC 38 63 00 01 */ addi r3, r3, 1
/* 8032CDE0 38 84 00 02 */ addi r4, r4, 2
lbl_8032CDE4:
/* 8032CDE4 80 1D 00 88 */ lwz r0, 0x88(r29)
/* 8032CDE8 7C 03 00 40 */ cmplw r3, r0
/* 8032CDEC 41 80 FE DC */ blt lbl_8032CCC8
/* 8032CDF0 38 60 00 00 */ li r3, 0
/* 8032CDF4 38 A0 00 00 */ li r5, 0
/* 8032CDF8 48 00 01 28 */ b lbl_8032CF20
lbl_8032CDFC:
/* 8032CDFC 80 9C 00 08 */ lwz r4, 8(r28)
/* 8032CE00 7C C4 2A 2E */ lhzx r6, r4, r5
/* 8032CE04 28 06 FF FF */ cmplwi r6, 0xffff
/* 8032CE08 41 82 01 10 */ beq lbl_8032CF18
/* 8032CE0C 80 9D 00 48 */ lwz r4, 0x48(r29)
/* 8032CE10 7C 04 30 AE */ lbzx r0, r4, r6
/* 8032CE14 28 00 00 00 */ cmplwi r0, 0
/* 8032CE18 40 82 00 58 */ bne lbl_8032CE70
/* 8032CE1C 80 9D 00 4C */ lwz r4, 0x4c(r29)
/* 8032CE20 54 C0 08 3C */ slwi r0, r6, 1
/* 8032CE24 7C 04 02 2E */ lhzx r0, r4, r0
/* 8032CE28 80 FC 00 24 */ lwz r7, 0x24(r28)
/* 8032CE2C 1D 00 00 14 */ mulli r8, r0, 0x14
/* 8032CE30 38 88 00 12 */ addi r4, r8, 0x12
/* 8032CE34 7C C7 22 2E */ lhzx r6, r7, r4
/* 8032CE38 38 06 00 01 */ addi r0, r6, 1
/* 8032CE3C 7C 07 23 2E */ sthx r0, r7, r4
/* 8032CE40 80 9C 00 24 */ lwz r4, 0x24(r28)
/* 8032CE44 38 08 00 04 */ addi r0, r8, 4
/* 8032CE48 7C 84 00 2E */ lwzx r4, r4, r0
/* 8032CE4C 54 C0 0B FC */ rlwinm r0, r6, 1, 0xf, 0x1e
/* 8032CE50 7C 64 03 2E */ sthx r3, r4, r0
/* 8032CE54 C0 02 CA 68 */ lfs f0, lit_1110(r2)
/* 8032CE58 80 9C 00 24 */ lwz r4, 0x24(r28)
/* 8032CE5C 38 08 00 0C */ addi r0, r8, 0xc
/* 8032CE60 7C 84 00 2E */ lwzx r4, r4, r0
/* 8032CE64 54 C0 13 BA */ rlwinm r0, r6, 2, 0xe, 0x1d
/* 8032CE68 7C 04 05 2E */ stfsx f0, r4, r0
/* 8032CE6C 48 00 00 AC */ b lbl_8032CF18
lbl_8032CE70:
/* 8032CE70 80 9D 00 4C */ lwz r4, 0x4c(r29)
/* 8032CE74 54 C0 08 3C */ slwi r0, r6, 1
/* 8032CE78 7C 04 02 2E */ lhzx r0, r4, r0
/* 8032CE7C 80 9D 00 30 */ lwz r4, 0x30(r29)
/* 8032CE80 7D 04 00 AE */ lbzx r8, r4, r0
/* 8032CE84 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d
/* 8032CE88 3C 80 80 43 */ lis r4, sWorkArea_WEvlpMixMtx__13J3DSkinDeform@ha /* 0x80437218@ha */
/* 8032CE8C 38 84 72 18 */ addi r4, r4, sWorkArea_WEvlpMixMtx__13J3DSkinDeform@l /* 0x80437218@l */
/* 8032CE90 7C 84 00 2E */ lwzx r4, r4, r0
/* 8032CE94 3C C0 80 44 */ lis r6, sWorkArea_WEvlpMixWeight__13J3DSkinDeform@ha /* 0x80438218@ha */
/* 8032CE98 38 C6 82 18 */ addi r6, r6, sWorkArea_WEvlpMixWeight__13J3DSkinDeform@l /* 0x80438218@l */
/* 8032CE9C 7D 66 00 2E */ lwzx r11, r6, r0
/* 8032CEA0 38 C0 00 00 */ li r6, 0
/* 8032CEA4 38 E0 00 00 */ li r7, 0
/* 8032CEA8 7D 09 03 A6 */ mtctr r8
/* 8032CEAC 2C 08 00 00 */ cmpwi r8, 0
/* 8032CEB0 40 81 00 68 */ ble lbl_8032CF18
lbl_8032CEB4:
/* 8032CEB4 81 3C 00 24 */ lwz r9, 0x24(r28)
/* 8032CEB8 7C 04 3A 2E */ lhzx r0, r4, r7
/* 8032CEBC 1D 00 00 14 */ mulli r8, r0, 0x14
/* 8032CEC0 39 08 00 12 */ addi r8, r8, 0x12
/* 8032CEC4 7D 49 42 2E */ lhzx r10, r9, r8
/* 8032CEC8 38 0A 00 01 */ addi r0, r10, 1
/* 8032CECC 7C 09 43 2E */ sthx r0, r9, r8
/* 8032CED0 81 3C 00 24 */ lwz r9, 0x24(r28)
/* 8032CED4 7C 04 3A 2E */ lhzx r0, r4, r7
/* 8032CED8 1D 00 00 14 */ mulli r8, r0, 0x14
/* 8032CEDC 38 08 00 04 */ addi r0, r8, 4
/* 8032CEE0 7D 09 00 2E */ lwzx r8, r9, r0
/* 8032CEE4 55 40 0B FC */ rlwinm r0, r10, 1, 0xf, 0x1e
/* 8032CEE8 7C 68 03 2E */ sthx r3, r8, r0
/* 8032CEEC 7C 0B 34 2E */ lfsx f0, r11, r6
/* 8032CEF0 81 3C 00 24 */ lwz r9, 0x24(r28)
/* 8032CEF4 7C 04 3A 2E */ lhzx r0, r4, r7
/* 8032CEF8 1D 00 00 14 */ mulli r8, r0, 0x14
/* 8032CEFC 38 08 00 0C */ addi r0, r8, 0xc
/* 8032CF00 7D 09 00 2E */ lwzx r8, r9, r0
/* 8032CF04 55 40 13 BA */ rlwinm r0, r10, 2, 0xe, 0x1d
/* 8032CF08 7C 08 05 2E */ stfsx f0, r8, r0
/* 8032CF0C 38 C6 00 04 */ addi r6, r6, 4
/* 8032CF10 38 E7 00 02 */ addi r7, r7, 2
/* 8032CF14 42 00 FF A0 */ bdnz lbl_8032CEB4
lbl_8032CF18:
/* 8032CF18 38 63 00 01 */ addi r3, r3, 1
/* 8032CF1C 38 A5 00 02 */ addi r5, r5, 2
lbl_8032CF20:
/* 8032CF20 80 1D 00 8C */ lwz r0, 0x8c(r29)
/* 8032CF24 7C 03 00 40 */ cmplw r3, r0
/* 8032CF28 41 80 FE D4 */ blt lbl_8032CDFC
/* 8032CF2C 39 61 00 20 */ addi r11, r1, 0x20
/* 8032CF30 48 03 52 F5 */ bl _restgpr_28
/* 8032CF34 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8032CF38 7C 08 03 A6 */ mtlr r0
/* 8032CF3C 38 21 00 20 */ addi r1, r1, 0x20
/* 8032CF40 4E 80 00 20 */ blr
@@ -1,89 +0,0 @@
lbl_8032D738:
/* 8032D738 94 21 FF 70 */ stwu r1, -0x90(r1)
/* 8032D73C 7C 08 02 A6 */ mflr r0
/* 8032D740 90 01 00 94 */ stw r0, 0x94(r1)
/* 8032D744 39 61 00 90 */ addi r11, r1, 0x90
/* 8032D748 48 03 4A 81 */ bl _savegpr_24
/* 8032D74C 7C 7D 1B 78 */ mr r29, r3
/* 8032D750 7C 9E 23 78 */ mr r30, r4
/* 8032D754 A0 04 00 2E */ lhz r0, 0x2e(r4)
/* 8032D758 28 00 00 00 */ cmplwi r0, 0
/* 8032D75C 41 82 01 08 */ beq lbl_8032D864
/* 8032D760 88 1D 00 19 */ lbz r0, 0x19(r29)
/* 8032D764 28 00 00 00 */ cmplwi r0, 0
/* 8032D768 40 82 00 FC */ bne lbl_8032D864
/* 8032D76C 83 5E 00 88 */ lwz r26, 0x88(r30)
/* 8032D770 83 FE 00 8C */ lwz r31, 0x8c(r30)
/* 8032D774 3B 20 00 00 */ li r25, 0
/* 8032D778 3B 60 00 00 */ li r27, 0
/* 8032D77C 3B 80 00 00 */ li r28, 0
/* 8032D780 48 00 00 60 */ b lbl_8032D7E0
lbl_8032D784:
/* 8032D784 80 7D 00 04 */ lwz r3, 4(r29)
/* 8032D788 7C 83 E2 2E */ lhzx r4, r3, r28
/* 8032D78C 80 7E 00 48 */ lwz r3, 0x48(r30)
/* 8032D790 7C 03 20 AE */ lbzx r0, r3, r4
/* 8032D794 28 00 00 00 */ cmplwi r0, 0
/* 8032D798 40 82 00 3C */ bne lbl_8032D7D4
/* 8032D79C 80 7E 00 4C */ lwz r3, 0x4c(r30)
/* 8032D7A0 54 80 08 3C */ slwi r0, r4, 1
/* 8032D7A4 7C 83 02 2E */ lhzx r4, r3, r0
/* 8032D7A8 80 1E 00 A0 */ lwz r0, 0xa0(r30)
/* 8032D7AC 7F 00 DA 14 */ add r24, r0, r27
/* 8032D7B0 80 7E 00 3C */ lwz r3, 0x3c(r30)
/* 8032D7B4 1C 04 00 30 */ mulli r0, r4, 0x30
/* 8032D7B8 7C 63 02 14 */ add r3, r3, r0
/* 8032D7BC 38 81 00 38 */ addi r4, r1, 0x38
/* 8032D7C0 48 01 8D F1 */ bl PSMTXInverse
/* 8032D7C4 38 61 00 38 */ addi r3, r1, 0x38
/* 8032D7C8 7F 04 C3 78 */ mr r4, r24
/* 8032D7CC 7F 05 C3 78 */ mr r5, r24
/* 8032D7D0 48 01 95 9D */ bl PSMTXMultVec
lbl_8032D7D4:
/* 8032D7D4 3B 39 00 01 */ addi r25, r25, 1
/* 8032D7D8 3B 7B 00 0C */ addi r27, r27, 0xc
/* 8032D7DC 3B 9C 00 02 */ addi r28, r28, 2
lbl_8032D7E0:
/* 8032D7E0 7C 19 D0 00 */ cmpw r25, r26
/* 8032D7E4 41 80 FF A0 */ blt lbl_8032D784
/* 8032D7E8 3B 00 00 00 */ li r24, 0
/* 8032D7EC 3B 80 00 00 */ li r28, 0
/* 8032D7F0 3B 60 00 00 */ li r27, 0
/* 8032D7F4 48 00 00 60 */ b lbl_8032D854
lbl_8032D7F8:
/* 8032D7F8 80 7D 00 08 */ lwz r3, 8(r29)
/* 8032D7FC 7C 83 DA 2E */ lhzx r4, r3, r27
/* 8032D800 80 7E 00 48 */ lwz r3, 0x48(r30)
/* 8032D804 7C 03 20 AE */ lbzx r0, r3, r4
/* 8032D808 28 00 00 00 */ cmplwi r0, 0
/* 8032D80C 40 82 00 3C */ bne lbl_8032D848
/* 8032D810 80 7E 00 4C */ lwz r3, 0x4c(r30)
/* 8032D814 54 80 08 3C */ slwi r0, r4, 1
/* 8032D818 7C 83 02 2E */ lhzx r4, r3, r0
/* 8032D81C 80 1E 00 A4 */ lwz r0, 0xa4(r30)
/* 8032D820 7F 20 E2 14 */ add r25, r0, r28
/* 8032D824 80 7E 00 3C */ lwz r3, 0x3c(r30)
/* 8032D828 1C 04 00 30 */ mulli r0, r4, 0x30
/* 8032D82C 7C 63 02 14 */ add r3, r3, r0
/* 8032D830 38 81 00 08 */ addi r4, r1, 8
/* 8032D834 48 01 8D 7D */ bl PSMTXInverse
/* 8032D838 38 61 00 08 */ addi r3, r1, 8
/* 8032D83C 7F 24 CB 78 */ mr r4, r25
/* 8032D840 7F 25 CB 78 */ mr r5, r25
/* 8032D844 48 01 96 09 */ bl PSMTXMultVecSR
lbl_8032D848:
/* 8032D848 3B 18 00 01 */ addi r24, r24, 1
/* 8032D84C 3B 9C 00 0C */ addi r28, r28, 0xc
/* 8032D850 3B 7B 00 02 */ addi r27, r27, 2
lbl_8032D854:
/* 8032D854 7C 18 F8 00 */ cmpw r24, r31
/* 8032D858 41 80 FF A0 */ blt lbl_8032D7F8
/* 8032D85C 38 00 00 01 */ li r0, 1
/* 8032D860 98 1D 00 19 */ stb r0, 0x19(r29)
lbl_8032D864:
/* 8032D864 39 61 00 90 */ addi r11, r1, 0x90
/* 8032D868 48 03 49 AD */ bl _restgpr_24
/* 8032D86C 80 01 00 94 */ lwz r0, 0x94(r1)
/* 8032D870 7C 08 03 A6 */ mtlr r0
/* 8032D874 38 21 00 90 */ addi r1, r1, 0x90
/* 8032D878 4E 80 00 20 */ blr
@@ -45,13 +45,14 @@ public:
u16 getJointNum() const { return mJointNum; }
u16 getDrawMtxNum() const { return mDrawMtxData.mEntryNum; }
u8 getDrawMtxFlag(u16 idx) const { return mDrawMtxData.mDrawMtxFlag[idx]; }
u8 getDrawMtxIndex(u16 idx) const { return mDrawMtxData.mDrawMtxIndex[idx]; }
u16 getDrawMtxIndex(u16 idx) const { return mDrawMtxData.mDrawMtxIndex[idx]; }
JUTNameTab* getJointName() const { return mJointName; }
J3DJoint* getRootNode() { return mRootNode; }
J3DJoint* getJointNodePointer(u16 idx) const { return mJointNodePointer[idx]; }
J3DMtxCalc* getBasicMtxCalc() const { return mBasicMtxCalc; }
Mtx& getInvJointMtx(s32 idx) const { return mInvJointMtx[idx]; }
u32 getModelDataType() const { return mModelDataType; }
bool checkFlag(u32 flag) { return mFlags & flag; }
private:
/* 0x04 */ J3DModelHierarchy* mHierarchy;
@@ -79,6 +79,7 @@ public:
J3DVertexBuffer* getVertexBuffer() const { return (J3DVertexBuffer*)&mVertexBuffer; }
J3DMatPacket* getMatPacket(u16 idx) const { return &mMatPacket[idx]; }
J3DShapePacket* getShapePacket(u16 idx) const { return &mShapePacket[idx]; }
J3DMtxBuffer* getMtxBuffer() const { return mMtxBuffer; }
Mtx33* getBumpMtxPtr(int idx) const { return mMtxBuffer->getBumpMtxPtr(idx); }
Mtx33* getNrmMtxPtr() const { return mMtxBuffer->getNrmMtxPtr(); }
Mtx* getDrawMtxPtr() const { return mMtxBuffer->getDrawMtxPtr(); }
@@ -34,6 +34,10 @@ public:
J3DMaterial* getMaterialNodePointer(u16 idx) const {
return mMaterialTable.getMaterialNodePointer(idx);
}
u32 getVtxNum() const { return mVertexData.getVtxNum(); }
u32 getNrmNum() const { return mVertexData.getNrmNum(); }
u8 getDrawMtxFlag(u16 idx) const { return mJointTree.getDrawMtxFlag(idx); }
u16 getDrawMtxIndex(u16 idx) const { return mJointTree.getDrawMtxIndex(idx); }
J3DShape* getShapeNodePointer(u16 idx) const { return mShapeTable.getShapeNodePointer(idx); }
J3DJoint* getJointNodePointer(u16 idx) const { return mJointTree.getJointNodePointer(idx); }
J3DJointTree& getJointTree() { return mJointTree; }
@@ -42,6 +46,9 @@ public:
J3DTexture* getTexture() const { return mMaterialTable.getTexture(); }
JUTNameTab* getTextureName() const { return mMaterialTable.getTextureName(); }
u16 getWEvlpMtxNum() const { return mJointTree.getWEvlpMtxNum(); }
u16* getWEvlpMixMtxIndex() const { return mJointTree.getWEvlpMixIndex(); }
f32* getWEvlpMixWeight() const { return mJointTree.getWEvlpMixWeight(); }
u8 getWEvlpMixMtxNum(u16 idx) const { return mJointTree.getWEvlpMixMtxNum(idx); }
u32 getModelDataType() const { return mJointTree.getModelDataType(); }
void* getVtxPosArray() const { return mVertexData.getVtxPosArray(); }
void* getVtxNrmArray() const { return mVertexData.getVtxNrmArray(); }

Some files were not shown because too many files have changed in this diff Show More