aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--server/src/main.rs23
-rw-r--r--test-client/main.ts2
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"