pokered/engine/overworld/ssanne.asm
Antonio Niño Díaz 9ea25bc8cd Replace deprecated mnemonics by the correct ones
The old mnemonics generate warnings with new versions of rgbds. This
patch replaces them by the correct ones.

Signed-off-by: Antonio Niño Díaz <antonio_nd@outlook.com>
2017-06-09 22:54:09 +01:00

93 lines
1.6 KiB
NASM
Executable file

AnimateBoulderDust:
ld a, $1
ld [wWhichAnimationOffsets], a ; select the boulder dust offsets
ld a, [wUpdateSpritesEnabled]
push af
ld a, $ff
ld [wUpdateSpritesEnabled], a
ld a, %11100100
ld [rOBP1], a
call LoadSmokeTileFourTimes
callba WriteCutOrBoulderDustAnimationOAMBlock
ld c, 8 ; number of steps in animation
.loop
push bc
call GetMoveBoulderDustFunctionPointer
ld bc, .returnAddress
push bc
ld c, 4
jp hl
.returnAddress
ld a, [rOBP1]
xor %01100100
ld [rOBP1], a
call Delay3
pop bc
dec c
jr nz, .loop
pop af
ld [wUpdateSpritesEnabled], a
jp LoadPlayerSpriteGraphics
GetMoveBoulderDustFunctionPointer:
ld a, [wSpriteStateData1 + 9] ; player's sprite facing direction
ld hl, MoveBoulderDustFunctionPointerTable
ld c, a
ld b, $0
add hl, bc
ld a, [hli]
ld [wCoordAdjustmentAmount], a
ld a, [hli]
ld e, a
ld a, [hli]
ld h, [hl]
ld l, a
push hl
ld hl, wOAMBuffer + $90
ld d, $0
add hl, de
ld e, l
ld d, h
pop hl
ret
MoveBoulderDustFunctionPointerTable:
; facing down
db $FF,$00
dw AdjustOAMBlockYPos
; facing up
db $01,$00
dw AdjustOAMBlockYPos
; facing left
db $01,$01
dw AdjustOAMBlockXPos
; facing right
db $FF,$01
dw AdjustOAMBlockXPos
LoadSmokeTileFourTimes:
ld hl, vChars1 + $7c0
ld c, $4
.loop
push bc
push hl
call LoadSmokeTile
pop hl
ld bc, $10
add hl, bc
pop bc
dec c
jr nz, .loop
ret
LoadSmokeTile:
ld de, SSAnneSmokePuffTile
lb bc, BANK(SSAnneSmokePuffTile), (SSAnneSmokePuffTileEnd - SSAnneSmokePuffTile) / $10
jp CopyVideoData
SSAnneSmokePuffTile:
INCBIN "gfx/ss_anne_smoke_puff.2bpp"
SSAnneSmokePuffTileEnd: