龍之谷PAK資源文件打包程序(DNPacker)是由GS娘編寫的一個(gè)小程序.龍之谷PAK資源文件打包程序是用于對(duì)網(wǎng)游 龍之谷 的游戲資源進(jìn)行重新打包的工具,生成的 龍之谷 資源格式(*.pak)可以直接放到游戲根目錄,游戲?qū)醇虞d順序?qū)Y源文件進(jìn)行同名覆蓋.
用法:
1.把修改好的資源文件按照對(duì)應(yīng)[文件索引]放到本程序目錄下的 resource 或 mapdata文件夾.
2.雙擊運(yùn)行程序目錄下的pakpack.exe
3.選擇程序界面的 mapdata 或 resource 復(fù)選框后,點(diǎn)擊 打包 按鈕即可生成pak文件
更新日志:
2011.01.16 -V2.2.0
1.UI界面支持視覺風(fēng)格
2.修正復(fù)選框檢測(cè)的BUG
V2.1.0 2011.1.16
1.UI界面支持視覺風(fēng)格
2.修正復(fù)選框檢測(cè)的BUG
資源結(jié)構(gòu):
PAK是《龍之谷》游戲的資源存放文件格式,本格式包含虛擬文件的數(shù)據(jù)及虛擬目錄/文件的索引,游戲通過對(duì)程序目錄下的*.pak后綴名的文件對(duì)資源包按順序進(jìn)行加載,并支持虛擬文件的同名覆蓋(文件名須注明替換的包名,如:Resource01-test.pak).需要注意的是,在PAK包內(nèi)的虛擬文件是被壓縮(zlib方式,壓縮級(jí)別1)后緊湊地存放在資源包的數(shù)據(jù)區(qū)的,因此從PAK提取后的文件需要經(jīng)過解壓才能使用.
以下是對(duì)PAK結(jié)構(gòu)的猜想,以一個(gè)自制test.pak作范例:
文件頭段: 占用256字節(jié)(00h-FFh),用于標(biāo)識(shí)文件類型,只使用32字節(jié)(00h-20h).
索引信息段: 占用16字節(jié)(100h-10Fh),用于指示索引信息及位置.
0B 00 00 00: 占用4字節(jié),固定為0B或0A兩個(gè)數(shù)值
02 00 00 00: 占用4字節(jié),表示虛擬文件數(shù)量
00 05 00 00: 占用4字節(jié),表示虛擬文件索引起始偏移地址
資源數(shù)據(jù)段: 不定長(zhǎng)度,必須從400h處開始,用于存放虛擬文件數(shù)據(jù),文件順序緊湊存放.
78 01: 虛擬文件文件頭,78為zlib標(biāo)識(shí),01表示壓縮級(jí)別1
索引段: 不定長(zhǎng)度,每個(gè)虛擬文件索引占316字節(jié)(13Ch),用于說明虛擬文件的相關(guān)信息.
500h-524h: 顯而易見,這是一個(gè)包含完整虛擬目錄信息的虛擬文件名,占用256字節(jié)
20 00 00 00: 占用4字節(jié),表示虛擬文件的大小
20 00 00 00: 占用4字節(jié),表示虛擬文件解壓后的大小
(由于這是個(gè)例子文件,假設(shè)壓縮前后大小不變)
00 04 00 00: 占用4字節(jié),表示虛擬文件的偏移地址