Match and link CLineSpacingInstruction

This commit is contained in:
Phillip Stephens 2023-01-07 18:31:19 -08:00
parent 3d5758b0ff
commit 481e7e2100
22 changed files with 121 additions and 72 deletions

View File

@ -43,8 +43,8 @@ __dt__17CBlockInstructionFv:
/* 80305DF4 00302D54 38 03 D8 C8 */ addi r0, r3, lbl_803ED8C8@l
/* 80305DF8 00302D58 90 1F 00 00 */ stw r0, 0(r31)
/* 80305DFC 00302D5C 41 82 00 10 */ beq lbl_80305E0C
/* 80305E00 00302D60 3C 60 80 3E */ lis r3, lbl_803D9A6C@ha
/* 80305E04 00302D64 38 03 9A 6C */ addi r0, r3, lbl_803D9A6C@l
/* 80305E00 00302D60 3C 60 80 3E */ lis r3, __vt__12CInstruction@ha
/* 80305E04 00302D64 38 03 9A 6C */ addi r0, r3, __vt__12CInstruction@l
/* 80305E08 00302D68 90 1F 00 00 */ stw r0, 0(r31)
lbl_80305E0C:
/* 80305E0C 00302D6C 7C 80 07 35 */ extsh. r0, r4

View File

@ -29,8 +29,8 @@ __dt__17CColorInstructionFv:
/* 802FE850 002FB7B0 38 03 D5 B0 */ addi r0, r3, lbl_803ED5B0@l
/* 802FE854 002FB7B4 90 1F 00 00 */ stw r0, 0(r31)
/* 802FE858 002FB7B8 41 82 00 10 */ beq lbl_802FE868
/* 802FE85C 002FB7BC 3C 60 80 3E */ lis r3, lbl_803D9A6C@ha
/* 802FE860 002FB7C0 38 03 9A 6C */ addi r0, r3, lbl_803D9A6C@l
/* 802FE85C 002FB7BC 3C 60 80 3E */ lis r3, __vt__12CInstruction@ha
/* 802FE860 002FB7C0 38 03 9A 6C */ addi r0, r3, __vt__12CInstruction@l
/* 802FE864 002FB7C4 90 1F 00 00 */ stw r0, 0(r31)
lbl_802FE868:
/* 802FE868 002FB7C8 7C 80 07 35 */ extsh. r0, r4

View File

@ -41,8 +41,8 @@ __dt__25CColorOverrideInstructionFv:
/* 802FE908 002FB868 38 03 D5 D0 */ addi r0, r3, lbl_803ED5D0@l
/* 802FE90C 002FB86C 90 1F 00 00 */ stw r0, 0(r31)
/* 802FE910 002FB870 41 82 00 10 */ beq lbl_802FE920
/* 802FE914 002FB874 3C 60 80 3E */ lis r3, lbl_803D9A6C@ha
/* 802FE918 002FB878 38 03 9A 6C */ addi r0, r3, lbl_803D9A6C@l
/* 802FE914 002FB874 3C 60 80 3E */ lis r3, __vt__12CInstruction@ha
/* 802FE918 002FB878 38 03 9A 6C */ addi r0, r3, __vt__12CInstruction@l
/* 802FE91C 002FB87C 90 1F 00 00 */ stw r0, 0(r31)
lbl_802FE920:
/* 802FE920 002FB880 7C 80 07 35 */ extsh. r0, r4

View File

@ -23,8 +23,8 @@ __dt__16CFontInstructionFv:
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
/* 802FEAC8 002FBA28 3C 60 80 3E */ lis r3, __vt__12CInstruction@ha
/* 802FEACC 002FBA2C 38 03 9A 6C */ addi r0, r3, __vt__12CInstruction@l
/* 802FEAD0 002FBA30 90 1E 00 00 */ stw r0, 0(r30)
lbl_802FEAD4:
/* 802FEAD4 002FBA34 7F E0 07 35 */ extsh. r0, r31

View File

@ -35,8 +35,8 @@ __dt__17CImageInstructionFv:
/* 8035974C 003566AC 4B CC F4 B1 */ bl sub_80028bfc
/* 80359750 003566B0 28 1E 00 00 */ cmplwi r30, 0
/* 80359754 003566B4 41 82 00 10 */ beq lbl_80359764
/* 80359758 003566B8 3C 60 80 3E */ lis r3, lbl_803D9A6C@ha
/* 8035975C 003566BC 38 03 9A 6C */ addi r0, r3, lbl_803D9A6C@l
/* 80359758 003566B8 3C 60 80 3E */ lis r3, __vt__12CInstruction@ha
/* 8035975C 003566BC 38 03 9A 6C */ addi r0, r3, __vt__12CInstruction@l
/* 80359760 003566C0 90 1E 00 00 */ stw r0, 0(r30)
lbl_80359764:
/* 80359764 003566C4 7F E0 07 35 */ extsh. r0, r31
@ -294,4 +294,3 @@ CalculateHeight__13CFontImageDefFv:
lbl_805AEA18:
# ROM: 0x3FB2B8
.double 4.503601774854144E15

