1 个不稳定版本

使用旧的Rust 2015

0.1.0 2016年11月7日

#2 in #adrift

MIT 许可证

26KB
134

blorb-rs

用于在Rust中使用blorb文件的库

描述

此库是Blorb 2.0.4规范的实现。规范可以在以下网址找到。此存储库顶层也包含规范的副本。

Blorbs是用于互动小说(IF)的资源文件类型。它们将图像、文本、声音和其他资源以及可执行代码捆绑在一起,供IF解释器使用。

此库提供了对blorb和blorb文件类型的访问。它提供结构来检查blorb的内容并以逻辑方式处理它们。此外,它还提供了一个懒加载接口,允许解释器在不将整个内容加载到内存的情况下使用blorb。

用法

此库提供了三种主要的blorb文件类型接口。

  1. Blorb阅读器
    • 提供方法将blorb文件加载到内存中,并以结构化格式进行操作。
    • 待办:尚未实现。
  2. Blorb写入器
    • 提供方法将blorb结构转换为blorb文件。
    • 待办:尚未实现。
  3. 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