diff options
| author | luckytyphlosion <alan.rj.huang@gmail.com> | 2016-05-30 18:20:41 -0400 |
|---|---|---|
| committer | luckytyphlosion <alan.rj.huang@gmail.com> | 2016-05-30 18:20:41 -0400 |
| commit | 3330662296eabb6b3b7f0eed1c79003c8873c712 (patch) | |
| tree | dae9a2f40425a236a3ef6ecce453cf16b4359c26 /engine/bank3f.asm | |
| parent | Bank7 misc functions (diff) | |
| parent | Digletts Cave Route 11 Entrance (diff) | |
| download | pokeyellow-3330662296eabb6b3b7f0eed1c79003c8873c712.tar.gz pokeyellow-3330662296eabb6b3b7f0eed1c79003c8873c712.tar.xz pokeyellow-3330662296eabb6b3b7f0eed1c79003c8873c712.zip | |
Merge pull request #9 from PikalaxALT/master
Disassemble banks 3A, 3F, and all outdoor maps
Diffstat (limited to 'engine/bank3f.asm')
| -rw-r--r-- | engine/bank3f.asm | 2428 |
1 files changed, 960 insertions, 1468 deletions
diff --git a/engine/bank3f.asm b/engine/bank3f.asm index 92e6d857..c31fc986 100644 --- a/engine/bank3f.asm +++ b/engine/bank3f.asm @@ -4,50 +4,51 @@ INCLUDE "data/map_header_banks.asm" Func_fc4dd:: ; fc4dd (3f:44dd) ; possibly to test if pika should be out? - ld a,[wd430] - bit 5,a - jr nz,.asm_fc4f8 ; 3f:44f8 - ld a,[wd430] - bit 7,a - jr nz,.asm_fc4f8 + ld a, [wPikachuOverworldStateFlags] + bit 5, a + jr nz, .hide ; 3f:44f8 + ld a, [wPikachuOverworldStateFlags] + bit 7, a + jr nz, .hide call IsStarterPikachuInOurParty - jr nc,.asm_fc4f8 - ld a,[wWalkBikeSurfState] + jr nc, .hide + ld a, [wWalkBikeSurfState] and a - jr nz,.asm_fc4f8 + jr nz, .hide scf ret -.asm_fc4f8 + +.hide and a ret - + Func_fc4fa:: ; fc4fa (3f:44fa) - ld hl,wd430 - bit 4,[hl] - res 4,[hl] - jr nz,.asm_fc515 - call Func_1542 + ld hl, wPikachuOverworldStateFlags + bit 4, [hl] + res 4, [hl] + jr nz, .asm_fc515 + call ResetPikachuAsleep call Func_fc523 - ld a,$ff - ld [wSpriteStateData1 + $f2],a - call Func_fcb84 + ld a, $ff + ld [wSpriteStateData1 + $f2], a + call ClearPikachuFollowCommandBuffer call Func_fc5bc ret - + .asm_fc515 call Func_fc53f xor a - ld [wd431],a - ld a,[wSpriteStateData1 + $9] - ld [wSpriteStateData1 + $f9],a + ld [wd431], a + ld a, [wSpriteStateData1 + $9] + ld [wSpriteStateData1 + $f9], a ret - + Func_fc523:: ; fc523 (3f:4523) - ld hl,wSpriteStateData1 + $f0 + ld hl, wSpriteStateData1 + $f0 call Func_fc52c - ld hl,wSpriteStateData2 + $f0 + ld hl, wSpriteStateData2 + $f0 Func_fc52c:: ; fc52c (3f:4523) - ld bc,$10 + ld bc, $10 xor a call FillMemory ret @@ -56,251 +57,274 @@ Func_fc534:: ; fc534 (3f:4534) call Func_fc53f call Func_fc5bc xor a - ld [wd431],a + ld [wd431], a ret - + Func_fc53f:: ; fc53f (3f:453f) - ld bc,wSpriteStateData1 + $f0 - ld a,[wYCoord] + ld bc, wSpriteStateData1 + $f0 + ld a, [wYCoord] add $4 - ld e,a - ld a,[wXCoord] + ld e, a + ld a, [wXCoord] add $4 - ld d,a - ld a,[wd431] + ld d, a + ld a, [wd431] and a - jr z,.asm_fc5aa + jr z, .asm_fc5aa cp $1 - jr z,.asm_fc59e + jr z, .asm_fc59e cp $2 - jr z,.asm_fc584 + jr z, .asm_fc584 cp $3 - jr z,.asm_fc5aa + jr z, .asm_fc5aa cp $4 - jr z,.asm_fc5a4 + jr z, .asm_fc5a4 cp $5 - jr z,.asm_fc5a7 + jr z, .asm_fc5a7 cp $6 - jr z,.asm_fc5a1 + jr z, .asm_fc5a1 cp $7 - jr z,.asm_fc572 + jr z, .asm_fc572 jr .asm_fc59e - + .asm_fc572 - ld a,[wSpriteStateData1 + $9] + ld a, [wSpriteStateData1 + $9] and a ; SPRITE_FACING_DOWN - jr z,.asm_fc5a4 - cp SPRITE_FACING_UP - jr z,.asm_fc5a7 + jr z, .asm_fc5a4 + cp SPRITE_FACING_UP + jr z, .asm_fc5a7 cp SPRITE_FACING_LEFT - jr z,.asm_fc5a1 + jr z, .asm_fc5a1 cp SPRITE_FACING_RIGHT - jr z,.asm_fc59e + jr z, .asm_fc59e .asm_fc584 - ld a,[wSpriteStateData1 + $9] + ld a, [wSpriteStateData1 + $9] and a - jr nz,.asm_fc58d + jr nz, .asm_fc58d dec e jr .asm_fc5aa + .asm_fc58d cp SPRITE_FACING_UP - jr nz,.asm_fc594 + jr nz, .asm_fc594 inc e jr .asm_fc5aa + .asm_fc594 cp SPRITE_FACING_LEFT - jr nz,.asm_fc59b + jr nz, .asm_fc59b inc d jr .asm_fc5aa + .asm_fc59b dec d jr .asm_fc5aa + .asm_fc59e inc d jr .asm_fc5aa + .asm_fc5a1 dec d jr .asm_fc5aa + .asm_fc5a4 inc e jr .asm_fc5aa + .asm_fc5a7 dec e jr .asm_fc5aa ; useless jr .asm_fc5aa - ld hl,$104 - add hl,bc - ld [hl],e + ld hl, $104 + add hl, bc + ld [hl], e inc hl - ld [hl],d + ld [hl], d inc hl Func_fc4b2:: ; fc4b2 (3f:44b2) - ld [hl],$fe + ld [hl], $fe push hl - ld hl,wd472 - set 5,[hl] + ld hl, wd472 + set 5, [hl] pop hl ret - + Func_fc5bc:: ; fc5bc (3f:45bc) - ld a,$49 - ld [wSpriteStateData1 + $f0],a - ld a,$ff - ld [wSpriteStateData1 + $f2],a - ld a,[wd431] + ld a, $49 + ld [wSpriteStateData1 + $f0], a + ld a, $ff + ld [wSpriteStateData1 + $f2], a + ld a, [wd431] and a - jr z,.asm_fc5e4 + jr z, .asm_fc5e4 cp $1 - jr z,.asm_fc5e4 + jr z, .asm_fc5e4 cp $3 - jr z,.asm_fc5eb + jr z, .asm_fc5eb cp $4 - jr z,.asm_fc5e4 + jr z, .asm_fc5e4 cp $6 - jr z,.asm_fc5e4 + jr z, .asm_fc5e4 cp $7 - jr z,.asm_fc5f1 + jr z, .asm_fc5f1 call Func_fccb2 ret - + .asm_fc5e4 - ld a,[wSpriteStateData1 + $9] - ld [wSpriteStateData1 + $f9],a + ld a, [wSpriteStateData1 + $9] + ld [wSpriteStateData1 + $f9], a ret + .asm_fc5eb - ld a,$0 - ld [wSpriteStateData1 + $f9],a + ld a, $0 + ld [wSpriteStateData1 + $f9], a ret + .asm_fc5f1 - ld a,[wSpriteStateData1 + $9] + ld a, [wSpriteStateData1 + $9] xor $4 - ld [wSpriteStateData1 + $f9],a + ld [wSpriteStateData1 + $f9], a ret Func_fc5fa:: ; fc5fa (3f:45fa) - ld a,[wCurMap] + ld a, [wCurMap] cp OAKS_LAB - jr z,.asm_fc63d + jr z, .asm_fc63d cp ROUTE_22_GATE - jr z,.asm_fc62d + jr z, .asm_fc62d cp MT_MOON_2 - jr z,.asm_fc635 + jr z, .asm_fc635 cp ROCK_TUNNEL_1 - jr z,.asm_fc645 - ld a,[wCurMap] - ld hl,Pointer_fc64b + jr z, .asm_fc645 + ld a, [wCurMap] + ld hl, Pointer_fc64b call Func_1568 ; similar to IsInArray, but not the same - jr c,.asm_fc639 - ld a,[wCurMap] - ld hl,Pointer_fc653 + jr c, .asm_fc639 + ld a, [wCurMap] + ld hl, Pointer_fc653 call Func_1568 - jr nc,.asm_fc641 - ld a,[wSpriteStateData1 + $9] + jr nc, .asm_fc641 + ld a, [wSpriteStateData1 + $9] and a - jr nz,.asm_fc641 - ld a,$3 + jr nz, .asm_fc641 + ld a, $3 jr .asm_fc647 - + .asm_fc62d - ld a,[wSpriteStateData1 + $9] + ld a, [wSpriteStateData1 + $9] and a - jr z,.asm_fc645 + jr z, .asm_fc645 jr .asm_fc641 + .asm_fc635 - ld a,$3 + ld a, $3 jr .asm_fc647 + .asm_fc639 - ld a,$4 + ld a, $4 jr .asm_fc647 + .asm_fc63d - ld a,$6 + ld a, $6 jr .asm_fc647 + .asm_fc641 - ld a,$1 + ld a, $1 jr .asm_fc647 + .asm_fc645 - ld a,$3 + ld a, $3 .asm_fc647 - ld [wd431],a + ld [wd431], a ret Pointer_fc64b:: ; fc64b (3f:464b) - db $c2,$4c,$4f,$ba,$be,$b8,$54,$ff - + db $c2, $4c, $4f, $ba, $be, $b8, $54, $ff + Pointer_fc653:: ; fc653 (3f:4653) - db $2f,$e6,$3e,$5e,$80,$31,$a4,$ff + db $2f, $e6, $3e, $5e, $80, $31, $a4, $ff Func_fc65b:: ; fc65b (3f:465b) - ld a,[wCurMap] + ld a, [wCurMap] cp VIRIDIAN_FOREST_EXIT - jr z,.asm_fc673 + jr z, .asm_fc673 cp VIRIDIAN_FOREST_ENTRANCE - jr z,.asm_fc67c - ld a,[wCurMap] - ld hl,Pointer_fc68e + jr z, .asm_fc67c + ld a, [wCurMap] + ld hl, Pointer_fc68e call Func_1568 - jr c,.asm_fc688 + jr c, .asm_fc688 jr .asm_fc684 + .asm_fc673 - ld a,[wSpriteStateData1 + $9] + ld a, [wSpriteStateData1 + $9] cp SPRITE_FACING_UP - jr z,.asm_fc688 + jr z, .asm_fc688 jr .asm_fc684 + .asm_fc67c - ld a,[wSpriteStateData1 + $9] + ld a, [wSpriteStateData1 + $9] and a ; SPRITE_FACING_DOWN - jr z,.asm_fc684 + jr z, .asm_fc684 jr .asm_fc688 + .asm_fc684 - ld a,$0 + ld a, $0 jr .asm_fc68a + .asm_fc688 - ld a,$1 + ld a, $1 .asm_fc68a - ld [wd431],a + ld [wd431], a ret - + Pointer_fc68e:: ; fc68e (3f:468e) - db $33,$dd,$df,$e0,$e1,$de,$ec,$7f,$a8,$a9,$aa,$ff - + db $33, $dd, $df, $e0, $e1, $de, $ec, $7f, $a8, $a9, $aa, $ff + Func_fc69a:: ; fc69a (3f:469a) - ld a,[wCurMap] + ld a, [wCurMap] cp ROUTE_22_GATE - jr z,.asm_fc6a7 + jr z, .asm_fc6a7 cp ROUTE_2_GATE - jr z,.asm_fc6b0 + jr z, .asm_fc6b0 jr .asm_fc6bd + .asm_fc6a7 - ld a,[wSpriteStateData1 + $9] + ld a, [wSpriteStateData1 + $9] cp SPRITE_FACING_UP - jr z,.asm_fc6b9 + jr z, .asm_fc6b9 jr .asm_fc6bd + .asm_fc6b0 - ld a,[wSpriteStateData1 + $9] + ld a, [wSpriteStateData1 + $9] cp SPRITE_FACING_UP - jr z,.asm_fc6b9 + jr z, .asm_fc6b9 jr .asm_fc6bd + .asm_fc6b9 - ld a,$1 + ld a, $1 jr .asm_fc6c1 + .asm_fc6bd - ld a,$3 + ld a, $3 jr .asm_fc6c1 + .asm_fc6c1 - ld [wd431],a + ld [wd431], a ret Func_fc6c5:: ; fc6c5 (3f:46c5) push hl - ld hl,wd430 - set 2,[hl] + ld hl, wPikachuOverworldStateFlags + set 2, [hl] pop hl ret Func_fc6cd:: ; fc6cd (3f:46cd) push hl - ld hl,wd430 - res 2,[hl] + ld hl, wPikachuOverworldStateFlags + res 2, [hl] pop hl ret @@ -312,32 +336,32 @@ Func_fc6d5:: ; fc6d5 (3f:46d5) call Func_fcd25 pop bc ret c - ld bc,wSpriteStateData1 + $f0 - ld hl,$1 - add hl,bc - bit 7,[hl] - jp nz,asm_fc745 - ld a,[wFontLoaded] - bit 0,a - jp nz,asm_fc76a - call Func_154a - jp nz,asm_fc76a - ld a,[hl] + ld bc, wSpriteStateData1 + $f0 + ld hl, $1 + add hl, bc + bit 7, [hl] + jp nz, asm_fc745 + ld a, [wFontLoaded] + bit 0, a + jp nz, asm_fc76a + call CheckPikachuAsleep + jp nz, asm_fc76a + ld a, [hl] and $7f cp $a - jr c,.asm_fc704 + jr c, .asm_fc704 xor a .asm_fc704 add a - ld e,a - ld d,0 - ld hl,PointerTable_fc710 - add hl,de - ld a,[hli] - ld h,[hl] - ld l,a + ld e, a + ld d, 0 + ld hl, PointerTable_fc710 + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a jp hl - + PointerTable_fc710: ; fc710 (3f:4710) dw Func_fc793 dw Func_fc7aa @@ -350,16 +374,16 @@ PointerTable_fc710: ; fc710 (3f:4710) dw asm_fc937 dw asm_fc969 dw Func_fc726 - + Func_fc726: ; fc726 (3f:4726) ret Func_fc727: ; fc727 (3f:4727) call Func_fc4dd - jr nc,.asm_fc73b - ld a,[wSpriteStateData1 + $f1] + jr nc, .asm_fc73b + ld a, [wSpriteStateData1 + $f1] and a - jr nz,.asm_fc739 + jr nz, .asm_fc739 push bc push hl call Func_fc534 @@ -368,54 +392,57 @@ Func_fc727: ; fc727 (3f:4727) .asm_fc739 scf ret + .asm_fc73b - ld hl,wSpriteStateData1 + $f2 - ld [hl],$ff + ld hl, wSpriteStateData1 + $f2 + ld [hl], $ff dec hl - ld [hl],$0 + ld [hl], $0 xor a ret + asm_fc745: ; fc745 (3f:4745) - ld hl,$1 - add hl,bc - res 7,[hl] - ld hl,wSpriteStateData2 - wSpriteStateData1 - add hl,bc - ld [hl],a - call Func_154a - jr nz,.asm_fc75f - ld a,[wSpriteStateData1 + $9] + ld hl, $1 + add hl, bc + res 7, [hl] + ld hl, wSpriteStateData2 - wSpriteStateData1 + add hl, bc + ld [hl], a + call CheckPikachuAsleep + jr nz, .asm_fc75f + ld a, [wSpriteStateData1 + $9] xor $4 - ld hl,$9 - add hl,bc - ld [hl],a + ld hl, $9 + add hl, bc + ld [hl], a .asm_fc75f xor a - ld hl,$7 - add hl,bc - ld [hli],a - ld [hl],a + ld hl, $7 + add hl, bc + ld [hli], a + ld [hl], a call Func_fca99 ret + asm_fc76a: ; fc76a (3f:476a) xor a - ld hl,$7 - add hl,bc - ld [hli],a - ld [hl],a + ld hl, $7 + add hl, bc + ld [hli], a + ld [hl], a call Func_fca99 call Func_fc82e - jr c,.asm_fc783 + jr c, .asm_fc783 push bc callab InitializeSpriteScreenPosition pop bc .asm_fc783 - ld hl,$1 - add hl,bc - ld [hl],$1 - ld hl,wSpriteStateData2 - wSpriteStateData1 - add hl,bc - ld [hl],$0 + ld hl, $1 + add hl, bc + ld [hl], $1 + ld hl, wSpriteStateData2 - wSpriteStateData1 + add hl, bc + ld [hl], $0 call Func_fcba1 ret @@ -424,562 +451,566 @@ Func_fc793: ; fc793 (3f:4793) push bc callab InitializeSpriteScreenPosition pop bc - ld hl,$2 - add hl,bc - ld [hl],$ff + ld hl, $2 + add hl, bc + ld [hl], $ff dec hl - ld [hl],$1 + ld [hl], $1 ret Func_fc7aa: ; fc7aa (3f:47aa) call Func_fcc92 - jp c,Func_fc803 + jp c, Func_fc803 dec a - ld l,a - ld h,$0 - add hl,hl - add hl,hl - ld de,Pointer_fc7e3 - add hl,de - ld d,h - ld e,l - ld a,[de] + ld l, a + ld h, $0 + add hl, hl + add hl, hl + ld de, Pointer_fc7e3 + add hl, de + ld d, h + ld e, l + ld a, [de] inc de - ld hl,$9 - add hl,bc - ld [hl],a - ld a,[de] + ld hl, $9 + add hl, bc + ld [hl], a + ld a, [de] inc de - ld hl,$5 - add hl,bc - ld [hl],a + ld hl, $5 + add hl, bc + ld [hl], a dec hl dec hl - ld a,[de] - ld [hl],a + ld a, [de] + ld [hl], a inc de - ld a,[de] - ld hl,$1 - add hl,bc - ld [hl],a + ld a, [de] + ld hl, $1 + add hl, bc + ld [hl], a cp $4 - jp z,Func_fca0a + jp z, Func_fca0a call Func_fcd17 - jp c,Func_fc9df + jp c, Func_fc9df jp Func_fc9b4 Pointer_fc7e3: ; fc7e3 (3f:47e3) - db $0,$0 - db $1,$3 - db $4,$0 - db $ff,$3 - db $8,$ff - db $0,$3 - db $c,$1 - db $0,$3 - db $0,$0 - db $1,$4 - db $4,$0 - db $ff,$4 - db $8,$ff - db $0,$4 - db $c,$1 - db $0,$4 - + db $0, $0 + db $1, $3 + db $4, $0 + db $ff, $3 + db $8, $ff + db $0, $3 + db $c, $1 + db $0, $3 + db $0, $0 + db $1, $4 + db $4, $0 + db $ff, $4 + db $8, $ff + db $0, $4 + db $c, $1 + db $0, $4 + Func_fc803: ; fc803 (3f:4803) call Func_fcae2 ret c - ld hl,wSpriteStateData2 - wSpriteStateData1 - add hl,bc + ld hl, wSpriteStateData2 - wSpriteStateData1 + add hl, bc dec [hl] - jr nz,.asm_fc823 + jr nz, .asm_fc823 push hl call Func_fccee pop hl cp $5 - jr nc,Func_fc842 - ld [hl],$20 + jr nc, Func_fc842 + ld [hl], $20 call Random and $c - ld hl,$9 - add hl,bc - ld [hl],a + ld hl, $9 + add hl, bc + ld [hl], a .asm_fc823 xor a - ld hl,$7 - add hl,bc - ld [hli],a - ld [hl],a + ld hl, $7 + add hl, bc + ld [hli], a + ld [hl], a call Func_fca99 ret Func_fc82e: ; fc82e (3f:482e) - ld a,[wWalkCounter] + ld a, [wWalkCounter] and a ret z scf ret Func_fc835: ; fc835 (3f:4835) - ld hl,wSpriteStateData2 - wSpriteStateData1 - add hl,bc - ld [hl],$10 - ld hl,$1 - add hl,bc - ld [hl],$1 + ld hl, wSpriteStateData2 - wSpriteStateData1 + add hl, bc + ld [hl], $10 + ld hl, $1 + add hl, bc + ld [hl], $1 ret - + Func_fc842: ; fc842 (3f:4842) - ld hl,$0 + ld hl, $0 push af call Random - ld a,[hRandomAdd] + ld a, [hRandomAdd] and %11 - ld e,a - ld d,$0 - ld hl,PointerTable_fc85a - add hl,de - add hl,de - ld a,[hli] - ld h,[hl] - ld l,a + ld e, a + ld d, $0 + ld hl, PointerTable_fc85a + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a pop af jp hl - + PointerTable_fc85a: ; fc85a (3f:485a) dw Func_fc862 dw Func_fc8f8 dw Func_fc92b dw Func_fc95d - + Func_fc862: ; fc862 (3f:4862) dec a add a add a and $c - ld hl,$9 - add hl,bc - ld [hl],a - ld hl,$1 - add hl,bc - ld [hl],$6 + ld hl, $9 + add hl, bc + ld [hl], a + ld hl, $1 + add hl, bc + ld [hl], $6 xor a - ld [wd432],a - ld [wd433],a - ld hl,wSpriteStateData2 - wSpriteStateData1 - add hl,bc - ld [hl],$11 + ld [wd432], a + ld [wd433], a + ld hl, wSpriteStateData2 - wSpriteStateData1 + add hl, bc + ld [hl], $11 asm_fc87f: ; fc87f (3f:487f) - ld a,[wd432] - ld e,a - ld a,[wd433] - ld d,a + ld a, [wd432] + ld e, a + ld a, [wd433] + ld d, a call Func_fc82e - jr c,Func_fc8c7 + jr c, Func_fc8c7 call Func_fc6c5 - ld hl,$4 - add hl,bc - ld a,[hl] + ld hl, $4 + add hl, bc + ld a, [hl] sub e - ld e,a + ld e, a inc hl inc hl - ld a,[hl] + ld a, [hl] sub d - ld d,a - ld hl,wSpriteStateData2 - wSpriteStateData1 - add hl,bc - ld a,[hl] + ld d, a + ld hl, wSpriteStateData2 - wSpriteStateData1 + add hl, bc + ld a, [hl] dec a add a add $d6 - ld l,a - ld a,$48 + ld l, a + ld a, $48 adc $0 - ld h,a - ld a,[hli] - ld [wd432],a + ld h, a + ld a, [hli] + ld [wd432], a add e - ld e,a - ld a,[hl] - ld [wd433],a + ld e, a + ld a, [hl] + ld [wd433], a add d - ld d,a - ld hl,$4 - add hl,bc - ld [hl],e + ld d, a + ld hl, $4 + add hl, bc + ld [hl], e inc hl inc hl - ld [hl],d - ld hl,wSpriteStateData2 - wSpriteStateData1 - add hl,bc + ld [hl], d + ld hl, wSpriteStateData2 - wSpriteStateData1 + add hl, bc dec [hl] ret nz jp Func_fc835 - + Func_fc8c7: ; fc8c7 (3f:48c7) - ld hl,$4 - add hl,bc - ld a,[hl] + ld hl, $4 + add hl, bc + ld a, [hl] sub e - ld [hl],a + ld [hl], a inc hl inc hl - ld a,[hl] + ld a, [hl] sub d - ld [hl],a + ld [hl], a jp Func_fc835 Pointer_fc8d6: ; fc8d6 (3f:48d6) - db $0,$0,$fe,$1,$fc - db $2,$fe,$3,$0,$4 - db $fe,$3,$fc,$2,$fe - db $1,$0,$0,$fe,$ff - db $fc,$fe,$fe,$fd,$0 - db $fc,$fe,$fd,$fc,$fe - db $fe,$ff,$00,$00 - + db $0, $0, $fe, $1, $fc + db $2, $fe, $3, $0, $4 + db $fe, $3, $fc, $2, $fe + db $1, $0, $0, $fe, $ff + db $fc, $fe, $fe, $fd, $0 + db $fc, $fe, $fd, $fc, $fe + db $fe, $ff, $00, $00 + Func_fc8f8: ; fc8f8 (3f:48f8) - ld hl,$1 - add hl,bc - ld [hl],$7 - ld hl,wSpriteStateData2 - wSpriteStateData1 - add hl,bc - ld [hl],$30 + ld hl, $1 + add hl, bc + ld [hl], $7 + ld hl, wSpriteStateData2 - wSpriteStateData1 + add hl, bc + ld [hl], $30 asm_fc904: ; fc904 (3f:4904) call Func_fc82e - jp c,Func_fc835 + jp c, Func_fc835 call Func_fc6c5 - ld hl,$7 - add hl,bc - ld a,[hl] + ld hl, $7 + add hl, bc + ld a, [hl] inc a cp $8 - ld [hl],a - jr nz,.asm_fc91f + ld [hl], a + jr nz, .asm_fc91f xor a - ld [hli],a - ld a,[hl] + ld [hli], a + ld a, [hl] inc a and %11 - ld [hl],a + ld [hl], a .asm_fc91f call Func_fca99 - ld hl,wSpriteStateData2 - wSpriteStateData1 - add hl,bc + ld hl, wSpriteStateData2 - wSpriteStateData1 + add hl, bc dec [hl] ret nz jp Func_fc835 - + Func_fc92b: ; fc92b (3f:492b) - ld hl,wSpriteStateData2 - wSpriteStateData1 - add hl,bc - ld [hl],$20 - ld hl,$1 - add hl,bc - ld [hl],$8 + ld hl, wSpriteStateData2 - wSpriteStateData1 + add hl, bc + ld [hl], $20 + ld hl, $1 + add hl, bc + ld [hl], $8 asm_fc937: ; fc937 (3f:4937) call Func_fc82e - jp c,Func_fc835 + jp c, Func_fc835 call Func_fc6c5 - ld hl,$7 - add hl,bc - ld a,[hl] + ld hl, $7 + add hl, bc + ld a, [hl] inc a cp $8 - ld [hl],a - jr nz,.asm_fc951 + ld [hl], a + jr nz, .asm_fc951 xor a - ld [hli],a - ld a,[hl] + ld [hli], a + ld a, [hl] xor $1 - ld [hl],a + ld [hl], a .asm_fc951 call Func_fca99 - ld hl,wSpriteStateData2 - wSpriteStateData1 - add hl,bc + ld hl, wSpriteStateData2 - wSpriteStateData1 + add hl, bc dec [hl] ret nz jp Func_fc835 - + Func_fc95d: ; fc95d (3f:495d) - ld hl,wSpriteStateData2 - wSpriteStateData1 - add hl,bc - ld [hl],$20 - ld hl,$1 - add hl,bc - ld [hl],$9 + ld hl, wSpriteStateData2 - wSpriteStateData1 + add hl, bc + ld [hl], $20 + ld hl, $1 + add hl, bc + ld [hl], $9 asm_fc969: ; fc969 (3f:4969) call Func_fc82e - jp c,Func_fc835 + jp c, Func_fc835 call Func_fc6c5 - ld hl,$7 - add hl,bc - ld a,[hl] + ld hl, $7 + add hl, bc + ld a, [hl] inc a cp $8 - ld [hl],a - jr nz,.asm_fc988 + ld [hl], a + jr nz, .asm_fc988 xor a - ld [hl],a - ld hl,$9 - add hl,bc - ld a,[hl] + ld [hl], a + ld hl, $9 + add hl, bc + ld a, [hl] call Func_fc994 - ld [hl],a + ld [hl], a .asm_fc988 call Func_fca99 - ld hl,wSpriteStateData2 - wSpriteStateData1 - add hl,bc + ld hl, wSpriteStateData2 - wSpriteStateData1 + add hl, bc dec [hl] ret nz jp Func_fc835 - + Func_fc994: ; fc994 (3f:4994) push hl - ld hl,Pointer_fc9ac - ld d,a + ld hl, Pointer_fc9ac + ld d, a .loop - ld a,[hli] + ld a, [hli] cp d - jr nz,.loop - ld a,[hl] + jr nz, .loop + ld a, [hl] pop hl ret - + Func_fc9a0: ; fc9a0 (3f:49a0) push hl - ld hl,Pointer_fc9ac_End - ld d,a + ld hl, Pointer_fc9ac_End + ld d, a .loop - ld a,[hld] + ld a, [hld] cp d - jr nz,.loop - ld a,[hl] + jr nz, .loop + ld a, [hl] pop hl ret - + Pointer_fc9ac: ; fc9ac (3f:49ac) - db SPRITE_FACING_DOWN,SPRITE_FACING_LEFT,SPRITE_FACING_UP,SPRITE_FACING_RIGHT - db SPRITE_FACING_DOWN,SPRITE_FACING_LEFT,SPRITE_FACING_UP,SPRITE_FACING_RIGHT + db SPRITE_FACING_DOWN, SPRITE_FACING_LEFT, SPRITE_FACING_UP, SPRITE_FACING_RIGHT + db SPRITE_FACING_DOWN, SPRITE_FACING_LEFT, SPRITE_FACING_UP, SPRITE_FACING_RIGHT Pointer_fc9ac_End: Func_fc9b4: ; fc9b4 (3f:49b4) - ld hl,wSpriteStateData2 - wSpriteStateData1 - add hl,bc - ld [hl],$8 - ld hl,$1 - add hl,bc - ld [hl],$3 + ld hl, wSpriteStateData2 - wSpriteStateData1 + add hl, bc + ld [hl], $8 + ld hl, $1 + add hl, bc + ld [hl], $3 call Func_fca38 asm_fc9c3: ; fc9c3 (3f:49c3) call Func_fca4b call Func_fca7e call Func_fca99 - ld hl,$100 - add hl,bc + ld hl, $100 + add hl, bc dec [hl] ret nz call Func_fca75 call Func_fccb2 - ld hl,$1 - add hl,bc - ld [hl],$1 + ld hl, $1 + add hl, bc + ld [hl], $1 ret - + Func_fc9df: ; fc9df (3f:49df) - ld hl,wSpriteStateData2 - wSpriteStateData1 - add hl,bc - ld [hl],$4 - ld hl,$1 - add hl,bc - ld [hl],$5 + ld hl, wSpriteStateData2 - wSpriteStateData1 + add hl, bc + ld [hl], $4 + ld hl, $1 + add hl, bc + ld [hl], $5 call Func_fca38 asm_fc9ee: ; fc9ee (3f:49ee) call asm_fca59 call Func_fca7e call Func_fca99 - ld hl,wSpriteStateData2 - wSpriteStateData1 - add hl,bc + ld hl, wSpriteStateData2 - wSpriteStateData1 + add hl, bc dec [hl] ret nz call Func_fca75 call Func_fccb2 - ld hl,$1 - add hl,bc - ld [hl],$1 + ld hl, $1 + add hl, bc + ld [hl], $1 ret - + Func_fca0a: ; fca0a (3f:4a0a) - ld hl,wSpriteStateData2 - wSpriteStateData1 - add hl,bc - ld [hl],$8 - ld hl,$1 - add hl,bc - ld [hl],$4 + ld hl, wSpriteStateData2 - wSpriteStateData1 + add hl, bc + ld [hl], $8 + ld hl, $1 + add hl, bc + ld [hl], $4 call Func_fca38 call Func_fca38 asm_fca1c: ; fca1c (3f:4a1c) call asm_fca59 call Func_fca7e call Func_fca99 - ld hl,wSpriteStateData2 - wSpriteStateData1 - add hl,bc + ld hl, wSpriteStateData2 - wSpriteStateData1 + add hl, bc dec [hl] ret nz call Func_fca75 call Func_fccb2 - ld hl,$1 - add hl,bc - ld [hl],$1 + ld hl, $1 + add hl, bc + ld [hl], $1 ret - + Func_fca38: ; fca38 (3f:4a38) - ld hl,$3 - add hl,bc - ld e,[hl] + ld hl, $3 + add hl, bc + ld e, [hl] inc hl inc hl - ld d,[hl] - ld hl,$104 - add hl,bc - ld a,[hl] + ld d, [hl] + ld hl, $104 + add hl, bc + ld a, [hl] add e - ld [hli],a - ld a,[hl] + ld [hli], a + ld a, [hl] add d - ld [hl],a + ld [hl], a ret - + Func_fca4b: ; fca4b (3f:4a4b) - ld a,[wWalkBikeSurfState] + ld a, [wWalkBikeSurfState] cp $1 - jr nz,Func_fca68 - ld a,[wd736] - bit 6,a - jr nz,Func_fca68 + jr nz, Func_fca68 + ld a, [wd736] + bit 6, a + jr nz, Func_fca68 asm_fca59: ; fca59 (3f:4a59) - ld hl,$3 - add hl,bc - ld a,[hli] + ld hl, $3 + add hl, bc + ld a, [hli] add a add a add [hl] - ld [hli],a - ld a,[hli] + ld [hli], a + ld a, [hli] add a add a add [hl] - ld [hl],a + ld [hl], a ret - + Func_fca68: ; fca68 (3f:4a68) - ld hl,$3 - add hl,bc - ld a,[hli] + ld hl, $3 + add hl, bc + ld a, [hli] add a add [hl] - ld [hli],a - ld a,[hli] + ld [hli], a + ld a, [hli] add a add [hl] - ld [hli],a + ld [hli], a ret - + Func_fca75: ; fca75 (3f:4a75) - ld hl,$3 - add hl,bc + ld hl, $3 + add hl, bc xor a - ld [hli],a + ld [hli], a inc hl - ld [hl],a + ld [hl], a ret - + Func_fca7e: ; fca7e (3f:4a7e) call Func_fcdad - ld d,$2 - jr nc,.asm_fca87 - ld d,$5 + ld d, $2 + jr nc, .asm_fca87 + ld d, $5 .asm_fca87 - ld hl,$7 - add hl,bc - ld a,[hl] + ld hl, $7 + add hl, bc + ld a, [hl] inc a cp d - jr nz,.asm_fca91 + jr nz, .asm_fca91 xor a .asm_fca91 - ld [hli],a + ld [hli], a ret nz - ld a,[hl] + ld a, [hl] inc a and $3 - ld [hl],a + ld [hl], a ret - + Func_fca99: ; fca99 (3f:4a99) - ld a,[wd430] - bit 3,a - jr nz,.asm_fcad1 - ld hl,$10e - add hl,bc - ld a,[hl] + ld a, [wPikachuOverworldStateFlags] + bit 3, a + jr nz, .asm_fcad1 + ld hl, $10e + add hl, bc + ld a, [hl] dec a swap a - ld d,a - ld a,[wd736] - bit 7,a - jr nz,.asm_fcad8 - ld hl,$9 - add hl,bc - ld a,[hl] + ld d, a + ld a, [wd736] + bit 7, a + jr nz, .asm_fcad8 + ld hl, $9 + add hl, bc + ld a, [hl] or d - ld d,a - ld a,[wFontLoaded] - bit 0,a - jr z,.asm_fcac4 + ld d, a + ld a, [wFontLoaded] + bit 0, a + jr z, .asm_fcac4 call Func_fcae2 ret c jr .asm_fcacb + .asm_fcac4 - ld hl,$8 - add hl,bc - ld a,d + ld hl, $8 + add hl, bc + ld a, d or [hl] - ld d,a + ld d, a .asm_fcacb - ld hl,$2 - add hl,bc - ld [hl],d + ld hl, $2 + add hl, bc + ld [hl], d ret + .asm_fcad1 - ld hl,$2 - add hl,bc - ld [hl],$ff + ld hl, $2 + add hl, bc + ld [hl], $ff ret + .asm_fcad8 - ld a,[wSpriteStateData1 + $2] + ld a, [wSpriteStateData1 + $2] and $f or d - ld [wSpriteStateData1 + $f2],a + ld [wSpriteStateData1 + $f2], a ret - + Func_fcae2: ; fcae2 (3f:4ae2) - ld hl,$104 - add hl,bc - ld a,[wYCoord] + ld hl, $104 + add hl, bc + ld a, [wYCoord] add $4 cp [hl] - jr nz,.asm_fcaff + jr nz, .asm_fcaff inc hl - ld a,[wXCoord] + ld a, [wXCoord] add $4 cp [hl] - jr nz,.asm_fcaff - ld hl,$2 - add hl,bc - ld [hl],$ff + jr nz, .asm_fcaff + ld hl, $2 + add hl, bc + ld [hl], $ff scf ret + .asm_fcaff and a ret @@ -988,49 +1019,53 @@ Func_fcb01: ; fcb01 (3f:4b01) push bc push de push hl - ld bc,wSpriteStateData1 + $f0 - ld a,[wXCoord] + ld bc, wSpriteStateData1 + $f0 + ld a, [wXCoord] add $4 - ld d,a - ld a,[wYCoord] + ld d, a + ld a, [wYCoord] add $4 - ld e,a - ld hl,$104 - add hl,bc - ld a,[hl] + ld e, a + ld hl, $104 + add hl, bc + ld a, [hl] sub e and a - jr z,.asm_fcb30 + jr z, .asm_fcb30 cp $ff - jr z,.asm_fcb26 + jr z, .asm_fcb26 cp $1 - jr z,.asm_fcb26 + jr z, .asm_fcb26 jr .asm_fcb48 + .asm_fcb26 - ld hl,$105 - add hl,bc - ld a,[hl] + ld hl, $105 + add hl, bc + ld a, [hl] sub d - jr z,.asm_fcb43 + jr z, .asm_fcb43 jr .asm_fcb48 + .asm_fcb30 - ld hl,$105 - add hl,bc - ld a,[hl] + ld hl, $105 + add hl, bc + ld a, [hl] sub d cp $ff - jr z,.asm_fcb43 + jr z, .asm_fcb43 cp $1 - jr z,.asm_fcb43 + jr z, .asm_fcb43 and a - jr z,.asm_fcb43 + jr z, .asm_fcb43 jr .asm_fcb48 + .asm_fcb43 pop hl pop de pop bc scf ret + .asm_fcb48 pop hl pop de @@ -1038,258 +1073,281 @@ Func_fcb01: ; fcb01 (3f:4b01) xor a ret -Func_fcb4d: ; fcb4d (3f:4b4d) - call Func_fcb52 - ld e,a +GetPikachuFacingDirectionAndReturnToE: ; fcb4d (3f:4b4d) + call GetPikachuFacingDirection + ld e, a ret - -Func_fcb52: ; fcb52 (3f:4b52) - ld bc,wSpriteStateData1 + $f0 - ld a,[wXCoord] + +GetPikachuFacingDirection: ; fcb52 (3f:4b52) + ld bc, wSpriteStateData1 + $f0 + ld a, [wXCoord] add $4 - ld d,a - ld a,[wYCoord] + ld d, a + ld a, [wYCoord] add $4 - ld e,a - ld hl,$104 - add hl,bc - ld a,[hl] + ld e, a + ld hl, wSpriteStateData2 - wSpriteStateData1 + 4 + add hl, bc + ld a, [hl] cp e - jr z,Func_fcb71 - jr nc,.asm_fcb6e - ld a,$4 + jr z, .asm_fcb71 + jr nc, .asm_fcb6e + ld a, SPRITE_FACING_UP ret + .asm_fcb6e - ld a,$0 + ld a, SPRITE_FACING_DOWN ret - -Func_fcb71: ; fcb71 (3f:4b71) - ld hl,$105 - add hl,bc - ld a,[hl] + +.asm_fcb71 + ld hl, wSpriteStateData2 - wSpriteStateData1 + 5 + add hl, bc + ld a, [hl] cp d - jr z,.asm_fcb81 - jr nc,.asm_fcb7e - ld a,$8 + jr z, .asm_fcb81 + jr nc, .asm_fcb7e + ld a, SPRITE_FACING_LEFT ret + .asm_fcb7e - ld a,$c + ld a, SPRITE_FACING_RIGHT ret + .asm_fcb81 - ld a,$ff + ld a, $ff ; standing ret -Func_fcb84: ; fcb84 (3f:4b84) +ClearPikachuFollowCommandBuffer: ; fcb84 (3f:4b84) push bc - ld hl,wd437 - ld [hl],$ff + ld hl, wPikachuFollowCommandBufferSize + ld [hl], $ff inc hl - ld bc,$10 + ld bc, $10 xor a call FillMemory pop bc ret - -Func_fcb94: ; fcb94 (3f:4b94) - ld hl,wd437 + +AppendPikachuFollowCommandToBuffer: ; fcb94 (3f:4b94) + ld hl, wPikachuFollowCommandBufferSize inc [hl] - ld e,[hl] - ld d,0 - ld hl,wd438 - add hl,de - ld [hl],a + ld e, [hl] + ld d, 0 + ld hl, wPikachuFollowCommandBuffer + add hl, de + ld [hl], a ret - + Func_fcba1: ; fcba1 (3f:4ba1) - call Func_fcb84 - call Func_fcbac + call ClearPikachuFollowCommandBuffer + call GetPikachuFollowCommand ret c - call Func_fcb94 + call AppendPikachuFollowCommandToBuffer ret - -Func_fcbac: ; fcbac (3f:4bac) - ld bc,wSpriteStateData1 + $f0 - ld hl,$104 - add hl,bc - ld a,[wYCoord] + +GetPikachuFollowCommand: ; fcbac (3f:4bac) + ld bc, wSpriteStateData1 + $f0 + ld hl, wSpriteStateData2 - wSpriteStateData1 + 4 + add hl, bc + ld a, [wYCoord] add $4 sub [hl] - jr z,.asm_fcbd7 - jr c,.asm_fcbca - call Func_fcc01 - jr c,.asm_fcbc6 - ld a,$5 + jr z, .checkXCoord + jr c, .pikaAbovePlayer + call CheckAbsoluteValueLessThan2 + jr c, .return1 + ld a, $5 and a ret -.asm_fcbc6 - ld a,$1 + +.return1 + ld a, $1 and a ret -.asm_fcbca - call Func_fcc01 - jr c,.asm_fcbd3 - ld a,$6 + +.pikaAbovePlayer + call CheckAbsoluteValueLessThan2 + jr c, .return2 + ld a, $6 and a ret -.asm_fcbd3 - ld a,$2 + +.return2 + ld a, $2 and a ret -.asm_fcbd7 - ld hl,$105 - add hl,bc - ld a,[wXCoord] + +.checkXCoord + ld hl, wSpriteStateData2 - wSpriteStateData1 + 5 + add hl, bc + ld a, [wXCoord] add $4 sub [hl] - jr z,.asm_fcbff - jr c,.asm_fcbf2 - call Func_fcc01 - jr c,.asm_fcbee - ld a,$8 + jr z, .pikachuOnTopOfPlayer + jr c, .pikaToLeftOfPlayer + call CheckAbsoluteValueLessThan2 + jr c, .return4 + ld a, $8 and a ret -.asm_fcbee - ld a,$4 + +.return4 + ld a, $4 and a ret -.asm_fcbf2 - call Func_fcc01 - jr c,.asm_fcbfb - ld a,$7 + +.pikaToLeftOfPlayer + call CheckAbsoluteValueLessThan2 + jr c, .return3 + ld a, $7 and a ret -.asm_fcbfb - ld a,$3 + +.return3 + ld a, $3 and a ret -.asm_fcbff + +.pikachuOnTopOfPlayer scf ret - -Func_fcc01: ; fcc01 (3f:4c01) - jr nc,.asm_fcc05 + +CheckAbsoluteValueLessThan2: ; fcc01 (3f:4c01) + jr nc, .positive cpl inc a -.asm_fcc05 +.positive cp $2 ret - + Func_fcc08:: ; fcc08 (3f:4c08) call Func_fcc23 ret nc - ld a,[wd736] - bit 6,a - jr nz,.asm_fcc1b + ld a, [wd736] + bit 6, a + jr nz, .asm_fcc1b call Func_fcc42 ret c - call Func_fcb94 + call AppendPikachuFollowCommandToBuffer ret + .asm_fcc1b call Func_fcc64 ret c - call Func_fcb94 + call AppendPikachuFollowCommandToBuffer ret - + Func_fcc23: ; fcc23 (3f:4c28) - ld a,[wd430] - bit 5,a - jr nz,.asm_fcc40 - ld a,[wd430] - bit 7,a - jr nz,.asm_fcc40 - ld a,[wd472] - bit 7,a - jr z,.asm_fcc40 - ld a,[wWalkBikeSurfState] + ld a, [wPikachuOverworldStateFlags] + bit 5, a + jr nz, .asm_fcc40 + ld a, [wPikachuOverworldStateFlags] + bit 7, a + jr nz, .asm_fcc40 + ld a, [wd472] + bit 7, a + jr z, .asm_fcc40 + ld a, [wWalkBikeSurfState] and a - jr nz,.asm_fcc40 + jr nz, .asm_fcc40 scf ret + .asm_fcc40 and a ret - + Func_fcc42: ; fcc42 (3f:4c42) xor a - ld a,[wPlayerDirection] - bit 3,a - jr nz,.asm_fcc58 - bit 2,a - jr nz,.asm_fcc5b - bit 1,a - jr nz,.asm_fcc5e - bit 0,a - jr nz,.asm_fcc61 + ld a, [wPlayerDirection] + bit 3, a + jr nz, .asm_fcc58 + bit 2, a + jr nz, .asm_fcc5b + bit 1, a + jr nz, .asm_fcc5e + bit 0, a + jr nz, .asm_fcc61 scf ret + .asm_fcc58 - ld a,$2 + ld a, $2 ret + .asm_fcc5b - ld a,$1 + ld a, $1 ret + .asm_fcc5e - ld a,$3 + ld a, $3 ret + .asm_fcc61 - ld a,$4 + ld a, $4 ret - + Func_fcc64: ; fcc64 (3f:4c64) - ld hl,wd430 - bit 6,[hl] - jr z,.asm_fcc6e - res 6,[hl] + ld hl, wPikachuOverworldStateFlags + bit 6, [hl] + jr z, .asm_fcc6e + res 6, [hl] ret + .asm_fcc6e - set 6,[hl] + set 6, [hl] xor a - ld a,[wPlayerDirection] - bit 3,a - jr nz,.asm_fcc86 - bit 2,a - jr nz,.asm_fcc89 - bit 1,a - jr nz,.asm_fcc8c - bit 0,a - jr nz,.asm_fcc8f + ld a, [wPlayerDirection] + bit 3, a + jr nz, .asm_fcc86 + bit 2, a + jr nz, .asm_fcc89 + bit 1, a + jr nz, .asm_fcc8c + bit 0, a + jr nz, .asm_fcc8f scf ret + .asm_fcc86 - ld a,$6 + ld a, $6 ret + .asm_fcc89 - ld a,$5 + ld a, $5 ret + .asm_fcc8c - ld a,$7 + ld a, $7 ret + .asm_fcc8f - ld a,$8 + ld a, $8 ret Func_fcc92: ; fcc92 (3f:4c92) - ld hl,wd437 - ld a,[hl] + ld hl, wPikachuFollowCommandBufferSize + ld a, [hl] cp $ff - jr z,.asm_fccb0 + jr z, .asm_fccb0 and a - jr z,.asm_fccb0 + jr z, .asm_fccb0 dec [hl] - ld e,a - ld d,0 - ld hl,wd438 - add hl,de + ld e, a + ld d, 0 + ld hl, wPikachuFollowCommandBuffer + add hl, de inc e - ld a,$ff + ld a, $ff .asm_fcca8 - ld d,[hl] - ldd [hl],a - ld a,d + ld d, [hl] + ldd [hl], a + ld a, d dec e - jr nz,.asm_fcca8 + jr nz, .asm_fcca8 and a ret + .asm_fccb0 scf ret @@ -1297,384 +1355,399 @@ Func_fcc92: ; fcc92 (3f:4c92) Func_fccb2:: ; fccb2 (3f:4cb2) call Func_fcd01 and a - jr z,.asm_fccbf + jr z, .asm_fccbf dec a and $3 add a add a jr .asm_fccea + .asm_fccbf - ld a,[wYCoord] + ld a, [wYCoord] add $4 - ld d,a - ld a,[wXCoord] + ld d, a + ld a, [wXCoord] add $4 - ld e,a - ld a,[wSpriteStateData2 + $f4] + ld e, a + ld a, [wSpriteStateData2 + $f4] cp d - jr z,.asm_fccd9 - ld a,SPRITE_FACING_DOWN - jr c,.asm_fccea - ld a,SPRITE_FACING_UP + jr z, .asm_fccd9 + ld a, SPRITE_FACING_DOWN + jr c, .asm_fccea + ld a, SPRITE_FACING_UP jr .asm_fccea + .asm_fccd9 - ld a,[wSpriteStateData2 + $f5] + ld a, [wSpriteStateData2 + $f5] cp e - jr z,.asm_fcce7 - ld a,SPRITE_FACING_RIGHT - jr c,.asm_fccea - ld a,SPRITE_FACING_LEFT + jr z, .asm_fcce7 + ld a, SPRITE_FACING_RIGHT + jr c, .asm_fccea + ld a, SPRITE_FACING_LEFT jr .asm_fccea + .asm_fcce7 - ld a,[wSpriteStateData1 + $9] + ld a, [wSpriteStateData1 + $9] .asm_fccea - ld [wSpriteStateData1 + $f9],a + ld [wSpriteStateData1 + $f9], a ret - + Func_fccee: ; fccee (3f:4cee) - ld hl,wd437 - ld a,[hl] + ld hl, wPikachuFollowCommandBufferSize + ld a, [hl] cp $ff - jr z,.asm_fccff - ld e,a - ld d,0 - ld hl,wd438 - add hl,de - ld a,[hl] + jr z, .asm_fccff + ld e, a + ld d, 0 + ld hl, wPikachuFollowCommandBuffer + add hl, de + ld a, [hl] ret + .asm_fccff xor a ret - + Func_fcd01: ; fcd01 (3f:4d01) - ld hl,wd437 - ld a,[hl] + ld hl, wPikachuFollowCommandBufferSize + ld a, [hl] cp $ff - jr z,.asm_fcd15 + jr z, .asm_fcd15 and a - jr z,.asm_fcd15 - ld e,a - ld d,0 - ld hl,wd438 - add hl,de - ld a,[hl] + jr z, .asm_fcd15 + ld e, a + ld d, 0 + ld hl, wPikachuFollowCommandBuffer + add hl, de + ld a, [hl] ret + .asm_fcd15 xor a ret - + Func_fcd17: ; fcd17 (3f:4d17) - ld a,[wd437] + ld a, [wPikachuFollowCommandBufferSize] cp $ff ret z cp $2 - jr nc,.asm_fcd23 + jr nc, .asm_fcd23 and a ret + .asm_fcd23 scf ret - + Func_fcd25: ; fcd25 (3f:4d25) - ld h,wSpriteStateData2 / $100 - ld a,[H_CURRENTSPRITEOFFSET] + ld h, wSpriteStateData2 / $100 + ld a, [H_CURRENTSPRITEOFFSET] add $4 - ld l,a - ld b,[hl] - ld a,[wYCoord] + ld l, a + ld b, [hl] + ld a, [wYCoord] cp b - jr z,.asm_fcd3a - jr nc,.asm_fcd63 + jr z, .asm_fcd3a + jr nc, .asm_fcd63 add $8 cp b - jr c,.asm_fcd63 + jr c, .asm_fcd63 .asm_fcd3a inc l - ld b,[hl] - ld a,[wXCoord] + ld b, [hl] + ld a, [wXCoord] cp b - jr z,.asm_fcd49 - jr nc,.asm_fcd63 + jr z, .asm_fcd49 + jr nc, .asm_fcd63 add $9 cp b - jr c,.asm_fcd63 + jr c, .asm_fcd63 .asm_fcd49 call Func_fcd83 - ld d,$60 - ld a,[hli] - ld e,a + ld d, $60 + ld a, [hli] + ld e, a cp d - jr nc,.asm_fcd63 - ld a,[hld] + jr nc, .asm_fcd63 + ld a, [hld] cp d - jr nc,.asm_fcd63 - ld bc,-20 - add hl,bc - ld a,[hli] + jr nc, .asm_fcd63 + ld bc, -20 + add hl, bc + ld a, [hli] cp d - jr nc,.asm_fcd63 - ld a,[hl] + jr nc, .asm_fcd63 + ld a, [hl] cp d - jr c,.asm_fcd6f + jr c, .asm_fcd6f .asm_fcd63 - ld h,wSpriteStateData1 / $100 - ld a,[H_CURRENTSPRITEOFFSET] + ld h, wSpriteStateData1 / $100 + ld a, [H_CURRENTSPRITEOFFSET] add $2 - ld l,a - ld [hl],$ff + ld l, a + ld [hl], $ff scf jr .asm_fcd82 + .asm_fcd6f - ld h,wSpriteStateData2 / $100 - ld a,[H_CURRENTSPRITEOFFSET] + ld h, wSpriteStateData2 / $100 + ld a, [H_CURRENTSPRITEOFFSET] add $7 - ld l,a - ld a,[wGrassTile] + ld l, a + ld a, [wGrassTile] cp e - ld a,$0 - jr nz,.asm_fcd80 - ld a,$80 + ld a, $0 + jr nz, .asm_fcd80 + ld a, $80 .asm_fcd80 - ld [hl],a + ld [hl], a and a .asm_fcd82 ret - + Func_fcd83: ; fcd83 (3f:4d83) - ld h,wSpriteStateData1 / $100 - ld a,[H_CURRENTSPRITEOFFSET] + ld h, wSpriteStateData1 / $100 + ld a, [H_CURRENTSPRITEOFFSET] add $4 - ld l,a - ld a,[hli] + ld l, a + ld a, [hli] add $4 and $f0 srl a - ld c,a - ld b,$0 + ld c, a + ld b, $0 inc l - ld a,[hl] + ld a, [hl] add $2 srl a srl a srl a add SCREEN_WIDTH - ld d,0 - ld e,a - ld hl,wTileMap + ld d, 0 + ld e, a + ld hl, wTileMap rept 5 - add hl,bc + add hl, bc endr - add hl,de + add hl, de ret - + Func_fcdad: ; fcdad (3f:4dad) push bc push af - ld a,[wPikachuHappiness] + ld a, [wPikachuHappiness] cp $50 pop bc - ld a,b + ld a, b pop bc ret IsStarterPikachuInOurParty:: ; fcdb8 (3f:4db8) - ld hl,wPartySpecies - ld de,wPartyMon1OTID - ld bc,wPartyMonOT + ld hl, wPartySpecies + ld de, wPartyMon1OTID + ld bc, wPartyMonOT push hl .loop pop hl - ld a,[hli] + ld a, [hli] push hl inc a - jr z,.noPlayerPikachu + jr z, .noPlayerPikachu cp PIKACHU + 1 - jr nz,.curMonNotPlayerPikachu - ld h,d - ld l,e - ld a,[wPlayerID] + jr nz, .curMonNotPlayerPikachu + ld h, d + ld l, e + ld a, [wPlayerID] cp [hl] - jr nz,.curMonNotPlayerPikachu + jr nz, .curMonNotPlayerPikachu inc hl - ld a,[wPlayerID+1] + ld a, [wPlayerID+1] cp [hl] - jr nz,.curMonNotPlayerPikachu + jr nz, .curMonNotPlayerPikachu push de push bc - ld hl,wPlayerName - ld d,$6 ; possible player length - 1 + ld hl, wPlayerName + ld d, $6 ; possible player length - 1 .nameCompareLoop dec d - jr z,.sameOT - ld a,[bc] + jr z, .sameOT + ld a, [bc] inc bc cp [hl] inc hl - jr z,.nameCompareLoop + jr z, .nameCompareLoop pop bc pop de .curMonNotPlayerPikachu - ld hl,wPartyMon2 - wPartyMon1 - add hl,de - ld d,h - ld e,l - ld hl,NAME_LENGTH - add hl,bc - ld b,h - ld c,l + ld hl, wPartyMon2 - wPartyMon1 + add hl, de + ld d, h + ld e, l + ld hl, NAME_LENGTH + add hl, bc + ld b, h + ld c, l jr .loop + .sameOT pop bc pop de - ld h,d - ld l,e - ld bc,-NAME_LENGTH - add hl,bc - ld a,[hli] + ld h, d + ld l, e + ld bc, -NAME_LENGTH + add hl, bc + ld a, [hli] or [hl] - jr z,.noPlayerPikachu ; XXX how is this determined? + jr z, .noPlayerPikachu ; XXX how is this determined? pop hl scf ret + .noPlayerPikachu pop hl and a ret IsThisPartymonStarterPikachu_Box:: ; fce0d (3f:4e0d) - ld hl,wBoxMon1 - ld bc,wBoxMon2 - wBoxMon1 - ld de,wBoxMonOT + ld hl, wBoxMon1 + ld bc, wBoxMon2 - wBoxMon1 + ld de, wBoxMonOT jr asm_fce21 IsThisPartymonStarterPikachu_Party:: ; fce18 (3f:4e18) IsThisPartymonStarterPikachu:: - ld hl,wPartyMon1 - ld bc,wPartyMon2 - wPartyMon1 - ld de,wPartyMonOT + ld hl, wPartyMon1 + ld bc, wPartyMon2 - wPartyMon1 + ld de, wPartyMonOT asm_fce21: ; fce21 (3f:4e21) - ld a,[wWhichPokemon] + ld a, [wWhichPokemon] call AddNTimes - ld a,[hl] + ld a, [hl] cp PIKACHU - jr nz,.notPlayerPikachu - ld bc,wPartyMon1OTID - wPartyMon1 - add hl,bc - ld a,[wPlayerID] + jr nz, .notPlayerPikachu + ld bc, wPartyMon1OTID - wPartyMon1 + add hl, bc + ld a, [wPlayerID] cp [hl] - jr nz,.notPlayerPikachu + jr nz, .notPlayerPikachu inc hl - ld a,[wPlayerID+1] + ld a, [wPlayerID+1] cp [hl] - jr nz,.notPlayerPikachu - ld h,d - ld l,e - ld a,[wWhichPokemon] - ld bc,NAME_LENGTH + jr nz, .notPlayerPikachu + ld h, d + ld l, e + ld a, [wWhichPokemon] + ld bc, NAME_LENGTH call AddNTimes - ld de,wPlayerName - ld b,$6 + ld de, wPlayerName + ld b, $6 .loop dec b - jr z,.isPlayerPikachu - ld a,[de] + jr z, .isPlayerPikachu + ld a, [de] inc de cp [hl] inc hl - jr z,.loop + jr z, .loop .notPlayerPikachu and a ret + .isPlayerPikachu scf ret - + Func_fce5a:: ; fce5a (3f:4e5a) push de call IsStarterPikachuInOurParty pop de ret nc - ld a,d + ld a, d cp $80 - ld a,[wPikachuMood] - jr c,.asm_fce6c + ld a, [wPikachuMood] + jr c, .asm_fce6c cp d - jr c,.asm_fce6e + jr c, .asm_fce6e ret + .asm_fce6c cp d ret c .asm_fce6e - ld a,d - ld [wPikachuMood],a + ld a, d + ld [wPikachuMood], a ret Func_fce73:: ; fce73 (3f:4e73) ; function to test if a pokemon is alive? xor a - ld [wWhichPokemon],a - ld hl,wPartyCount + ld [wWhichPokemon], a + ld hl, wPartyCount .loop inc hl - ld a,[hl] + ld a, [hl] cp $ff - jr z,.asm_fcea9 + jr z, .asm_fcea9 push hl call IsThisPartymonStarterPikachu_Party pop hl - jr nc,.asm_fce9e - ld a,[wWhichPokemon] - ld hl,wPartyMon1HP - ld bc,wPartyMon2 - wPartyMon1 + jr nc, .asm_fce9e + ld a, [wWhichPokemon] + ld hl, wPartyMon1HP + ld bc, wPartyMon2 - wPartyMon1 call AddNTimes - ld a,[hli] + ld a, [hli] or [hl] - ld d,a + ld d, a inc hl inc hl - ld a,[hl] + ld a, [hl] and a - jr nz,.asm_fcea7 + jr nz, .asm_fcea7 jr .asm_fcea9 + .asm_fce9e - ld a,[wWhichPokemon] + ld a, [wWhichPokemon] inc a - ld [wWhichPokemon],a + ld [wWhichPokemon], a jr .loop + .asm_fcea7 scf ret + .asm_fcea9 and a ret -Func_fceab:: ; fceab (3f:4eab) - ld hl,wPartySpecies - ld de,wPartyMon1Moves - ld bc,wPartyMonOT +IsSurfingPikachuInThePlayersParty:: ; fceab (3f:4eab) + ld hl, wPartySpecies + ld de, wPartyMon1Moves + ld bc, wPartyMonOT push hl .loop pop hl - ld a,[hli] + ld a, [hli] push hl inc a - jr z,.noSurfingPlayerPikachu + jr z, .noSurfingPlayerPikachu cp PIKACHU+1 - jr nz,.curMonNotSurfingPlayerPikachu - ld h,d - ld l,e + jr nz, .curMonNotSurfingPlayerPikachu + ld h, d + ld l, e push hl push bc - ld b,NUM_MOVES + ld b, NUM_MOVES .moveSearchLoop - ld a,[hli] + ld a, [hli] cp SURF - jr z,.foundSurfingPikachu + jr z, .foundSurfingPikachu dec b - jr nz,.moveSearchLoop + jr nz, .moveSearchLoop pop bc pop hl jr .curMonNotSurfingPlayerPikachu + .foundSurfingPikachu pop bc pop hl @@ -1682,635 +1755,54 @@ Func_fceab:: ; fceab (3f:4eab) inc hl inc hl inc hl - ld a,[wPlayerID] + ld a, [wPlayerID] cp [hl] - jr nz,.curMonNotSurfingPlayerPikachu + jr nz, .curMonNotSurfingPlayerPikachu inc hl - ld a,[wPlayerID+1] + ld a, [wPlayerID+1] cp [hl] - jr nz,.curMonNotSurfingPlayerPikachu + jr nz, .curMonNotSurfingPlayerPikachu push de push bc - ld hl,wPlayerName - ld d,$6 + ld hl, wPlayerName + ld d, $6 .nameCompareLoop dec d - jr z,.foundSurfingPlayerPikachu - ld a,[bc] + jr z, .foundSurfingPlayerPikachu + ld a, [bc] inc bc cp [hl] inc hl - jr z,.nameCompareLoop + jr z, .nameCompareLoop pop bc pop de .curMonNotSurfingPlayerPikachu - ld hl,wPartyMon2 - wPartyMon1 - add hl,de - ld d,h - ld e,l - ld hl,NAME_LENGTH - add hl,bc - ld b,h - ld c,l + ld hl, wPartyMon2 - wPartyMon1 + add hl, de + ld d, h + ld e, l + ld hl, NAME_LENGTH + add hl, bc + ld b, h + ld c, l jr .loop + .foundSurfingPlayerPikachu pop bc pop de pop hl scf ret + .noSurfingPlayerPikachu pop hl and a ret -IsPlayerTalkingToPikachu:: ; fcf0c (3f:4f0c) - ld a, [wd436] - and a - ret z - ld a, [hSpriteIndexOrTextID] - cp $f - ret nz - call InitializePikachuTextID - xor a - ld [hSpriteIndexOrTextID], a - ld [wd436], a - ret - -InitializePikachuTextID: ; fcf20 (3f:4f20) - ld a, $d4 ; display - ld [hSpriteIndexOrTextID], a - xor a - ld [wPlayerMovingDirection], a - ld a, $1 - ld [wAutoTextBoxDrawingControl], a - call DisplayTextID - xor a - ld [wAutoTextBoxDrawingControl], a - ret +INCLUDE "engine/pikachu_pic_animation.asm" -DoStarterPikachuEmotions: ; fcf35 (3f:4f35) - ld e, a - ld d, $0 - add hl, de - add hl, de - ld e, [hl] - inc hl - ld d, [hl] -.loop - ld a, [de] - inc de - cp $ff - jr z, .done - ld c, a - ld b, $0 - ld hl, Jumptable_fcf54 - add hl, bc - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - call JumpToAddress - jr .loop -.done - ret - -Jumptable_fcf54: ; fcf54 (3f:4f54) - dw Func_fcf6a - dw Func_fcf6b - dw Func_fcf77 - dw Func_fcf8d - dw Func_fcfb0 - dw Func_fd9d0 - dw Func_fcfc7 - dw Func_fcfbe - dw Func_fcfe8 - dw Func_fcfe9 - dw Func_fcf6a - -Func_fcf6a: ; fcf6a (3f:4f6a) - ret - -Func_fcf6b: ; fcf6b (3f:4f6b) - ld a, [de] - ld l, a - inc de - ld a, [de] - ld h, a - inc de - push de - call PrintText - pop de +Func_fe66e: ret - -Func_fcf77: ; fcf77 (3f:4f77) - ld a, [de] - inc de - push de - ld e, a - nop - call Func_fcf81 - pop de - ret - -Func_fcf81: ; fcf81 (3f:4f81) - cp $ff - ret z - callab PlayPikachuSoundClip - ret - -Func_fcf8d: ; fcf8d (3f:4f8d) - ld a, [wUpdateSpritesEnabled] - push af - ld a, $ff - ld [wUpdateSpritesEnabled], a - ld a, [de] - inc de - push de - call Func_fcfa2 - pop de - pop af - ld [wUpdateSpritesEnabled], a - ret - -Func_fcfa2: ; fcfa2 (3f:4fa2) - ld [wWhichEmotionBubble], a - ld a, $f - ld [wEmotionBubbleSpriteIndex], a - predef EmotionBubble - ret - -Func_fcfb0: ; fcfb0 (3f:4fb0) - ld a, [de] - inc de - ld l, a - ld a, [de] - inc de - ld h, a - push de - ld b, $3f - call Func_fd2a1 - pop de - ret - -Func_fcfbe: ; fcfbe (3f:4fbe) - ld a, [de] - inc de - push de - ld c, a - call DelayFrames - pop de - ret - -Func_fcfc7: ; fcfc7 (3f:4fc7) - ld a, [de] - inc de - push de - ld e, a - ld d, $0 - ld hl, Jumptable_fcfda - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - call JumpToAddress - pop de - ret - -Jumptable_fcfda: - dw Func_fd8ab - dw LoadFontTilePatterns - dw Func_fd8f8 - dw WaitForTextScrollButtonPress - dw Func_fd8d4 - dw Func_fd8e1 - dw Func_fd8ee - -Func_fcfe8: ; fcfe8 (3f:4fe8) - ret - -Func_fcfe9: ; fcfe9 (3f:4fe9) - push de - call Func_fcff2 - call UpdateSprites - pop de - ret - -Func_fcff2: ; fcff2 (3f:4ff2) - ld a, [wSpriteStateData1 + $9] - xor $4 - ld [wSpriteStateData1 + $f9], a - ret - -Func_fcffb: ; fcffb (3f:4ffb) -; Inexplicably empty. - rept 5 - nop - endr - ret - -Func_fd001:: ; fd001 (3f:5001) - ld a, e - jr asm_fd00f - -Func_fd004:: ; fd004 (3f:5004) - call Func_fd05e - jr c, asm_fd00f - call Func_fd978 - call Func_fcffb -asm_fd00f: ; fd00f (3f:500f) - ld [wExpressionNumber], a - ld hl, PikachuEmotionTable - call DoStarterPikachuEmotions - ret - -PikachuEmotionTable: ; fd019 (3f:4019) - dw PikachuEmotion0_fd115 - dw PikachuEmotion1_fd141 - dw PikachuEmotion2_fd116 - dw PikachuEmotion3_fd160 - dw PikachuEmotion4_fd136 - dw PikachuEmotion5_fd14d - dw PikachuEmotion6_fd153 - dw PikachuEmotion7_fd128 - dw PikachuEmotion8_fd147 - dw PikachuEmotion9_fd166 - dw PikachuEmotion10_fd11e - dw PikachuEmotion11_fd173 - dw PikachuEmotion12_fd17a - dw PikachuEmotion13_fd180 - dw PikachuEmotion14_fd189 - dw PikachuEmotion15_fd191 - dw PikachuEmotion16_fd197 - dw PikachuEmotion17_fd19d - dw PikachuEmotion18_fd1a3 - dw PikachuEmotion19_fd1a9 - dw PikachuEmotion20_fd1b1 - dw PikachuEmotion21_fd1b9 - dw PikachuEmotion22_fd1c1 - dw PikachuEmotion23_fd1c7 - dw PikachuEmotion24_fd1cf - dw PikachuEmotion25_fd1d7 - dw PikachuEmotion26_fd1df - dw PikachuEmotion27_fd1eb - dw PikachuEmotion28_fd1f1 - dw PikachuEmotion29_fd1f7 - dw PikachuEmotion30_fd1fc - dw PikachuEmotion31_fd20a - dw PikachuEmotion32_fd213 - dw PikachuEmotion33_fd05d - -PikachuEmotion33_fd05d: ; fd05d (3f:505d) - db $ff - -Func_fd05e: ; fd05e (3f:505e) - ld a, [wCurMap] - cp POKEMON_FAN_CLUB - jr nz, .notFanClub - ld hl, wPreventBlackout - bit 7, [hl] - ld a, $1d - jr z, .asm_fd0c9 - call Func_154a - ld a, $1e - jr nz, .asm_fd0c9 - jr .asm_fd096 -.notFanClub - ld a, [wCurMap] - cp PEWTER_POKECENTER - jr nz, .notPewterPokecenter - call Func_154a - ld a, $1a - jr nz, .asm_fd0c9 - jr .asm_fd096 -.notPewterPokecenter - callab Func_f24ae - ld a, e - cp $ff - jr nz, .asm_fd0c9 - jr .asm_fd096 -.asm_fd096 - call IsPlayerPikachuAsleepInParty - ld a, $b - jr c, .asm_fd0c9 - callab Func_fce73 ; same bank - ld a, $1c - jr c, .asm_fd0c9 - ld a, [wCurMap] - cp POKEMONTOWER_1 - jr c, .notInLavenderTower - cp POKEMONTOWER_7 + 1 - ld a, $16 - jr c, .asm_fd0c9 -.notInLavenderTower - ld a, [wd49c] - and a - jr z, .asm_fd0c7 - dec a - ld c, a - ld b, $0 - ld hl, Pointer_fd0cb - add hl, bc - ld a, [hl] - jr .asm_fd0c9 -.asm_fd0c7 - and a - ret -.asm_fd0c9 - scf - ret - -Pointer_fd0cb: - db $12,$15,$17,$18,$19 - -IsPlayerPikachuAsleepInParty:: ; fd0d0 (3f:50d0) - xor a - ld [wWhichPokemon], a -.loop - ld a, [wWhichPokemon] - ld c, a - ld b, $0 - ld hl, wPartySpecies - add hl, bc - ld a, [hl] - cp $ff - jr z, .done - cp PIKACHU - jr nz, .curMonNotStarterPikachu - callab IsThisPartymonStarterPikachu - jr nc, .curMonNotStarterPikachu - ld a, [wWhichPokemon] - ld hl, wPartyMon1Status - ld bc, wPartyMon2 - wPartyMon1 - call AddNTimes - ld a, [hl] - and SLP - jr z, .done - jr .curMonSleepingPikachu -.curMonNotStarterPikachu - ld a, [wWhichPokemon] - cp PARTY_LENGTH - 1 - jr z, .done - inc a - ld [wWhichPokemon], a - jr .loop -.curMonSleepingPikachu - scf - ret -.done - and a - ret - -PikachuEmotion0_fd115: ; fd115 (3f:5115) - db $ff - -PikachuEmotion2_fd116: ; fd116 (3f:5116) - pikaemotion_dummy2 - pikaemotion_emotebubble SMILE_BUBBLE - pikaemotion_pcm $22 - pikaemotion_5 $2 - db $ff - -PikachuEmotion10_fd11e: ; fd11e (3f:511e) - pikaemotion_dummy2 - pikaemotion_subcmd PIKAEMOTION_SUBCMD_LOADEXTRAPIKASPRITES - pikaemotion_emotebubble HEART_BUBBLE - pikaemotion_pcm $4 - pikaemotion_5 $a - db $ff - -PikachuEmotion7_fd128: ; fd128 (3f:5128) - pikaemotion_dummy2 - pikaemotion_subcmd PIKAEMOTION_SUBCMD_LOADEXTRAPIKASPRITES - pikaemotion_4 Pointer_fd224 - pikaemotion_pcm $0 - pikaemotion_4 Pointer_fd224 - pikaemotion_5 $7 - db $ff - -PikachuEmotion4_fd136: ; fd136 (3f:5136) - pikaemotion_dummy2 - pikaemotion_subcmd PIKAEMOTION_SUBCMD_LOADEXTRAPIKASPRITES - pikaemotion_4 Pointer_fd230 - pikaemotion_pcm $1c - pikaemotion_5 $4 - db $ff - -PikachuEmotion1_fd141: ; fd141 (3f:5141) - pikaemotion_dummy2 - pikaemotion_pcm $ff - pikaemotion_5 $1 - db $ff - -PikachuEmotion8_fd147: ; fd147 (3f:5147) - pikaemotion_dummy2 - pikaemotion_pcm $26 - pikaemotion_5 $8 - db $ff - -PikachuEmotion5_fd14d: ; fd14d (3f:514d) - pikaemotion_dummy2 - pikaemotion_pcm $1e - pikaemotion_5 $5 - db $ff - -PikachuEmotion6_fd153: ; fd153 (3f:5153) - pikaemotion_dummy2 - pikaemotion_subcmd PIKAEMOTION_SUBCMD_LOADEXTRAPIKASPRITES - pikaemotion_pcm $ff - pikaemotion_4 Pointer_fd21e - pikaemotion_emotebubble SKULL_BUBBLE - pikaemotion_5 $6 - db $ff - -PikachuEmotion3_fd160: ; fd160 (3f:5160) - pikaemotion_dummy2 - pikaemotion_pcm $27 - pikaemotion_5 $3 - db $ff - -PikachuEmotion9_fd166: ; fd166 (3f:5166) - pikaemotion_dummy2 - pikaemotion_subcmd PIKAEMOTION_SUBCMD_LOADEXTRAPIKASPRITES - pikaemotion_pcm $5 - pikaemotion_4 Pointer_fd218 - pikaemotion_emotebubble SKULL_BUBBLE - pikaemotion_5 $9 - db $ff - -PikachuEmotion11_fd173: ; fd173 (3f:5173) - pikaemotion_emotebubble ZZZ_BUBBLE - pikaemotion_pcm $24 - pikaemotion_5 $b - db $ff - -PikachuEmotion12_fd17a: ; fd17a (3f:517a) - pikaemotion_dummy2 - pikaemotion_pcm $ff - pikaemotion_5 $c - db $ff - -PikachuEmotion13_fd180: ; fd180 (3f:5180) - pikaemotion_dummy2 - pikaemotion_subcmd PIKAEMOTION_SUBCMD_LOADEXTRAPIKASPRITES - pikaemotion_4 Pointer_fd21e - pikaemotion_5 $d - db $ff - -PikachuEmotion14_fd189: ; fd189 (3f:5189) - pikaemotion_dummy2 - pikaemotion_emotebubble BOLT_BUBBLE - pikaemotion_pcm $9 - pikaemotion_5 $e - db $ff - -PikachuEmotion15_fd191: ; fd191 (3f:5191) - pikaemotion_dummy2 - pikaemotion_pcm $21 - pikaemotion_5 $f - db $ff - -PikachuEmotion16_fd197: ; fd197 (3f:5197) - pikaemotion_dummy2 - pikaemotion_pcm $20 - pikaemotion_5 $10 - db $ff - -PikachuEmotion17_fd19d: ; fd19d (3f:519d) - pikaemotion_dummy2 - pikaemotion_pcm $c - pikaemotion_5 $11 - db $ff - -PikachuEmotion18_fd1a3: ; fd1a3 (3f:51a3) - pikaemotion_dummy2 - pikaemotion_pcm $ff - pikaemotion_5 $12 - db $ff - -PikachuEmotion19_fd1a9: ; fd1a9 (3f:51a9) - pikaemotion_dummy2 - pikaemotion_emotebubble HEART_BUBBLE - pikaemotion_pcm $20 - pikaemotion_5 $13 - db $ff - -PikachuEmotion20_fd1b1: ; fd1b1 (3f:51b1) - pikaemotion_dummy2 - pikaemotion_emotebubble HEART_BUBBLE - pikaemotion_pcm $4 - pikaemotion_5 $14 - db $ff - -PikachuEmotion21_fd1b9: ; fd1b9 (3f:51b9) - pikaemotion_dummy2 - pikaemotion_emotebubble FISH_BUBBLE - pikaemotion_pcm $ff - pikaemotion_5 $15 - db $ff - -PikachuEmotion22_fd1c1: ; fd1c1 (3f:51c1) - pikaemotion_dummy2 - pikaemotion_pcm $3 - pikaemotion_5 $16 - db $ff - -PikachuEmotion23_fd1c7: ; fd1c7 (3f:51c7) - pikaemotion_dummy2 - pikaemotion_pcm $12 - pikaemotion_5 $17 - pikaemotion_subcmd PIKAEMOTION_SUBCMD_SHOWMAPVIEW - db $ff - -PikachuEmotion24_fd1cf: ; fd1cf (3f:51cf) - pikaemotion_dummy2 - pikaemotion_emotebubble EXCLAMATION_BUBBLE - pikaemotion_pcm $ff - pikaemotion_5 $18 - db $ff - -PikachuEmotion25_fd1d7: ; fd1d7 (3f:51d7) - pikaemotion_dummy2 - pikaemotion_emotebubble BOLT_BUBBLE - pikaemotion_pcm $22 - pikaemotion_5 $19 - db $ff - -PikachuEmotion26_fd1df: ; fd1df (3f:51df) - pikaemotion_dummy2 - pikaemotion_emotebubble ZZZ_BUBBLE - pikaemotion_pcm $24 - pikaemotion_5 $1a - pikaemotion_subcmd PIKAEMOTION_SUBCMD_SHOWMAPVIEW - pikaemotion_subcmd PIKAEMOTION_SUBCMD_CHECKPEWTERCENTER - db $ff - -PikachuEmotion27_fd1eb: ; fd1eb (3f:51eb) - pikaemotion_dummy2 - pikaemotion_pcm $8 - pikaemotion_5 $1b - db $ff - -PikachuEmotion28_fd1f1: ; fd1f1 (3f:51f1) - pikaemotion_dummy2 - pikaemotion_pcm $e - pikaemotion_5 $1c - db $ff - -PikachuEmotion29_fd1f7: ; fd1f7 (3f:51f7) - pikaemotion_pcm $4 - pikaemotion_5 $a - db $ff - -PikachuEmotion30_fd1fc: ; fd1fc (3f:51fc) - pikaemotion_9 - pikaemotion_emotebubble HEART_BUBBLE - pikaemotion_pcm $4 - pikaemotion_5 $14 - pikaemotion_subcmd PIKAEMOTION_SUBCMD_SHOWMAPVIEW - pikaemotion_subcmd PIKAEMOTION_SUBCMD_LOADFONT - pikaemotion_subcmd PIKAEMOTION_SUBCMD_CHECKLAVENDERTOWER - db $ff - -PikachuEmotion31_fd20a: ; fd20a (3f:520a) - pikaemotion_pcm $12 - pikaemotion_5 $17 - pikaemotion_subcmd PIKAEMOTION_SUBCMD_SHOWMAPVIEW - pikaemotion_subcmd PIKAEMOTION_SUBCMD_CHECKBILLSHOUSE - db $ff - -PikachuEmotion32_fd213: ; fd213 (3f:5213) - pikaemotion_pcm $19 - pikaemotion_5 $17 - db $ff - -Pointer_fd218: ; fd218 (3f:5218) - dr $fd218,$fd21e -Pointer_fd21e: ; fd21e (3f:521e) - dr $fd21e,$fd224 -Pointer_fd224: ; fd224 (3f:5224) - dr $fd224,$fd230 -Pointer_fd230: ; fd230 (3f:5230) - dr $fd230,$fd252 -Func_fd252: ; fd252 (3f:5252) - dr $fd252,$fd2a1 -Func_fd2a1:: ; fd2a1 (3f:52a1) - dr $fd2a1,$fd8ab -Func_fd8ab: ; fd8ab (3f:58ab) - dr $fd8ab,$fd8d4 -Func_fd8d4: ; fd8d4 (3f:58d4) - dr $fd8d4,$fd8e1 -Func_fd8e1: ; fd8e1 (3f:58e1) - dr $fd8e1,$fd8ee -Func_fd8ee: ; fd8ee (3f:58ee) - dr $fd8ee,$fd8f8 -Func_fd8f8: ; fd8f8 (3f:58f8) - dr $fd8f8,$fd978 -Func_fd978: ; fd978 (3f:5978) - dr $fd978,$fd9d0 -Func_fd9d0: ; fd9d0 (3f:59d0) - dr $fd9d0,$fe66f OfficerJennySprite: INCBIN "gfx/sprites/officer_jenny.2bpp" PikachuSprite: INCBIN "gfx/sprites/pikachu.2bpp" @@ -2322,4 +1814,4 @@ Clefairy2Sprite: INCBIN "gfx/sprites/clefairy2.2bpp" ChanseySprite: INCBIN "gfx/sprites/chansey.2bpp" SurfingPikachuSprite: INCBIN "gfx/sprites/surfing_pikachu.2bpp" JessieSprite: INCBIN "gfx/sprites/jessie.2bpp" -JamesSprite: INCBIN "gfx/sprites/james.2bpp"
\ No newline at end of file +JamesSprite: INCBIN "gfx/sprites/james.2bpp" |
