龙之谷PAK资源文件打包程序(DNPacker)是由GS娘编写的一个小程序.龙之谷PAK资源文件打包程序是用于对网游 龙之谷 的游戏资源进行重新打包的工具,生成的 龙之谷 资源格式(*.pak)可以直接放到游戏根目录,游戏将按加载顺序对资源文件进行同名覆盖.
用法:
1.把修改好的资源文件按照对应[文件索引]放到本程序目录下的 resource 或 mapdata文件夹.
2.双击运行程序目录下的pakpack.exe
3.选择程序界面的 mapdata 或 resource 复选框后,点击 打包 按钮即可生成pak文件
更新日志:
2011.01.16 -V2.2.0
1.UI界面支持视觉风格
2.修正复选框检测的BUG
V2.1.0 2011.1.16
1.UI界面支持视觉风格
2.修正复选框检测的BUG
资源结构:
PAK是《龙之谷》游戏的资源存放文件格式,本格式包含虚拟文件的数据及虚拟目录/文件的索引,游戏通过对程序目录下的*.pak后缀名的文件对资源包按顺序进行加载,并支持虚拟文件的同名覆盖(文件名须注明替换的包名,如:Resource01-test.pak).需要注意的是,在PAK包内的虚拟文件是被压缩(zlib方式,压缩级别1)后紧凑地存放在资源包的数据区的,因此从PAK提取后的文件需要经过解压才能使用.
以下是对PAK结构的猜想,以一个自制test.pak作范例:
文件头段: 占用256字节(00h-FFh),用于标识文件类型,只使用32字节(00h-20h).
索引信息段: 占用16字节(100h-10Fh),用于指示索引信息及位置.
0B 00 00 00: 占用4字节,固定为0B或0A两个数值
02 00 00 00: 占用4字节,表示虚拟文件数量
00 05 00 00: 占用4字节,表示虚拟文件索引起始偏移地址
资源数据段: 不定长度,必须从400h处开始,用于存放虚拟文件数据,文件顺序紧凑存放.
78 01: 虚拟文件文件头,78为zlib标识,01表示压缩级别1
索引段: 不定长度,每个虚拟文件索引占316字节(13Ch),用于说明虚拟文件的相关信息.
500h-524h: 显而易见,这是一个包含完整虚拟目录信息的虚拟文件名,占用256字节
20 00 00 00: 占用4字节,表示虚拟文件的大小
20 00 00 00: 占用4字节,表示虚拟文件解压后的大小
(由于这是个例子文件,假设压缩前后大小不变)
00 04 00 00: 占用4字节,表示虚拟文件的偏移地址