View File

@ -29,8 +29,8 @@ __dt__26CLineExtraSpaceInstructionFv:
/* 802FF828 002FC788 38 03 D6 10 */ addi r0, r3, lbl_803ED610@l
/* 802FF82C 002FC78C 90 1F 00 00 */ stw r0, 0(r31)
/* 802FF830 002FC790 41 82 00 10 */ beq lbl_802FF840
/* 802FF834 002FC794 3C 60 80 3E */ lis r3, lbl_803D9A6C@ha
/* 802FF838 002FC798 38 03 9A 6C */ addi r0, r3, lbl_803D9A6C@l
/* 802FF834 002FC794 3C 60 80 3E */ lis r3, __vt__12CInstruction@ha
/* 802FF838 002FC798 38 03 9A 6C */ addi r0, r3, __vt__12CInstruction@l
/* 802FF83C 002FC79C 90 1F 00 00 */ stw r0, 0(r31)
lbl_802FF840:
/* 802FF840 002FC7A0 7C 80 07 35 */ extsh. r0, r4

View File

@ -44,8 +44,8 @@ __dt__16CLineInstructionFv:
/* 802FF8BC 002FC81C 38 03 D6 30 */ addi r0, r3, lbl_803ED630@l
/* 802FF8C0 002FC820 90 1F 00 00 */ stw r0, 0(r31)
/* 802FF8C4 002FC824 41 82 00 10 */ beq lbl_802FF8D4
/* 802FF8C8 002FC828 3C 60 80 3E */ lis r3, lbl_803D9A6C@ha
/* 802FF8CC 002FC82C 38 03 9A 6C */ addi r0, r3, lbl_803D9A6C@l
/* 802FF8C8 002FC828 3C 60 80 3E */ lis r3, __vt__12CInstruction@ha
/* 802FF8CC 002FC82C 38 03 9A 6C */ addi r0, r3, __vt__12CInstruction@l
/* 802FF8D0 002FC830 90 1F 00 00 */ stw r0, 0(r31)
lbl_802FF8D4:
/* 802FF8D4 002FC834 7C 80 07 35 */ extsh. r0, r4

View File

@ -3,8 +3,8 @@
.section .data
.balign 8
.global lbl_803ED678
lbl_803ED678:
.global __vt__23CLineSpacingInstruction
__vt__23CLineSpacingInstruction:
# ROM: 0x3EA678
.4byte 0
.4byte 0
@ -25,12 +25,12 @@ __dt__23CLineSpacingInstructionFv:
/* 802FFCB8 002FCC18 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802FFCBC 002FCC1C 7C 7F 1B 79 */ or. r31, r3, r3
/* 802FFCC0 002FCC20 41 82 00 30 */ beq lbl_802FFCF0
/* 802FFCC4 002FCC24 3C 60 80 3F */ lis r3, lbl_803ED678@ha
/* 802FFCC8 002FCC28 38 03 D6 78 */ addi r0, r3, lbl_803ED678@l
/* 802FFCC4 002FCC24 3C 60 80 3F */ lis r3, __vt__23CLineSpacingInstruction@ha
/* 802FFCC8 002FCC28 38 03 D6 78 */ addi r0, r3, __vt__23CLineSpacingInstruction@l
/* 802FFCCC 002FCC2C 90 1F 00 00 */ stw r0, 0(r31)
/* 802FFCD0 002FCC30 41 82 00 10 */ beq lbl_802FFCE0
/* 802FFCD4 002FCC34 3C 60 80 3E */ lis r3, lbl_803D9A6C@ha
/* 802FFCD8 002FCC38 38 03 9A 6C */ addi r0, r3, lbl_803D9A6C@l
/* 802FFCD4 002FCC34 3C 60 80 3E */ lis r3, __vt__12CInstruction@ha
/* 802FFCD8 002FCC38 38 03 9A 6C */ addi r0, r3, __vt__12CInstruction@l
/* 802FFCDC 002FCC3C 90 1F 00 00 */ stw r0, 0(r31)
lbl_802FFCE0:
/* 802FFCE0 002FCC40 7C 80 07 35 */ extsh. r0, r4

View File

