pokeyellow/engine/overworld/cut2.asm
luckytyphlosion 9ca431b4f9 Complete documentation of bank1e
Todo: address comments for data/animations.asm
2016-03-28 15:59:19 -04:00

92 lines
1.6 KiB
NASM
Executable File

AnimCut: ; 7a037 (1e:6037)
ld a, [wCutTile]
cp $52
jr z, .grass
ld c, $8
.cutTreeLoop
push bc
ld hl, wOAMBuffer + $91
ld a, 1
ld [wCoordAdjustmentAmount], a
ld c, 2
call AdjustOAMBlockXPos2
ld hl, wOAMBuffer + $99
ld a, -1
ld [wCoordAdjustmentAmount], a
ld c, 2
call AdjustOAMBlockXPos2
ld a, [rOBP1]
xor $64
ld [rOBP1], a
call UpdateGBCPal_OBP1
call DelayFrame
pop bc
dec c
jr nz, .cutTreeLoop
ret
.grass
ld c, 2
.cutGrassLoop
push bc
ld c, $8
call AnimCutGrass_UpdateOAMEntries
call AnimCutGrass_SwapOAMEntries
ld c, $8
call AnimCutGrass_UpdateOAMEntries
call AnimCutGrass_SwapOAMEntries
ld hl, wOAMBuffer + $90
ld a, 2
ld [wCoordAdjustmentAmount], a
ld c, 4
call AdjustOAMBlockYPos2
pop bc
dec c
jr nz, .cutGrassLoop
ret
AnimCutGrass_UpdateOAMEntries: ; 7a091 (1e:6091)
push bc
ld hl, wOAMBuffer + $91
ld a, 1
ld [wCoordAdjustmentAmount], a
ld c, 1
call AdjustOAMBlockXPos2
ld hl, wOAMBuffer + $95
ld a, 2
ld [wCoordAdjustmentAmount], a
ld c, 1
call AdjustOAMBlockXPos2
ld hl, wOAMBuffer + $99
ld a, -2
ld [wCoordAdjustmentAmount], a
ld c, 1
call AdjustOAMBlockXPos2
ld hl, wOAMBuffer + $9d
ld a, -1
ld [wCoordAdjustmentAmount], a
ld c, 1
call AdjustOAMBlockXPos2
ld a, [rOBP1]
xor $64
ld [rOBP1], a
call UpdateGBCPal_OBP1
call DelayFrame
pop bc
dec c
jr nz, AnimCutGrass_UpdateOAMEntries
ret
AnimCutGrass_SwapOAMEntries: ; 7a0d7 (1e:60d7)
ld hl, wOAMBuffer + $90
ld de, wBuffer
ld bc, $8
call CopyData
ld hl, wOAMBuffer + $98
ld de, wOAMBuffer + $90
ld bc, $8
call CopyData
ld hl, wBuffer
ld de, wOAMBuffer + $98
ld bc, $8
jp CopyData