一段时间以来,我一直在研究如何修改 Crazy Taxi 3 的纹理,但我几乎撞到了砖墙。
游戏将其纹理资产存储在.art
文件中,据我所知,由于有许多纹理库,其中每个文件都包含多个纹理。还有一个Sprites
文件夹包含这些指示相同的文件。
谷歌快速搜索让我相信这可能是其软件中使用的AOL 图像格式,但是 AOL 9.0 在尝试打开文件时不断抛出错误。没有骰子。
搜索更多后,我发现PFS: First Publisher 也使用此扩展程序来制作剪贴画。这些文件与此 wiki 中记录的结构不完全匹配,但是每个 .art 文件在开始时都有一个看起来像该结构中的信息表的东西,然后可能是图像数据。我还观察到该字符串GXTX
重复多次,可能表明它可能是新图像开头的指针。
除此之外,我不知道这种文件格式是如何工作的。看起来它是未压缩的图像数据,但是在许多程序中打开它后我已经放弃并需要帮助。
更新 1:
我找到了一个很棒的工具,叫做Texturefinder,它帮助我弄清楚这些纹理是用 DXT 压缩的,但是我不确定是哪个版本,因为某个纹理库的一半在 DXT1 中可能看起来很棒,而另一半看起来很混乱,直到我切换到 DXT3 或 5。容器格式可能包含有关在图像之前的表中使用哪种算法的信息,因为在每个纹理文件的开头都有大量非图像数据,或者至少是该工具可以使用的数据不决定。以下是在一种算法与另一种算法中工作的一些示例:
所以,这里是我收集到的更新列表:
.art
文件GXTX
多次包含字符串,通常后跟大约 12 个具有小值的字节(类似于80 00 80 00 00 80 00 00 01 00 05 00
),可能是图像分隔符- 这些文件包含许多用 DXT 压缩的纹理
- 纹理可以用不同形式的 DXT(可能是 DXT1 和 DXT3)进行压缩
- 银行中的纹理可能具有不同的宽度/高度
- 每个纹理库在开始时都有相当数量的非图像数据
- 纹理是颠倒的