summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsceptillion <33798691+sceptillion@users.noreply.github.com>2017-12-18 13:14:49 -0800
committersceptillion <33798691+sceptillion@users.noreply.github.com>2017-12-18 13:14:49 -0800
commitf70d7efa6638c428885756405800aa022fb339da (patch)
treec314815a5a99184a866fff4cc671ae367f4311b0
parentd1437d30f7e6071f62d1a7842400d6732c7313b7 (diff)
partially decompile text_printer
-rw-r--r--asm/battle_2.s2
-rw-r--r--asm/braille_text.s28
-rw-r--r--asm/egg_hatch.s4
-rw-r--r--asm/evolution_scene.s4
-rw-r--r--asm/fame_checker.s4
-rw-r--r--asm/field_player_avatar.s4
-rw-r--r--asm/field_screen_effect.s2
-rw-r--r--asm/hall_of_fame.s2
-rw-r--r--asm/help_system.s22
-rw-r--r--asm/learn_move.s2
-rw-r--r--asm/link_rfu_3.s6
-rw-r--r--asm/mail.s2
-rw-r--r--asm/main_menu.s4
-rw-r--r--asm/menu_helpers.s2
-rw-r--r--asm/mystery_gift_menu.s2
-rw-r--r--asm/naming_screen.s2
-rw-r--r--asm/new_menu_helpers.s2
-rw-r--r--asm/oak_speech.s2
-rw-r--r--asm/pokedex_screen.s2
-rw-r--r--asm/pokemon_special_anim.s2
-rw-r--r--asm/save_failed_screen.s2
-rw-r--r--asm/text.s212
-rw-r--r--asm/text_printer.s651
-rw-r--r--asm/tm_case.s2
-rw-r--r--asm/trade.s10
-rw-r--r--asm/unk_814B6F0.s2
-rw-r--r--asm/window.s130
-rw-r--r--asm/window_8bpp.s28
-rw-r--r--asm/wireless_communication_status_screen.s4
-rw-r--r--common_syms/text_printer.txt5
-rw-r--r--data/data.s3
-rw-r--r--include/string_util.h1
-rw-r--r--include/text.h1
-rw-r--r--ld_script.txt2
-rw-r--r--src/bg.c2
-rw-r--r--src/text_printer.c216
-rw-r--r--sym_bss.txt15
-rw-r--r--sym_common.txt16
-rw-r--r--sym_ewram.txt9
39 files changed, 523 insertions, 888 deletions
diff --git a/asm/battle_2.s b/asm/battle_2.s
index 681c34b21..23f7b3834 100644
--- a/asm/battle_2.s
+++ b/asm/battle_2.s
@@ -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
diff --git a/asm/braille_text.s b/asm/braille_text.s
index 1f1d5f897..64e3f532c 100644
--- a/asm/braille_text.s
+++ b/asm/braille_text.s
@@ -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
diff --git a/asm/egg_hatch.s b/asm/egg_hatch.s
index f39bc39de..b733fa4c3 100644
--- a/asm/egg_hatch.s
+++ b/asm/egg_hatch.s
@@ -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
diff --git a/asm/evolution_scene.s b/asm/evolution_scene.s
index a0a122cc6..e2a66525d 100644
--- a/asm/evolution_scene.s
+++ b/asm/evolution_scene.s
@@ -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}
diff --git a/asm/fame_checker.s b/asm/fame_checker.s
index 68e2e1c49..ef3157dd2 100644
--- a/asm/fame_checker.s
+++ b/asm/fame_checker.s
@@ -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
diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s
index 1b27d2840..657732fa3 100644
--- a/asm/field_player_avatar.s
+++ b/asm/field_player_avatar.s
@@ -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
diff --git a/asm/field_screen_effect.s b/asm/field_screen_effect.s
index 13808bf72..ace3190ac 100644
--- a/asm/field_screen_effect.s
+++ b/asm/field_screen_effect.s
@@ -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
diff --git a/asm/hall_of_fame.s b/asm/hall_of_fame.s
index 0a9fbf98a..cdf2bd638 100644
--- a/asm/hall_of_fame.s
+++ b/asm/hall_of_fame.s
@@ -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
diff --git a/asm/help_system.s b/asm/help_system.s
index 06d57678d..2ac8159aa 100644
--- a/asm/help_system.s
+++ b/asm/help_system.s
@@ -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
diff --git a/asm/learn_move.s b/asm/learn_move.s
index d726b3bf0..3791a2a22 100644
--- a/asm/learn_move.s
+++ b/asm/learn_move.s
@@ -276,7 +276,7 @@ _080E4882:
strb r1, [r0]
_080E489E:
bl RunTasks
- bl sub_8002DE8
+ bl RunTextPrinters
bl AnimateSprites
bl BuildOamBuffer
bl UpdatePaletteFade
diff --git a/asm/link_rfu_3.s b/asm/link_rfu_3.s
index 05e84a1cb..565a92117 100644
--- a/asm/link_rfu_3.s
+++ b/asm/link_rfu_3.s
@@ -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
diff --git a/asm/mail.s b/asm/mail.s
index e00947a9b..0944f93d2 100644
--- a/asm/mail.s
+++ b/asm/mail.s
@@ -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
diff --git a/asm/main_menu.s b/asm/main_menu.s
index cd3a008f9..b772ffe88 100644
--- a/asm/main_menu.s
+++ b/asm/main_menu.s
@@ -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
diff --git a/asm/menu_helpers.s b/asm/menu_helpers.s
index 648b255bc..4fc93136e 100644
--- a/asm/menu_helpers.s
+++ b/asm/menu_helpers.s
@@ -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
diff --git a/asm/mystery_gift_menu.s b/asm/mystery_gift_menu.s
index 34b6ed87d..2844c7e59 100644
--- a/asm/mystery_gift_menu.s
+++ b/asm/mystery_gift_menu.s
@@ -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}
diff --git a/asm/naming_screen.s b/asm/naming_screen.s
index 60c81ba86..0132c1c03 100644
--- a/asm/naming_screen.s
+++ b/asm/naming_screen.s
@@ -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
diff --git a/asm/new_menu_helpers.s b/asm/new_menu_helpers.s
index 5b67c3544..c2ac56bd2 100644
--- a/asm/new_menu_helpers.s
+++ b/asm/new_menu_helpers.s
@@ -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
diff --git a/asm/oak_speech.s b/asm/oak_speech.s
index ef204e879..a3d63741c 100644
--- a/asm/oak_speech.s
+++ b/asm/oak_speech.s
@@ -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
diff --git a/asm/pokedex_screen.s b/asm/pokedex_screen.s
index 77376e270..0e9da693a 100644
--- a/asm/pokedex_screen.s
+++ b/asm/pokedex_screen.s
@@ -30,7 +30,7 @@ sub_81024D4: @ 81024D4
beq _08102504
_081024EC:
bl RunTasks
- bl sub_8002DE8
+ bl RunTextPrinters
bl AnimateSprites
bl BuildOamBuffer
b _08102508
diff --git a/asm/pokemon_special_anim.s b/asm/pokemon_special_anim.s
index ad42d068b..e62122ee8 100644
--- a/asm/pokemon_special_anim.s
+++ b/asm/pokemon_special_anim.s
@@ -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
diff --git a/asm/save_failed_screen.s b/asm/save_failed_screen.s
index e44191cbb..98706e4a8 100644
--- a/asm/save_failed_screen.s
+++ b/asm/save_failed_screen.s
@@ -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
diff --git a/asm/text.s b/asm/text.s
index 3928fbff2..46277701a 100644
--- a/asm/text.s
+++ b/asm/text.s
@@ -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.
diff --git a/asm/text_printer.s b/asm/text_printer.s
index 5dc0ac6da..504cc57b4 100644
--- a/asm/text_printer.s
+++ b/asm/text_printer.s
@@ -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.
diff --git a/asm/tm_case.s b/asm/tm_case.s
index bf9163797..68c44384e 100644
--- a/asm/tm_case.s
+++ b/asm/tm_case.s
@@ -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
diff --git a/asm/trade.s b/asm/trade.s
index 406bbc88f..dbdac5eac 100644
--- a/asm/trade.s
+++ b/asm/trade.s
@@ -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
diff --git a/asm/unk_814B6F0.s b/asm/unk_814B6F0.s
index 9d40e5aa2..2e3d2e112 100644
--- a/asm/unk_814B6F0.s
+++ b/asm/unk_814B6F0.s
@@ -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}
diff --git a/asm/window.s b/asm/window.s
index 670b96cc0..8a457d4f5 100644
--- a/asm/window.s
+++ b/asm/window.s
@@ -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.
diff --git a/asm/window_8bpp.s b/asm/window_8bpp.s
index c0a5ea68f..9c2ed93ae 100644
--- a/asm/window_8bpp.s
+++ b/asm/window_8bpp.s
@@ -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.
diff --git a/asm/wireless_communication_status_screen.s b/asm/wireless_communication_status_screen.s
index abac81dc1..299555201 100644
--- a/asm/wireless_communication_status_screen.s
+++ b/asm/wireless_communication_status_screen.s
@@ -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
diff --git a/common_syms/text_printer.txt b/common_syms/text_printer.txt
new file mode 100644
index 000000000..36fdd6853
--- /dev/null
+++ b/common_syms/text_printer.txt
@@ -0,0 +1,5 @@
+gFonts
+gGlyphBuffer1
+gGlyphBuffer2
+gGlyphBuffer3
+gGlyphBuffer4
diff --git a/data/data.s b/data/data.s
index 600fb2392..12eedb8d0 100644
--- a/data/data.s
+++ b/data/data.s
@@ -1,8 +1,5 @@
.section .rodata
-gUnknown_81EA044:: @ 81EA044
- .incbin "baserom.gba", 0x1EA044, 0x100
-
gUnknown_81EA144:: @ 81EA144
.incbin "baserom.gba", 0x1EA144, 0x8
diff --git a/include/string_util.h b/include/string_util.h
index f26646082..2354c9ded 100644
--- a/include/string_util.h
+++ b/include/string_util.h
@@ -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);
diff --git a/include/text.h b/include/text.h
index 289c7d2b5..bf3071d69 100644
--- a/include/text.h
+++ b/include/text.h
@@ -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];
diff --git a/ld_script.txt b/ld_script.txt
index 66f696f70..1877cf472 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -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);
diff --git a/src/bg.c b/src/bg.c
index 86c95b953..b7da03dc6 100644
--- a/src/bg.c
+++ b/src/bg.c
@@ -53,7 +53,7 @@ void ResetBgs(void)
SetTextModeAndHideBgs();
}
-static void SetBgModeInternal(u8 bgMode)
+void SetBgModeInternal(u8 bgMode)
{
sGpuBgConfigs.bgVisibilityAndMode &= 0xFFF8;
sGpuBgConfigs.bgVisibilityAndMode |= bgMode;
diff --git a/src/text_printer.c b/src/text_printer.c
new file mode 100644
index 000000000..95de6fbbd
--- /dev/null
+++ b/src/text_printer.c
@@ -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;
+ }
+}
diff --git a/sym_bss.txt b/sym_bss.txt
index 25c9155da..12da192c1 100644
--- a/sym_bss.txt
+++ b/sym_bss.txt
@@ -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
diff --git a/sym_common.txt b/sym_common.txt
index 4253c5d77..86c90b518 100644
--- a/sym_common.txt
+++ b/sym_common.txt
@@ -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
diff --git a/sym_ewram.txt b/sym_ewram.txt
index 8ca6b2afd..e6812246a 100644
--- a/sym_ewram.txt
+++ b/sym_ewram.txt
@@ -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