在对WAS文件的分析上 王大理 走的很远,大家可以去他的BLOG去看看【王大理的BLOG】,对于was文件格式除了他的文档外我还参考了云风 风魂++中的遗留代码 wsprite.h 等,通过里面的头定义结合王大理的文章我整理并写出了第一份读取was文件并 显示调色板、显示 was信息、显示was文件第一帧图像的代码,当然这些代码是逐步完成的。我并不认为我能一步到位的完成读取解析并显示,所以我分开进行了编写并测试,最后所有代码都通过后就将其合到了一起。但由于显示时有Alpha混合因此计算量较大所以最初的代码运行速度非常慢,后来又使用了汇编才将速度提上去,之后的文档中我将会把绘制部分贴上去,(事实上使用的intel的那个最快的16位混合代码)。
在was文件中实际包含了很多was动画的信息:
was文件头信息分析
>窗口固定图片,单张、按钮< 0C 00
一、53 50 0C 00 01 00 01 00 80 02 29 00 00 00 00 00 1.文件信息(offset00000000)
.文件标志 2字节, SP 53 50 / SP
.文件头大小 2字节, 不包含前四个字节 0C 00 / 12
.动画方向数 2字节 01 00 / 1
.每方向的帧数 2字节 01 00 / 1
.动画的宽度 2字节 80 02 / 640
.动画的高度 2字节 29 00 / 41
.动画的中心点 X 2字节, 有符号 00 00 / 0
.动画的中心点 Y 2字节, 有符号 00 00 / 0
二、调色板
2.调色板(offset00000010=文件信息.文件头大小+4)
.256色16位调色板 512字节
三、04 02 00 00
3.图片偏移表(offset00000210=文件信息.文件头大小+4+512)
.图片数据的偏移地址4字节*图片方向数*每方向帧数 04 02 00 00 / 516(0x00000204)
.若地址为 00 00 00 00 则该图片为空的图片四、00 00 00 00 FF FF FF FF 80 02 00 00 28 00 00 00
4.图片信息(offset00000214=调色板offset00000010+文件偏移表0x00000204)
.帧中心 X 4字节, 有符号 00 00 00 00 / 0
.帧中心 Y 4字节, 有符号 FF FF FF FF / -1
.帧宽度 4字节 80 02 00 00 / 640
.帧高度 4字节 28 00 00 00 / 40
.
.象素行的偏移表
>窗口元素图片,部分<0D 00
一、53 50 0D 00 01 00 32 00 72 00 A2 01 25 00 09 00 53 50 0D 00 01 00 01 00 1E 00 31 00 00 00 00 00 011.文件信息(offset00000000)
.文件标志 2字节, SP 53 50 / SP
.文件头大小 2字节, 不包含前四个字节 0D 00 / 13
.动画方向数 2字节 01 00 / 1
.每方向的帧数 2字节 01 00 / 1
.动画的宽度 2字节 1E 00 / 30
.动画的高度 2字节 31 00 / 49
.动画的中心点 X 2字节 00 00 / 0
.动画的中心点 Y 2字节 00 00 / 0
.未知 1字节 01 / 1 宝盒边上的按钮图片 宠物按钮内的图片 红粗线 对话框图片
02 / 2 框框边上的花边
同上 >0C 00<
>窗口元素图片,多张按钮< ?? 00
一、53 50 0F 00 01 00 03 00 A7 00 25 00 00 00 00 00 01 01 011.文件信息(offset00000000)
.文件标志 2字节, SP 53 50 / SP
.文件头大小 2字节, 不包含前四个字节 0F 00 / 15
.动画方向数 2字节 01 00 / 1
.每方向的帧数 2字节 03 00 / 3
.动画的宽度 2字节 A7 00 / 167
.动画的高度 2字节 25 00 / 37
.动画的中心点 X 2字节 00 00 / 0
.动画的中心点 Y 2字节 00 00 / 0
.未知 1字节*动画帧数 01 01 01 / 三张按钮同上 >0C 00<
>表情动画图片,鼠标禁止动画图片< ?? 00
一、53 50 14 00 01 00 08 00 17 00 18 00 02 00 1A 00 02 01 01 01 01 01 01 01
1.文件信息(offset00000000)
.文件标志 2字节, SP 53 50 / SP
.文件头大小 2字节, 不包含前四个字节 14 00 / 20
.动画方向数 2字节 01 00 / 1
.每方向的帧数 2字节 08 00 / 8
.动画的宽度 2字节 17 00 / 23
.动画的高度 2字节 18 00 / 24
.动画的中心点 X 2字节 02 00 / 2
.动画的中心点 Y 2字节 1A 00 / 26
.未知 1字节*动画帧数 02 01 01 01 01 01 01 01 / 表情动画延迟时间
01 02 02 02 02 02 02 02同上 >0C 00<
以上为我总结出来的was头文件格式。
附件代码为读取was文件的代码:
本主题包含附件:
sf_200671131443.rar (5656bytes)
文件由用户上传,GameRes.com无法确定其安全性,请慎重使用
首先预览下效果准备工具
西游游戏wdf资源解包程序
Glowtools &A-wdf
附件提供下载
Ulead GIF Animator V5.05 汉化版(gif动画专业制作工具)
第一下载地址:Ulead GIF Animator V5.05汉化版
第二下载地址:Ulead GIF Animator V5.05
Ulead GIF Animator V5.05 汉化补丁(汉化软件)
一、首先下载这两个软件
如果用XP系统,Glowtools &A-wdf可能会出错,请修改以下程序的兼容性
wapcompress
wascompress
waskey
二、使用A-wdf解开wdf游戏资源文件为was,点解包
三、找到游戏目录,解开一个wdf文件
引用:
关于梦幻中WDF部分资源文件分类:
shape.wdf:0-75级宠物形象,人物角色形象,武器,NPC等等。。。
shape.wd2:《神鬼玄机》《美丽人生》资料片更新的资源,包话95-105的宠,神兽大熊猫,6种孩子的形象,还有一个没有见过的宠物形象
shape.wd3:刚更新的《化境》资料片中的资源,包话6种新宠 * 9种动作(54个,好象少了施法的动作)+ 几个NPC形象(15个)+ 12类武器,每类武器3样,每样武器2个角色使用,每个角色10种动作(12 * 3 * 2 * 10 = 720) 一共789个资源
sound.wdf:场景背景音乐
music.wdf:各类音效音乐,比如流水等
smap.wdf:小地图(Tab切换出来的那个) + 世界地图
chat.wdf: NPC对话文本
goods.wdf:各类窗口对话框等图片
magic.wdf:法术动画文件
mapani.wdf:地图上小动物动画,兔子啊,公鸡什么的
四、得到解压缩后的was文件,位置在游戏目录下新建的一个文件夹里,怎么查看呢 不急,接下来慢慢看
5、使用wascompress打开was文件
6、可以看到这个文件所包含的效果,我解开的是法术动画效果
7、选择save tga
8、在目录下导出一系列tga图片文件,可以用Irfanview查看此类格式
9、打卡UGA5,选择动画向导...
10、设置gif图大小,我设置是200*200
11、选择添加图像
12、导入之前的tga图片
13、设置延迟时间短些,这样动画流程些,视情况而定,我设置10
14、这里已经按顺序排好了gif帧,可以点击播放按钮预览下
15、全部设置好后,点保存旁的下拉箭头选择保存为gif文件导出为gif图,效果见第一张图
16、如果只想看看效果,那就直接用waskey打开was文件
17、会自动播放was动画文件
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)