#archive #resources #package #archive-format #assets #filesize

respk

使用快速、定制的开放格式管理资源文件,特别适用于游戏

3 个版本

使用旧的 Rust 2015

0.1.2 2018 年 8 月 30 日
0.1.1 2017 年 7 月 17 日
0.1.0 2017 年 7 月 17 日

#503游戏

MIT 许可证

16KB
300

ResPK

ResPK 是一个快速、基于 SQLite 的开放存档格式,专门设计用于存储游戏资源。

Build Status Crates.io Documentation License

概述

ResPK (资源包) 是一种存档格式,用于将游戏资源,如数据文件、图像、声音、音乐和视频打包成更少的较大文件。将资源打包在一起可以提高性能,也使得分发和补丁更容易。

文件格式简单地是一个具有特定模式的 SQLite 数据库文件。SQLite 在这种情况下表现良好,因为它是一个易于使用许多工具查看的开放格式,提供对随机行的访问的高性能,并允许并发读取。仅是一个 SQLite 数据库还允许你将任何可能需要的自定义额外数据或元数据添加到自己的 ResPK 存档中,同时保持兼容性。

所有资源都使用出色的 LZ4 压缩算法进行独立压缩,该算法在极快速度下提供相当大的压缩量。虽然不如 ZLIB 或 LZMA 空间效率高,但 LZ4 的速度实际上超过了大多数存储设备的读取速度,这意味着由于读取减少,从磁盘读取 LZ4 压缩文件实际上比未压缩文件要快。

功能

  • 快速随机访问:从一开始就是为了提供极快的读取时间和随机访问而设计的。
  • 压缩:提供按文件压缩,以减少总体文件大小并提高速度。
  • 流式传输:可以使用即时解压缩从磁盘增量读取资源。
  • 轻量级:库包含最小依赖项以保持其轻量级。

安装

将此添加到您的 Cargo.toml 文件中

[dependencies]
respk = "0.1"

许可证

在 MIT 许可证下提供。有关更多信息,请参阅 LICENSE 文件。

依赖项

~22MB
~417K SLoC