summaryrefslogtreecommitdiff
path: root/engine/unknown_e8d35.asm
blob: 955a9f455ea5262bf779eefbc57bc94f5da27bb2 (plain)
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
Func_e8d35:: ; e8d35 (3a:4e79)
	ld a, [wBoxDataStart]
	and a
	jp z, Func_e8df4
	ld a, [wUpdateSpritesEnabled]
	push af
	xor a
	ld [wUpdateSpritesEnabled], a
	ld [hItemCounter], a
	call Func_e8f24
	ld a, [rIE]
	push af
	xor a
	ld [rIF], a
	ld a, $09
	ld [rIE], a
	call SaveScreenTilesToBuffer1
	xor a
	ld [H_AUTOBGTRANSFERENABLED], a
	call Func_e988a
	call Func_e8783
	ld a, $10
	ld [$cae2], a
	call Func_e8efc
	call LoadScreenTilesFromBuffer1
	call Func_e8dfb
	jr c, .asm_e8ddc
	xor a
	ld [wUnknownSerialFlag_d49a], a
	ld [wUnknownSerialFlag_d49b], a
	ld c, 12
	call DelayFrames
	xor a
	ld [H_AUTOBGTRANSFERENABLED], a
	call Func_e98ec
	call Func_e8783
	ld a, $00
	ld [$cae2], a
	call Func_e8efc
	call LoadScreenTilesFromBuffer1
	call Func_e8dfb
	jr c, .asm_e8ddc
	xor a
	ld [wUnknownSerialFlag_d49a], a
	ld [$d49a], a
	ld c, 12
	call DelayFrames
	xor a
	ld [H_AUTOBGTRANSFERENABLED], a
	call Func_e9907
	call Func_e8783
	ld a, $00
	ld [$cae2], a
	call Func_e8efc
	call LoadScreenTilesFromBuffer1
	call Func_e8dfb
	jr c, .asm_e8ddc
	xor a
	ld [wUnknownSerialFlag_d49a], a
	ld [wUnknownSerialFlag_d49b], a
	ld c, 12
	call DelayFrames
	xor a
	ld [H_AUTOBGTRANSFERENABLED], a
	call Func_e9922
	call Func_e8783
	ld a, $03
	ld [$cae2], a
	call Func_e8efc
	call LoadScreenTilesFromBuffer1
	call Func_e8dfb
.asm_e8ddc
	xor a
	ld [wUnknownSerialFlag_d49a], a
	ld [wUnknownSerialFlag_d49b], a
	xor a
	ld [rIF], a
	pop af
	ld [rIE], a
	call Func_0f3d
	call Func_e8f3b
	pop af
	ld [wUpdateSpritesEnabled], a
	ret

Func_e8df4: ; e8df4
	ld hl, String_e8e1f
	call PrintText
	ret

Func_e8dfb: ; e8dfb
	call Func_e8f16
.asm_e8dfe
	call JoypadLowSensitivity
	call Func_e8eca
	jr c, .asm_e8e1d
	ld a, [wOverworldMap]
	bit 7, a
	jr nz, .asm_e8e1b
	call Func_e87a8
	call Func_e8f51
	call Func_e8f82
	call DelayFrame
	jr .asm_e8dfe

.asm_e8e1b
	and a
	ret

.asm_e8e1d
	scf
	ret

String_e8e1f: ; e8e1f
	TX_FAR _NoPokemonText
	db "@"

Func_e8e24: ; e8e24
	xor a
	ld [hItemCounter], a
	call Func_e8f24
	call Func_ea3ea
	ld a, [rIE]
	push af
	xor a
	ld [rIF], a
	ld a, $09
	ld [rIE], a
	call Func_e8783
	ld a, $13
	ld [$cae2], a
	call Func_e8efc
	call Func_e8f16
.asm_e8e45
	call JoypadLowSensitivity
	call Func_e8eca
	jr c, .asm_e8e62
	ld a, [wOverworldMap]
	bit 7, a
	jr nz, .asm_e8e62
	call Func_e87a8
	call Func_e8f51
	call Func_e8f82
	call DelayFrame
	jr .asm_e8e45

.asm_e8e62
	xor a
	ld [wUnknownSerialFlag_d49a], a
	ld [wUnknownSerialFlag_d49b], a
	call Func_e8f09
	xor a
	ld [rIF], a
	pop af
	ld [rIE], a
	call Func_0f3d
	call Func_e8f3b
	ret