tp/asm/JSystem/J3DGraphLoader/J3DModelLoader/readMaterial__18J3DModelLoa...

177 lines
7.4 KiB
ArmAsm

lbl_80335614:
/* 80335614 94 21 FF 50 */ stwu r1, -0xb0(r1)
/* 80335618 7C 08 02 A6 */ mflr r0
/* 8033561C 90 01 00 B4 */ stw r0, 0xb4(r1)
/* 80335620 39 61 00 B0 */ addi r11, r1, 0xb0
/* 80335624 48 02 CB B1 */ bl _savegpr_27
/* 80335628 7C 7D 1B 78 */ mr r29, r3
/* 8033562C 7C 9B 23 78 */ mr r27, r4
/* 80335630 7C BE 2B 78 */ mr r30, r5
/* 80335634 38 61 00 08 */ addi r3, r1, 8
/* 80335638 4B FF A9 B5 */ bl __ct__18J3DMaterialFactoryFRC16J3DMaterialBlock
/* 8033563C A0 1B 00 08 */ lhz r0, 8(r27)
/* 80335640 80 7D 00 08 */ lwz r3, 8(r29)
/* 80335644 B0 03 00 04 */ sth r0, 4(r3)
/* 80335648 38 61 00 08 */ addi r3, r1, 8
/* 8033564C 4B FF AC 71 */ bl countUniqueMaterials__18J3DMaterialFactoryFv
/* 80335650 80 9D 00 08 */ lwz r4, 8(r29)
/* 80335654 B0 64 00 06 */ sth r3, 6(r4)
/* 80335658 80 1B 00 14 */ lwz r0, 0x14(r27)
/* 8033565C 28 00 00 00 */ cmplwi r0, 0
/* 80335660 41 82 00 3C */ beq lbl_8033569C
/* 80335664 38 60 00 10 */ li r3, 0x10
/* 80335668 4B F9 95 E5 */ bl __nw__FUl
/* 8033566C 7C 7C 1B 79 */ or. r28, r3, r3
/* 80335670 41 82 00 20 */ beq lbl_80335690
/* 80335674 7F 63 DB 78 */ mr r3, r27
/* 80335678 80 9B 00 14 */ lwz r4, 0x14(r27)
/* 8033567C 4B FD 4E B5 */ bl func_8030A530
/* 80335680 7C 64 1B 78 */ mr r4, r3
/* 80335684 7F 83 E3 78 */ mr r3, r28
/* 80335688 4B FA 93 59 */ bl __ct__10JUTNameTabFPC7ResNTAB
/* 8033568C 7C 7C 1B 78 */ mr r28, r3
lbl_80335690:
/* 80335690 80 7D 00 08 */ lwz r3, 8(r29)
/* 80335694 93 83 00 0C */ stw r28, 0xc(r3)
/* 80335698 48 00 00 10 */ b lbl_803356A8
lbl_8033569C:
/* 8033569C 38 00 00 00 */ li r0, 0
/* 803356A0 80 7D 00 08 */ lwz r3, 8(r29)
/* 803356A4 90 03 00 0C */ stw r0, 0xc(r3)
lbl_803356A8:
/* 803356A8 80 7D 00 08 */ lwz r3, 8(r29)
/* 803356AC A0 03 00 04 */ lhz r0, 4(r3)
/* 803356B0 54 03 10 3A */ slwi r3, r0, 2
/* 803356B4 4B F9 96 11 */ bl __nwa__FUl
/* 803356B8 80 9D 00 08 */ lwz r4, 8(r29)
/* 803356BC 90 64 00 08 */ stw r3, 8(r4)
/* 803356C0 57 DF 02 95 */ rlwinm. r31, r30, 0, 0xa, 0xa
/* 803356C4 41 82 00 44 */ beq lbl_80335708
/* 803356C8 80 7D 00 08 */ lwz r3, 8(r29)
/* 803356CC A3 83 00 06 */ lhz r28, 6(r3)
/* 803356D0 1C 7C 00 4C */ mulli r3, r28, 0x4c
/* 803356D4 38 63 00 10 */ addi r3, r3, 0x10
/* 803356D8 38 80 00 20 */ li r4, 0x20
/* 803356DC 4B F9 96 11 */ bl __nwa__FUli
/* 803356E0 3C 80 80 33 */ lis r4, __ct__11J3DMaterialFv@ha /* 0x80336650@ha */
/* 803356E4 38 84 66 50 */ addi r4, r4, __ct__11J3DMaterialFv@l /* 0x80336650@l */
/* 803356E8 3C A0 80 33 */ lis r5, __dt__11J3DMaterialFv@ha /* 0x80332B94@ha */
/* 803356EC 38 A5 2B 94 */ addi r5, r5, __dt__11J3DMaterialFv@l /* 0x80332B94@l */
/* 803356F0 38 C0 00 4C */ li r6, 0x4c
/* 803356F4 7F 87 E3 78 */ mr r7, r28
/* 803356F8 48 02 C8 1D */ bl __construct_new_array
/* 803356FC 80 9D 00 08 */ lwz r4, 8(r29)
/* 80335700 90 64 00 10 */ stw r3, 0x10(r4)
/* 80335704 48 00 00 10 */ b lbl_80335714
lbl_80335708:
/* 80335708 38 00 00 00 */ li r0, 0
/* 8033570C 80 7D 00 08 */ lwz r3, 8(r29)
/* 80335710 90 03 00 10 */ stw r0, 0x10(r3)
lbl_80335714:
/* 80335714 28 1F 00 00 */ cmplwi r31, 0
/* 80335718 41 82 00 58 */ beq lbl_80335770
/* 8033571C 3B 60 00 00 */ li r27, 0
/* 80335720 48 00 00 3C */ b lbl_8033575C
lbl_80335724:
/* 80335724 38 61 00 08 */ addi r3, r1, 8
/* 80335728 80 04 00 10 */ lwz r0, 0x10(r4)
/* 8033572C 57 66 04 3E */ clrlwi r6, r27, 0x10
/* 80335730 1F 86 00 4C */ mulli r28, r6, 0x4c
/* 80335734 7C 80 E2 14 */ add r4, r0, r28
/* 80335738 38 A0 00 00 */ li r5, 0
/* 8033573C 7F C7 F3 78 */ mr r7, r30
/* 80335740 4B FF AC 85 */ bl create__18J3DMaterialFactoryCFP11J3DMaterialQ218J3DMaterialFactory12MaterialTypeiUl
/* 80335744 80 7D 00 08 */ lwz r3, 8(r29)
/* 80335748 80 03 00 10 */ lwz r0, 0x10(r3)
/* 8033574C 7C 60 E2 14 */ add r3, r0, r28
/* 80335750 54 60 E1 3E */ srwi r0, r3, 4
/* 80335754 90 03 00 20 */ stw r0, 0x20(r3)
/* 80335758 3B 7B 00 01 */ addi r27, r27, 1
lbl_8033575C:
/* 8033575C 57 63 04 3E */ clrlwi r3, r27, 0x10
/* 80335760 80 9D 00 08 */ lwz r4, 8(r29)
/* 80335764 A0 04 00 06 */ lhz r0, 6(r4)
/* 80335768 7C 03 00 40 */ cmplw r3, r0
/* 8033576C 41 80 FF B8 */ blt lbl_80335724
lbl_80335770:
/* 80335770 3B 60 00 00 */ li r27, 0
/* 80335774 48 00 00 30 */ b lbl_803357A4
lbl_80335778:
/* 80335778 38 61 00 08 */ addi r3, r1, 8
/* 8033577C 38 80 00 00 */ li r4, 0
/* 80335780 38 A0 00 00 */ li r5, 0
/* 80335784 57 66 04 3E */ clrlwi r6, r27, 0x10
/* 80335788 7F C7 F3 78 */ mr r7, r30
/* 8033578C 4B FF AC 39 */ bl create__18J3DMaterialFactoryCFP11J3DMaterialQ218J3DMaterialFactory12MaterialTypeiUl
/* 80335790 80 9D 00 08 */ lwz r4, 8(r29)
/* 80335794 80 84 00 08 */ lwz r4, 8(r4)
/* 80335798 57 60 13 BA */ rlwinm r0, r27, 2, 0xe, 0x1d
/* 8033579C 7C 64 01 2E */ stwx r3, r4, r0
/* 803357A0 3B 7B 00 01 */ addi r27, r27, 1
lbl_803357A4:
/* 803357A4 57 64 04 3E */ clrlwi r4, r27, 0x10
/* 803357A8 80 7D 00 08 */ lwz r3, 8(r29)
/* 803357AC A0 03 00 04 */ lhz r0, 4(r3)
/* 803357B0 7C 04 00 40 */ cmplw r4, r0
/* 803357B4 41 80 FF C4 */ blt lbl_80335778
/* 803357B8 28 1F 00 00 */ cmplwi r31, 0
/* 803357BC 41 82 00 78 */ beq lbl_80335834
/* 803357C0 39 00 00 00 */ li r8, 0
/* 803357C4 48 00 00 58 */ b lbl_8033581C
lbl_803357C8:
/* 803357C8 80 85 00 10 */ lwz r4, 0x10(r5)
/* 803357CC 80 61 00 10 */ lwz r3, 0x10(r1)
/* 803357D0 55 06 0B FC */ rlwinm r6, r8, 1, 0xf, 0x1e
/* 803357D4 7C 03 32 2E */ lhzx r0, r3, r6
/* 803357D8 1C 00 00 4C */ mulli r0, r0, 0x4c
/* 803357DC 7C 04 02 14 */ add r0, r4, r0
/* 803357E0 54 00 E1 3E */ srwi r0, r0, 4
/* 803357E4 80 65 00 08 */ lwz r3, 8(r5)
/* 803357E8 55 07 13 BA */ rlwinm r7, r8, 2, 0xe, 0x1d
/* 803357EC 7C 63 38 2E */ lwzx r3, r3, r7
/* 803357F0 90 03 00 20 */ stw r0, 0x20(r3)
/* 803357F4 80 BD 00 08 */ lwz r5, 8(r29)
/* 803357F8 80 85 00 10 */ lwz r4, 0x10(r5)
/* 803357FC 80 61 00 10 */ lwz r3, 0x10(r1)
/* 80335800 7C 03 32 2E */ lhzx r0, r3, r6
/* 80335804 1C 00 00 4C */ mulli r0, r0, 0x4c
/* 80335808 7C 04 02 14 */ add r0, r4, r0
/* 8033580C 80 65 00 08 */ lwz r3, 8(r5)
/* 80335810 7C 63 38 2E */ lwzx r3, r3, r7
/* 80335814 90 03 00 38 */ stw r0, 0x38(r3)
/* 80335818 39 08 00 01 */ addi r8, r8, 1
lbl_8033581C:
/* 8033581C 55 03 04 3E */ clrlwi r3, r8, 0x10
/* 80335820 80 BD 00 08 */ lwz r5, 8(r29)
/* 80335824 A0 05 00 04 */ lhz r0, 4(r5)
/* 80335828 7C 03 00 40 */ cmplw r3, r0
/* 8033582C 41 80 FF 9C */ blt lbl_803357C8
/* 80335830 48 00 00 48 */ b lbl_80335878
lbl_80335834:
/* 80335834 38 C0 00 00 */ li r6, 0
/* 80335838 48 00 00 2C */ b lbl_80335864
lbl_8033583C:
/* 8033583C 80 A4 00 08 */ lwz r5, 8(r4)
/* 80335840 54 A4 E1 3E */ srwi r4, r5, 4
/* 80335844 80 61 00 10 */ lwz r3, 0x10(r1)
/* 80335848 54 C0 0B FC */ rlwinm r0, r6, 1, 0xf, 0x1e
/* 8033584C 7C 03 02 2E */ lhzx r0, r3, r0
/* 80335850 7C 84 02 14 */ add r4, r4, r0
/* 80335854 54 C0 13 BA */ rlwinm r0, r6, 2, 0xe, 0x1d
/* 80335858 7C 65 00 2E */ lwzx r3, r5, r0
/* 8033585C 90 83 00 20 */ stw r4, 0x20(r3)
/* 80335860 38 C6 00 01 */ addi r6, r6, 1
lbl_80335864:
/* 80335864 54 C3 04 3E */ clrlwi r3, r6, 0x10
/* 80335868 80 9D 00 08 */ lwz r4, 8(r29)
/* 8033586C A0 04 00 04 */ lhz r0, 4(r4)
/* 80335870 7C 03 00 40 */ cmplw r3, r0
/* 80335874 41 80 FF C8 */ blt lbl_8033583C
lbl_80335878:
/* 80335878 39 61 00 B0 */ addi r11, r1, 0xb0
/* 8033587C 48 02 C9 A5 */ bl _restgpr_27
/* 80335880 80 01 00 B4 */ lwz r0, 0xb4(r1)
/* 80335884 7C 08 03 A6 */ mtlr r0
/* 80335888 38 21 00 B0 */ addi r1, r1, 0xb0
/* 8033588C 4E 80 00 20 */ blr