MUGEN-SFF文件格式(补充)

/ 0评 / 0

本文是对之前发布的MUGEN-SFF文件格式的补充

关于SFFV2下色表数据第四位字节的说明

在之前的文章中,提及到了储存在ldata中的色表数据,其中8位色表的数据长度为1024,5位色表的数据长度为128
这是因为对于每一个颜色,SFF都提供了四个字节来描述,前三个字节分别表示RGB颜色值,而第四个字节貌似并没有作用
实际上,对于使用颜色透明的图像,第四位字节确实没有作用,然而对于使用了Alpha透明的索引图像来说,第四位字节则描述了颜色的(不)透明度,分为256级(0~255),在SFFV2.00和SFFV2.01区分为透明度或者不透明度

术语解释:
1.颜色透明:在MUGEN中,对于储存在SFF中的索引图像,通常在游戏中不会显示色表第一位颜色以达到的效果称为颜色透明
通常,这个颜色被称为透明颜色,特别地,PCX的透明颜色位于色表最后一位
2.Alpha透明:图像通过自带的透明度信息达到的透明效果称为Alpha透明,在PS中Alpha透明常变现为灰白方块背景
Alpha透明大多出现于RGBA图像,其他出现于8位图像,即索引图像和真彩图像都有可能出现Alpha透明
而RGBA图像没有色表,其透明信息直接储存在PNG数据中,而索引图像的透明信息则储存在色表的第四位数据
对于上述两个概念,具体可详见MUGEN视频-浅谈图像索引

关于像素点阵数据(位图数据)的说明

在之前的文章中,提到了使用Rle8、Rle5、Lz5压缩算法的索引图像其图像数据为像素对阵数据(位图数据),而不是一个标准的图像文件,所以如果想要输出标准的图像文件,则需要通过对应图像格式来生成
对于PCX图像来说,其位图数据储存在文件头(128bytes)之后,调色板数据之前,并且可能经过Rle游程编码
对于BMP图像来说,其位图数据储存在调色板数据之后至文件结束
对于PNG图像来说,其位图数据储存在IDAT关键数据块当中
并且要注意各图像格式对于位图数据的记录顺序
当然,对于大多数图像处理库来说,都拥有置位图数据的方法,而不需要手工生成

Elecbyte提供的SFF格式信息

Elecbyte官方SFF格式文档(不包含SFFV2.01)