2 个不稳定版本
0.2.0 | 2022年8月15日 |
---|---|
0.1.0 | 2022年8月12日 |
#1992 in 解析器实现
81KB
700 行
Osu! 回放解析器,用于 Rust
该项目目前处于早期开发阶段。
如果在使用库时遇到任何问题,请 打开一个 issue。
一个 Rust 库,用于读取、解析和写入 Osu! 得分回放文件中的数据,以便在 Rust 项目中轻松操作回放。
该库是根据 Osu! 官方维基上解释的回放文件结构制作的 (https://osu.ppy.sh/wiki/en/Client/File_formats/Osr_%28file_format%29)。
用法
从文件路径解析回放
use osr_parser::Replay;
fn main() {
let replay_path = Path::from("./assets/examples/replay-test.osr");
let replay: Replay = Replay::open(&replay_path).unwrap();
let player_name: String = replay.player_name;
let is_a_full_combo: bool = replay.is_full_combo;
let miss_count: u16 = replay.number_misses;
let first_frame: ReplayFrame = replay.replay_data.frames[0];
}
从回放数据结构写入回放文件
use osr_parser::Replay;
fn main() {
let replay_path = Path::from("./assets/examples/replay-test.osr");
let replay: Replay = Replay::open(&replay_path).unwrap();
let player_name: String = "New Player Name";
replay.save("updated-replay.osr").unwrap();
}
依赖关系
~2.6–3.5MB
~70K SLoC