tp/asm/JUtility/JUTFont.s

172 lines
8.0 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 802decf8
.global JUTFont
JUTFont:
/* 802DECF8 002DBC38 3C 80 80 3A */ lis r4, lbl_803A31F0@ha
/* 802DECFC 002DBC3C 38 04 31 F0 */ addi r0, r4, lbl_803A31F0@l
/* 802DED00 002DBC40 90 03 00 00 */ stw r0, 0(r3)
/* 802DED04 002DBC44 38 00 FF FF */ li r0, -1
/* 802DED08 002DBC48 90 03 00 0C */ stw r0, 0xc(r3)
/* 802DED0C 002DBC4C 90 03 00 10 */ stw r0, 0x10(r3)
/* 802DED10 002DBC50 90 03 00 14 */ stw r0, 0x14(r3)
/* 802DED14 002DBC54 90 03 00 18 */ stw r0, 0x18(r3)
/* 802DED18 002DBC58 38 00 00 00 */ li r0, 0
/* 802DED1C 002DBC5C 98 03 00 04 */ stb r0, 4(r3)
/* 802DED20 002DBC60 4E 80 00 20 */ blr
.global JUTFont_NS_initialize_state
JUTFont_NS_initialize_state:
/* 802DED24 002DBC64 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802DED28 002DBC68 7C 08 02 A6 */ mflr r0
/* 802DED2C 002DBC6C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802DED30 002DBC70 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802DED34 002DBC74 7C 7F 1B 78 */ mr r31, r3
/* 802DED38 002DBC78 38 00 FF FF */ li r0, -1
/* 802DED3C 002DBC7C 90 01 00 08 */ stw r0, 8(r1)
/* 802DED40 002DBC80 90 01 00 0C */ stw r0, 0xc(r1)
/* 802DED44 002DBC84 38 81 00 0C */ addi r4, r1, 0xc
/* 802DED48 002DBC88 48 00 00 29 */ bl JUTFont_NS_setCharColor
/* 802DED4C 002DBC8C 38 00 00 00 */ li r0, 0
/* 802DED50 002DBC90 98 1F 00 05 */ stb r0, 5(r31)
/* 802DED54 002DBC94 90 1F 00 08 */ stw r0, 8(r31)
/* 802DED58 002DBC98 98 1F 00 04 */ stb r0, 4(r31)
/* 802DED5C 002DBC9C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802DED60 002DBCA0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802DED64 002DBCA4 7C 08 03 A6 */ mtlr r0
/* 802DED68 002DBCA8 38 21 00 20 */ addi r1, r1, 0x20
/* 802DED6C 002DBCAC 4E 80 00 20 */ blr
.global JUTFont_NS_setCharColor
JUTFont_NS_setCharColor:
/* 802DED70 002DBCB0 88 E4 00 00 */ lbz r7, 0(r4)
/* 802DED74 002DBCB4 98 E3 00 0C */ stb r7, 0xc(r3)
/* 802DED78 002DBCB8 88 C4 00 01 */ lbz r6, 1(r4)
/* 802DED7C 002DBCBC 98 C3 00 0D */ stb r6, 0xd(r3)
/* 802DED80 002DBCC0 88 A4 00 02 */ lbz r5, 2(r4)
/* 802DED84 002DBCC4 98 A3 00 0E */ stb r5, 0xe(r3)
/* 802DED88 002DBCC8 88 04 00 03 */ lbz r0, 3(r4)
/* 802DED8C 002DBCCC 98 03 00 0F */ stb r0, 0xf(r3)
/* 802DED90 002DBCD0 98 E3 00 10 */ stb r7, 0x10(r3)
/* 802DED94 002DBCD4 98 C3 00 11 */ stb r6, 0x11(r3)
/* 802DED98 002DBCD8 98 A3 00 12 */ stb r5, 0x12(r3)
/* 802DED9C 002DBCDC 98 03 00 13 */ stb r0, 0x13(r3)
/* 802DEDA0 002DBCE0 98 E3 00 14 */ stb r7, 0x14(r3)
/* 802DEDA4 002DBCE4 98 C3 00 15 */ stb r6, 0x15(r3)
/* 802DEDA8 002DBCE8 98 A3 00 16 */ stb r5, 0x16(r3)
/* 802DEDAC 002DBCEC 98 03 00 17 */ stb r0, 0x17(r3)
/* 802DEDB0 002DBCF0 98 E3 00 18 */ stb r7, 0x18(r3)
/* 802DEDB4 002DBCF4 98 C3 00 19 */ stb r6, 0x19(r3)
/* 802DEDB8 002DBCF8 98 A3 00 1A */ stb r5, 0x1a(r3)
/* 802DEDBC 002DBCFC 98 03 00 1B */ stb r0, 0x1b(r3)
/* 802DEDC0 002DBD00 4E 80 00 20 */ blr
.global JUTFont_NS_setGradColor
JUTFont_NS_setGradColor:
/* 802DEDC4 002DBD04 89 04 00 00 */ lbz r8, 0(r4)
/* 802DEDC8 002DBD08 99 03 00 0C */ stb r8, 0xc(r3)
/* 802DEDCC 002DBD0C 88 E4 00 01 */ lbz r7, 1(r4)
/* 802DEDD0 002DBD10 98 E3 00 0D */ stb r7, 0xd(r3)
/* 802DEDD4 002DBD14 88 C4 00 02 */ lbz r6, 2(r4)
/* 802DEDD8 002DBD18 98 C3 00 0E */ stb r6, 0xe(r3)
/* 802DEDDC 002DBD1C 88 04 00 03 */ lbz r0, 3(r4)
/* 802DEDE0 002DBD20 98 03 00 0F */ stb r0, 0xf(r3)
/* 802DEDE4 002DBD24 99 03 00 10 */ stb r8, 0x10(r3)
/* 802DEDE8 002DBD28 98 E3 00 11 */ stb r7, 0x11(r3)
/* 802DEDEC 002DBD2C 98 C3 00 12 */ stb r6, 0x12(r3)
/* 802DEDF0 002DBD30 98 03 00 13 */ stb r0, 0x13(r3)
/* 802DEDF4 002DBD34 88 E5 00 00 */ lbz r7, 0(r5)
/* 802DEDF8 002DBD38 98 E3 00 14 */ stb r7, 0x14(r3)
/* 802DEDFC 002DBD3C 88 C5 00 01 */ lbz r6, 1(r5)
/* 802DEE00 002DBD40 98 C3 00 15 */ stb r6, 0x15(r3)
/* 802DEE04 002DBD44 88 85 00 02 */ lbz r4, 2(r5)
/* 802DEE08 002DBD48 98 83 00 16 */ stb r4, 0x16(r3)
/* 802DEE0C 002DBD4C 88 05 00 03 */ lbz r0, 3(r5)
/* 802DEE10 002DBD50 98 03 00 17 */ stb r0, 0x17(r3)
/* 802DEE14 002DBD54 98 E3 00 18 */ stb r7, 0x18(r3)
/* 802DEE18 002DBD58 98 C3 00 19 */ stb r6, 0x19(r3)
/* 802DEE1C 002DBD5C 98 83 00 1A */ stb r4, 0x1a(r3)
/* 802DEE20 002DBD60 98 03 00 1B */ stb r0, 0x1b(r3)
/* 802DEE24 002DBD64 4E 80 00 20 */ blr
.global JUTFont_NS_drawString_size_scale
JUTFont_NS_drawString_size_scale:
/* 802DEE28 002DBD68 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 802DEE2C 002DBD6C 7C 08 02 A6 */ mflr r0
/* 802DEE30 002DBD70 90 01 00 74 */ stw r0, 0x74(r1)
/* 802DEE34 002DBD74 DB E1 00 60 */ stfd f31, 0x60(r1)
/* 802DEE38 002DBD78 F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0
/* 802DEE3C 002DBD7C DB C1 00 50 */ stfd f30, 0x50(r1)
/* 802DEE40 002DBD80 F3 C1 00 58 */ psq_st f30, 88(r1), 0, qr0
/* 802DEE44 002DBD84 DB A1 00 40 */ stfd f29, 0x40(r1)
/* 802DEE48 002DBD88 F3 A1 00 48 */ psq_st f29, 72(r1), 0, qr0
/* 802DEE4C 002DBD8C DB 81 00 30 */ stfd f28, 0x30(r1)
/* 802DEE50 002DBD90 F3 81 00 38 */ psq_st f28, 56(r1), 0, qr0
/* 802DEE54 002DBD94 DB 61 00 20 */ stfd f27, 0x20(r1)
/* 802DEE58 002DBD98 F3 61 00 28 */ psq_st f27, 40(r1), 0, qr0
/* 802DEE5C 002DBD9C 39 61 00 20 */ addi r11, r1, 0x20
/* 802DEE60 002DBDA0 48 08 33 75 */ bl _savegpr_27
/* 802DEE64 002DBDA4 7C 7B 1B 78 */ mr r27, r3
/* 802DEE68 002DBDA8 FF 60 08 90 */ fmr f27, f1
/* 802DEE6C 002DBDAC FF 80 10 90 */ fmr f28, f2
/* 802DEE70 002DBDB0 FF A0 18 90 */ fmr f29, f3
/* 802DEE74 002DBDB4 FF C0 20 90 */ fmr f30, f4
/* 802DEE78 002DBDB8 7C 9C 23 78 */ mr r28, r4
/* 802DEE7C 002DBDBC 7C BD 2B 78 */ mr r29, r5
/* 802DEE80 002DBDC0 7C DE 33 78 */ mr r30, r6
/* 802DEE84 002DBDC4 FF E0 D8 90 */ fmr f31, f27
/* 802DEE88 002DBDC8 48 00 00 74 */ b lbl_802DEEFC
lbl_802DEE8C:
/* 802DEE8C 002DBDCC 88 9C 00 00 */ lbz r4, 0(r28)
/* 802DEE90 002DBDD0 7C 9F 23 78 */ mr r31, r4
/* 802DEE94 002DBDD4 7F 63 DB 78 */ mr r3, r27
/* 802DEE98 002DBDD8 81 9B 00 00 */ lwz r12, 0(r27)
/* 802DEE9C 002DBDDC 81 8C 00 40 */ lwz r12, 0x40(r12)
/* 802DEEA0 002DBDE0 7D 89 03 A6 */ mtctr r12
/* 802DEEA4 002DBDE4 4E 80 04 21 */ bctrl
/* 802DEEA8 002DBDE8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802DEEAC 002DBDEC 41 82 00 14 */ beq lbl_802DEEC0
/* 802DEEB0 002DBDF0 57 FF 40 2E */ slwi r31, r31, 8
/* 802DEEB4 002DBDF4 8C 1C 00 01 */ lbzu r0, 1(r28)
/* 802DEEB8 002DBDF8 7F FF 03 78 */ or r31, r31, r0
/* 802DEEBC 002DBDFC 3B BD FF FF */ addi r29, r29, -1
lbl_802DEEC0:
/* 802DEEC0 002DBE00 7F 63 DB 78 */ mr r3, r27
/* 802DEEC4 002DBE04 FC 20 D8 90 */ fmr f1, f27
/* 802DEEC8 002DBE08 FC 40 E0 90 */ fmr f2, f28
/* 802DEECC 002DBE0C FC 60 E8 90 */ fmr f3, f29
/* 802DEED0 002DBE10 FC 80 F0 90 */ fmr f4, f30
/* 802DEED4 002DBE14 7F E4 FB 78 */ mr r4, r31
/* 802DEED8 002DBE18 7F C5 F3 78 */ mr r5, r30
/* 802DEEDC 002DBE1C 81 9B 00 00 */ lwz r12, 0(r27)
/* 802DEEE0 002DBE20 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 802DEEE4 002DBE24 7D 89 03 A6 */ mtctr r12
/* 802DEEE8 002DBE28 4E 80 04 21 */ bctrl
/* 802DEEEC 002DBE2C EF 7B 08 2A */ fadds f27, f27, f1
/* 802DEEF0 002DBE30 3B C0 00 01 */ li r30, 1
/* 802DEEF4 002DBE34 3B BD FF FF */ addi r29, r29, -1
/* 802DEEF8 002DBE38 3B 9C 00 01 */ addi r28, r28, 1
lbl_802DEEFC:
/* 802DEEFC 002DBE3C 28 1D 00 00 */ cmplwi r29, 0
/* 802DEF00 002DBE40 40 82 FF 8C */ bne lbl_802DEE8C
/* 802DEF04 002DBE44 EC 3B F8 28 */ fsubs f1, f27, f31
/* 802DEF08 002DBE48 E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0
/* 802DEF0C 002DBE4C CB E1 00 60 */ lfd f31, 0x60(r1)
/* 802DEF10 002DBE50 E3 C1 00 58 */ psq_l f30, 88(r1), 0, qr0
/* 802DEF14 002DBE54 CB C1 00 50 */ lfd f30, 0x50(r1)
/* 802DEF18 002DBE58 E3 A1 00 48 */ psq_l f29, 72(r1), 0, qr0
/* 802DEF1C 002DBE5C CB A1 00 40 */ lfd f29, 0x40(r1)
/* 802DEF20 002DBE60 E3 81 00 38 */ psq_l f28, 56(r1), 0, qr0
/* 802DEF24 002DBE64 CB 81 00 30 */ lfd f28, 0x30(r1)
/* 802DEF28 002DBE68 E3 61 00 28 */ psq_l f27, 40(r1), 0, qr0
/* 802DEF2C 002DBE6C CB 61 00 20 */ lfd f27, 0x20(r1)
/* 802DEF30 002DBE70 39 61 00 20 */ addi r11, r1, 0x20
/* 802DEF34 002DBE74 48 08 32 ED */ bl _restgpr_27
/* 802DEF38 002DBE78 80 01 00 74 */ lwz r0, 0x74(r1)
/* 802DEF3C 002DBE7C 7C 08 03 A6 */ mtlr r0
/* 802DEF40 002DBE80 38 21 00 70 */ addi r1, r1, 0x70
/* 802DEF44 002DBE84 4E 80 00 20 */ blr