arcconfig

Crates.ioarcconfig
lib.rsarcconfig
version0.3.1
sourcesrc
created_at2023-12-16 22:20:33.795759
updated_at2024-02-24 19:32:25.89015
descriptionFacilitates querying of digital video game archives
homepage
repositoryhttps://github.com/massivebird/arcconfig
max_upload_size
id1072026
size48,677
Garrett (massivebird)

documentation

README

arcconfig

short for "archive configuration"

Crate GitHub License

🦀 written in Rust

What is arcconfig?

Arcconfig is for people who collect catalogues — or "archives" — of games in the form of ROMs, ISOs, etc.

Arcconfig provides a layer of abstraction over your archive, allowing you to interact with it via Rust!

Arcconfig represents each game system in your archive as System instances, each of which contains data such as a display name and path (see: Customization). This allows you to write cool Rust projects such as:

How do I use it?

To use arcconfig in your own Rust project, you must first add it as a dependency.

One way you can do this according to crates.io is running this command in your project directory:

cargo add arcconfig

Customization

arcconfig::read_config parses a file called config.yaml located in your archive root. This function returns a collection of System instances based on that configuration!

For a quickstart on YAML syntax, click here.

Here is an example configuration:

# config.yaml
systems:
  ds: # system "label" — call it whatever you want!
    display_name: "DS"
    color: [135,215,255]
    path: "ds" # path relative to archive root
    games_are_directories: false # are games stored as directories?
  snes:
    display_name: "SNES"
    color: [95,0,255]
    path: "snes"
    games_are_directories: false
  wii:
    display_name: "WII"
    color: [0,215,255]
    path: "wbfs"
    games_are_directories: true

Feel free to use these System instances however you'd like!

Other arcosystem projects

Arcconfig belongs to a family of projects called the arcosystem!

See the projects that arcconfig makes possible:

Commit count: 23

cargo fmt