summaryrefslogtreecommitdiff
path: root/home/fade.asm
blob: 71a701a09576b914db4e9f8745b3ecbc8ee76b53 (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
; Functions to fade the screen in and out.


Function48c:: ; 48c
	ld a, [TimeOfDayPal]
	ld b, a
	ld hl, IncGradGBPalTable_11
	ld a, l
	sub b
	ld l, a
	jr nc, .asm_499
	dec h

.asm_499
	ld a, [hli]
	ld [rBGP], a
	ld a, [hli]
	ld [rOBP0], a
	ld a, [hli]
	ld [rOBP1], a
	ret
; 4a3


Function4a3:: ; 4a3
	ld a, [hCGB]
	and a
	jr z, .asm_4af
	ld hl, IncGradGBPalTable_00
	ld b, 4
	jr FadeOut

.asm_4af
	ld hl, IncGradGBPalTable_08
	ld b, 4
	jr FadeOut
; 4b6

Function4b6:: ; 4b6
	ld a, [hCGB]
	and a
	jr z, .asm_4c2
	ld hl, IncGradGBPalTable_05
	ld b, 3
	jr FadeOut

.asm_4c2
	ld hl, IncGradGBPalTable_13
	ld b, 3
; 4c7

FadeOut:: ; 4c7
	push de
	ld a, [hli]
	call DmgToCgbBGPals
	ld a, [hli]
	ld e, a
	ld a, [hli]
	ld d, a
	call DmgToCgbObjPals
	ld c, 8
	call DelayFrames
	pop de
	dec b
	jr nz, FadeOut
	ret
; 4dd

Function4dd:: ; 4dd
	ld a, [hCGB]
	and a
	jr z, .asm_4e9
	ld hl, IncGradGBPalTable_04 - 1
	ld b, 4
	jr FadeIn

.asm_4e9
	ld hl, IncGradGBPalTable_12 - 1
	ld b, 4
	jr FadeIn
; 4f0

Function4f0:: ; 4f0
	ld a, [hCGB]
	and a
	jr z, .asm_4fc
	ld hl, IncGradGBPalTable_07 - 1
	ld b, 3
	jr FadeIn

.asm_4fc
	ld hl, IncGradGBPalTable_15 - 1
	ld b, 3
	; fallthrough
; 501

FadeIn:: ; 501
	push de
	ld a, [hld]
	ld d, a
	ld a, [hld]
	ld e, a
	call DmgToCgbObjPals
	ld a, [hld]
	call DmgToCgbBGPals
	ld c, 8
	call DelayFrames
	pop de
	dec b
	jr nz, FadeIn
	ret
; 517


; 517
IncGradGBPalTable_00:: db %11111111, %11111111, %11111111
IncGradGBPalTable_01:: db %11111110, %11111110, %11111110
IncGradGBPalTable_02:: db %11111001, %11111001, %11111001
IncGradGBPalTable_03:: db %11100100, %11100100, %11100100
IncGradGBPalTable_04:: db %11100100, %11100100, %11100100
IncGradGBPalTable_05:: db %10010000, %10010000, %10010000
IncGradGBPalTable_06:: db %01000000, %01000000, %01000000
IncGradGBPalTable_07:: db %00000000, %00000000, %00000000
;                           bgp       obp1       obp2
IncGradGBPalTable_08:: db %11111111, %11111111, %11111111
IncGradGBPalTable_09:: db %11111110, %11111110, %11111000
IncGradGBPalTable_10:: db %11111001, %11100100, %11100100
IncGradGBPalTable_11:: db %11100100, %11010000, %11100000
IncGradGBPalTable_12:: db %11100100, %11010000, %11100000
IncGradGBPalTable_13:: db %10010000, %10000000, %10010000
IncGradGBPalTable_14:: db %01000000, %01000000, %01000000
IncGradGBPalTable_15:: db %00000000, %00000000, %00000000
; 547