diff options
Diffstat (limited to 'server/replaytool/src/main.rs')
-rw-r--r-- | server/replaytool/src/main.rs | 45 |
1 files changed, 8 insertions, 37 deletions
diff --git a/server/replaytool/src/main.rs b/server/replaytool/src/main.rs index a9032a61..1e5be601 100644 --- a/server/replaytool/src/main.rs +++ b/server/replaytool/src/main.rs @@ -21,7 +21,11 @@ pub mod record; pub mod render; pub mod replay; -use crate::{record::record, render::render, replay::replay}; +use crate::{ + record::record, + render::{render, RenderArgs}, + replay::replay, +}; use clap::Parser; use hurrycurry_protocol::PacketC; use log::{info, warn, LevelFilter}; @@ -45,23 +49,7 @@ enum Args { /// Starts a local server that replays previously recorded sessions Replay { input: PathBuf }, /// Runs a replay server and the client in movie mode to record that replay - Render { - /// Replay file path - input: PathBuf, - /// Output video file path passed to godot (must end in either .avi for MJPEG or .png for PNG sequence) - output: PathBuf, - #[arg(short = 'r', long, default_value = "30")] - framerate: usize, - /// Render without display server; Requires wlheadless-run and mutter - #[arg(short = 'H', long)] - headless: bool, - #[arg(long, default_value = "wayland")] - video_driver: String, - #[arg(long, default_value = "vulkan")] - rendering_driver: String, - #[arg(long, default_value = "mutter")] - headless_compositor: String, - }, + Render(#[command(flatten)] RenderArgs), } #[derive(Serialize, Deserialize)] @@ -118,25 +106,8 @@ async fn main() -> anyhow::Result<()> { replay(&ws_listener, &input).await?; } } - Args::Render { - input, - output, - framerate, - headless, - rendering_driver, - headless_compositor, - video_driver, - } => { - render( - &input, - &output, - framerate, - headless, - &rendering_driver, - &video_driver, - &headless_compositor, - ) - .await?; + Args::Render(a) => { + render(a).await?; } } Ok(()) |