@ -29,8 +29,8 @@ __dt__20CPopStateInstructionFv:
/* 802FFD5C 002FCCBC 38 03 D6 98 */ addi r0, r3, lbl_803ED698@l
/* 802FFD60 002FCCC0 90 1F 00 00 */ stw r0, 0(r31)
/* 802FFD64 002FCCC4 41 82 00 10 */ beq lbl_802FFD74
/* 802FFD68 002FCCC8 3C 60 80 3E */ lis r3, lbl_803D9A6C@ha
/* 802FFD6C 002FCCCC 38 03 9A 6C */ addi r0, r3, lbl_803D9A6C@l
/* 802FFD68 002FCCC8 3C 60 80 3E */ lis r3, __vt__12CInstruction@ha
/* 802FFD6C 002FCCCC 38 03 9A 6C */ addi r0, r3, __vt__12CInstruction@l
/* 802FFD70 002FCCD0 90 1F 00 00 */ stw r0, 0(r31)
lbl_802FFD74:
/* 802FFD74 002FCCD4 7C 80 07 35 */ extsh. r0, r4

View File

@ -29,8 +29,8 @@ __dt__21CPushStateInstructionFv:
/* 802FFE44 002FCDA4 38 03 D6 B8 */ addi r0, r3, lbl_803ED6B8@l
/* 802FFE48 002FCDA8 90 1F 00 00 */ stw r0, 0(r31)
/* 802FFE4C 002FCDAC 41 82 00 10 */ beq lbl_802FFE5C
/* 802FFE50 002FCDB0 3C 60 80 3E */ lis r3, lbl_803D9A6C@ha
/* 802FFE54 002FCDB4 38 03 9A 6C */ addi r0, r3, lbl_803D9A6C@l
/* 802FFE50 002FCDB0 3C 60 80 3E */ lis r3, __vt__12CInstruction@ha
/* 802FFE54 002FCDB4 38 03 9A 6C */ addi r0, r3, __vt__12CInstruction@l
/* 802FFE58 002FCDB8 90 1F 00 00 */ stw r0, 0(r31)
lbl_802FFE5C:
/* 802FFE5C 002FCDBC 7C 80 07 35 */ extsh. r0, r4

View File

@ -29,8 +29,8 @@ __dt__31CRemoveColorOverrideInstructionFv:
/* 80301858 002FE7B8 38 03 D6 D8 */ addi r0, r3, lbl_803ED6D8@l
/* 8030185C 002FE7BC 90 1F 00 00 */ stw r0, 0(r31)
/* 80301860 002FE7C0 41 82 00 10 */ beq lbl_80301870
/* 80301864 002FE7C4 3C 60 80 3E */ lis r3, lbl_803D9A6C@ha
/* 80301868 002FE7C8 38 03 9A 6C */ addi r0, r3, lbl_803D9A6C@l
/* 80301864 002FE7C4 3C 60 80 3E */ lis r3, __vt__12CInstruction@ha
/* 80301868 002FE7C8 38 03 9A 6C */ addi r0, r3, __vt__12CInstruction@l
/* 8030186C 002FE7CC 90 1F 00 00 */ stw r0, 0(r31)
lbl_80301870:
/* 80301870 002FE7D0 7C 80 07 35 */ extsh. r0, r4

View File

