`
izuoyan
  • 浏览: 9223534 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

MPQ 文件系统完成

阅读更多

基于StormLib, 参考N3的ZipFileSystem实现了一个MpqFileSystem

有一点要注意, 文件路径里不能用'/', 都要用'\\' @_@

mpq文件包里的文件是不保存文件名(或目录名)的, 也就是说打包后的文件是不可逆的. 但是在每个文件包的根目录下都有一个(listfile)文件, 里面包含了文件包中的文件名列表

(为什么listfile文件最后有一段空字符串呢???)

没有去实现写入的功能, 虽然StormLib可以添加文件, 不过对于游戏只需要读就可以了

mpq有一点比zip有优势, 那就是可以进行Seek...这样就支持流式的文件加载了.

而且对于wav可以采用特殊的压缩算法来增大压缩率. 不过我对wav没好印象的说...

用XACT可以播放xWMA, 用DirectShow可以播放WMV(我晕, 我怎么又跟着M$混了. 没办法啊, 谁叫fmod之类的商用收费来着)

嗯...写完记得要测试.....(BOSS说这才是专业的一种表现-_-)


嗯, 为了比较方便, 把文件名都转换成小写了....不过linux下不是大小写区分的么, 那linux程序员写的打包程序会不会也区别文件名的大小写, HOHO~

分享到:
评论

相关推荐

    易语言MPQ文件操作模块源码及调用例程

    4. 关闭文件:完成操作后,必须关闭MPQ文件以释放系统资源。 5. 错误处理:在操作过程中,应正确处理可能出现的错误,如文件不存在、权限不足等。 调用例程是使用该模块的示例代码,通过阅读和理解例程,开发者可以...

    易语言源码MPQ文件操作源码.rar

    《易语言MPQ文件操作源码详解》 在IT领域,MPQ文件是暴雪娱乐公司为他们的游戏如《魔兽争霸》、《星际争霸》等所使用的资源打包格式。这种文件格式有效地压缩和管理了大量的游戏资源,如图像、音频、地图等。而...

    易语言MPQ文件操作源码.zip易语言项目例子源码下载

    6. **文件关闭**:完成操作后,需要正确关闭MPQ文件以释放系统资源。 这个源码对于以下几类人群特别有价值: 1. **初学者**:易语言MPQ文件操作源码为初学者提供了一个实际项目学习的平台,有助于他们理解易语言的...

    易语言War3 MPQ操作.zip易语言项目例子源码下载

    这个"易语言War3 MPQ操作.zip"压缩包包含了使用易语言进行魔兽争霸3(Warcraft III)MPQ文件操作的项目源码示例。MPQ(MoPaQ)是暴雪娱乐为游戏资源打包而使用的文件格式,常用于存储游戏地图、音效、图像等数据。 ...

    mpqEdit 32位

    通过“打开”功能选择需要处理的MPQ文件,然后在文件列表中选择目标资源,点击“提取”按钮即可完成。此外,MPQEdit还支持批量处理,对于需要处理大量资源的情况,大大提升了工作效率。 MPQEditor.exe是程序的主...

    魔兽世界模型

    《魔兽世界》使用的是自家开发的引擎,模型数据经过优化后,与游戏的渲染系统、物理引擎和碰撞检测系统相结合,形成玩家在游戏中看到的最终效果。 6. **版权与使用规范**:值得注意的是,"魔兽世界模型"作为官方...

    背单词制作软件源代码(使用C++和SQL数据库编写)

    回车换行后,是音标(或拼音)及解释等内容,内容整理完成后用写字板保存成Unicode格式的文本文件,如果需要把单词分成一些单元来背,就在要分单元的单词前再加一个@符号(如果不自己分单元,则无需添加@,系统会自动...

    OPPO R11 R11plus官方专用线刷包下载连接和解锁密码屏幕锁指纹数字锁包及教程

    解压后,你会看到一个包含各种文件和资料的文件夹,其中可能包括刷机工具(如SP Flash Tool或Odin)、驱动程序、固件文件(通常为.MPQ或.PAR2格式)、以及详细的刷机教程文档。 在开始刷机前,确保你的OPPO R11或...

    WDBXEditor:一个公共程序,用于编辑暴雪的客户端数据库文件的所有变体

    像其他编辑器一样,我使用了基于定义的系统,通过该系统定义可以告诉编辑器如何解释每个文件的列-这比猜测列类型要可靠得多,但这确实意味着必须维护定义。 到目前为止,我已经映射了几乎所有扩展,其中MoP已完成〜...

    windowsu7解决星际争霸IPX问题

    5. `Patch_rt.mpq`:游戏补丁文件,可能包含对原游戏文件的更新和修正。 6. `battle.snp`、`standard.snp`:这些是游戏的SNP(Scenario Package)文件,包含了游戏的各种设定和数据。 7. `patch.txt`:补丁说明文件...

    魔兽争霸平台地图内装备ID提取工具

    2. **解析地图数据**:工具会读取地图文件,并解析其中包含的装备信息,这涉及到对Warcraft III的文件格式有深入理解,包括MPQ档案系统和Blizzard Entertainment使用的专有文件结构。 3. **提取装备ID**:解析完成...

    IMB_PowerHA_7.1

    在实际配置过程中,如创建一个新的双节点PowerHA 7.1集群,`clmgr`命令集可以简化许多步骤,但需要注意的是,诸如网络配置、共享VG设置等基础环境准备工作,`clmgr`并不直接支持,仍需使用传统方法完成。在实验环境...

    ShadowEditor Ver 0.12

    由于没有更多关于压缩包内文件的信息,我们无法详细讨论其具体功能和使用方法。但总体来说,了解并熟悉这样的工具对于IT专业人士,尤其是开发者而言,是非常有价值的,因为它可以帮助他们更有效地完成工作。如果需要...

    BGA-253AMZ-1.27-001S-01 5C-042-267-01-A-12.pdf

    文档"USB249XX AE TemplatePN:UNG8XXXX"是一个关于...综上所述,这个设计文件详细介绍了基于Microchip USB249xx的系统设计,涵盖了USB接口、电源管理、数据存储和通信接口等多个方面,提供了丰富的硬件集成方案。

    device_xiaomi_sweet-kernel:预先构建好的内核

    3. **编译内核**:配置完成后,通过运行`make`命令,编译器会根据Makefile中的规则处理源代码,生成相应的内核二进制文件。 4. **编译模块**:如果有额外的驱动模块,还需要运行`make modules`来编译这些模块。 5....

    开源的魔兽世界参考架构——mangos

    - mpq文件包提取工具MPQE_1.2。 **2. 安装过程** - 下载并安装所需的软件和工具。 - 使用ad.exe和MPQE_1.2提取必要的地图文件。 - 配置mangos服务器端设置,包括数据库连接信息、网络参数等。 - 启动服务器,并进行...

    gmp 英文(english)简介(introduction)

    - **初始化与赋值组合函数**:如 `mpz_set_ui()` 同时完成初始化和赋值操作。 - **转换函数**:如 `mpz_get_str()`, `mpz_set_str()` 实现字符串与整数之间的转换。 - **算术函数**:如加法 `mpz_add()`, 乘法 `mpz_...

    gmp-man-4.2.2.pdf

    - **组合初始化与赋值函数**:同时完成初始化和赋值操作。 - **转换函数**:将其他数据类型转换为多精度整数或反之。 - **算术函数**:执行基本的算术运算,如加法、减法、乘法和除法。 - **比较函数**:比较两个...

    gmp6.1.2最新文档

    - **组合初始化和赋值函数**:同时完成初始化和赋值操作。 - **转换函数**:将数据从一种格式转换为另一种。 - **算术函数**:包括加法、减法、乘法等基本运算。 - **除法函数**:处理整数除法和余数。 - **指数函数...

Global site tag (gtag.js) - Google Analytics