mirror of https://github.com/PrimeDecomp/prime.git
155 lines
7.0 KiB
ArmAsm
155 lines
7.0 KiB
ArmAsm
.include "macros.inc"
|
|
|
|
.section .text, "ax"
|
|
|
|
.global CreateMetaTrans__17CMetaTransFactoryFR12CInputStream
|
|
CreateMetaTrans__17CMetaTransFactoryFR12CInputStream:
|
|
/* 802E1DEC 002DED4C 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 802E1DF0 002DED50 7C 08 02 A6 */ mflr r0
|
|
/* 802E1DF4 002DED54 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 802E1DF8 002DED58 93 E1 00 1C */ stw r31, 0x1c(r1)
|
|
/* 802E1DFC 002DED5C 7C 7F 1B 78 */ mr r31, r3
|
|
/* 802E1E00 002DED60 93 C1 00 18 */ stw r30, 0x18(r1)
|
|
/* 802E1E04 002DED64 93 A1 00 14 */ stw r29, 0x14(r1)
|
|
/* 802E1E08 002DED68 7C 9D 23 78 */ mr r29, r4
|
|
/* 802E1E0C 002DED6C 7F A3 EB 78 */ mr r3, r29
|
|
/* 802E1E10 002DED70 48 05 CE 75 */ bl ReadLong__12CInputStreamFv
|
|
/* 802E1E14 002DED74 2C 03 00 02 */ cmpwi r3, 2
|
|
/* 802E1E18 002DED78 41 82 00 D4 */ beq lbl_802E1EEC
|
|
/* 802E1E1C 002DED7C 40 80 00 14 */ bge lbl_802E1E30
|
|
/* 802E1E20 002DED80 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 802E1E24 002DED84 41 82 00 18 */ beq lbl_802E1E3C
|
|
/* 802E1E28 002DED88 40 80 00 6C */ bge lbl_802E1E94
|
|
/* 802E1E2C 002DED8C 48 00 01 7C */ b lbl_802E1FA8
|
|
lbl_802E1E30:
|
|
/* 802E1E30 002DED90 2C 03 00 04 */ cmpwi r3, 4
|
|
/* 802E1E34 002DED94 40 80 01 74 */ bge lbl_802E1FA8
|
|
/* 802E1E38 002DED98 48 00 01 0C */ b lbl_802E1F44
|
|
lbl_802E1E3C:
|
|
/* 802E1E3C 002DED9C 3C 80 80 3D */ lis r4, lbl_803D6D88@ha
|
|
/* 802E1E40 002DEDA0 38 60 00 08 */ li r3, 8
|
|
/* 802E1E44 002DEDA4 38 84 6D 88 */ addi r4, r4, lbl_803D6D88@l
|
|
/* 802E1E48 002DEDA8 38 A0 00 00 */ li r5, 0
|
|
/* 802E1E4C 002DEDAC 48 03 3A 21 */ bl __nw__FUlPCcPCc
|
|
/* 802E1E50 002DEDB0 7C 7E 1B 79 */ or. r30, r3, r3
|
|
/* 802E1E54 002DEDB4 41 82 00 10 */ beq lbl_802E1E64
|
|
/* 802E1E58 002DEDB8 7F A4 EB 78 */ mr r4, r29
|
|
/* 802E1E5C 002DEDBC 48 00 03 55 */ bl __ct__18CMetaTransMetaAnimFR12CInputStream
|
|
/* 802E1E60 002DEDC0 7C 7E 1B 78 */ mr r30, r3
|
|
lbl_802E1E64:
|
|
/* 802E1E64 002DEDC4 3C 80 80 3D */ lis r4, lbl_803D6D88@ha
|
|
/* 802E1E68 002DEDC8 38 60 00 08 */ li r3, 8
|
|
/* 802E1E6C 002DEDCC 38 84 6D 88 */ addi r4, r4, lbl_803D6D88@l
|
|
/* 802E1E70 002DEDD0 38 A0 00 00 */ li r5, 0
|
|
/* 802E1E74 002DEDD4 48 03 39 F9 */ bl __nw__FUlPCcPCc
|
|
/* 802E1E78 002DEDD8 28 03 00 00 */ cmplwi r3, 0
|
|
/* 802E1E7C 002DEDDC 41 82 00 10 */ beq lbl_802E1E8C
|
|
/* 802E1E80 002DEDE0 93 C3 00 00 */ stw r30, 0(r3)
|
|
/* 802E1E84 002DEDE4 38 00 00 01 */ li r0, 1
|
|
/* 802E1E88 002DEDE8 90 03 00 04 */ stw r0, 4(r3)
|
|
lbl_802E1E8C:
|
|
/* 802E1E8C 002DEDEC 90 7F 00 00 */ stw r3, 0(r31)
|
|
/* 802E1E90 002DEDF0 48 00 01 30 */ b lbl_802E1FC0
|
|
lbl_802E1E94:
|
|
/* 802E1E94 002DEDF4 3C 80 80 3D */ lis r4, lbl_803D6D88@ha
|
|
/* 802E1E98 002DEDF8 38 60 00 14 */ li r3, 0x14
|
|
/* 802E1E9C 002DEDFC 38 84 6D 88 */ addi r4, r4, lbl_803D6D88@l
|
|
/* 802E1EA0 002DEE00 38 A0 00 00 */ li r5, 0
|
|
/* 802E1EA4 002DEE04 48 03 39 C9 */ bl __nw__FUlPCcPCc
|
|
/* 802E1EA8 002DEE08 7C 7E 1B 79 */ or. r30, r3, r3
|
|
/* 802E1EAC 002DEE0C 41 82 00 10 */ beq lbl_802E1EBC
|
|
/* 802E1EB0 002DEE10 7F A4 EB 78 */ mr r4, r29
|
|
/* 802E1EB4 002DEE14 48 00 0F 19 */ bl __ct__15CMetaTransTransFR12CInputStream
|
|
/* 802E1EB8 002DEE18 7C 7E 1B 78 */ mr r30, r3
|
|
lbl_802E1EBC:
|
|
/* 802E1EBC 002DEE1C 3C 80 80 3D */ lis r4, lbl_803D6D88@ha
|
|
/* 802E1EC0 002DEE20 38 60 00 08 */ li r3, 8
|
|
/* 802E1EC4 002DEE24 38 84 6D 88 */ addi r4, r4, lbl_803D6D88@l
|
|
/* 802E1EC8 002DEE28 38 A0 00 00 */ li r5, 0
|
|
/* 802E1ECC 002DEE2C 48 03 39 A1 */ bl __nw__FUlPCcPCc
|
|
/* 802E1ED0 002DEE30 28 03 00 00 */ cmplwi r3, 0
|
|
/* 802E1ED4 002DEE34 41 82 00 10 */ beq lbl_802E1EE4
|
|
/* 802E1ED8 002DEE38 93 C3 00 00 */ stw r30, 0(r3)
|
|
/* 802E1EDC 002DEE3C 38 00 00 01 */ li r0, 1
|
|
/* 802E1EE0 002DEE40 90 03 00 04 */ stw r0, 4(r3)
|
|
lbl_802E1EE4:
|
|
/* 802E1EE4 002DEE44 90 7F 00 00 */ stw r3, 0(r31)
|
|
/* 802E1EE8 002DEE48 48 00 00 D8 */ b lbl_802E1FC0
|
|
lbl_802E1EEC:
|
|
/* 802E1EEC 002DEE4C 3C 80 80 3D */ lis r4, lbl_803D6D88@ha
|
|
/* 802E1EF0 002DEE50 38 60 00 14 */ li r3, 0x14
|
|
/* 802E1EF4 002DEE54 38 84 6D 88 */ addi r4, r4, lbl_803D6D88@l
|
|
/* 802E1EF8 002DEE58 38 A0 00 00 */ li r5, 0
|
|
/* 802E1EFC 002DEE5C 48 03 39 71 */ bl __nw__FUlPCcPCc
|
|
/* 802E1F00 002DEE60 7C 7E 1B 79 */ or. r30, r3, r3
|
|
/* 802E1F04 002DEE64 41 82 00 10 */ beq lbl_802E1F14
|
|
/* 802E1F08 002DEE68 7F A4 EB 78 */ mr r4, r29
|
|
/* 802E1F0C 002DEE6C 48 00 0B 75 */ bl __ct__20CMetaTransPhaseTransFR12CInputStream
|
|
/* 802E1F10 002DEE70 7C 7E 1B 78 */ mr r30, r3
|
|
lbl_802E1F14:
|
|
/* 802E1F14 002DEE74 3C 80 80 3D */ lis r4, lbl_803D6D88@ha
|
|
/* 802E1F18 002DEE78 38 60 00 08 */ li r3, 8
|
|
/* 802E1F1C 002DEE7C 38 84 6D 88 */ addi r4, r4, lbl_803D6D88@l
|
|
/* 802E1F20 002DEE80 38 A0 00 00 */ li r5, 0
|
|
/* 802E1F24 002DEE84 48 03 39 49 */ bl __nw__FUlPCcPCc
|
|
/* 802E1F28 002DEE88 28 03 00 00 */ cmplwi r3, 0
|
|
/* 802E1F2C 002DEE8C 41 82 00 10 */ beq lbl_802E1F3C
|
|
/* 802E1F30 002DEE90 93 C3 00 00 */ stw r30, 0(r3)
|
|
/* 802E1F34 002DEE94 38 00 00 01 */ li r0, 1
|
|
/* 802E1F38 002DEE98 90 03 00 04 */ stw r0, 4(r3)
|
|
lbl_802E1F3C:
|
|
/* 802E1F3C 002DEE9C 90 7F 00 00 */ stw r3, 0(r31)
|
|
/* 802E1F40 002DEEA0 48 00 00 80 */ b lbl_802E1FC0
|
|
lbl_802E1F44:
|
|
/* 802E1F44 002DEEA4 3C 80 80 3D */ lis r4, lbl_803D6D88@ha
|
|
/* 802E1F48 002DEEA8 38 60 00 04 */ li r3, 4
|
|
/* 802E1F4C 002DEEAC 38 84 6D 88 */ addi r4, r4, lbl_803D6D88@l
|
|
/* 802E1F50 002DEEB0 38 A0 00 00 */ li r5, 0
|
|
/* 802E1F54 002DEEB4 48 03 39 19 */ bl __nw__FUlPCcPCc
|
|
/* 802E1F58 002DEEB8 7C 7E 1B 79 */ or. r30, r3, r3
|
|
/* 802E1F5C 002DEEBC 41 82 00 1C */ beq lbl_802E1F78
|
|
/* 802E1F60 002DEEC0 3C 80 80 3E */ lis r4, lbl_803D9C70@ha
|
|
/* 802E1F64 002DEEC4 3C 60 80 3F */ lis r3, lbl_803ECDC0@ha
|
|
/* 802E1F68 002DEEC8 38 04 9C 70 */ addi r0, r4, lbl_803D9C70@l
|
|
/* 802E1F6C 002DEECC 90 1E 00 00 */ stw r0, 0(r30)
|
|
/* 802E1F70 002DEED0 38 03 CD C0 */ addi r0, r3, lbl_803ECDC0@l
|
|
/* 802E1F74 002DEED4 90 1E 00 00 */ stw r0, 0(r30)
|
|
lbl_802E1F78:
|
|
/* 802E1F78 002DEED8 3C 80 80 3D */ lis r4, lbl_803D6D88@ha
|
|
/* 802E1F7C 002DEEDC 38 60 00 08 */ li r3, 8
|
|
/* 802E1F80 002DEEE0 38 84 6D 88 */ addi r4, r4, lbl_803D6D88@l
|
|
/* 802E1F84 002DEEE4 38 A0 00 00 */ li r5, 0
|
|
/* 802E1F88 002DEEE8 48 03 38 E5 */ bl __nw__FUlPCcPCc
|
|
/* 802E1F8C 002DEEEC 28 03 00 00 */ cmplwi r3, 0
|
|
/* 802E1F90 002DEEF0 41 82 00 10 */ beq lbl_802E1FA0
|
|
/* 802E1F94 002DEEF4 93 C3 00 00 */ stw r30, 0(r3)
|
|
/* 802E1F98 002DEEF8 38 00 00 01 */ li r0, 1
|
|
/* 802E1F9C 002DEEFC 90 03 00 04 */ stw r0, 4(r3)
|
|
lbl_802E1FA0:
|
|
/* 802E1FA0 002DEF00 90 7F 00 00 */ stw r3, 0(r31)
|
|
/* 802E1FA4 002DEF04 48 00 00 1C */ b lbl_802E1FC0
|
|
lbl_802E1FA8:
|
|
/* 802E1FA8 002DEF08 38 0D A9 28 */ addi r0, r13, lbl_805A94E8@sda21
|
|
/* 802E1FAC 002DEF0C 90 1F 00 00 */ stw r0, 0(r31)
|
|
/* 802E1FB0 002DEF10 80 9F 00 00 */ lwz r4, 0(r31)
|
|
/* 802E1FB4 002DEF14 80 64 00 04 */ lwz r3, 4(r4)
|
|
/* 802E1FB8 002DEF18 38 03 00 01 */ addi r0, r3, 1
|
|
/* 802E1FBC 002DEF1C 90 04 00 04 */ stw r0, 4(r4)
|
|
lbl_802E1FC0:
|
|
/* 802E1FC0 002DEF20 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 802E1FC4 002DEF24 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
/* 802E1FC8 002DEF28 83 C1 00 18 */ lwz r30, 0x18(r1)
|
|
/* 802E1FCC 002DEF2C 83 A1 00 14 */ lwz r29, 0x14(r1)
|
|
/* 802E1FD0 002DEF30 7C 08 03 A6 */ mtlr r0
|
|
/* 802E1FD4 002DEF34 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 802E1FD8 002DEF38 4E 80 00 20 */ blr
|
|
|
|
.section .rodata
|
|
.balign 8
|
|
.global lbl_803D6D88
|
|
lbl_803D6D88:
|
|
# ROM: 0x3D3D88
|
|
.asciz "??(??)"
|
|
.balign 4
|
|
|