mirror of https://github.com/zeldaret/tp.git
JUTCacheFont OK (#1947)
This commit is contained in:
parent
84e4135053
commit
4a424534a5
|
|
@ -1,20 +0,0 @@
|
|||
lbl_802DC8C8:
|
||||
/* 802DC8C8 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802DC8CC 7C 08 02 A6 */ mflr r0
|
||||
/* 802DC8D0 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802DC8D4 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802DC8D8 7C 7F 1B 79 */ or. r31, r3, r3
|
||||
/* 802DC8DC 41 82 00 1C */ beq lbl_802DC8F8
|
||||
/* 802DC8E0 3C A0 80 3C */ lis r5, __vt__Q37JGadget6binary19TParse_header_block@ha /* 0x803C488C@ha */
|
||||
/* 802DC8E4 38 05 48 8C */ addi r0, r5, __vt__Q37JGadget6binary19TParse_header_block@l /* 0x803C488C@l */
|
||||
/* 802DC8E8 90 1F 00 00 */ stw r0, 0(r31)
|
||||
/* 802DC8EC 7C 80 07 35 */ extsh. r0, r4
|
||||
/* 802DC8F0 40 81 00 08 */ ble lbl_802DC8F8
|
||||
/* 802DC8F4 4B FF 24 49 */ bl __dl__FPv
|
||||
lbl_802DC8F8:
|
||||
/* 802DC8F8 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802DC8FC 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802DC900 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802DC904 7C 08 03 A6 */ mtlr r0
|
||||
/* 802DC908 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802DC90C 4E 80 00 20 */ blr
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
lbl_802DC864:
|
||||
/* 802DC864 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802DC868 28 06 00 00 */ cmplwi r6, 0
|
||||
/* 802DC86C 40 82 00 08 */ bne lbl_802DC874
|
||||
/* 802DC870 38 C1 00 08 */ addi r6, r1, 8
|
||||
lbl_802DC874:
|
||||
/* 802DC874 A0 E3 00 00 */ lhz r7, 0(r3)
|
||||
/* 802DC878 54 E0 04 21 */ rlwinm. r0, r7, 0, 0x10, 0x10
|
||||
/* 802DC87C 40 82 00 20 */ bne lbl_802DC89C
|
||||
/* 802DC880 38 00 00 10 */ li r0, 0x10
|
||||
/* 802DC884 90 06 00 00 */ stw r0, 0(r6)
|
||||
/* 802DC888 90 E4 00 00 */ stw r7, 0(r4)
|
||||
/* 802DC88C A0 03 00 02 */ lhz r0, 2(r3)
|
||||
/* 802DC890 90 05 00 00 */ stw r0, 0(r5)
|
||||
/* 802DC894 38 63 00 04 */ addi r3, r3, 4
|
||||
/* 802DC898 48 00 00 28 */ b lbl_802DC8C0
|
||||
lbl_802DC89C:
|
||||
/* 802DC89C 38 00 00 20 */ li r0, 0x20
|
||||
/* 802DC8A0 90 06 00 00 */ stw r0, 0(r6)
|
||||
/* 802DC8A4 54 E7 80 5E */ rlwinm r7, r7, 0x10, 1, 0xf
|
||||
/* 802DC8A8 A0 03 00 02 */ lhz r0, 2(r3)
|
||||
/* 802DC8AC 7C E7 03 78 */ or r7, r7, r0
|
||||
/* 802DC8B0 90 E4 00 00 */ stw r7, 0(r4)
|
||||
/* 802DC8B4 80 03 00 04 */ lwz r0, 4(r3)
|
||||
/* 802DC8B8 90 05 00 00 */ stw r0, 0(r5)
|
||||
/* 802DC8BC 38 63 00 08 */ addi r3, r3, 8
|
||||
lbl_802DC8C0:
|
||||
/* 802DC8C0 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802DC8C4 4E 80 00 20 */ blr
|
||||
|
|
@ -1,77 +0,0 @@
|
|||
lbl_802DC910:
|
||||
/* 802DC910 94 21 FF D0 */ stwu r1, -0x30(r1)
|
||||
/* 802DC914 7C 08 02 A6 */ mflr r0
|
||||
/* 802DC918 90 01 00 34 */ stw r0, 0x34(r1)
|
||||
/* 802DC91C 39 61 00 30 */ addi r11, r1, 0x30
|
||||
/* 802DC920 48 08 58 B1 */ bl _savegpr_26
|
||||
/* 802DC924 7C 7A 1B 78 */ mr r26, r3
|
||||
/* 802DC928 7C 9B 23 79 */ or. r27, r4, r4
|
||||
/* 802DC92C 7C BC 2B 78 */ mr r28, r5
|
||||
/* 802DC930 41 82 00 10 */ beq lbl_802DC940
|
||||
/* 802DC934 80 1B 00 00 */ lwz r0, 0(r27)
|
||||
/* 802DC938 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 802DC93C 40 82 00 0C */ bne lbl_802DC948
|
||||
lbl_802DC940:
|
||||
/* 802DC940 38 60 00 00 */ li r3, 0
|
||||
/* 802DC944 48 00 00 C0 */ b lbl_802DCA04
|
||||
lbl_802DC948:
|
||||
/* 802DC948 3B E0 00 00 */ li r31, 0
|
||||
/* 802DC94C 38 A1 00 0C */ addi r5, r1, 0xc
|
||||
/* 802DC950 7F 86 E3 78 */ mr r6, r28
|
||||
/* 802DC954 81 83 00 00 */ lwz r12, 0(r3)
|
||||
/* 802DC958 81 8C 00 0C */ lwz r12, 0xc(r12)
|
||||
/* 802DC95C 7D 89 03 A6 */ mtctr r12
|
||||
/* 802DC960 4E 80 04 21 */ bctrl
|
||||
/* 802DC964 54 60 06 3F */ clrlwi. r0, r3, 0x18
|
||||
/* 802DC968 41 82 00 08 */ beq lbl_802DC970
|
||||
/* 802DC96C 3B E0 00 01 */ li r31, 1
|
||||
lbl_802DC970:
|
||||
/* 802DC970 7F FD FB 78 */ mr r29, r31
|
||||
/* 802DC974 57 80 07 FF */ clrlwi. r0, r28, 0x1f
|
||||
/* 802DC978 40 82 00 14 */ bne lbl_802DC98C
|
||||
/* 802DC97C 57 E0 06 3F */ clrlwi. r0, r31, 0x18
|
||||
/* 802DC980 40 82 00 0C */ bne lbl_802DC98C
|
||||
/* 802DC984 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802DC988 48 00 00 7C */ b lbl_802DCA04
|
||||
lbl_802DC98C:
|
||||
/* 802DC98C 57 9E 07 BC */ rlwinm r30, r28, 0, 0x1e, 0x1e
|
||||
/* 802DC990 48 00 00 64 */ b lbl_802DC9F4
|
||||
lbl_802DC994:
|
||||
/* 802DC994 3B E0 00 00 */ li r31, 0
|
||||
/* 802DC998 7F 43 D3 78 */ mr r3, r26
|
||||
/* 802DC99C 7F 64 DB 78 */ mr r4, r27
|
||||
/* 802DC9A0 38 A1 00 08 */ addi r5, r1, 8
|
||||
/* 802DC9A4 7F 86 E3 78 */ mr r6, r28
|
||||
/* 802DC9A8 81 9A 00 00 */ lwz r12, 0(r26)
|
||||
/* 802DC9AC 81 8C 00 10 */ lwz r12, 0x10(r12)
|
||||
/* 802DC9B0 7D 89 03 A6 */ mtctr r12
|
||||
/* 802DC9B4 4E 80 04 21 */ bctrl
|
||||
/* 802DC9B8 54 60 06 3F */ clrlwi. r0, r3, 0x18
|
||||
/* 802DC9BC 41 82 00 10 */ beq lbl_802DC9CC
|
||||
/* 802DC9C0 57 A0 06 3F */ clrlwi. r0, r29, 0x18
|
||||
/* 802DC9C4 41 82 00 08 */ beq lbl_802DC9CC
|
||||
/* 802DC9C8 3B E0 00 01 */ li r31, 1
|
||||
lbl_802DC9CC:
|
||||
/* 802DC9CC 7F FD FB 78 */ mr r29, r31
|
||||
/* 802DC9D0 28 1E 00 00 */ cmplwi r30, 0
|
||||
/* 802DC9D4 40 82 00 14 */ bne lbl_802DC9E8
|
||||
/* 802DC9D8 57 E0 06 3F */ clrlwi. r0, r31, 0x18
|
||||
/* 802DC9DC 40 82 00 0C */ bne lbl_802DC9E8
|
||||
/* 802DC9E0 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802DC9E4 48 00 00 20 */ b lbl_802DCA04
|
||||
lbl_802DC9E8:
|
||||
/* 802DC9E8 80 61 00 0C */ lwz r3, 0xc(r1)
|
||||
/* 802DC9EC 38 03 FF FF */ addi r0, r3, -1
|
||||
/* 802DC9F0 90 01 00 0C */ stw r0, 0xc(r1)
|
||||
lbl_802DC9F4:
|
||||
/* 802DC9F4 80 01 00 0C */ lwz r0, 0xc(r1)
|
||||
/* 802DC9F8 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 802DC9FC 40 82 FF 98 */ bne lbl_802DC994
|
||||
/* 802DCA00 7F A3 EB 78 */ mr r3, r29
|
||||
lbl_802DCA04:
|
||||
/* 802DCA04 39 61 00 30 */ addi r11, r1, 0x30
|
||||
/* 802DCA08 48 08 58 15 */ bl _restgpr_26
|
||||
/* 802DCA0C 80 01 00 34 */ lwz r0, 0x34(r1)
|
||||
/* 802DCA10 7C 08 03 A6 */ mtlr r0
|
||||
/* 802DCA14 38 21 00 30 */ addi r1, r1, 0x30
|
||||
/* 802DCA18 4E 80 00 20 */ blr
|
||||
|
|
@ -1,51 +0,0 @@
|
|||
lbl_802DDB0C:
|
||||
/* 802DDB0C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802DDB10 7C 08 02 A6 */ mflr r0
|
||||
/* 802DDB14 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802DDB18 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802DDB1C 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 802DDB20 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 802DDB24 80 63 00 A4 */ lwz r3, 0xa4(r3)
|
||||
/* 802DDB28 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802DDB2C 41 82 00 30 */ beq lbl_802DDB5C
|
||||
/* 802DDB30 80 03 00 04 */ lwz r0, 4(r3)
|
||||
/* 802DDB34 90 1E 00 A4 */ stw r0, 0xa4(r30)
|
||||
/* 802DDB38 80 83 00 04 */ lwz r4, 4(r3)
|
||||
/* 802DDB3C 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 802DDB40 40 82 00 10 */ bne lbl_802DDB50
|
||||
/* 802DDB44 38 00 00 00 */ li r0, 0
|
||||
/* 802DDB48 90 1E 00 A8 */ stw r0, 0xa8(r30)
|
||||
/* 802DDB4C 48 00 00 58 */ b lbl_802DDBA4
|
||||
lbl_802DDB50:
|
||||
/* 802DDB50 38 00 00 00 */ li r0, 0
|
||||
/* 802DDB54 90 04 00 00 */ stw r0, 0(r4)
|
||||
/* 802DDB58 48 00 00 4C */ b lbl_802DDBA4
|
||||
lbl_802DDB5C:
|
||||
/* 802DDB5C 83 FE 00 A0 */ lwz r31, 0xa0(r30)
|
||||
/* 802DDB60 48 00 00 38 */ b lbl_802DDB98
|
||||
lbl_802DDB64:
|
||||
/* 802DDB64 80 7F 00 00 */ lwz r3, 0(r31)
|
||||
/* 802DDB68 A0 1F 00 1E */ lhz r0, 0x1e(r31)
|
||||
/* 802DDB6C 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 802DDB70 40 82 00 24 */ bne lbl_802DDB94
|
||||
/* 802DDB74 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802DDB78 7F E4 FB 78 */ mr r4, r31
|
||||
/* 802DDB7C 48 00 03 ED */ bl unlink__12JUTCacheFontFPQ212JUTCacheFont15TGlyphCacheInfo
|
||||
/* 802DDB80 80 7E 00 B4 */ lwz r3, 0xb4(r30)
|
||||
/* 802DDB84 38 03 00 01 */ addi r0, r3, 1
|
||||
/* 802DDB88 90 1E 00 B4 */ stw r0, 0xb4(r30)
|
||||
/* 802DDB8C 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802DDB90 48 00 00 14 */ b lbl_802DDBA4
|
||||
lbl_802DDB94:
|
||||
/* 802DDB94 7C 7F 1B 78 */ mr r31, r3
|
||||
lbl_802DDB98:
|
||||
/* 802DDB98 28 1F 00 00 */ cmplwi r31, 0
|
||||
/* 802DDB9C 40 82 FF C8 */ bne lbl_802DDB64
|
||||
/* 802DDBA0 38 60 00 00 */ li r3, 0
|
||||
lbl_802DDBA4:
|
||||
/* 802DDBA4 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802DDBA8 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 802DDBAC 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802DDBB0 7C 08 03 A6 */ mtlr r0
|
||||
/* 802DDBB4 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802DDBB8 4E 80 00 20 */ blr
|
||||
|
|
@ -1,76 +0,0 @@
|
|||
lbl_802DDBBC:
|
||||
/* 802DDBBC 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 802DDBC0 7C 08 02 A6 */ mflr r0
|
||||
/* 802DDBC4 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 802DDBC8 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802DDBCC 48 08 46 09 */ bl _savegpr_27
|
||||
/* 802DDBD0 7C 7B 1B 78 */ mr r27, r3
|
||||
/* 802DDBD4 7C 9C 23 78 */ mr r28, r4
|
||||
/* 802DDBD8 7C BF 2B 78 */ mr r31, r5
|
||||
/* 802DDBDC 7C DD 33 78 */ mr r29, r6
|
||||
/* 802DDBE0 7C FE 3B 78 */ mr r30, r7
|
||||
/* 802DDBE4 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802DDBE8 38 A0 00 20 */ li r5, 0x20
|
||||
/* 802DDBEC 4B D2 59 55 */ bl memcpy
|
||||
/* 802DDBF0 7F 63 DB 78 */ mr r3, r27
|
||||
/* 802DDBF4 7F E4 FB 78 */ mr r4, r31
|
||||
/* 802DDBF8 48 00 03 B5 */ bl prepend__12JUTCacheFontFPQ212JUTCacheFont15TGlyphCacheInfo
|
||||
/* 802DDBFC A0 7F 00 16 */ lhz r3, 0x16(r31)
|
||||
/* 802DDC00 A0 1F 00 18 */ lhz r0, 0x18(r31)
|
||||
/* 802DDC04 7C A3 01 D6 */ mullw r5, r3, r0
|
||||
/* 802DDC08 80 1D 00 00 */ lwz r0, 0(r29)
|
||||
/* 802DDC0C 7C C0 2B D6 */ divw r6, r0, r5
|
||||
/* 802DDC10 A0 1F 00 08 */ lhz r0, 8(r31)
|
||||
/* 802DDC14 7C 86 29 D6 */ mullw r4, r6, r5
|
||||
/* 802DDC18 7C 00 22 14 */ add r0, r0, r4
|
||||
/* 802DDC1C B0 1F 00 08 */ sth r0, 8(r31)
|
||||
/* 802DDC20 A0 7F 00 08 */ lhz r3, 8(r31)
|
||||
/* 802DDC24 38 05 FF FF */ addi r0, r5, -1
|
||||
/* 802DDC28 7C 03 02 14 */ add r0, r3, r0
|
||||
/* 802DDC2C 54 00 04 3E */ clrlwi r0, r0, 0x10
|
||||
/* 802DDC30 A0 7F 00 0A */ lhz r3, 0xa(r31)
|
||||
/* 802DDC34 7C 03 00 40 */ cmplw r3, r0
|
||||
/* 802DDC38 40 80 00 08 */ bge lbl_802DDC40
|
||||
/* 802DDC3C 7C 60 1B 78 */ mr r0, r3
|
||||
lbl_802DDC40:
|
||||
/* 802DDC40 B0 1F 00 0A */ sth r0, 0xa(r31)
|
||||
/* 802DDC44 90 DE 00 00 */ stw r6, 0(r30)
|
||||
/* 802DDC48 80 1D 00 00 */ lwz r0, 0(r29)
|
||||
/* 802DDC4C 7C 04 00 50 */ subf r0, r4, r0
|
||||
/* 802DDC50 90 1D 00 00 */ stw r0, 0(r29)
|
||||
/* 802DDC54 80 BF 00 10 */ lwz r5, 0x10(r31)
|
||||
/* 802DDC58 80 7C 00 00 */ lwz r3, 0(r28)
|
||||
/* 802DDC5C 7C 05 31 D6 */ mullw r0, r5, r6
|
||||
/* 802DDC60 7C 63 02 14 */ add r3, r3, r0
|
||||
/* 802DDC64 38 9F 00 40 */ addi r4, r31, 0x40
|
||||
/* 802DDC68 38 C0 00 00 */ li r6, 0
|
||||
/* 802DDC6C 38 E0 00 00 */ li r7, 0
|
||||
/* 802DDC70 39 00 00 00 */ li r8, 0
|
||||
/* 802DDC74 39 20 FF FF */ li r9, -1
|
||||
/* 802DDC78 39 40 00 00 */ li r10, 0
|
||||
/* 802DDC7C 4B FF 49 39 */ bl aramToMainRam__7JKRAramFUlPUcUl15JKRExpandSwitchUlP7JKRHeapiPUl
|
||||
/* 802DDC80 38 7F 00 20 */ addi r3, r31, 0x20
|
||||
/* 802DDC84 38 9F 00 40 */ addi r4, r31, 0x40
|
||||
/* 802DDC88 A0 BF 00 1A */ lhz r5, 0x1a(r31)
|
||||
/* 802DDC8C A0 DF 00 1C */ lhz r6, 0x1c(r31)
|
||||
/* 802DDC90 A0 FF 00 14 */ lhz r7, 0x14(r31)
|
||||
/* 802DDC94 39 00 00 00 */ li r8, 0
|
||||
/* 802DDC98 39 20 00 00 */ li r9, 0
|
||||
/* 802DDC9C 39 40 00 00 */ li r10, 0
|
||||
/* 802DDCA0 48 08 01 A1 */ bl GXInitTexObj
|
||||
/* 802DDCA4 38 7F 00 20 */ addi r3, r31, 0x20
|
||||
/* 802DDCA8 38 80 00 01 */ li r4, 1
|
||||
/* 802DDCAC 38 A0 00 01 */ li r5, 1
|
||||
/* 802DDCB0 C0 22 C5 D0 */ lfs f1, lit_721(r2)
|
||||
/* 802DDCB4 FC 40 08 90 */ fmr f2, f1
|
||||
/* 802DDCB8 FC 60 08 90 */ fmr f3, f1
|
||||
/* 802DDCBC 38 C0 00 00 */ li r6, 0
|
||||
/* 802DDCC0 38 E0 00 00 */ li r7, 0
|
||||
/* 802DDCC4 39 00 00 00 */ li r8, 0
|
||||
/* 802DDCC8 48 08 04 0D */ bl GXInitTexObjLOD
|
||||
/* 802DDCCC 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802DDCD0 48 08 45 51 */ bl _restgpr_27
|
||||
/* 802DDCD4 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 802DDCD8 7C 08 03 A6 */ mtlr r0
|
||||
/* 802DDCDC 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 802DDCE0 4E 80 00 20 */ blr
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
lbl_802DE004:
|
||||
/* 802DE004 80 63 00 4C */ lwz r3, 0x4c(r3)
|
||||
/* 802DE008 A0 63 00 0A */ lhz r3, 0xa(r3)
|
||||
/* 802DE00C 4E 80 00 20 */ blr
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
lbl_802DE010:
|
||||
/* 802DE010 80 63 00 4C */ lwz r3, 0x4c(r3)
|
||||
/* 802DE014 A0 63 00 0C */ lhz r3, 0xc(r3)
|
||||
/* 802DE018 4E 80 00 20 */ blr
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
lbl_802DDFE0:
|
||||
/* 802DDFE0 80 63 00 4C */ lwz r3, 0x4c(r3)
|
||||
/* 802DDFE4 A0 63 00 08 */ lhz r3, 8(r3)
|
||||
/* 802DDFE8 4E 80 00 20 */ blr
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
lbl_802DE01C:
|
||||
/* 802DE01C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802DE020 7C 08 02 A6 */ mflr r0
|
||||
/* 802DE024 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802DE028 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802DE02C 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 802DE030 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 802DE034 81 83 00 00 */ lwz r12, 0(r3)
|
||||
/* 802DE038 81 8C 00 20 */ lwz r12, 0x20(r12)
|
||||
/* 802DE03C 7D 89 03 A6 */ mtctr r12
|
||||
/* 802DE040 4E 80 04 21 */ bctrl
|
||||
/* 802DE044 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802DE048 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802DE04C 81 9E 00 00 */ lwz r12, 0(r30)
|
||||
/* 802DE050 81 8C 00 1C */ lwz r12, 0x1c(r12)
|
||||
/* 802DE054 7D 89 03 A6 */ mtctr r12
|
||||
/* 802DE058 4E 80 04 21 */ bctrl
|
||||
/* 802DE05C 7C 63 FA 14 */ add r3, r3, r31
|
||||
/* 802DE060 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802DE064 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 802DE068 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802DE06C 7C 08 03 A6 */ mtlr r0
|
||||
/* 802DE070 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802DE074 4E 80 00 20 */ blr
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
lbl_802DDFEC:
|
||||
/* 802DDFEC 80 63 00 4C */ lwz r3, 0x4c(r3)
|
||||
/* 802DDFF0 A0 63 00 10 */ lhz r3, 0x10(r3)
|
||||
/* 802DDFF4 4E 80 00 20 */ blr
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
lbl_802DDFD8:
|
||||
/* 802DDFD8 80 63 00 48 */ lwz r3, 0x48(r3)
|
||||
/* 802DDFDC 4E 80 00 20 */ blr
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
lbl_802DDFF8:
|
||||
/* 802DDFF8 80 63 00 4C */ lwz r3, 0x4c(r3)
|
||||
/* 802DDFFC A0 63 00 0E */ lhz r3, 0xe(r3)
|
||||
/* 802DE000 4E 80 00 20 */ blr
|
||||
|
|
@ -1,41 +0,0 @@
|
|||
lbl_802DDEE0:
|
||||
/* 802DDEE0 80 A3 00 90 */ lwz r5, 0x90(r3)
|
||||
/* 802DDEE4 38 C0 00 00 */ li r6, 0
|
||||
/* 802DDEE8 48 00 00 50 */ b lbl_802DDF38
|
||||
lbl_802DDEEC:
|
||||
/* 802DDEEC 2C 06 00 00 */ cmpwi r6, 0
|
||||
/* 802DDEF0 40 82 00 0C */ bne lbl_802DDEFC
|
||||
/* 802DDEF4 38 00 00 00 */ li r0, 0
|
||||
/* 802DDEF8 48 00 00 0C */ b lbl_802DDF04
|
||||
lbl_802DDEFC:
|
||||
/* 802DDEFC 80 03 00 94 */ lwz r0, 0x94(r3)
|
||||
/* 802DDF00 7C 00 28 50 */ subf r0, r0, r5
|
||||
lbl_802DDF04:
|
||||
/* 802DDF04 90 05 00 00 */ stw r0, 0(r5)
|
||||
/* 802DDF08 80 83 00 98 */ lwz r4, 0x98(r3)
|
||||
/* 802DDF0C 38 04 FF FF */ addi r0, r4, -1
|
||||
/* 802DDF10 7C 06 00 40 */ cmplw r6, r0
|
||||
/* 802DDF14 40 82 00 0C */ bne lbl_802DDF20
|
||||
/* 802DDF18 38 00 00 00 */ li r0, 0
|
||||
/* 802DDF1C 48 00 00 0C */ b lbl_802DDF28
|
||||
lbl_802DDF20:
|
||||
/* 802DDF20 80 03 00 94 */ lwz r0, 0x94(r3)
|
||||
/* 802DDF24 7C 05 02 14 */ add r0, r5, r0
|
||||
lbl_802DDF28:
|
||||
/* 802DDF28 90 05 00 04 */ stw r0, 4(r5)
|
||||
/* 802DDF2C 80 03 00 94 */ lwz r0, 0x94(r3)
|
||||
/* 802DDF30 7C A5 02 14 */ add r5, r5, r0
|
||||
/* 802DDF34 38 C6 00 01 */ addi r6, r6, 1
|
||||
lbl_802DDF38:
|
||||
/* 802DDF38 80 03 00 98 */ lwz r0, 0x98(r3)
|
||||
/* 802DDF3C 7C 06 00 40 */ cmplw r6, r0
|
||||
/* 802DDF40 41 80 FF AC */ blt lbl_802DDEEC
|
||||
/* 802DDF44 80 03 00 94 */ lwz r0, 0x94(r3)
|
||||
/* 802DDF48 7C 00 28 50 */ subf r0, r0, r5
|
||||
/* 802DDF4C 90 03 00 A8 */ stw r0, 0xa8(r3)
|
||||
/* 802DDF50 80 03 00 90 */ lwz r0, 0x90(r3)
|
||||
/* 802DDF54 90 03 00 A4 */ stw r0, 0xa4(r3)
|
||||
/* 802DDF58 38 00 00 00 */ li r0, 0
|
||||
/* 802DDF5C 90 03 00 9C */ stw r0, 0x9c(r3)
|
||||
/* 802DDF60 90 03 00 A0 */ stw r0, 0xa0(r3)
|
||||
/* 802DDF64 4E 80 00 20 */ blr
|
||||
|
|
@ -1,94 +0,0 @@
|
|||
lbl_802DDD98:
|
||||
/* 802DDD98 94 21 FF D0 */ stwu r1, -0x30(r1)
|
||||
/* 802DDD9C 7C 08 02 A6 */ mflr r0
|
||||
/* 802DDDA0 90 01 00 34 */ stw r0, 0x34(r1)
|
||||
/* 802DDDA4 39 61 00 30 */ addi r11, r1, 0x30
|
||||
/* 802DDDA8 48 08 44 2D */ bl _savegpr_27
|
||||
/* 802DDDAC 7C 7D 1B 78 */ mr r29, r3
|
||||
/* 802DDDB0 7C 9E 23 78 */ mr r30, r4
|
||||
/* 802DDDB4 7C BF 2B 78 */ mr r31, r5
|
||||
/* 802DDDB8 38 60 00 00 */ li r3, 0
|
||||
/* 802DDDBC 80 DD 00 9C */ lwz r6, 0x9c(r29)
|
||||
/* 802DDDC0 48 00 00 34 */ b lbl_802DDDF4
|
||||
lbl_802DDDC4:
|
||||
/* 802DDDC4 A0 A6 00 08 */ lhz r5, 8(r6)
|
||||
/* 802DDDC8 80 9E 00 00 */ lwz r4, 0(r30)
|
||||
/* 802DDDCC 7C 05 20 00 */ cmpw r5, r4
|
||||
/* 802DDDD0 41 81 00 20 */ bgt lbl_802DDDF0
|
||||
/* 802DDDD4 A0 06 00 0A */ lhz r0, 0xa(r6)
|
||||
/* 802DDDD8 7C 04 00 00 */ cmpw r4, r0
|
||||
/* 802DDDDC 41 81 00 14 */ bgt lbl_802DDDF0
|
||||
/* 802DDDE0 7C C3 33 78 */ mr r3, r6
|
||||
/* 802DDDE4 7C 05 20 50 */ subf r0, r5, r4
|
||||
/* 802DDDE8 90 1E 00 00 */ stw r0, 0(r30)
|
||||
/* 802DDDEC 48 00 00 10 */ b lbl_802DDDFC
|
||||
lbl_802DDDF0:
|
||||
/* 802DDDF0 80 C6 00 04 */ lwz r6, 4(r6)
|
||||
lbl_802DDDF4:
|
||||
/* 802DDDF4 28 06 00 00 */ cmplwi r6, 0
|
||||
/* 802DDDF8 40 82 FF CC */ bne lbl_802DDDC4
|
||||
lbl_802DDDFC:
|
||||
/* 802DDDFC 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802DDE00 40 82 00 B8 */ bne lbl_802DDEB8
|
||||
/* 802DDE04 3B 80 00 00 */ li r28, 0
|
||||
/* 802DDE08 38 60 00 00 */ li r3, 0
|
||||
/* 802DDE0C A0 1D 00 62 */ lhz r0, 0x62(r29)
|
||||
/* 802DDE10 7C 09 03 A6 */ mtctr r0
|
||||
/* 802DDE14 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 802DDE18 40 81 00 40 */ ble lbl_802DDE58
|
||||
lbl_802DDE1C:
|
||||
/* 802DDE1C 80 9D 00 58 */ lwz r4, 0x58(r29)
|
||||
/* 802DDE20 7C 84 18 2E */ lwzx r4, r4, r3
|
||||
/* 802DDE24 A0 C4 00 08 */ lhz r6, 8(r4)
|
||||
/* 802DDE28 80 BE 00 00 */ lwz r5, 0(r30)
|
||||
/* 802DDE2C 7C 06 28 00 */ cmpw r6, r5
|
||||
/* 802DDE30 41 81 00 1C */ bgt lbl_802DDE4C
|
||||
/* 802DDE34 A0 04 00 0A */ lhz r0, 0xa(r4)
|
||||
/* 802DDE38 7C 05 00 00 */ cmpw r5, r0
|
||||
/* 802DDE3C 41 81 00 10 */ bgt lbl_802DDE4C
|
||||
/* 802DDE40 7C 06 28 50 */ subf r0, r6, r5
|
||||
/* 802DDE44 90 1E 00 00 */ stw r0, 0(r30)
|
||||
/* 802DDE48 48 00 00 10 */ b lbl_802DDE58
|
||||
lbl_802DDE4C:
|
||||
/* 802DDE4C 3B 9C 00 01 */ addi r28, r28, 1
|
||||
/* 802DDE50 38 63 00 04 */ addi r3, r3, 4
|
||||
/* 802DDE54 42 00 FF C8 */ bdnz lbl_802DDE1C
|
||||
lbl_802DDE58:
|
||||
/* 802DDE58 A0 1D 00 62 */ lhz r0, 0x62(r29)
|
||||
/* 802DDE5C 7C 1C 00 00 */ cmpw r28, r0
|
||||
/* 802DDE60 40 80 00 50 */ bge lbl_802DDEB0
|
||||
/* 802DDE64 7F A3 EB 78 */ mr r3, r29
|
||||
/* 802DDE68 4B FF FC A5 */ bl determineBlankPage__12JUTCacheFontFv
|
||||
/* 802DDE6C 7C 7B 1B 79 */ or. r27, r3, r3
|
||||
/* 802DDE70 40 82 00 0C */ bne lbl_802DDE7C
|
||||
/* 802DDE74 38 60 00 00 */ li r3, 0
|
||||
/* 802DDE78 48 00 00 50 */ b lbl_802DDEC8
|
||||
lbl_802DDE7C:
|
||||
/* 802DDE7C 7F A3 EB 78 */ mr r3, r29
|
||||
/* 802DDE80 80 9D 00 58 */ lwz r4, 0x58(r29)
|
||||
/* 802DDE84 57 80 10 3A */ slwi r0, r28, 2
|
||||
/* 802DDE88 7C 84 00 2E */ lwzx r4, r4, r0
|
||||
/* 802DDE8C 7F 65 DB 78 */ mr r5, r27
|
||||
/* 802DDE90 7F C6 F3 78 */ mr r6, r30
|
||||
/* 802DDE94 38 E1 00 08 */ addi r7, r1, 8
|
||||
/* 802DDE98 4B FF FD 25 */ bl getGlyphFromAram__12JUTCacheFontFPQ212JUTCacheFont15TGlyphCacheInfoPQ212JUTCacheFont10TCachePagePiPi
|
||||
/* 802DDE9C 80 01 00 08 */ lwz r0, 8(r1)
|
||||
/* 802DDEA0 90 1D 00 44 */ stw r0, 0x44(r29)
|
||||
/* 802DDEA4 B3 9D 00 66 */ sth r28, 0x66(r29)
|
||||
/* 802DDEA8 7F 63 DB 78 */ mr r3, r27
|
||||
/* 802DDEAC 48 00 00 0C */ b lbl_802DDEB8
|
||||
lbl_802DDEB0:
|
||||
/* 802DDEB0 38 60 00 00 */ li r3, 0
|
||||
/* 802DDEB4 48 00 00 14 */ b lbl_802DDEC8
|
||||
lbl_802DDEB8:
|
||||
/* 802DDEB8 57 E0 06 3F */ clrlwi. r0, r31, 0x18
|
||||
/* 802DDEBC 41 82 00 0C */ beq lbl_802DDEC8
|
||||
/* 802DDEC0 38 00 00 01 */ li r0, 1
|
||||
/* 802DDEC4 B0 03 00 1E */ sth r0, 0x1e(r3)
|
||||
lbl_802DDEC8:
|
||||
/* 802DDEC8 39 61 00 30 */ addi r11, r1, 0x30
|
||||
/* 802DDECC 48 08 43 55 */ bl _restgpr_27
|
||||
/* 802DDED0 80 01 00 34 */ lwz r0, 0x34(r1)
|
||||
/* 802DDED4 7C 08 03 A6 */ mtlr r0
|
||||
/* 802DDED8 38 21 00 30 */ addi r1, r1, 0x30
|
||||
/* 802DDEDC 4E 80 00 20 */ blr
|
||||
|
|
@ -1,47 +0,0 @@
|
|||
lbl_802DDCE4:
|
||||
/* 802DDCE4 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 802DDCE8 7C 08 02 A6 */ mflr r0
|
||||
/* 802DDCEC 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 802DDCF0 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802DDCF4 48 08 44 E9 */ bl _savegpr_29
|
||||
/* 802DDCF8 7C 7D 1B 78 */ mr r29, r3
|
||||
/* 802DDCFC 90 81 00 08 */ stw r4, 8(r1)
|
||||
/* 802DDD00 7C BE 2B 78 */ mr r30, r5
|
||||
/* 802DDD04 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 802DDD08 38 A0 00 00 */ li r5, 0
|
||||
/* 802DDD0C 48 00 00 8D */ bl loadCache_char_subroutine__12JUTCacheFontFPib
|
||||
/* 802DDD10 7C 7F 1B 79 */ or. r31, r3, r3
|
||||
/* 802DDD14 41 82 00 6C */ beq lbl_802DDD80
|
||||
/* 802DDD18 A0 BF 00 0C */ lhz r5, 0xc(r31)
|
||||
/* 802DDD1C 80 81 00 08 */ lwz r4, 8(r1)
|
||||
/* 802DDD20 A0 7F 00 16 */ lhz r3, 0x16(r31)
|
||||
/* 802DDD24 7C 04 1B D6 */ divw r0, r4, r3
|
||||
/* 802DDD28 7C 00 19 D6 */ mullw r0, r0, r3
|
||||
/* 802DDD2C 7C 00 20 50 */ subf r0, r0, r4
|
||||
/* 802DDD30 7C 05 01 D6 */ mullw r0, r5, r0
|
||||
/* 802DDD34 90 1D 00 1C */ stw r0, 0x1c(r29)
|
||||
/* 802DDD38 A0 9F 00 0E */ lhz r4, 0xe(r31)
|
||||
/* 802DDD3C 80 61 00 08 */ lwz r3, 8(r1)
|
||||
/* 802DDD40 A0 1F 00 16 */ lhz r0, 0x16(r31)
|
||||
/* 802DDD44 7C 03 03 D6 */ divw r0, r3, r0
|
||||
/* 802DDD48 7C 04 01 D6 */ mullw r0, r4, r0
|
||||
/* 802DDD4C 90 1D 00 20 */ stw r0, 0x20(r29)
|
||||
/* 802DDD50 38 7F 00 20 */ addi r3, r31, 0x20
|
||||
/* 802DDD54 7F C4 F3 78 */ mr r4, r30
|
||||
/* 802DDD58 48 08 06 BD */ bl GXLoadTexObj
|
||||
/* 802DDD5C 80 1D 00 8C */ lwz r0, 0x8c(r29)
|
||||
/* 802DDD60 2C 00 00 01 */ cmpwi r0, 1
|
||||
/* 802DDD64 40 82 00 1C */ bne lbl_802DDD80
|
||||
/* 802DDD68 7F A3 EB 78 */ mr r3, r29
|
||||
/* 802DDD6C 7F E4 FB 78 */ mr r4, r31
|
||||
/* 802DDD70 48 00 01 F9 */ bl unlink__12JUTCacheFontFPQ212JUTCacheFont15TGlyphCacheInfo
|
||||
/* 802DDD74 7F A3 EB 78 */ mr r3, r29
|
||||
/* 802DDD78 7F E4 FB 78 */ mr r4, r31
|
||||
/* 802DDD7C 48 00 02 31 */ bl prepend__12JUTCacheFontFPQ212JUTCacheFont15TGlyphCacheInfo
|
||||
lbl_802DDD80:
|
||||
/* 802DDD80 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802DDD84 48 08 44 A5 */ bl _restgpr_29
|
||||
/* 802DDD88 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 802DDD8C 7C 08 03 A6 */ mtlr r0
|
||||
/* 802DDD90 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 802DDD94 4E 80 00 20 */ blr
|
||||
|
|
@ -1,149 +0,0 @@
|
|||
lbl_802DD8EC:
|
||||
/* 802DD8EC 94 21 FF C0 */ stwu r1, -0x40(r1)
|
||||
/* 802DD8F0 7C 08 02 A6 */ mflr r0
|
||||
/* 802DD8F4 90 01 00 44 */ stw r0, 0x44(r1)
|
||||
/* 802DD8F8 39 61 00 40 */ addi r11, r1, 0x40
|
||||
/* 802DD8FC 48 08 48 C1 */ bl _savegpr_21
|
||||
/* 802DD900 7C 78 1B 78 */ mr r24, r3
|
||||
/* 802DD904 3A E0 00 00 */ li r23, 0
|
||||
/* 802DD908 3A C0 00 00 */ li r22, 0
|
||||
/* 802DD90C 3A A0 00 00 */ li r21, 0
|
||||
/* 802DD910 83 C3 00 7C */ lwz r30, 0x7c(r3)
|
||||
/* 802DD914 83 A3 00 80 */ lwz r29, 0x80(r3)
|
||||
/* 802DD918 83 83 00 84 */ lwz r28, 0x84(r3)
|
||||
/* 802DD91C 80 63 00 AC */ lwz r3, 0xac(r3)
|
||||
/* 802DD920 83 63 00 14 */ lwz r27, 0x14(r3)
|
||||
/* 802DD924 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */
|
||||
/* 802DD928 38 03 FF FF */ addi r0, r3, 0xFFFF /* 0x0000FFFF@l */
|
||||
/* 802DD92C B0 18 00 68 */ sth r0, 0x68(r24)
|
||||
/* 802DD930 80 78 00 48 */ lwz r3, 0x48(r24)
|
||||
/* 802DD934 3B 43 00 20 */ addi r26, r3, 0x20
|
||||
/* 802DD938 3B 20 00 00 */ li r25, 0
|
||||
/* 802DD93C 3C 60 4D 41 */ lis r3, 0x4D41 /* 0x4D415031@ha */
|
||||
/* 802DD940 3B E3 50 31 */ addi r31, r3, 0x5031 /* 0x4D415031@l */
|
||||
/* 802DD944 48 00 01 A0 */ b lbl_802DDAE4
|
||||
lbl_802DD948:
|
||||
/* 802DD948 80 9A 00 00 */ lwz r4, 0(r26)
|
||||
/* 802DD94C 7C 04 F8 00 */ cmpw r4, r31
|
||||
/* 802DD950 41 82 01 34 */ beq lbl_802DDA84
|
||||
/* 802DD954 40 80 00 2C */ bge lbl_802DD980
|
||||
/* 802DD958 3C 60 49 4E */ lis r3, 0x494E /* 0x494E4631@ha */
|
||||
/* 802DD95C 38 03 46 31 */ addi r0, r3, 0x4631 /* 0x494E4631@l */
|
||||
/* 802DD960 7C 04 00 00 */ cmpw r4, r0
|
||||
/* 802DD964 41 82 00 30 */ beq lbl_802DD994
|
||||
/* 802DD968 40 80 01 60 */ bge lbl_802DDAC8
|
||||
/* 802DD96C 3C 60 47 4C */ lis r3, 0x474C /* 0x474C5931@ha */
|
||||
/* 802DD970 38 03 59 31 */ addi r0, r3, 0x5931 /* 0x474C5931@l */
|
||||
/* 802DD974 7C 04 00 00 */ cmpw r4, r0
|
||||
/* 802DD978 41 82 00 74 */ beq lbl_802DD9EC
|
||||
/* 802DD97C 48 00 01 4C */ b lbl_802DDAC8
|
||||
lbl_802DD980:
|
||||
/* 802DD980 3C 60 57 49 */ lis r3, 0x5749 /* 0x57494431@ha */
|
||||
/* 802DD984 38 03 44 31 */ addi r0, r3, 0x4431 /* 0x57494431@l */
|
||||
/* 802DD988 7C 04 00 00 */ cmpw r4, r0
|
||||
/* 802DD98C 41 82 00 38 */ beq lbl_802DD9C4
|
||||
/* 802DD990 48 00 01 38 */ b lbl_802DDAC8
|
||||
lbl_802DD994:
|
||||
/* 802DD994 80 78 00 4C */ lwz r3, 0x4c(r24)
|
||||
/* 802DD998 7F 44 D3 78 */ mr r4, r26
|
||||
/* 802DD99C 38 A0 00 20 */ li r5, 0x20
|
||||
/* 802DD9A0 4B D2 5B A1 */ bl memcpy
|
||||
/* 802DD9A4 80 78 00 4C */ lwz r3, 0x4c(r24)
|
||||
/* 802DD9A8 A0 03 00 08 */ lhz r0, 8(r3)
|
||||
/* 802DD9AC 54 04 10 3A */ slwi r4, r0, 2
|
||||
/* 802DD9B0 3C 60 80 3A */ lis r3, saoAboutEncoding___10JUTResFont@ha /* 0x8039D390@ha */
|
||||
/* 802DD9B4 38 03 D3 90 */ addi r0, r3, saoAboutEncoding___10JUTResFont@l /* 0x8039D390@l */
|
||||
/* 802DD9B8 7C 00 22 14 */ add r0, r0, r4
|
||||
/* 802DD9BC 90 18 00 6C */ stw r0, 0x6c(r24)
|
||||
/* 802DD9C0 48 00 01 18 */ b lbl_802DDAD8
|
||||
lbl_802DD9C4:
|
||||
/* 802DD9C4 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802DD9C8 7F 44 D3 78 */ mr r4, r26
|
||||
/* 802DD9CC 80 BA 00 04 */ lwz r5, 4(r26)
|
||||
/* 802DD9D0 4B D2 5B 71 */ bl memcpy
|
||||
/* 802DD9D4 80 78 00 54 */ lwz r3, 0x54(r24)
|
||||
/* 802DD9D8 7F C3 B9 2E */ stwx r30, r3, r23
|
||||
/* 802DD9DC 80 1A 00 04 */ lwz r0, 4(r26)
|
||||
/* 802DD9E0 7F DE 02 14 */ add r30, r30, r0
|
||||
/* 802DD9E4 3A F7 00 04 */ addi r23, r23, 4
|
||||
/* 802DD9E8 48 00 00 F0 */ b lbl_802DDAD8
|
||||
lbl_802DD9EC:
|
||||
/* 802DD9EC 7F A3 EB 78 */ mr r3, r29
|
||||
/* 802DD9F0 7F 44 D3 78 */ mr r4, r26
|
||||
/* 802DD9F4 38 A0 00 20 */ li r5, 0x20
|
||||
/* 802DD9F8 4B D2 5B 49 */ bl memcpy
|
||||
/* 802DD9FC 38 7A 00 20 */ addi r3, r26, 0x20
|
||||
/* 802DDA00 7F 64 DB 78 */ mr r4, r27
|
||||
/* 802DDA04 80 BA 00 04 */ lwz r5, 4(r26)
|
||||
/* 802DDA08 38 A5 FF E0 */ addi r5, r5, -32
|
||||
/* 802DDA0C 38 C0 00 00 */ li r6, 0
|
||||
/* 802DDA10 38 E0 00 00 */ li r7, 0
|
||||
/* 802DDA14 39 00 00 00 */ li r8, 0
|
||||
/* 802DDA18 39 20 FF FF */ li r9, -1
|
||||
/* 802DDA1C 39 40 00 00 */ li r10, 0
|
||||
/* 802DDA20 4B FF 49 1D */ bl mainRamToAram__7JKRAramFPUcUlUl15JKRExpandSwitchUlP7JKRHeapiPUl
|
||||
/* 802DDA24 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802DDA28 40 82 00 24 */ bne lbl_802DDA4C
|
||||
/* 802DDA2C 3C 60 80 3A */ lis r3, JUTCacheFont__stringBase0@ha /* 0x8039D2F0@ha */
|
||||
/* 802DDA30 38 C3 D2 F0 */ addi r6, r3, JUTCacheFont__stringBase0@l /* 0x8039D2F0@l */
|
||||
/* 802DDA34 38 66 00 22 */ addi r3, r6, 0x22
|
||||
/* 802DDA38 38 80 01 DD */ li r4, 0x1dd
|
||||
/* 802DDA3C 38 A6 00 33 */ addi r5, r6, 0x33
|
||||
/* 802DDA40 38 C6 00 36 */ addi r6, r6, 0x36
|
||||
/* 802DDA44 4C C6 31 82 */ crclr 6
|
||||
/* 802DDA48 48 00 47 B5 */ bl panic_f__12JUTExceptionFPCciPCce
|
||||
lbl_802DDA4C:
|
||||
/* 802DDA4C 93 7D 00 00 */ stw r27, 0(r29)
|
||||
/* 802DDA50 80 7D 00 10 */ lwz r3, 0x10(r29)
|
||||
/* 802DDA54 80 18 00 88 */ lwz r0, 0x88(r24)
|
||||
/* 802DDA58 7C 03 00 40 */ cmplw r3, r0
|
||||
/* 802DDA5C 40 81 00 08 */ ble lbl_802DDA64
|
||||
/* 802DDA60 90 78 00 88 */ stw r3, 0x88(r24)
|
||||
lbl_802DDA64:
|
||||
/* 802DDA64 80 78 00 58 */ lwz r3, 0x58(r24)
|
||||
/* 802DDA68 7F A3 B1 2E */ stwx r29, r3, r22
|
||||
/* 802DDA6C 80 1A 00 04 */ lwz r0, 4(r26)
|
||||
/* 802DDA70 7F 60 DA 14 */ add r27, r0, r27
|
||||
/* 802DDA74 3B 7B FF E0 */ addi r27, r27, -32
|
||||
/* 802DDA78 3A D6 00 04 */ addi r22, r22, 4
|
||||
/* 802DDA7C 3B BD 00 20 */ addi r29, r29, 0x20
|
||||
/* 802DDA80 48 00 00 58 */ b lbl_802DDAD8
|
||||
lbl_802DDA84:
|
||||
/* 802DDA84 7F 83 E3 78 */ mr r3, r28
|
||||
/* 802DDA88 7F 44 D3 78 */ mr r4, r26
|
||||
/* 802DDA8C 80 BA 00 04 */ lwz r5, 4(r26)
|
||||
/* 802DDA90 4B D2 5A B1 */ bl memcpy
|
||||
/* 802DDA94 80 78 00 5C */ lwz r3, 0x5c(r24)
|
||||
/* 802DDA98 7F 83 A9 2E */ stwx r28, r3, r21
|
||||
/* 802DDA9C A0 18 00 68 */ lhz r0, 0x68(r24)
|
||||
/* 802DDAA0 80 78 00 5C */ lwz r3, 0x5c(r24)
|
||||
/* 802DDAA4 7C 63 A8 2E */ lwzx r3, r3, r21
|
||||
/* 802DDAA8 A0 63 00 0A */ lhz r3, 0xa(r3)
|
||||
/* 802DDAAC 7C 00 18 40 */ cmplw r0, r3
|
||||
/* 802DDAB0 40 81 00 08 */ ble lbl_802DDAB8
|
||||
/* 802DDAB4 B0 78 00 68 */ sth r3, 0x68(r24)
|
||||
lbl_802DDAB8:
|
||||
/* 802DDAB8 80 1A 00 04 */ lwz r0, 4(r26)
|
||||
/* 802DDABC 7F 9C 02 14 */ add r28, r28, r0
|
||||
/* 802DDAC0 3A B5 00 04 */ addi r21, r21, 4
|
||||
/* 802DDAC4 48 00 00 14 */ b lbl_802DDAD8
|
||||
lbl_802DDAC8:
|
||||
/* 802DDAC8 3C 60 80 3A */ lis r3, JUTCacheFont__stringBase0@ha /* 0x8039D2F0@ha */
|
||||
/* 802DDACC 38 63 D2 F0 */ addi r3, r3, JUTCacheFont__stringBase0@l /* 0x8039D2F0@l */
|
||||
/* 802DDAD0 38 63 00 5C */ addi r3, r3, 0x5c
|
||||
/* 802DDAD4 48 00 AB 75 */ bl JUTReportConsole
|
||||
lbl_802DDAD8:
|
||||
/* 802DDAD8 80 1A 00 04 */ lwz r0, 4(r26)
|
||||
/* 802DDADC 7F 5A 02 14 */ add r26, r26, r0
|
||||
/* 802DDAE0 3B 39 00 01 */ addi r25, r25, 1
|
||||
lbl_802DDAE4:
|
||||
/* 802DDAE4 80 78 00 48 */ lwz r3, 0x48(r24)
|
||||
/* 802DDAE8 80 03 00 0C */ lwz r0, 0xc(r3)
|
||||
/* 802DDAEC 7C 19 00 40 */ cmplw r25, r0
|
||||
/* 802DDAF0 41 80 FE 58 */ blt lbl_802DD948
|
||||
/* 802DDAF4 39 61 00 40 */ addi r11, r1, 0x40
|
||||
/* 802DDAF8 48 08 47 11 */ bl _restgpr_21
|
||||
/* 802DDAFC 80 01 00 44 */ lwz r0, 0x44(r1)
|
||||
/* 802DDB00 7C 08 03 A6 */ mtlr r0
|
||||
/* 802DDB04 38 21 00 40 */ addi r1, r1, 0x40
|
||||
/* 802DDB08 4E 80 00 20 */ blr
|
||||
|
|
@ -75,9 +75,9 @@ inline void JKRFreeToAram(JKRAramBlock* block) {
|
|||
JKRAram::getAramHeap()->free(block);
|
||||
}
|
||||
|
||||
inline void JKRAramToMainRam(u32 p1, u8* p2, u32 p3, JKRExpandSwitch p4, u32 p5, JKRHeap* p6,
|
||||
inline u8* JKRAramToMainRam(u32 p1, u8* p2, u32 p3, JKRExpandSwitch p4, u32 p5, JKRHeap* p6,
|
||||
int p7, u32* p8) {
|
||||
JKRAram::aramToMainRam(p1, p2, p3, p4, p5, p6, p7, p8);
|
||||
return JKRAram::aramToMainRam(p1, p2, p3, p4, p5, p6, p7, p8);
|
||||
}
|
||||
|
||||
inline JKRAramBlock *JKRMainRamToAram(u8 *buf, u32 bufSize, u32 alignedSize, JKRExpandSwitch expandSwitch, u32 fileSize, JKRHeap *heap, int id, u32 *pSize) {
|
||||
|
|
|
|||
|
|
@ -9,23 +9,25 @@ class JKRAramBlock;
|
|||
class JUTCacheFont : public JUTResFont {
|
||||
public:
|
||||
struct TGlyphCacheInfo {
|
||||
/* 0x0 */ TGlyphCacheInfo* mPrev;
|
||||
/* 0x4 */ TGlyphCacheInfo* mNext;
|
||||
};
|
||||
|
||||
struct TCachePage {
|
||||
/* 0x00 */ u8 field_0x0[8];
|
||||
/* 0x08 */ s16 field_0x8;
|
||||
/* 0x00 */ TGlyphCacheInfo* mPrev;
|
||||
/* 0x04 */ TGlyphCacheInfo* mNext;
|
||||
/* 0x08 */ u16 field_0x8;
|
||||
/* 0x0A */ u16 field_0xa;
|
||||
/* 0x0C */ u8 field_0xc[4];
|
||||
/* 0x10 */ u8* field_0x10;
|
||||
/* 0x14 */ u16 field_0x14;
|
||||
/* 0x0C */ u16 field_0xc;
|
||||
/* 0x0E */ u16 field_0xe;
|
||||
/* 0x10 */ u32 field_0x10;
|
||||
/* 0x14 */ u16 mTexFormat;
|
||||
/* 0x16 */ u16 field_0x16;
|
||||
/* 0x18 */ u16 field_0x18;
|
||||
/* 0x1A */ u16 field_0x1a;
|
||||
/* 0x1C */ u16 field_0x1c;
|
||||
/* 0x1A */ u16 mWidth;
|
||||
/* 0x1C */ u16 mHeight;
|
||||
/* 0x1E */ u16 field_0x1e;
|
||||
}; // Size: 0x20
|
||||
};
|
||||
|
||||
struct TCachePage : TGlyphCacheInfo {
|
||||
/* 0x20 */ GXTexObj mTexObj;
|
||||
/* 0x40 */ u8 mImage[];
|
||||
}; // Size: 0x40
|
||||
|
||||
enum EPagingType {
|
||||
PAGE_TYPE_0,
|
||||
|
|
@ -40,10 +42,10 @@ public:
|
|||
/* 802DD54C */ bool internal_initiate(ResFONT const*, void*, u32, JKRHeap*);
|
||||
/* 802DD650 */ bool allocArea(void*, u32, JKRHeap*);
|
||||
/* 802DD804 */ bool allocArray(JKRHeap*);
|
||||
/* 802DDB0C */ void determineBlankPage();
|
||||
/* 802DDB0C */ TGlyphCacheInfo* determineBlankPage();
|
||||
/* 802DDBBC */ void getGlyphFromAram(JUTCacheFont::TGlyphCacheInfo*, JUTCacheFont::TCachePage*,
|
||||
int*, int*);
|
||||
/* 802DDD98 */ void loadCache_char_subroutine(int*, bool);
|
||||
/* 802DDD98 */ TCachePage* loadCache_char_subroutine(int*, bool);
|
||||
/* 802DDEE0 */ void invalidiateAllCache();
|
||||
/* 802DDF68 */ void unlink(JUTCacheFont::TGlyphCacheInfo*);
|
||||
/* 802DDFAC */ void prepend(JUTCacheFont::TGlyphCacheInfo*);
|
||||
|
|
@ -55,6 +57,7 @@ public:
|
|||
void setPagingType(EPagingType type) { mPagingType = type; }
|
||||
|
||||
static u32 calcCacheSize(u32 param_0, int param_1) { return (ALIGN_NEXT(param_0, 0x20) + 0x40) * param_1; }
|
||||
GXTexObj* getTexObj(void* buffer) { return &((TCachePage*)buffer)->mTexObj; }
|
||||
|
||||
private:
|
||||
/* 0x70 */ u32 mTotalWidSize;
|
||||
|
|
@ -70,7 +73,7 @@ private:
|
|||
/* 0x98 */ u32 mCachePage;
|
||||
/* 0x9C */ TGlyphCacheInfo* field_0x9c;
|
||||
/* 0xA0 */ TGlyphCacheInfo* field_0xa0;
|
||||
/* 0xA4 */ void* field_0xa4;
|
||||
/* 0xA4 */ TGlyphCacheInfo* field_0xa4;
|
||||
/* 0xA8 */ u32 field_0xa8;
|
||||
/* 0xAC */ JKRAramBlock* field_0xac;
|
||||
/* 0xB0 */ u8 field_0xb0;
|
||||
|
|
|
|||
|
|
@ -4,85 +4,12 @@
|
|||
//
|
||||
|
||||
#include "JSystem/JUtility/JUTCacheFont.h"
|
||||
#include "JSystem/JUtility/JUTException.h"
|
||||
#include "JSystem/JUtility/JUTAssert.h"
|
||||
#include "JSystem/JUtility/JUTConsole.h"
|
||||
#include "JSystem/JKernel/JKRAram.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/gx/GX.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__12JUTCacheFontFPC7ResFONTUlP7JKRHeap();
|
||||
extern "C" void __dt__12JUTCacheFontFv();
|
||||
extern "C" void deleteMemBlocks_CacheFont__12JUTCacheFontFv();
|
||||
extern "C" void initialize_state__12JUTCacheFontFv();
|
||||
extern "C" void getMemorySize__12JUTCacheFontFPC7ResFONTPUsPUlPUsPUlPUsPUlPUl();
|
||||
extern "C" void initiate__12JUTCacheFontFPC7ResFONTPvUlP7JKRHeap();
|
||||
extern "C" void internal_initiate__12JUTCacheFontFPC7ResFONTPvUlP7JKRHeap();
|
||||
extern "C" void allocArea__12JUTCacheFontFPvUlP7JKRHeap();
|
||||
extern "C" void allocArray__12JUTCacheFontFP7JKRHeap();
|
||||
extern "C" void setBlock__12JUTCacheFontFv();
|
||||
extern "C" void determineBlankPage__12JUTCacheFontFv();
|
||||
extern "C" void
|
||||
getGlyphFromAram__12JUTCacheFontFPQ212JUTCacheFont15TGlyphCacheInfoPQ212JUTCacheFont10TCachePagePiPi();
|
||||
extern "C" void loadImage__12JUTCacheFontFi11_GXTexMapID();
|
||||
extern "C" void loadCache_char_subroutine__12JUTCacheFontFPib();
|
||||
extern "C" void invalidiateAllCache__12JUTCacheFontFv();
|
||||
extern "C" void unlink__12JUTCacheFontFPQ212JUTCacheFont15TGlyphCacheInfo();
|
||||
extern "C" void prepend__12JUTCacheFontFPQ212JUTCacheFont15TGlyphCacheInfo();
|
||||
extern "C" void getResFont__10JUTResFontCFv();
|
||||
extern "C" void getFontType__10JUTResFontCFv();
|
||||
extern "C" void getLeading__10JUTResFontCFv();
|
||||
extern "C" void getWidth__10JUTResFontCFv();
|
||||
extern "C" void getAscent__10JUTResFontCFv();
|
||||
extern "C" void getDescent__10JUTResFontCFv();
|
||||
extern "C" void getHeight__10JUTResFontCFv();
|
||||
extern "C" extern char const* const JUTCacheFont__stringBase0;
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void* __nw__FUlP7JKRHeapi();
|
||||
extern "C" void* __nwa__FUlP7JKRHeapi();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void __dla__FPv();
|
||||
extern "C" void mainRamToAram__7JKRAramFPUcUlUl15JKRExpandSwitchUlP7JKRHeapiPUl();
|
||||
extern "C" void aramToMainRam__7JKRAramFUlPUcUl15JKRExpandSwitchUlP7JKRHeapiPUl();
|
||||
extern "C" void alloc__11JKRAramHeapFUlQ211JKRAramHeap10EAllocMode();
|
||||
extern "C" void initialize_state__7JUTFontFv();
|
||||
extern "C" void __ct__10JUTResFontFv();
|
||||
extern "C" void __dt__10JUTResFontFv();
|
||||
extern "C" void deleteMemBlocks_ResFont__10JUTResFontFv();
|
||||
extern "C" void initialize_state__10JUTResFontFv();
|
||||
extern "C" void setGX__10JUTResFontFv();
|
||||
extern "C" void setGX__10JUTResFontFQ28JUtility6TColorQ28JUtility6TColor();
|
||||
extern "C" void drawChar_scale__10JUTResFontFffffib();
|
||||
extern "C" void getWidthEntry__10JUTResFontCFiPQ27JUTFont6TWidth();
|
||||
extern "C" void getCellWidth__10JUTResFontCFv();
|
||||
extern "C" void getCellHeight__10JUTResFontCFv();
|
||||
extern "C" void isLeadByte__10JUTResFontCFi();
|
||||
extern "C" void panic_f__12JUTExceptionFPCciPCce();
|
||||
extern "C" void JUTReportConsole(const char*);
|
||||
extern "C" void _savegpr_14();
|
||||
extern "C" void _savegpr_14();
|
||||
extern "C" void _savegpr_21();
|
||||
extern "C" void _savegpr_27();
|
||||
extern "C" void _savegpr_28();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_14();
|
||||
extern "C" void _restgpr_21();
|
||||
extern "C" void _restgpr_27();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" void _restgpr_14();
|
||||
extern "C" void* const saoAboutEncoding___10JUTResFont[3];
|
||||
extern "C" u8 sAramObject__7JKRAram[4];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 802DD188-802DD208 2D7AC8 0080+00 0/0 1/1 0/0 .text __ct__12JUTCacheFontFPC7ResFONTUlP7JKRHeap
|
||||
*/
|
||||
JUTCacheFont::JUTCacheFont(ResFONT const* p_fontRes, u32 cacheSize, JKRHeap* p_heap) {
|
||||
|
|
@ -141,13 +68,6 @@ void JUTCacheFont::initialize_state() {
|
|||
field_0xa0 = NULL;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8039D2F0-8039D2F0 029950 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_8039D2F0 = "JUTCacheFont: Unknown data block\n";
|
||||
#pragma pop
|
||||
|
||||
/* 802DD35C-802DD4EC 2D7C9C 0190+00 1/1 0/0 0/0 .text
|
||||
* getMemorySize__12JUTCacheFontFPC7ResFONTPUsPUlPUsPUlPUsPUlPUl */
|
||||
int JUTCacheFont::getMemorySize(ResFONT const* p_font, u16* o_widCount, u32* o_widSize,
|
||||
|
|
@ -350,88 +270,200 @@ bool JUTCacheFont::allocArray(JKRHeap* param_0) {
|
|||
return true;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8039D2F0-8039D2F0 029950 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_8039D312 = "JUTCacheFont.cpp";
|
||||
SECTION_DEAD static char const* const stringBase_8039D323 = "%s";
|
||||
SECTION_DEAD static char const* const stringBase_8039D326 = "trouble occurred in JKRMainRamToAram.";
|
||||
SECTION_DEAD static char const* const stringBase_8039D34C = "Unknown data block\n";
|
||||
#pragma pop
|
||||
|
||||
/* 802DD8EC-802DDB0C 2D822C 0220+00 1/0 0/0 0/0 .text setBlock__12JUTCacheFontFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JUTCacheFont::setBlock() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTCacheFont/setBlock__12JUTCacheFontFv.s"
|
||||
void JUTCacheFont::setBlock() {
|
||||
int widthNum = 0;
|
||||
int gylphNum = 0;
|
||||
int mapNum = 0;
|
||||
u8* pWidth = (u8*)field_0x7c;
|
||||
ResFONT::GLY1* piVar5 = (ResFONT::GLY1*)field_0x80;
|
||||
ResFONT::MAP1* pMap = (ResFONT::MAP1*)field_0x84;
|
||||
u32 aramAddress = field_0xac->getAddress();
|
||||
mMaxCode = 0xffff;
|
||||
const int* pData = (int*)mResFont->data;
|
||||
|
||||
for (int i = 0; i < mResFont->numBlocks; i++) {
|
||||
switch (*pData) {
|
||||
case 'INF1':
|
||||
memcpy(mInf1Ptr, pData, 0x20);
|
||||
mIsLeadByte = &JUTResFont::saoAboutEncoding_[mInf1Ptr->fontType];
|
||||
break;
|
||||
case 'WID1':
|
||||
memcpy(pWidth, pData, pData[1]);
|
||||
mpWidthBlocks[widthNum] = (ResFONT::WID1*)pWidth;
|
||||
pWidth += pData[1];
|
||||
widthNum++;
|
||||
break;
|
||||
case 'GLY1':
|
||||
memcpy(piVar5, pData, 0x20);
|
||||
JKRAramBlock* iVar1 =
|
||||
JKRMainRamToAram((u8*)pData + 0x20, aramAddress, pData[1] - 0x20,
|
||||
EXPAND_SWITCH_UNKNOWN0, 0, NULL, 0xffffffff, NULL);
|
||||
if (iVar1 == NULL) {
|
||||
JUTException::panic("JUTCacheFont.cpp", 0x1dd,
|
||||
"trouble occurred in JKRMainRamToAram.");
|
||||
}
|
||||
piVar5->magic = aramAddress;
|
||||
if (piVar5->textureSize > mMaxSheetSize) {
|
||||
mMaxSheetSize = piVar5->textureSize;
|
||||
}
|
||||
mpGlyphBlocks[gylphNum] = piVar5;
|
||||
gylphNum++;
|
||||
piVar5++;
|
||||
aramAddress = pData[1] + aramAddress - 0x20;
|
||||
break;
|
||||
case 'MAP1':
|
||||
memcpy(pMap, pData, pData[1]);
|
||||
mpMapBlocks[mapNum] = pMap;
|
||||
if (mMaxCode > mpMapBlocks[mapNum]->startCode) {
|
||||
mMaxCode = mpMapBlocks[mapNum]->startCode;
|
||||
}
|
||||
mapNum++;
|
||||
pMap = (ResFONT::MAP1*)((u8*)pMap + pData[1]);
|
||||
break;
|
||||
default:
|
||||
JUTReportConsole("Unknown data block\n");
|
||||
break;
|
||||
}
|
||||
|
||||
pData = (int*)((u8*)pData + pData[1]);
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802DDB0C-802DDBBC 2D844C 00B0+00 1/1 0/0 0/0 .text determineBlankPage__12JUTCacheFontFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JUTCacheFont::determineBlankPage() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTCacheFont/determineBlankPage__12JUTCacheFontFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
JUTCacheFont::TGlyphCacheInfo* JUTCacheFont::determineBlankPage() {
|
||||
TGlyphCacheInfo* pVar1 = field_0xa4;
|
||||
if (pVar1 != NULL) {
|
||||
field_0xa4 = pVar1->mNext;
|
||||
TGlyphCacheInfo* pVar2 = pVar1->mNext;
|
||||
if (pVar2 == NULL) {
|
||||
field_0xa8 = 0;
|
||||
} else {
|
||||
pVar2->mPrev = NULL;
|
||||
}
|
||||
return pVar1;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80455FD0-80455FD8 0045D0 0004+04 1/1 0/0 0/0 .sdata2 @721 */
|
||||
SECTION_SDATA2 static f32 lit_721[1 + 1 /* padding */] = {
|
||||
0.0f,
|
||||
/* padding */
|
||||
0.0f,
|
||||
};
|
||||
TGlyphCacheInfo* puVar1 = field_0xa0;
|
||||
while (puVar1 != NULL) {
|
||||
TGlyphCacheInfo* prev = puVar1->mPrev;
|
||||
if (puVar1->field_0x1e == 0) {
|
||||
unlink(puVar1);
|
||||
field_0xb4++;
|
||||
return puVar1;
|
||||
}
|
||||
puVar1 = prev;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* 802DDBBC-802DDCE4 2D84FC 0128+00 1/1 0/0 0/0 .text
|
||||
* getGlyphFromAram__12JUTCacheFontFPQ212JUTCacheFont15TGlyphCacheInfoPQ212JUTCacheFont10TCachePagePiPi
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JUTCacheFont::getGlyphFromAram(JUTCacheFont::TGlyphCacheInfo* param_0,
|
||||
JUTCacheFont::TCachePage* param_1, int* param_2,
|
||||
int* param_3) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTCacheFont/func_802DDBBC.s"
|
||||
void JUTCacheFont::getGlyphFromAram(JUTCacheFont::TGlyphCacheInfo* param_0,
|
||||
JUTCacheFont::TCachePage* pCachePage, int* param_2, int* param_3) {
|
||||
TGlyphCacheInfo* pGylphCacheInfo = pCachePage;
|
||||
memcpy(pGylphCacheInfo, param_0, sizeof(TGlyphCacheInfo));
|
||||
prepend(pGylphCacheInfo);
|
||||
int iVar3 = pGylphCacheInfo->field_0x16 * pGylphCacheInfo->field_0x18;
|
||||
int iVar2 = *param_2 / iVar3;
|
||||
pGylphCacheInfo->field_0x8 += iVar2 * iVar3;
|
||||
u16 local_30 = pGylphCacheInfo->field_0x8 + iVar3 - 1;
|
||||
pGylphCacheInfo->field_0xa = pGylphCacheInfo->field_0xa < local_30 ? pGylphCacheInfo->field_0xa : local_30;
|
||||
*param_3 = iVar2;
|
||||
*param_2 -= iVar2 * iVar3;
|
||||
u8* addr =
|
||||
JKRAramToMainRam((u32)param_0->mPrev + pGylphCacheInfo->field_0x10 * iVar2, pCachePage->mImage,
|
||||
pGylphCacheInfo->field_0x10, EXPAND_SWITCH_UNKNOWN0, 0, NULL, 0xffffffff, NULL);
|
||||
JUT_ASSERT(624, addr != NULL);
|
||||
GXInitTexObj(&pCachePage->mTexObj, pCachePage->mImage, pGylphCacheInfo->mWidth, pGylphCacheInfo->mHeight,
|
||||
(GXTexFmt)pGylphCacheInfo->mTexFormat, GX_CLAMP, GX_CLAMP, GX_FALSE);
|
||||
GXInitTexObjLOD(&pCachePage->mTexObj, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE,
|
||||
GX_ANISO_1);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802DDCE4-802DDD98 2D8624 00B4+00 1/0 0/0 0/0 .text loadImage__12JUTCacheFontFi11_GXTexMapID */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JUTCacheFont::loadImage(int param_0, _GXTexMapID param_1) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTCacheFont/loadImage__12JUTCacheFontFi11_GXTexMapID.s"
|
||||
void JUTCacheFont::loadImage(int param_0, _GXTexMapID texMapId) {
|
||||
TCachePage* cachePage = loadCache_char_subroutine(¶m_0, false);
|
||||
if (cachePage != NULL) {
|
||||
mWidth = cachePage->field_0xc * (param_0 % (int)cachePage->field_0x16);
|
||||
mHeight = cachePage->field_0xe * (param_0 / cachePage->field_0x16);
|
||||
GXLoadTexObj(getTexObj(cachePage), texMapId);
|
||||
if (mPagingType == PAGE_TYPE_1) {
|
||||
unlink(cachePage);
|
||||
prepend(cachePage);
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802DDD98-802DDEE0 2D86D8 0148+00 1/1 0/0 0/0 .text
|
||||
* loadCache_char_subroutine__12JUTCacheFontFPib */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JUTCacheFont::loadCache_char_subroutine(int* param_0, bool param_1) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTCacheFont/loadCache_char_subroutine__12JUTCacheFontFPib.s"
|
||||
JUTCacheFont::TCachePage* JUTCacheFont::loadCache_char_subroutine(int* param_0, bool param_1) {
|
||||
TCachePage* rv = NULL;
|
||||
for (TCachePage* pCachePage = (TCachePage*)field_0x9c; pCachePage != NULL;
|
||||
pCachePage = (TCachePage*)pCachePage->mNext)
|
||||
{
|
||||
if (pCachePage->field_0x8 <= *param_0 && *param_0 <= pCachePage->field_0xa) {
|
||||
rv = pCachePage;
|
||||
*param_0 -= pCachePage->field_0x8;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (rv == NULL) {
|
||||
int i = 0;
|
||||
for (; i < mGly1BlockNum; i++) {
|
||||
if (mpGlyphBlocks[i]->startCode <= *param_0 && *param_0 <= mpGlyphBlocks[i]->endCode) {
|
||||
*param_0 -= mpGlyphBlocks[i]->startCode;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (i < mGly1BlockNum) {
|
||||
TCachePage* pBlankPage = (TCachePage*)determineBlankPage();
|
||||
if (pBlankPage == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
int texPageIdx;
|
||||
getGlyphFromAram((JUTCacheFont::TGlyphCacheInfo*)mpGlyphBlocks[i], pBlankPage, param_0,
|
||||
&texPageIdx);
|
||||
mTexPageIdx = texPageIdx;
|
||||
field_0x66 = i;
|
||||
rv = pBlankPage;
|
||||
} else {
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
if (param_1) {
|
||||
rv->field_0x1e = 1;
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802DDEE0-802DDF68 2D8820 0088+00 1/1 0/0 0/0 .text invalidiateAllCache__12JUTCacheFontFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JUTCacheFont::invalidiateAllCache() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTCacheFont/invalidiateAllCache__12JUTCacheFontFv.s"
|
||||
void JUTCacheFont::invalidiateAllCache() {
|
||||
int* piVar3 = (int*)mCacheBuffer;
|
||||
for (int uVar2 = 0; uVar2 < mCachePage; uVar2++) {
|
||||
int iVar1;
|
||||
if (uVar2 == 0) {
|
||||
iVar1 = 0;
|
||||
} else {
|
||||
iVar1 = (int)piVar3 - field_0x94;
|
||||
}
|
||||
*piVar3 = iVar1;
|
||||
if (uVar2 == mCachePage - 1) {
|
||||
iVar1 = 0;
|
||||
} else {
|
||||
iVar1 = (int)piVar3 + field_0x94;
|
||||
}
|
||||
piVar3[1] = iVar1;
|
||||
piVar3 = (int*)((int)piVar3 + field_0x94);
|
||||
}
|
||||
field_0xa8 = (int)piVar3 - field_0x94;
|
||||
field_0xa4 = (TGlyphCacheInfo*)mCacheBuffer;
|
||||
field_0x9c = NULL;
|
||||
field_0xa0 = NULL;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802DDF68-802DDFAC 2D88A8 0044+00 2/2 0/0 0/0 .text
|
||||
* unlink__12JUTCacheFontFPQ212JUTCacheFont15TGlyphCacheInfo */
|
||||
|
|
@ -465,71 +497,36 @@ void JUTCacheFont::prepend(JUTCacheFont::TGlyphCacheInfo* cacheInfo) {
|
|||
}
|
||||
|
||||
/* 802DDFD8-802DDFE0 2D8918 0008+00 1/0 1/0 0/0 .text getResFont__10JUTResFontCFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm ResFONT* JUTResFont::getResFont() const {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTCacheFont/getResFont__10JUTResFontCFv.s"
|
||||
ResFONT* JUTResFont::getResFont() const {
|
||||
return (ResFONT*)mResFont;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802DDFE0-802DDFEC 2D8920 000C+00 1/0 1/0 0/0 .text getFontType__10JUTResFontCFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int JUTResFont::getFontType() const {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTCacheFont/getFontType__10JUTResFontCFv.s"
|
||||
int JUTResFont::getFontType() const {
|
||||
return mInf1Ptr->fontType;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802DDFEC-802DDFF8 2D892C 000C+00 1/0 1/0 0/0 .text getLeading__10JUTResFontCFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int JUTResFont::getLeading() const {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTCacheFont/getLeading__10JUTResFontCFv.s"
|
||||
int JUTResFont::getLeading() const {
|
||||
return mInf1Ptr->leading;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802DDFF8-802DE004 2D8938 000C+00 1/0 1/0 0/0 .text getWidth__10JUTResFontCFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm s32 JUTResFont::getWidth() const {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTCacheFont/getWidth__10JUTResFontCFv.s"
|
||||
s32 JUTResFont::getWidth() const {
|
||||
return mInf1Ptr->width;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802DE004-802DE010 2D8944 000C+00 1/0 1/0 0/0 .text getAscent__10JUTResFontCFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm s32 JUTResFont::getAscent() const {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTCacheFont/getAscent__10JUTResFontCFv.s"
|
||||
s32 JUTResFont::getAscent() const {
|
||||
return mInf1Ptr->ascent;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802DE010-802DE01C 2D8950 000C+00 1/0 1/0 0/0 .text getDescent__10JUTResFontCFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm s32 JUTResFont::getDescent() const {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTCacheFont/getDescent__10JUTResFontCFv.s"
|
||||
s32 JUTResFont::getDescent() const {
|
||||
return mInf1Ptr->descent;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802DE01C-802DE078 2D895C 005C+00 1/0 1/0 0/0 .text getHeight__10JUTResFontCFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm s32 JUTResFont::getHeight() const {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTCacheFont/getHeight__10JUTResFontCFv.s"
|
||||
s32 JUTResFont::getHeight() const {
|
||||
return getAscent() + getDescent();
|
||||
}
|
||||
#pragma pop
|
||||
|
|
|
|||
Loading…
Reference in New Issue