pokecrystal/battle/bg_effects.asm

3154 lines
50 KiB
NASM
Raw Normal View History

; BG effects for use in battle animations.
; no known jump sources
Functionc8000: ; c8000 (32:4000)
ld hl, $d3fa
ld e, $5
.asm_c8005
ld a, [hl]
and a
jr z, .asm_c8012
ld c, l
ld b, h
push hl
push de
call Functionc804a
pop de
pop hl
.asm_c8012
ld bc, $4
add hl, bc
dec e
jr nz, .asm_c8005
ret
; no known jump sources
Functionc801a: ; c801a (32:401a)
ld hl, $d3fa
ld e, $5
.asm_c801f
ld a, [hl]
and a
jr z, .asm_c802c
ld bc, $4
add hl, bc
dec e
jr nz, .asm_c801f
scf
ret
.asm_c802c
ld c, l
ld b, h
ld hl, $0
add hl, bc
ld a, [$d419]
ld [hli], a
ld a, [$d41a]
ld [hli], a
ld a, [$d41b]
ld [hli], a
ld a, [$d41c]
ld [hl], a
ret
; known jump sources: c80c6 (32:40c6), c811c (32:411c), c8139 (32:4139), c814d (32:414d), c8164 (32:4164), c81e6 (32:41e6), c81ef (32:41ef), c822c (32:422c), c827d (32:427d), c8299 (32:4299), c82ea (32:42ea), c8377 (32:4377), c8437 (32:4437), c85ca (32:45ca), c85ff (32:45ff), c8d13 (32:4d13), c8dd0 (32:4dd0), c8e26 (32:4e26), c8e4e (32:4e4e), c8f15 (32:4f15)
EndBattleBGEffect: ; c8043 (32:4043)
ld hl, 0
add hl, bc
ld [hl], 0
ret
; known jump sources: c800d (32:400d)
Functionc804a: ; c804a (32:404a)
ld hl, 0
add hl, bc
ld e, [hl]
ld d, 0
ld hl, BattleBGEffects
add hl, de
add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
jp [hl]
; no known jump sources
BattleBGEffects: ; c805a (32:405a)
dw BattleBGEffect_0
dw Functionc80eb
dw Functionc80f3
dw Functionc812d
dw Functionc8141
dw Functionc8155
dw Functionc8171
dw Functionc818b
dw Functionc81a5
dw Functionc81b3
dw Functionc81ea
dw Functionc837b
dw Functionc83a8
dw Functionc8545
dw Functionc8599
dw Functionc863f
dw Functionc8662
dw Functionc8214
dw Functionc8281
dw Functionc8689
dw Functionc8709
dw Functionc8be8
dw Functionc8bf2
dw Functionc8bfd
dw Functionc8c08
dw Functionc8c14
dw Functionc8c20
dw Functionc8c30
dw Functionc8b00
dw Functionc8c3c
dw Functionc8c55
dw Functionc8cf9
dw Functionc8d02
dw Functionc8761
dw Functionc89ee
dw Functionc87a7
dw Functionc8805
dw Functionc8837
dw Functionc892a
dw Functionc82f5
dw Functionc89b5
dw Functionc8607
dw Functionc8a3a
dw Functionc8acc
dw Functionc8964
dw Functionc88e7
dw Functionc8ce1
dw Functionc8919
dw Functionc85c2
dw Functionc85ce
dw Functionc8603
dw Functionc8c61
dw Functionc8ca2
dw Functionc8d3a
; no known jump sources
BattleBGEffect_0: ; c80c6 (32:40c6)
call EndBattleBGEffect
ret
; known jump sources: c8b7d (32:4b7d), c8d80 (32:4d80), c8dd8 (32:4dd8)
Functionc80ca: ; c80ca (32:40ca)
ld hl, $1
add hl, bc
ld l, [hl]
ld h, $0
add hl, hl
add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
ret
; known jump sources: c81b3 (32:41b3), c8214 (32:4214), c8281 (32:4281), c82f5 (32:42f5), c83ed (32:43ed), c8545 (32:4545), c8599 (32:4599), c8607 (32:4607), c863f (32:463f), c8662 (32:4662), c8689 (32:4689), c8709 (32:4709), c8761 (32:4761), c87a7 (32:47a7), c8805 (32:4805), c8837 (32:4837), c88e7 (32:48e7), c8919 (32:4919), c892a (32:492a), c8964 (32:4964), c89b5 (32:49b5), c89ee (32:49ee), c8a3a (32:4a3a), c8acc (32:4acc), c8b05 (32:4b05), c8c61 (32:4c61), c8ca2 (32:4ca2)
Functionc80d7: ; c80d7 (32:40d7)
pop de
ld hl, $1
add hl, bc
ld l, [hl]
ld h, $0
add hl, hl
add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
jp [hl]
; known jump sources: c81c0 (32:41c0), c8230 (32:4230), c825a (32:425a), c829d (32:429d), c82c7 (32:42c7), c8302 (32:4302), c835c (32:435c), c841d (32:441d), c854e (32:454e), c85a2 (32:45a2), c8610 (32:4610), c8648 (32:4648), c866b (32:466b), c8698 (32:4698), c86cb (32:46cb), c8712 (32:4712), c876a (32:476a), c87b2 (32:47b2), c87db (32:47db), c8810 (32:4810), c8842 (32:4842), c8876 (32:4876), c8890 (32:4890), c88f6 (32:48f6), c8933 (32:4933), c896d (32:496d), c89be (32:49be), c89f7 (32:49f7), c8a49 (32:4a49), c8a84 (32:4a84), c8a96 (32:4a96), c8ad3 (32:4ad3), c8b0e (32:4b0e), c8c68 (32:4c68), c8cab (32:4cab), c8d8b (32:4d8b), c8dec (32:4dec), c8def (32:4def), c8df2 (32:4df2)
Functionc80e5: ; c80e5 (32:40e5)
ld hl, $1
add hl, bc
inc [hl]
ret
; no known jump sources
Functionc80eb: ; c80eb (32:40eb)
ld de, .inverted
jp Functionc80fb
; c80f1 (32:40f1)
.inverted
db %11100100 ; 3210
db %00011011 ; 0123
; c80f3
; no known jump sources
Functionc80f3: ; c80f3 (32:40f3)
ld de, .white
jp Functionc80fb
; c80f9 (32:40f9)
.white
db %11100100 ; 3210
db %00000000 ; 0000
; c80fb
; known jump sources: c80ee (32:40ee), c80f6 (32:40f6)
Functionc80fb: ; c80fb (32:40fb)
ld a, $1
ld [$d419], a
ld hl, $1
add hl, bc
ld a, [hl]
and a
jr z, .asm_c810a
dec [hl]
ret
.asm_c810a
ld hl, $2
add hl, bc
ld a, [hl]
ld hl, $1
add hl, bc
ld [hl], a
ld hl, $3
add hl, bc
ld a, [hl]
and a
jr nz, .asm_c8120
call EndBattleBGEffect
ret
.asm_c8120
dec a
ld [hl], a
and 1
ld l, a
ld h, 0
add hl, de
ld a, [hl]
ld [$cfc7], a
ret
; no known jump sources
Functionc812d: ; c812d (32:412d)
ld de, Unknown_c813d
call Functionc8d57
jr c, .asm_c8139
ld [$cfc7], a
ret
.asm_c8139
call EndBattleBGEffect
ret
; c813d (32:413d)
Unknown_c813d:
db $e4, $e0, $d0, $ff
; c8141
; no known jump sources
Functionc8141: ; c8141 (32:4141)
ld de, Unknown_c8151
call Functionc8d57
jr c, .asm_c814d
ld [$cfc7], a
ret
.asm_c814d
call EndBattleBGEffect
ret
; c8151 (32:4151)
Unknown_c8151:
db $e4, $f4, $f8, $ff
; c8155
; no known jump sources
Functionc8155: ; c8155 (32:4155)
ld de, Unknown_c8168
call Functionc8d57
jr c, .asm_c8164
ld [$cfc7], a
ld [$cfc9], a
ret
.asm_c8164
call EndBattleBGEffect
ret
; c8168 (32:4168)
Unknown_c8168:
db $e4, $f8, $fc, $f8, $e4, $90, $40, $90, $fe
; c8171
; no known jump sources
Functionc8171: ; c8171 (32:4171)
call Functionc9059
jr nz, .asm_c817b
ld de, Unknown_c8185
jr .asm_c817e
.asm_c817b
ld de, Unknown_c8188
.asm_c817e
call Functionc8d57
ld [$cfc8], a
ret
; c8185 (32:4185)
Unknown_c8185:
db $e4, $90, $fe
; c8188
Unknown_c8188:
db $f0, $c0, $fe
; c818b
; no known jump sources
Functionc818b: ; c818b (32:418b)
call Functionc9059
jr nz, .asm_c8195
ld de, Unknown_c819f
jr .asm_c8198
.asm_c8195
ld de, Unknown_c81a2
.asm_c8198
call Functionc8d57
ld [$cfc8], a
ret
; c819f (32:419f)
Unknown_c819f:
db $e4, $d8, $fe
; c81a2
Unknown_c81a2:
db $f0, $cc, $fe
; c81a5
; no known jump sources
Functionc81a5: ; c81a5 (32:41a5)
ld de, Unknown_c81af
call Functionc8d57
ld [$cfc7], a
ret
; c81af (32:41af)
Unknown_c81af:
db $1b, $63, $87, $fe
; c81b3
; no known jump sources
Functionc81b3: ; c81b3 (32:41b3)
call Functionc80d7 ; ; ; call does not return
; no known jump sources
Jumptable_c81b6: ; c81b6 (32:41b6)
dw Functionc81c0
dw Functionc80e5
dw Functionc80e5
dw Functionc80e5
dw Functionc81e3
; no known jump sources
Functionc81c0: ; c81c0 (32:41c0)
call Functionc80e5
push bc
call Functionc9038
jr nz, .asm_c81d1
ld hl, $c4ac
ld bc, $707
jr .asm_c81d7
.asm_c81d1
ld hl, $c51a
ld bc, $606
.asm_c81d7
call ClearBox
pop bc
xor a
ld [hBGMapThird], a ; $ff00+$d5
ld a, $1
ld [hBGMapMode], a ; $ff00+$d4
ret
; no known jump sources
Functionc81e3: ; c81e3 (32:41e3)
xor a
ld [hBGMapMode], a ; $ff00+$d4
call EndBattleBGEffect
ret
; no known jump sources
Functionc81ea: ; c81ea (32:41ea)
call Functionc9042
jr z, .asm_c81f3
call EndBattleBGEffect
ret
.asm_c81f3
call Functionc9038
jr nz, .asm_c81fd
ld de, Unknown_c8210
jr .asm_c8200
.asm_c81fd
ld de, Unknown_c820c
.asm_c8200
ld a, e
ld [$d41a], a
ld a, d
ld [$d41b], a
call Functionc83ed
ret
; c820c (32:420c)
Unknown_c820c:
db $00, $31, $00
db $ff
; c8210
Unknown_c8210:
db $03, $00, $03
db $ff
; c8214
; no known jump sources
Functionc8214: ; c8214 (32:4214)
call Functionc80d7 ; ; ; call does not return
; no known jump sources
Jumptable_c8217: ; c8217 (32:4217)
dw Functionc8223
dw Functionc825a
dw Functionc80e5
dw Functionc80e5
dw Functionc80e5
dw Functionc827a
; no known jump sources
Functionc8223: ; c8223 (32:4223)
call Functionc9042
jr z, .asm_c8230
ld hl, $d40e
inc [hl]
call EndBattleBGEffect
ret
.asm_c8230
call Functionc80e5
push bc
call Functionc9038
jr nz, .asm_c8242
ld a, $b8
ld [$d419], a
ld a, $84
jr .asm_c8249
.asm_c8242
ld a, $b9
ld [$d419], a
ld a, $30
.asm_c8249
ld [$d41a], a
ld a, $40
ld [$d41b], a
xor a
ld [$d41c], a
call Functionc82ee
pop bc
ret
; no known jump sources
Functionc825a: ; c825a (32:425a)
call Functionc80e5
push bc
call Functionc9038
jr nz, .asm_c826b
ld hl, $c524
ld bc, $107
jr .asm_c8271
.asm_c826b
ld hl, $c51a
ld bc, $106
.asm_c8271
call ClearBox
ld a, $1
ld [hBGMapMode], a ; $ff00+$d4
pop bc
ret
; no known jump sources
Functionc827a: ; c827a (32:427a)
xor a
ld [hBGMapMode], a ; $ff00+$d4
call EndBattleBGEffect
ret
; no known jump sources
Functionc8281: ; c8281 (32:4281)
call Functionc80d7 ; ; ; call does not return
; no known jump sources
Jumptable_c8284: ; c8284 (32:4284)
dw Functionc8290
dw Functionc82c7
dw Functionc80e5
dw Functionc80e5
dw Functionc80e5
dw Functionc82e7
; no known jump sources
Functionc8290: ; c8290 (32:4290)
call Functionc9042
jr z, .asm_c829d
ld hl, $d40e
inc [hl]
call EndBattleBGEffect
ret
.asm_c829d
call Functionc80e5
push bc
call Functionc9038
jr nz, .asm_c82af
ld a, $ba
ld [$d419], a
ld a, $84
jr .asm_c82b6
.asm_c82af
ld a, $bb
ld [$d419], a
ld a, $30
.asm_c82b6
ld [$d41a], a
ld a, $40
ld [$d41b], a
xor a
ld [$d41c], a
call Functionc82ee
pop bc
ret
; no known jump sources
Functionc82c7: ; c82c7 (32:42c7)
call Functionc80e5
push bc
call Functionc9038
jr nz, .asm_c82d8
ld hl, $c510
ld bc, $207
jr .asm_c82de
.asm_c82d8
ld hl, $c51a
ld bc, $206
.asm_c82de
call ClearBox
ld a, $1
ld [hBGMapMode], a ; $ff00+$d4
pop bc
ret
; no known jump sources
Functionc82e7: ; c82e7 (32:42e7)
xor a
ld [hBGMapMode], a ; $ff00+$d4
call EndBattleBGEffect
ret
; known jump sources: c8255 (32:4255), c82c2 (32:42c2)
Functionc82ee: ; c82ee (32:42ee)
callab Functioncc9a1
ret
; no known jump sources
Functionc82f5: ; c82f5 (32:42f5)
call Functionc80d7 ; ; ; call does not return
; no known jump sources
Jumptable_c82f8: ; c82f8 (32:42f8)
dw Functionc8302
dw Functionc831d
dw Functionc80e5
dw Functionc80e5
dw Functionc8365
; no known jump sources
Functionc8302: ; c8302 (32:4302)
call Functionc80e5
call Functionc9038
ld [hl], a
ld hl, $2
add hl, bc
ld a, [hl]
and a
jr z, .asm_c8315
ld a, $9
jr .asm_c8317
.asm_c8315
ld a, $8
.asm_c8317
ld hl, $3
add hl, bc
ld [hl], a
ret
; no known jump sources
Functionc831d: ; c831d (32:431d)
ld hl, $2
add hl, bc
ld a, [hl]
and a
jr z, .asm_c833e
ld hl, $c518
ld de, $806
.asm_c832b
push de
push hl
.asm_c832d
inc hl
ld a, [hld]
ld [hli], a
dec d
jr nz, .asm_c832d
pop hl
ld de, $14
add hl, de
pop de
dec e
jr nz, .asm_c832b
jr .asm_c8355
.asm_c833e
ld hl, $c4b3
ld de, $807
.asm_c8344
push de
push hl
.asm_c8346
dec hl
ld a, [hli]
ld [hld], a
dec d
jr nz, .asm_c8346
pop hl
ld de, $14
add hl, de
pop de
dec e
jr nz, .asm_c8344
.asm_c8355
xor a
ld [hBGMapThird], a ; $ff00+$d5
ld a, $1
ld [hBGMapMode], a ; $ff00+$d4
call Functionc80e5
ld hl, $3
add hl, bc
dec [hl]
ret
; no known jump sources
Functionc8365: ; c8365 (32:4365)
xor a
ld [hBGMapMode], a ; $ff00+$d4
ld hl, $3
add hl, bc
ld a, [hl]
and a
jr z, .asm_c8377
ld hl, $1
add hl, bc
ld [hl], $1
ret
.asm_c8377
call EndBattleBGEffect
ret
; no known jump sources
Functionc837b: ; c837b (32:437b)
call Functionc9038
jr nz, .asm_c8385
ld de, Unknown_c839e
jr .asm_c8388
.asm_c8385
ld de, Unknown_c8394
.asm_c8388
ld a, e
ld [$d41a], a
ld a, d
ld [$d41b], a
call Functionc83ed
ret
; c8394 (32:4394)
Unknown_c8394:
db $02, $31, $02
db $01, $31, $01
db $00, $31, $00
db $ff
; c839e
Unknown_c839e:
db $05, $00, $05
db $04, $00, $04
db $03, $00, $03
db $ff
; c83a8
; no known jump sources
Functionc83a8: ; c83a8 (32:43a8)
call Functionc9038
jr nz, .asm_c83b2
ld de, Unknown_c83d7
jr .asm_c83b5
.asm_c83b2
ld de, Unknown_c83c1
.asm_c83b5
ld a, e
ld [$d41a], a
ld a, d
ld [$d41b], a
call Functionc83ed
ret
; c83c1 (32:43c1)
Unknown_c83c1:
db $00, $31, $00
db $fe, $66, $00
db $01, $31, $01
db $fe, $44, $01
db $02, $31, $02
db $fe, $22, $02
db $fd, $00, $00
db $ff
; c83d7
Unknown_c83d7:
db $03, $00, $03
db $fe, $77, $03
db $04, $00, $04
db $fe, $55, $04
db $05, $00, $05
db $fe, $33, $05
db $fd, $00, $00
db $ff
; c83ed
; known jump sources: c8208 (32:4208), c8390 (32:4390), c83bd (32:43bd)
Functionc83ed: ; c83ed (32:43ed)
call Functionc80d7 ; ; ; call does not return
; no known jump sources
Jumptable_c83f0: ; c83f0 (32:43f0)
dw Functionc83fa
dw Functionc80e5
dw Functionc80e5
dw Functionc842a
dw Functionc8434
; known jump sources: c8428 (32:4428)
Functionc83fa: ; c83fa (32:43fa)
ld hl, $3
add hl, bc
ld e, [hl]
ld d, $0
inc [hl]
ld a, [$d41a]
ld l, a
ld a, [$d41b]
ld h, a
add hl, de
add hl, de
add hl, de
ld a, [hl]
cp $ff
jr z, Functionc8434
cp $fe
jr z, .asm_c8425
cp $fd
jr z, .asm_c841d
call Functionc8458
.asm_c841d
call Functionc80e5
ld a, $1
ld [hBGMapMode], a ; $ff00+$d4
ret
.asm_c8425
call Functionc843b
jr Functionc83fa
; no known jump sources
Functionc842a: ; c842a (32:442a)
xor a
ld [hBGMapMode], a ; $ff00+$d4
ld hl, $1
add hl, bc
ld [hl], $0
ret
; known jump sources: c8410 (32:4410)
Functionc8434: ; c8434 (32:4434)
xor a
ld [hBGMapMode], a ; $ff00+$d4
call EndBattleBGEffect
ret
; known jump sources: c8425 (32:4425)
Functionc843b: ; c843b (32:443b)
push bc
inc hl
ld a, [hli]
ld b, a
and $f
ld c, a
ld a, b
swap a
and $f
ld b, a
ld e, [hl]
ld d, 0
ld hl, Unknown_c849c
add hl, de
add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
call ClearBox
pop bc
ret
; known jump sources: c841a (32:441a)
Functionc8458: ; c8458 (32:4458)
push bc
push hl
ld e, [hl]
ld d, 0
ld hl, Unknown_c84a8
add hl, de
add hl, de
add hl, de
ld a, [hli]
ld b, a
and $f
ld c, a
ld a, b
swap a
and $f
ld b, a
ld e, [hl]
inc hl
ld d, [hl]
pop hl
inc hl
ld a, [hli]
ld [$d419], a
push de
ld e, [hl]
ld d, 0
ld hl, Unknown_c849c
add hl, de
add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
pop de
.asm_c8484
push bc
push hl
ld a, [$d419]
ld b, a
.asm_c848a
ld a, [de]
add b
ld [hli], a
inc de
dec c
jr nz, .asm_c848a
pop hl
ld bc, $14
add hl, bc
pop bc
dec b
jr nz, .asm_c8484
pop bc
ret
; c849c (32:449c)
Unknown_c849c: ; c849c
dw $c51a ; ( 2, 6)
dw $c543 ; ( 3, 8)
dw $c56c ; ( 4, 10)
dw $c4ac ; (12, 0)
dw $c4d5 ; (13, 2)
dw $c4fe ; (14, 4)
; c84a8
Unknown_c84a8: ; c84a8
dbw $66, Unknown_c84ba
dbw $44, Unknown_c84de
dbw $22, Unknown_c84ee
dbw $77, Unknown_c84f2
dbw $55, Unknown_c8523
dbw $33, Unknown_c853c
; c84ba
Unknown_c84ba: ; c84ba
db $00, $06, $0c, $12, $18, $1e
db $01, $07, $0d, $13, $19, $1f
db $02, $08, $0e, $14, $1a, $20
db $03, $09, $0f, $15, $1b, $21
db $04, $0a, $10, $16, $1c, $22
db $05, $0b, $11, $17, $1d, $23
; c84de
Unknown_c84de: ; c84de
db $00, $0c, $12, $1e
db $02, $0e, $14, $20
db $03, $0f, $15, $21
db $05, $11, $17, $23
; c84ee
Unknown_c84ee: ; c84ee
db $00, $1e
db $05, $23
; c84f2
Unknown_c84f2: ; c84f2
db $00, $07, $0e, $15, $1c, $23, $2a
db $01, $08, $0f, $16, $1d, $24, $2b
db $02, $09, $10, $17, $1e, $25, $2c
db $03, $0a, $11, $18, $1f, $26, $2d
db $04, $0b, $12, $19, $20, $27, $2e
db $05, $0c, $13, $1a, $21, $28, $2f
db $06, $0d, $14, $1b, $22, $29, $30
; c8523
Unknown_c8523: ; c8523
db $00, $07, $15, $23, $2a
db $01, $08, $16, $24, $2b
db $03, $0a, $18, $26, $2d
db $05, $0c, $1a, $28, $2f
db $06, $0d, $1b, $29, $30
; c853c
Unknown_c853c: ; c853c
db $00, $15, $2a
db $03, $18, $2d
db $06, $1b, $30
; c8545
; no known jump sources
Functionc8545: ; c8545 (32:4545)
call Functionc80d7 ; ; ; call does not return
; no known jump sources
Jumptable_c8548: ; c8548 (32:4548)
dw Functionc854e
dw Functionc8557
dw Functionc8561
; no known jump sources
Functionc854e: ; c854e (32:454e)
call Functionc80e5
ld de, $202
call Functionc8f69
; no known jump sources
Functionc8557: ; c8557 (32:4557)
ld a, [hLCDStatCustom] ; $ff00+$c6
and a
ret z
push bc
call Functionc8565
pop bc
ret
; no known jump sources
Functionc8561: ; c8561 (32:4561)
call Functionc8f0a
ret
; known jump sources: c855c (32:455c)
Functionc8565: ; c8565 (32:4565)
ld hl, $d422
ld de, $d423
ld c, $3f
ld a, [hl]
push af
.asm_c856f
ld a, [de]
inc de
ld [hli], a
dec c
jr nz, .asm_c856f
pop af
ld [hl], a
ld de, $d200
ld hl, $d422
ld bc, $0
.asm_c8580
ld a, [$FF00+$c7]
cp e
jr nc, .asm_c858b
push hl
add hl, bc
ld a, [hl]
pop hl
jr .asm_c858c
.asm_c858b
xor a
.asm_c858c
ld [de], a
ld a, c
inc a
and $3f
ld c, a
inc de
ld a, e
cp $5f
jr c, .asm_c8580
ret
; no known jump sources
Functionc8599: ; c8599 (32:4599)
call Functionc80d7 ; ; ; call does not return
; no known jump sources
Jumptable_c859c: ; c859c (32:459c)
dw Functionc85a2
dw Functionc85ba
dw Functionc85be
; no known jump sources
Functionc85a2: ; c85a2 (32:45a2)
call Functionc80e5
call Functionc8eca
ld a, $42
ld [hLCDStatCustom], a ; $ff00+$c6
xor a
ld [$FF00+$c7], a
ld a, $5e
ld [$FF00+$c8], a
ld de, $202
call Functionc8f2e
ret
; no known jump sources
Functionc85ba: ; c85ba (32:45ba)
call Functionc8fef
ret
; no known jump sources
Functionc85be: ; c85be (32:45be)
call Functionc8f0a
ret
; no known jump sources
Functionc85c2: ; c85c2 (32:45c2)
call Functionc8eca
ld a, $42
call Functionc8ede
call EndBattleBGEffect
ret
; no known jump sources
Functionc85ce: ; c85ce (32:45ce)
ld hl, $3
add hl, bc
ld a, [hl]
ld e, a
add $4
ld [hl], a
ld hl, $2
add hl, bc
ld a, [hl]
and $f0
swap a
xor $ff
add $4
ld d, a
ld hl, $1
add hl, bc
ld a, [hl]
ld [$d419], a
ld hl, $2
add hl, bc
ld a, [hl]
cp $20
jr nc, .asm_c85fc
inc [hl]
inc [hl]
call Functionc8f9a
ret
.asm_c85fc
call Functionc8eca
call EndBattleBGEffect
ret
; no known jump sources
Functionc8603: ; c8603 (32:4603)
call Functionc8f0a
ret
; no known jump sources
Functionc8607: ; c8607 (32:4607)
call Functionc80d7 ; ; ; call does not return
; no known jump sources
Jumptable_c860a: ; c860a (32:460a)
dw Functionc8610
dw Functionc862e
dw Functionc863b
; no known jump sources
Functionc8610: ; c8610 (32:4610)
call Functionc80e5
call Functionc8eca
ld a, $43
ld [hLCDStatCustom], a ; $ff00+$c6
xor a
ld [$FF00+$c7], a
ld a, $5f
ld [$FF00+$c8], a
ld de, $605
call Functionc8f2e
ld hl, $3
add hl, bc
ld [hl], $0
ret
; no known jump sources
Functionc862e: ; c862e (32:462e)
ld hl, $3
add hl, bc
ld a, [hl]
inc [hl]
and $3
ret nz
call Functionc8fef
ret
; no known jump sources
Functionc863b: ; c863b (32:463b)
call Functionc8f0a
ret
; no known jump sources
Functionc863f: ; c863f (32:463f)
call Functionc80d7 ; ; ; call does not return
; no known jump sources
Jumptable_c8642: ; c8642 (32:4642)
dw Functionc8648
dw Functionc865a
dw Functionc865e
; no known jump sources
Functionc8648: ; c8648 (32:4648)
call Functionc80e5
call Functionc8eca
ld a, $43
call Functionc8ede
ld de, $605
call Functionc8f2e
ret
; no known jump sources
Functionc865a: ; c865a (32:465a)
call Functionc8fef
ret
; no known jump sources
Functionc865e: ; c865e (32:465e)
call Functionc8f0a
ret
; no known jump sources
Functionc8662: ; c8662 (32:4662)
call Functionc80d7 ; ; ; call does not return
; no known jump sources
Jumptable_c8665: ; c8665 (32:4665)
dw Functionc866b
dw Functionc8681
dw Functionc8685
; no known jump sources
Functionc866b: ; c866b (32:466b)
call Functionc80e5
call Functionc8eca
ld a, $42
call Functionc8ede
ld hl, $3
add hl, bc
ld e, [hl]
ld d, $2
call Functionc8f2e
ret
; no known jump sources
Functionc8681: ; c8681 (32:4681)
call Functionc8fef
ret
; no known jump sources
Functionc8685: ; c8685 (32:4685)
call Functionc8f0a
ret
; no known jump sources
Functionc8689: ; c8689 (32:4689)
call Functionc80d7 ; ; ; call does not return
; no known jump sources
Jumptable_c868c: ; c868c (32:468c)
dw Functionc8698
dw Functionc86af
dw Functionc86cf
dw Functionc86bd
dw Functionc86e9
dw Functionc8705
; no known jump sources
Functionc8698: ; c8698 (32:4698)
call Functionc80e5
call Functionc8eca
ld a, $43
call Functionc8ede
ld a, [$FF00+$c8]
inc a
ld [$FF00+$c8], a
ld hl, $2
add hl, bc
ld [hl], $0
ret
; no known jump sources
Functionc86af: ; c86af (32:46af)
ld hl, $3
add hl, bc
ld a, [hl]
cp $10
jr nc, asm_c86cb
inc [hl]
call Functionc86ea
ret
; no known jump sources
Functionc86bd: ; c86bd (32:46bd)
ld hl, $3
add hl, bc
ld a, [hl]
cp $ff
jr z, asm_c86cb
dec [hl]
call Functionc86ea
ret
asm_c86cb: ; c86cb (32:46cb)
call Functionc80e5
ret
; no known jump sources
Functionc86cf: ; c86cf (32:46cf)
ld hl, $2
add hl, bc
ld a, [hl]
ld d, $2
call Functionc905d
ld hl, $3
add hl, bc
add [hl]
call Functionc86ea
ld hl, $2
add hl, bc
ld a, [hl]
add $4
ld [hl], a
; no known jump sources
Functionc86e9: ; c86e9 (32:46e9)
ret
; known jump sources: c86b9 (32:46b9), c86c7 (32:46c7), c86de (32:46de)
Functionc86ea: ; c86ea (32:46ea)
ld e, a
xor $ff
inc a
ld d, a
ld h, $d2
ld a, [$FF00+$c7]
ld l, a
ld a, [$FF00+$c8]
sub l
srl a
push af
.asm_c86fa
ld [hl], e
inc hl
ld [hl], d
inc hl
dec a
jr nz, .asm_c86fa
pop af
ret nc
ld [hl], e
ret
; no known jump sources
Functionc8705: ; c8705 (32:4705)
call Functionc8f0a
ret
; no known jump sources
Functionc8709: ; c8709 (32:4709)
call Functionc80d7 ; ; ; call does not return
; no known jump sources
Jumptable_c870c: ; c870c (32:470c)
dw Functionc8712
dw Functionc8732
dw Functionc875d
; no known jump sources
Functionc8712: ; c8712 (32:4712)
call Functionc80e5
call Functionc8eca
ld a, $42
call Functionc8ede
ld hl, $3
add hl, bc
ld e, [hl]
ld d, $2
call Functionc8f2e
ld h, $d2
ld a, [$FF00+$c8]
ld l, a
ld [hl], $0
dec l
ld [hl], $0
ret
; no known jump sources
Functionc8732: ; c8732 (32:4732)
ld a, [$FF00+$c8]
ld l, a
ld h, $d2
ld e, l
ld d, h
dec de
.asm_c873a
ld a, [de]
dec de
ld [hld], a
ld a, [$FF00+$c7]
cp l
jr nz, .asm_c873a
ld [hl], $90
ld a, [$FF00+$c8]
ld l, a
ld a, [hl]
cp $1
jr c, .asm_c8752
cp $90
jr z, .asm_c8752
ld [hl], $0
.asm_c8752
dec l
ld a, [hl]
cp $2
ret c
cp $90
ret z
ld [hl], $0
ret
; no known jump sources
Functionc875d: ; c875d (32:475d)
call Functionc8f0a
ret
; no known jump sources
Functionc8761: ; c8761 (32:4761)
call Functionc80d7 ; ; ; call does not return
; no known jump sources
Jumptable_c8764: ; c8764 (32:4764)
dw Functionc876a
dw Functionc8781
dw Functionc87a3
; no known jump sources
Functionc876a: ; c876a (32:476a)
call Functionc80e5
call Functionc8eca
ld a, $42
call Functionc8ede
ld a, [$FF00+$c8]
inc a
ld [$FF00+$c8], a
ld hl, $2
add hl, bc
ld [hl], $1
ret
; no known jump sources
Functionc8781: ; c8781 (32:4781)
ld hl, $3
add hl, bc
ld a, [hl]
and $3f
ld d, a
ld hl, $2
add hl, bc
ld a, [hl]
cp d
ret nc
call Functionc901b
ld hl, $3
add hl, bc
ld a, [hl]
rlca
rlca
and $3
ld hl, $2
add hl, bc
add [hl]
ld [hl], a
ret
; no known jump sources
Functionc87a3: ; c87a3 (32:47a3)
call Functionc8f0a
ret
; no known jump sources
Functionc87a7: ; c87a7 (32:47a7)
call Functionc80d7 ; ; ; call does not return
; no known jump sources
Jumptable_c87aa: ; c87aa (32:47aa)
dw Functionc87b2
dw Functionc87cf
dw Functionc87de
dw Functionc8801
; no known jump sources
Functionc87b2: ; c87b2 (32:47b2)
call Functionc80e5
call Functionc8eca
ld a, $42
call Functionc8ede
ld a, [$FF00+$c8]
inc a
ld [$FF00+$c8], a
ld hl, $2
add hl, bc
ld [hl], $2
ld hl, $3
add hl, bc
ld [hl], $0
ret
; no known jump sources
Functionc87cf: ; c87cf (32:47cf)
ld hl, $3
add hl, bc
ld a, [hl]
and a
jr z, .asm_c87d9
dec [hl]
ret
.asm_c87d9
ld [hl], $10
call Functionc80e5
; no known jump sources
Functionc87de: ; c87de (32:47de)
ld a, [$FF00+$c7]
ld l, a
ld a, [$FF00+$c8]
sub l
dec a
ld hl, $2
add hl, bc
cp [hl]
ret c
ld a, [hl]
push af
and $7
jr nz, .asm_c87f6
ld hl, $1
add hl, bc
dec [hl]
.asm_c87f6
pop af
call Functionc901b
ld hl, $2
add hl, bc
inc [hl]
inc [hl]
ret
; no known jump sources
Functionc8801: ; c8801 (32:4801)
call Functionc8f0a
ret
; no known jump sources
Functionc8805: ; c8805 (32:4805)
call Functionc80d7 ; ; ; call does not return
; no known jump sources
Jumptable_c8808: ; c8808 (32:4808)
dw Functionc8810
dw Functionc8869
dw Functionc8888
dw Functionc8833
; no known jump sources
Functionc8810: ; c8810 (32:4810)
call Functionc80e5
call Functionc8eca
ld a, $43
call Functionc8ede
ld a, [$FF00+$c8]
inc a
ld [$FF00+$c8], a
ld hl, $3
add hl, bc
ld [hl], $0
call Functionc9038
jr nz, .asm_c882f
ld a, $2
jr .asm_c8831
.asm_c882f
ld a, $fe
.asm_c8831
ld [hl], a
ret
; no known jump sources
Functionc8833: ; c8833 (32:4833)
call Functionc8f0a
ret
; no known jump sources
Functionc8837: ; c8837 (32:4837)
call Functionc80d7 ; ; ; call does not return
; no known jump sources
Jumptable_c883a: ; c883a (32:483a)
dw Functionc8842
dw Functionc8869
dw Functionc8888
dw Functionc8865
; no known jump sources
Functionc8842: ; c8842 (32:4842)
call Functionc80e5
call Functionc8eca
ld a, $43
call Functionc8ef4
ld a, [$FF00+$c8]
inc a
ld [$FF00+$c8], a
ld hl, $3
add hl, bc
ld [hl], $0
call Functionc9038
jr nz, .asm_c8861
ld a, $2
jr .asm_c8863
.asm_c8861
ld a, $fe
.asm_c8863
ld [hl], a
ret
; no known jump sources
Functionc8865: ; c8865 (32:4865)
call Functionc8f0a
ret
; no known jump sources
Functionc8869: ; c8869 (32:4869)
ld hl, $3
add hl, bc
ld a, [hl]
cp $f8
jr z, .asm_c8876
cp $8
jr nz, .asm_c8879
.asm_c8876
call Functionc80e5
.asm_c8879
call Functionc88a5
ld hl, $2
add hl, bc
ld a, [hl]
ld hl, $3
add hl, bc
add [hl]
ld [hl], a
ret
; no known jump sources
Functionc8888: ; c8888 (32:4888)
ld hl, $3
add hl, bc
ld a, [hl]
and a
jr nz, .asm_c8893
call Functionc80e5
.asm_c8893
call Functionc88a5
ld hl, $2
add hl, bc
ld a, [hl]
xor $ff
inc a
ld hl, $3
add hl, bc
add [hl]
ld [hl], a
ret
; known jump sources: c8879 (32:4879), c8893 (32:4893)
Functionc88a5: ; c88a5 (32:48a5)
push af
ld a, [FXAnimIDHi] ; $cfc3
or a
jr nz, .asm_c88b3
ld a, [FXAnimIDLo] ; $cfc2
cp ROLLOUT
jr z, .asm_c88b7
.asm_c88b3
pop af
jp Functionc900b
.asm_c88b7
ld a, [$FF00+$c7]
ld d, a
ld a, [$FF00+$c8]
sub d
ld d, a
ld h, LYOverridesBackup / $100
ld a, [hSCY] ; $ff00+$d0
or a
jr nz, .asm_c88d0
ld a, [$FF00+$c7]
or a
jr z, .asm_c88d6
dec a
ld l, a
ld [hl], $0
jr .asm_c88d6
.asm_c88d0
ld a, [$FF00+$c8]
dec a
ld l, a
ld [hl], $0
.asm_c88d6
ld a, [hSCY] ; $ff00+$d0
ld l, a
ld a, [$FF00+$c7]
sub l
jr nc, .asm_c88e0
xor a
dec d
.asm_c88e0
ld l, a
pop af
.asm_c88e2
ld [hli], a
dec d
jr nz, .asm_c88e2
ret
; no known jump sources
Functionc88e7: ; c88e7 (32:48e7)
call Functionc80d7 ; ; ; call does not return
; no known jump sources
Jumptable_c88ea: ; c88ea (32:48ea)
dw Functionc88f6
dw Functionc8869
dw Functionc8888
dw Functionc88f2
; no known jump sources
Functionc88f2: ; c88f2 (32:48f2)
call Functionc8f0a
ret
; no known jump sources
Functionc88f6: ; c88f6 (32:48f6)
call Functionc80e5
call Functionc8eca
ld a, $43
call Functionc8ede
ld a, [$FF00+$c8]
inc a
ld [$FF00+$c8], a
ld hl, $3
add hl, bc
ld [hl], $0
call Functionc9038
jr nz, .asm_c8915
ld a, $fe
jr .asm_c8917
.asm_c8915
ld a, $2
.asm_c8917
ld [hl], a
ret
; no known jump sources
Functionc8919: ; c8919 (32:4919)
call Functionc80d7 ; ; ; call does not return
; no known jump sources
Jumptable_c891c: ; c891c (32:491c)
dw Functionc88f6
dw Functionc8869
dw Functionc8929
dw Functionc8888
dw Functionc8926
; no known jump sources
Functionc8926: ; c8926 (32:4926)
call Functionc8f0a
; no known jump sources
Functionc8929: ; c8929 (32:4929)
ret
; no known jump sources
Functionc892a: ; c892a (32:492a)
call Functionc80d7 ; ; ; call does not return
; no known jump sources
Jumptable_c892d: ; c892d (32:492d)
dw Functionc8933
dw Functionc894a
dw Functionc8960
; no known jump sources
Functionc8933: ; c8933 (32:4933)
call Functionc80e5
call Functionc8eca
ld a, $43
call Functionc8ede
ld a, [$FF00+$c8]
inc a
ld [$FF00+$c8], a
ld hl, $3
add hl, bc
ld [hl], $0
ret
; no known jump sources
Functionc894a: ; c894a (32:494a)
ld hl, $3
add hl, bc
ld a, [hl]
ld d, $8
call Functionc905d
call Functionc900b
ld hl, $3
add hl, bc
ld a, [hl]
add $4
ld [hl], a
ret
; no known jump sources
Functionc8960: ; c8960 (32:4960)
call Functionc8f0a
ret
; no known jump sources
Functionc8964: ; c8964 (32:4964)
call Functionc80d7 ; ; ; call does not return
; no known jump sources
Jumptable_c8967: ; c8967 (32:4967)
dw Functionc896d
dw Functionc8985
dw Functionc89b1
; no known jump sources
Functionc896d: ; c896d (32:496d)
call Functionc80e5
call Functionc8eca
ld a, $43
call Functionc8ede
ld a, [$FF00+$c8]
inc a
ld [$FF00+$c8], a
xor a
ld hl, $2
add hl, bc
ld [hli], a
ld [hl], a
ret
; no known jump sources
Functionc8985: ; c8985 (32:4985)
ld hl, $3
add hl, bc
ld a, [hl]
ld d, $6
call Functionc905d
push af
ld hl, $2
add hl, bc
ld a, [hl]
ld d, $2
call Functionc905d
ld e, a
pop af
add e
call Functionc900b
ld hl, $2
add hl, bc
ld a, [hl]
add $8
ld [hl], a
ld hl, $3
add hl, bc
ld a, [hl]
add $2
ld [hl], a
ret
; no known jump sources
Functionc89b1: ; c89b1 (32:49b1)
call Functionc8f0a
ret
; no known jump sources
Functionc89b5: ; c89b5 (32:49b5)
call Functionc80d7 ; ; ; call does not return
; no known jump sources
Jumptable_c89b8: ; c89b8 (32:49b8)
dw Functionc89be
dw Functionc89ca
dw Functionc89da
; no known jump sources
Functionc89be: ; c89be (32:49be)
call Functionc80e5
call Functionc8eca
ld a, $43
call Functionc8ede
ret
; no known jump sources
Functionc89ca: ; c89ca (32:49ca)
ld hl, $3
add hl, bc
ld a, [hl]
cp $20
ret nc
inc [hl]
ld d, a
ld e, $4
call Functionc8f2e
ret
; no known jump sources
Functionc89da: ; c89da (32:49da)
ld hl, $3
add hl, bc
ld a, [hl]
and a
jr z, .asm_c89ea
dec [hl]
ld d, a
ld e, $4
call Functionc8f2e
ret
.asm_c89ea
call Functionc8f0a
ret
; no known jump sources
Functionc89ee: ; c89ee (32:49ee)
call Functionc80d7 ; ; ; call does not return
; no known jump sources
Jumptable_c89f1: ; c89f1 (32:49f1)
dw Functionc89f7
dw Functionc8a14
dw Functionc8a36
; no known jump sources
Functionc89f7: ; c89f7 (32:49f7)
call Functionc80e5
call Functionc8eca
ld a, $42
call Functionc8ef4
ld a, [$FF00+$c8]
inc a
ld [$FF00+$c8], a
ld hl, $2
add hl, bc
ld [hl], $1
ld hl, $3
add hl, bc
ld [hl], $20
ret
; no known jump sources
Functionc8a14: ; c8a14 (32:4a14)
ld hl, $2
add hl, bc
ld a, [hl]
cp $38
ret nc
push af
ld hl, $3
add hl, bc
ld a, [hl]
ld d, $10
call Functionc9066
add $10
ld d, a
pop af
add d
call Functionc901b
ld hl, $3
add hl, bc
inc [hl]
inc [hl]
ret
; no known jump sources
Functionc8a36: ; c8a36 (32:4a36)
call Functionc8f0a
ret
; no known jump sources
Functionc8a3a: ; c8a3a (32:4a3a)
call Functionc80d7 ; ; ; call does not return
; no known jump sources
Jumptable_c8a3d: ; c8a3d (32:4a3d)
dw Functionc8a49
dw Functionc8a6f
dw Functionc8a70
dw Functionc8a88
dw Functionc8a6f
dw Functionc8aac
; no known jump sources
Functionc8a49: ; c8a49 (32:4a49)
call Functionc80e5
ld a, $e4
call Functionc8ecb
ld a, $47
call Functionc8ede
ld a, [$FF00+$c8]
inc a
ld [$FF00+$c8], a
ld a, [$FF00+$c7]
ld l, a
ld h, $d2
.asm_c8a60
ld a, [$FF00+$c8]
cp l
jr z, .asm_c8a69
xor a
ld [hli], a
jr .asm_c8a60
.asm_c8a69
ld hl, $3
add hl, bc
ld [hl], $0
; no known jump sources
Functionc8a6f: ; c8a6f (32:4a6f)
ret
; no known jump sources
Functionc8a70: ; c8a70 (32:4a70)
call Functionc8ab0
jr nc, .asm_c8a79
call Functionc8a9a
ret
.asm_c8a79
ld hl, $3
add hl, bc
ld [hl], $0
ld a, [$FF00+$c7]
inc a
ld [$FF00+$c7], a
call Functionc80e5
ret
; no known jump sources
Functionc8a88: ; c8a88 (32:4a88)
call Functionc8ab0
jr nc, .asm_c8a96
call Functionc8a9a
ld a, [$FF00+$c8]
dec a
ld l, a
ld [hl], e
ret
.asm_c8a96
call Functionc80e5
ret
; known jump sources: c8a75 (32:4a75), c8a8d (32:4a8d)
Functionc8a9a: ; c8a9a (32:4a9a)
ld e, a
ld a, [$FF00+$c7]
ld l, a
ld a, [$FF00+$c8]
sub l
srl a
ld h, $d2
.asm_c8aa5
ld [hl], e
inc hl
inc hl
dec a
jr nz, .asm_c8aa5
ret
; no known jump sources
Functionc8aac: ; c8aac (32:4aac)
call Functionc8f19
ret
; known jump sources: c8a70 (32:4a70), c8a88 (32:4a88)
Functionc8ab0: ; c8ab0 (32:4ab0)
ld hl, $3
add hl, bc
ld a, [hl]
inc [hl]
srl a
srl a
srl a
ld e, a
ld d, 0
ld hl, Unknown_c8ac7
add hl, de
ld a, [hl]
cp $ff
ret
; c8ac7 (32:4ac7)
Unknown_c8ac7:
db $00, $40, $90, $e4, $ff
; c8acc
; no known jump sources
Functionc8acc: ; c8acc (32:4acc)
call Functionc80d7 ; ; ; call does not return
; no known jump sources
Jumptable_c8acf: ; c8acf (32:4acf)
dw Functionc8ad3
dw Functionc8ae5
; no known jump sources
Functionc8ad3: ; c8ad3 (32:4ad3)
call Functionc80e5
call Functionc8eca
ld a, $43
call Functionc8ede
ld hl, $2
add hl, bc
ld [hl], $40
ret
; no known jump sources
Functionc8ae5: ; c8ae5 (32:4ae5)
ld hl, $2
add hl, bc
ld a, [hl]
and a
jr z, .asm_c8afc
dec [hl]
srl a
srl a
srl a
and $f
ld d, a
ld e, a
call Functionc8f2e
ret
.asm_c8afc
call Functionc8f0a
ret
; no known jump sources
Functionc8b00: ; c8b00 (32:4b00)
ld a, [hCGB] ; $ff00+$e6
and a
jr nz, asm_c8b7a
call Functionc80d7 ; ; ; call does not return
; no known jump sources
Jumptable_c8b08: ; c8b08 (32:4b08)
dw Functionc8b0e
dw Functionc8b22
dw Functionc8b60
; no known jump sources
Functionc8b0e: ; c8b0e (32:4b0e)
call Functionc80e5
ld a, $e4
call Functionc8ecb
ld a, $47
ld [hLCDStatCustom], a ; $ff00+$c6
xor a
ld [$FF00+$c7], a
ld a, $60
ld [$FF00+$c8], a
ret
; no known jump sources
Functionc8b22: ; c8b22 (32:4b22)
ld hl, $3
add hl, bc
ld a, [hl]
inc [hl]
ld e, a
and $7
ret nz
ld a, e
and $18
sla a
swap a
sla a
ld e, a
ld d, $0
push bc
call Functionc9038
jr nz, .asm_c8b4d
ld hl, Unknown_c8bd8
add hl, de
ld a, [hli]
ld [$cfc9], a
ld d, a
ld e, [hl]
ld bc, $2f30
jr .asm_c8b5b
.asm_c8b4d
ld hl, Unknown_c8be0
add hl, de
ld d, [hl]
inc hl
ld a, [hl]
ld [$cfc9], a
ld e, a
ld bc, $3728
.asm_c8b5b
call Functionc8b6c
pop bc
ret
; no known jump sources
Functionc8b60: ; c8b60 (32:4b60)
call Functionc8f19
ld a, $e4
ld [$cfc7], a
ld [$cfc9], a
ret
; known jump sources: c8b5b (32:4b5b)
Functionc8b6c: ; c8b6c (32:4b6c)
ld hl, $d200
.asm_c8b6f
ld [hl], d
inc hl
dec b
jr nz, .asm_c8b6f
.asm_c8b74
ld [hl], e
inc hl
dec c
jr nz, .asm_c8b74
ret
asm_c8b7a: ; c8b7a (32:4b7a)
ld de, Jumptable_c8b81
call Functionc80ca
jp [hl]
; c8b81 (32:4b81)
Jumptable_c8b81: ; c8b81
dw Functionc8b87
dw Functionc8b91
dw Functionc8bca
; c8b87
Functionc8b87: ; c8b87
call Functionc80e5
ld hl, $0003
add hl, bc
ld [hl], $0
ret
; c8b91
Functionc8b91: ; c8b91
ld hl, $0003
add hl, bc
ld a, [hl]
inc [hl]
ld e, a
and $7
ret nz
ld a, e
and $18
sla a
swap a
sla a
ld e, a
ld d, 0
call Functionc9038
jr nz, .asm_c8bbb
ld hl, Unknown_c8bd8
add hl, de
ld a, [hli]
push hl
call Functionc8e7f
pop hl
ld a, [hl]
call Functionc8e52
ret
.asm_c8bbb
ld hl, Unknown_c8bd8
add hl, de
ld a, [hli]
push hl
call Functionc8e52
pop hl
ld a, [hl]
call Functionc8e7f
ret
; c8bca
Functionc8bca: ; c8bca
ld a, $e4
call Functionc8e52
ld a, $e4
call Functionc8e7f
call EndBattleBGEffect
ret
; c8bd8
Unknown_c8bd8: ; c8bd8
db $e4, $e4
db $f8, $90
db $fc, $40
db $f8, $90
; c8be0
Unknown_c8be0: ; c8be0
db $e4, $e4
db $90, $f8
db $40, $fc
db $90, $f8
; c8be8
; no known jump sources
Functionc8be8: ; c8be8 (32:4be8)
ld de, Unknown_c8bef
call Functionc8d77
ret
; c8bef (32:4bef)
Unknown_c8bef: ; c8bef
db $e4, $6c, $fe
; c8bf2
; no known jump sources
Functionc8bf2: ; c8bf2 (32:4bf2)
ld de, Unknown_c8bf9
call Functionc8d77
ret
; c8bf9 (32:4bf9)
Unknown_c8bf9: ; c8bf9
db $e4, $90, $40, $ff
; c8bfd
; no known jump sources
Functionc8bfd: ; c8bfd (32:4bfd)
ld de, Unknown_c8c04
call Functionc8d77
ret
; c8c04 (32:4c04)
Unknown_c8c04: ; c8c04
db $e4, $f8, $fc, $ff
; c8c08
; no known jump sources
Functionc8c08: ; c8c08 (32:4c08)
ld de, Unknown_c8c0f
call Functionc8d77
ret
; c8c0f (32:4c0f)
Unknown_c8c0f: ; c8c0f
db $e4, $90, $40, $90, $fe
; c8c14
; no known jump sources
Functionc8c14: ; c8c14 (32:4c14)
ld de, Unknown_c8c1b
call Functionc8d77
ret
; c8c1b (32:4c1b)
Unknown_c8c1b: ; c8c1b
db $e4, $f8, $fc, $f8, $fe
; c8c20
; no known jump sources
Functionc8c20: ; c8c20 (32:4c20)
ld de, Unknown_c8c27
call Functionc8d77
ret
; c8c27 (32:4c27)
Unknown_c8c27: ; c8c27
db $e4, $f8, $fc, $f8, $e4, $90, $40, $90, $fe
; c8c30
; no known jump sources
Functionc8c30: ; c8c30 (32:4c30)
ld de, Unknown_c8c37
call Functionc8d77
ret
; c8c37 (32:4c37)
Unknown_c8c37:
db $e4, $fc, $e4, $00, $fe
; c8c3c
; no known jump sources
Functionc8c3c: ; c8c3c (32:4c3c)
ld de, Unknown_c8c43
call Functionc8d77
ret
; c8c43 (32:4c43)
Unknown_c8c43:
db $e4, $90, $40, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $90, $e4, $ff
; c8c55
; no known jump sources
Functionc8c55: ; c8c55 (32:4c55)
ld de, Unknown_c8c5c
call Functionc8d77
ret
; c8c5c (32:4c5c)
Unknown_c8c5c:
db $00, $40, $90, $e4, $ff
; c8c61
; no known jump sources
Functionc8c61: ; c8c61 (32:4c61)
call Functionc80d7 ; ; ; call does not return
; no known jump sources
Jumptable_c8c64: ; c8c64 (32:4c64)
dw Functionc8c68
dw Functionc8c85
; no known jump sources
Functionc8c68: ; c8c68 (32:4c68)
call Functionc80e5
call Functionc8eca
ld a, $43
call Functionc8ede
ld a, [$FF00+$c8]
inc a
ld [$FF00+$c8], a
ld hl, $2
add hl, bc
ld [hl], $1
ld hl, $3
add hl, bc
ld [hl], $20
ret
; no known jump sources
Functionc8c85: ; c8c85 (32:4c85)
ld hl, $3
add hl, bc
ld a, [hl]
and a
jr z, .asm_c8c9e
dec [hl]
and $1
ret nz
ld hl, $2
add hl, bc
ld a, [hl]
xor $ff
inc a
ld [hl], a
call Functionc900b
ret
.asm_c8c9e
call Functionc8f0a
ret
; no known jump sources
Functionc8ca2: ; c8ca2 (32:4ca2)
call Functionc80d7 ; ; ; call does not return
; no known jump sources
Jumptable_c8ca5: ; c8ca5 (32:4ca5)
dw Functionc8cab
dw Functionc8cc3
dw Functionc8cdd
; no known jump sources
Functionc8cab: ; c8cab (32:4cab)
call Functionc80e5
call Functionc8eca
ld a, $43
ld [hLCDStatCustom], a ; $ff00+$c6
xor a
ld [$FF00+$c7], a
ld a, $37
ld [$FF00+$c8], a
ld hl, $3
add hl, bc
ld [hl], $0
ret
; no known jump sources
Functionc8cc3: ; c8cc3 (32:4cc3)
ld hl, $3
add hl, bc
ld a, [hl]
cp $40
jr nc, Functionc8cdd
ld d, $6
call Functionc905d
call Functionc900b
ld hl, $3
add hl, bc
ld a, [hl]
add $2
ld [hl], a
ret
; known jump sources: c8cca (32:4cca)
Functionc8cdd: ; c8cdd (32:4cdd)
call Functionc8f0a
ret
; no known jump sources
Functionc8ce1: ; c8ce1 (32:4ce1)
call Functionc8d0b
jr c, .asm_c8cea
bit 7, a
jr z, .asm_c8ceb
.asm_c8cea
xor a
.asm_c8ceb
push af
call DelayFrame
pop af
ld [hSCY], a ; $ff00+$d0
xor $ff
inc a
ld [$d314], a
ret
; no known jump sources
Functionc8cf9: ; c8cf9 (32:4cf9)
call Functionc8d0b
jr nc, .asm_c8cff
xor a
.asm_c8cff
ld [hSCX], a ; $ff00+$cf
ret
; no known jump sources
Functionc8d02: ; c8d02 (32:4d02)
call Functionc8d0b
jr nc, .asm_c8d08
xor a
.asm_c8d08
ld [hSCY], a ; $ff00+$d0
ret
; known jump sources: c8ce1 (32:4ce1), c8cf9 (32:4cf9), c8d02 (32:4d02)
Functionc8d0b: ; c8d0b (32:4d0b)
ld hl, $1
add hl, bc
ld a, [hl]
and a
jr nz, .asm_c8d18
call EndBattleBGEffect
scf
ret
.asm_c8d18
dec [hl]
ld hl, $3
add hl, bc
ld a, [hl]
and $f
jr z, .asm_c8d2a
dec [hl]
ld hl, $2
add hl, bc
ld a, [hl]
and a
ret
.asm_c8d2a
ld a, [hl]
swap a
or [hl]
ld [hl], a
ld hl, $2
add hl, bc
ld a, [hl]
xor $ff
inc a
ld [hl], a
and a
ret
; no known jump sources
Functionc8d3a: ; c8d3a (32:4d3a)
ld hl, $3
add hl, bc
ld a, [hl]
cp $40
jr nc, .asm_c8d53
ld d, $6
call Functionc905d
ld [hSCX], a ; $ff00+$cf
ld hl, $3
add hl, bc
ld a, [hl]
add $2
ld [hl], a
ret
.asm_c8d53
xor a
ld [hSCX], a ; $ff00+$cf
ret
; known jump sources: c8130 (32:4130), c8144 (32:4144), c8158 (32:4158), c817e (32:417e), c8198 (32:4198), c81a8 (32:41a8)
Functionc8d57: ; c8d57 (32:4d57)
ld hl, $1
add hl, bc
ld a, [hl]
and a
jr z, .asm_c8d69
dec [hl]
ld hl, $3
add hl, bc
ld a, [hl]
call Functionc8eb2
ret
.asm_c8d69
ld hl, $2
add hl, bc
ld a, [hl]
ld hl, $1
add hl, bc
ld [hl], a
call Functionc8eac
ret
; known jump sources: c8beb (32:4beb), c8bf5 (32:4bf5), c8c00 (32:4c00), c8c0b (32:4c0b), c8c17 (32:4c17), c8c23 (32:4c23), c8c33 (32:4c33), c8c3f (32:4c3f), c8c58 (32:4c58)
Functionc8d77: ; c8d77 (32:4d77)
ld a, [hCGB] ; $ff00+$e6
and a
jr nz, asm_c8dd4
push de
ld de, Jumptable_c8d85
call Functionc80ca
pop de
jp [hl]
; no known jump sources
Jumptable_c8d85: ; c8d85 (32:4d85)
dw Functionc8d8b
dw Functionc8daa
dw Functionc8dc9
; no known jump sources
Functionc8d8b: ; c8d8b (32:4d8b)
call Functionc80e5
ld a, $e4
call Functionc8ecb
ld a, $47
call Functionc8ede
ld a, [$FF00+$c8]
inc a
ld [$FF00+$c8], a
ld hl, $3
add hl, bc
ld a, [hl]
ld [hl], $0
ld hl, $2
add hl, bc
ld [hl], a
ret
; no known jump sources
Functionc8daa: ; c8daa (32:4daa)
ld hl, $2
add hl, bc
ld a, [hl]
and $f
jr z, .asm_c8db5
dec [hl]
ret
.asm_c8db5
ld a, [hl]
swap a
or [hl]
ld [hl], a
call Functionc8eac
jr c, .asm_c8dc3
call Functionc900b
ret
.asm_c8dc3
ld hl, $3
add hl, bc
dec [hl]
ret
; no known jump sources
Functionc8dc9: ; c8dc9 (32:4dc9)
call Functionc8f19
ld a, $e4
ld [rBGP], a ; $ff00+$47
call EndBattleBGEffect
ret
asm_c8dd4: ; c8dd4 (32:4dd4)
push de
ld de, Jumptable_c8ddd
call Functionc80ca
pop de
jp [hl]
; no known jump sources
Jumptable_c8ddd: ; c8ddd (32:4ddd)
dw Functionc8de7
dw Functionc8e02
dw Functionc8e21
dw Functionc8e2a
dw Functionc8e49
; no known jump sources
Functionc8de7: ; c8de7 (32:4de7)
call Functionc9038
jr nz, .asm_c8df2
call Functionc80e5
call Functionc80e5
.asm_c8df2
call Functionc80e5
ld hl, $3
add hl, bc
ld a, [hl]
ld [hl], $0
ld hl, $2
add hl, bc
ld [hl], a
ret
; no known jump sources
Functionc8e02: ; c8e02 (32:4e02)
ld hl, $2
add hl, bc
ld a, [hl]
and $f
jr z, .asm_c8e0d
dec [hl]
ret
.asm_c8e0d
ld a, [hl]
swap a
or [hl]
ld [hl], a
call Functionc8eac
jr c, .asm_c8e1b
call Functionc8e52
ret
.asm_c8e1b
ld hl, $3
add hl, bc
dec [hl]
ret
; no known jump sources
Functionc8e21: ; c8e21 (32:4e21)
ld a, $e4
call Functionc8e52
call EndBattleBGEffect
ret
; no known jump sources
Functionc8e2a: ; c8e2a (32:4e2a)
ld hl, $2
add hl, bc
ld a, [hl]
and $f
jr z, .asm_c8e35
dec [hl]
ret
.asm_c8e35
ld a, [hl]
swap a
or [hl]
ld [hl], a
call Functionc8eac
jr c, .asm_c8e43
call Functionc8e7f
ret
.asm_c8e43
ld hl, $3
add hl, bc
dec [hl]
ret
; no known jump sources
Functionc8e49: ; c8e49 (32:4e49)
ld a, $e4
call Functionc8e7f
call EndBattleBGEffect
ret
; known jump sources: c8e17 (32:4e17), c8e23 (32:4e23)
Functionc8e52: ; c8e52 (32:4e52)
ld h, a
ld a, [rSVBK] ; $ff00+$70
push af
ld a, $5
ld [rSVBK], a ; $ff00+$70
ld a, h
push bc
push af
ld hl, BGPals ; $d080
ld de, Unkn1Pals ; $d000
ld b, a
ld c, $1
call CopyPals
ld hl, $d0c8
ld de, $d048
pop af
ld b, a
ld c, $1
call CopyPals
pop bc
pop af
ld [rSVBK], a ; $ff00+$70
ld a, $1
ld [hCGBPalUpdate], a ; $ff00+$e5
ret
; known jump sources: c8e3f (32:4e3f), c8e4b (32:4e4b)
Functionc8e7f: ; c8e7f (32:4e7f)
ld h, a
ld a, [rSVBK] ; $ff00+$70
push af
ld a, $5
ld [rSVBK], a ; $ff00+$70
ld a, h
push bc
push af
ld hl, $d088
ld de, $d008
ld b, a
ld c, $1
call CopyPals
ld hl, OBPals ; $d0c0
ld de, Unkn2Pals ; $d040
pop af
ld b, a
ld c, $1
call CopyPals
pop bc
pop af
ld [rSVBK], a ; $ff00+$70
ld a, $1
ld [hCGBPalUpdate], a ; $ff00+$e5
ret
; known jump sources: c8d73 (32:4d73), c8dba (32:4dba), c8e12 (32:4e12), c8e3a (32:4e3a)
Functionc8eac: ; c8eac (32:4eac)
ld hl, $3
add hl, bc
ld a, [hl]
inc [hl]
; known jump sources: c8d65 (32:4d65)
Functionc8eb2: ; c8eb2 (32:4eb2)
ld l, a
ld h, $0
add hl, de
ld a, [hl]
cp $ff
jr z, .asm_c8ec8
cp $fe
jr nz, .asm_c8ec6
ld a, [de]
ld hl, $3
add hl, bc
ld [hl], $0
.asm_c8ec6
and a
ret
.asm_c8ec8
scf
ret
; known jump sources: c85a5 (32:45a5), c85c2 (32:45c2), c85fc (32:45fc), c8613 (32:4613), c864b (32:464b), c866e (32:466e), c869b (32:469b), c8715 (32:4715), c876d (32:476d), c87b5 (32:47b5), c8813 (32:4813), c8845 (32:4845), c88f9 (32:48f9), c8936 (32:4936), c8970 (32:4970), c89c1 (32:49c1), c89fa (32:49fa), c8ad6 (32:4ad6), c8c6b (32:4c6b), c8cae (32:4cae), c8f0f (32:4f0f), c8f2a (32:4f2a)
Functionc8eca: ; c8eca (32:4eca)
xor a
; known jump sources: c8a4e (32:4a4e), c8b13 (32:4b13), c8d90 (32:4d90)
Functionc8ecb: ; c8ecb (32:4ecb)
ld hl, LYOverrides ; $d100
ld e, $99
.asm_c8ed0
ld [hli], a
dec e
jr nz, .asm_c8ed0
ld hl, LYOverridesBackup
ld e, $91
.asm_c8ed9
ld [hli], a
dec e
jr nz, .asm_c8ed9
ret
; known jump sources: c85c7 (32:45c7), c8650 (32:4650), c8673 (32:4673), c86a0 (32:46a0), c871a (32:471a), c8772 (32:4772), c87ba (32:47ba), c8818 (32:4818), c88fe (32:48fe), c893b (32:493b), c8975 (32:4975), c89c6 (32:49c6), c8a53 (32:4a53), c8adb (32:4adb), c8c70 (32:4c70), c8d95 (32:4d95)
Functionc8ede: ; c8ede (32:4ede)
ld [hLCDStatCustom], a ; $ff00+$c6
call Functionc9038
jr nz, .asm_c8eea
ld de, $36
jr .asm_c8eed
.asm_c8eea
ld de, $2f5e
.asm_c8eed
ld a, d
ld [$FF00+$c7], a
ld a, e
ld [$FF00+$c8], a
ret
; known jump sources: c884a (32:484a), c89ff (32:49ff)
Functionc8ef4: ; c8ef4 (32:4ef4)
ld [hLCDStatCustom], a ; $ff00+$c6
call Functionc9038
jr nz, .asm_c8f00
ld de, $36
jr .asm_c8f03
.asm_c8f00
ld de, $2d5e
.asm_c8f03
ld a, d
ld [$FF00+$c7], a
ld a, e
ld [$FF00+$c8], a
ret
; known jump sources: c8561 (32:4561), c85be (32:45be), c8603 (32:4603), c863b (32:463b), c865e (32:465e), c8685 (32:4685), c8705 (32:4705), c875d (32:475d), c87a3 (32:47a3), c8801 (32:4801), c8833 (32:4833), c8865 (32:4865), c88f2 (32:48f2), c8926 (32:4926), c8960 (32:4960), c89b1 (32:49b1), c89ea (32:49ea), c8a36 (32:4a36), c8afc (32:4afc), c8c9e (32:4c9e), c8cdd (32:4cdd)
Functionc8f0a: ; c8f0a (32:4f0a)
xor a
ld [$FF00+$c7], a
ld [$FF00+$c8], a
call Functionc8eca
xor a
ld [hLCDStatCustom], a ; $ff00+$c6
call EndBattleBGEffect
ret
; known jump sources: c8aac (32:4aac), c8b60 (32:4b60), c8dc9 (32:4dc9)
Functionc8f19: ; c8f19 (32:4f19)
xor a
ld [hLCDStatCustom], a ; $ff00+$c6
ld a, $e4
ld [rBGP], a ; $ff00+$47
ld [$cfc7], a
ld [$cfc9], a
ld [$FF00+$c7], a
ld [$FF00+$c8], a
call Functionc8eca
ret
; known jump sources: c85b6 (32:45b6), c8624 (32:4624), c8656 (32:4656), c867d (32:467d), c8724 (32:4724), c89d6 (32:49d6), c89e6 (32:49e6), c8af8 (32:4af8)
Functionc8f2e: ; c8f2e (32:4f2e)
push bc
xor a
ld [$d419], a
ld a, e
ld [$d41a], a
ld a, d
ld [$d41b], a
ld a, $80
ld [$d41c], a
ld bc, $d200
.asm_c8f43
ld a, [$FF00+$c7]
cp c
jr nc, .asm_c8f58
ld a, [$FF00+$c8]
cp c
jr c, .asm_c8f58
ld a, [$d41b]
ld d, a
ld a, [$d419]
call Functionc905d
ld [bc], a
.asm_c8f58
inc bc
ld a, [$d41a]
ld hl, $d419
add [hl]
ld [hl], a
ld hl, $d41c
dec [hl]
jr nz, .asm_c8f43
pop bc
ret
; known jump sources: c8554 (32:4554)
Functionc8f69: ; c8f69 (32:4f69)
push bc
xor a
ld [$d419], a
ld a, e
ld [$d41a], a
ld a, d
ld [$d41b], a
ld a, $40
ld [$d41c], a
ld bc, $d422
.asm_c8f7e
ld a, [$d41b]
ld d, a
ld a, [$d419]
call Functionc905d
ld [bc], a
inc bc
ld a, [$d41a]
ld hl, $d419
add [hl]
ld [hl], a
ld hl, $d41c
dec [hl]
jr nz, .asm_c8f7e
pop bc
ret
; known jump sources: c85f8 (32:45f8)
Functionc8f9a: ; c8f9a (32:4f9a)
push bc
ld [$d41c], a
ld a, e
ld [$d41a], a
ld a, d
ld [$d41b], a
call Functionc8fe4
ld hl, $d200
add hl, de
ld c, l
ld b, h
.asm_c8faf
ld a, [$d41c]
and a
jr z, .asm_c8fe1
dec a
ld [$d41c], a
push af
ld a, [$d41b]
ld d, a
ld a, [$d41a]
push hl
call Functionc905d
ld e, a
pop hl
ld a, [$FF00+$c8]
cp c
jr c, .asm_c8fcf
ld a, e
ld [bc], a
inc bc
.asm_c8fcf
ld a, [$FF00+$c7]
cp l
jr nc, .asm_c8fd6
ld [hl], e
dec hl
.asm_c8fd6
ld a, [$d41a]
add $4
ld [$d41a], a
pop af
jr .asm_c8faf
.asm_c8fe1
pop bc
and a
ret
; known jump sources: c8fa6 (32:4fa6)
Functionc8fe4: ; c8fe4 (32:4fe4)
ld a, [$FF00+$c7]
ld e, a
ld a, [$d419]
add e
ld e, a
ld d, $0
ret
; known jump sources: c85ba (32:45ba), c8637 (32:4637), c865a (32:465a), c8681 (32:4681)
Functionc8fef: ; c8fef (32:4fef)
push bc
ld a, [$FF00+$c7]
ld l, a
inc a
ld e, a
ld h, $d2
ld d, h
ld a, [$FF00+$c8]
sub l
and a
jr z, .asm_c9009
ld c, a
ld a, [hl]
push af
.asm_c9001
ld a, [de]
inc de
ld [hli], a
dec c
jr nz, .asm_c9001
pop af
ld [hl], a
.asm_c9009
pop bc
ret
; known jump sources: c88b4 (32:48b4), c8954 (32:4954), c899d (32:499d), c8c9a (32:4c9a), c8cd1 (32:4cd1), c8dbf (32:4dbf)
Functionc900b: ; c900b (32:500b)
push af
ld h, $d2
ld a, [$FF00+$c7]
ld l, a
ld a, [$FF00+$c8]
sub l
ld d, a
pop af
.asm_c9016
ld [hli], a
dec d
jr nz, .asm_c9016
ret
; known jump sources: c8790 (32:4790), c87f7 (32:47f7), c8a2c (32:4a2c)
Functionc901b: ; c901b (32:501b)
push af
ld e, a
ld a, [$FF00+$c7]
ld l, a
ld a, [$FF00+$c8]
sub l
sub e
ld d, a
ld h, $d2
ld a, [$FF00+$c7]
ld l, a
ld a, $90
.asm_c902c
ld [hli], a
dec e
jr nz, .asm_c902c
pop af
xor $ff
.asm_c9033
ld [hli], a
dec d
jr nz, .asm_c9033
ret
; known jump sources: c81c4 (32:41c4), c81f3 (32:41f3), c8234 (32:4234), c825e (32:425e), c82a1 (32:42a1), c82cb (32:42cb), c8305 (32:4305), c837b (32:437b), c83a8 (32:43a8), c8826 (32:4826), c8858 (32:4858), c890c (32:490c), c8b39 (32:4b39), c8de7 (32:4de7), c8ee0 (32:4ee0), c8ef6 (32:4ef6)
Functionc9038: ; c9038 (32:5038)
ld hl, $2
add hl, bc
ld a, [hBattleTurn] ; $ff00+$e4
and $1
xor [hl]
ret
; known jump sources: c81ea (32:41ea), c8223 (32:4223), c8290 (32:4290)
Functionc9042: ; c9042 (32:5042)
ld hl, $2
add hl, bc
ld a, [hBattleTurn] ; $ff00+$e4
and $1
xor [hl]
jr nz, .asm_c9053
ld a, [EnemySubStatus3] ; $c66f
and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND
ret
.asm_c9053
ld a, [PlayerSubStatus3] ; $c66a
and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND
ret
; known jump sources: c8171 (32:4171), c818b (32:418b)
Functionc9059: ; c9059 (32:5059)
ld a, [hSGB] ; $ff00+$e7
and a
ret
; known jump sources: c86d6 (32:46d6), c8951 (32:4951), c898c (32:498c), c8997 (32:4997), c8cce (32:4cce), c8d45 (32:4d45), c8f54 (32:4f54), c8f85 (32:4f85), c8fc2 (32:4fc2)
Functionc905d: ; c905d (32:505d)
ld e, a
callab Functionce765
ld a, e
ret
; known jump sources: c8a24 (32:4a24)
Functionc9066: ; c9066 (32:5066)
ld e, a
callab Functionce76b
ld a, e
ret
; c906f (32:506f)