1 个不稳定版本
使用旧的Rust 2015
0.1.0 | 2016年11月7日 |
---|
#2 in #adrift
26KB
134 行
blorb-rs
用于在Rust中使用blorb文件的库
描述
此库是Blorb 2.0.4规范的实现。规范可以在以下网址找到。此存储库顶层也包含规范的副本。
Blorbs是用于互动小说(IF)的资源文件类型。它们将图像、文本、声音和其他资源以及可执行代码捆绑在一起,供IF解释器使用。
此库提供了对blorb和blorb文件类型的访问。它提供结构来检查blorb的内容并以逻辑方式处理它们。此外,它还提供了一个懒加载接口,允许解释器在不将整个内容加载到内存的情况下使用blorb。
用法
此库提供了三种主要的blorb文件类型接口。
- Blorb阅读器
- 提供方法将blorb文件加载到内存中,并以结构化格式进行操作。
- 待办:尚未实现。
- Blorb写入器
- 提供方法将blorb结构转换为blorb文件。
- 待办:尚未实现。
- Blorb光标
- 提供以懒加载方式访问blorb资源的方法。
Blorb光标
blorb光标由Blorb
结构实现。要创建一个Blorb
,请使用Blorb<R: Read + Seek>::from_file(file: R)
函数。该函数构建一个Blorb
对象,该对象管理移动的文件。
构建的Blorb
对象会进行一些基本的blorb文件验证,并从文件中加载资源索引和其他blorb元数据。它提供了一个Blorb::load_resource(usize)
方法,该方法可以用来懒加载blorb资源,如图像或声音。
如果blorb包含可执行资源,它将返回调用Blorb::load_resource(0)
的结果。调用此方法返回的值是Chunk
枚举的变体,允许通过match
语句处理加载的资源。
构建说明
可以使用稳定的Rust 1.12.1和更高版本构建Blorb crate。
要构建,请运行以下命令
cargobuild
在合并任何更改之前,应进行以下检查
- 运行
cargo build
并验证完成且无任何警告 - 运行
cargo test
并验证完成且无任何警告或测试失败 - 运行
cargo doc
并验证完成且无任何问题 - 运行
rustup run nightly cargo build
并验证完成且无任何警告 - 运行
rustup run nightly cargo test
并验证完成且无任何警告或测试失败 - 运行
rustup run nightly cargo doc
并验证完成且无任何问题 - 运行
rustup run nightly cargo clippy
并验证完成且无任何警告
依赖项
~165KB