1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
RefreshScreen::
call ClearWindowData
ldh a, [hROMBank]
push af
ld a, BANK(ReanchorBGMap_NoOAMUpdate) ; aka BANK(LoadFonts_NoOAMUpdate)
rst Bankswitch
call ReanchorBGMap_NoOAMUpdate
call _OpenAndCloseMenu_HDMATransferTilemapAndAttrmap
call LoadFonts_NoOAMUpdate
pop af
rst Bankswitch
ret
CloseText::
ldh a, [hOAMUpdate]
push af
ld a, $1
ldh [hOAMUpdate], a
call .CloseText
pop af
ldh [hOAMUpdate], a
ret
.CloseText:
call ClearWindowData
xor a
ldh [hBGMapMode], a
call OverworldTextModeSwitch
call _OpenAndCloseMenu_HDMATransferTilemapAndAttrmap
xor a
ldh [hBGMapMode], a
call SafeUpdateSprites
ld a, $90
ldh [hWY], a
farcall _ClearSprites
call UpdatePlayerSprite
ld hl, wEnteredMapFromContinue
res 7, [hl]
call ResetBGWindow
ret
OpenText::
call ClearWindowData
ldh a, [hROMBank]
push af
ld a, BANK(ReanchorBGMap_NoOAMUpdate) ; aka BANK(LoadFonts_NoOAMUpdate)
rst Bankswitch
call ReanchorBGMap_NoOAMUpdate ; clear bgmap
call SpeechTextbox
call _OpenAndCloseMenu_HDMATransferTilemapAndAttrmap ; anchor bgmap
call LoadFonts_NoOAMUpdate ; load font
pop af
rst Bankswitch
ret
_OpenAndCloseMenu_HDMATransferTilemapAndAttrmap::
ldh a, [hOAMUpdate]
push af
ld a, $1
ldh [hOAMUpdate], a
call CGBOnly_CopyTilemapAtOnce
pop af
ldh [hOAMUpdate], a
ret
SafeUpdateSprites::
ldh a, [hOAMUpdate]
push af
ldh a, [hBGMapMode]
push af
xor a
ldh [hBGMapMode], a
ld a, $1
ldh [hOAMUpdate], a
call UpdateSprites
xor a
ldh [hOAMUpdate], a
call DelayFrame
pop af
ldh [hBGMapMode], a
pop af
ldh [hOAMUpdate], a
ret
SetCarryFlag:: ; unreferenced
scf
ret
|