@ -1105,10 +1105,10 @@ lbl_80302A38:
/* 80302A68 002FF9C8 48 01 2E 05 */ bl __nw__FUlPCcPCc
/* 80302A6C 002FF9CC 7C 7E 1B 79 */ or. r30, r3, r3
/* 80302A70 002FF9D0 41 82 00 68 */ beq lbl_80302AD8
/* 80302A74 002FF9D4 3C 60 80 3E */ lis r3, lbl_803D9A6C@ha
/* 80302A74 002FF9D4 3C 60 80 3E */ lis r3, __vt__12CInstruction@ha
/* 80302A78 002FF9D8 80 FF 00 98 */ lwz r7, 0x98(r31)
/* 80302A7C 002FF9DC 81 1F 00 9C */ lwz r8, 0x9c(r31)
/* 80302A80 002FF9E0 38 A3 9A 6C */ addi r5, r3, lbl_803D9A6C@l
/* 80302A80 002FF9E0 38 A3 9A 6C */ addi r5, r3, __vt__12CInstruction@l
/* 80302A84 002FF9E4 3C 60 80 3F */ lis r3, lbl_803ED630@ha
/* 80302A88 002FF9E8 88 DF 00 C0 */ lbz r6, 0xc0(r31)
/* 80302A8C 002FF9EC 81 5F 00 AC */ lwz r10, 0xac(r31)
@ -1157,9 +1157,9 @@ lbl_80302B00:
/* 80302B30 002FFA90 48 01 2D 3D */ bl __nw__FUlPCcPCc
/* 80302B34 002FFA94 7C 7E 1B 79 */ or. r30, r3, r3
/* 80302B38 002FFA98 41 82 00 1C */ beq lbl_80302B54
/* 80302B3C 002FFA9C 3C 80 80 3E */ lis r4, lbl_803D9A6C@ha
/* 80302B3C 002FFA9C 3C 80 80 3E */ lis r4, __vt__12CInstruction@ha
/* 80302B40 002FFAA0 3C 60 80 3F */ lis r3, lbl_803ED8A8@ha
/* 80302B44 002FFAA4 38 04 9A 6C */ addi r0, r4, lbl_803D9A6C@l
/* 80302B44 002FFAA4 38 04 9A 6C */ addi r0, r4, __vt__12CInstruction@l
/* 80302B48 002FFAA8 90 1E 00 00 */ stw r0, 0(r30)
/* 80302B4C 002FFAAC 38 03 D8 A8 */ addi r0, r3, lbl_803ED8A8@l
/* 80302B50 002FFAB0 90 1E 00 00 */ stw r0, 0(r30)
@ -1265,10 +1265,10 @@ lbl_80302CA0:
/* 80302CB0 002FFC10 48 01 2B BD */ bl __nw__FUlPCcPCc
/* 80302CB4 002FFC14 7C 7E 1B 79 */ or. r30, r3, r3
/* 80302CB8 002FFC18 41 82 00 5C */ beq lbl_80302D14
/* 80302CBC 002FFC1C 3C 60 80 3E */ lis r3, lbl_803D9A6C@ha
/* 80302CBC 002FFC1C 3C 60 80 3E */ lis r3, __vt__12CInstruction@ha
/* 80302CC0 002FFC20 80 DF 00 98 */ lwz r6, 0x98(r31)
/* 80302CC4 002FFC24 80 FF 00 9C */ lwz r7, 0x9c(r31)
/* 80302CC8 002FFC28 38 83 9A 6C */ addi r4, r3, lbl_803D9A6C@l
/* 80302CC8 002FFC28 38 83 9A 6C */ addi r4, r3, __vt__12CInstruction@l
/* 80302CCC 002FFC2C 88 BF 00 C0 */ lbz r5, 0xc0(r31)
/* 80302CD0 002FFC30 3C 60 80 3F */ lis r3, lbl_803ED630@ha
/* 80302CD4 002FFC34 38 63 D6 30 */ addi r3, r3, lbl_803ED630@l
@ -1347,9 +1347,9 @@ StartNewWord__18CTextExecuteBufferFv:
/* 80302DE4 002FFD44 48 01 2A 89 */ bl __nw__FUlPCcPCc
/* 80302DE8 002FFD48 7C 7F 1B 79 */ or. r31, r3, r3
/* 80302DEC 002FFD4C 41 82 00 1C */ beq lbl_80302E08
/* 80302DF0 002FFD50 3C 80 80 3E */ lis r4, lbl_803D9A6C@ha
/* 80302DF0 002FFD50 3C 80 80 3E */ lis r4, __vt__12CInstruction@ha
/* 80302DF4 002FFD54 3C 60 80 3F */ lis r3, lbl_803ED8A8@ha
/* 80302DF8 002FFD58 38 04 9A 6C */ addi r0, r4, lbl_803D9A6C@l
/* 80302DF8 002FFD58 38 04 9A 6C */ addi r0, r4, __vt__12CInstruction@l
/* 80302DFC 002FFD5C 90 1F 00 00 */ stw r0, 0(r31)
/* 80302E00 002FFD60 38 03 D8 A8 */ addi r0, r3, lbl_803ED8A8@l
/* 80302E04 002FFD64 90 1F 00 00 */ stw r0, 0(r31)
@ -1492,9 +1492,9 @@ AddPopState__18CTextExecuteBufferFv:
/* 80302FE8 002FFF48 48 01 28 85 */ bl __nw__FUlPCcPCc
/* 80302FEC 002FFF4C 7C 7F 1B 79 */ or. r31, r3, r3
/* 80302FF0 002FFF50 41 82 00 1C */ beq lbl_8030300C
/* 80302FF4 002FFF54 3C 80 80 3E */ lis r4, lbl_803D9A6C@ha
/* 80302FF4 002FFF54 3C 80 80 3E */ lis r4, __vt__12CInstruction@ha
/* 80302FF8 002FFF58 3C 60 80 3F */ lis r3, lbl_803ED698@ha
/* 80302FFC 002FFF5C 38 04 9A 6C */ addi r0, r4, lbl_803D9A6C@l
/* 80302FFC 002FFF5C 38 04 9A 6C */ addi r0, r4, __vt__12CInstruction@l
/* 80303000 002FFF60 90 1F 00 00 */ stw r0, 0(r31)
/* 80303004 002FFF64 38 03 D6 98 */ addi r0, r3, lbl_803ED698@l
/* 80303008 002FFF68 90 1F 00 00 */ stw r0, 0(r31)
@ -1556,9 +1556,9 @@ AddPushState__18CTextExecuteBufferFv:
/* 803030D0 00300030 48 01 27 9D */ bl __nw__FUlPCcPCc
/* 803030D4 00300034 7C 7F 1B 79 */ or. r31, r3, r3
/* 803030D8 00300038 41 82 00 1C */ beq lbl_803030F4
/* 803030DC 0030003C 3C 80 80 3E */ lis r4, lbl_803D9A6C@ha
/* 803030DC 0030003C 3C 80 80 3E */ lis r4, __vt__12CInstruction@ha
/* 803030E0 00300040 3C 60 80 3F */ lis r3, lbl_803ED6B8@ha
/* 803030E4 00300044 38 04 9A 6C */ addi r0, r4, lbl_803D9A6C@l
/* 803030E4 00300044 38 04 9A 6C */ addi r0, r4, __vt__12CInstruction@l
/* 803030E8 00300048 90 1F 00 00 */ stw r0, 0(r31)
/* 803030EC 0030004C 38 03 D6 B8 */ addi r0, r3, lbl_803ED6B8@l
/* 803030F0 00300050 90 1F 00 00 */ stw r0, 0(r31)
@ -1633,9 +1633,9 @@ __ct__26CLineExtraSpaceInstructionFi:
/* 803031D8 00300138 48 01 26 95 */ bl __nw__FUlPCcPCc
/* 803031DC 0030013C 7C 7F 1B 79 */ or. r31, r3, r3
/* 803031E0 00300140 41 82 00 20 */ beq lbl_80303200
/* 803031E4 00300144 3C 80 80 3E */ lis r4, lbl_803D9A6C@ha
/* 803031E4 00300144 3C 80 80 3E */ lis r4, __vt__12CInstruction@ha
/* 803031E8 00300148 3C 60 80 3F */ lis r3, lbl_803ED610@ha
/* 803031EC 0030014C 38 04 9A 6C */ addi r0, r4, lbl_803D9A6C@l
/* 803031EC 0030014C 38 04 9A 6C */ addi r0, r4, __vt__12CInstruction@l
/* 803031F0 00300150 90 1F 00 00 */ stw r0, 0(r31)
/* 803031F4 00300154 38 03 D6 10 */ addi r0, r3, lbl_803ED610@l
/* 803031F8 00300158 90 1F 00 00 */ stw r0, 0(r31)
@ -1685,11 +1685,11 @@ __ct__23CLineSpacingInstructionFf:
/* 80303294 003001F4 48 01 25 D9 */ bl __nw__FUlPCcPCc
/* 80303298 003001F8 7C 7F 1B 79 */ or. r31, r3, r3
/* 8030329C 003001FC 41 82 00 20 */ beq lbl_803032BC
/* 803032A0 00300200 3C 80 80 3E */ lis r4, lbl_803D9A6C@ha
/* 803032A4 00300204 3C 60 80 3F */ lis r3, lbl_803ED678@ha
/* 803032A8 00300208 38 04 9A 6C */ addi r0, r4, lbl_803D9A6C@l
/* 803032A0 00300200 3C 80 80 3E */ lis r4, __vt__12CInstruction@ha
/* 803032A4 00300204 3C 60 80 3F */ lis r3, __vt__23CLineSpacingInstruction@ha
/* 803032A8 00300208 38 04 9A 6C */ addi r0, r4, __vt__12CInstruction@l
/* 803032AC 0030020C 90 1F 00 00 */ stw r0, 0(r31)
/* 803032B0 00300210 38 03 D6 78 */ addi r0, r3, lbl_803ED678@l
/* 803032B0 00300210 38 03 D6 78 */ addi r0, r3, __vt__23CLineSpacingInstruction@l
/* 803032B4 00300214 90 1F 00 00 */ stw r0, 0(r31)
/* 803032B8 00300218 D3 FF 00 04 */ stfs f31, 4(r31)
lbl_803032BC:
@ -1738,9 +1738,9 @@ __ct__31CRemoveColorOverrideInstructionFi:
/* 80303354 003002B4 48 01 25 19 */ bl __nw__FUlPCcPCc
/* 80303358 003002B8 7C 7F 1B 79 */ or. r31, r3, r3
/* 8030335C 003002BC 41 82 00 20 */ beq lbl_8030337C
/* 80303360 003002C0 3C 80 80 3E */ lis r4, lbl_803D9A6C@ha
/* 80303360 003002C0 3C 80 80 3E */ lis r4, __vt__12CInstruction@ha
/* 80303364 003002C4 3C 60 80 3F */ lis r3, lbl_803ED6D8@ha
/* 80303368 003002C8 38 04 9A 6C */ addi r0, r4, lbl_803D9A6C@l
/* 80303368 003002C8 38 04 9A 6C */ addi r0, r4, __vt__12CInstruction@l
/* 8030336C 003002CC 90 1F 00 00 */ stw r0, 0(r31)
/* 80303370 003002D0 38 03 D6 D8 */ addi r0, r3, lbl_803ED6D8@l
/* 80303374 003002D4 90 1F 00 00 */ stw r0, 0(r31)
@ -1792,9 +1792,9 @@ __ct__25CColorOverrideInstructionFv:
/* 80303418 00300378 48 01 24 55 */ bl __nw__FUlPCcPCc
/* 8030341C 0030037C 7C 7F 1B 79 */ or. r31, r3, r3
/* 80303420 00300380 41 82 00 40 */ beq lbl_80303460
/* 80303424 00300384 3C 80 80 3E */ lis r4, lbl_803D9A6C@ha
/* 80303424 00300384 3C 80 80 3E */ lis r4, __vt__12CInstruction@ha
/* 80303428 00300388 3C 60 80 3F */ lis r3, lbl_803ED5D0@ha
/* 8030342C 0030038C 38 04 9A 6C */ addi r0, r4, lbl_803D9A6C@l
/* 8030342C 0030038C 38 04 9A 6C */ addi r0, r4, __vt__12CInstruction@l
/* 80303430 00300390 90 1F 00 00 */ stw r0, 0(r31)
/* 80303434 00300394 38 03 D5 D0 */ addi r0, r3, lbl_803ED5D0@l
/* 80303438 00300398 90 1F 00 00 */ stw r0, 0(r31)
@ -1855,9 +1855,9 @@ __ct__17CColorInstructionFiRC6CColor:
/* 80303500 00300460 48 01 23 6D */ bl __nw__FUlPCcPCc
/* 80303504 00300464 7C 7F 1B 79 */ or. r31, r3, r3
/* 80303508 00300468 41 82 00 40 */ beq lbl_80303548
/* 8030350C 0030046C 3C 80 80 3E */ lis r4, lbl_803D9A6C@ha
/* 8030350C 0030046C 3C 80 80 3E */ lis r4, __vt__12CInstruction@ha
/* 80303510 00300470 3C 60 80 3F */ lis r3, lbl_803ED5B0@ha
/* 80303514 00300474 38 04 9A 6C */ addi r0, r4, lbl_803D9A6C@l
/* 80303514 00300474 38 04 9A 6C */ addi r0, r4, __vt__12CInstruction@l
/* 80303518 00300478 90 1F 00 00 */ stw r0, 0(r31)
/* 8030351C 0030047C 38 03 D5 B0 */ addi r0, r3, lbl_803ED5B0@l
/* 80303520 00300480 90 1F 00 00 */ stw r0, 0(r31)
@ -2127,9 +2127,9 @@ lbl_803038CC:
__ct__17CImageInstructionFRC13CFontImageDef:
/* 80303908 00300868 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8030390C 0030086C 7C 08 02 A6 */ mflr r0
/* 80303910 00300870 3C A0 80 3E */ lis r5, lbl_803D9A6C@ha
/* 80303910 00300870 3C A0 80 3E */ lis r5, __vt__12CInstruction@ha
/* 80303914 00300874 90 01 00 14 */ stw r0, 0x14(r1)
/* 80303918 00300878 38 05 9A 6C */ addi r0, r5, lbl_803D9A6C@l
/* 80303918 00300878 38 05 9A 6C */ addi r0, r5, __vt__12CInstruction@l
/* 8030391C 0030087C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80303920 00300880 7C 7F 1B 78 */ mr r31, r3
/* 80303924 00300884 3C 60 80 3F */ lis r3, lbl_803EF798@ha
@ -2161,9 +2161,9 @@ __ct__17CImageInstructionFRC13CFontImageDef:
/* 80303980 003008E0 48 01 1E ED */ bl __nw__FUlPCcPCc
/* 80303984 003008E4 7C 7D 1B 79 */ or. r29, r3, r3
/* 80303988 003008E8 41 82 00 34 */ beq lbl_803039BC
/* 8030398C 003008EC 3C 80 80 3E */ lis r4, lbl_803D9A6C@ha
/* 8030398C 003008EC 3C 80 80 3E */ lis r4, __vt__12CInstruction@ha
/* 80303990 003008F0 3C 60 80 3F */ lis r3, lbl_803ED5F0@ha
/* 80303994 003008F4 38 04 9A 6C */ addi r0, r4, lbl_803D9A6C@l
/* 80303994 003008F4 38 04 9A 6C */ addi r0, r4, __vt__12CInstruction@l
/* 80303998 003008F8 7F BB EB 78 */ mr r27, r29
/* 8030399C 003008FC 90 1D 00 00 */ stw r0, 0(r29)
/* 803039A0 00300900 38 03 D5 F0 */ addi r0, r3, lbl_803ED5F0@l
@ -2316,9 +2316,9 @@ BeginBlock__18CTextExecuteBufferFiiiib14ETextDirection14EJustification22EVertica
/* 80303BB4 00300B14 48 01 1C B9 */ bl __nw__FUlPCcPCc
/* 80303BB8 00300B18 7C 7A 1B 79 */ or. r26, r3, r3
/* 80303BBC 00300B1C 41 82 00 54 */ beq lbl_80303C10
/* 80303BC0 00300B20 3C 80 80 3E */ lis r4, lbl_803D9A6C@ha
/* 80303BC0 00300B20 3C 80 80 3E */ lis r4, __vt__12CInstruction@ha
/* 80303BC4 00300B24 3C 60 80 3F */ lis r3, lbl_803ED8C8@ha
/* 80303BC8 00300B28 38 84 9A 6C */ addi r4, r4, lbl_803D9A6C@l
/* 80303BC8 00300B28 38 84 9A 6C */ addi r4, r4, __vt__12CInstruction@l
/* 80303BCC 00300B2C 38 00 00 00 */ li r0, 0
/* 80303BD0 00300B30 90 9A 00 00 */ stw r4, 0(r26)
/* 80303BD4 00300B34 38 63 D8 C8 */ addi r3, r3, lbl_803ED8C8@l
@ -2662,4 +2662,3 @@ lbl_803D6E90:
# ROM: 0x3D3E90
.asciz "??(??)"
.balign 4

