pokecrystal/battle/sliding_intro.asm

108 lines
1.2 KiB
NASM
Executable File

BattleIntroSlidingPics: ; 4e980
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
call .subfunction1
ld a, rSCX - $ff00
ld [hLCDStatCustom], a
call .subfunction2
xor a
ld [hLCDStatCustom], a
pop af
ld [rSVBK], a
ret
; 4e998
.subfunction1: ; 4e998
call .subfunction4
ld a, $90
ld [hSCX], a
ld a, %11100100
call DmgToCgbBGPals
lb de, %11100100, %11100100
call DmgToCgbObjPals
ret
; 4e9ab
.subfunction2: ; 4e9ab
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
rept 2
inc e
endr
rept 2
dec d
endr
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
; 4e9d6
.subfunction3: ; 4e9d6
ld hl, Sprites + 1 ; x pixel
ld c, $12 ; 18
ld de, $4
.loop3
rept 2
dec [hl]
endr
add hl, de
dec c
jr nz, .loop3
ret
; 4e9e5
.subfunction4: ; 4e9e5
ld hl, LYOverrides
ld a, $90
ld bc, SCREEN_HEIGHT_PX
call ByteFill
ret
; 4e9f1
.subfunction5: ; 4e9f1
ld hl, LYOverrides
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
; 4ea0a