From b910be9610e484155d0a76de4d0ad4322da0e729 Mon Sep 17 00:00:00 2001 From: Nova Date: Fri, 8 Jul 2022 22:01:06 -0400 Subject: [PATCH] fix(stereokit): upgrade --- src/main.rs | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/src/main.rs b/src/main.rs index c6b4d9c..81df726 100644 --- a/src/main.rs +++ b/src/main.rs @@ -2,17 +2,33 @@ mod core; mod nodes; use self::core::eventloop::EventLoop; +use anyhow::{ensure, Result}; +use clap::Parser; +use stereokit_rs::enums::DisplayMode; use stereokit_rs::functions::*; -fn main() { +#[derive(Parser)] +#[clap(author, version, about, long_about = None)] +struct CliArgs { + /// Force flatscreen mode and use the mouse pointer as a 3D pointer + #[clap(short, action)] + flatscreen: bool, +} + +fn main() -> Result<()> { + let cli_args = CliArgs::parse(); ctrlc::set_handler(|| sk_quit()).expect("Error setting Ctrl-C handler"); - SKSettings::default().app_name("Stardust XR").init(); + let mut init_settings = SKSettings::default().app_name("Stardust XR"); + if cli_args.flatscreen { + init_settings = init_settings.display_preference(DisplayMode::Flatscreen); + } + ensure!(init_settings.init(), "StereoKit failed to initialize"); let event_loop = EventLoop::new(None).expect("Couldn't create server socket"); println!("Stardust socket created at {}", event_loop.socket_path); - sk_run_data( + sk_run( &mut Box::new(&mut || { // println!("hii uwu"); }), @@ -21,5 +37,5 @@ fn main() { }), ); - sk_shutdown(); + Ok(()) }