Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
pret
GitHub Repository: pret/pokered
Path: blob/master/engine/overworld/cut2.asm
1271 views
1
AnimCut:
2
ld a, [wCutTile]
3
cp $52
4
jr z, .grass
5
ld c, $8
6
.cutTreeLoop
7
push bc
8
ld hl, wShadowOAMSprite36XCoord
9
ld a, 1
10
ld [wCoordAdjustmentAmount], a
11
ld c, 2
12
call AdjustOAMBlockXPos2
13
ld hl, wShadowOAMSprite38XCoord
14
ld a, -1
15
ld [wCoordAdjustmentAmount], a
16
ld c, 2
17
call AdjustOAMBlockXPos2
18
ldh a, [rOBP1]
19
xor $64
20
ldh [rOBP1], a
21
call DelayFrame
22
pop bc
23
dec c
24
jr nz, .cutTreeLoop
25
ret
26
.grass
27
ld c, 2
28
.cutGrassLoop
29
push bc
30
ld c, $8
31
call AnimCutGrass_UpdateOAMEntries
32
call AnimCutGrass_SwapOAMEntries
33
ld c, $8
34
call AnimCutGrass_UpdateOAMEntries
35
call AnimCutGrass_SwapOAMEntries
36
ld hl, wShadowOAMSprite36YCoord
37
ld a, 2
38
ld [wCoordAdjustmentAmount], a
39
ld c, 4
40
call AdjustOAMBlockYPos2
41
pop bc
42
dec c
43
jr nz, .cutGrassLoop
44
ret
45
46
AnimCutGrass_UpdateOAMEntries:
47
push bc
48
ld hl, wShadowOAMSprite36XCoord
49
ld a, 1
50
ld [wCoordAdjustmentAmount], a
51
ld c, 1
52
call AdjustOAMBlockXPos2
53
ld hl, wShadowOAMSprite37XCoord
54
ld a, 2
55
ld [wCoordAdjustmentAmount], a
56
ld c, 1
57
call AdjustOAMBlockXPos2
58
ld hl, wShadowOAMSprite38XCoord
59
ld a, -2
60
ld [wCoordAdjustmentAmount], a
61
ld c, 1
62
call AdjustOAMBlockXPos2
63
ld hl, wShadowOAMSprite39XCoord
64
ld a, -1
65
ld [wCoordAdjustmentAmount], a
66
ld c, 1
67
call AdjustOAMBlockXPos2
68
ldh a, [rOBP1]
69
xor $64
70
ldh [rOBP1], a
71
call DelayFrame
72
pop bc
73
dec c
74
jr nz, AnimCutGrass_UpdateOAMEntries
75
ret
76
77
AnimCutGrass_SwapOAMEntries:
78
ld hl, wShadowOAMSprite36
79
ld de, wBuffer
80
ld bc, $8
81
call CopyData
82
ld hl, wShadowOAMSprite38
83
ld de, wShadowOAMSprite36
84
ld bc, $8
85
call CopyData
86
ld hl, wBuffer
87
ld de, wShadowOAMSprite38
88
ld bc, $8
89
jp CopyData
90
91