Skip to content

massivebird/arcconfig

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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:

About

A library for interacting with my video game archive

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages