summaryrefslogtreecommitdiff
path: root/engine/menus
diff options
context:
space:
mode:
Diffstat (limited to 'engine/menus')
-rw-r--r--engine/menus/menu_2.asm3
-rw-r--r--engine/menus/savemenu_copytilemapatonce.asm25
-rw-r--r--engine/menus/scrolling_menu.asm4
-rw-r--r--engine/menus/trainer_card.asm11
4 files changed, 27 insertions, 16 deletions
diff --git a/engine/menus/menu_2.asm b/engine/menus/menu_2.asm
index 67a93c74f..3c68c2c49 100644
--- a/engine/menus/menu_2.asm
+++ b/engine/menus/menu_2.asm
@@ -110,8 +110,7 @@ CoinString:
ShowMoney_TerminatorString:
db "@"
-Unreferenced_Function24b8f:
-; related to safari?
+Unreferenced_StartMenu_PrintSafariGameStatus:
ld hl, wOptions
ld a, [hl]
push af
diff --git a/engine/menus/savemenu_copytilemapatonce.asm b/engine/menus/savemenu_copytilemapatonce.asm
index 51b7ea8fe..2f30b7c7e 100644
--- a/engine/menus/savemenu_copytilemapatonce.asm
+++ b/engine/menus/savemenu_copytilemapatonce.asm
@@ -3,33 +3,37 @@ SaveMenu_CopyTilemapAtOnce:
and a
jp z, WaitBGMap
-; The following is a modified version of CopyTilemapAtOnce.
+; The following is a modified version of _CopyTilemapAtOnce
+; that waits for [rLY] to be $60 instead of $80 - 1.
ldh a, [hBGMapMode]
push af
xor a
ldh [hBGMapMode], a
+
ldh a, [hMapAnims]
push af
xor a
ldh [hMapAnims], a
-.WaitLY:
+
+.wait
ldh a, [rLY]
cp $60
- jr c, .WaitLY
+ jr c, .wait
di
ld a, BANK(vBGMap2)
ldh [rVBK], a
hlcoord 0, 0, wAttrmap
- call .CopyTilemapAtOnce
+ call .CopyBGMapViaStack
ld a, BANK(vBGMap0)
ldh [rVBK], a
hlcoord 0, 0
- call .CopyTilemapAtOnce
-.WaitLY2:
+ call .CopyBGMapViaStack
+
+.wait2
ldh a, [rLY]
cp $60
- jr c, .WaitLY2
+ jr c, .wait2
ei
pop af
@@ -38,7 +42,8 @@ SaveMenu_CopyTilemapAtOnce:
ldh [hBGMapMode], a
ret
-.CopyTilemapAtOnce:
+.CopyBGMapViaStack:
+; Copy all tiles to vBGMap
ld [hSPBuffer], sp
ld sp, hl
ldh a, [hBGMapAddress + 1]
@@ -46,16 +51,18 @@ SaveMenu_CopyTilemapAtOnce:
ld l, 0
ld a, SCREEN_HEIGHT
ldh [hTilesPerCycle], a
- ld b, 1 << 1
+ ld b, 1 << 1 ; not in v/hblank
ld c, LOW(rSTAT)
.loop
rept SCREEN_WIDTH / 2
pop de
+; if in v/hblank, wait until not in v/hblank
.loop\@
ldh a, [c]
and b
jr nz, .loop\@
+; load vBGMap
ld [hl], e
inc l
ld [hl], d
diff --git a/engine/menus/scrolling_menu.asm b/engine/menus/scrolling_menu.asm
index 6b0572a6d..0574bc730 100644
--- a/engine/menus/scrolling_menu.asm
+++ b/engine/menus/scrolling_menu.asm
@@ -401,11 +401,11 @@ ScrollingMenu_UpdateDisplay:
ld a, [wMenuDataFlags]
bit 0, a ; call function on cancel
jr nz, .call_function
- ld de, .string_2485f
+ ld de, .CancelString
call PlaceString
ret
-.string_2485f
+.CancelString
db "CANCEL@"
.call_function
diff --git a/engine/menus/trainer_card.asm b/engine/menus/trainer_card.asm
index 712032cbe..726148e20 100644
--- a/engine/menus/trainer_card.asm
+++ b/engine/menus/trainer_card.asm
@@ -356,7 +356,8 @@ TrainerCard_InitBorder:
ld a, $23
ld [hli], a
- ld e, SCREEN_HEIGHT - 1
+
+ ld e, SCREEN_WIDTH - 3
ld a, " "
.loop2
ld [hli], a
@@ -367,11 +368,12 @@ TrainerCard_InitBorder:
ld [hli], a
ld a, $23
ld [hli], a
+
.loop3
ld a, $23
ld [hli], a
- ld e, SCREEN_HEIGHT
+ ld e, SCREEN_WIDTH - 2
ld a, " "
.loop4
ld [hli], a
@@ -380,6 +382,7 @@ TrainerCard_InitBorder:
ld a, $23
ld [hli], a
+
dec d
jr nz, .loop3
@@ -388,14 +391,16 @@ TrainerCard_InitBorder:
ld a, $24
ld [hli], a
- ld e, SCREEN_HEIGHT - 1
+ ld e, SCREEN_WIDTH - 3
ld a, " "
.loop5
ld [hli], a
dec e
jr nz, .loop5
+
ld a, $23
ld [hli], a
+
ld e, SCREEN_WIDTH
.loop6
ld a, $23