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
|
INCLUDE "code_macros.inc"
INCLUDE "const_macros.inc"
INCLUDE "gfx_macros.inc"
INCLUDE "level_constants.inc"
INCLUDE "puzzle_constants.inc"
SECTION "text_2_char_draw", ROMX[$5e3c], BANK[$01]
puzzle_name_textbox_clear:
xor a
ld [w_dbe4], a
.loop
ld16 w_vwf_char_addr, gfx_blank_char
ld a, BANK(gfx_blank_char)
ld [w_vwf_char_bank], a
ld a, [w_dbe4]
add a
add a
add a
add 40
ld [w_vwf_char_start_x], a
add 7
ld [w_vwf_char_end_x], a
ld a, 15
ld [w_vwf_char_start_y], a
ld a, 26
ld [w_vwf_char_end_y], a
call vwf_char_draw
ld a, [w_dbe4]
inc a
ld [w_dbe4], a
cp 11
jp nz, .loop
ret
SECTION "calc_town_map_puzzle_index", ROMX[$61FA], BANK[$01]
calc_town_map_puzzle_index::
ld a, [w_town_map_level]
cp LEVEL_MEW
jr nz, .not_mew
ld a, PUZZLE_MEW
jp farcall_ret
.not_mew
ld a, [w_town_map_y]
ld c, a
add a
add a
add c
ld c, a
ld a, [w_town_map_x]
add c
ld c, a
ld a, [w_town_map_level]
add a
add a
add a
add a
add c
ld c, a
ld a, [w_town_map_level]
xor $ff
inc a
add c
add TOWN_MAP_PUZZLES
jp farcall_ret
SECTION "function_01_6306", ROMX[$6306], BANK[$01]
function_01_6306::
ld c, 16
.loop
push bc
push hl
push de
push af
ld bc, 8 tiles
call vram_copy
farcall function_05_7089
pop af
pop de
pop hl
push hl
ld hl, 8 tiles
add hl, de
ld e, l
ld d, h
pop hl
ld bc, 8 tiles
add hl, bc
pop bc
dec c
jp nz, .loop
ret
|