mirror of
https://github.com/pret/pokeyellow.git
synced 2024-11-27 04:10:21 +00:00
123 lines
1.8 KiB
NASM
123 lines
1.8 KiB
NASM
; Leftover of Red/Blue. Seemingly unused
|
|
|
|
TitleScroll_WaitBall:
|
|
; Wait around for the TitleBall animation to play out.
|
|
; hi: speed
|
|
; lo: duration
|
|
db $05, $05, 0
|
|
|
|
TitleScroll_In:
|
|
; Scroll a TitleMon in from the right.
|
|
; hi: speed
|
|
; lo: duration
|
|
db $a2, $94, $84, $63, $52, $31, $11, 0
|
|
|
|
TitleScroll_Out:
|
|
; Scroll a TitleMon out to the left.
|
|
; hi: speed
|
|
; lo: duration
|
|
db $12, $22, $32, $42, $52, $62, $83, $93, 0
|
|
|
|
TitleScroll:
|
|
ld a, d
|
|
|
|
ld bc, TitleScroll_In
|
|
ld d, $88
|
|
ld e, 0 ; don't animate titleball
|
|
|
|
and a
|
|
jr nz, .ok
|
|
|
|
ld bc, TitleScroll_Out
|
|
ld d, $00
|
|
ld e, 0 ; don't animate titleball
|
|
.ok
|
|
|
|
_TitleScroll:
|
|
ld a, [bc]
|
|
and a
|
|
ret z
|
|
|
|
inc bc
|
|
push bc
|
|
|
|
ld b, a
|
|
and $f
|
|
ld c, a
|
|
ld a, b
|
|
and $f0
|
|
swap a
|
|
ld b, a
|
|
|
|
.loop
|
|
ld h, d
|
|
ld l, $48
|
|
call .ScrollBetween
|
|
|
|
ld h, $00
|
|
ld l, $88
|
|
call .ScrollBetween
|
|
|
|
ld a, d
|
|
add b
|
|
ld d, a
|
|
|
|
call GetTitleBallY
|
|
dec c
|
|
jr nz, .loop
|
|
|
|
pop bc
|
|
jr _TitleScroll
|
|
|
|
.ScrollBetween:
|
|
.wait
|
|
ldh a, [rLY] ; rLY
|
|
cp l
|
|
jr nz, .wait
|
|
|
|
ld a, h
|
|
ldh [rSCX], a
|
|
|
|
.wait2
|
|
ldh a, [rLY] ; rLY
|
|
cp h
|
|
jr z, .wait2
|
|
ret
|
|
|
|
TitleBallYTable:
|
|
; OBJ y-positions for the Poke Ball held by Red in the title screen.
|
|
; This is really two 0-terminated lists. Initiated with an index of 1.
|
|
db 0, $71, $6f, $6e, $6d, $6c, $6d, $6e, $6f, $71, $74, 0
|
|
|
|
TitleScreenAnimateBallIfStarterOut:
|
|
; Animate the TitleBall if a starter just got scrolled out.
|
|
ld a, [wTitleScreenScene]
|
|
cp CHARMANDER ; starter 1
|
|
jr z, .ok
|
|
cp SQUIRTLE ; starter 2
|
|
jr z, .ok
|
|
cp BULBASAUR ; starter 3
|
|
ret nz
|
|
.ok
|
|
ld e, 1 ; animate titleball
|
|
ld bc, TitleScroll_WaitBall
|
|
ld d, 0
|
|
jp _TitleScroll
|
|
|
|
GetTitleBallY:
|
|
; Get position e from TitleBallYTable
|
|
push de
|
|
push hl
|
|
xor a
|
|
ld d, a
|
|
ld hl, TitleBallYTable
|
|
add hl, de
|
|
ld a, [hl]
|
|
pop hl
|
|
pop de
|
|
and a
|
|
ret z
|
|
ld [wShadowOAMSprite10YCoord], a
|
|
inc e
|
|
ret
|