[原创]游戏打包工具和资源解包类库~~你的资源再也不会暴露在外面了!

最近为做DX项目的同学封装了一个资源打包工具和资源解包类库,主要功能是整合零散的资源,和资源保护。
1.资源打包工具QuartzFilePackEdit

 

 

 

--------------------------------------------------
同学的项目自己编辑的资源非常有限,很多资源都是从别的游戏中七拼八凑出来了。看到别的游戏都有自己的文件资源包,自己也很希望把自己的资源打包。最近写了一个QuartzFilePackEdit工具,用来整合资源打包的,这个工具目前支持多文件打包整合使用非常方便,只需要添加资源到文件列表中点击保存打包就可以了,如果添加了重复的资源,可以在列表中双击文件将其删除。压缩的文件只能是*.QFT文件格式,*.QFT文件中除了刚才我们打包的文件以外,他还生成了一个文件资源表,因为我们还要对这个文件解包。文件资源表也可以导出一个备份。免得以后自己也忘了这个资源包里面都有哪些数据了。


2.资源解包类  CQuartzFileUnZip
-------------------------------------------------------------------------------
利用这个库,可以对*.QFT文件内部的数据进行读写。这个库的读写操作完全是在包内完成,而不用加压到临时目录,使用非常快捷,读写速度也很快。这个库现在还在测试当中,目前只提供了对Dx的纹理的直接读取;音乐文件和其他文件因为文件格式压缩解压等问题测试当中。
这个库首先需要通过bool OpenSourceFromFile(char* sname,char *pwd);函数打开资源文件,输入的参数分别是文件名和密码,如果没有设定密码可以不填pwd;如果打开文件出了问题返回失败;

接口函数bool GetTextureByName(char * sName,LPDIRECT3DTEXTURE9 &pTexture);可以读取这个包内的资源,第一个参数是资源名称,比如是map.png,第二个是返回值,返回的是获取的d3d纹理;

在程序中也可以动态获取当前文件信息,比如你已经忘记了自己资源包里面的文件名,可以调用
std::list m_lFile;
这个表中保存了所有的文件包内包含的文件信息

以下是在DX例题中 直接读取文件包内部文件获取的纹理资源渲染的一个翻滚的圆筒:

资源在我的共享里面有。

http://download.csdn.net/source/2298451

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值