3 个版本 (重大更改)
0.3.0 | 2021年11月18日 |
---|---|
0.2.0 | 2020年10月30日 |
0.1.0 | 2019年1月29日 |
#1173 in 解析器实现
每月 51 次下载
用于 rosu-v2
57KB
1.5K SLoC
osu-db
osu-db
是一个 osu! 二进制文件格式编码/解码器,提供加载、修改和保存以下 osu! 文件格式的支持
osu!.db
:osu! 使用的主要 beatmap 信息缓存。collection.db
:包含的集合和 beatmap 列表。scores.db
:所有用户得分的概述。.osr
文件:单个回放的单个详细得分数据。
使用时,只需将此行添加到您的 Cargo.toml
osu-db = "0.3"
之后,您将想要使用 Listing
(缓存的 beatmap 数据库)、ScoreList
(所有玩家得分的摘要)、CollectionList
(游戏中的 beatmap 集合)或 Replay
(单个详细独立的回放文件)上的不同加载/保存函数。
例如,要将所有 osu!mania 评分更改为 SS+
use osu_db::listing::{Listing, Grade};
// Load the listing to memory
let mut listing = Listing::from_file("osu!.db").unwrap();
// Modify listing in-place
for beatmap in listing.beatmaps.iter_mut() {
beatmap.mania_grade = Grade::SSPlus;
}
// Save back to disk
listing.save("osu!.db").unwrap();
更多详细信息请参阅组件文档。
osu-db
已测试以支持至少版本 20211103
的 osu!stable
二进制文件,并可能支持较新的二进制文件。旧二进制文件受支持,可追溯到 2014 年,尽管这些不再进行测试,也不提供任何保证。
依赖关系
~1.8–2.6MB
~46K SLoC