ref: ef20124213e77852e2433dee42ec1a08f4fd1de0
parent: 6690f3901aff54e071c7675d71e578c7860b7008
author: yenatch <[email protected]>
date: Tue Dec 17 19:23:50 EST 2013
split out pic animation asm and clean up some more includes
--- a/gfx/pics/anim_pointers.asm
+++ b/gfx/pics/anim_pointers.asm
@@ -1,3 +1,4 @@
+AnimationPointers:
dw BulbasaurAnimation
dw IvysaurAnimation
dw VenusaurAnimation
--- /dev/null
+++ b/gfx/pics/animation.asm
@@ -1,0 +1,1029 @@
+; Pic animation arrangement.
+
+
+Functiond0000: ; d0000
+ ld hl, $c4ac
+ ld a, [IsInBattle]
+ cp $1
+ jr z, .asm_d0012
+ ld e, $0
+ ld d, $0
+ call Functiond008e
+ ret
+
+.asm_d0012
+ ld e, $1
+ ld d, $0
+ call Functiond008e
+ ret
+; d001a
+
+INCBIN "baserom.gbc",$d001a,$d008e - $d001a
+
+Functiond008e: ; d008e
+ call Functiond01c6
+ ret c
+ call Functiond00a3
+.asm_d0095
+ call Functiond00b4
+ push af
+ callba Function10402d
+ pop af
+ jr nc, .asm_d0095
+ ret
+; d00a3
+
+Functiond00a3: ; d00a3
+ push hl
+ ld c, e
+ ld b, $0
+ ld hl, $4042
+ add hl, bc
+ add hl, bc
+ ld a, [hli]
+ ld b, [hl]
+ ld c, a
+ pop hl
+ call Functiond01d6
+ ret
+; d00b4
+
+Functiond00b4: ; d00b4
+ ld a, [rSVBK]
+ push af
+ ld a, $2
+ ld [rSVBK], a
+ ld a, [$d168]
+ ld c, a
+ ld b, $0
+ ld hl, $d169
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ add hl, bc
+ ld a, [hl]
+ ld hl, $40da
+ rst JumpTable
+ ld a, [$d168]
+ ld c, a
+ pop af
+ ld [rSVBK], a
+ ld a, c
+ and $80
+ ret z
+ scf
+ ret
+; d00da
+
+Tabled00da: ; d00da
+ dw Functiond0171
+ dw Functiond0166
+ dw Functiond00f2
+ dw Functiond00fe
+ dw Functiond010b
+ dw Functiond011d
+ dw Functiond012f
+ dw Functiond0141
+ dw Functiond0155
+ dw Functiond017a
+ dw Functiond0188
+ dw Functiond0196
+; d00f2
+
+Functiond00f2: ; d00f2
+ ld a, $12
+ ld [$d181], a
+ ld a, [$d168]
+ inc a
+ ld [$d168], a
+
+Functiond00fe: ; d00fe
+ ld hl, $d181
+ dec [hl]
+ ret nz
+ ld a, [$d168]
+ inc a
+ ld [$d168], a
+ ret
+; d010b
+
+Functiond010b: ; d010b
+ ld c, $0
+ ld b, $0
+ call Functiond0228
+ call Functiond0504
+ ld a, [$d168]
+ inc a
+ ld [$d168], a
+ ret
+; d011d
+
+Functiond011d: ; d011d
+ ld c, $0
+ ld b, $4
+ call Functiond0228
+ call Functiond0504
+ ld a, [$d168]
+ inc a
+ ld [$d168], a
+ ret
+; d012f
+
+Functiond012f: ; d012f
+ ld c, $1
+ ld b, $0
+ call Functiond0228
+ call Functiond0504
+ ld a, [$d168]
+ inc a
+ ld [$d168], a
+ ret
+; d0141
+
+Functiond0141: ; d0141
+ call Functiond0250
+ ld a, [$d17e]
+ bit 7, a
+ ret z
+ call Functiond04bd
+ ld a, [$d168]
+ inc a
+ ld [$d168], a
+ ret
+; d0155
+
+Functiond0155: ; d0155
+ call Functiond0250
+ ld a, [$d17e]
+ bit 7, a
+ ret z
+ ld a, [$d168]
+ inc a
+ ld [$d168], a
+ ret
+; d0166
+
+Functiond0166: ; d0166
+ call Functiond01a9
+ ld a, [$d168]
+ inc a
+ ld [$d168], a
+ ret
+; d0171
+
+Functiond0171: ; d0171
+ call Functiond01a9
+ ld hl, $d168
+ set 7, [hl]
+ ret
+; d017a
+
+Functiond017a: ; d017a
+ ld a, [$d16b]
+ call Function37e2
+ ld a, [$d168]
+ inc a
+ ld [$d168], a
+ ret
+; d0188
+
+Functiond0188: ; d0188
+ ld a, [$d16b]
+ call Function37d5
+ ld a, [$d168]
+ inc a
+ ld [$d168], a
+ ret
+; d0196
+
+Functiond0196: ; d0196
+ ld a, $f
+ ld [CryTracks], a
+ ld a, [$d16b]
+ call Function37c4
+ ld a, [$d168]
+ inc a
+ ld [$d168], a
+ ret
+; d01a9
+
+Functiond01a9: ; d01a9
+ ld a, [rSVBK]
+ push af
+ ld a, $2
+ ld [rSVBK], a
+ call Functiond04bd
+ callba Function10402d
+ call Functiond0536
+ callba Function104047
+ pop af
+ ld [rSVBK], a
+ ret
+; d01c6
+
+Functiond01c6: ; d01c6
+ ld a, [CurPartySpecies]
+ cp $fd
+ jr z, .asm_d01d4
+ call IsAPokemon
+ jr c, .asm_d01d4
+ and a
+ ret
+
+.asm_d01d4
+ scf
+ ret
+; d01d6
+
+Functiond01d6: ; d01d6
+ ld a, [rSVBK]
+ push af
+ ld a, $2
+ ld [rSVBK], a
+ push bc
+ push de
+ push hl
+ ld hl, $d168
+ ld bc, $0029
+ xor a
+ call ByteFill
+ pop hl
+ pop de
+ pop bc
+ ld a, c
+ ld [$d169], a
+ ld a, b
+ ld [$d16a], a
+ ld a, l
+ ld [$d16f], a
+ ld a, h
+ ld [$d170], a
+ ld a, d
+ ld [$d16e], a
+ ld a, $1
+ ld hl, CurPartySpecies
+ call GetFarWRAMByte
+ ld [$d16b], a
+ ld a, $1
+ ld hl, UnownLetter
+ call GetFarWRAMByte
+ ld [$d16c], a
+ call Functiond065c
+ ld [$d16d], a
+ call Functiond05b4
+ ld a, c
+ ld [$d171], a
+ pop af
+ ld [rSVBK], a
+ ret
+; d0228
+
+Functiond0228: ; d0228
+ ld a, [rSVBK]
+ push af
+ ld a, $2
+ ld [rSVBK], a
+ push bc
+ ld hl, $d172
+ ld bc, $001f
+ xor a
+ call ByteFill
+ pop bc
+ ld a, b
+ ld [$d173], a
+ ld a, c
+ ld [$d172], a
+ call Functiond055c
+ call Functiond05ce
+ call Functiond061b
+ pop af
+ ld [rSVBK], a
+ ret
+; d0250
+
+Functiond0250: ; d0250
+ xor a
+ ld [hBGMapMode], a
+
+Functiond0253: ; d0253
+ ld a, [$d17e]
+ and $7f
+ ld hl, Tabled025d
+ rst JumpTable
+ ret
+; d025d
+
+Tabled025d: ; d025d
+ dw Functiond0261
+ dw Functiond0282
+; d0261
+
+Functiond0261: ; d0261
+ call Functiond02f8
+ ld a, [$d182]
+ cp $ff
+ jr z, Functiond02a8
+ cp $fe
+ jr z, Functiond028e
+ cp $fd
+ jr z, Functiond0296
+ call Functiond02c8
+ ld a, [$d183]
+ call Functiond02ae
+ ld [$d181], a
+ call Functiond02dc
+
+Functiond0282: ; d0282
+ ld a, [$d181]
+ dec a
+ ld [$d181], a
+ ret nz
+ call Functiond02e4
+ ret
+; d028e
+
+Functiond028e: ; d028e
+ ld a, [$d183]
+ ld [$d17f], a
+ jr Functiond0253
+; d0296
+
+Functiond0296: ; d0296
+ ld a, [$d17f]
+ and a
+ ret z
+ dec a
+ ld [$d17f], a
+ ret z
+ ld a, [$d183]
+ ld [$d17d], a
+ jr Functiond0253
+; d02a8
+
+Functiond02a8: ; d02a8
+ ld hl, $d17e
+ set 7, [hl]
+ ret
+; d02ae
+
+Functiond02ae: ; d02ae
+ ld c, a
+ ld b, $0
+ ld hl, $0000
+ ld a, [$d173]
+ call AddNTimes
+ ld a, h
+ swap a
+ and $f0
+ ld h, a
+ ld a, l
+ swap a
+ and $f
+ or h
+ add c
+ ret
+; d02c8
+
+Functiond02c8: ; d02c8
+ call Functiond04bd
+ ld a, [$d182]
+ and a
+ ret z
+ call Functiond031b
+ push hl
+ call Functiond033b
+ pop hl
+ call Functiond036b
+ ret
+; d02dc
+
+Functiond02dc: ; d02dc
+ ld a, [$d17e]
+ inc a
+ ld [$d17e], a
+ ret
+; d02e4
+
+Functiond02e4: ; d02e4
+ ld a, [$d17e]
+ dec a
+ ld [$d17e], a
+ ret
+; d02ec
+
+Functiond02ec: ; d02ec
+ ld a, [$d16b]
+ cp $c9
+ ret
+; d02f2
+
+Functiond02f2: ; d02f2
+ ld a, [$d16b]
+ cp $fd
+ ret
+; d02f8
+
+Functiond02f8: ; d02f8
+ push hl
+ ld a, [$d17d]
+ ld e, a
+ ld d, $0
+ ld hl, $d175
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ add hl, de
+ add hl, de
+ ld a, [$d174]
+ call GetFarHalfword
+ ld a, l
+ ld [$d182], a
+ ld a, h
+ ld [$d183], a
+ ld hl, $d17d
+ inc [hl]
+ pop hl
+ ret
+; d031b
+
+Functiond031b: ; d031b
+ ld a, [$d182]
+ dec a
+ ld c, a
+ ld b, $0
+ ld hl, $d178
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ add hl, bc
+ add hl, bc
+ ld a, [$d177]
+ call GetFarHalfword
+ ld a, [$d177]
+ call GetFarByte
+ ld [$d180], a
+ inc hl
+ ret
+; d033b
+
+Functiond033b: ; d033b
+ call Functiond0356
+ push bc
+ ld hl, $d17b
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld a, [$d180]
+ call AddNTimes
+ pop bc
+ ld de, $d188
+ ld a, [$d17a]
+ call FarCopyBytes
+ ret
+; d0356
+
+Functiond0356: ; d0356
+ push hl
+ ld a, [$d171]
+ sub $5
+ ld c, a
+ ld b, $0
+ ld hl, $4368
+ add hl, bc
+ ld c, [hl]
+ ld b, $0
+ pop hl
+ ret
+; d0368
+
+INCBIN "baserom.gbc",$d0368,$d036b - $d0368
+
+Functiond036b: ; d036b
+ xor a
+ ld [$d187], a
+ ld [$d186], a
+ ld [$d185], a
+.asm_d0375
+ push hl
+ call Functiond0392
+ pop hl
+ ld a, b
+ and a
+ jr z, .asm_d038a
+ ld a, [$d177]
+ call GetFarByte
+ inc hl
+ push hl
+ call Functiond03bd
+ pop hl
+
+.asm_d038a
+ push hl
+ call Functiond0499
+ pop hl
+ jr nc, .asm_d0375
+ ret
+; d0392
+
+Functiond0392: ; d0392
+ ld a, [$d187]
+ and $f8
+ rrca
+ rrca
+ rrca
+ ld e, a
+ ld d, $0
+ ld hl, $d188
+ add hl, de
+ ld b, [hl]
+ ld a, [$d187]
+ and $7
+ jr z, .asm_d03b0
+ ld c, a
+ ld a, b
+.asm_d03ab
+ rrca
+ dec c
+ jr nz, .asm_d03ab
+ ld b, a
+
+.asm_d03b0
+ xor a
+ bit 0, b
+ jr z, .asm_d03b7
+ ld a, $1
+
+.asm_d03b7
+ ld b, a
+ ld hl, $d187
+ inc [hl]
+ ret
+; d03bd
+
+Functiond03bd: ; d03bd
+ push af
+ call Functiond03cd
+ pop af
+ push hl
+ call Functiond03f7
+ ld hl, $d16e
+ add [hl]
+ pop hl
+ ld [hl], a
+ ret
+; d03cd
+
+Functiond03cd: ; d03cd
+ call Functiond046c
+ ld a, [$d186]
+ ld bc, $0014
+ call AddNTimes
+ ld a, [$c2c6]
+ and a
+ jr nz, .asm_d03e8
+ ld a, [$d185]
+ ld e, a
+ ld d, $0
+ add hl, de
+ jr .asm_d03f3
+
+.asm_d03e8
+ ld a, [$d185]
+ ld e, a
+ ld a, l
+ sub e
+ ld l, a
+ ld a, h
+ sbc $0
+ ld h, a
+
+.asm_d03f3
+ ret
+; d03f4
+
+INCBIN "baserom.gbc",$d03f4,$d03f7 - $d03f4
+
+Functiond03f7: ; d03f7
+ push af
+ ld a, [$d171]
+ cp $5
+ jr z, .asm_d0405
+ cp $6
+ jr z, .asm_d041a
+ pop af
+ ret
+
+.asm_d0405
+ pop af
+ cp $19
+ jr nc, .asm_d0417
+ push hl
+ push de
+ ld hl, $442f
+ ld e, a
+ ld d, $0
+ add hl, de
+ ld a, [hl]
+ pop de
+ pop hl
+ ret
+
+.asm_d0417
+ add $18
+ ret
+
+.asm_d041a
+ pop af
+ cp $24
+ jr nc, .asm_d042c
+ push hl
+ push de
+ ld hl, $4448
+ ld e, a
+ ld d, $0
+ add hl, de
+ ld a, [hl]
+ pop de
+ pop hl
+ ret
+
+.asm_d042c
+ add $d
+ ret
+; d042f
+
+INCBIN "baserom.gbc",$d042f,$d046c - $d042f
+
+Functiond046c: ; d046c
+ ld hl, $d16f
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld a, [$d171]
+ ld de, $0000
+ ld bc, $0006
+ cp $7
+ jr z, .asm_d048f
+ ld de, $0015
+ ld bc, $0019
+ cp $6
+ jr z, .asm_d048f
+ ld de, $0029
+ ld bc, $002d
+
+.asm_d048f
+ ld a, [$c2c6]
+ and a
+ jr nz, .asm_d0497
+ add hl, de
+ ret
+
+.asm_d0497
+ add hl, bc
+ ret
+; d0499
+
+Functiond0499: ; d0499
+ ld a, [$d186]
+ inc a
+ ld [$d186], a
+ ld c, a
+ ld a, [$d171]
+ cp c
+ jr nz, .asm_d04bb
+ xor a
+ ld [$d186], a
+ ld a, [$d185]
+ inc a
+ ld [$d185], a
+ ld c, a
+ ld a, [$d171]
+ cp c
+ jr nz, .asm_d04bb
+ scf
+ ret
+
+.asm_d04bb
+ xor a
+ ret
+; d04bd
+
+Functiond04bd: ; d04bd
+ call Functiond04f6
+ ld a, [$c2c6]
+ and a
+ jr nz, .asm_d04ce
+ ld de, $0001
+ ld bc, $0000
+ jr .asm_d04d4
+
+.asm_d04ce
+ ld de, rIE
+ ld bc, $0006
+
+.asm_d04d4
+ ld hl, $d16f
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ add hl, bc
+ ld c, $7
+ ld b, $7
+ ld a, [$d16e]
+.asm_d04e2
+ push bc
+ push hl
+ push de
+ ld de, $0014
+.asm_d04e8
+ ld [hl], a
+ inc a
+ add hl, de
+ dec b
+ jr nz, .asm_d04e8
+ pop de
+ pop hl
+ add hl, de
+ pop bc
+ dec c
+ jr nz, .asm_d04e2
+ ret
+; d04f6
+
+Functiond04f6: ; d04f6
+ ld hl, $d16f
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld b, $7
+ ld c, $7
+ call ClearBox
+ ret
+; d0504
+
+Functiond0504: ; d0504
+ ld a, [rSVBK]
+ push af
+ ld a, $2
+ ld [rSVBK], a
+ xor a
+ ld [hBGMapMode], a
+ call Functiond051b
+ callba Function104047
+ pop af
+ ld [rSVBK], a
+ ret
+; d051b
+
+Functiond051b: ; d051b
+ call Functiond0551
+ ld b, $7
+ ld c, $7
+ ld de, $0014
+.asm_d0525
+ push bc
+ push hl
+.asm_d0527
+ ld a, [hl]
+ or $8
+ ld [hl], a
+ add hl, de
+ dec c
+ jr nz, .asm_d0527
+ pop hl
+ inc hl
+ pop bc
+ dec b
+ jr nz, .asm_d0525
+ ret
+; d0536
+
+Functiond0536: ; d0536
+ call Functiond0551
+ ld b, $7
+ ld c, $7
+ ld de, $0014
+.asm_d0540
+ push bc
+ push hl
+.asm_d0542
+ ld a, [hl]
+ and $f7
+ ld [hl], a
+ add hl, de
+ dec c
+ jr nz, .asm_d0542
+ pop hl
+ inc hl
+ pop bc
+ dec b
+ jr nz, .asm_d0540
+ ret
+; d0551
+
+Functiond0551: ; d0551
+ ld hl, $d16f
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld de, $0939
+ add hl, de
+ ret
+; d055c
+
+Functiond055c: ; d055c
+ call Functiond02f2
+ jr z, .asm_d0597
+ ld c, $34
+ ld hl, UnownAnimationPointers
+ ld de, UnownAnimationExtraPointers
+ call Functiond02ec
+ jr z, .asm_d0576
+ ld c, $34
+ ld hl, AnimationPointers
+ ld de, AnimationExtraPointers
+
+.asm_d0576
+ ld a, [$d172]
+ and a
+ jr z, .asm_d057e
+ ld h, d
+ ld l, e
+
+.asm_d057e
+ ld a, [$d16d]
+ dec a
+ ld e, a
+ ld d, $0
+ add hl, de
+ add hl, de
+ ld a, c
+ ld [$d174], a
+ call GetFarHalfword
+ ld a, l
+ ld [$d175], a
+ ld a, h
+ ld [$d176], a
+ ret
+
+.asm_d0597
+ ld hl, EggAnimation
+ ld c, $34
+ ld a, [$d172]
+ and a
+ jr z, .asm_d05a7
+ ld hl, EggAnimationExtra
+ ld c, $34
+
+.asm_d05a7
+ ld a, c
+ ld [$d174], a
+ ld a, l
+ ld [$d175], a
+ ld a, h
+ ld [$d176], a
+ ret
+; d05b4
+
+Functiond05b4: ; d05b4
+ ld a, [rSVBK]
+ push af
+ ld a, $1
+ ld [rSVBK], a
+ ld a, [CurPartySpecies]
+ ld [CurSpecies], a
+ call GetBaseData
+ ld a, [BasePicSize]
+ and $f
+ ld c, a
+ pop af
+ ld [rSVBK], a
+ ret
+; d05ce
+
+Functiond05ce: ; d05ce
+ call Functiond02f2
+ jr z, .asm_d0609
+ call Functiond02ec
+ ld b, $36
+ ld c, $36
+ ld hl, PikachuAnimationExtra
+ jr z, .asm_d05ef
+ ld a, [$d16b]
+ cp $98
+ ld b, $35
+ ld c, $35
+ ld hl, $4000
+ jr c, .asm_d05ef
+ ld c, $36
+
+.asm_d05ef
+ ld a, c
+ ld [$d177], a
+ ld a, [$d16d]
+ dec a
+ ld e, a
+ ld d, $0
+ add hl, de
+ add hl, de
+ ld a, b
+ call GetFarHalfword
+ ld a, l
+ ld [$d178], a
+ ld a, h
+ ld [$d179], a
+ ret
+
+.asm_d0609
+ ld hl, $598b
+ ld c, $36
+ ld a, c
+ ld [$d177], a
+ ld a, l
+ ld [$d178], a
+ ld a, h
+ ld [$d179], a
+ ret
+; d061b
+
+Functiond061b: ; d061b
+ call Functiond02f2
+ jr z, .asm_d064a
+ call Functiond02ec
+ ld a, $34
+ ld hl, UnownBitmasksPointers
+ jr z, .asm_d062f
+ ld a, $34
+ ld hl, BitmasksPointers
+
+.asm_d062f
+ ld [$d17a], a
+ ld a, [$d16d]
+ dec a
+ ld e, a
+ ld d, $0
+ add hl, de
+ add hl, de
+ ld a, [$d17a]
+ call GetFarHalfword
+ ld a, l
+ ld [$d17b], a
+ ld a, h
+ ld [$d17c], a
+ ret
+
+.asm_d064a
+ ld c, $34
+ ld hl, EggBitmasks
+ ld a, c
+ ld [$d17a], a
+ ld a, l
+ ld [$d17b], a
+ ld a, h
+ ld [$d17c], a
+ ret
+; d065c
+
+Functiond065c: ; d065c
+ call Functiond02ec
+ jr z, .asm_d0665
+ ld a, [$d16b]
+ ret
+
+.asm_d0665
+ ld a, [$d16c]
+ ret
+; d0669
+
+Functiond0669: ; d0669
+ ld a, $1
+ ld [$c2c6], a
+
+Functiond066e: ; d066e
+ call Functiond01c6
+ jr c, .asm_d068c
+ ld h, d
+ ld l, e
+ push bc
+ push hl
+ ld de, VTiles2
+ ld a, $3e
+ call Predef
+ pop hl
+ pop bc
+ ld d, $0
+ ld e, c
+ call Functiond008e
+ xor a
+ ld [$c2c6], a
+ ret
+
+.asm_d068c
+ xor a
+ ld [$c2c6], a
+ inc a
+ ld [CurPartySpecies], a
+ ret
+; d0695
+
+
--- a/gfx/pics/bitmask_pointers.asm
+++ b/gfx/pics/bitmask_pointers.asm
@@ -1,3 +1,4 @@
+BitmasksPointers:
dw BulbasaurBitmasks
dw IvysaurBitmasks
dw VenusaurBitmasks
--- a/gfx/pics/extra_pointers.asm
+++ b/gfx/pics/extra_pointers.asm
@@ -1,3 +1,4 @@
+AnimationExtraPointers:
dw BulbasaurAnimationExtra
dw IvysaurAnimationExtra
dw VenusaurAnimationExtra
--- a/gfx/pics/unown_anim_pointers.asm
+++ b/gfx/pics/unown_anim_pointers.asm
@@ -1,3 +1,4 @@
+UnownAnimationPointers:
dw UnownAAnimation
dw UnownBAnimation
dw UnownCAnimation
--- a/gfx/pics/unown_bitmask_pointers.asm
+++ b/gfx/pics/unown_bitmask_pointers.asm
@@ -1,3 +1,4 @@
+UnownBitmasksPointers:
dw UnownABitmasks
dw UnownBBitmasks
dw UnownCBitmasks
--- a/gfx/pics/unown_extra_pointers.asm
+++ b/gfx/pics/unown_extra_pointers.asm
@@ -1,3 +1,4 @@
+UnownAnimationExtraPointers:
dw UnownAAnimationExtra
dw UnownBAnimationExtra
dw UnownCAnimationExtra
--- a/main.asm
+++ b/main.asm
@@ -84073,1033 +84073,8 @@
SECTION "Pic Animations 1", ROMX, BANK[$34]
-; Pic animations asm
+INCLUDE "gfx/pics/animation.asm"
-Functiond0000: ; d0000
- ld hl, $c4ac
- ld a, [IsInBattle]
- cp $1
- jr z, .asm_d0012
- ld e, $0
- ld d, $0
- call Functiond008e
- ret
-
-.asm_d0012
- ld e, $1
- ld d, $0
- call Functiond008e
- ret
-; d001a
-
-INCBIN "baserom.gbc",$d001a,$d008e - $d001a
-
-Functiond008e: ; d008e
- call Functiond01c6
- ret c
- call Functiond00a3
-.asm_d0095
- call Functiond00b4
- push af
- callba Function10402d
- pop af
- jr nc, .asm_d0095
- ret
-; d00a3
-
-Functiond00a3: ; d00a3
- push hl
- ld c, e
- ld b, $0
- ld hl, $4042
- add hl, bc
- add hl, bc
- ld a, [hli]
- ld b, [hl]
- ld c, a
- pop hl
- call Functiond01d6
- ret
-; d00b4
-
-Functiond00b4: ; d00b4
- ld a, [rSVBK]
- push af
- ld a, $2
- ld [rSVBK], a
- ld a, [$d168]
- ld c, a
- ld b, $0
- ld hl, $d169
- ld a, [hli]
- ld h, [hl]
- ld l, a
- add hl, bc
- ld a, [hl]
- ld hl, $40da
- rst JumpTable
- ld a, [$d168]
- ld c, a
- pop af
- ld [rSVBK], a
- ld a, c
- and $80
- ret z
- scf
- ret
-; d00da
-
-Tabled00da: ; d00da
- dw Functiond0171
- dw Functiond0166
- dw Functiond00f2
- dw Functiond00fe
- dw Functiond010b
- dw Functiond011d
- dw Functiond012f
- dw Functiond0141
- dw Functiond0155
- dw Functiond017a
- dw Functiond0188
- dw Functiond0196
-; d00f2
-
-Functiond00f2: ; d00f2
- ld a, $12
- ld [$d181], a
- ld a, [$d168]
- inc a
- ld [$d168], a
-
-Functiond00fe: ; d00fe
- ld hl, $d181
- dec [hl]
- ret nz
- ld a, [$d168]
- inc a
- ld [$d168], a
- ret
-; d010b
-
-Functiond010b: ; d010b
- ld c, $0
- ld b, $0
- call Functiond0228
- call Functiond0504
- ld a, [$d168]
- inc a
- ld [$d168], a
- ret
-; d011d
-
-Functiond011d: ; d011d
- ld c, $0
- ld b, $4
- call Functiond0228
- call Functiond0504
- ld a, [$d168]
- inc a
- ld [$d168], a
- ret
-; d012f
-
-Functiond012f: ; d012f
- ld c, $1
- ld b, $0
- call Functiond0228
- call Functiond0504
- ld a, [$d168]
- inc a
- ld [$d168], a
- ret
-; d0141
-
-Functiond0141: ; d0141
- call Functiond0250
- ld a, [$d17e]
- bit 7, a
- ret z
- call Functiond04bd
- ld a, [$d168]
- inc a
- ld [$d168], a
- ret
-; d0155
-
-Functiond0155: ; d0155
- call Functiond0250
- ld a, [$d17e]
- bit 7, a
- ret z
- ld a, [$d168]
- inc a
- ld [$d168], a
- ret
-; d0166
-
-Functiond0166: ; d0166
- call Functiond01a9
- ld a, [$d168]
- inc a
- ld [$d168], a
- ret
-; d0171
-
-Functiond0171: ; d0171
- call Functiond01a9
- ld hl, $d168
- set 7, [hl]
- ret
-; d017a
-
-Functiond017a: ; d017a
- ld a, [$d16b]
- call Function37e2
- ld a, [$d168]
- inc a
- ld [$d168], a
- ret
-; d0188
-
-Functiond0188: ; d0188
- ld a, [$d16b]
- call Function37d5
- ld a, [$d168]
- inc a
- ld [$d168], a
- ret
-; d0196
-
-Functiond0196: ; d0196
- ld a, $f
- ld [CryTracks], a
- ld a, [$d16b]
- call Function37c4
- ld a, [$d168]
- inc a
- ld [$d168], a
- ret
-; d01a9
-
-Functiond01a9: ; d01a9
- ld a, [rSVBK]
- push af
- ld a, $2
- ld [rSVBK], a
- call Functiond04bd
- callba Function10402d
- call Functiond0536
- callba Function104047
- pop af
- ld [rSVBK], a
- ret
-; d01c6
-
-Functiond01c6: ; d01c6
- ld a, [CurPartySpecies]
- cp $fd
- jr z, .asm_d01d4
- call IsAPokemon
- jr c, .asm_d01d4
- and a
- ret
-
-.asm_d01d4
- scf
- ret
-; d01d6
-
-Functiond01d6: ; d01d6
- ld a, [rSVBK]
- push af
- ld a, $2
- ld [rSVBK], a
- push bc
- push de
- push hl
- ld hl, $d168
- ld bc, $0029
- xor a
- call ByteFill
- pop hl
- pop de
- pop bc
- ld a, c
- ld [$d169], a
- ld a, b
- ld [$d16a], a
- ld a, l
- ld [$d16f], a
- ld a, h
- ld [$d170], a
- ld a, d
- ld [$d16e], a
- ld a, $1
- ld hl, CurPartySpecies
- call GetFarWRAMByte
- ld [$d16b], a
- ld a, $1
- ld hl, UnownLetter
- call GetFarWRAMByte
- ld [$d16c], a
- call Functiond065c
- ld [$d16d], a
- call Functiond05b4
- ld a, c
- ld [$d171], a
- pop af
- ld [rSVBK], a
- ret
-; d0228
-
-Functiond0228: ; d0228
- ld a, [rSVBK]
- push af
- ld a, $2
- ld [rSVBK], a
- push bc
- ld hl, $d172
- ld bc, $001f
- xor a
- call ByteFill
- pop bc
- ld a, b
- ld [$d173], a
- ld a, c
- ld [$d172], a
- call Functiond055c
- call Functiond05ce
- call Functiond061b
- pop af
- ld [rSVBK], a
- ret
-; d0250
-
-Functiond0250: ; d0250
- xor a
- ld [hBGMapMode], a
-
-Functiond0253: ; d0253
- ld a, [$d17e]
- and $7f
- ld hl, Tabled025d
- rst JumpTable
- ret
-; d025d
-
-Tabled025d: ; d025d
- dw Functiond0261
- dw Functiond0282
-; d0261
-
-Functiond0261: ; d0261
- call Functiond02f8
- ld a, [$d182]
- cp $ff
- jr z, Functiond02a8
- cp $fe
- jr z, Functiond028e
- cp $fd
- jr z, Functiond0296
- call Functiond02c8
- ld a, [$d183]
- call Functiond02ae
- ld [$d181], a
- call Functiond02dc
-
-Functiond0282: ; d0282
- ld a, [$d181]
- dec a
- ld [$d181], a
- ret nz
- call Functiond02e4
- ret
-; d028e
-
-Functiond028e: ; d028e
- ld a, [$d183]
- ld [$d17f], a
- jr Functiond0253
-; d0296
-
-Functiond0296: ; d0296
- ld a, [$d17f]
- and a
- ret z
- dec a
- ld [$d17f], a
- ret z
- ld a, [$d183]
- ld [$d17d], a
- jr Functiond0253
-; d02a8
-
-Functiond02a8: ; d02a8
- ld hl, $d17e
- set 7, [hl]
- ret
-; d02ae
-
-Functiond02ae: ; d02ae
- ld c, a
- ld b, $0
- ld hl, $0000
- ld a, [$d173]
- call AddNTimes
- ld a, h
- swap a
- and $f0
- ld h, a
- ld a, l
- swap a
- and $f
- or h
- add c
- ret
-; d02c8
-
-Functiond02c8: ; d02c8
- call Functiond04bd
- ld a, [$d182]
- and a
- ret z
- call Functiond031b
- push hl
- call Functiond033b
- pop hl
- call Functiond036b
- ret
-; d02dc
-
-Functiond02dc: ; d02dc
- ld a, [$d17e]
- inc a
- ld [$d17e], a
- ret
-; d02e4
-
-Functiond02e4: ; d02e4
- ld a, [$d17e]
- dec a
- ld [$d17e], a
- ret
-; d02ec
-
-Functiond02ec: ; d02ec
- ld a, [$d16b]
- cp $c9
- ret
-; d02f2
-
-Functiond02f2: ; d02f2
- ld a, [$d16b]
- cp $fd
- ret
-; d02f8
-
-Functiond02f8: ; d02f8
- push hl
- ld a, [$d17d]
- ld e, a
- ld d, $0
- ld hl, $d175
- ld a, [hli]
- ld h, [hl]
- ld l, a
- add hl, de
- add hl, de
- ld a, [$d174]
- call GetFarHalfword
- ld a, l
- ld [$d182], a
- ld a, h
- ld [$d183], a
- ld hl, $d17d
- inc [hl]
- pop hl
- ret
-; d031b
-
-Functiond031b: ; d031b
- ld a, [$d182]
- dec a
- ld c, a
- ld b, $0
- ld hl, $d178
- ld a, [hli]
- ld h, [hl]
- ld l, a
- add hl, bc
- add hl, bc
- ld a, [$d177]
- call GetFarHalfword
- ld a, [$d177]
- call GetFarByte
- ld [$d180], a
- inc hl
- ret
-; d033b
-
-Functiond033b: ; d033b
- call Functiond0356
- push bc
- ld hl, $d17b
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ld a, [$d180]
- call AddNTimes
- pop bc
- ld de, $d188
- ld a, [$d17a]
- call FarCopyBytes
- ret
-; d0356
-
-Functiond0356: ; d0356
- push hl
- ld a, [$d171]
- sub $5
- ld c, a
- ld b, $0
- ld hl, $4368
- add hl, bc
- ld c, [hl]
- ld b, $0
- pop hl
- ret
-; d0368
-
-INCBIN "baserom.gbc",$d0368,$d036b - $d0368
-
-Functiond036b: ; d036b
- xor a
- ld [$d187], a
- ld [$d186], a
- ld [$d185], a
-.asm_d0375
- push hl
- call Functiond0392
- pop hl
- ld a, b
- and a
- jr z, .asm_d038a
- ld a, [$d177]
- call GetFarByte
- inc hl
- push hl
- call Functiond03bd
- pop hl
-
-.asm_d038a
- push hl
- call Functiond0499
- pop hl
- jr nc, .asm_d0375
- ret
-; d0392
-
-Functiond0392: ; d0392
- ld a, [$d187]
- and $f8
- rrca
- rrca
- rrca
- ld e, a
- ld d, $0
- ld hl, $d188
- add hl, de
- ld b, [hl]
- ld a, [$d187]
- and $7
- jr z, .asm_d03b0
- ld c, a
- ld a, b
-.asm_d03ab
- rrca
- dec c
- jr nz, .asm_d03ab
- ld b, a
-
-.asm_d03b0
- xor a
- bit 0, b
- jr z, .asm_d03b7
- ld a, $1
-
-.asm_d03b7
- ld b, a
- ld hl, $d187
- inc [hl]
- ret
-; d03bd
-
-Functiond03bd: ; d03bd
- push af
- call Functiond03cd
- pop af
- push hl
- call Functiond03f7
- ld hl, $d16e
- add [hl]
- pop hl
- ld [hl], a
- ret
-; d03cd
-
-Functiond03cd: ; d03cd
- call Functiond046c
- ld a, [$d186]
- ld bc, $0014
- call AddNTimes
- ld a, [$c2c6]
- and a
- jr nz, .asm_d03e8
- ld a, [$d185]
- ld e, a
- ld d, $0
- add hl, de
- jr .asm_d03f3
-
-.asm_d03e8
- ld a, [$d185]
- ld e, a
- ld a, l
- sub e
- ld l, a
- ld a, h
- sbc $0
- ld h, a
-
-.asm_d03f3
- ret
-; d03f4
-
-INCBIN "baserom.gbc",$d03f4,$d03f7 - $d03f4
-
-Functiond03f7: ; d03f7
- push af
- ld a, [$d171]
- cp $5
- jr z, .asm_d0405
- cp $6
- jr z, .asm_d041a
- pop af
- ret
-
-.asm_d0405
- pop af
- cp $19
- jr nc, .asm_d0417
- push hl
- push de
- ld hl, $442f
- ld e, a
- ld d, $0
- add hl, de
- ld a, [hl]
- pop de
- pop hl
- ret
-
-.asm_d0417
- add $18
- ret
-
-.asm_d041a
- pop af
- cp $24
- jr nc, .asm_d042c
- push hl
- push de
- ld hl, $4448
- ld e, a
- ld d, $0
- add hl, de
- ld a, [hl]
- pop de
- pop hl
- ret
-
-.asm_d042c
- add $d
- ret
-; d042f
-
-INCBIN "baserom.gbc",$d042f,$d046c - $d042f
-
-Functiond046c: ; d046c
- ld hl, $d16f
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ld a, [$d171]
- ld de, $0000
- ld bc, $0006
- cp $7
- jr z, .asm_d048f
- ld de, $0015
- ld bc, $0019
- cp $6
- jr z, .asm_d048f
- ld de, $0029
- ld bc, $002d
-
-.asm_d048f
- ld a, [$c2c6]
- and a
- jr nz, .asm_d0497
- add hl, de
- ret
-
-.asm_d0497
- add hl, bc
- ret
-; d0499
-
-Functiond0499: ; d0499
- ld a, [$d186]
- inc a
- ld [$d186], a
- ld c, a
- ld a, [$d171]
- cp c
- jr nz, .asm_d04bb
- xor a
- ld [$d186], a
- ld a, [$d185]
- inc a
- ld [$d185], a
- ld c, a
- ld a, [$d171]
- cp c
- jr nz, .asm_d04bb
- scf
- ret
-
-.asm_d04bb
- xor a
- ret
-; d04bd
-
-Functiond04bd: ; d04bd
- call Functiond04f6
- ld a, [$c2c6]
- and a
- jr nz, .asm_d04ce
- ld de, $0001
- ld bc, $0000
- jr .asm_d04d4
-
-.asm_d04ce
- ld de, rIE
- ld bc, $0006
-
-.asm_d04d4
- ld hl, $d16f
- ld a, [hli]
- ld h, [hl]
- ld l, a
- add hl, bc
- ld c, $7
- ld b, $7
- ld a, [$d16e]
-.asm_d04e2
- push bc
- push hl
- push de
- ld de, $0014
-.asm_d04e8
- ld [hl], a
- inc a
- add hl, de
- dec b
- jr nz, .asm_d04e8
- pop de
- pop hl
- add hl, de
- pop bc
- dec c
- jr nz, .asm_d04e2
- ret
-; d04f6
-
-Functiond04f6: ; d04f6
- ld hl, $d16f
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ld b, $7
- ld c, $7
- call ClearBox
- ret
-; d0504
-
-Functiond0504: ; d0504
- ld a, [rSVBK]
- push af
- ld a, $2
- ld [rSVBK], a
- xor a
- ld [hBGMapMode], a
- call Functiond051b
- callba Function104047
- pop af
- ld [rSVBK], a
- ret
-; d051b
-
-Functiond051b: ; d051b
- call Functiond0551
- ld b, $7
- ld c, $7
- ld de, $0014
-.asm_d0525
- push bc
- push hl
-.asm_d0527
- ld a, [hl]
- or $8
- ld [hl], a
- add hl, de
- dec c
- jr nz, .asm_d0527
- pop hl
- inc hl
- pop bc
- dec b
- jr nz, .asm_d0525
- ret
-; d0536
-
-Functiond0536: ; d0536
- call Functiond0551
- ld b, $7
- ld c, $7
- ld de, $0014
-.asm_d0540
- push bc
- push hl
-.asm_d0542
- ld a, [hl]
- and $f7
- ld [hl], a
- add hl, de
- dec c
- jr nz, .asm_d0542
- pop hl
- inc hl
- pop bc
- dec b
- jr nz, .asm_d0540
- ret
-; d0551
-
-Functiond0551: ; d0551
- ld hl, $d16f
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ld de, $0939
- add hl, de
- ret
-; d055c
-
-Functiond055c: ; d055c
- call Functiond02f2
- jr z, .asm_d0597
- ld c, $34
- ld hl, UnownAnimationPointers
- ld de, UnownAnimationExtraPointers
- call Functiond02ec
- jr z, .asm_d0576
- ld c, $34
- ld hl, AnimationPointers
- ld de, AnimationExtraPointers
-
-.asm_d0576
- ld a, [$d172]
- and a
- jr z, .asm_d057e
- ld h, d
- ld l, e
-
-.asm_d057e
- ld a, [$d16d]
- dec a
- ld e, a
- ld d, $0
- add hl, de
- add hl, de
- ld a, c
- ld [$d174], a
- call GetFarHalfword
- ld a, l
- ld [$d175], a
- ld a, h
- ld [$d176], a
- ret
-
-.asm_d0597
- ld hl, EggAnimation
- ld c, $34
- ld a, [$d172]
- and a
- jr z, .asm_d05a7
- ld hl, EggAnimationExtra
- ld c, $34
-
-.asm_d05a7
- ld a, c
- ld [$d174], a
- ld a, l
- ld [$d175], a
- ld a, h
- ld [$d176], a
- ret
-; d05b4
-
-Functiond05b4: ; d05b4
- ld a, [rSVBK]
- push af
- ld a, $1
- ld [rSVBK], a
- ld a, [CurPartySpecies]
- ld [CurSpecies], a
- call GetBaseData
- ld a, [BasePicSize]
- and $f
- ld c, a
- pop af
- ld [rSVBK], a
- ret
-; d05ce
-
-Functiond05ce: ; d05ce
- call Functiond02f2
- jr z, .asm_d0609
- call Functiond02ec
- ld b, $36
- ld c, $36
- ld hl, PikachuAnimationExtra
- jr z, .asm_d05ef
- ld a, [$d16b]
- cp $98
- ld b, $35
- ld c, $35
- ld hl, $4000
- jr c, .asm_d05ef
- ld c, $36
-
-.asm_d05ef
- ld a, c
- ld [$d177], a
- ld a, [$d16d]
- dec a
- ld e, a
- ld d, $0
- add hl, de
- add hl, de
- ld a, b
- call GetFarHalfword
- ld a, l
- ld [$d178], a
- ld a, h
- ld [$d179], a
- ret
-
-.asm_d0609
- ld hl, $598b
- ld c, $36
- ld a, c
- ld [$d177], a
- ld a, l
- ld [$d178], a
- ld a, h
- ld [$d179], a
- ret
-; d061b
-
-Functiond061b: ; d061b
- call Functiond02f2
- jr z, .asm_d064a
- call Functiond02ec
- ld a, $34
- ld hl, UnownBitmasksPointers
- jr z, .asm_d062f
- ld a, $34
- ld hl, BitmasksPointers
-
-.asm_d062f
- ld [$d17a], a
- ld a, [$d16d]
- dec a
- ld e, a
- ld d, $0
- add hl, de
- add hl, de
- ld a, [$d17a]
- call GetFarHalfword
- ld a, l
- ld [$d17b], a
- ld a, h
- ld [$d17c], a
- ret
-
-.asm_d064a
- ld c, $34
- ld hl, EggBitmasks
- ld a, c
- ld [$d17a], a
- ld a, l
- ld [$d17b], a
- ld a, h
- ld [$d17c], a
- ret
-; d065c
-
-Functiond065c: ; d065c
- call Functiond02ec
- jr z, .asm_d0665
- ld a, [$d16b]
- ret
-
-.asm_d0665
- ld a, [$d16c]
- ret
-; d0669
-
-Functiond0669: ; d0669
- ld a, $1
- ld [$c2c6], a
-
-Functiond066e: ; d066e
- call Functiond01c6
- jr c, .asm_d068c
- ld h, d
- ld l, e
- push bc
- push hl
- ld de, VTiles2
- ld a, $3e
- call Predef
- pop hl
- pop bc
- ld d, $0
- ld e, c
- call Functiond008e
- xor a
- ld [$c2c6], a
- ret
-
-.asm_d068c
- xor a
- ld [$c2c6], a
- inc a
- ld [CurPartySpecies], a
- ret
-; d0695
-
; Pic animations are assembled in 3 parts:
; Top-level animations:
@@ -85116,24 +84091,24 @@
; following bytes are tile ids mapped to each bit in the mask
; Main animations (played everywhere)
-AnimationPointers: INCLUDE "gfx/pics/anim_pointers.asm"
+INCLUDE "gfx/pics/anim_pointers.asm"
INCLUDE "gfx/pics/anims.asm"
; Extra animations, appended to the main animation
; Used in the status screen (blinking, tail wags etc.)
-AnimationExtraPointers: INCLUDE "gfx/pics/extra_pointers.asm"
+INCLUDE "gfx/pics/extra_pointers.asm"
INCLUDE "gfx/pics/extras.asm"
; Unown has its own animation data despite having an entry in the main tables
-UnownAnimationPointers: INCLUDE "gfx/pics/unown_anim_pointers.asm"
+INCLUDE "gfx/pics/unown_anim_pointers.asm"
INCLUDE "gfx/pics/unown_anims.asm"
-UnownAnimationExtraPointers: INCLUDE "gfx/pics/unown_extra_pointers.asm"
+INCLUDE "gfx/pics/unown_extra_pointers.asm"
INCLUDE "gfx/pics/unown_extras.asm"
; Bitmasks
-BitmasksPointers: INCLUDE "gfx/pics/bitmask_pointers.asm"
+INCLUDE "gfx/pics/bitmask_pointers.asm"
INCLUDE "gfx/pics/bitmasks.asm"
-UnownBitmasksPointers: INCLUDE "gfx/pics/unown_bitmask_pointers.asm"
+INCLUDE "gfx/pics/unown_bitmask_pointers.asm"
INCLUDE "gfx/pics/unown_bitmasks.asm"