1

我正在尝试查看如何使用旧的 roms gfx 文件进行一些逆向工程保存瓷砖(此示例尝试使用 snow bros arcade set one)。

这就是我现在所知道的:

  • 每种颜色都指向一个可以更改的调色板(然后当您更改调色板时,您会更改瓷砖中的颜色)。

  • 瓷砖的尺寸为 16x16。

当我在十六进制编辑器中看到文件时,我有点困惑。我不知道一个像素有多少字节,也不知道它们是如何排列的。

知道这是如何工作的吗?

4

2 回答 2

2

在没有任何文档的情况下,我首先假设每个像素是一个字节(只是 256 调色板的索引)并且 (16 x 16) 256 字节的块组成一个图块。

现在完全有可能还有一些标题信息。因此,您需要读取偏移量 + 256字节并使用加载的调色板或仅使用灰度调色板显示。

继续增加偏移量,直到你得到看起来像瓷砖的东西。现在通过读取后续图块来测试您的假设(之后将偏移量增加 256 个字节)。当然 - 如果图块之间还有其他数据,您将不得不再次执行此操作,直到确定步幅。

请注意,如果您没有加载正确的调色板,颜色很可能看起来很乱。您将不得不依靠您的模式识别技能。

综上所述,您可以为该控制台找到一个现有的开源模拟器,并尝试对其代码进行逆向工程以发现格式。

于 2012-07-13T20:41:25.647 回答
0

我找到了答案(至少在雪地兄弟游戏中):

瓦片以 128 个字节保存。

作为每个字节 2 种颜色(每种颜色 4 位(当然是索引))并以这种方式展开:

十六进制文件:

在此处输入图像描述

当然十六进制从 0 开始,但我认为这更直观,每个 celd 都是一个字节(2 个像素)。

于 2012-07-14T22:38:26.683 回答