mirror of
https://github.com/encounter/oot-vc.git
synced 2026-03-30 11:33:51 -07:00
117 lines
5.0 KiB
ArmAsm
117 lines
5.0 KiB
ArmAsm
.include "macros.inc"
|
|
|
|
.section .text, "ax"
|
|
|
|
glabel func_80082074
|
|
/* 80082074 0007D634 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 80082078 0007D638 7C 08 02 A6 */ mflr r0
|
|
/* 8008207C 0007D63C 7C 85 23 78 */ mr r5, r4
|
|
/* 80082080 0007D640 38 80 00 01 */ li r4, 1
|
|
/* 80082084 0007D644 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 80082088 0007D648 93 E1 00 1C */ stw r31, 0x1c(r1)
|
|
/* 8008208C 0007D64C 7C 7F 1B 78 */ mr r31, r3
|
|
/* 80082090 0007D650 38 61 00 08 */ addi r3, r1, 8
|
|
/* 80082094 0007D654 4B FF E0 41 */ bl xlFileOpen
|
|
/* 80082098 0007D658 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 8008209C 0007D65C 41 82 00 38 */ beq lbl_800820D4
|
|
/* 800820A0 0007D660 2C 1F 00 00 */ cmpwi r31, 0
|
|
/* 800820A4 0007D664 41 82 00 10 */ beq lbl_800820B4
|
|
/* 800820A8 0007D668 80 61 00 08 */ lwz r3, 8(r1)
|
|
/* 800820AC 0007D66C 80 03 00 10 */ lwz r0, 0x10(r3)
|
|
/* 800820B0 0007D670 90 1F 00 00 */ stw r0, 0(r31)
|
|
lbl_800820B4:
|
|
/* 800820B4 0007D674 38 61 00 08 */ addi r3, r1, 8
|
|
/* 800820B8 0007D678 4B FF E1 05 */ bl xlFileClose
|
|
/* 800820BC 0007D67C 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 800820C0 0007D680 40 82 00 0C */ bne lbl_800820CC
|
|
/* 800820C4 0007D684 38 60 00 00 */ li r3, 0
|
|
/* 800820C8 0007D688 48 00 00 10 */ b lbl_800820D8
|
|
lbl_800820CC:
|
|
/* 800820CC 0007D68C 38 60 00 01 */ li r3, 1
|
|
/* 800820D0 0007D690 48 00 00 08 */ b lbl_800820D8
|
|
lbl_800820D4:
|
|
/* 800820D4 0007D694 38 60 00 00 */ li r3, 0
|
|
lbl_800820D8:
|
|
/* 800820D8 0007D698 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 800820DC 0007D69C 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
/* 800820E0 0007D6A0 7C 08 03 A6 */ mtlr r0
|
|
/* 800820E4 0007D6A4 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 800820E8 0007D6A8 4E 80 00 20 */ blr
|
|
|
|
glabel func_800820EC
|
|
/* 800820EC 0007D6AC 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 800820F0 0007D6B0 7C 08 02 A6 */ mflr r0
|
|
/* 800820F4 0007D6B4 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 800820F8 0007D6B8 93 E1 00 1C */ stw r31, 0x1c(r1)
|
|
/* 800820FC 0007D6BC 7C 9F 23 78 */ mr r31, r4
|
|
/* 80082100 0007D6C0 38 80 00 01 */ li r4, 1
|
|
/* 80082104 0007D6C4 93 C1 00 18 */ stw r30, 0x18(r1)
|
|
/* 80082108 0007D6C8 7C 7E 1B 78 */ mr r30, r3
|
|
/* 8008210C 0007D6CC 7F C5 F3 78 */ mr r5, r30
|
|
/* 80082110 0007D6D0 38 61 00 08 */ addi r3, r1, 8
|
|
/* 80082114 0007D6D4 4B FF DF C1 */ bl xlFileOpen
|
|
/* 80082118 0007D6D8 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 8008211C 0007D6DC 41 82 00 38 */ beq lbl_80082154
|
|
/* 80082120 0007D6E0 34 01 00 10 */ addic. r0, r1, 0x10
|
|
/* 80082124 0007D6E4 41 82 00 10 */ beq lbl_80082134
|
|
/* 80082128 0007D6E8 80 61 00 08 */ lwz r3, 8(r1)
|
|
/* 8008212C 0007D6EC 80 03 00 10 */ lwz r0, 0x10(r3)
|
|
/* 80082130 0007D6F0 90 01 00 10 */ stw r0, 0x10(r1)
|
|
lbl_80082134:
|
|
/* 80082134 0007D6F4 38 61 00 08 */ addi r3, r1, 8
|
|
/* 80082138 0007D6F8 4B FF E0 85 */ bl xlFileClose
|
|
/* 8008213C 0007D6FC 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 80082140 0007D700 40 82 00 0C */ bne lbl_8008214C
|
|
/* 80082144 0007D704 38 00 00 00 */ li r0, 0
|
|
/* 80082148 0007D708 48 00 00 10 */ b lbl_80082158
|
|
lbl_8008214C:
|
|
/* 8008214C 0007D70C 38 00 00 01 */ li r0, 1
|
|
/* 80082150 0007D710 48 00 00 08 */ b lbl_80082158
|
|
lbl_80082154:
|
|
/* 80082154 0007D714 38 00 00 00 */ li r0, 0
|
|
lbl_80082158:
|
|
/* 80082158 0007D718 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 8008215C 0007D71C 41 82 00 7C */ beq lbl_800821D8
|
|
/* 80082160 0007D720 80 01 00 10 */ lwz r0, 0x10(r1)
|
|
/* 80082164 0007D724 7F E3 FB 78 */ mr r3, r31
|
|
/* 80082168 0007D728 64 04 30 00 */ oris r4, r0, 0x3000
|
|
/* 8008216C 0007D72C 4B FF EF 8D */ bl xlHeapTake
|
|
/* 80082170 0007D730 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 80082174 0007D734 40 82 00 0C */ bne lbl_80082180
|
|
/* 80082178 0007D738 38 60 00 00 */ li r3, 0
|
|
/* 8008217C 0007D73C 48 00 00 60 */ b lbl_800821DC
|
|
lbl_80082180:
|
|
/* 80082180 0007D740 7F C5 F3 78 */ mr r5, r30
|
|
/* 80082184 0007D744 38 61 00 0C */ addi r3, r1, 0xc
|
|
/* 80082188 0007D748 38 80 00 01 */ li r4, 1
|
|
/* 8008218C 0007D74C 4B FF DF 49 */ bl xlFileOpen
|
|
/* 80082190 0007D750 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 80082194 0007D754 40 82 00 0C */ bne lbl_800821A0
|
|
/* 80082198 0007D758 38 60 00 00 */ li r3, 0
|
|
/* 8008219C 0007D75C 48 00 00 40 */ b lbl_800821DC
|
|
lbl_800821A0:
|
|
/* 800821A0 0007D760 80 61 00 0C */ lwz r3, 0xc(r1)
|
|
/* 800821A4 0007D764 80 9F 00 00 */ lwz r4, 0(r31)
|
|
/* 800821A8 0007D768 80 A1 00 10 */ lwz r5, 0x10(r1)
|
|
/* 800821AC 0007D76C 4B FF E0 3D */ bl xlFileRead
|
|
/* 800821B0 0007D770 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 800821B4 0007D774 40 82 00 0C */ bne lbl_800821C0
|
|
/* 800821B8 0007D778 38 60 00 00 */ li r3, 0
|
|
/* 800821BC 0007D77C 48 00 00 20 */ b lbl_800821DC
|
|
lbl_800821C0:
|
|
/* 800821C0 0007D780 38 61 00 0C */ addi r3, r1, 0xc
|
|
/* 800821C4 0007D784 4B FF DF F9 */ bl xlFileClose
|
|
/* 800821C8 0007D788 7C 03 00 D0 */ neg r0, r3
|
|
/* 800821CC 0007D78C 7C 00 1B 78 */ or r0, r0, r3
|
|
/* 800821D0 0007D790 54 03 0F FE */ srwi r3, r0, 0x1f
|
|
/* 800821D4 0007D794 48 00 00 08 */ b lbl_800821DC
|
|
lbl_800821D8:
|
|
/* 800821D8 0007D798 38 60 00 00 */ li r3, 0
|
|
lbl_800821DC:
|
|
/* 800821DC 0007D79C 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 800821E0 0007D7A0 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
/* 800821E4 0007D7A4 83 C1 00 18 */ lwz r30, 0x18(r1)
|
|
/* 800821E8 0007D7A8 7C 08 03 A6 */ mtlr r0
|
|
/* 800821EC 0007D7AC 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 800821F0 0007D7B0 4E 80 00 20 */ blr
|