#sprite-sheet #gamedev #atari #yaml #tile #image #graphics

应用程序 sprites7800

cc7800的配套工具,用于生成C语言的精灵/瓷砖代码

5个版本

0.3.2 2023年9月17日
0.3.1 2023年9月15日
0.3.0 2023年9月11日
0.2.1 2023年9月4日
0.2.0 2023年8月16日

#714游戏开发

每月42次下载

GPL-3.0-or-later

51KB
374

sprites7800

这是一个用于生成Atari 7800图形(精灵和瓷砖)C代码的工具。它处理输入的YAML文件,这些文件引用一些精灵图图像

sprite_sheets:
  - image: Bubble Bobble.png
    sprites:
      - name: bb_char1
        top: 0
        left: 0
        width: 16
        holeydma: true

生成(sprites7800 simple.yaml

holeydma reversed scattered(16,2) char bb_char1[32] = {
	0x01, 0x00, 0x01, 0x40, 0x0a, 0x94, 0x2a, 0x90, 0x3b, 0xa0, 0xc8, 0xe5, 0xc8, 0xe4, 0xc8, 0xd0,
	0xc8, 0xe5, 0xbb, 0x84, 0x0c, 0x20, 0x2a, 0x90, 0x0e, 0x50, 0x3f, 0x94, 0x3d, 0x68, 0x5d, 0x6a
};

注意,关键字holeydmareversedscattered是cc7800特有的关键字,这些关键字允许编译器按照Atari 7800奇特架构的要求正确地布局内存,交错图形和代码。

默认精灵高度为16像素。cc7800目前只支持8和16像素高的散列数据。

默认图形模式为160A(即双宽像素和每个精灵+背景3种颜色)。其他图形模式必须通过mode属性指定。

Sprite7800的主要功能

  • 支持所有Maria图形模式(160A、160B、320A、320B、320C和320D模式)
  • 支持任何图像格式(BMP、JPEG、GIF、PNG、ICO等)
  • 可以提供调色板定义,以正确地将颜色映射到C代码中

请注意,在160A和160B模式下,所有像素必须为2像素宽(粗像素),否则图像将被拒绝。

Sprites7800是用Rust语言编写的,因此可以使用Cargo(cargo install --path .)轻松编译和安装。

依赖关系

~17MB
~137K SLoC