summaryrefslogtreecommitdiff
path: root/tilesets/animations.asm
diff options
context:
space:
mode:
Diffstat (limited to 'tilesets/animations.asm')
-rw-r--r--tilesets/animations.asm84
1 files changed, 42 insertions, 42 deletions
diff --git a/tilesets/animations.asm b/tilesets/animations.asm
index 0bd9a4d42..289638299 100644
--- a/tilesets/animations.asm
+++ b/tilesets/animations.asm
@@ -296,7 +296,7 @@ DoneTileAnimation: ; fc2fb
; Reset the animation command loop.
xor a
ld [hTileAnimFrame], a
-
+
WaitTileAnimation: ; fc2fe
; Do nothing this frame.
ret
@@ -466,29 +466,29 @@ AnimateWaterTile: ; fc402
ld hl, [sp+0]
ld b, h
ld c, l
-
+
ld a, [TileAnimationTimer]
-
+
; 4 tile graphics, updated every other frame.
and 3 << 1
-
+
; 2 x 8 = 16 bytes per tile
rept 3
add a
endr
-
+
add WaterTileFrames % $100
ld l, a
ld a, 0
adc WaterTileFrames / $100
ld h, a
-
+
; Stack now points to the start of the tile for this frame.
ld sp, hl
-
+
ld l, e
ld h, d
-
+
jp WriteTile
; fc41c
@@ -675,16 +675,16 @@ AnimateFlowerTile: ; fc56d
ld hl, [sp+0]
ld b, h
ld c, l
-
+
; Alternate tile graphic every other frame
ld a, [TileAnimationTimer]
and 1 << 1
ld e, a
-
+
; CGB has different color mappings for flowers.
ld a, [hCGB]
and 1
-
+
add e
swap a ; << 4 (16 bytes)
ld e, a
@@ -692,9 +692,9 @@ AnimateFlowerTile: ; fc56d
ld hl, FlowerTileFrames
add hl, de
ld sp, hl
-
+
ld hl, VTiles2 + $30 ; tile 4
-
+
jp WriteTile
; fc58c
@@ -825,7 +825,7 @@ AnimateWhirlpoolTile: ; fc678
ld hl, [sp+0]
ld b, h
ld c, l
-
+
; de = VRAM address
ld l, e
ld h, d
@@ -834,12 +834,12 @@ AnimateWhirlpoolTile: ; fc678
ld d, [hl]
inc hl
; Tile address is now at hl.
-
+
; Get the tile for this frame.
ld a, [TileAnimationTimer]
and %11 ; 4 frames x2
swap a ; * 16 bytes per tile
-
+
add [hl]
inc hl
ld h, [hl]
@@ -847,17 +847,17 @@ AnimateWhirlpoolTile: ; fc678
ld a, 0
adc h
ld h, a
-
+
; Stack now points to the desired frame.
ld sp, hl
-
+
ld l, e
ld h, d
-
+
jr WriteTile
; fc696
-
-
+
+
WriteTileFromBuffer: ; fc696
; Write tiledata at wTileAnimBuffer to de.
; wTileAnimBuffer is loaded to sp for WriteTile.
@@ -865,16 +865,16 @@ WriteTileFromBuffer: ; fc696
ld hl, [sp+0]
ld b, h
ld c, l
-
+
ld hl, wTileAnimBuffer
ld sp, hl
-
+
ld h, d
ld l, e
jr WriteTile
; fc6a2
-
-
+
+
WriteTileToBuffer: ; fc6a2
; Write tiledata de to wTileAnimBuffer.
; de is loaded to sp for WriteTile.
@@ -882,13 +882,13 @@ WriteTileToBuffer: ; fc6a2
ld hl, [sp+0]
ld b, h
ld c, l
-
+
ld h, d
ld l, e
ld sp, hl
-
+
ld hl, wTileAnimBuffer
-
+
; fallthrough
WriteTile: ; fc6ac
@@ -901,7 +901,7 @@ WriteTile: ; fc6ac
ld [hl], e
inc hl
ld [hl], d
-
+
rept 7
pop de
inc hl
@@ -909,7 +909,7 @@ rept 7
inc hl
ld [hl], d
endr
-
+
; restore sp
ld h, b
ld l, c
@@ -925,37 +925,37 @@ TileAnimationPalette: ; fc6d7
ld a, [hCGB]
and a
ret z
-
+
; We don't want to mess with non-standard palettes.
ld a, [rBGP] ; BGP
cp %11100100
ret nz
-
+
; Only update on even frames.
ld a, [TileAnimationTimer]
ld l, a
and 1 ; odd
ret nz
-
+
; Ready for BGPD input...
ld a, %10011000 ; auto increment, index $18 (pal 3 color 0)
ld [rBGPI], a
-
+
ld a, [rSVBK]
push af
ld a, 5 ; wra5: gfx
ld [rSVBK], a
-
+
; Update color 0 in order 0 1 2 1
-
+
ld a, l
and %110 ; frames 0 2 4 6
-
+
jr z, .color0
-
+
cp 4
jr z, .color2
-
+
.color1
ld hl, UnknBGPals + $1a ; pal 3 color 1
ld a, [hli]
@@ -963,7 +963,7 @@ TileAnimationPalette: ; fc6d7
ld a, [hli]
ld [rBGPD], a
jr .end
-
+
.color0
ld hl, UnknBGPals + $18 ; pal 3 color 0
ld a, [hli]
@@ -971,14 +971,14 @@ TileAnimationPalette: ; fc6d7
ld a, [hli]
ld [rBGPD], a
jr .end
-
+
.color2
ld hl, UnknBGPals + $1c ; pal 3 color 2
ld a, [hli]
ld [rBGPD], a
ld a, [hli]
ld [rBGPD], a
-
+
.end
pop af
ld [rSVBK], a