aboutsummaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2022-10-17 21:11:40 +0200
committermetamuffin <metamuffin@disroot.org>2022-10-17 21:11:40 +0200
commitbcfc5827a949172aedbd6c7cd1881a47db42c46d (patch)
treea2108ffcc669059826a0828ee1fe0a703225a04a /src/main.rs
parentfd1ce9167662f37880b40e8eab4c125c7f2b2b6a (diff)
downloadtrash-map-bcfc5827a949172aedbd6c7cd1881a47db42c46d.tar
trash-map-bcfc5827a949172aedbd6c7cd1881a47db42c46d.tar.bz2
trash-map-bcfc5827a949172aedbd6c7cd1881a47db42c46d.tar.zst
start with http
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs37
1 files changed, 26 insertions, 11 deletions
diff --git a/src/main.rs b/src/main.rs
index 9757748..ce1906e 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,9 +1,28 @@
pub mod dimension;
pub mod render;
+pub mod viewer;
-use crate::dimension::Dimension;
-use log::info;
-use render::Renderer;
+use clap::{Parser, Subcommand};
+use std::{net::SocketAddr, path::PathBuf};
+use viewer::serve_http;
+
+#[derive(Parser)]
+struct Args {
+ /// Dimension directory containing .mca files
+ #[clap(long, short, default_value = "./world/region")]
+ dimension: PathBuf,
+
+ #[clap(subcommand)]
+ action: Action,
+}
+#[derive(Subcommand)]
+enum Action {
+ /// Run a http server providing an interactive map viewer.
+ Serve {
+ #[arg(long, short, default_value = "127.0.0.1:8080")]
+ bind: SocketAddr,
+ },
+}
fn main() {
env_logger::builder()
@@ -11,13 +30,9 @@ fn main() {
.parse_env("LOG")
.init();
- let dim = Dimension::new("/home/muffin/containers/games/home/user/server/world/region/");
- let renderer = Renderer::new(dim);
- for sx in 0..2 {
- for sy in 0..2 {
- let view = renderer.render_segment(sx, sy);
- info!("saving png");
- view.save(format!("/tmp/seg.{sx}.{sy}.png")).unwrap();
- }
+ let args = Args::parse();
+
+ match args.action {
+ Action::Serve { bind } => serve_http(bind),
}
}