ref: 5337d0159ecabe97b57809331a1bd506a5892fa2
parent: ffdc3e4c12d32ccee1fdb1e72083238caea78a87
author: yenatch <[email protected]>
date: Thu Aug 14 19:50:39 EDT 2014
Recomment the text engine.
--- a/home/text.asm
+++ b/home/text.asm
@@ -1,20 +1,35 @@
+BORDER_WIDTH EQU 2
+TEXTBOX_WIDTH EQU SCREEN_WIDTH
+TEXTBOX_INNERW EQU TEXTBOX_WIDTH - BORDER_WIDTH
+TEXTBOX_HEIGHT EQU 6
+TEXTBOX_INNERH EQU TEXTBOX_HEIGHT - BORDER_WIDTH
+TEXTBOX_X EQU 0
+TEXTBOX_INNERX EQU TEXTBOX_X + 1
+TEXTBOX_Y EQU SCREEN_HEIGHT - TEXTBOX_HEIGHT
+TEXTBOX_INNERY EQU TEXTBOX_Y + 2
+
+TEXTBOX_PAL EQU 7
+
+
ClearBox:: ; fb6
; Fill a c*b box at hl with blank tiles.
ld a, " "
+
Functionfb8::
+.col
push bc
push hl
-.x
+.row
ld [hli], a
dec c
- jr nz, .x
+ jr nz, .row
pop hl
- ld bc, 20 ; screen width
+ ld bc, SCREEN_WIDTH
add hl, bc
pop bc
dec b
- jr nz, Functionfb8
+ jr nz, .col
ret
; fc8
@@ -24,10 +39,10 @@
ld hl, TileMap
ld a, " "
- ld bc, 360 ; screen dimensions 20*18
+ ld bc, TileMapEnd - TileMap
call ByteFill
-; We aren't done if the LCD is on.
+ ; Update the BG Map.
ld a, [rLCDC]
bit 7, a
ret z
@@ -35,10 +50,10 @@
; fdb
-Functionfdb:: ; fdb
- ld a, $7
+ClearScreen:: ; fdb
+ ld a, TEXTBOX_PAL
ld hl, AttrMap
- ld bc, $0168
+ ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
call ByteFill
jr ClearTileMap
; fe8
@@ -46,7 +61,7 @@
TextBox:: ; fe8
-; Draw a text box width c height b at hl
+; Draw a text box width c height b at hl.
; Dimensions do not include the border.
push bc
push hl
@@ -59,48 +74,48 @@
TextBoxBorder:: ; ff1
-; Top
+ ; Top
push hl
ld a, "┌"
ld [hli], a
inc a ; "─"
- call NPlaceChar
+ call .PlaceChars
inc a ; "┐"
ld [hl], a
-
-; Middle
pop hl
- ld de, 20 ; screen width
+
+ ; Middle
+ ld de, SCREEN_WIDTH
add hl, de
-.PlaceRow
+.row
push hl
ld a, "│"
ld [hli], a
ld a, " "
- call NPlaceChar
+ call .PlaceChars
ld [hl], "│"
pop hl
- ld de, 20 ; screen width
+
+ ld de, SCREEN_WIDTH
add hl, de
dec b
- jr nz, .PlaceRow
+ jr nz, .row
-; Bottom
+ ; Bottom
ld a, "└"
ld [hli], a
ld a, "─"
- call NPlaceChar
+ call .PlaceChars
ld [hl], "┘"
ret
; 101e
-
-NPlaceChar:: ; 101e
-; Place char a c times
- ld d,c
+.PlaceChars: ; 101e
+; Place char a c times.
+ ld d, c
.loop
- ld [hli],a
+ ld [hli], a
dec d
jr nz, .loop
ret
@@ -115,20 +130,20 @@
inc b
inc c
inc c
- ld a, 7 ; pal
-.gotoy
+ ld a, TEXTBOX_PAL
+.col
push bc
push hl
-.gotox
+.row
ld [hli], a
dec c
- jr nz, .gotox
+ jr nz, .row
pop hl
- ld de, 20 ; screen width
+ ld de, SCREEN_WIDTH
add hl, de
pop bc
dec b
- jr nz, .gotoy
+ jr nz, .col
ret
; 103e
@@ -135,21 +150,21 @@
SpeechTextBox:: ; 103e
; Standard textbox.
- hlcoord 0, 12
- ld b, 4 ; height
- ld c, 18 ; screen width - 2 (border)
+ hlcoord TEXTBOX_X, TEXTBOX_Y
+ ld b, TEXTBOX_INNERH
+ ld c, TEXTBOX_INNERW
jp TextBox
; 1048
-UnknownText_0x1048:: ; 1048
- db $0, "ゲームフりーク!", $57
+TestText:: ; 1048
+ text "ゲームフりーク!"
+ done
; 1052
Function1052:: ; 1052
- ld hl, .text_1056
+ ld hl, .stop
ret
-.text_1056
- db "@"
+.stop db "@"
; 1057
@@ -157,18 +172,17 @@
call Function106c
Function105a:: ; 105a
push hl
- hlcoord 1, 14
- ld bc, 18 + 3<<8
+ hlcoord TEXTBOX_INNERX, TEXTBOX_INNERY
+ lb bc, TEXTBOX_INNERH - 1, TEXTBOX_INNERW
call ClearBox
pop hl
PrintTextBoxText:: ; 1065
- bccoord 1, 14
+ bccoord TEXTBOX_INNERX, TEXTBOX_INNERY
call Function13e5
ret
; 106c
-
Function106c:: ; 106c
push hl
call SpeechTextBox
@@ -179,7 +193,6 @@
; 1078
-
PlaceString:: ; 1078
push hl
@@ -198,114 +211,95 @@
jp PlaceNextChar
CheckDict:: ; 1087
- cp $15
- jp z, Function117b
- cp $4f
- jp z, Char4F
- cp $4e
- jp z, Function12a7
- cp $16
- jp z, Function12b9
+dict: macro
+if \1 == 0
and a
- jp z, Function1383
- cp $4c
- jp z, Function1337
- cp $4b
- jp z, Char4B
- cp $51 ; Player name
- jp z, Function12f2
- cp $49
- jp z, Function1186
- cp $52 ; Mother name
- jp z, Function118d
- cp $53
- jp z, Function1194
- cp $35
- jp z, Function11e8
- cp $36
- jp z, Function11ef
- cp $37
- jp z, Function11f6
- cp $38
- jp z, Function119b
- cp $39
- jp z, Function11a2
- cp $54
- jp z, Function11c5
- cp $5b
- jp z, Function11b7
- cp $5e
- jp z, Function11be
- cp $5c
- jp z, Function11b0
- cp $5d
- jp z, Function11a9
- cp $23
- jp z, Function11cc
- cp $22
- jp z, Function12b0
- cp $55
- jp z, Char55
- cp $56
- jp z, Function11d3
- cp $57
- jp z, Function137c
- cp $58
- jp z, Function135a
- cp $4a
- jp z, Function11da
- cp $24
- jp z, Function11e1
- cp $25
- jp z, NextChar
+else
+ cp \1
+endc
+ jp z, \2
+endm
+ dict $15, Char15
+ dict $4f, Line
+ dict $4e, NextLine
+ dict $16, Char16
+ dict $00, NullChar
+ dict $4c, Function1337
+ dict $4b, Char4B
+ dict $51, Paragraph
+ dict $49, PrintMomsName
+ dict $52, PrintPlayerName
+ dict $53, PrintRivalName
+ dict $35, Char35
+ dict $36, Char36
+ dict $37, Char37
+ dict $38, PrintRedsName
+ dict $39, PrintGreensName
+ dict $54, Char54
+ dict $5b, Char5B
+ dict $5e, Char5E
+ dict $5c, Char5C
+ dict $5d, Char5D
+ dict $23, Char23
+ dict $22, Char22
+ dict $55, ContText
+ dict $56, Char56
+ dict $57, DoneText
+ dict $58, PromptText
+ dict $4a, Char4A
+ dict $24, Char24
+ dict $25, NextChar
cp $1f
- jr nz, .asm_1122
+ jr nz, .ok
ld a, $7f
-.asm_1122
- cp $5f
- jp z, Char5F
- cp $59
- jp z, Function11fd
- cp $5a
- jp z, Char5D
- cp $3f
- jp z, Function121b
- cp $14
- jp z, Function1252
- cp $e4
- jr z, .asm_1174 ; 0x113d $35
- cp $e5
- jr z, .asm_1174 ; 0x1141 $31
- jr .asm_114c ; 0x1143 $7
+.ok
+ dict $5f, Char5F
+ dict $59, Char59
+ dict $5a, Char5A
+ dict $3f, Char3F
+ dict $14, Char14
+ cp $e4 ; handakuten
+ jr z, .place
+ cp $e5 ; dakuten
+ jr z, .place
+
+ jr .nope
ld b, a
- call Function13c6
+ call Diacritic
jp NextChar
-.asm_114c
+.nope
+
cp $60
- jr nc, .asm_1174 ; 0x114e $24
+ jr nc, .place
+
cp $40
- jr nc, .asm_1165 ; 0x1152 $11
+ jr nc, .handakuten
+
+.dakuten
+
cp $20
- jr nc, .asm_115c ; 0x1156 $4
+ jr nc, .daku1
add $80
- jr .asm_115e ; 0x115a $2
-.asm_115c
+ jr .daku2
+.daku1
add $90
-.asm_115e
- ld b, $e5
- call Function13c6
- jr .asm_1174 ; 0x1163 $f
-.asm_1165
- cp $44
- jr nc, .asm_116d ; 0x1167 $4
- add $59
- jr .asm_116f ; 0x116b $2
-.asm_116d
- add $86
-.asm_116f
- ld b, $e4
- call Function13c6
-.asm_1174
+.daku2
+ ld b, $e5 ; dakuten
+ call Diacritic
+ jr .place
+
+.handakuten
+ cp "ぱ"
+ jr nc, .han1
+ add "ハ" - "パ"
+ jr .han2
+.han1
+ add "は" - "ぱ"
+.han2
+ ld b, $e4 ; handakuten
+ call Diacritic
+
+.place
ld [hli], a
call PrintLetterDelay
jp NextChar
@@ -312,7 +306,7 @@
; 0x117b
-Function117b:: ; 117b
+Char15:: ; 117b
ld c, l
ld b, h
callba Function17f036
@@ -319,144 +313,72 @@
jp PlaceNextChar
; 1186
-Function1186:: ; 1186
- push de
- ld de, MomsName
- jp Function126a
-; 118d
-Function118d:: ; 118d
+print_name: macro
push de
- ld de, PlayerName
+ ld de, \1
jp Function126a
-; 1194
+endm
-Function1194:: ; 1194
- push de
- ld de, RivalName
- jp Function126a
-; 119b
-
-Function119b:: ; 119b
- push de
- ld de, RedsName
- jp Function126a
-; 11a2
-
-Function11a2:: ; 11a2
- push de
- ld de, GreensName
- jp Function126a
-; 11a9
-
-Function11a9:: ; 11a9
- push de
- ld de, Char5DText
- jp Function126a
-; 11b0
-
-Function11b0:: ; 11b0
- push de
- ld de, Char5CText
- jp Function126a
-; 11b7
-
-Function11b7:: ; 11b7
- push de
- ld de, Char5BText
- jp Function126a
-; 11be
-
-Function11be:: ; 11be
- push de
- ld de, Char5EText
- jp Function126a
-; 11c5
-
-Function11c5:: ; 11c5
- push de
- ld de, Char54Text
- jp Function126a
-; 11cc
-
-Function11cc:: ; 11cc
- push de
- ld de, Char23Text
- jp Function126a
-; 11d3
-
-Function11d3:: ; 11d3
- push de
- ld de, Char56Text
- jp Function126a
-; 11da
-
-Function11da:: ; 11da
- push de
- ld de, Char4AText
- jp Function126a
-; 11e1
-
-Function11e1:: ; 11e1
- push de
- ld de, Char24Text
- jp Function126a
-; 11e8
+PrintMomsName: print_name MomsName ; 1186
+PrintPlayerName: print_name PlayerName ; 118d
+PrintRivalName: print_name RivalName ; 1194
+PrintRedsName: print_name RedsName ; 119b
+PrintGreensName: print_name GreensName ; 11a2
-Function11e8:: ; 11e8
- push de
- ld de, Char37Text
- jp Function126a
-; 11ef
+Char5D: print_name Char5DText ; 11a9
+Char5C: print_name Char5CText ; 11b0
+Char5B: print_name Char5BText ; 11b7
+Char5E: print_name Char5EText ; 11be
+Char54: print_name Char54Text ; 11c5
+Char23: print_name Char23Text ; 11cc
+Char56: print_name Char56Text ; 11d3
+Char4A: print_name Char4AText ; 11da
+Char24: print_name Char24Text ; 11e1
+Char35: print_name Char35Text ; 11e8
+Char36: print_name Char36Text ; 11ef
+Char37: print_name Char37Text ; 11f6
-Function11ef:: ; 11ef
- push de
- ld de, Char37Text
- jp Function126a
-; 11f6
-Function11f6:: ; 11f6
- push de
- ld de, Char37Text
- jp Function126a
-; 11fd
-
-
-Function11fd:: ; 11fd
+Char59:: ; 11fd
ld a, [hBattleTurn]
- xor $1
- jr Function1205
-; 1203
+ xor 1
+ jr Char59_5A
-Char5D:: ; 1203
+Char5A:: ; 1203
ld a, [hBattleTurn]
-; 1205
-Function1205:: ; 1205
+Char59_5A: ; 1205
push de
and a
- jr nz, .asm_120e ; 0x1207 $5
+ jr nz, .enemy
+
ld de, BattleMonNick
- jr Function126a ; 0x120c $5c
-.asm_120e
+ jr Function126a
+
+.enemy
ld de, Char5AText ; Enemy
call PlaceString
ld h, b
ld l, c
ld de, EnemyMonNick
- jr Function126a ; 0x1219 $4f
+ jr Function126a
-Function121b:: ; 121b
+
+Char3F:: ; 121b
push de
+
ld a, [InLinkBattle]
and a
jr nz, .linkbattle
+
ld a, [TrainerClass]
cp RIVAL1
- jr z, .asm_1248 ; 0x1227 $1f
+ jr z, .rival
cp RIVAL2
- jr z, .asm_1248 ; 0x122b $1b
- ld de, $c656
+ jr z, .rival
+
+ ld de, OTName
call PlaceString
ld h, b
ld l, c
@@ -466,15 +388,18 @@
callab Function39939
pop hl
ld de, StringBuffer1
- jr Function126a ; 0x1246 $22
-.asm_1248
+ jr Function126a
+
+.rival
ld de, RivalName
- jr Function126a ; 0x124b $1d
+ jr Function126a
+
.linkbattle
- ld de, $c656
- jr Function126a ; 0x1250 $18
+ ld de, OTName
+ jr Function126a
-Function1252:: ; 1252
+
+Char14:: ; 1252
push de
ld de, PlayerName
call PlaceString
@@ -483,10 +408,11 @@
ld a, [PlayerGender]
bit 0, a
ld de, String12a5
- jr z, Function126a ; 0x1263 $5
+ jr z, Function126a
ld de, String12a6
- jr Function126a ; 0x1268 $0
+ jr Function126a
+
Function126a:: ; 126a
call PlaceString
ld h, b
@@ -495,67 +421,53 @@
jp NextChar
; 0x1273
-Char5CText:: ; 1273
- db "TM@"
-Char5DText:: ; 1276
- db "TRAINER@"
-Char5BText:: ; 127e
- db "PC@"
-Char5EText:: ; 1281
- db "ROCKET@"
-Char54Text:: ; 1288
- db "POKé@"
-Char23Text:: ; 128d
- db "こうげき@"
-Char56Text::; 1292
- db "……@"
-Char5AText:: ; 1295
- db "Enemy @"
-Char4AText:: ; 129c
- db $e1, $e2, "@" ; PK MN
-Char24Text:: ; 129f
- db $70, $71, "@" ; PO KE
-String12a2:: ; 12a2
- db " @"
+Char5CText:: db "TM@" ; 1273
+Char5DText:: db "TRAINER@" ; 1276
+Char5BText:: db "PC@" ; 127e
+Char5EText:: db "ROCKET@" ; 1281
+Char54Text:: db "POKé@" ; 1288
+Char23Text:: db "こうげき@" ; 128d
+Char56Text:: db "……@" ; 1292
+Char5AText:: db "Enemy @" ; 1295
+Char4AText:: db $e1, $e2, "@" ; PK MN ; 129c
+Char24Text:: db $70, $71, "@" ; PO KE ; 129f
+String12a2:: db " @" ; 12a2
Char35Text::
Char36Text::
-Char37Text:: ; 12a4
- db "@"
-String12a5:: ; 12a5
- db "@"
-String12a6:: ; 12a6
- db "@"
+Char37Text:: db "@" ; 12a4
+String12a5:: db "@" ; 12a5
+String12a6:: db "@" ; 12a6
; 12a7
-Function12a7:: ; 12a7
+NextLine:: ; 12a7
pop hl
- ld bc, $0028
+ ld bc, SCREEN_WIDTH * 2
add hl, bc
push hl
jp NextChar
; 12b0
-Function12b0:: ; 12b0
+Char22:: ; 12b0
pop hl
- ld bc, $0014
+ ld bc, SCREEN_WIDTH
add hl, bc
push hl
jp NextChar
; 12b9
-Function12b9:: ; 12b9
+Char16:: ; 12b9
pop hl
push de
- ld bc, $3b60
+ ld bc, -TileMap + $10000
add hl, bc
- ld de, $ffec
- ld c, $1
+ ld de, -SCREEN_WIDTH
+ ld c, 1
.asm_12c4
ld a, h
and a
jr nz, .asm_12cd
ld a, l
- cp $14
+ cp SCREEN_WIDTH
jr c, .asm_12d1
.asm_12cd
@@ -565,7 +477,7 @@
.asm_12d1
ld hl, TileMap
- ld de, $0014
+ ld de, SCREEN_WIDTH
ld a, c
.asm_12d8
and a
@@ -579,7 +491,7 @@
inc de
ld a, [de]
ld c, a
- ld b, $0
+ ld b, 0
add hl, bc
push hl
jp NextChar
@@ -586,15 +498,16 @@
; 12ea
-Char4F:: ; 12ea
+Line:: ; 12ea
pop hl
- hlcoord 1, 16
+ hlcoord TEXTBOX_INNERX, TEXTBOX_INNERY + 2
push hl
jp NextChar
; 0x12f2
-Function12f2:: ; 12f2
+Paragraph:: ; 12f2
push de
+
ld a, [InLinkBattle]
cp $3
jr z, .asm_1301
@@ -601,17 +514,17 @@
cp $4
jr z, .asm_1301
call Function13c7
-
.asm_1301
+
call Function13b6
call Functionaaf
- hlcoord 1, 14
- ld bc, $0312
+ hlcoord TEXTBOX_INNERX, TEXTBOX_INNERY
+ lb bc, TEXTBOX_INNERH - 1, TEXTBOX_INNERW
call ClearBox
call Function13cd
- ld c, $14
+ ld c, 20
call DelayFrames
- hlcoord 1, 14
+ hlcoord TEXTBOX_INNERX, TEXTBOX_INNERY
pop de
jp NextChar
; 131f
@@ -622,8 +535,8 @@
or a
jr nz, .asm_1328
call Function13c7
-
.asm_1328
+
call Function13b6
push de
@@ -638,15 +551,15 @@
push de
call Function138c
call Function138c
- hlcoord 1, 16
+ hlcoord TEXTBOX_INNERX, TEXTBOX_INNERY + 2
pop de
jp NextChar
; 1345
-Char55:: ; 1345
+ContText:: ; 1345
push de
- ld de, Text_1354
+ ld de, .cont
ld b, h
ld c, l
call PlaceString
@@ -654,50 +567,47 @@
ld l, c
pop de
jp NextChar
-; 1354
-Text_1354:: ; 1354
- db $4b, "@"
+.cont db $4b, "@"
; 1356
Char5F:: ; 1356
-; ends a Pokédex entry
+; Legacy: ends a Pokédex entry (Red).
+; Dex entries are now regular strings.
ld [hl], "."
pop hl
ret
; 135a
-Function135a:: ; 135a
+PromptText:: ; 135a
ld a, [InLinkBattle]
cp $3
- jr z, .asm_1368
+ jr z, .ok
cp $4
- jr z, .asm_1368
+ jr z, .ok
call Function13c7
+.ok
-.asm_1368
call Function13b6
call Functionaaf
ld a, [InLinkBattle]
cp $3
- jr z, Function137c
+ jr z, DoneText
cp $4
- jr z, Function137c
+ jr z, DoneText
call Function13cd
-Function137c:: ; 137c
+DoneText:: ; 137c
pop hl
- ld de, .string_1382
+ ld de, .stop
dec de
ret
-
-.string_1382
- db "@"
+.stop db "@"
; 1383
-Function1383:: ; 1383
- ld a, $e6
+NullChar:: ; 1383
+ ld a, "?"
ld [hli], a
call PrintLetterDelay
jp NextChar
@@ -704,18 +614,18 @@
; 138c
Function138c:: ; 138c
- hlcoord 1, 14
- decoord 1, 13
- ld a, $3
-.asm_1394
+ hlcoord TEXTBOX_INNERX, TEXTBOX_INNERY
+ decoord TEXTBOX_INNERX, TEXTBOX_INNERY - 1
+ ld a, TEXTBOX_INNERH - 1
+.col
push af
- ld c, $12
-.asm_1397
+ ld c, TEXTBOX_INNERW
+.row
ld a, [hli]
ld [de], a
inc de
dec c
- jr nz, .asm_1397
+ jr nz, .row
inc de
inc de
inc hl
@@ -722,12 +632,12 @@
inc hl
pop af
dec a
- jr nz, .asm_1394
- hlcoord 1, 16
- ld a, $7f
- ld bc, $0012
+ jr nz, .col
+ hlcoord TEXTBOX_INNERX, TEXTBOX_INNERY + 2
+ ld a, " "
+ ld bc, TEXTBOX_INNERW
call ByteFill
- ld c, $5
+ ld c, 5
call DelayFrames
ret
; 13b6
@@ -736,7 +646,7 @@
push bc
ld a, [hOAMUpdate]
push af
- ld a, $1
+ ld a, 1
ld [hOAMUpdate], a
call WaitBGMap
pop af
@@ -745,12 +655,12 @@
ret
; 13c6
-Function13c6:: ; 13c6
+Diacritic:: ; 13c6
ret
; 13c7
Function13c7:: ; 13c7
- ld a, $ee
+ ld a, "▼"
ld [$c606], a
ret
; 13cd
@@ -761,26 +671,25 @@
ret
; 13d4
-Function13d4:: ; 13d4
+FarString:: ; 13d4
ld b, a
ld a, [hROMBank]
push af
+
ld a, b
rst Bankswitch
-
call PlaceString
+
pop af
rst Bankswitch
-
ret
; 13e0
Function13e0:: ; 13e0
- ld hl, String_13e4
+ ld hl, .stop
ret
-String_13e4: ; 13e4
- db "@"
+.stop db "@"
; 13e5
@@ -789,7 +698,9 @@
push af
set 1, a
ld [$cfcf], a
+
call Function13f6
+
pop af
ld [$cfcf], a
ret
@@ -796,15 +707,13 @@
; 13f6
Function13f6:: ; 13f6
-.asm_13f6
ld a, [hli]
cp "@"
ret z
- call Function13ff
- jr .asm_13f6
-; 13ff
+ call .TextCommand
+ jr Function13f6
-Function13ff:: ; 13ff
+.TextCommand:
push hl
push bc
ld c, a
@@ -817,8 +726,8 @@
ld d, [hl]
pop bc
pop hl
-
-; jp de
+
+ ; jp de
push de
ret
; 1410
@@ -914,9 +823,8 @@
; 1470
Text_02:: ; 1470
-; TX_NUM
-; write bcdnumber from address, typically ram
-; little endian
+; TX_BCD
+; write bcd from address, typically ram
; [$02][addr][flags]
; flags: see PrintBCDNumber
@@ -939,14 +847,13 @@
Text_03:: ; 1480
; TX_MOVE
; move to a new tile
-; little endian
-; [$03][tileaddr]
+; [$03][addr]
ld a, [hli]
ld [$d0e6], a
ld c, a
ld a, [hli]
- ld [$d0e7], a
+ ld [$d0e6 + 1], a
ld b, a
ret
; 148b
@@ -955,7 +862,7 @@
; TX_BOX
; draw a box
; little endian
-; [$04][tileaddr][height][width]
+; [$04][addr][height][width]
ld a, [hli]
ld e, a
@@ -978,7 +885,7 @@
; write text at (1,16)
; [$05]
- bccoord 1, 16
+ bccoord TEXTBOX_INNERX, TEXTBOX_INNERY + 2
ret
; 149f
@@ -993,6 +900,7 @@
jp z, Text_0D
cp $4
jp z, Text_0D
+
push hl
call Function13c7
push bc
@@ -1009,7 +917,7 @@
call Function138c
call Function138c
pop hl
- bccoord 1, 16
+ bccoord TEXTBOX_INNERX, TEXTBOX_INNERY + 2
ret
; 14c9
@@ -1016,12 +924,11 @@
Text_08:: ; 14c9
; TX_ASM
-; rom only?
bit 7, h
- jr nz, .asm_14ce
+ jr nz, .not_rom
jp [hl]
-.asm_14ce
+.not_rom
ld a, "@"
ld [hl], a
ret
@@ -1028,6 +935,8 @@
; 14d2
Text_09:: ; 14d2
+; TX_NUM
+; [$09][addr][hi:bytes lo:digits]
ld a, [hli]
ld e, a
ld a, [hli]
@@ -1057,11 +966,10 @@
call GetJoypad
ld a, [hJoyDown]
and A_BUTTON | B_BUTTON
- jr nz, .asm_14fd
+ jr nz, .done
ld c, 30
call DelayFrames
-
-.asm_14fd
+.done
pop bc
pop hl
ret
@@ -1078,17 +986,17 @@
ld b, a
push hl
ld hl, TextSFX
-.asm_1508
+.loop
ld a, [hli]
- cp $ff
- jr z, .asm_151f
+ cp -1
+ jr z, .done
cp b
- jr z, .asm_1514
+ jr z, .play
inc hl
inc hl
- jr .asm_1508
+ jr .loop
-.asm_1514
+.play
push de
ld e, [hl]
inc hl
@@ -1097,7 +1005,7 @@
call WaitSFX
pop de
-.asm_151f
+.done
pop hl
pop bc
ret
@@ -1123,16 +1031,17 @@
dbw $10, SFX_CAUGHT_MON
dbw $11, SFX_DEX_FANFARE_80_109
dbw $13, SFX_SLOT_MACHINE_START
- db $ff ; end
+ db -1
; 1543
Text_0C:: ; 1543
+; [$0C][num]
ld a, [hli]
ld d, a
push hl
ld h, b
ld l, c
-.asm_1548
+.loop
push de
ld a, "…"
ld [hli], a
@@ -1139,13 +1048,13 @@
call GetJoypad
ld a, [hJoyDown]
and A_BUTTON | B_BUTTON
- jr nz, .asm_155a
+ jr nz, .next
ld c, 10
call DelayFrames
-.asm_155a
+.next
pop de
dec d
- jr nz, .asm_1548
+ jr nz, .loop
ld b, h
ld c, l
pop hl
@@ -1216,7 +1125,6 @@
call PlaceString
pop hl
ret
-; 15a2
.Days ; 15a2
dw .Sun
@@ -1236,4 +1144,3 @@
.Satur db "SATUR@"
.Day db "DAY@"
; 15d8
-
--- a/main.asm
+++ b/main.asm
@@ -4763,7 +4763,7 @@
ld [rSVBK], a
ld hl, rLCDC
res 2, [hl]
- call Functionfdb
+ call ClearScreen
call Function3200
xor a
ld [hLCDStatCustom], a
@@ -8635,7 +8635,7 @@
.two
dec e
jr nz, .asm_c583
- ld a, $f6
+ ld a, "0"
ld [$ffb3], a
.asm_c583
@@ -8701,10 +8701,10 @@
.PrintDigit: ; c5cb (3:45cb)
dec e
jr nz, .ok
- ld a, $f6
+ ld a, "0"
ld [$ffb3], a
.ok
- ld c, $0
+ ld c, 0
.asm_c5d4
ld a, [$ffb7]
ld b, a
@@ -8721,7 +8721,7 @@
cp b
jr nc, .asm_c5f6
ld a, [$ffb4]
- or $0
+ or 0
jr z, .asm_c620
dec a
ld [$ffb4], a
@@ -8772,7 +8772,7 @@
ld [hli], a
res 5, d
.asm_c637
- ld a, $f6
+ ld a, "0"
add c
ld [hl], a
ld [$ffb3], a
@@ -18719,7 +18719,7 @@
Function124fa: ; 124fa
call ClearPalettes
- call Functionfdb
+ call ClearScreen
call Function3200
call HideSprites
call Function4f0
@@ -36020,7 +36020,7 @@
call WhiteBGMap
ld c, $50
call DelayFrames
- call Functionfdb
+ call ClearScreen
call ClearSprites
call Function1ad2
xor a
@@ -36028,7 +36028,7 @@
ld [hSCY], a
ld c, $50
call DelayFrames
- call Functionfdb
+ call ClearScreen
call Function1ad2
call Functione51
call Functione58
@@ -36437,7 +36437,7 @@
jr nz, .asm_283a9
ld a, CAL
ld [OtherTrainerClass], a
- call Functionfdb
+ call ClearScreen
callba Function4d354
ld hl, Options
ld a, [hl]
@@ -36512,7 +36512,7 @@
bccoord 1, 14
call Function13e5
call Function4b6
- call Functionfdb
+ call ClearScreen
ld b, $8
call GetSGBLayout
call Function3200
@@ -37209,7 +37209,7 @@
; 287e3
Function287e3: ; 287e3
- call Functionfdb
+ call ClearScreen
call Function28ef8
callba Function16d673
xor a
@@ -37599,7 +37599,7 @@
Function28b22: ; 28b22
call Function4b6
- call Functionfdb
+ call ClearScreen
ld b, $8
call GetSGBLayout
call Function3200
@@ -37936,7 +37936,7 @@
dec a
ld [CurPartyMon], a
callab Function421d8
- call Functionfdb
+ call ClearScreen
call Function28ef8
call Function28eff
callba Function4d354
@@ -47361,7 +47361,7 @@
ld a, b
push af
hlcoord 9, 5
- call Function13d4
+ call FarString
ld h, b
ld l, c
push de
@@ -47449,7 +47449,7 @@
pop af
hlcoord 2, 11
push af
- call Function13d4
+ call FarString
pop bc
ld a, [$cf65]
or a
@@ -47475,7 +47475,7 @@
inc de
pop af
hlcoord 2, 11
- call Function13d4
+ call FarString
ret
; 44331
@@ -50111,7 +50111,7 @@
Function4925b: ; 4925b
call FadeToMenu
call WhiteBGMap
- call Functionfdb
+ call ClearScreen
call DelayFrame
ld b, $14
call GetSGBLayout
@@ -54537,7 +54537,7 @@
ld a, [CurPartyMon]
inc a
ld [$cfa9], a
- call Functionfdb
+ call ClearScreen
call WhiteBGMap
call MaxVolume
callba Function28ef8
@@ -64590,7 +64590,7 @@
ld d, [hl]
hlcoord 1, 7
ld a, $77
- call Function13d4
+ call FarString
hlcoord 2, 15
ld de, String_847f5
call PlaceString
@@ -64622,7 +64622,7 @@
ld d, [hl]
hlcoord 4, 7
ld a, BANK(GBPrinterStrings)
- call Function13d4
+ call FarString
hlcoord 4, 15
ld de, String_847f5
call PlaceString
@@ -107777,7 +107777,7 @@
.asm_117709
callba Function8cf53
call WhiteBGMap
- call Functionfdb
+ call ClearScreen
call ClearSprites
ret
@@ -111076,7 +111076,7 @@
call Function11c254
call WhiteBGMap
call ClearSprites
- call Functionfdb
+ call ClearScreen
call Function11d323
call Function32f9
call DisableLCD
@@ -113861,7 +113861,7 @@
Function1704f1: ; 1704f1
call WhiteBGMap
call ClearSprites
- call Functionfdb
+ call ClearScreen
.asm_1704fa
call Functiona57
ld a, [$cf63]
@@ -115476,7 +115476,7 @@
ld [$cd6c], a
call WhiteBGMap
call ClearSprites
- call Functionfdb
+ call ClearScreen
callba Function104061
call DisableLCD
ld hl, $8ee0
@@ -116346,9 +116346,9 @@
push af
ld l, c
ld h, b
- ld bc, $3b60
+ ld bc, -TileMap + $10000
add hl, bc
- ld de, $ffec
+ ld de, -SCREEN_WIDTH
ld c, $1
.asm_17f42c
ld a, h
@@ -116355,7 +116355,7 @@
and a
jr nz, .asm_17f435
ld a, l
- cp $14
+ cp SCREEN_WIDTH
jr c, .asm_17f439
.asm_17f435
@@ -116365,7 +116365,7 @@
.asm_17f439
ld hl, TileMap
- ld de, $0014
+ ld de, SCREEN_WIDTH
ld a, c
.asm_17f440
and a
@@ -116377,7 +116377,7 @@
.asm_17f447
pop af
ld e, a
- ld d, $0
+ ld d, 0
add hl, de
pop de
and a
@@ -116398,7 +116398,7 @@
ld l, c
ld h, b
ld c, a
- ld b, $0
+ ld b, 0
add hl, bc
ld a, [de]
cp $50
@@ -116947,7 +116947,7 @@
pop af
ld a, b
ld hl, $cb6d
- call nz, Function13d4
+ call nz, FarString
ld hl, $caa3
ld [hl], $35
ld de, $0014
@@ -116997,7 +116997,7 @@
pop af
ld hl, $caa5
ld a, b
- call nz, Function13d4
+ call nz, FarString
ret
; 1dc26a