Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ace4896/osu-db-viewer

A small app for viewing the contents of osu!stable's database files.
https://github.com/ace4896/osu-db-viewer

egui osu rust

Last synced: about 1 month ago
JSON representation

A small app for viewing the contents of osu!stable's database files.

Awesome Lists containing this project

README

        

# osu! Database Viewer

A small app for viewing the contents of osu!stable's database files. It is capable of viewing:

- `osu.db` - Information about installed beatmaps
- `collection.db` - Information about beatmap collections
- `scores.db` - Information about scores achieved locally

The formats for each database are described in more detail on the [osu! wiki](https://github.com/ppy/osu/wiki/Legacy-database-file-structure).

## Requirements

To run the app natively, the following needs to be setup:

- Stable Rust (tested on 1.83.0)
- [eframe Dependencies](https://github.com/emilk/eframe_template#testing-locally)

When building for WASM, a few extra things are also needed:

- Add the WASM target: `rustup target add wasm32-unknown-unknown`
- [Trunk](https://trunkrs.dev/)

If you're using [Nix](https://nixos.org/), a [`shell.nix`](./shell.nix) environment is provided - just run `nix-shell` to quickly get started.

# Development Usage

The app is split into two crates:

- [`parser`](./parser): A parsing library for the osu! database file formats
- [`viewer`](./viewer): The database viewing app

Use one of the following commands to run the app:

```bash
# Run the app natively
cargo run # Debug
cargo run --release # Release

# Build and serve the app for WASM
# The compiled output can be found in ./viewer/dist
# The app can be viewed at http://127.0.0.1:8080
trunk serve ./viewer/index.html # Debug
trunk serve --release ./viewer/index.html # Release
```