diff options
author | yenatch <yenatch@gmail.com> | 2013-05-22 14:57:33 -0400 |
---|---|---|
committer | yenatch <yenatch@gmail.com> | 2013-05-22 14:57:33 -0400 |
commit | ee4203a56d1cfdc0446afcf7e5808ca6733b825f (patch) | |
tree | 5e21aea62f2e2c8f7c00285aff5aee83886391f1 | |
parent | c15e7b86193539b1cefc9057d5e36d3b66d1ba30 (diff) |
minecart tile animations
-rw-r--r-- | gfx/tilesets/minecart/1.2bpp | 1 | ||||
-rw-r--r-- | gfx/tilesets/minecart/10.2bpp | 1 | ||||
-rw-r--r-- | gfx/tilesets/minecart/2.2bpp | 1 | ||||
-rw-r--r-- | gfx/tilesets/minecart/3.2bpp | 1 | ||||
-rw-r--r-- | gfx/tilesets/minecart/4.2bpp | 1 | ||||
-rw-r--r-- | gfx/tilesets/minecart/5.2bpp | 1 | ||||
-rw-r--r-- | gfx/tilesets/minecart/6.2bpp | 1 | ||||
-rw-r--r-- | gfx/tilesets/minecart/7.2bpp | 1 | ||||
-rw-r--r-- | gfx/tilesets/minecart/8.2bpp | 1 | ||||
-rw-r--r-- | gfx/tilesets/minecart/9.2bpp | 1 | ||||
-rw-r--r-- | main.asm | 119 |
11 files changed, 117 insertions, 12 deletions
diff --git a/gfx/tilesets/minecart/1.2bpp b/gfx/tilesets/minecart/1.2bpp new file mode 100644 index 000000000..3bb46c953 --- /dev/null +++ b/gfx/tilesets/minecart/1.2bpp @@ -0,0 +1 @@ +€ÿ¿ÿ¿ÿ¿ÿ¿ÿ¿ÿ¿ÿ¿ÿÀ_ÿ_ßßßßßà?/ÿ/?ï?¯ï?¯ï?ðÿ÷·_÷—÷øÿë»Oû›oû
\ No newline at end of file diff --git a/gfx/tilesets/minecart/10.2bpp b/gfx/tilesets/minecart/10.2bpp new file mode 100644 index 000000000..a1af10a55 --- /dev/null +++ b/gfx/tilesets/minecart/10.2bpp @@ -0,0 +1 @@ +?ÿ_ÿ¿ÿ_ÿ¿ÿÿÿÿÿÿÿÿ¯ÿ_ÿ¯ÿ_ÿÿÿÿÿÿÿÿWÿ¯ÿ×ÿ¯ÿÿÿÿÿÿÿ«ÿWÿëÿWÿ¿ÿÿÿÿÿÿUÿ«ÿuÿ«ÿßÿÿÿÿÿ
\ No newline at end of file diff --git a/gfx/tilesets/minecart/2.2bpp b/gfx/tilesets/minecart/2.2bpp new file mode 100644 index 000000000..08d8cfd74 --- /dev/null +++ b/gfx/tilesets/minecart/2.2bpp @@ -0,0 +1 @@ +ðÐÿÐðßðÙößðßðÞñøèÿèøïøéþïøïøîùüôÿôü÷üõþ÷ü÷üöýþúÿúþûþûþûþûþúÿÿýÿýÿýÿýÿýÿýÿýÿ
\ No newline at end of file diff --git a/gfx/tilesets/minecart/3.2bpp b/gfx/tilesets/minecart/3.2bpp new file mode 100644 index 000000000..e4bb79a49 --- /dev/null +++ b/gfx/tilesets/minecart/3.2bpp @@ -0,0 +1 @@ +¿ÿ¿ÿ¿ÿ¿ÿ¿ÿ¿ÿ¿ÿ¿ÿß_ÿ_ßßßßßï?/ÿ/?ï?¯ï?¯ï?÷ÿ÷·_÷—÷ûÿë»Oû›oû
\ No newline at end of file diff --git a/gfx/tilesets/minecart/4.2bpp b/gfx/tilesets/minecart/4.2bpp new file mode 100644 index 000000000..08897f1da --- /dev/null +++ b/gfx/tilesets/minecart/4.2bpp @@ -0,0 +1 @@ +ßðØ÷ÐðßðÙößðßðÞñïøèÿèøïøéþïøïøîù÷üôÿôü÷üõþ÷ü÷üöýûþúÿúþûþûþûþûþúÿýÿýÿýÿýÿýÿýÿýÿýÿ
\ No newline at end of file diff --git a/gfx/tilesets/minecart/5.2bpp b/gfx/tilesets/minecart/5.2bpp new file mode 100644 index 000000000..f66926bab --- /dev/null +++ b/gfx/tilesets/minecart/5.2bpp @@ -0,0 +1 @@ +¿ÿ¿ÿ¿ÿ¿ÿ¿ÿ¿ÿ¿ÿ¿ÿß_ÿ_ÿßÿßÿßÿßÿßÿï?/ÿoÿ¯ÿïÿïÿïÿïÿ÷ÿWÿ·ÿ÷ÿ÷ÿ÷ÿ÷ÿûÿ[ÿ«ÿûÿûÿûÿûÿ
\ No newline at end of file diff --git a/gfx/tilesets/minecart/6.2bpp b/gfx/tilesets/minecart/6.2bpp new file mode 100644 index 000000000..5021b1c1f --- /dev/null +++ b/gfx/tilesets/minecart/6.2bpp @@ -0,0 +1 @@ +ßðØÿÕÿÚÿßÿßÿßÿßÿïøèÿíÿêÿïÿïÿïÿïÿ÷üôÿõÿöÿ÷ÿ÷ÿ÷ÿ÷ÿûþúÿûÿúÿûÿûÿûÿûÿýÿýÿýÿýÿýÿýÿýÿýÿ
\ No newline at end of file diff --git a/gfx/tilesets/minecart/7.2bpp b/gfx/tilesets/minecart/7.2bpp new file mode 100644 index 000000000..59d6876aa --- /dev/null +++ b/gfx/tilesets/minecart/7.2bpp @@ -0,0 +1 @@ +€ÿ‚ý¢Ý ߀ÿ„û„û€ÿÀÿÁþÑîÐïÀÿÂýÂýÀÿàÿàÿè÷è÷àÿáþáþàÿðÿðÿôûôûðÿðÿðÿðÿøÿøÿúýúýøÿøÿøÿøÿ
\ No newline at end of file diff --git a/gfx/tilesets/minecart/8.2bpp b/gfx/tilesets/minecart/8.2bpp new file mode 100644 index 000000000..bb22068b8 --- /dev/null +++ b/gfx/tilesets/minecart/8.2bpp @@ -0,0 +1 @@ +ÿ?ß?ßÿÿ_¿_¿ÿÿïïÿÿ/ß/ßÿÿ÷÷ÿÿïïÿÿûûÿÿ÷÷ÿÿýýÿÿûûÿ
\ No newline at end of file diff --git a/gfx/tilesets/minecart/9.2bpp b/gfx/tilesets/minecart/9.2bpp new file mode 100644 index 000000000..1c206fb79 --- /dev/null +++ b/gfx/tilesets/minecart/9.2bpp @@ -0,0 +1 @@ + ÿÅÿªÿÝÿêÿÝÿÿÿÿÿÐÿâÿÕÿîÿõÿîÿÿÿÿÿèÿñÿêÿ÷ÿúÿ÷ÿÿÿÿÿôÿøÿõÿûÿýÿûÿÿÿÿÿúÿüÿúÿýÿþÿýÿÿÿÿÿ
\ No newline at end of file @@ -16435,16 +16435,16 @@ Tileset29Anim: ; 0xfc233 Tileset23Anim: ; 0xfc27f ; param, function - dw $4770, $4645 - dw $4774, $4645 - dw $4768, $4645 - dw $476c, $4645 - dw $4760, $4645 - dw $4764, $4645 - dw $4758, $4645 - dw $475c, $4645 - dw $4750, $4645 - dw $4754, $4645 + dw MinecartTilePointer9, AnimateMinecartTile + dw MinecartTilePointer10, AnimateMinecartTile + dw MinecartTilePointer7, AnimateMinecartTile + dw MinecartTilePointer8, AnimateMinecartTile + dw MinecartTilePointer5, AnimateMinecartTile + dw MinecartTilePointer6, AnimateMinecartTile + dw MinecartTilePointer3, AnimateMinecartTile + dw MinecartTilePointer4, AnimateMinecartTile + dw MinecartTilePointer1, AnimateMinecartTile + dw MinecartTilePointer2, AnimateMinecartTile dw $0000, NextTileFrame dw $0000, WaitTileAnimation dw $0000, WaitTileAnimation @@ -16962,7 +16962,52 @@ SafariFountainFrames: ; fc605 ; fc645 -INCBIN "baserom.gbc", $fc645, $fc673 - $fc645 +AnimateMinecartTile: ; fc645 +; Read from struct at de: +; Destination (VRAM) +; Address of the first tile in the frame array + + ld hl, [sp+0] + ld b, h + ld c, l + + ld a, [TileAnimationTimer] + and 7 + +; Get frame index a + ld hl, .frames + add l + ld l, a + ld a, 0 + adc h + ld h, a + ld a, [hl] + +; Destination + ld l, e + ld h, d + ld e, [hl] + inc hl + ld d, [hl] + inc hl + +; Add the frame index to the starting address + add [hl] + inc hl + ld h, [hl] + ld l, a + ld a, 0 + adc h + ld h, a + + ld sp, hl + ld l, e + ld h, d + jr WriteTile + +.frames + db $00, $10, $20, $30, $40, $30, $20, $10 +; fc673 NextTileFrame: ; fc673 @@ -17145,7 +17190,57 @@ TileAnimationPalette: ; fc6d7 ret ; fc71e -INCBIN "baserom.gbc", $fc71e, $fcdc2 - $fc71e + +INCBIN "baserom.gbc", $fc71e, $fc750 - $fc71e + + +MinecartTilePointers: ; fc750 +MinecartTilePointer1: + dw $92d0, MinecartTile1 +MinecartTilePointer2: + dw $92f0, MinecartTile2 +MinecartTilePointer3: + dw $93d0, MinecartTile3 +MinecartTilePointer4: + dw $93f0, MinecartTile4 +MinecartTilePointer5: + dw $93c0, MinecartTile5 +MinecartTilePointer6: + dw $92c0, MinecartTile6 +MinecartTilePointer7: + dw $94d0, MinecartTile7 +MinecartTilePointer8: + dw $94f0, MinecartTile8 +MinecartTilePointer9: + dw $95d0, MinecartTile9 +MinecartTilePointer10: + dw $95f0, MinecartTile10 + +MinecartTile1: + INCBIN "gfx/tilesets/minecart/1.2bpp" +MinecartTile2: + INCBIN "gfx/tilesets/minecart/2.2bpp" +MinecartTile3: + INCBIN "gfx/tilesets/minecart/3.2bpp" +MinecartTile4: + INCBIN "gfx/tilesets/minecart/4.2bpp" +MinecartTile5: + INCBIN "gfx/tilesets/minecart/5.2bpp" +MinecartTile6: + INCBIN "gfx/tilesets/minecart/6.2bpp" +MinecartTile7: + INCBIN "gfx/tilesets/minecart/7.2bpp" +MinecartTile8: + INCBIN "gfx/tilesets/minecart/8.2bpp" +MinecartTile9: + INCBIN "gfx/tilesets/minecart/9.2bpp" +MinecartTile10: + INCBIN "gfx/tilesets/minecart/10.2bpp" +; fca98 + + +INCBIN "baserom.gbc", $fca98, $fcdc2 - $fca98 + LoadTradesPointer: ; 0xfcdc2 ld d, 0 |