我目前正在尝试了解/反向工程游戏的纹理文件格式,该游戏即将停产,以便在关闭游戏之前“抢救”尽可能多的数据。
纹理文件本身实际上是一种带有标题的容器格式,然后是许多不同格式的每个Mip级别的数据。标头指定在文件中使用27种可能的格式中的哪一种。它们大多数都非常简单(纯DXTn,未压缩的ARGB,单通道,立方体纹理等),但是我在第一种可能的格式上遇到了麻烦,并且想知道是否有人知道适合它的算法。
使用Intel GPA,我能够弄清楚那些纹理最终以DXT5(BC3_UNORM)的形式出现,因此我假定它将文件中的DXT5压缩,因为它的{{ 1}}。
我现在暂时要做的其他事情:
unknown format -> ARGB -> DXT5
,另一个经常发现的模式是4B 00 00 4B 00 00 4B 00 00 4B 00 00
5C 00 00 5C 00 00 4B 00 00 4B 00 00
填充以填充16个字节)我曾经认为可能是对DXT5进行了压缩处理,但是我不确定标头中的其他5个32位值是否足以表示该格式的信息,或者不确定压缩数据的外观。
有人可以通过某种算法从上方识别模式吗?