#osu #decode #storyboard #parse #parser

rosu-storyboard

用于解码和编码 osu! storyboards 的库

2 个版本

0.1.1 2024 年 3 月 11 日
0.1.0 2024 年 2 月 27 日

#1488 in 解析器实现

MIT 许可证

79KB
2K SLoC

crates.io docs

rosu-storyboard

用于解码和编码 osu! storyboards 的库。

使用方法

基于 rosu-mapDecodeBeatmap 特性,Storyboard 结构体提供了一种解码 .osu.osb 文件的方法。

use rosu_storyboard::Storyboard;
use rosu_storyboard::element::ElementKind;

let path = "./resources/Himeringo - Yotsuya-san ni Yoroshiku (RLC) [Winber1's Extreme].osu";
let storyboard = Storyboard::from_path(path).unwrap();

let first_bg_elem = &storyboard.layers["Background"].elements[0];
assert!(matches!(first_bg_elem.kind, ElementKind::Sprite(_)));

lib.rs:

用于解码和编码 osu! storyboards 的库。

使用方法

基于 rosu-mapDecodeBeatmap 特性,Storyboard 结构体提供了一种解码 .osu.osb 文件的方法。

use rosu_storyboard::Storyboard;
use rosu_storyboard::element::ElementKind;

let path = "./resources/Himeringo - Yotsuya-san ni Yoroshiku (RLC) [Winber1's Extreme].osu";
let storyboard = Storyboard::from_path(path).unwrap();

let first_bg_elem = &storyboard.layers["Background"].elements[0];
assert!(matches!(first_bg_elem.kind, ElementKind::Sprite(_)));

依赖

~240KB