mirror of https://github.com/PrimeDecomp/prime.git
178 lines
8.4 KiB
ArmAsm
178 lines
8.4 KiB
ArmAsm
.include "macros.inc"
|
|
|
|
.section .text, "ax" # 0x80003640 - 0x803CB1C0
|
|
|
|
.global __dt__16CFontInstructionFv
|
|
__dt__16CFontInstructionFv:
|
|
/* 802FEA80 002FB9E0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 802FEA84 002FB9E4 7C 08 02 A6 */ mflr r0
|
|
/* 802FEA88 002FB9E8 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 802FEA8C 002FB9EC 93 E1 00 0C */ stw r31, 0xc(r1)
|
|
/* 802FEA90 002FB9F0 7C 9F 23 78 */ mr r31, r4
|
|
/* 802FEA94 002FB9F4 93 C1 00 08 */ stw r30, 8(r1)
|
|
/* 802FEA98 002FB9F8 7C 7E 1B 79 */ or. r30, r3, r3
|
|
/* 802FEA9C 002FB9FC 41 82 00 48 */ beq lbl_802FEAE4
|
|
/* 802FEAA0 002FBA00 3C 60 80 3F */ lis r3, lbl_803ED5F0@ha
|
|
/* 802FEAA4 002FBA04 34 1E 00 04 */ addic. r0, r30, 4
|
|
/* 802FEAA8 002FBA08 38 03 D5 F0 */ addi r0, r3, lbl_803ED5F0@l
|
|
/* 802FEAAC 002FBA0C 90 1E 00 00 */ stw r0, 0(r30)
|
|
/* 802FEAB0 002FBA10 41 82 00 10 */ beq lbl_802FEAC0
|
|
/* 802FEAB4 002FBA14 38 7E 00 04 */ addi r3, r30, 4
|
|
/* 802FEAB8 002FBA18 38 80 00 00 */ li r4, 0
|
|
/* 802FEABC 002FBA1C 48 04 23 85 */ bl __dt__6CTokenFv
|
|
lbl_802FEAC0:
|
|
/* 802FEAC0 002FBA20 28 1E 00 00 */ cmplwi r30, 0
|
|
/* 802FEAC4 002FBA24 41 82 00 10 */ beq lbl_802FEAD4
|
|
/* 802FEAC8 002FBA28 3C 60 80 3E */ lis r3, lbl_803D9A6C@ha
|
|
/* 802FEACC 002FBA2C 38 03 9A 6C */ addi r0, r3, lbl_803D9A6C@l
|
|
/* 802FEAD0 002FBA30 90 1E 00 00 */ stw r0, 0(r30)
|
|
lbl_802FEAD4:
|
|
/* 802FEAD4 002FBA34 7F E0 07 35 */ extsh. r0, r31
|
|
/* 802FEAD8 002FBA38 40 81 00 0C */ ble lbl_802FEAE4
|
|
/* 802FEADC 002FBA3C 7F C3 F3 78 */ mr r3, r30
|
|
/* 802FEAE0 002FBA40 48 01 6E 51 */ bl Free__7CMemoryFPCv
|
|
lbl_802FEAE4:
|
|
/* 802FEAE4 002FBA44 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 802FEAE8 002FBA48 7F C3 F3 78 */ mr r3, r30
|
|
/* 802FEAEC 002FBA4C 83 E1 00 0C */ lwz r31, 0xc(r1)
|
|
/* 802FEAF0 002FBA50 83 C1 00 08 */ lwz r30, 8(r1)
|
|
/* 802FEAF4 002FBA54 7C 08 03 A6 */ mtlr r0
|
|
/* 802FEAF8 002FBA58 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 802FEAFC 002FBA5C 4E 80 00 20 */ blr
|
|
|
|
.global PageInvoke__16CFontInstructionCFR16CFontRenderStateP17CTextRenderBuffer
|
|
PageInvoke__16CFontInstructionCFR16CFontRenderStateP17CTextRenderBuffer:
|
|
/* 802FEB00 002FBA60 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 802FEB04 002FBA64 7C 08 02 A6 */ mflr r0
|
|
/* 802FEB08 002FBA68 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 802FEB0C 002FBA6C 81 83 00 00 */ lwz r12, 0(r3)
|
|
/* 802FEB10 002FBA70 81 8C 00 0C */ lwz r12, 0xc(r12)
|
|
/* 802FEB14 002FBA74 7D 89 03 A6 */ mtctr r12
|
|
/* 802FEB18 002FBA78 4E 80 04 21 */ bctrl
|
|
/* 802FEB1C 002FBA7C 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 802FEB20 002FBA80 7C 08 03 A6 */ mtlr r0
|
|
/* 802FEB24 002FBA84 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 802FEB28 002FBA88 4E 80 00 20 */ blr
|
|
|
|
.global GetAssetCount__16CFontInstructionCFv
|
|
GetAssetCount__16CFontInstructionCFv:
|
|
/* 802FEB2C 002FBA8C 38 60 00 02 */ li r3, 2
|
|
/* 802FEB30 002FBA90 4E 80 00 20 */ blr
|
|
|
|
.global "GetAssets__16CFontInstructionCFRQ24rstl42vector<6CToken,Q24rstl17rmemory_allocator>"
|
|
"GetAssets__16CFontInstructionCFRQ24rstl42vector<6CToken,Q24rstl17rmemory_allocator>":
|
|
/* 802FEB34 002FBA94 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 802FEB38 002FBA98 7C 08 02 A6 */ mflr r0
|
|
/* 802FEB3C 002FBA9C 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 802FEB40 002FBAA0 93 E1 00 1C */ stw r31, 0x1c(r1)
|
|
/* 802FEB44 002FBAA4 7C 9F 23 78 */ mr r31, r4
|
|
/* 802FEB48 002FBAA8 93 C1 00 18 */ stw r30, 0x18(r1)
|
|
/* 802FEB4C 002FBAAC 7C 7E 1B 78 */ mr r30, r3
|
|
/* 802FEB50 002FBAB0 80 04 00 04 */ lwz r0, 4(r4)
|
|
/* 802FEB54 002FBAB4 80 A4 00 08 */ lwz r5, 8(r4)
|
|
/* 802FEB58 002FBAB8 7C 00 28 00 */ cmpw r0, r5
|
|
/* 802FEB5C 002FBABC 41 80 00 1C */ blt lbl_802FEB78
|
|
/* 802FEB60 002FBAC0 2C 05 00 00 */ cmpwi r5, 0
|
|
/* 802FEB64 002FBAC4 7F E3 FB 78 */ mr r3, r31
|
|
/* 802FEB68 002FBAC8 38 80 00 04 */ li r4, 4
|
|
/* 802FEB6C 002FBACC 41 82 00 08 */ beq lbl_802FEB74
|
|
/* 802FEB70 002FBAD0 54 A4 08 3C */ slwi r4, r5, 1
|
|
lbl_802FEB74:
|
|
/* 802FEB74 002FBAD4 4B D0 9D E9 */ bl "reserve__Q24rstl42vector<6CToken,Q24rstl17rmemory_allocator>Fi"
|
|
lbl_802FEB78:
|
|
/* 802FEB78 002FBAD8 80 1F 00 04 */ lwz r0, 4(r31)
|
|
/* 802FEB7C 002FBADC 80 7F 00 0C */ lwz r3, 0xc(r31)
|
|
/* 802FEB80 002FBAE0 54 00 18 38 */ slwi r0, r0, 3
|
|
/* 802FEB84 002FBAE4 7C 63 02 15 */ add. r3, r3, r0
|
|
/* 802FEB88 002FBAE8 41 82 00 0C */ beq lbl_802FEB94
|
|
/* 802FEB8C 002FBAEC 38 9E 00 04 */ addi r4, r30, 4
|
|
/* 802FEB90 002FBAF0 48 04 23 19 */ bl __ct__6CTokenFRC6CToken
|
|
lbl_802FEB94:
|
|
/* 802FEB94 002FBAF4 80 7F 00 04 */ lwz r3, 4(r31)
|
|
/* 802FEB98 002FBAF8 38 03 00 01 */ addi r0, r3, 1
|
|
/* 802FEB9C 002FBAFC 90 1F 00 04 */ stw r0, 4(r31)
|
|
/* 802FEBA0 002FBB00 80 7E 00 04 */ lwz r3, 4(r30)
|
|
/* 802FEBA4 002FBB04 80 03 00 10 */ lwz r0, 0x10(r3)
|
|
/* 802FEBA8 002FBB08 28 00 00 00 */ cmplwi r0, 0
|
|
/* 802FEBAC 002FBB0C 41 82 00 7C */ beq lbl_802FEC28
|
|
/* 802FEBB0 002FBB10 38 61 00 08 */ addi r3, r1, 8
|
|
/* 802FEBB4 002FBB14 38 9E 00 04 */ addi r4, r30, 4
|
|
/* 802FEBB8 002FBB18 48 04 22 F1 */ bl __ct__6CTokenFRC6CToken
|
|
/* 802FEBBC 002FBB1C 38 61 00 08 */ addi r3, r1, 8
|
|
/* 802FEBC0 002FBB20 48 04 22 4D */ bl GetObj__6CTokenFv
|
|
/* 802FEBC4 002FBB24 80 1F 00 04 */ lwz r0, 4(r31)
|
|
/* 802FEBC8 002FBB28 80 BF 00 08 */ lwz r5, 8(r31)
|
|
/* 802FEBCC 002FBB2C 80 63 00 04 */ lwz r3, 4(r3)
|
|
/* 802FEBD0 002FBB30 7C 00 28 00 */ cmpw r0, r5
|
|
/* 802FEBD4 002FBB34 3B C3 00 80 */ addi r30, r3, 0x80
|
|
/* 802FEBD8 002FBB38 41 80 00 1C */ blt lbl_802FEBF4
|
|
/* 802FEBDC 002FBB3C 2C 05 00 00 */ cmpwi r5, 0
|
|
/* 802FEBE0 002FBB40 7F E3 FB 78 */ mr r3, r31
|
|
/* 802FEBE4 002FBB44 38 80 00 04 */ li r4, 4
|
|
/* 802FEBE8 002FBB48 41 82 00 08 */ beq lbl_802FEBF0
|
|
/* 802FEBEC 002FBB4C 54 A4 08 3C */ slwi r4, r5, 1
|
|
lbl_802FEBF0:
|
|
/* 802FEBF0 002FBB50 4B D0 9D 6D */ bl "reserve__Q24rstl42vector<6CToken,Q24rstl17rmemory_allocator>Fi"
|
|
lbl_802FEBF4:
|
|
/* 802FEBF4 002FBB54 80 1F 00 04 */ lwz r0, 4(r31)
|
|
/* 802FEBF8 002FBB58 80 7F 00 0C */ lwz r3, 0xc(r31)
|
|
/* 802FEBFC 002FBB5C 54 00 18 38 */ slwi r0, r0, 3
|
|
/* 802FEC00 002FBB60 7C 63 02 15 */ add. r3, r3, r0
|
|
/* 802FEC04 002FBB64 41 82 00 0C */ beq lbl_802FEC10
|
|
/* 802FEC08 002FBB68 7F C4 F3 78 */ mr r4, r30
|
|
/* 802FEC0C 002FBB6C 48 04 22 9D */ bl __ct__6CTokenFRC6CToken
|
|
lbl_802FEC10:
|
|
/* 802FEC10 002FBB70 80 BF 00 04 */ lwz r5, 4(r31)
|
|
/* 802FEC14 002FBB74 38 61 00 08 */ addi r3, r1, 8
|
|
/* 802FEC18 002FBB78 38 80 00 00 */ li r4, 0
|
|
/* 802FEC1C 002FBB7C 38 05 00 01 */ addi r0, r5, 1
|
|
/* 802FEC20 002FBB80 90 1F 00 04 */ stw r0, 4(r31)
|
|
/* 802FEC24 002FBB84 48 04 22 1D */ bl __dt__6CTokenFv
|
|
lbl_802FEC28:
|
|
/* 802FEC28 002FBB88 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 802FEC2C 002FBB8C 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
/* 802FEC30 002FBB90 83 C1 00 18 */ lwz r30, 0x18(r1)
|
|
/* 802FEC34 002FBB94 7C 08 03 A6 */ mtlr r0
|
|
/* 802FEC38 002FBB98 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 802FEC3C 002FBB9C 4E 80 00 20 */ blr
|
|
|
|
.global Invoke__16CFontInstructionCFR16CFontRenderStateP17CTextRenderBuffer
|
|
Invoke__16CFontInstructionCFR16CFontRenderStateP17CTextRenderBuffer:
|
|
/* 802FEC40 002FBBA0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 802FEC44 002FBBA4 7C 08 02 A6 */ mflr r0
|
|
/* 802FEC48 002FBBA8 28 05 00 00 */ cmplwi r5, 0
|
|
/* 802FEC4C 002FBBAC 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 802FEC50 002FBBB0 93 E1 00 0C */ stw r31, 0xc(r1)
|
|
/* 802FEC54 002FBBB4 7C 9F 23 78 */ mr r31, r4
|
|
/* 802FEC58 002FBBB8 93 C1 00 08 */ stw r30, 8(r1)
|
|
/* 802FEC5C 002FBBBC 7C 7E 1B 78 */ mr r30, r3
|
|
/* 802FEC60 002FBBC0 41 82 00 10 */ beq lbl_802FEC70
|
|
/* 802FEC64 002FBBC4 7C A3 2B 78 */ mr r3, r5
|
|
/* 802FEC68 002FBBC8 38 9E 00 04 */ addi r4, r30, 4
|
|
/* 802FEC6C 002FBBCC 48 05 C5 45 */ bl "AddFontChange__17CTextRenderBufferFRC21TToken<11CRasterFont>"
|
|
lbl_802FEC70:
|
|
/* 802FEC70 002FBBD0 88 1F 00 50 */ lbz r0, 0x50(r31)
|
|
/* 802FEC74 002FBBD4 28 00 00 00 */ cmplwi r0, 0
|
|
/* 802FEC78 002FBBD8 40 82 00 20 */ bne lbl_802FEC98
|
|
/* 802FEC7C 002FBBDC 34 7F 00 48 */ addic. r3, r31, 0x48
|
|
/* 802FEC80 002FBBE0 41 82 00 0C */ beq lbl_802FEC8C
|
|
/* 802FEC84 002FBBE4 38 9E 00 04 */ addi r4, r30, 4
|
|
/* 802FEC88 002FBBE8 48 04 22 21 */ bl __ct__6CTokenFRC6CToken
|
|
lbl_802FEC8C:
|
|
/* 802FEC8C 002FBBEC 38 00 00 01 */ li r0, 1
|
|
/* 802FEC90 002FBBF0 98 1F 00 50 */ stb r0, 0x50(r31)
|
|
/* 802FEC94 002FBBF4 48 00 00 10 */ b lbl_802FECA4
|
|
lbl_802FEC98:
|
|
/* 802FEC98 002FBBF8 38 7F 00 48 */ addi r3, r31, 0x48
|
|
/* 802FEC9C 002FBBFC 38 9E 00 04 */ addi r4, r30, 4
|
|
/* 802FECA0 002FBC00 48 04 20 25 */ bl __as__6CTokenFRC6CToken
|
|
lbl_802FECA4:
|
|
/* 802FECA4 002FBC04 7F E3 FB 78 */ mr r3, r31
|
|
/* 802FECA8 002FBC08 48 00 07 3D */ bl RefreshPalette__16CFontRenderStateFv
|
|
/* 802FECAC 002FBC0C 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 802FECB0 002FBC10 83 E1 00 0C */ lwz r31, 0xc(r1)
|
|
/* 802FECB4 002FBC14 83 C1 00 08 */ lwz r30, 8(r1)
|
|
/* 802FECB8 002FBC18 7C 08 03 A6 */ mtlr r0
|
|
/* 802FECBC 002FBC1C 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 802FECC0 002FBC20 4E 80 00 20 */ blr
|