2015-07-24 21:39:45 +00:00
|
|
|
AnimCut: ; 79e96 (1e:5e96)
|
2015-07-15 02:46:52 +00:00
|
|
|
ld a, [wCutTile]
|
2014-05-22 22:13:20 +00:00
|
|
|
cp $52
|
2015-07-24 21:39:45 +00:00
|
|
|
jr z, .grass
|
2014-05-22 22:13:20 +00:00
|
|
|
ld c, $8
|
2015-07-24 21:39:45 +00:00
|
|
|
.cutTreeLoop
|
2014-05-22 22:13:20 +00:00
|
|
|
push bc
|
2014-05-26 21:04:56 +00:00
|
|
|
ld hl, wOAMBuffer + $91
|
2015-07-24 21:39:45 +00:00
|
|
|
ld a, 1
|
|
|
|
ld [wCoordAdjustmentAmount], a
|
|
|
|
ld c, 2
|
2014-09-10 03:55:19 +00:00
|
|
|
call AdjustOAMBlockXPos2
|
2014-05-26 21:04:56 +00:00
|
|
|
ld hl, wOAMBuffer + $99
|
2015-07-24 21:39:45 +00:00
|
|
|
ld a, -1
|
|
|
|
ld [wCoordAdjustmentAmount], a
|
|
|
|
ld c, 2
|
2014-09-10 03:55:19 +00:00
|
|
|
call AdjustOAMBlockXPos2
|
2015-07-03 19:37:53 +00:00
|
|
|
ld a, [rOBP1]
|
2014-05-22 22:13:20 +00:00
|
|
|
xor $64
|
2015-07-03 19:37:53 +00:00
|
|
|
ld [rOBP1], a
|
2014-05-22 22:13:20 +00:00
|
|
|
call DelayFrame
|
|
|
|
pop bc
|
|
|
|
dec c
|
2015-07-24 21:39:45 +00:00
|
|
|
jr nz, .cutTreeLoop
|
2014-05-22 22:13:20 +00:00
|
|
|
ret
|
2015-07-24 21:39:45 +00:00
|
|
|
.grass
|
|
|
|
ld c, 2
|
|
|
|
.cutGrassLoop
|
2014-05-22 22:13:20 +00:00
|
|
|
push bc
|
|
|
|
ld c, $8
|
2015-07-24 21:39:45 +00:00
|
|
|
call AnimCutGrass_UpdateOAMEntries
|
|
|
|
call AnimCutGrass_SwapOAMEntries
|
2014-05-22 22:13:20 +00:00
|
|
|
ld c, $8
|
2015-07-24 21:39:45 +00:00
|
|
|
call AnimCutGrass_UpdateOAMEntries
|
|
|
|
call AnimCutGrass_SwapOAMEntries
|
2014-05-26 21:04:56 +00:00
|
|
|
ld hl, wOAMBuffer + $90
|
2015-07-24 21:39:45 +00:00
|
|
|
ld a, 2
|
|
|
|
ld [wCoordAdjustmentAmount], a
|
|
|
|
ld c, 4
|
2014-09-10 03:55:19 +00:00
|
|
|
call AdjustOAMBlockYPos2
|
2014-05-22 22:13:20 +00:00
|
|
|
pop bc
|
|
|
|
dec c
|
2015-07-24 21:39:45 +00:00
|
|
|
jr nz, .cutGrassLoop
|
2014-05-22 22:13:20 +00:00
|
|
|
ret
|
|
|
|
|
2015-07-24 21:39:45 +00:00
|
|
|
AnimCutGrass_UpdateOAMEntries: ; 79eed (1e:5eed)
|
2014-05-22 22:13:20 +00:00
|
|
|
push bc
|
2014-05-26 21:04:56 +00:00
|
|
|
ld hl, wOAMBuffer + $91
|
2015-07-24 21:39:45 +00:00
|
|
|
ld a, 1
|
|
|
|
ld [wCoordAdjustmentAmount], a
|
|
|
|
ld c, 1
|
2014-09-10 03:55:19 +00:00
|
|
|
call AdjustOAMBlockXPos2
|
2014-05-26 21:04:56 +00:00
|
|
|
ld hl, wOAMBuffer + $95
|
2015-07-24 21:39:45 +00:00
|
|
|
ld a, 2
|
|
|
|
ld [wCoordAdjustmentAmount], a
|
|
|
|
ld c, 1
|
2014-09-10 03:55:19 +00:00
|
|
|
call AdjustOAMBlockXPos2
|
2014-05-26 21:04:56 +00:00
|
|
|
ld hl, wOAMBuffer + $99
|
2015-07-24 21:39:45 +00:00
|
|
|
ld a, -2
|
|
|
|
ld [wCoordAdjustmentAmount], a
|
|
|
|
ld c, 1
|
2014-09-10 03:55:19 +00:00
|
|
|
call AdjustOAMBlockXPos2
|
2014-05-26 21:04:56 +00:00
|
|
|
ld hl, wOAMBuffer + $9d
|
2015-07-24 21:39:45 +00:00
|
|
|
ld a, -1
|
|
|
|
ld [wCoordAdjustmentAmount], a
|
|
|
|
ld c, 1
|
2014-09-10 03:55:19 +00:00
|
|
|
call AdjustOAMBlockXPos2
|
2015-07-03 19:37:53 +00:00
|
|
|
ld a, [rOBP1]
|
2014-05-22 22:13:20 +00:00
|
|
|
xor $64
|
2015-07-03 19:37:53 +00:00
|
|
|
ld [rOBP1], a
|
2014-05-22 22:13:20 +00:00
|
|
|
call DelayFrame
|
|
|
|
pop bc
|
|
|
|
dec c
|
2015-07-24 21:39:45 +00:00
|
|
|
jr nz, AnimCutGrass_UpdateOAMEntries
|
2014-05-22 22:13:20 +00:00
|
|
|
ret
|
|
|
|
|
2015-07-24 21:39:45 +00:00
|
|
|
AnimCutGrass_SwapOAMEntries: ; 79f30 (1e:5f30)
|
2014-05-26 21:04:56 +00:00
|
|
|
ld hl, wOAMBuffer + $90
|
2015-07-24 21:39:45 +00:00
|
|
|
ld de, wBuffer
|
2014-05-22 22:13:20 +00:00
|
|
|
ld bc, $8
|
|
|
|
call CopyData
|
2014-05-26 21:04:56 +00:00
|
|
|
ld hl, wOAMBuffer + $98
|
|
|
|
ld de, wOAMBuffer + $90
|
2014-05-22 22:13:20 +00:00
|
|
|
ld bc, $8
|
|
|
|
call CopyData
|
2015-07-24 21:39:45 +00:00
|
|
|
ld hl, wBuffer
|
2014-05-26 21:04:56 +00:00
|
|
|
ld de, wOAMBuffer + $98
|
2014-05-22 22:13:20 +00:00
|
|
|
ld bc, $8
|
|
|
|
jp CopyData
|