Neople是一家韩国的游戏公司,地下城勇士DNF就是出自他之手。为了帮弟弟提取DNF创建人物时的漫画,小宝简单地分析了下DNF使用的资源格式。这篇文章是我的分析笔记,完全是凭经验推理出来的,可能不全面的,也可能存在错误,本人不对参考本文而产生的任何问题负责。
作者:leexuany(小宝)
第一部分 解包
DNF使用的资源包是NPK格式,即"NeoplePack"的缩写,于是推测这篇分析也许能用在Neople其他的几款游戏上,呵呵~~。
struct NPK_Header
{
char flag[16]; // 文件标识 "NeoplePack_Bill"
int count; // 包内文件的数目
};
struct NPK_Index
{
DWORD offset; // 文件的包内偏移量
DWORD size; // 文件的大小
char name[256];// 文件名
};
NPK文件就是由一个NPK_Header和N个NPK_Index以及实际的数据组成的。
注:NPK分加密(ImagePacks4文件夹下)和未加密(ImagePacks2文件夹下)的两个版本,加密的版本需要用"puchikon@neople dungeon and fighter DNFDNFDNFDNFDNFDNFDNFDNFDNFDNFD