#format #parser #rhythm #serialization #sm #folder #msd

nightly rg_formats

Parsers and Serializers for various rhythm game formats

3 releases

0.1.2 Sep 7, 2023
0.1.1 Sep 7, 2023
0.1.0 Sep 7, 2023

#1876 in Parser implementations

MIT license

51KB
1.5K SLoC

RG Formats

This crate provides parsers and serializers for various rhythm game formats.

At the moment, only two formats are supported:

  • sm, for processing .sm files
  • sm_msd, for processing .msd files, which underpin both the .sm and .ssc formats.

Documentation

Documentation can be found on [docs-rs].

Example Usage

Examples are included in the examples/ folder.


lib.rs:

Rhythm Game Formats

githubcrates-iodocs-rs

Various processors for various rhythm game formats.

These are the currently available modules:

  • [sm] for parsing .sm files.
  • sm_msd for parsing .msd files, or generally working with the raw underpinnings of the .sm and .ssc formats.

Clicking on either of these modules will tell you more.

Usage

let sm_charts = rg_formats::sm::from_path("my_sm_file.sm")
    // an outer io::Error<> indicates whether the file could be read
    .expect("failed to open file")
    // the inner error indicates whether the contents of the file were valid SM.
    .expect("sm file was invalid");

Dependencies

~3–4.5MB
~79K SLoC