游戏将其纹理资产存储在
.art
文件中,据我了解,由于存在许多纹理库,因此每个纹理中都包含几个纹理。还有一个包含这些文件的Sprites
文件夹,它们表示相同的文件。文件。没有骰子。搜索更多之后,我发现PFS:First Publisher也将此扩展用于其剪贴画。这些文件与该Wiki中记录的结构不完全匹配,但是每个.art文件在开始时都具有类似于该结构中的信息表的内容,然后还有图像数据。我还观察到字符串
GXTX
重复了很多次,可能表明它可能是新图像开头的指针。除此之外,我不知道这种文件格式如何工作。似乎它是未压缩的图像数据,但是在许多程序中打开它后,我放弃了并需要帮助。
UPDATE 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)
纹理库中的纹理可能具有不同的宽度/高度
每个纹理库在开始时都有大量的非图像数据
纹理是向上下
这里有更多示例可供比较。
#1 楼
我本周撤消了99%的.ART文件,请转到以下位置:// header
4 bytes - total of images
// file offsets directory
// for each image
4 bytes - image offset in directory
// images directory
// for each image
4 bytes - magic (gxtx)
2 bytes - width
2 bytes - height
4 bytes - image data size
2 bytes - unknown
2 bytes - compression type (10 = DXT1 | 11 = DXT3)
X bytes - image data
评论
图像数据大小为4个字节,而不是2个字节。
–烟灰石
4月1日14:29
谢谢,固定
– Meth0d
4月2日,下午3:37
#2 楼
我进行了一些研究,发现纹理使用以下格式之一,具体取决于纹理具有的2个字节值(10、11、4、5、0或2063):“ DXT1 ,DXT3,A8R8G8B8,A4R4G4B4,R5G6B5,A1R5G5B5“
评论
您可以提供文件格式的多个示例吗?这将有助于查找文件之间的结构共性。