游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2991|回复: 2

开源文件打包格式-zpack

[复制链接]

7

主题

16

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2011-1-22 17:34:00 | 显示全部楼层 |阅读模式
zpack是一个小巧,高效,开源的文件打包格式。

访问zpack首页



主要特性:

速度
以文件名hash方式检索,读取效率至上
删除包内文件时,只删除文件索引,不需要移动包内数据
在两次flush之间用户可以添加任意多个文件(例如添加整个目录),这期间除了被添加文件数据的写入,没有任何其它多余的文件IO操作

大小
添加文件时,优先插入到之前删除文件留下的空闲位置,尽可能利用空间
用户可以调用countFragmentSize检查当前包内空闲空间字节数,必要的话可以调用defrag进行整理
暂不支持数据压缩,但用户很容易自行添加压缩支持

安全/健壮
严格保证在用户调用flush()之前,包文件的有效性。这样当用户一次添加/删除较多文件的过程中即使发生意外(例如停电,进程被强行终止等),包文件能保持最后一次flush后的逻辑结构,不会发生灾难性后果
包文件以只读方式打开时,原始的文件名信息不会被加载到内存。也就是说用户可以选择不将原始目录结构和文件名写入包内,包文件仍然能正常读取

工具
虽然包内文件是以扁平方式组织(以保证检索效率),但zpack另外提供工具类ZpExplorer,让用户可以以树状目录形式浏览和编辑包内文件
提供命令行工具,接近dos使用习惯
提供类似windows explorer的编辑器

其它
包文件不受4g大小限制
核心读取模块仅依赖c++标准库,很容易移植到windows以外的平台,例如Linux,Mac,iPhone等
代码小巧精简,不提供任何多余接口。zpack核心源代码仅20k左右

11

主题

190

帖子

255

积分

中级会员

Rank: 3Rank: 3

积分
255
发表于 2011-1-24 10:12:00 | 显示全部楼层

Re:开源文件打包格式-zpack

好,支持开源项目!
如果继续开发的话,建议增加Patch制作功能,用于制作两个包之间的差别,以及将Patch更新到文件包的Update功能,这样基本就能用在游戏里了。


-----------------
欢迎光临我的博客 http://www.thecodeway.com

32

主题

1259

帖子

1351

积分

金牌会员

Rank: 6Rank: 6

积分
1351
发表于 2011-1-24 14:54:00 | 显示全部楼层

Re:开源文件打包格式-zpack

用开源格式用在游戏中,不等于把资源送给别人吗。
应该还加个防止非法篡改功能。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-4 22:59

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表