rpgmv_tool/
main.rs

1mod command;
2
3#[derive(Debug, argh::FromArgs)]
4#[argh(description = "a CLI tool with utilities to make interacting with rpgmv games easier")]
5struct Options {
6    #[argh(subcommand)]
7    subcommand: SubCommand,
8}
9
10#[derive(Debug, argh::FromArgs)]
11#[argh(subcommand)]
12enum SubCommand {
13    Decrypt(self::command::decrypt::Options),
14    Commands2Py(self::command::commands2py::Options),
15    EncryptPng(self::command::encrypt_png::Options),
16}
17
18fn main() -> anyhow::Result<()> {
19    let options: Options = argh::from_env();
20
21    match options.subcommand {
22        SubCommand::Decrypt(options) => self::command::decrypt::exec(options)?,
23        SubCommand::Commands2Py(options) => self::command::commands2py::exec(options)?,
24        SubCommand::EncryptPng(options) => self::command::encrypt_png::exec(options)?,
25    }
26
27    Ok(())
28}