标题: 三国志系列图像文件格式浅析
性别:男-离线 van

平曲侯泸川军节度使

Rank: 13Rank: 13Rank: 13Rank: 13
柱国(正二品) 工神
组别 节度使
级别 军师将军
好贴 3
功绩 475
帖子 984
编号 25461
注册 2004-11-24


发表于 2004-11-26 23:46 资料 主页 文集 短消息 看全部作者
目录
三1~5,SanBF
曹操传地图
三八
三九


精华帖
顶部
性别:男-离线 van

平曲侯泸川军节度使

Rank: 13Rank: 13Rank: 13Rank: 13
柱国(正二品) 工神
组别 节度使
级别 军师将军
好贴 3
功绩 475
帖子 984
编号 25461
注册 2004-11-24


发表于 2004-11-26 23:46 资料 主页 文集 短消息 看全部作者
最近在研究早期三国志的图片格式,发现其中头像的格式是完全一致的,介绍如下:
早期(san1~san5)的头像文件名基本上是kaodata,其中san1是picdata.dat,san2是kaodata.dat,san3就是kaodata.s3,san4里面有两个,一个是kaodatap.s4,另一个是kaodata2.s4(许多都是san3的,还有一些剧情人物),文件里没有任何格式信息,全部是头像数据。头像大小san1是32*40,san2是64*40(三2的显示模式里长宽比比较变态,实际的头像是扁的),san3~san5是64*80,也就是以后的标准大小。和三6等一样,读入的数据可以直接用stretchblt显示,只是需要预先处理一下。
大家知道,bmp格式只能处理2、4、16、256色等等,而在三国志里面是用8色的,所以是用每三个字节表示8个像素。比如说三个字节是11000000,11100001,00110101,则用相应位的三个组合在一起就可以得到实际的图像数据是6,6,3,1,0,1,0,3(注:三4加强版的头像文件的末尾还有附加字节,一共有701个字节(图片的总数目),表示头像是否被修改过)
下面是调色板(BGR十六进制)
san2:000000;ff5050;5050ff;ff50ff;50f850;fff850;50f8ff;fff8ff
san3:000000;ef3f00;004fef;cf4fef;4faf0f;efbf00;00dfef;efefef
san4:001f2f;7f3f1f;1f3faf;4f7fbf;1f6f3f;8f7f3f;7fafcf;afcfcf

早期三国的头像比较少,一般就两百多个,而且仔细看,其实许多就是一个模子里做出来的,光荣还特地把类似的头像放在一起,所以看上去特别明显^_^
因为san4有水浒人物,所以头像数大大提高,达到了700以上,看来光荣也很费了一番功夫,也算是一个飞跃吧,从此各代的规模也就大致如此了

三国志battlefield的头像在grp目录下,文件名是facedat.sog,它是沿用三8并对少数人物进行修改的基础上完成的,不过它的格式略有不同
与三国志系列不同,battlefield的头像用的是16位位图,不过前面的格式信息倒和三7没有分别
一开始4个字节是文件中的头像数,其后是头像数乘以16个字节的格式信息,接下来就是位图信息,2位一个象素
格式信息还是老样子,头4个是起始pos(第一个头像是0),然后四个是大小,接着就是宽和高
另外一个不同就是battlefield的头像文件里有空位,从1~520是三国人物的头像,接下来是一些8×8的填充字,然后才是诸如成吉思汗等的头像


精华帖
顶部
性别:男-离线 van

平曲侯泸川军节度使

Rank: 13Rank: 13Rank: 13Rank: 13
柱国(正二品) 工神
组别 节度使
级别 军师将军
好贴 3
功绩 475
帖子 984
编号 25461
注册 2004-11-24


发表于 2004-11-26 23:47 资料 主页 文集 短消息 看全部作者
hm*的格式(由浮生宛若寄研究出来的,我结合自己的处理谈一下)
此文件内没有任何附加信息,全部是图像数据。这里图片不是整张存放的,而是以48*48为单位分块存放,从左上角按行一直到右下角。其中每个小块都是倒放的,具体读取可参考下面的例程:
ReDim Color(48 * 48 - 1)
For i = 0 To Height - 1
For j = 0 To Width - 1
Get #1, , Color()
StretchDIBits Picture1.hDC, j * 48, (i + 1) * 48, 48, -48, 0, 0, 48, 48, Color(0), bi, 0, vbSrcCopy
Next j
Next i
精华帖
顶部
性别:男-离线 van

平曲侯泸川军节度使

Rank: 13Rank: 13Rank: 13Rank: 13
柱国(正二品) 工神
组别 节度使
级别 军师将军
好贴 3
功绩 475
帖子 984
编号 25461
注册 2004-11-24


发表于 2004-11-26 23:48 资料 主页 文集 短消息 看全部作者
最近研究了一下三九的图像格式,发现它用了三种存储格式,弄的我花了好久才搞清楚.它的一部分调色板结合到图像文件中去了,而前两代广泛使用的带s*后缀的bmp文件也少了很多.
s9素材方面最大的变化,我想可能就是音频和视频都开始使用压缩格式了,不过最关键的图像它还是以前的256色,虽然存储的格式代代不同,但还是万变不离其宗.而且它专门为图像处理编了一个dll(用了mmx,应该不再使用GDI了),可能是为了更好的渲染效果吧.它也开始全面步入DirectX,虽然从36起,它就有一个dll是专门用DirectSound处理声音,不过好像游戏里面没有用

简要的介绍一下三9的图像文件格式,希望对想利用三9资源的朋友有一点帮助
调色版(P开头的)
第一个双字是调色版总数
之后每1064个字节是不同的调色版,其中前40个是相关的信息,可以忽略,之后即是调色版数据,仍然是bgr格式存放

图像文件(G开头的)
一共三种格式,但仍然没有存放所使用的调色版的信息
第一种(类似于以前的格式):第一个双字是图片总数,从第五个字节开始存放的是图像数据的起始pos,之后即是图像数据,每个图像均有16字节的前导信息,分别是图像数据的长度(包括16字节前导信息),宽,宽(宽存放了两次),高
第二种:第一个双字是该文件的总长度.之后即是图像数据,每个图像数据也有16字节前导信息,格式同上
第三种:同上,只是文件开头包括了调色版文件,接下来就是第二种的数据(但没有总长度那个双字)

一般图像的调色版是递增的,图像文件使用的调色版文件一般与其名字差不多,但不是很有规律.

一些参考
G_still:宝物事件图片
G_ikki:单挑的场景,小人等
G_lbuild:大地图上的建筑
G_units:大地图上的小士兵
精华帖
顶部
性别:男-离线 van

平曲侯泸川军节度使

Rank: 13Rank: 13Rank: 13Rank: 13
柱国(正二品) 工神
组别 节度使
级别 军师将军
好贴 3
功绩 475
帖子 984
编号 25461
注册 2004-11-24


发表于 2004-12-20 17:17 资料 主页 文集 短消息 看全部作者
没人做而已,原理并不复杂。就像那个新武将登陆器一样,目前也就有出过一种
精华帖
顶部
性别:男-离线 van

平曲侯泸川军节度使

Rank: 13Rank: 13Rank: 13Rank: 13
柱国(正二品) 工神
组别 节度使
级别 军师将军
好贴 3
功绩 475
帖子 984
编号 25461
注册 2004-11-24


发表于 2004-12-21 12:38 资料 主页 文集 短消息 看全部作者
懒吧,或者没花时间研究过
精华帖
顶部

正在浏览此帖的会员 - 共 1 人在线




当前时区 GMT+8, 现在时间是 2024-12-22 09:07
京ICP备2023018092号 轩辕春秋 2003-2023 www.xycq.org.cn

Powered by Discuz! 5.0.0 2001-2006 Comsenz Inc.
Processed in 0.011941 second(s), 9 queries , Gzip enabled

清除 Cookies - 联系我们 - 轩辕春秋 - Archiver - WAP