View File

@ -29,8 +29,8 @@ __dt__16CTextInstructionFv:
/* 80304080 00300FE0 38 03 D6 F8 */ addi r0, r3, lbl_803ED6F8@l
/* 80304084 00300FE4 90 1F 00 00 */ stw r0, 0(r31)
/* 80304088 00300FE8 41 82 00 10 */ beq lbl_80304098
/* 8030408C 00300FEC 3C 60 80 3E */ lis r3, lbl_803D9A6C@ha
/* 80304090 00300FF0 38 03 9A 6C */ addi r0, r3, lbl_803D9A6C@l
/* 8030408C 00300FEC 3C 60 80 3E */ lis r3, __vt__12CInstruction@ha
/* 80304090 00300FF0 38 03 9A 6C */ addi r0, r3, __vt__12CInstruction@l
/* 80304094 00300FF4 90 1F 00 00 */ stw r0, 0(r31)
lbl_80304098:
/* 80304098 00300FF8 7C 80 07 35 */ extsh. r0, r4
@ -47,9 +47,9 @@ lbl_803040A8:
.global __ct__16CTextInstructionFPCwi
__ct__16CTextInstructionFPCwi:
/* 803040C0 00301020 3C E0 80 3E */ lis r7, lbl_803D9A6C@ha
/* 803040C0 00301020 3C E0 80 3E */ lis r7, __vt__12CInstruction@ha
/* 803040C4 00301024 3C C0 80 3F */ lis r6, lbl_803ED6F8@ha
/* 803040C8 00301028 38 E7 9A 6C */ addi r7, r7, lbl_803D9A6C@l
/* 803040C8 00301028 38 E7 9A 6C */ addi r7, r7, __vt__12CInstruction@l
/* 803040CC 0030102C 2C 05 00 00 */ cmpwi r5, 0
/* 803040D0 00301030 90 E3 00 00 */ stw r7, 0(r3)
/* 803040D4 00301034 38 06 D6 F8 */ addi r0, r6, lbl_803ED6F8@l
@ -210,4 +210,3 @@ lbl_803D6E98:
# ROM: 0x3D3E98
.asciz "??(??)"
.balign 4

