partially decompile text_printer

This commit is contained in:
sceptillion
2017-12-18 13:14:49 -08:00
parent d1437d30f7
commit f70d7efa66
39 changed files with 523 additions and 888 deletions
+1 -1
View File
@@ -2359,7 +2359,7 @@ sub_8011100: @ 8011100
sub sp, 0x4
bl AnimateSprites
bl BuildOamBuffer
bl sub_8002DE8
bl RunTextPrinters
bl UpdatePaletteFade
bl RunTasks
ldr r0, _08011160 @ =gMain
+14 -14
View File
@@ -126,7 +126,7 @@ _0814F974:
ldrb r0, [r6, 0x6]
strb r0, [r6, 0x8]
ldrb r1, [r6, 0x5]
ldr r0, _0814F998 @ =gUnknown_3003D90
ldr r0, _0814F998 @ =gFonts
ldr r2, [r0]
lsls r0, r1, 1
adds r0, r1
@@ -142,7 +142,7 @@ _0814F992:
movs r0, 0x2
b _0814FC96
.align 2, 0
_0814F998: .4byte gUnknown_3003D90
_0814F998: .4byte gFonts
_0814F99C:
ldr r0, [r6]
adds r0, 0x1
@@ -271,7 +271,7 @@ _0814FA9E:
lsls r2, 24
lsrs r2, 28
_0814FAA6:
bl sub_8002EA8
bl GenerateFontHalfRowLookupTable
b _0814F992
_0814FAAC:
ldr r0, [r6]
@@ -384,8 +384,8 @@ _0814FB62:
adds r0, r3, 0
bl DecompressGlyphFont6
adds r0, r6, 0
bl sub_8003014
ldr r0, _0814FB84 @ =gUnknown_3003DA0
bl CopyGlyphToWindow
ldr r0, _0814FB84 @ =gGlyphBuffer1
adds r0, 0x80
ldrb r1, [r6, 0xA]
ldrb r0, [r0]
@@ -396,7 +396,7 @@ _0814FB62:
movs r0, 0
b _0814FC96
.align 2, 0
_0814FB84: .4byte gUnknown_3003DA0
_0814FB84: .4byte gGlyphBuffer1
_0814FB88:
adds r0, r6, 0
bl TextPrinterWait
@@ -435,7 +435,7 @@ _0814FBC4:
adds r0, r6, 0
bl sub_80055D4
ldrb r1, [r6, 0x5]
ldr r0, _0814FBF8 @ =gUnknown_3003D90
ldr r0, _0814FBF8 @ =gFonts
ldr r2, [r0]
lsls r0, r1, 1
adds r0, r1
@@ -451,7 +451,7 @@ _0814FBC4:
strb r0, [r6, 0x1C]
b _0814FB42
.align 2, 0
_0814FBF8: .4byte gUnknown_3003D90
_0814FBF8: .4byte gFonts
_0814FBFC:
ldrb r2, [r6, 0x1F]
cmp r2, 0
@@ -551,27 +551,27 @@ DecompressGlyphFont6: @ 814FC9C
ldr r0, _0814FCF8 @ =gUnknown_846FB0C
adds r1, r0
adds r5, r2, r1
ldr r4, _0814FCFC @ =gUnknown_3003DA0
ldr r4, _0814FCFC @ =gGlyphBuffer1
adds r0, r5, 0
adds r1, r4, 0
bl sub_8002F8C
bl DecompressGlyphTile
adds r0, r5, 0
adds r0, 0x10
adds r1, r4, 0
adds r1, 0x20
bl sub_8002F8C
bl DecompressGlyphTile
movs r1, 0x80
lsls r1, 1
adds r0, r5, r1
adds r1, r4, 0
adds r1, 0x40
bl sub_8002F8C
bl DecompressGlyphTile
movs r1, 0x88
lsls r1, 1
adds r0, r5, r1
adds r1, r4, 0
adds r1, 0x60
bl sub_8002F8C
bl DecompressGlyphTile
adds r0, r4, 0
adds r0, 0x80
movs r1, 0x10
@@ -583,7 +583,7 @@ DecompressGlyphFont6: @ 814FC9C
bx r0
.align 2, 0
_0814FCF8: .4byte gUnknown_846FB0C
_0814FCFC: .4byte gUnknown_3003DA0
_0814FCFC: .4byte gGlyphBuffer1
thumb_func_end DecompressGlyphFont6
thumb_func_start GetGlyphWidthFont6
+2 -2
View File
@@ -754,7 +754,7 @@ _0804726C:
strb r0, [r1, 0x2]
_0804727A:
bl RunTasks
bl sub_8002DE8
bl RunTextPrinters
bl AnimateSprites
bl BuildOamBuffer
bl UpdatePaletteFade
@@ -1225,7 +1225,7 @@ _08047654:
bl sub_812B484
_08047684:
bl RunTasks
bl sub_8002DE8
bl RunTextPrinters
bl AnimateSprites
bl BuildOamBuffer
bl UpdatePaletteFade
+2 -2
View File
@@ -1095,7 +1095,7 @@ sub_80CE710: @ 80CE710
push {lr}
bl AnimateSprites
bl BuildOamBuffer
bl sub_8002DE8
bl RunTextPrinters
bl UpdatePaletteFade
bl RunTasks
pop {r0}
@@ -1107,7 +1107,7 @@ sub_80CE72C: @ 80CE72C
push {lr}
bl AnimateSprites
bl BuildOamBuffer
bl sub_8002DE8
bl RunTextPrinters
bl UpdatePaletteFade
bl RunTasks
pop {r0}
+2 -2
View File
@@ -368,7 +368,7 @@ sub_812C694: @ 812C694
beq _0812C6C0
b _0812C8EA
_0812C6C0:
bl sub_8002DE8
bl RunTextPrinters
ldr r0, _0812C71C @ =gMain
ldrh r1, [r0, 0x2E]
movs r0, 0x4
@@ -879,7 +879,7 @@ sub_812CAD8: @ 812CAD8
adds r5, r1, r0
adds r0, 0x8
adds r6, r1, r0
bl sub_8002DE8
bl RunTextPrinters
ldr r0, _0812CBA0 @ =gMain
ldrh r1, [r0, 0x2E]
movs r0, 0x1
+2 -2
View File
@@ -4711,7 +4711,7 @@ sub_805D6C8: @ 805D6C8
adds r0, r1
bl sub_805D9C4
_0805D6EA:
bl sub_8002DE8
bl RunTextPrinters
movs r1, 0xA
ldrsh r0, [r5, r1]
cmp r0, 0
@@ -5030,7 +5030,7 @@ _0805D97C: .4byte gUnknown_2036E38
thumb_func_start sub_805D980
sub_805D980: @ 805D980
push {lr}
bl sub_8002DE8
bl RunTextPrinters
movs r0, 0
bl IsTextPrinterActive
lsls r0, 16
+1 -1
View File
@@ -800,7 +800,7 @@ _0807F424: .4byte gUnknown_2021D18
_0807F428: .4byte gUnknown_83C68EC
_0807F42C: .4byte gUnknown_3003E50
_0807F430:
bl sub_8002DE8
bl RunTextPrinters
adds r0, r7, 0
bl IsTextPrinterActive
lsls r0, 16
+1 -1
View File
@@ -19,7 +19,7 @@ sub_80F1DAC: @ 80F1DAC
sub_80F1DC0: @ 80F1DC0
push {lr}
bl RunTasks
bl sub_8002DE8
bl RunTextPrinters
bl AnimateSprites
bl BuildOamBuffer
bl UpdatePaletteFade
+11 -11
View File
@@ -1210,7 +1210,7 @@ _0813C1DC: .4byte 0x00000834
_0813C1E0: .4byte gUnknown_841CB3C
_0813C1E4:
ldr r7, [sp, 0x34]
ldr r1, _0813C1FC @ =gUnknown_3003DA0
ldr r1, _0813C1FC @ =gGlyphBuffer1
adds r1, 0x81
mov r0, r10
adds r0, 0x1
@@ -1221,7 +1221,7 @@ _0813C1E4:
mov r10, r0
b _0813C0AC
.align 2, 0
_0813C1FC: .4byte gUnknown_3003DA0
_0813C1FC: .4byte gGlyphBuffer1
_0813C200:
mov r2, r9
ldrb r1, [r2]
@@ -1401,7 +1401,7 @@ _0813C36A:
add r2, sp, 0x14
bl sub_813C3AC
ldr r1, [sp, 0x24]
ldr r0, _0813C398 @ =gUnknown_3003DA0
ldr r0, _0813C398 @ =gGlyphBuffer1
adds r0, 0x80
ldrb r0, [r0]
_0813C38E:
@@ -1411,7 +1411,7 @@ _0813C390:
lsrs r7, r0, 24
b _0813C0AC
.align 2, 0
_0813C398: .4byte gUnknown_3003DA0
_0813C398: .4byte gGlyphBuffer1
_0813C39C:
add sp, 0x38
pop {r3-r5}
@@ -1468,7 +1468,7 @@ _0813C3FA:
movs r1, 0
bl sub_80065B8
_0813C402:
ldr r1, _0813C450 @ =gUnknown_3003DA0
ldr r1, _0813C450 @ =gGlyphBuffer1
str r1, [r7]
movs r2, 0
movs r0, 0x10
@@ -1506,7 +1506,7 @@ _0813C402:
pop {r0}
bx r0
.align 2, 0
_0813C450: .4byte gUnknown_3003DA0
_0813C450: .4byte gGlyphBuffer1
thumb_func_end sub_813C3AC
thumb_func_start sub_813C454
@@ -1517,7 +1517,7 @@ sub_813C454: @ 813C454
movs r0, 0x1
movs r1, 0xF
movs r2, 0x2
bl sub_8002EA8
bl GenerateFontHalfRowLookupTable
ldr r1, _0813C484 @ =gUnknown_201FD00
movs r2, 0x2
str r2, [sp]
@@ -1550,7 +1550,7 @@ sub_813C488: @ 813C488
movs r0, 0x1
movs r1, 0xF
movs r2, 0x2
bl sub_8002EA8
bl GenerateFontHalfRowLookupTable
ldr r1, _0813C4C8 @ =gUnknown_201F400
lsls r4, 24
lsrs r4, 24
@@ -1585,7 +1585,7 @@ sub_813C4CC: @ 813C4CC
movs r0, 0x1
movs r1, 0xF
movs r2, 0x2
bl sub_8002EA8
bl GenerateFontHalfRowLookupTable
ldr r1, _0813C508 @ =gUnknown_201C000
str r4, [sp]
movs r0, 0x1A
@@ -1625,7 +1625,7 @@ sub_813C50C: @ 813C50C
movs r0, 0x1
movs r1, 0xE
movs r2, 0x2
bl sub_8002EA8
bl GenerateFontHalfRowLookupTable
movs r6, 0
str r6, [sp]
movs r5, 0x1A
@@ -1679,7 +1679,7 @@ sub_813C584: @ 813C584
movs r0, 0x2
movs r1, 0x1
movs r2, 0x3
bl sub_8002EA8
bl GenerateFontHalfRowLookupTable
movs r0, 0x6
str r0, [sp]
movs r0, 0x1A
+1 -1
View File
@@ -276,7 +276,7 @@ _080E4882:
strb r1, [r0]
_080E489E:
bl RunTasks
bl sub_8002DE8
bl RunTextPrinters
bl AnimateSprites
bl BuildOamBuffer
bl UpdatePaletteFade
+3 -3
View File
@@ -3255,7 +3255,7 @@ _08117384:
bl sub_808B700
_081173A2:
bl RunTasks
bl sub_8002DE8
bl RunTextPrinters
bl AnimateSprites
bl BuildOamBuffer
pop {r4}
@@ -3473,7 +3473,7 @@ _08117564:
bl SetMainCallback2
_08117576:
bl RunTasks
bl sub_8002DE8
bl RunTextPrinters
bl AnimateSprites
bl BuildOamBuffer
pop {r4}
@@ -13185,7 +13185,7 @@ _0811C500:
bl SetMainCallback2
_0811C516:
bl RunTasks
bl sub_8002DE8
bl RunTextPrinters
bl AnimateSprites
bl BuildOamBuffer
bl UpdatePaletteFade
+1 -1
View File
@@ -485,7 +485,7 @@ _080BF000:
cmp r0, 0
beq _080BF0F4
bl sub_80BF224
bl sub_8002DE8
bl RunTextPrinters
b _080BF0F4
.align 2, 0
_080BF018: .4byte gUnknown_20399C4
+2 -2
View File
@@ -436,7 +436,7 @@ sub_800C688: @ 800C688
ands r0, r1
cmp r0, 0
bne _0800C6F8
bl sub_8002DE8
bl RunTextPrinters
movs r0, 0x4
bl IsTextPrinterActive
lsls r0, 16
@@ -1092,7 +1092,7 @@ _0800CC0C:
.align 2, 0
_0800CC18: .4byte gUnknown_2037AB8
_0800CC1C:
bl sub_8002DE8
bl RunTextPrinters
movs r0, 0x4
bl IsTextPrinterActive
lsls r0, 16
+1 -1
View File
@@ -90,7 +90,7 @@ sub_80BF518: @ 80BF518
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
bl sub_8002DE8
bl RunTextPrinters
adds r0, r4, 0
bl IsTextPrinterActive
lsls r0, 16
+1 -1
View File
@@ -19,7 +19,7 @@ sub_8142078: @ 8142078
sub_814208C: @ 814208C
push {lr}
bl RunTasks
bl sub_8002DE8
bl RunTextPrinters
bl AnimateSprites
bl BuildOamBuffer
pop {r0}
+1 -1
View File
@@ -1004,7 +1004,7 @@ _0809E1D0: .4byte gUnknown_3003E50
thumb_func_start sub_809E1D4
sub_809E1D4: @ 809E1D4
push {lr}
bl sub_8002DE8
bl RunTextPrinters
movs r0, 0
bl IsTextPrinterActive
lsls r0, 16
+1 -1
View File
@@ -716,7 +716,7 @@ sub_80F6C98: @ 80F6C98
thumb_func_start sub_80F6CBC
sub_80F6CBC: @ 80F6CBC
push {lr}
bl sub_8002DE8
bl RunTextPrinters
movs r0, 0
bl IsTextPrinterActive
lsls r0, 16
+1 -1
View File
@@ -259,7 +259,7 @@ sub_812EAFC: @ 812EAFC
sub_812EB10: @ 812EB10
push {lr}
bl RunTasks
bl sub_8002DE8
bl RunTextPrinters
bl AnimateSprites
bl BuildOamBuffer
bl UpdatePaletteFade
+1 -1
View File
@@ -30,7 +30,7 @@ sub_81024D4: @ 81024D4
beq _08102504
_081024EC:
bl RunTasks
bl sub_8002DE8
bl RunTextPrinters
bl AnimateSprites
bl BuildOamBuffer
b _08102508
+1 -1
View File
@@ -225,7 +225,7 @@ sub_811C6E8: @ 811C6E8
thumb_func_start sub_811C6FC
sub_811C6FC: @ 811C6FC
push {lr}
bl sub_8002DE8
bl RunTextPrinters
bl RunTasks
bl AnimateSprites
bl BuildOamBuffer
+1 -1
View File
@@ -399,7 +399,7 @@ sub_80F5404: @ 80F5404
movs r0, 0x2
movs r1, 0x1
movs r2, 0x3
bl sub_8002EA8
bl GenerateFontHalfRowLookupTable
add r1, sp, 0xC
ldr r2, _080F544C @ =0x00001111
adds r0, r2, 0
+106 -106
View File
@@ -689,7 +689,7 @@ _08005880:
ldrb r0, [r6, 0x6]
strb r0, [r6, 0x8]
ldrb r1, [r6, 0x5]
ldr r0, _080058A4 @ =gUnknown_3003D90
ldr r0, _080058A4 @ =gFonts
ldr r2, [r0]
lsls r0, r1, 1
adds r0, r1
@@ -705,7 +705,7 @@ _0800589E:
movs r0, 0x2
b _08005D6A
.align 2, 0
_080058A4: .4byte gUnknown_3003D90
_080058A4: .4byte gFonts
_080058A8:
ldr r0, [r6]
b _08005B0A
@@ -841,7 +841,7 @@ _080059CA:
lsls r2, 24
lsrs r2, 28
_080059D2:
bl sub_8002EA8
bl GenerateFontHalfRowLookupTable
b _0800589E
_080059D8:
ldr r0, [r6]
@@ -971,7 +971,7 @@ _08005AB0:
_08005ABE:
adds r0, r6, 0
adds r1, r4, 0
bl nullsub_5
bl ClearTextSpan
ldrb r0, [r6, 0x8]
adds r0, r4
b _08005C4E
@@ -1001,7 +1001,7 @@ _08005ADC:
_08005AF2:
adds r0, r6, 0
adds r1, r4, 0
bl nullsub_5
bl ClearTextSpan
ldrb r0, [r6, 0x8]
adds r0, r4
b _08005C4E
@@ -1059,14 +1059,14 @@ _08005B46:
ldrb r2, [r6, 0x8]
ldrb r3, [r6, 0x9]
bl DrawKeypadIcon
ldr r1, _08005B68 @ =gUnknown_3003DA0
ldr r1, _08005B68 @ =gGlyphBuffer1
adds r1, 0x80
strb r0, [r1]
ldrb r3, [r6, 0xA]
adds r0, r3
b _08005C4A
.align 2, 0
_08005B68: .4byte gUnknown_3003DA0
_08005B68: .4byte gGlyphBuffer1
_08005B6C:
ldr r0, [r4]
lsls r0, 28
@@ -1131,13 +1131,13 @@ _08005BE2:
bl sub_8006958
_08005BEE:
adds r0, r6, 0
bl sub_8003014
bl CopyGlyphToWindow
adds r2, r6, 0
adds r2, 0x20
ldrb r0, [r2]
cmp r0, 0
beq _08005C28
ldr r1, _08005C24 @ =gUnknown_3003DA0
ldr r1, _08005C24 @ =gGlyphBuffer1
adds r1, 0x80
ldrb r0, [r1]
ldrb r3, [r6, 0x8]
@@ -1150,19 +1150,19 @@ _08005BEE:
ble _08005C50
adds r0, r6, 0
adds r1, r4, 0
bl nullsub_5
bl ClearTextSpan
ldrb r0, [r6, 0x8]
adds r0, r4
b _08005C4E
.align 2, 0
_08005C24: .4byte gUnknown_3003DA0
_08005C24: .4byte gGlyphBuffer1
_08005C28:
adds r0, r6, 0
adds r0, 0x21
ldrb r0, [r0]
cmp r0, 0
beq _08005C44
ldr r0, _08005C40 @ =gUnknown_3003DA0
ldr r0, _08005C40 @ =gGlyphBuffer1
adds r0, 0x80
ldrb r1, [r6, 0xA]
ldrb r0, [r0]
@@ -1170,9 +1170,9 @@ _08005C28:
ldrb r0, [r6, 0x8]
b _08005C4C
.align 2, 0
_08005C40: .4byte gUnknown_3003DA0
_08005C40: .4byte gGlyphBuffer1
_08005C44:
ldr r0, _08005C54 @ =gUnknown_3003DA0
ldr r0, _08005C54 @ =gGlyphBuffer1
adds r0, 0x80
ldrb r0, [r0]
_08005C4A:
@@ -1185,7 +1185,7 @@ _08005C50:
movs r0, 0
b _08005D6A
.align 2, 0
_08005C54: .4byte gUnknown_3003DA0
_08005C54: .4byte gGlyphBuffer1
_08005C58:
adds r0, r6, 0
bl TextPrinterWait
@@ -1230,7 +1230,7 @@ _08005CA6:
adds r0, r6, 0
bl sub_80055D4
ldrb r1, [r6, 0x5]
ldr r0, _08005CCC @ =gUnknown_3003D90
ldr r0, _08005CCC @ =gFonts
ldr r2, [r0]
lsls r0, r1, 1
adds r0, r1
@@ -1246,7 +1246,7 @@ _08005CA6:
strb r0, [r6, 0x1C]
b _08005B30
.align 2, 0
_08005CCC: .4byte gUnknown_3003D90
_08005CCC: .4byte gFonts
_08005CD0:
ldrb r2, [r6, 0x1F]
cmp r2, 0
@@ -1834,7 +1834,7 @@ sub_8006124: @ 8006124
mov r10, r0
movs r0, 0x1
movs r2, 0x3
bl sub_8002EA8
bl GenerateFontHalfRowLookupTable
mov r8, r4
movs r7, 0
_0800615E:
@@ -1939,7 +1939,7 @@ _08006246:
_0800624A:
ldr r1, [sp, 0x8]
mov r2, r10
bl sub_8002EA8
bl GenerateFontHalfRowLookupTable
b _08006280
_08006254:
adds r7, 0x1
@@ -1949,7 +1949,7 @@ _08006256:
_0800625A:
adds r0, r6, 0
bl DecompressGlyphFont9
ldr r4, _080062A8 @ =gUnknown_3003DA0
ldr r4, _080062A8 @ =gGlyphBuffer1
ldr r5, _080062AC @ =0x04000008
adds r0, r4, 0
mov r1, r9
@@ -1984,7 +1984,7 @@ _08006286:
pop {r1}
bx r1
.align 2, 0
_080062A8: .4byte gUnknown_3003DA0
_080062A8: .4byte gGlyphBuffer1
_080062AC: .4byte 0x04000008
thumb_func_end sub_8006124
@@ -2228,16 +2228,16 @@ sub_8006448: @ 8006448
ldr r1, _08006488 @ =gUnknown_81EF100
adds r0, r1
adds r5, r2, r0
ldr r4, _0800648C @ =gUnknown_3003DA0
ldr r4, _0800648C @ =gGlyphBuffer1
adds r0, r5, 0
adds r1, r4, 0
bl sub_8002F8C
bl DecompressGlyphTile
movs r1, 0x80
lsls r1, 1
adds r0, r5, r1
adds r1, r4, 0
adds r1, 0x40
bl sub_8002F8C
bl DecompressGlyphTile
adds r1, r4, 0
adds r1, 0x80
movs r0, 0x8
@@ -2247,20 +2247,20 @@ sub_8006448: @ 8006448
b _080064BC
.align 2, 0
_08006488: .4byte gUnknown_81EF100
_0800648C: .4byte gUnknown_3003DA0
_0800648C: .4byte gGlyphBuffer1
_08006490:
lsls r1, r6, 5
ldr r0, _080064C4 @ =gUnknown_81EAF00
adds r5, r1, r0
ldr r4, _080064C8 @ =gUnknown_3003DA0
ldr r4, _080064C8 @ =gGlyphBuffer1
adds r0, r5, 0
adds r1, r4, 0
bl sub_8002F8C
bl DecompressGlyphTile
adds r0, r5, 0
adds r0, 0x10
adds r1, r4, 0
adds r1, 0x40
bl sub_8002F8C
bl DecompressGlyphTile
ldr r0, _080064CC @ =gUnknown_81EEF00
adds r0, r6, r0
ldrb r1, [r0]
@@ -2276,7 +2276,7 @@ _080064BC:
bx r0
.align 2, 0
_080064C4: .4byte gUnknown_81EAF00
_080064C8: .4byte gUnknown_3003DA0
_080064C8: .4byte gGlyphBuffer1
_080064CC: .4byte gUnknown_81EEF00
thumb_func_end sub_8006448
@@ -2315,16 +2315,16 @@ sub_80064F0: @ 80064F0
ldr r1, _08006534 @ =gUnknown_81FB300
adds r0, r1
adds r5, r2, r0
ldr r4, _08006538 @ =gUnknown_3003DA0
ldr r4, _08006538 @ =gGlyphBuffer1
adds r0, r5, 0
adds r1, r4, 0
bl sub_8002F8C
bl DecompressGlyphTile
movs r1, 0x80
lsls r1, 1
adds r0, r5, r1
adds r1, r4, 0
adds r1, 0x40
bl sub_8002F8C
bl DecompressGlyphTile
adds r1, r4, 0
adds r1, 0x80
movs r0, 0x8
@@ -2335,30 +2335,30 @@ sub_80064F0: @ 80064F0
b _08006584
.align 2, 0
_08006534: .4byte gUnknown_81FB300
_08006538: .4byte gUnknown_3003DA0
_08006538: .4byte gGlyphBuffer1
_0800653C:
lsls r1, r6, 6
ldr r0, _0800658C @ =gUnknown_81F3100
adds r5, r1, r0
ldr r4, _08006590 @ =gUnknown_3003DA0
ldr r4, _08006590 @ =gGlyphBuffer1
adds r0, r5, 0
adds r1, r4, 0
bl sub_8002F8C
bl DecompressGlyphTile
adds r0, r5, 0
adds r0, 0x10
adds r1, r4, 0
adds r1, 0x20
bl sub_8002F8C
bl DecompressGlyphTile
adds r0, r5, 0
adds r0, 0x20
adds r1, r4, 0
adds r1, 0x40
bl sub_8002F8C
bl DecompressGlyphTile
adds r0, r5, 0
adds r0, 0x30
adds r1, r4, 0
adds r1, 0x60
bl sub_8002F8C
bl DecompressGlyphTile
ldr r0, _08006594 @ =gUnknown_81FB100
adds r0, r6, r0
ldrb r1, [r0]
@@ -2375,7 +2375,7 @@ _08006584:
bx r0
.align 2, 0
_0800658C: .4byte gUnknown_81F3100
_08006590: .4byte gUnknown_3003DA0
_08006590: .4byte gGlyphBuffer1
_08006594: .4byte gUnknown_81FB100
thumb_func_end sub_80064F0
@@ -2409,11 +2409,11 @@ sub_80065B8: @ 80065B8
cmp r6, 0
bne _080065F8
movs r0, 0x2
bl sub_8002FCC
bl GetLastTextColor
lsls r0, 24
lsrs r0, 24
movs r1, 0
ldr r3, _080065F4 @ =gUnknown_3003DA0
ldr r3, _080065F4 @ =gGlyphBuffer1
lsls r2, r0, 4
orrs r2, r0
adds r7, r3, 0
@@ -2432,7 +2432,7 @@ _080065E4:
ble _080065E4
b _080066E4
.align 2, 0
_080065F4: .4byte gUnknown_3003DA0
_080065F4: .4byte gGlyphBuffer1
_080065F8:
lsrs r2, r0, 19
lsls r2, 9
@@ -2442,27 +2442,27 @@ _080065F8:
ldr r1, _08006650 @ =gUnknown_8207500
adds r0, r1
adds r4, r2, r0
ldr r5, _08006654 @ =gUnknown_3003DA0
ldr r5, _08006654 @ =gGlyphBuffer1
adds r0, r4, 0
adds r1, r5, 0
bl sub_8002F8C
bl DecompressGlyphTile
adds r0, r4, 0
adds r0, 0x10
adds r1, r5, 0
adds r1, 0x20
bl sub_8002F8C
bl DecompressGlyphTile
movs r1, 0x80
lsls r1, 1
adds r0, r4, r1
adds r1, r5, 0
adds r1, 0x40
bl sub_8002F8C
bl DecompressGlyphTile
movs r1, 0x88
lsls r1, 1
adds r0, r4, r1
adds r1, r5, 0
adds r1, 0x60
bl sub_8002F8C
bl DecompressGlyphTile
ldr r0, _08006658 @ =gUnknown_820F500
adds r0, r6, r0
ldrb r1, [r0]
@@ -2475,17 +2475,17 @@ _080065F8:
b _080066E2
.align 2, 0
_08006650: .4byte gUnknown_8207500
_08006654: .4byte gUnknown_3003DA0
_08006654: .4byte gGlyphBuffer1
_08006658: .4byte gUnknown_820F500
_0800665C:
cmp r6, 0
bne _0800669C
movs r0, 0x2
bl sub_8002FCC
bl GetLastTextColor
lsls r0, 24
lsrs r0, 24
movs r1, 0
ldr r3, _08006694 @ =gUnknown_3003DA0
ldr r3, _08006694 @ =gGlyphBuffer1
lsls r2, r0, 4
orrs r2, r0
ldr r0, _08006698 @ =gUnknown_8207300
@@ -2507,31 +2507,31 @@ _08006682:
ble _08006682
b _080066E4
.align 2, 0
_08006694: .4byte gUnknown_3003DA0
_08006694: .4byte gGlyphBuffer1
_08006698: .4byte gUnknown_8207300
_0800669C:
lsls r1, r6, 6
ldr r0, _080066EC @ =gUnknown_81FF300
adds r4, r1, r0
ldr r5, _080066F0 @ =gUnknown_3003DA0
ldr r5, _080066F0 @ =gGlyphBuffer1
adds r0, r4, 0
adds r1, r5, 0
bl sub_8002F8C
bl DecompressGlyphTile
adds r0, r4, 0
adds r0, 0x10
adds r1, r5, 0
adds r1, 0x20
bl sub_8002F8C
bl DecompressGlyphTile
adds r0, r4, 0
adds r0, 0x20
adds r1, r5, 0
adds r1, 0x40
bl sub_8002F8C
bl DecompressGlyphTile
adds r0, r4, 0
adds r0, 0x30
adds r1, r5, 0
adds r1, 0x60
bl sub_8002F8C
bl DecompressGlyphTile
ldr r0, _080066F4 @ =gUnknown_8207300
adds r0, r6, r0
ldrb r1, [r0]
@@ -2549,7 +2549,7 @@ _080066E4:
bx r0
.align 2, 0
_080066EC: .4byte gUnknown_81FF300
_080066F0: .4byte gUnknown_3003DA0
_080066F0: .4byte gGlyphBuffer1
_080066F4: .4byte gUnknown_8207300
thumb_func_end sub_80065B8
@@ -2591,11 +2591,11 @@ sub_8006724: @ 8006724
cmp r3, 0
bne _08006764
movs r0, 0x2
bl sub_8002FCC
bl GetLastTextColor
lsls r0, 24
lsrs r0, 24
movs r1, 0
ldr r3, _08006760 @ =gUnknown_3003DA0
ldr r3, _08006760 @ =gGlyphBuffer1
lsls r2, r0, 4
orrs r2, r0
adds r7, r3, 0
@@ -2614,7 +2614,7 @@ _08006750:
ble _08006750
b _080067C6
.align 2, 0
_08006760: .4byte gUnknown_3003DA0
_08006760: .4byte gGlyphBuffer1
_08006764:
lsrs r2, r0, 19
lsls r2, 9
@@ -2624,27 +2624,27 @@ _08006764:
ldr r1, _080067B8 @ =gUnknown_8207500
adds r0, r1
adds r5, r2, r0
ldr r4, _080067BC @ =gUnknown_3003DA0
ldr r4, _080067BC @ =gGlyphBuffer1
adds r0, r5, 0
adds r1, r4, 0
bl sub_8002F8C
bl DecompressGlyphTile
adds r0, r5, 0
adds r0, 0x10
adds r1, r4, 0
adds r1, 0x20
bl sub_8002F8C
bl DecompressGlyphTile
movs r1, 0x80
lsls r1, 1
adds r0, r5, r1
adds r1, r4, 0
adds r1, 0x40
bl sub_8002F8C
bl DecompressGlyphTile
movs r1, 0x88
lsls r1, 1
adds r0, r5, r1
adds r1, r4, 0
adds r1, 0x60
bl sub_8002F8C
bl DecompressGlyphTile
adds r1, r4, 0
adds r1, 0x80
movs r0, 0xA
@@ -2655,7 +2655,7 @@ _08006764:
b _080067C6
.align 2, 0
_080067B8: .4byte gUnknown_8207500
_080067BC: .4byte gUnknown_3003DA0
_080067BC: .4byte gGlyphBuffer1
_080067C0:
adds r0, r3, 0
bl sub_80065B8
@@ -2695,11 +2695,11 @@ sub_80067EC: @ 80067EC
cmp r6, 0
bne _0800682C
movs r0, 0x2
bl sub_8002FCC
bl GetLastTextColor
lsls r0, 24
lsrs r0, 24
movs r1, 0
ldr r3, _08006828 @ =gUnknown_3003DA0
ldr r3, _08006828 @ =gGlyphBuffer1
lsls r2, r0, 4
orrs r2, r0
adds r7, r3, 0
@@ -2718,7 +2718,7 @@ _08006818:
ble _08006818
b _08006918
.align 2, 0
_08006828: .4byte gUnknown_3003DA0
_08006828: .4byte gGlyphBuffer1
_0800682C:
lsrs r2, r0, 19
lsls r2, 9
@@ -2728,27 +2728,27 @@ _0800682C:
ldr r1, _08006884 @ =gUnknown_8217818
adds r0, r1
adds r4, r2, r0
ldr r5, _08006888 @ =gUnknown_3003DA0
ldr r5, _08006888 @ =gGlyphBuffer1
adds r0, r4, 0
adds r1, r5, 0
bl sub_8002F8C
bl DecompressGlyphTile
adds r0, r4, 0
adds r0, 0x10
adds r1, r5, 0
adds r1, 0x20
bl sub_8002F8C
bl DecompressGlyphTile
movs r1, 0x80
lsls r1, 1
adds r0, r4, r1
adds r1, r5, 0
adds r1, 0x40
bl sub_8002F8C
bl DecompressGlyphTile
movs r1, 0x88
lsls r1, 1
adds r0, r4, r1
adds r1, r5, 0
adds r1, 0x60
bl sub_8002F8C
bl DecompressGlyphTile
ldr r0, _0800688C @ =gUnknown_821F818
adds r0, r6, r0
ldrb r1, [r0]
@@ -2761,17 +2761,17 @@ _0800682C:
b _08006916
.align 2, 0
_08006884: .4byte gUnknown_8217818
_08006888: .4byte gUnknown_3003DA0
_08006888: .4byte gGlyphBuffer1
_0800688C: .4byte gUnknown_821F818
_08006890:
cmp r6, 0
bne _080068D0
movs r0, 0x2
bl sub_8002FCC
bl GetLastTextColor
lsls r0, 24
lsrs r0, 24
movs r1, 0
ldr r3, _080068C8 @ =gUnknown_3003DA0
ldr r3, _080068C8 @ =gGlyphBuffer1
lsls r2, r0, 4
orrs r2, r0
ldr r0, _080068CC @ =gUnknown_8217618
@@ -2793,31 +2793,31 @@ _080068B6:
ble _080068B6
b _08006918
.align 2, 0
_080068C8: .4byte gUnknown_3003DA0
_080068C8: .4byte gGlyphBuffer1
_080068CC: .4byte gUnknown_8217618
_080068D0:
lsls r1, r6, 6
ldr r0, _08006920 @ =gUnknown_820F618
adds r4, r1, r0
ldr r5, _08006924 @ =gUnknown_3003DA0
ldr r5, _08006924 @ =gGlyphBuffer1
adds r0, r4, 0
adds r1, r5, 0
bl sub_8002F8C
bl DecompressGlyphTile
adds r0, r4, 0
adds r0, 0x10
adds r1, r5, 0
adds r1, 0x20
bl sub_8002F8C
bl DecompressGlyphTile
adds r0, r4, 0
adds r0, 0x20
adds r1, r5, 0
adds r1, 0x40
bl sub_8002F8C
bl DecompressGlyphTile
adds r0, r4, 0
adds r0, 0x30
adds r1, r5, 0
adds r1, 0x60
bl sub_8002F8C
bl DecompressGlyphTile
ldr r0, _08006928 @ =gUnknown_8217618
adds r0, r6, r0
ldrb r1, [r0]
@@ -2835,7 +2835,7 @@ _08006918:
bx r0
.align 2, 0
_08006920: .4byte gUnknown_820F618
_08006924: .4byte gUnknown_3003DA0
_08006924: .4byte gGlyphBuffer1
_08006928: .4byte gUnknown_8217618
thumb_func_end sub_80067EC
@@ -2877,11 +2877,11 @@ sub_8006958: @ 8006958
cmp r6, 0
bne _08006998
movs r0, 0x2
bl sub_8002FCC
bl GetLastTextColor
lsls r0, 24
lsrs r0, 24
movs r1, 0
ldr r3, _08006994 @ =gUnknown_3003DA0
ldr r3, _08006994 @ =gGlyphBuffer1
lsls r2, r0, 4
orrs r2, r0
adds r7, r3, 0
@@ -2900,7 +2900,7 @@ _08006984:
ble _08006984
b _08006A84
.align 2, 0
_08006994: .4byte gUnknown_3003DA0
_08006994: .4byte gGlyphBuffer1
_08006998:
lsrs r2, r0, 19
lsls r2, 9
@@ -2910,27 +2910,27 @@ _08006998:
ldr r1, _080069F0 @ =gUnknown_8227B30
adds r0, r1
adds r4, r2, r0
ldr r5, _080069F4 @ =gUnknown_3003DA0
ldr r5, _080069F4 @ =gGlyphBuffer1
adds r0, r4, 0
adds r1, r5, 0
bl sub_8002F8C
bl DecompressGlyphTile
adds r0, r4, 0
adds r0, 0x10
adds r1, r5, 0
adds r1, 0x20
bl sub_8002F8C
bl DecompressGlyphTile
movs r1, 0x80
lsls r1, 1
adds r0, r4, r1
adds r1, r5, 0
adds r1, 0x40
bl sub_8002F8C
bl DecompressGlyphTile
movs r1, 0x88
lsls r1, 1
adds r0, r4, r1
adds r1, r5, 0
adds r1, 0x60
bl sub_8002F8C
bl DecompressGlyphTile
ldr r0, _080069F8 @ =gUnknown_822FB30
adds r0, r6, r0
ldrb r1, [r0]
@@ -2943,17 +2943,17 @@ _08006998:
b _08006A82
.align 2, 0
_080069F0: .4byte gUnknown_8227B30
_080069F4: .4byte gUnknown_3003DA0
_080069F4: .4byte gGlyphBuffer1
_080069F8: .4byte gUnknown_822FB30
_080069FC:
cmp r6, 0
bne _08006A3C
movs r0, 0x2
bl sub_8002FCC
bl GetLastTextColor
lsls r0, 24
lsrs r0, 24
movs r1, 0
ldr r3, _08006A34 @ =gUnknown_3003DA0
ldr r3, _08006A34 @ =gGlyphBuffer1
lsls r2, r0, 4
orrs r2, r0
ldr r0, _08006A38 @ =gUnknown_8227930
@@ -2975,31 +2975,31 @@ _08006A22:
ble _08006A22
b _08006A84
.align 2, 0
_08006A34: .4byte gUnknown_3003DA0
_08006A34: .4byte gGlyphBuffer1
_08006A38: .4byte gUnknown_8227930
_08006A3C:
lsls r1, r6, 6
ldr r0, _08006A8C @ =gUnknown_821F930
adds r4, r1, r0
ldr r5, _08006A90 @ =gUnknown_3003DA0
ldr r5, _08006A90 @ =gGlyphBuffer1
adds r0, r4, 0
adds r1, r5, 0
bl sub_8002F8C
bl DecompressGlyphTile
adds r0, r4, 0
adds r0, 0x10
adds r1, r5, 0
adds r1, 0x20
bl sub_8002F8C
bl DecompressGlyphTile
adds r0, r4, 0
adds r0, 0x20
adds r1, r5, 0
adds r1, 0x40
bl sub_8002F8C
bl DecompressGlyphTile
adds r0, r4, 0
adds r0, 0x30
adds r1, r5, 0
adds r1, 0x60
bl sub_8002F8C
bl DecompressGlyphTile
ldr r0, _08006A94 @ =gUnknown_8227930
adds r0, r6, r0
ldrb r1, [r0]
@@ -3017,7 +3017,7 @@ _08006A84:
bx r0
.align 2, 0
_08006A8C: .4byte gUnknown_821F930
_08006A90: .4byte gUnknown_3003DA0
_08006A90: .4byte gGlyphBuffer1
_08006A94: .4byte gUnknown_8227930
thumb_func_end sub_8006958
@@ -3062,17 +3062,17 @@ DecompressGlyphFont9: @ 8006AC4
ldr r0, _08006B08 @ =gUnknown_822FC48
adds r1, r0
adds r4, r1
ldr r5, _08006B0C @ =gUnknown_3003DA0
ldr r5, _08006B0C @ =gGlyphBuffer1
adds r0, r4, 0
adds r1, r5, 0
bl sub_8002F8C
bl DecompressGlyphTile
movs r0, 0x80
lsls r0, 1
adds r4, r0
adds r1, r5, 0
adds r1, 0x40
adds r0, r4, 0
bl sub_8002F8C
bl DecompressGlyphTile
adds r1, r5, 0
adds r1, 0x80
movs r0, 0x8
@@ -3085,7 +3085,7 @@ DecompressGlyphFont9: @ 8006AC4
bx r0
.align 2, 0
_08006B08: .4byte gUnknown_822FC48
_08006B0C: .4byte gUnknown_3003DA0
_08006B0C: .4byte gGlyphBuffer1
thumb_func_end DecompressGlyphFont9
.align 2, 0 @ Don't pad with nop.
+49 -602
View File
@@ -5,561 +5,8 @@
.text
thumb_func_start SetFontsPointer
SetFontsPointer: @ 8002C1C
ldr r1, _08002C24 @ =gUnknown_3003D90
str r0, [r1]
bx lr
.align 2, 0
_08002C24: .4byte gUnknown_3003D90
thumb_func_end SetFontsPointer
thumb_func_start DeactivateAllTextPrinters
DeactivateAllTextPrinters: @ 8002C28
push {lr}
ldr r1, _08002C40 @ =gUnknown_2020034
movs r2, 0
ldr r3, _08002C44 @ =0x0000045c
adds r0, r1, r3
_08002C32:
strb r2, [r0, 0x1B]
subs r0, 0x24
cmp r0, r1
bge _08002C32
pop {r0}
bx r0
.align 2, 0
_08002C40: .4byte gUnknown_2020034
_08002C44: .4byte 0x0000045c
thumb_func_end DeactivateAllTextPrinters
thumb_func_start PrintTextOnWindow
PrintTextOnWindow: @ 8002C48
push {r4-r7,lr}
mov r7, r8
push {r7}
sub sp, 0x10
ldr r4, [sp, 0x28]
ldr r5, [sp, 0x2C]
ldr r7, [sp, 0x30]
lsls r1, 24
lsrs r1, 24
lsls r3, 24
lsrs r3, 24
lsls r4, 24
lsrs r4, 24
lsls r5, 24
lsrs r5, 24
mov r8, r5
str r2, [sp]
mov r2, sp
strb r0, [r2, 0x4]
mov r0, sp
strb r1, [r0, 0x5]
strb r3, [r0, 0x6]
strb r4, [r0, 0x7]
strb r3, [r0, 0x8]
strb r4, [r0, 0x9]
ldr r0, _08002CF0 @ =gUnknown_3003D90
ldr r0, [r0]
lsls r3, r1, 1
adds r3, r1
lsls r3, 2
adds r3, r0
ldrb r0, [r3, 0x6]
strb r0, [r2, 0xA]
mov r1, sp
ldrb r0, [r3, 0x7]
strb r0, [r1, 0xB]
mov r5, sp
ldrb r1, [r3, 0x8]
lsls r1, 28
movs r6, 0xF
lsrs r1, 28
ldrb r4, [r5, 0xC]
movs r2, 0x10
negs r2, r2
adds r0, r2, 0
ands r0, r4
orrs r0, r1
strb r0, [r5, 0xC]
mov r4, sp
ldrb r1, [r3, 0x8]
lsrs r1, 4
lsls r1, 4
ands r0, r6
orrs r0, r1
strb r0, [r4, 0xC]
ldrb r0, [r3, 0x9]
lsls r0, 28
lsrs r0, 28
adds r1, r6, 0
ands r1, r0
ldrb r0, [r4, 0xD]
ands r2, r0
orrs r2, r1
strb r2, [r4, 0xD]
mov r1, sp
ldrb r0, [r3, 0x9]
lsrs r0, 4
lsls r0, 4
ands r2, r6
orrs r2, r0
strb r2, [r1, 0xD]
mov r0, sp
mov r1, r8
adds r2, r7, 0
bl AddTextPrinter
lsls r0, 16
lsrs r0, 16
add sp, 0x10
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r1}
bx r1
.align 2, 0
_08002CF0: .4byte gUnknown_3003D90
thumb_func_end PrintTextOnWindow
thumb_func_start AddTextPrinter
AddTextPrinter: @ 8002CF4
push {r4-r7,lr}
adds r6, r0, 0
mov r12, r2
lsls r1, 24
lsrs r5, r1, 24
ldr r0, _08002D0C @ =gUnknown_3003D90
ldr r0, [r0]
cmp r0, 0
bne _08002D10
movs r0, 0
b _08002DD8
.align 2, 0
_08002D0C: .4byte gUnknown_3003D90
_08002D10:
ldr r0, _08002D88 @ =gUnknown_2020010
movs r2, 0
movs r1, 0x1
strb r1, [r0, 0x1B]
strb r2, [r0, 0x1C]
strb r5, [r0, 0x1D]
strb r2, [r0, 0x1E]
strb r2, [r0, 0x1F]
adds r4, r0, 0
movs r1, 0x6
adds r0, 0x1A
_08002D26:
strb r2, [r0]
subs r0, 0x1
subs r1, 0x1
cmp r1, 0
bge _08002D26
adds r1, r4, 0
adds r0, r6, 0
ldm r0!, {r2,r3,r7}
stm r1!, {r2,r3,r7}
ldr r0, [r0]
str r0, [r1]
mov r0, r12
str r0, [r4, 0x10]
adds r0, r4, 0
adds r0, 0x20
movs r1, 0
strb r1, [r0]
adds r0, 0x1
strb r1, [r0]
ldrb r0, [r6, 0xC]
lsrs r0, 4
ldrb r2, [r6, 0xD]
lsls r1, r2, 28
lsrs r1, 28
lsrs r2, 4
bl sub_8002EA8
cmp r5, 0xFF
beq _08002D90
cmp r5, 0
beq _08002D90
ldrb r0, [r4, 0x1D]
subs r0, 0x1
strb r0, [r4, 0x1D]
ldr r2, _08002D8C @ =gUnknown_2020034
ldrb r0, [r6, 0x4]
lsls r1, r0, 3
adds r1, r0
lsls r1, 2
adds r1, r2
adds r0, r4, 0
ldm r0!, {r2-r4}
stm r1!, {r2-r4}
ldm r0!, {r2,r3,r7}
stm r1!, {r2,r3,r7}
ldm r0!, {r2,r4,r7}
stm r1!, {r2,r4,r7}
b _08002DD6
.align 2, 0
_08002D88: .4byte gUnknown_2020010
_08002D8C: .4byte gUnknown_2020034
_08002D90:
ldr r1, _08002D9C @ =gUnknown_2020010
movs r0, 0
strb r0, [r1, 0x1D]
movs r4, 0
ldr r7, _08002DA0 @ =0x000003ff
b _08002DAA
.align 2, 0
_08002D9C: .4byte gUnknown_2020010
_08002DA0: .4byte 0x000003ff
_08002DA4:
adds r0, r4, 0x1
lsls r0, 16
lsrs r4, r0, 16
_08002DAA:
cmp r4, r7
bhi _08002DB8
ldr r0, _08002DE0 @ =gUnknown_2020010
bl RenderFont
cmp r0, 0x1
bne _08002DA4
_08002DB8:
cmp r5, 0xFF
beq _08002DC6
ldr r0, _08002DE0 @ =gUnknown_2020010
ldrb r0, [r0, 0x4]
movs r1, 0x2
bl CopyWindowToVram
_08002DC6:
ldr r2, _08002DE4 @ =gUnknown_2020034
ldrb r1, [r6, 0x4]
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
adds r0, r2
movs r1, 0
strb r1, [r0, 0x1B]
_08002DD6:
movs r0, 0x1
_08002DD8:
pop {r4-r7}
pop {r1}
bx r1
.align 2, 0
_08002DE0: .4byte gUnknown_2020010
_08002DE4: .4byte gUnknown_2020034
thumb_func_end AddTextPrinter
thumb_func_start sub_8002DE8
sub_8002DE8: @ 8002DE8
push {r4-r7,lr}
mov r7, r8
push {r7}
ldr r0, _08002E18 @ =gUnknown_2020034
movs r6, 0
adds r5, r0, 0x4
mov r8, r0
movs r7, 0x1F
_08002DF8:
ldrb r0, [r5, 0x17]
cmp r0, 0
beq _08002E4C
mov r0, r8
bl RenderFont
lsls r0, 16
lsrs r4, r0, 16
cmp r4, 0x1
beq _08002E48
cmp r4, 0x1
bgt _08002E1C
cmp r4, 0
beq _08002E22
b _08002E4C
.align 2, 0
_08002E18: .4byte gUnknown_2020034
_08002E1C:
cmp r4, 0x3
beq _08002E2A
b _08002E4C
_08002E22:
ldrb r0, [r5]
movs r1, 0x2
bl CopyWindowToVram
_08002E2A:
ldr r1, _08002E44 @ =gUnknown_2020034
adds r0, r1, 0
adds r0, 0x10
adds r0, r6, r0
ldr r2, [r0]
cmp r2, 0
beq _08002E4C
adds r0, r6, r1
adds r1, r4, 0
bl _call_via_r2
b _08002E4C
.align 2, 0
_08002E44: .4byte gUnknown_2020034
_08002E48:
movs r0, 0
strb r0, [r5, 0x17]
_08002E4C:
adds r6, 0x24
adds r5, 0x24
movs r0, 0x24
add r8, r0
subs r7, 0x1
cmp r7, 0
bge _08002DF8
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_8002DE8
thumb_func_start IsTextPrinterActive
IsTextPrinterActive: @ 8002E64
lsls r0, 24
lsrs r0, 24
ldr r2, _08002E78 @ =gUnknown_2020034
lsls r1, r0, 3
adds r1, r0
lsls r1, 2
adds r1, r2
ldrb r0, [r1, 0x1B]
bx lr
.align 2, 0
_08002E78: .4byte gUnknown_2020034
thumb_func_end IsTextPrinterActive
thumb_func_start RenderFont
RenderFont: @ 8002E7C
push {r4,lr}
adds r4, r0, 0
_08002E80:
ldrb r1, [r4, 0x5]
ldr r0, _08002EA4 @ =gUnknown_3003D90
ldr r2, [r0]
lsls r0, r1, 1
adds r0, r1
lsls r0, 2
adds r0, r2
ldr r1, [r0]
adds r0, r4, 0
bl _call_via_r1
lsls r0, 16
lsrs r0, 16
cmp r0, 0x2
beq _08002E80
pop {r4}
pop {r1}
bx r1
.align 2, 0
_08002EA4: .4byte gUnknown_3003D90
thumb_func_end RenderFont
thumb_func_start sub_8002EA8
sub_8002EA8: @ 8002EA8
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x10
lsls r0, 24
lsrs r0, 24
lsls r1, 24
lsrs r1, 24
lsls r2, 24
lsrs r2, 24
str r1, [sp]
str r0, [sp, 0x4]
str r2, [sp, 0x8]
ldr r3, _08002F4C @ =gUnknown_3000AE2
strh r1, [r3]
ldr r1, _08002F50 @ =gUnknown_3000AE4
strh r0, [r1]
ldr r0, _08002F54 @ =gUnknown_3000AE6
strh r2, [r0]
movs r0, 0
mov r12, r0
movs r1, 0
_08002ED8:
movs r2, 0
lsls r0, r1, 2
adds r1, 0x1
mov r10, r1
add r0, sp
mov r8, r0
_08002EE4:
movs r1, 0
lsls r0, r2, 2
adds r2, 0x1
mov r9, r2
add r0, sp
str r0, [sp, 0xC]
_08002EF0:
lsls r0, r1, 2
adds r6, r1, 0x1
mov r1, sp
adds r4, r1, r0
mov r5, sp
mov r7, r12
lsls r0, r7, 1
ldr r1, _08002F58 @ =gUnknown_3000A40
adds r2, r0, r1
movs r3, 0x2
_08002F04:
ldm r5!, {r1}
lsls r1, 12
ldr r0, [r4]
lsls r0, 8
orrs r1, r0
ldr r7, [sp, 0xC]
ldr r0, [r7]
lsls r0, 4
orrs r1, r0
mov r7, r8
ldr r0, [r7]
orrs r0, r1
strh r0, [r2]
adds r2, 0x2
movs r0, 0x1
add r12, r0
subs r3, 0x1
cmp r3, 0
bge _08002F04
adds r1, r6, 0
cmp r1, 0x2
ble _08002EF0
mov r2, r9
cmp r2, 0x2
ble _08002EE4
mov r1, r10
cmp r1, 0x2
ble _08002ED8
add sp, 0x10
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_08002F4C: .4byte gUnknown_3000AE2
_08002F50: .4byte gUnknown_3000AE4
_08002F54: .4byte gUnknown_3000AE6
_08002F58: .4byte gUnknown_3000A40
thumb_func_end sub_8002EA8
thumb_func_start SaveTextColors
SaveTextColors: @ 8002F5C
ldr r3, _08002F70 @ =gUnknown_3000AE2
ldrh r3, [r3]
strb r3, [r1]
ldr r1, _08002F74 @ =gUnknown_3000AE4
ldrh r1, [r1]
strb r1, [r0]
ldr r0, _08002F78 @ =gUnknown_3000AE6
ldrh r0, [r0]
strb r0, [r2]
bx lr
.align 2, 0
_08002F70: .4byte gUnknown_3000AE2
_08002F74: .4byte gUnknown_3000AE4
_08002F78: .4byte gUnknown_3000AE6
thumb_func_end SaveTextColors
thumb_func_start RestoreTextColors
RestoreTextColors: @ 8002F7C
push {lr}
ldrb r0, [r0]
ldrb r1, [r1]
ldrb r2, [r2]
bl sub_8002EA8
pop {r0}
bx r0
thumb_func_end RestoreTextColors
thumb_func_start sub_8002F8C
sub_8002F8C: @ 8002F8C
push {r4,r5,lr}
adds r2, r0, 0
movs r3, 0
ldr r5, _08002FA4 @ =gUnknown_3000A40
ldr r4, _08002FA8 @ =gUnknown_81EA044
_08002F96:
lsls r0, r3, 31
cmp r0, 0
beq _08002FAC
ldrb r0, [r2]
adds r2, 0x2
b _08002FB0
.align 2, 0
_08002FA4: .4byte gUnknown_3000A40
_08002FA8: .4byte gUnknown_81EA044
_08002FAC:
ldrh r0, [r2]
lsrs r0, 8
_08002FB0:
adds r0, r4
ldrb r0, [r0]
lsls r0, 1
adds r0, r5
ldrh r0, [r0]
strh r0, [r1]
adds r1, 0x2
adds r3, 0x1
cmp r3, 0xF
ble _08002F96
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_8002F8C
thumb_func_start sub_8002FCC
sub_8002FCC: @ 8002FCC
push {lr}
lsls r0, 24
lsrs r0, 24
adds r1, r0, 0
cmp r0, 0x1
beq _08003000
cmp r0, 0x1
bgt _08002FE2
cmp r0, 0
beq _08002FE8
b _0800300C
_08002FE2:
cmp r1, 0x2
beq _08002FF4
b _0800300C
_08002FE8:
ldr r0, _08002FF0 @ =gUnknown_3000AE4
ldrb r0, [r0]
b _0800300E
.align 2, 0
_08002FF0: .4byte gUnknown_3000AE4
_08002FF4:
ldr r0, _08002FFC @ =gUnknown_3000AE2
ldrb r0, [r0]
b _0800300E
.align 2, 0
_08002FFC: .4byte gUnknown_3000AE2
_08003000:
ldr r0, _08003008 @ =gUnknown_3000AE6
ldrb r0, [r0]
b _0800300E
.align 2, 0
_08003008: .4byte gUnknown_3000AE6
_0800300C:
movs r0, 0
_0800300E:
pop {r1}
bx r1
thumb_func_end sub_8002FCC
thumb_func_start sub_8003014
sub_8003014: @ 8003014
thumb_func_start CopyGlyphToWindow
CopyGlyphToWindow: @ 8003014
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -567,7 +14,7 @@ sub_8003014: @ 8003014
push {r5-r7}
sub sp, 0x6C
adds r6, r0, 0
ldr r0, _08003084 @ =gUnknown_20204B4
ldr r0, _08003084 @ =gWindows
mov r9, r0
ldrb r1, [r6, 0x4]
lsls r0, r1, 1
@@ -579,7 +26,7 @@ sub_8003014: @ 8003014
lsls r0, 3
ldrb r1, [r6, 0x8]
subs r1, r0, r1
ldr r3, _08003088 @ =gUnknown_3003DA0
ldr r3, _08003088 @ =gGlyphBuffer1
mov r8, r3
mov r0, r8
adds r0, 0x80
@@ -620,8 +67,8 @@ _08003074:
beq _0800309A
b _080035FC
.align 2, 0
_08003084: .4byte gUnknown_20204B4
_08003088: .4byte gUnknown_3003DA0
_08003084: .4byte gWindows
_08003088: .4byte gGlyphBuffer1
_0800308C:
cmp r1, 0x2
bne _08003092
@@ -651,7 +98,7 @@ _080030A6:
str r1, [sp, 0x24]
cmp r5, r7
bge _08003124
ldr r2, _08003130 @ =gUnknown_20204B4
ldr r2, _08003130 @ =gWindows
mov r12, r2
asrs r3, r0, 3
mov r9, r3
@@ -713,7 +160,7 @@ _08003124:
blt _080030A6
b _080035FC
.align 2, 0
_08003130: .4byte gUnknown_20204B4
_08003130: .4byte gWindows
_08003134:
movs r2, 0
adds r1, r5, 0
@@ -739,7 +186,7 @@ _08003158:
lsls r3, r0, 1
adds r3, r0
lsls r3, 2
ldr r1, _08003260 @ =gUnknown_20204B4
ldr r1, _08003260 @ =gWindows
adds r1, 0x8
adds r1, r3, r1
asrs r2, r4, 1
@@ -750,7 +197,7 @@ _08003158:
asrs r0, r4, 3
lsls r0, 5
adds r1, r0
ldr r0, _08003260 @ =gUnknown_20204B4
ldr r0, _08003260 @ =gWindows
adds r3, r0
ldrb r0, [r3, 0x3]
mov r2, r12
@@ -788,7 +235,7 @@ _080031AC:
cmp r2, r10
blt _0800313C
_080031BE:
ldr r3, _08003264 @ =gUnknown_3003DC0
ldr r3, _08003264 @ =gGlyphBuffer2
movs r2, 0
ldrb r1, [r6, 0x9]
cmp r2, r10
@@ -813,7 +260,7 @@ _080031D0:
ldr r3, [sp, 0x4]
cmp r5, r3
bge _08003254
ldr r7, _08003260 @ =gUnknown_20204B4
ldr r7, _08003260 @ =gWindows
asrs r0, r1, 3
mov r9, r0
lsls r0, r1, 29
@@ -875,8 +322,8 @@ _08003254:
blt _080031D0
b _080035FC
.align 2, 0
_08003260: .4byte gUnknown_20204B4
_08003264: .4byte gUnknown_3003DC0
_08003260: .4byte gWindows
_08003264: .4byte gGlyphBuffer2
_08003268:
adds r1, r3, 0
movs r2, 0
@@ -896,7 +343,7 @@ _08003274:
str r1, [sp, 0x5C]
cmp r5, r7
bge _080032F2
ldr r2, _08003398 @ =gUnknown_20204B4
ldr r2, _08003398 @ =gWindows
mov r12, r2
asrs r3, r0, 3
mov r9, r3
@@ -956,7 +403,7 @@ _080032F2:
ldr r0, [sp, 0x5C]
cmp r2, 0x7
ble _08003274
ldr r2, _0800339C @ =gUnknown_3003DE0
ldr r2, _0800339C @ =gGlyphBuffer3
movs r1, 0
ldrb r0, [r6, 0x9]
adds r0, 0x8
@@ -976,7 +423,7 @@ _0800330C:
str r1, [sp, 0x18]
cmp r5, r7
bge _0800338A
ldr r2, _08003398 @ =gUnknown_20204B4
ldr r2, _08003398 @ =gWindows
mov r12, r2
asrs r3, r0, 3
mov r9, r3
@@ -1039,8 +486,8 @@ _0800338A:
blt _0800330C
b _080035FC
.align 2, 0
_08003398: .4byte gUnknown_20204B4
_0800339C: .4byte gUnknown_3003DE0
_08003398: .4byte gWindows
_0800339C: .4byte gGlyphBuffer3
_080033A0:
mov r2, r8
movs r3, 0
@@ -1069,7 +516,7 @@ _080033CA:
lsls r3, r0, 1
adds r3, r0
lsls r3, 2
ldr r1, _080034D0 @ =gUnknown_20204B4
ldr r1, _080034D0 @ =gWindows
adds r1, 0x8
adds r1, r3, r1
asrs r2, r4, 1
@@ -1080,7 +527,7 @@ _080033CA:
asrs r0, r4, 3
lsls r0, 5
adds r1, r0
ldr r0, _080034D0 @ =gUnknown_20204B4
ldr r0, _080034D0 @ =gWindows
adds r3, r0
ldrb r0, [r3, 0x3]
mov r2, r8
@@ -1116,7 +563,7 @@ _0800341C:
mov r1, r12
cmp r3, 0x7
ble _080033B0
ldr r3, _080034D4 @ =gUnknown_3003DC0
ldr r3, _080034D4 @ =gGlyphBuffer2
movs r2, 0
ldrb r1, [r6, 0x9]
ldr r0, [sp, 0x64]
@@ -1135,7 +582,7 @@ _08003438:
str r2, [sp, 0x40]
cmp r5, r12
bge _080034B8
ldr r7, _080034D0 @ =gUnknown_20204B4
ldr r7, _080034D0 @ =gWindows
asrs r3, r1, 3
mov r9, r3
lsls r0, r1, 29
@@ -1194,16 +641,16 @@ _080034B8:
ldr r1, [sp, 0x40]
cmp r2, 0x7
ble _08003438
ldr r3, _080034D8 @ =gUnknown_3003DE0
ldr r3, _080034D8 @ =gGlyphBuffer3
movs r2, 0
ldrb r0, [r6, 0x9]
adds r1, r0, 0
adds r1, 0x8
b _08003556
.align 2, 0
_080034D0: .4byte gUnknown_20204B4
_080034D4: .4byte gUnknown_3003DC0
_080034D8: .4byte gUnknown_3003DE0
_080034D0: .4byte gWindows
_080034D4: .4byte gGlyphBuffer2
_080034D8: .4byte gGlyphBuffer3
_080034DC:
ldm r3!, {r0}
mov r9, r0
@@ -1223,7 +670,7 @@ _080034F6:
lsls r3, r0, 1
adds r3, r0
lsls r3, 2
ldr r1, _0800360C @ =gUnknown_20204B4
ldr r1, _0800360C @ =gWindows
adds r1, 0x8
adds r1, r3, r1
asrs r2, r4, 1
@@ -1234,7 +681,7 @@ _080034F6:
asrs r0, r4, 3
lsls r0, 5
adds r1, r0
ldr r0, _0800360C @ =gUnknown_20204B4
ldr r0, _0800360C @ =gWindows
adds r3, r0
ldrb r0, [r3, 0x3]
mov r2, r8
@@ -1272,7 +719,7 @@ _08003556:
ldr r0, [sp, 0x68]
cmp r2, r0
blt _080034DC
ldr r3, _08003610 @ =gUnknown_3003E00
ldr r3, _08003610 @ =gGlyphBuffer4
movs r2, 0
ldrb r0, [r6, 0x9]
adds r1, r0, 0
@@ -1296,7 +743,7 @@ _08003570:
str r2, [sp, 0xC]
cmp r5, r10
bge _080035F0
ldr r7, _0800360C @ =gUnknown_20204B4
ldr r7, _0800360C @ =gWindows
asrs r3, r1, 3
mov r9, r3
lsls r0, r1, 29
@@ -1366,9 +813,9 @@ _080035FC:
pop {r0}
bx r0
.align 2, 0
_0800360C: .4byte gUnknown_20204B4
_08003610: .4byte gUnknown_3003E00
thumb_func_end sub_8003014
_0800360C: .4byte gWindows
_08003610: .4byte gGlyphBuffer4
thumb_func_end CopyGlyphToWindow
thumb_func_start sub_8003614
sub_8003614: @ 8003614
@@ -1391,7 +838,7 @@ sub_8003614: @ 8003614
lsls r0, 16
lsrs r4, r0, 16
subs r1, r3, r1
ldr r5, _08003688 @ =gUnknown_3003DA0
ldr r5, _08003688 @ =gGlyphBuffer1
adds r0, r5, 0
adds r0, 0x80
ldrb r7, [r0]
@@ -1434,7 +881,7 @@ _08003678:
beq _0800369A
b _08003B00
.align 2, 0
_08003688: .4byte gUnknown_3003DA0
_08003688: .4byte gGlyphBuffer1
_0800368C:
cmp r1, 0x2
bne _08003692
@@ -1577,7 +1024,7 @@ _0800377A:
cmp r4, r1
blt _08003724
_0800378E:
ldr r1, _08003818 @ =gUnknown_3003DC0
ldr r1, _08003818 @ =gGlyphBuffer2
movs r0, 0
ldr r2, [sp, 0x8]
ldr r3, [sp, 0xC]
@@ -1651,7 +1098,7 @@ _08003808:
blt _080037A2
b _08003B00
.align 2, 0
_08003818: .4byte gUnknown_3003DC0
_08003818: .4byte gGlyphBuffer2
_0800381C:
adds r0, r2, 0
movs r1, 0
@@ -1720,7 +1167,7 @@ _08003890:
mov r2, r10
cmp r1, 0x7
ble _0800382E
ldr r2, _08003918 @ =gUnknown_3003DE0
ldr r2, _08003918 @ =gGlyphBuffer3
movs r0, 0
ldr r1, [sp, 0x1C]
ldr r3, [sp, 0x20]
@@ -1788,7 +1235,7 @@ _0800390A:
blt _080038A8
b _08003B00
.align 2, 0
_08003918: .4byte gUnknown_3003DE0
_08003918: .4byte gGlyphBuffer3
_0800391C:
movs r2, 0
ldr r4, [sp, 0x8]
@@ -1857,7 +1304,7 @@ _0800398A:
mov r4, r9
cmp r2, 0x7
ble _08003936
ldr r1, _08003B10 @ =gUnknown_3003DC0
ldr r1, _08003B10 @ =gGlyphBuffer2
movs r0, 0
ldr r2, [sp, 0x8]
ldr r3, [sp, 0x18]
@@ -1919,7 +1366,7 @@ _08003A06:
mov r2, r10
cmp r0, 0x7
ble _080039A6
ldr r6, _08003B14 @ =gUnknown_3003DE0
ldr r6, _08003B14 @ =gGlyphBuffer3
movs r4, 0
ldr r2, [sp, 0x1C]
ldr r3, [sp, 0x20]
@@ -1981,7 +1428,7 @@ _08003A70:
cmp r4, r1
blt _08003A1C
_08003A84:
ldr r2, _08003B18 @ =gUnknown_3003E00
ldr r2, _08003B18 @ =gGlyphBuffer4
movs r0, 0
ldr r1, [sp, 0x1C]
ldr r3, [sp, 0x20]
@@ -2057,14 +1504,14 @@ _08003B00:
pop {r0}
bx r0
.align 2, 0
_08003B10: .4byte gUnknown_3003DC0
_08003B14: .4byte gUnknown_3003DE0
_08003B18: .4byte gUnknown_3003E00
_08003B10: .4byte gGlyphBuffer2
_08003B14: .4byte gGlyphBuffer3
_08003B18: .4byte gGlyphBuffer4
thumb_func_end sub_8003614
thumb_func_start nullsub_5
nullsub_5: @ 8003B1C
thumb_func_start ClearTextSpan
ClearTextSpan: @ 8003B1C
bx lr
thumb_func_end nullsub_5
thumb_func_end ClearTextSpan
.align 2, 0 @ Don't pad with nop.
+1 -1
View File
@@ -2969,7 +2969,7 @@ _081330D4: .4byte gUnknown_841C587
_081330D8: .4byte gUnknown_3005090
_081330DC: .4byte sub_8132F60
_081330E0:
bl sub_8002DE8
bl RunTextPrinters
movs r0, 0x6
bl IsTextPrinterActive
lsls r0, 16
+5 -5
View File
@@ -1030,7 +1030,7 @@ _0804CED0:
ldr r0, _0804CF10 @ =sub_804D638
bl SetMainCallback2
_0804CEE6:
bl sub_8002DE8
bl RunTextPrinters
bl RunTasks
bl AnimateSprites
bl BuildOamBuffer
@@ -7758,7 +7758,7 @@ _0805046C:
bl SetMainCallback2
_08050472:
bl RunTasks
bl sub_8002DE8
bl RunTextPrinters
bl AnimateSprites
bl BuildOamBuffer
bl UpdatePaletteFade
@@ -8086,7 +8086,7 @@ _08050778:
bl SetMainCallback2
_0805077E:
bl RunTasks
bl sub_8002DE8
bl RunTextPrinters
bl AnimateSprites
bl BuildOamBuffer
bl UpdatePaletteFade
@@ -8309,7 +8309,7 @@ sub_8050948: @ 8050948
push {lr}
bl sub_8050F14
bl RunTasks
bl sub_8002DE8
bl RunTextPrinters
bl AnimateSprites
bl BuildOamBuffer
bl UpdatePaletteFade
@@ -14174,7 +14174,7 @@ _08053DE6:
bl sub_80508F4
bl sub_805383C
bl RunTasks
bl sub_8002DE8
bl RunTextPrinters
bl AnimateSprites
bl BuildOamBuffer
bl UpdatePaletteFade
+1 -1
View File
@@ -466,7 +466,7 @@ sub_814BA6C: @ 814BA6C
sub_814BA80: @ 814BA80
push {lr}
bl RunTasks
bl sub_8002DE8
bl RunTextPrinters
bl AnimateSprites
bl BuildOamBuffer
pop {r0}
+65 -65
View File
@@ -41,7 +41,7 @@ _08003B48:
ldr r0, _08003BC0 @ =gUnknown_81EA144
ldr r2, [r0]
ldr r3, [r0, 0x4]
ldr r1, _08003BC4 @ =gUnknown_20204B4
ldr r1, _08003BC4 @ =gWindows
movs r0, 0
movs r4, 0x1F
mov r8, r4
@@ -94,7 +94,7 @@ _08003BB4:
_08003BB8: .4byte gUnknown_3003E40
_08003BBC: .4byte nullsub_6
_08003BC0: .4byte gUnknown_81EA144
_08003BC4: .4byte gUnknown_20204B4
_08003BC4: .4byte gWindows
_08003BC8: .4byte gUnneededFireRedVariable
_08003BCC:
ldr r0, _08003C04 @ =gUnknown_3003E40
@@ -173,7 +173,7 @@ _08003C2E:
_08003C68: .4byte gUnknown_3003E40
_08003C6C: .4byte nullsub_6
_08003C70:
ldr r1, _08003CD8 @ =gUnknown_20204B4
ldr r1, _08003CD8 @ =gWindows
adds r0, r1, 0
adds r0, 0x8
ldr r2, [sp, 0x4]
@@ -228,7 +228,7 @@ _08003CC8:
pop {r1}
bx r1
.align 2, 0
_08003CD8: .4byte gUnknown_20204B4
_08003CD8: .4byte gWindows
_08003CDC: .4byte gUnneededFireRedVariable
_08003CE0: .4byte gUnknown_3003E30
thumb_func_end InitWindows
@@ -243,7 +243,7 @@ AddWindow: @ 8003CE4
sub sp, 0x4
mov r8, r0
movs r6, 0
ldr r1, _08003DD4 @ =gUnknown_20204B4
ldr r1, _08003DD4 @ =gWindows
ldrb r0, [r1]
cmp r0, 0xFF
beq _08003D14
@@ -355,13 +355,13 @@ _08003DCE:
movs r0, 0xFF
b _08003E24
.align 2, 0
_08003DD4: .4byte gUnknown_20204B4
_08003DD4: .4byte gWindows
_08003DD8: .4byte gUnneededFireRedVariable
_08003DDC: .4byte gUnknown_3003E40
_08003DE0: .4byte 0x0000ffff
_08003DE4: .4byte nullsub_6
_08003DE8:
ldr r2, _08003E34 @ =gUnknown_20204B4
ldr r2, _08003E34 @ =gWindows
lsls r1, r6, 1
adds r1, r6
lsls r1, 2
@@ -401,7 +401,7 @@ _08003E24:
pop {r1}
bx r1
.align 2, 0
_08003E34: .4byte gUnknown_20204B4
_08003E34: .4byte gWindows
_08003E38: .4byte gUnneededFireRedVariable
thumb_func_end AddWindow
@@ -410,7 +410,7 @@ RemoveWindow: @ 8003E3C
push {r4-r7,lr}
lsls r0, 24
lsrs r6, r0, 24
ldr r1, _08003EB8 @ =gUnknown_20204B4
ldr r1, _08003EB8 @ =gWindows
lsls r0, r6, 1
adds r0, r6
lsls r0, 2
@@ -451,7 +451,7 @@ _08003E68:
bl Free
str r5, [r4]
_08003E96:
ldr r1, _08003EB8 @ =gUnknown_20204B4
ldr r1, _08003EB8 @ =gWindows
lsls r0, r6, 1
adds r0, r6
lsls r0, 2
@@ -468,7 +468,7 @@ _08003EB0:
pop {r0}
bx r0
.align 2, 0
_08003EB8: .4byte gUnknown_20204B4
_08003EB8: .4byte gWindows
_08003EBC: .4byte gUnneededFireRedVariable
_08003EC0: .4byte gUnknown_81EA144
_08003EC4: .4byte gUnknown_3003E40
@@ -496,7 +496,7 @@ _08003EE8:
subs r5, 0x1
cmp r5, 0
bge _08003ED2
ldr r0, _08003F1C @ =gUnknown_20204B4
ldr r0, _08003F1C @ =gWindows
adds r4, r0, 0
adds r4, 0x8
movs r6, 0
@@ -518,7 +518,7 @@ _08003F06:
.align 2, 0
_08003F14: .4byte gUnknown_3003E40
_08003F18: .4byte nullsub_6
_08003F1C: .4byte gUnknown_20204B4
_08003F1C: .4byte gWindows
thumb_func_end FreeAllWindowBuffers
thumb_func_start CopyWindowToVram
@@ -530,7 +530,7 @@ CopyWindowToVram: @ 8003F20
lsls r1, 24
lsrs r3, r1, 24
adds r5, r3, 0
ldr r2, _08003F58 @ =gUnknown_20204B4
ldr r2, _08003F58 @ =gWindows
lsls r1, r0, 1
adds r1, r0
lsls r1, 2
@@ -552,7 +552,7 @@ CopyWindowToVram: @ 8003F20
beq _08003F62
b _08003F96
.align 2, 0
_08003F58: .4byte gUnknown_20204B4
_08003F58: .4byte gWindows
_08003F5C:
cmp r5, 0x3
beq _08003F7E
@@ -595,7 +595,7 @@ PutWindowTilemap: @ 8003FA0
sub sp, 0x1C
lsls r0, 24
lsrs r0, 24
ldr r2, _08003FFC @ =gUnknown_20204B4
ldr r2, _08003FFC @ =gWindows
lsls r1, r0, 1
adds r1, r0
lsls r1, 2
@@ -636,7 +636,7 @@ PutWindowTilemap: @ 8003FA0
pop {r0}
bx r0
.align 2, 0
_08003FFC: .4byte gUnknown_20204B4
_08003FFC: .4byte gWindows
thumb_func_end PutWindowTilemap
thumb_func_start PutWindowRectTilemapOverridePalette
@@ -666,7 +666,7 @@ PutWindowRectTilemapOverridePalette: @ 8004000
lsls r5, 24
lsrs r5, 24
str r5, [sp, 0x20]
ldr r2, _080040B4 @ =gUnknown_20204B4
ldr r2, _080040B4 @ =gWindows
lsls r1, r0, 1
adds r1, r0
lsls r1, 2
@@ -731,7 +731,7 @@ _080040A2:
pop {r0}
bx r0
.align 2, 0
_080040B4: .4byte gUnknown_20204B4
_080040B4: .4byte gWindows
thumb_func_end PutWindowRectTilemapOverridePalette
thumb_func_start ClearWindowTilemap
@@ -740,7 +740,7 @@ ClearWindowTilemap: @ 80040B8
sub sp, 0x18
lsls r0, 24
lsrs r0, 24
ldr r2, _08004100 @ =gUnknown_20204B4
ldr r2, _08004100 @ =gWindows
lsls r1, r0, 1
adds r1, r0
lsls r1, 2
@@ -771,7 +771,7 @@ ClearWindowTilemap: @ 80040B8
pop {r0}
bx r0
.align 2, 0
_08004100: .4byte gUnknown_20204B4
_08004100: .4byte gWindows
_08004104: .4byte gUnknown_3003E30
thumb_func_end ClearWindowTilemap
@@ -798,7 +798,7 @@ PutWindowRectTilemap: @ 8004108
lsls r4, 24
lsrs r4, 24
mov r8, r4
ldr r2, _080041B4 @ =gUnknown_20204B4
ldr r2, _080041B4 @ =gWindows
lsls r1, r0, 1
adds r1, r0
lsls r1, 2
@@ -863,7 +863,7 @@ _080041A2:
pop {r0}
bx r0
.align 2, 0
_080041B4: .4byte gUnknown_20204B4
_080041B4: .4byte gWindows
thumb_func_end PutWindowRectTilemap
thumb_func_start BlitBitmapToWindow
@@ -945,7 +945,7 @@ BlitBitmapRectToWindow: @ 80041F0
lsrs r4, 16
orrs r4, r5
str r4, [sp, 0x18]
ldr r1, _080042AC @ =gUnknown_20204B4
ldr r1, _080042AC @ =gWindows
lsls r5, r0, 1
adds r5, r0
lsls r5, 2
@@ -990,7 +990,7 @@ BlitBitmapRectToWindow: @ 80041F0
.align 2, 0
_080042A4: .4byte 0xffff0000
_080042A8: .4byte 0x0000ffff
_080042AC: .4byte gUnknown_20204B4
_080042AC: .4byte gWindows
thumb_func_end BlitBitmapRectToWindow
thumb_func_start BlitBitmapRectToWindowWithColorKey
@@ -1044,7 +1044,7 @@ BlitBitmapRectToWindowWithColorKey: @ 80042B0
lsrs r4, 16
orrs r4, r5
str r4, [sp, 0x18]
ldr r1, _08004370 @ =gUnknown_20204B4
ldr r1, _08004370 @ =gWindows
lsls r5, r0, 1
adds r5, r0
lsls r5, 2
@@ -1089,7 +1089,7 @@ BlitBitmapRectToWindowWithColorKey: @ 80042B0
bx r0
.align 2, 0
_0800436C: .4byte 0x0000ffff
_08004370: .4byte gUnknown_20204B4
_08004370: .4byte gWindows
_08004374: .4byte 0xffff0000
thumb_func_end BlitBitmapRectToWindowWithColorKey
@@ -1120,7 +1120,7 @@ FillWindowPixelRect: @ 8004378
lsls r4, 16
lsrs r4, 16
mov r8, r4
ldr r5, _080043F8 @ =gUnknown_20204B4
ldr r5, _080043F8 @ =gWindows
lsls r4, r0, 1
adds r4, r0
lsls r4, 2
@@ -1158,7 +1158,7 @@ FillWindowPixelRect: @ 8004378
pop {r0}
bx r0
.align 2, 0
_080043F8: .4byte gUnknown_20204B4
_080043F8: .4byte gWindows
_080043FC: .4byte 0xffff0000
_08004400: .4byte 0x0000ffff
thumb_func_end FillWindowPixelRect
@@ -1174,7 +1174,7 @@ CopyToWindowPixelBuffer: @ 8004404
lsrs r2, r3, 16
cmp r5, 0
beq _08004438
ldr r1, _08004434 @ =gUnknown_20204B4
ldr r1, _08004434 @ =gWindows
lsls r0, r4, 1
adds r0, r4
lsls r0, 2
@@ -1188,9 +1188,9 @@ CopyToWindowPixelBuffer: @ 8004404
bl CpuSet
b _08004450
.align 2, 0
_08004434: .4byte gUnknown_20204B4
_08004434: .4byte gWindows
_08004438:
ldr r1, _08004458 @ =gUnknown_20204B4
ldr r1, _08004458 @ =gWindows
lsls r0, r4, 1
adds r0, r4
lsls r0, 2
@@ -1206,7 +1206,7 @@ _08004450:
pop {r0}
bx r0
.align 2, 0
_08004458: .4byte gUnknown_20204B4
_08004458: .4byte gWindows
thumb_func_end CopyToWindowPixelBuffer
thumb_func_start FillWindowPixelBuffer
@@ -1217,7 +1217,7 @@ FillWindowPixelBuffer: @ 800445C
lsrs r0, 24
lsls r1, 24
lsrs r1, 24
ldr r5, _080044A4 @ =gUnknown_20204B4
ldr r5, _080044A4 @ =gWindows
lsls r4, r0, 1
adds r4, r0
lsls r4, 2
@@ -1246,7 +1246,7 @@ FillWindowPixelBuffer: @ 800445C
pop {r0}
bx r0
.align 2, 0
_080044A4: .4byte gUnknown_20204B4
_080044A4: .4byte gWindows
thumb_func_end FillWindowPixelBuffer
thumb_func_start ScrollWindow
@@ -1267,7 +1267,7 @@ ScrollWindow: @ 80044A8
str r2, [sp]
lsls r3, 24
lsrs r3, 24
ldr r2, _08004544 @ =gUnknown_20204B4
ldr r2, _08004544 @ =gWindows
lsls r1, r0, 1
adds r1, r0
lsls r1, 2
@@ -1334,7 +1334,7 @@ _0800451C:
str r0, [r1]
b _0800454C
.align 2, 0
_08004544: .4byte gUnknown_20204B4
_08004544: .4byte gWindows
_08004548:
mov r2, r10
str r7, [r2]
@@ -1784,7 +1784,7 @@ CallWindowFunction: @ 800486C
mov r8, r1
lsls r0, 24
lsrs r0, 24
ldr r2, _080048B8 @ =gUnknown_20204B4
ldr r2, _080048B8 @ =gWindows
lsls r1, r0, 1
adds r1, r0
lsls r1, 2
@@ -1814,7 +1814,7 @@ CallWindowFunction: @ 800486C
pop {r0}
bx r0
.align 2, 0
_080048B8: .4byte gUnknown_20204B4
_080048B8: .4byte gWindows
thumb_func_end CallWindowFunction
thumb_func_start sub_80048BC
@@ -1844,7 +1844,7 @@ _080048D8:
.4byte _08004934
.4byte _08004948
_080048F8:
ldr r1, _08004908 @ =gUnknown_20204B4
ldr r1, _08004908 @ =gWindows
lsls r0, r3, 1
adds r0, r3
lsls r0, 2
@@ -1853,9 +1853,9 @@ _080048F8:
movs r0, 0
b _0800494A
.align 2, 0
_08004908: .4byte gUnknown_20204B4
_08004908: .4byte gWindows
_0800490C:
ldr r1, _0800491C @ =gUnknown_20204B4
ldr r1, _0800491C @ =gWindows
lsls r0, r3, 1
adds r0, r3
lsls r0, 2
@@ -1864,9 +1864,9 @@ _0800490C:
movs r0, 0
b _0800494A
.align 2, 0
_0800491C: .4byte gUnknown_20204B4
_0800491C: .4byte gWindows
_08004920:
ldr r1, _08004930 @ =gUnknown_20204B4
ldr r1, _08004930 @ =gWindows
lsls r0, r3, 1
adds r0, r3
lsls r0, 2
@@ -1875,9 +1875,9 @@ _08004920:
movs r0, 0
b _0800494A
.align 2, 0
_08004930: .4byte gUnknown_20204B4
_08004930: .4byte gWindows
_08004934:
ldr r1, _08004944 @ =gUnknown_20204B4
ldr r1, _08004944 @ =gWindows
lsls r0, r3, 1
adds r0, r3
lsls r0, 2
@@ -1886,7 +1886,7 @@ _08004934:
movs r0, 0
b _0800494A
.align 2, 0
_08004944: .4byte gUnknown_20204B4
_08004944: .4byte gWindows
_08004948:
movs r0, 0x1
_0800494A:
@@ -1921,7 +1921,7 @@ _0800496C:
.4byte _08004A04
.4byte _08004A18
_0800498C:
ldr r0, _0800499C @ =gUnknown_20204B4
ldr r0, _0800499C @ =gWindows
lsls r1, r2, 1
adds r1, r2
lsls r1, 2
@@ -1929,9 +1929,9 @@ _0800498C:
ldrb r0, [r1]
b _08004A2E
.align 2, 0
_0800499C: .4byte gUnknown_20204B4
_0800499C: .4byte gWindows
_080049A0:
ldr r0, _080049B0 @ =gUnknown_20204B4
ldr r0, _080049B0 @ =gWindows
lsls r1, r2, 1
adds r1, r2
lsls r1, 2
@@ -1939,9 +1939,9 @@ _080049A0:
ldrb r0, [r1, 0x1]
b _08004A2E
.align 2, 0
_080049B0: .4byte gUnknown_20204B4
_080049B0: .4byte gWindows
_080049B4:
ldr r0, _080049C4 @ =gUnknown_20204B4
ldr r0, _080049C4 @ =gWindows
lsls r1, r2, 1
adds r1, r2
lsls r1, 2
@@ -1949,9 +1949,9 @@ _080049B4:
ldrb r0, [r1, 0x2]
b _08004A2E
.align 2, 0
_080049C4: .4byte gUnknown_20204B4
_080049C4: .4byte gWindows
_080049C8:
ldr r0, _080049D8 @ =gUnknown_20204B4
ldr r0, _080049D8 @ =gWindows
lsls r1, r2, 1
adds r1, r2
lsls r1, 2
@@ -1959,9 +1959,9 @@ _080049C8:
ldrb r0, [r1, 0x3]
b _08004A2E
.align 2, 0
_080049D8: .4byte gUnknown_20204B4
_080049D8: .4byte gWindows
_080049DC:
ldr r0, _080049EC @ =gUnknown_20204B4
ldr r0, _080049EC @ =gWindows
lsls r1, r2, 1
adds r1, r2
lsls r1, 2
@@ -1969,9 +1969,9 @@ _080049DC:
ldrb r0, [r1, 0x4]
b _08004A2E
.align 2, 0
_080049EC: .4byte gUnknown_20204B4
_080049EC: .4byte gWindows
_080049F0:
ldr r0, _08004A00 @ =gUnknown_20204B4
ldr r0, _08004A00 @ =gWindows
lsls r1, r2, 1
adds r1, r2
lsls r1, 2
@@ -1979,9 +1979,9 @@ _080049F0:
ldrb r0, [r1, 0x5]
b _08004A2E
.align 2, 0
_08004A00: .4byte gUnknown_20204B4
_08004A00: .4byte gWindows
_08004A04:
ldr r0, _08004A14 @ =gUnknown_20204B4
ldr r0, _08004A14 @ =gWindows
lsls r1, r2, 1
adds r1, r2
lsls r1, 2
@@ -1989,9 +1989,9 @@ _08004A04:
ldrh r0, [r1, 0x6]
b _08004A2E
.align 2, 0
_08004A14: .4byte gUnknown_20204B4
_08004A14: .4byte gWindows
_08004A18:
ldr r0, _08004A28 @ =gUnknown_20204B4
ldr r0, _08004A28 @ =gWindows
lsls r1, r2, 1
adds r1, r2
lsls r1, 2
@@ -2000,7 +2000,7 @@ _08004A18:
ldr r0, [r1]
b _08004A2E
.align 2, 0
_08004A28: .4byte gUnknown_20204B4
_08004A28: .4byte gWindows
_08004A2C:
movs r0, 0
_08004A2E:
@@ -2014,7 +2014,7 @@ GetNumActiveWindowsOnBg: @ 8004A34
lsls r0, 24
lsrs r4, r0, 24
movs r3, 0
ldr r2, _08004A5C @ =gUnknown_20204B4
ldr r2, _08004A5C @ =gWindows
movs r1, 0x1F
_08004A40:
ldrb r0, [r2]
@@ -2033,7 +2033,7 @@ _08004A4C:
pop {r1}
bx r1
.align 2, 0
_08004A5C: .4byte gUnknown_20204B4
_08004A5C: .4byte gWindows
thumb_func_end GetNumActiveWindowsOnBg
.align 2, 0 @ Don't pad with nop.
+14 -14
View File
@@ -19,7 +19,7 @@ AddWindow8Bit: @ 8005038
push {r5-r7}
mov r9, r0
movs r6, 0
ldr r1, _08005100 @ =gUnknown_20204B4
ldr r1, _08005100 @ =gWindows
ldrb r0, [r1]
cmp r0, 0xFF
beq _08005066
@@ -112,12 +112,12 @@ _080050FA:
movs r0, 0xFF
b _0800512E
.align 2, 0
_08005100: .4byte gUnknown_20204B4
_08005100: .4byte gWindows
_08005104: .4byte gUnknown_3003E40
_08005108: .4byte 0x0000ffff
_0800510C: .4byte nullsub_7
_08005110:
ldr r1, _0800513C @ =gUnknown_20204B4
ldr r1, _0800513C @ =gWindows
lsls r2, r6, 1
adds r2, r6
lsls r2, 2
@@ -141,7 +141,7 @@ _0800512E:
pop {r1}
bx r1
.align 2, 0
_0800513C: .4byte gUnknown_20204B4
_0800513C: .4byte gWindows
thumb_func_end AddWindow8Bit
thumb_func_start FillWindowPixelBuffer8Bit
@@ -151,7 +151,7 @@ FillWindowPixelBuffer8Bit: @ 8005140
lsrs r0, 24
lsls r1, 24
lsrs r5, r1, 24
ldr r6, _0800517C @ =gUnknown_20204B4
ldr r6, _0800517C @ =gWindows
lsls r1, r0, 1
adds r1, r0
lsls r4, r1, 2
@@ -179,7 +179,7 @@ _08005176:
pop {r0}
bx r0
.align 2, 0
_0800517C: .4byte gUnknown_20204B4
_0800517C: .4byte gWindows
thumb_func_end FillWindowPixelBuffer8Bit
thumb_func_start FillWindowPixelRect8Bit
@@ -209,7 +209,7 @@ FillWindowPixelRect8Bit: @ 8005180
lsls r4, 16
lsrs r4, 16
mov r8, r4
ldr r5, _08005200 @ =gUnknown_20204B4
ldr r5, _08005200 @ =gWindows
lsls r4, r0, 1
adds r4, r0
lsls r4, 2
@@ -247,7 +247,7 @@ FillWindowPixelRect8Bit: @ 8005180
pop {r0}
bx r0
.align 2, 0
_08005200: .4byte gUnknown_20204B4
_08005200: .4byte gWindows
_08005204: .4byte 0xffff0000
_08005208: .4byte 0x0000ffff
thumb_func_end FillWindowPixelRect8Bit
@@ -303,7 +303,7 @@ BlitBitmapRectToWindow4BitTo8Bit: @ 800520C
lsrs r4, 16
orrs r4, r5
str r4, [sp, 0x1C]
ldr r1, _080052D0 @ =gUnknown_20204B4
ldr r1, _080052D0 @ =gWindows
lsls r5, r0, 1
adds r5, r0
lsls r5, 2
@@ -350,7 +350,7 @@ BlitBitmapRectToWindow4BitTo8Bit: @ 800520C
bx r0
.align 2, 0
_080052CC: .4byte 0x0000ffff
_080052D0: .4byte gUnknown_20204B4
_080052D0: .4byte gWindows
_080052D4: .4byte 0xffff0000
thumb_func_end BlitBitmapRectToWindow4BitTo8Bit
@@ -366,7 +366,7 @@ CopyWindowToVram8Bit: @ 80052D8
lsls r1, r0, 1
adds r1, r0
lsls r1, 2
ldr r0, _08005310 @ =gUnknown_20204B4
ldr r0, _08005310 @ =gWindows
adds r3, r1, r0
str r3, [r6]
ldr r4, _08005314 @ =gUnknown_2020638
@@ -384,7 +384,7 @@ CopyWindowToVram8Bit: @ 80052D8
b _08005348
.align 2, 0
_0800530C: .4byte gUnknown_2020634
_08005310: .4byte gUnknown_20204B4
_08005310: .4byte gWindows
_08005314: .4byte gUnknown_2020638
_08005318:
cmp r5, 0x3
@@ -422,7 +422,7 @@ GetNumActiveWindowsOnBg8Bit: @ 8005350
lsls r0, 24
lsrs r4, r0, 24
movs r3, 0
ldr r2, _08005378 @ =gUnknown_20204B4
ldr r2, _08005378 @ =gWindows
movs r1, 0x1F
_0800535C:
ldrb r0, [r2]
@@ -441,7 +441,7 @@ _08005368:
pop {r1}
bx r1
.align 2, 0
_08005378: .4byte gUnknown_20204B4
_08005378: .4byte gWindows
thumb_func_end GetNumActiveWindowsOnBg8Bit
.align 2, 0 @ Don't pad with nop.
+2 -2
View File
@@ -13,7 +13,7 @@ sub_814F19C: @ 814F19C
cmp r0, 0
bne _0814F1BC
bl RunTasks
bl sub_8002DE8
bl RunTextPrinters
bl AnimateSprites
bl BuildOamBuffer
bl UpdatePaletteFade
@@ -147,7 +147,7 @@ sub_814F1E4: @ 814F1E4
ldr r0, _0814F328 @ =sub_814F19C
bl SetMainCallback2
bl RunTasks
bl sub_8002DE8
bl RunTextPrinters
bl AnimateSprites
bl BuildOamBuffer
bl UpdatePaletteFade
+5
View File
@@ -0,0 +1,5 @@
gFonts
gGlyphBuffer1
gGlyphBuffer2
gGlyphBuffer3
gGlyphBuffer4
-3
View File
@@ -1,8 +1,5 @@
.section .rodata
gUnknown_81EA044:: @ 81EA044
.incbin "baserom.gba", 0x1EA044, 0x100
gUnknown_81EA144:: @ 81EA144
.incbin "baserom.gba", 0x1EA144, 0x8
-1
View File
@@ -34,7 +34,6 @@ u8 *WriteColorChangeControlCode(u8 *dest, u32 colorType, u8 color);
bool32 IsStringJapanese(u8 *str);
bool32 sub_800924C(u8 *str, s32 n);
u8 GetExtCtrlCodeLength(u8 code);
static const u8 *SkipExtCtrlCode(const u8 *s);
s32 StringCompareWithoutExtCtrlCodes(const u8 *str1, const u8 *str2);
void ConvertInternationalString(u8 *s, u8 language);
void StripExtCtrlCodes(u8 *str);
-1
View File
@@ -190,7 +190,6 @@ extern u8 gStringVar2[];
extern u8 gStringVar3[];
extern u8 gStringVar4[];
u8 gUnknown_03002F84;
u8 gUnknown_03002F90[0x20];
u8 gUnknown_03002FB0[0x20];
u8 gUnknown_03002FD0[0x20];
+2
View File
@@ -87,6 +87,7 @@ SECTIONS {
src/dma3_manager.o(.text);
src/bg.o(.text);
src/malloc.o(.text);
src/text_printer.o(.text);
asm/text_printer.o(.text);
asm/window.o(.text);
asm/blit.o(.text);
@@ -394,6 +395,7 @@ SECTIONS {
src/main.o(.rodata);
src/bg.o(.rodata);
src/malloc.o(.rodata);
src/text_printer.o(.rodata);
data/data.o(.rodata);
src/m4a_tables.o(.rodata);
data/sound_data.o(.rodata);
+1 -1
View File
@@ -53,7 +53,7 @@ void ResetBgs(void)
SetTextModeAndHideBgs();
}
static void SetBgModeInternal(u8 bgMode)
void SetBgModeInternal(u8 bgMode)
{
sGpuBgConfigs.bgVisibilityAndMode &= 0xFFF8;
sGpuBgConfigs.bgVisibilityAndMode |= bgMode;
+216
View File
@@ -0,0 +1,216 @@
#include "global.h"
#include "main.h"
#include "palette.h"
#include "string_util.h"
#include "window.h"
#include "text.h"
static EWRAM_DATA struct TextPrinter sTempTextPrinter = {0};
static EWRAM_DATA struct TextPrinter sTextPrinters[NUM_TEXT_PRINTERS] = {0};
static u16 sFontHalfRowLookupTable[0x51];
static u16 sLastTextBgColor;
static u16 sLastTextFgColor;
static u16 sLastTextShadowColor;
const struct FontInfo *gFonts;
u32 gGlyphBuffer1[8];
u32 gGlyphBuffer2[8];
u32 gGlyphBuffer3[8];
u32 gGlyphBuffer4[8];
static const u8 sFontHalfRowOffsets[] =
{
0x00, 0x01, 0x02, 0x00, 0x03, 0x04, 0x05, 0x03, 0x06, 0x07, 0x08, 0x06, 0x00, 0x01, 0x02, 0x00,
0x09, 0x0A, 0x0B, 0x09, 0x0C, 0x0D, 0x0E, 0x0C, 0x0F, 0x10, 0x11, 0x0F, 0x09, 0x0A, 0x0B, 0x09,
0x12, 0x13, 0x14, 0x12, 0x15, 0x16, 0x17, 0x15, 0x18, 0x19, 0x1A, 0x18, 0x12, 0x13, 0x14, 0x12,
0x00, 0x01, 0x02, 0x00, 0x03, 0x04, 0x05, 0x03, 0x06, 0x07, 0x08, 0x06, 0x00, 0x01, 0x02, 0x00,
0x1B, 0x1C, 0x1D, 0x1B, 0x1E, 0x1F, 0x20, 0x1E, 0x21, 0x22, 0x23, 0x21, 0x1B, 0x1C, 0x1D, 0x1B,
0x24, 0x25, 0x26, 0x24, 0x27, 0x28, 0x29, 0x27, 0x2A, 0x2B, 0x2C, 0x2A, 0x24, 0x25, 0x26, 0x24,
0x2D, 0x2E, 0x2F, 0x2D, 0x30, 0x31, 0x32, 0x30, 0x33, 0x34, 0x35, 0x33, 0x2D, 0x2E, 0x2F, 0x2D,
0x1B, 0x1C, 0x1D, 0x1B, 0x1E, 0x1F, 0x20, 0x1E, 0x21, 0x22, 0x23, 0x21, 0x1B, 0x1C, 0x1D, 0x1B,
0x36, 0x37, 0x38, 0x36, 0x39, 0x3A, 0x3B, 0x39, 0x3C, 0x3D, 0x3E, 0x3C, 0x36, 0x37, 0x38, 0x36,
0x3F, 0x40, 0x41, 0x3F, 0x42, 0x43, 0x44, 0x42, 0x45, 0x46, 0x47, 0x45, 0x3F, 0x40, 0x41, 0x3F,
0x48, 0x49, 0x4A, 0x48, 0x4B, 0x4C, 0x4D, 0x4B, 0x4E, 0x4F, 0x50, 0x4E, 0x48, 0x49, 0x4A, 0x48,
0x36, 0x37, 0x38, 0x36, 0x39, 0x3A, 0x3B, 0x39, 0x3C, 0x3D, 0x3E, 0x3C, 0x36, 0x37, 0x38, 0x36,
0x00, 0x01, 0x02, 0x00, 0x03, 0x04, 0x05, 0x03, 0x06, 0x07, 0x08, 0x06, 0x00, 0x01, 0x02, 0x00,
0x09, 0x0A, 0x0B, 0x09, 0x0C, 0x0D, 0x0E, 0x0C, 0x0F, 0x10, 0x11, 0x0F, 0x09, 0x0A, 0x0B, 0x09,
0x12, 0x13, 0x14, 0x12, 0x15, 0x16, 0x17, 0x15, 0x18, 0x19, 0x1A, 0x18, 0x12, 0x13, 0x14, 0x12,
0x00, 0x01, 0x02, 0x00, 0x03, 0x04, 0x05, 0x03, 0x06, 0x07, 0x08, 0x06, 0x00, 0x01, 0x02, 0x00
};
void SetFontsPointer(const struct FontInfo *fonts)
{
gFonts = fonts;
}
void DeactivateAllTextPrinters (void)
{
int printer;
for (printer = 0; printer < NUM_TEXT_PRINTERS; ++printer)
sTextPrinters[printer].sub_union.sub.active = 0;
}
u16 PrintTextOnWindow(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 speed, void (*callback)(struct TextSubPrinter *, u16))
{
struct TextSubPrinter subPrinter;
subPrinter.current_text_offset = str;
subPrinter.windowId = windowId;
subPrinter.fontId = fontId;
subPrinter.x = x;
subPrinter.y = y;
subPrinter.currentX = x;
subPrinter.currentY = y;
subPrinter.letterSpacing = gFonts[fontId].letterSpacing;
subPrinter.lineSpacing = gFonts[fontId].lineSpacing;
subPrinter.fontColor_l = gFonts[fontId].fontColor_l;
subPrinter.fontColor_h = gFonts[fontId].fontColor_h;
subPrinter.bgColor = gFonts[fontId].bgColor;
subPrinter.shadowColor = gFonts[fontId].shadowColor;
return AddTextPrinter(&subPrinter, speed, callback);
}
bool16 AddTextPrinter(struct TextSubPrinter *textSubPrinter, u8 speed, void (*callback)(struct TextSubPrinter *, u16))
{
int i;
u16 j;
if (!gFonts)
return FALSE;
sTempTextPrinter.sub_union.sub.active = 1;
sTempTextPrinter.state = 0;
sTempTextPrinter.text_speed = speed;
sTempTextPrinter.delayCounter = 0;
sTempTextPrinter.scrollDistance = 0;
for (i = 0; i < 7; ++i)
{
sTempTextPrinter.sub_union.sub_fields[i] = 0;
}
sTempTextPrinter.subPrinter = *textSubPrinter;
sTempTextPrinter.callback = callback;
sTempTextPrinter.minLetterSpacing = 0;
sTempTextPrinter.japanese = 0;
GenerateFontHalfRowLookupTable(textSubPrinter->fontColor_h, textSubPrinter->bgColor, textSubPrinter->shadowColor);
if (speed != TEXT_SPEED_FF && speed != 0x0)
{
--sTempTextPrinter.text_speed;
sTextPrinters[textSubPrinter->windowId] = sTempTextPrinter;
}
else
{
sTempTextPrinter.text_speed = 0;
for (j = 0; j < 0x400; ++j)
{
if ((u32)RenderFont(&sTempTextPrinter) == 1)
break;
}
if (speed != TEXT_SPEED_FF)
CopyWindowToVram(sTempTextPrinter.subPrinter.windowId, 2);
sTextPrinters[textSubPrinter->windowId].sub_union.sub.active = 0;
}
return TRUE;
}
void RunTextPrinters(void)
{
int i;
u16 temp;
for (i = 0; i < 0x20; ++i)
{
if (sTextPrinters[i].sub_union.sub.active != 0)
{
temp = RenderFont(&sTextPrinters[i]);
switch (temp) {
case 0:
CopyWindowToVram(sTextPrinters[i].subPrinter.windowId, 2);
case 3:
if (sTextPrinters[i].callback != 0)
sTextPrinters[i].callback(&sTextPrinters[i].subPrinter, temp);
break;
case 1:
sTextPrinters[i].sub_union.sub.active = 0;
break;
}
}
}
}
bool16 IsTextPrinterActive(u8 id)
{
return sTextPrinters[id].sub_union.sub.active;
}
u32 RenderFont(struct TextPrinter *textPrinter)
{
u32 ret;
while (TRUE)
{
ret = gFonts[textPrinter->subPrinter.fontId].fontFunction(textPrinter);
if (ret != 2)
return ret;
}
}
void GenerateFontHalfRowLookupTable(u8 fgColor, u8 bgColor, u8 shadowColor)
{
int lutIndex;
int i, j, k, l;
const u32 colors[] = {bgColor, fgColor, shadowColor};
sLastTextBgColor = bgColor;
sLastTextFgColor = fgColor;
sLastTextShadowColor = shadowColor;
lutIndex = 0;
for (i = 0; i < 3; i++)
for (j = 0; j < 3; j++)
for (k = 0; k < 3; k++)
for (l = 0; l < 3; l++)
sFontHalfRowLookupTable[lutIndex++] = (colors[l] << 12) | (colors[k] << 8) | (colors[j] << 4) | colors[i];
}
void SaveTextColors(u8 *fgColor, u8 *bgColor, u8 *shadowColor)
{
*bgColor = sLastTextBgColor;
*fgColor = sLastTextFgColor;
*shadowColor = sLastTextShadowColor;
}
void RestoreTextColors(u8 *fgColor, u8 *bgColor, u8 *shadowColor)
{
GenerateFontHalfRowLookupTable(*fgColor, *bgColor, *shadowColor);
}
void DecompressGlyphTile(const u16 *src, u16 *dest)
{
int i;
for (i = 0; i < 16; i++)
{
int offsetIndex = (i << 31) ? (u8)*src++ : (*src >> 8);
dest[i] = sFontHalfRowLookupTable[sFontHalfRowOffsets[offsetIndex]];
}
}
u8 GetLastTextColor(u8 colorType)
{
switch (colorType)
{
case 0:
return sLastTextFgColor;
case 2:
return sLastTextBgColor;
case 1:
return sLastTextShadowColor;
default:
return 0;
}
}
+2 -13
View File
@@ -8,20 +8,9 @@
.include "src/bg.o"
.include "src/malloc.o"
.include "src/text_printer.o"
.align 2
gUnknown_3000A40: @ 3000A40
.space 0xA2
gUnknown_3000AE2: @ 3000AE2
.space 0x2
gUnknown_3000AE4: @ 3000AE4
.space 0x2
gUnknown_3000AE6: @ 3000AE6
.space 0x2
.align 2
gUnknown_3000AE8: @ 3000AE8
.space 0x80
+1 -15
View File
@@ -1,20 +1,6 @@
.include "main.o"
.include "bg.o"
gUnknown_3003D90: @ 3003D90
.space 0x10
gUnknown_3003DA0: @ 3003DA0
.space 0x20
gUnknown_3003DC0: @ 3003DC0
.space 0x20
gUnknown_3003DE0: @ 3003DE0
.space 0x20
gUnknown_3003E00: @ 3003E00
.space 0x20
.include "text_printer.o"
gUnknown_3003E20: @ 3003E20
.space 0x10
+2 -7
View File
@@ -29,14 +29,9 @@ gTrainerId: @ 2020000
.space 0x4
.include "src/malloc.o"
.include "src/text_printer.o"
gUnknown_2020010: @ 2020010
.space 0x24
gUnknown_2020034: @ 2020034
.space 0x480
gUnknown_20204B4: @ 20204B4
gWindows: @ 20204B4
.space 0x180
gUnknown_2020634: @ 2020634