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