View File

@ -29,8 +29,8 @@ __dt__16CWordInstructionFv:
/* 80305C04 00302B64 38 03 D8 A8 */ addi r0, r3, lbl_803ED8A8@l
/* 80305C08 00302B68 90 1F 00 00 */ stw r0, 0(r31)
/* 80305C0C 00302B6C 41 82 00 10 */ beq lbl_80305C1C
/* 80305C10 00302B70 3C 60 80 3E */ lis r3, lbl_803D9A6C@ha
/* 80305C14 00302B74 38 03 9A 6C */ addi r0, r3, lbl_803D9A6C@l
/* 80305C10 00302B70 3C 60 80 3E */ lis r3, __vt__12CInstruction@ha
/* 80305C14 00302B74 38 03 9A 6C */ addi r0, r3, __vt__12CInstruction@l
/* 80305C18 00302B78 90 1F 00 00 */ stw r0, 0(r31)
lbl_80305C1C:
/* 80305C1C 00302B7C 7C 80 07 35 */ extsh. r0, r4

View File

@ -104,8 +104,8 @@ lbl_803D9A50:
.4byte Draw__13CSplashScreenCFv
.4byte PreDraw__6CIOWinCFv
.global lbl_803D9A6C
lbl_803D9A6C:
.global __vt__12CInstruction
__vt__12CInstruction:
# ROM: 0x3D6A6C
.4byte 0
.4byte 0

