pokecrystal-board/engine/battle/sliding_intro.asm

99 lines
1.2 KiB
NASM
Raw Normal View History

2018-06-24 07:09:41 -07:00
BattleIntroSlidingPics:
ld a, [rSVBK]
push af
2018-01-23 14:39:09 -08:00
ld a, BANK(wLYOverrides)
ld [rSVBK], a
call .subfunction1
ld a, rSCX - $ff00
2016-06-13 19:53:33 -07:00
ld [hLCDCPointer], a
call .subfunction2
xor a
2016-06-13 19:53:33 -07:00
ld [hLCDCPointer], a
pop af
ld [rSVBK], a
ret
2018-06-24 07:09:41 -07:00
.subfunction1
call .subfunction4
ld a, $90
ld [hSCX], a
ld a, %11100100
call DmgToCgbBGPals
lb de, %11100100, %11100100
call DmgToCgbObjPals
ret
2018-06-24 07:09:41 -07:00
.subfunction2
ld d, $90
ld e, $72
ld a, $48
inc a
.loop1
push af
.loop2
ld a, [rLY]
cp $60
jr c, .loop2
ld a, d
ld [hSCX], a
call .subfunction5
inc e
inc e
dec d
dec d
pop af
push af
cp $1
jr z, .skip1
push de
call .subfunction3
pop de
.skip1
call DelayFrame
pop af
dec a
jr nz, .loop1
ret
2018-06-24 07:09:41 -07:00
.subfunction3
2018-01-30 11:52:46 -08:00
ld hl, wVirtualOAMSprite00XCoord
ld c, $12 ; 18
2018-01-10 10:47:57 -08:00
ld de, SPRITEOAMSTRUCT_LENGTH
.loop3
dec [hl]
dec [hl]
add hl, de
dec c
jr nz, .loop3
ret
2018-06-24 07:09:41 -07:00
.subfunction4
2018-01-23 14:39:09 -08:00
ld hl, wLYOverrides
ld a, $90
ld bc, SCREEN_HEIGHT_PX
call ByteFill
ret
2018-06-24 07:09:41 -07:00
.subfunction5
2018-01-23 14:39:09 -08:00
ld hl, wLYOverrides
ld a, d
ld c, $3e ; 62
.loop4
ld [hli], a
dec c
jr nz, .loop4
ld a, e
ld c, $22 ; 34
.loop5
ld [hli], a
dec c
jr nz, .loop5
xor a
ld c, $30 ; 48
.loop6
ld [hli], a
dec c
jr nz, .loop6
ret