kovaxis / osu-db

Reading and writing of osu! binary files: `osu!.db`, `collection.db`, `scores.db` and `.osr` replay files.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

osu-db

osu-db is an osu! binary file format encoder/decoder, providing support for loading, modifying and saving the following osu! file formats:

  • osu!.db: The main beatmap information cache osu! uses.
  • collection.db: A list of collections and the beatmaps they contain.
  • scores.db: Overview of all user scores.
  • .osr files: Individual in-depth score data of a single replay.

To use, simply add this line to your Cargo.toml:

osu-db = "0.2"

After that you will want to use the different load/save functions on the Listing (cached beatmap database), ScoreList (summary of all player scores), CollectionList (in-game beatmap collections) or Replay (a single in-depth standalone replay file).

For example, to change all of your osu!mania grades to 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();

More details in the crate documentation.

osu-db has been tested to work with osu!stable binaries of at least version 20201017.

About

Reading and writing of osu! binary files: `osu!.db`, `collection.db`, `scores.db` and `.osr` replay files.

License:The Unlicense


Languages

Language:Rust 100.0%