View File

@ -541,7 +541,7 @@ LIBS = [
"Kyoto/Text/CFontRenderState",
"Kyoto/Text/CLineExtraSpaceInstruction",
"Kyoto/Text/CLineInstruction",
"Kyoto/Text/CLineSpacingInstruction",
["Kyoto/Text/CLineSpacingInstruction", True],
"Kyoto/Text/CPopStateInstruction",
"Kyoto/Text/CPushStateInstruction",
["Kyoto/Text/CRasterFont", False],

View File

@ -0,0 +1,20 @@
#ifndef _CFONTRENDERSTATE
#define _CFONTRENDERSTATE
#include "Kyoto/Text/CSaveableState.hpp"
#include "Kyoto/Text/CDrawStringOptions.hpp"
class CBlockInstruction;
class CFontRenderState : private CSaveableState {
public:
void SetLineSpacing(float spacing) { CSaveableState::SetLineSpacing(spacing); }
private:
CBlockInstruction* x88_curBlock;
CDrawStringOptions x8c_drawOpts;
int xd4_curX;
int xd8_curY;
};
#endif // _CFONTRENDERSTATE

View File

@ -13,10 +13,10 @@ class CTextRenderBuffer;
class CInstruction {
public:
virtual ~CInstruction() {}
virtual uint GetAssetCount() const;
virtual void GetAssets(rstl::vector<CToken>& assetsOut) const;
virtual void PageInvoke(CFontRenderState& state, CTextRenderBuffer* buf) const;
virtual void Invoke(CFontRenderState& state, CTextRenderBuffer* buf) const = 0;
virtual void PageInvoke(CFontRenderState& state, CTextRenderBuffer* buf) const;// {}
virtual void GetAssets(rstl::vector< CToken >& assetsOut) const;// {}
virtual uint GetAssetCount() const;// { return 0; }
};
#endif // _CINSTRUCTION

View File

@ -0,0 +1,17 @@
#ifndef _CLINESPACINGINSTRUCTION
#define _CLINESPACINGINSTRUCTION
#include "Kyoto/Text/CInstruction.hpp"
class CLineSpacingInstruction : public CInstruction {
public:
CLineSpacingInstruction(float spacing) : x4_spacing(spacing) {}
~CLineSpacingInstruction() {}
void Invoke(CFontRenderState& state, CTextRenderBuffer* buf) const;
void PageInvoke(CFontRenderState& state, CTextRenderBuffer* buf) const;
private:
float x4_spacing;
};
#endif // _CLINESPACINGINSTRUCTION

View File

@ -13,6 +13,9 @@ public:
CSaveableState();
bool IsFinishedLoading();
void SetLineSpacing(float spacing) { x74_lineSpacing = spacing; }
private:
CDrawStringOptions x0_drawStringOptions;
rstl::optional_object< TToken< CRasterFont > > x48_font;

View File

@ -0,0 +1,11 @@
#include "Kyoto/Text/CLineSpacingInstruction.hpp"
#include "Kyoto/Text/CFontRenderState.hpp"
void CLineSpacingInstruction::Invoke(CFontRenderState& state, CTextRenderBuffer* buf) const {
state.SetLineSpacing(x4_spacing);
}
void CLineSpacingInstruction::PageInvoke(CFontRenderState& state, CTextRenderBuffer* buf) const {
Invoke(state, buf);
}

View File

@ -1,5 +1,6 @@
#include "MetroidPrime/CInstruction.hpp"
#include "Kyoto/Text/CInstruction.hpp"
/* TODO: These get ODR'd into CSplashScreen, so match and link that and put these in the header where they belong */
uint CInstruction::GetAssetCount() const { return 0; }
void CInstruction::GetAssets(rstl::vector< CToken >& assetsOut) const {}