diff options
| -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" | 
