diff options
author | metamuffin <metamuffin@disroot.org> | 2024-06-27 12:02:47 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-06-27 12:02:47 +0200 |
commit | 9b48102c5f8e16c43e9f26d95cbb65eb066ab842 (patch) | |
tree | dfbb5cfc90d5bd472342ebeba7009bea4fa48b1c | |
parent | 7df63d3b92d552d9c51f718307e52a681cc827ac (diff) | |
download | hurrycurry-9b48102c5f8e16c43e9f26d95cbb65eb066ab842.tar hurrycurry-9b48102c5f8e16c43e9f26d95cbb65eb066ab842.tar.bz2 hurrycurry-9b48102c5f8e16c43e9f26d95cbb65eb066ab842.tar.zst |
change cli to supply data dir path
-rw-r--r-- | server/src/main.rs | 23 | ||||
-rw-r--r-- | test-client/main.ts | 2 |
2 files changed, 17 insertions, 8 deletions
diff --git a/server/src/main.rs b/server/src/main.rs index db667779..5b191365 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -16,9 +16,10 @@ */ use anyhow::{anyhow, Result}; +use clap::Parser; use futures_util::{SinkExt, StreamExt}; use log::{debug, info, warn, LevelFilter}; -use std::{env::args, path::PathBuf, process::exit, str::FromStr, sync::Arc, time::Duration}; +use std::{path::PathBuf, process::exit, str::FromStr, sync::Arc, time::Duration}; use tokio::{ net::TcpListener, spawn, @@ -32,25 +33,33 @@ use undercooked::{ state::State, }; +#[derive(Parser)] +struct Args { + #[arg(short, long)] + version: bool, + #[arg(short, long, default_value = "./data")] + data_dir: PathBuf, +} + fn main() -> Result<()> { env_logger::builder() .filter_level(LevelFilter::Info) .parse_env("LOG") .init(); - if let Some(arg) = args().nth(1) { - match arg.as_str() { - "version" => println!("{}", env!("CARGO_PKG_VERSION")), - _ => panic!("unknown subcommand"), - } + let args = Args::parse(); + + if args.version { + println!("{}", env!("CARGO_PKG_VERSION")); exit(0); } let data_dir = PathBuf::from_str( [ + args.data_dir.to_str().unwrap(), "/usr/local/share/undercooked/data", "/usr/share/undercooked/data", - "./data", + "/opt/undercooked/data", ] .into_iter() .find(|p| PathBuf::from_str(p).unwrap().join("index.yaml").exists()) diff --git a/test-client/main.ts b/test-client/main.ts index a572614b..4d1e9c53 100644 --- a/test-client/main.ts +++ b/test-client/main.ts @@ -19,7 +19,7 @@ import { MovementBase, update_movement } from "./movement.ts"; import { Gamedata, ItemIndex, Message, PacketC, PacketS, PlayerID, TileIndex } from "./protocol.ts"; -import { V2, add_v2, lerp_exp_v2_mut, normalize, lerp_exp, sub_v2, length } from "./util.ts"; +import { V2, add_v2, lerp_exp_v2_mut, normalize, lerp_exp } from "./util.ts"; import { draw_ingame, draw_wait } from "./visual.ts"; const KEY_INTERACT = "KeyJ" |