From 9a17ee0e31c4ee4fbf75e5f1bc007a99bbe5ed4b Mon Sep 17 00:00:00 2001 From: metamuffin Date: Thu, 15 Aug 2024 01:35:46 +0200 Subject: pc: add username setting --- pixel-client/src/main.rs | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'pixel-client/src/main.rs') diff --git a/pixel-client/src/main.rs b/pixel-client/src/main.rs index 24421994..a073d0ed 100644 --- a/pixel-client/src/main.rs +++ b/pixel-client/src/main.rs @@ -16,7 +16,9 @@ */ #![feature(map_many_mut, path_add_extension)] +use anyhow::Result; use clap::{Parser, Subcommand}; +use config::Config; use game::Game; use hurrycurry_client_lib::network::sync::Network; use hurrycurry_protocol::glam::Vec2; @@ -57,10 +59,11 @@ pub enum State { Quit, } -fn main() { +fn main() -> Result<()> { env_logger::init_from_env("LOG"); let args = Args::parse(); + let mut config = Config::load()?; rustls::crypto::ring::default_provider() .install_default() @@ -93,6 +96,7 @@ fn main() { Action::Menu => State::MainMenu(MainMenu::new(renderer.atlas_layout())), Action::Join { server_address } => State::Ingame(Box::new(Game::new( Network::connect(&server_address).unwrap(), + &config, renderer.atlas_layout(), ))), }; @@ -108,24 +112,25 @@ fn main() { let keyboard = KeyboardState::new(&events); let mouse = MouseState::new(&events); - let dt = last_tick.elapsed().min(Duration::from_secs_f32(1. / 30.)); + let actual_dt = last_tick.elapsed(); + last_tick += actual_dt; + let dt = actual_dt.min(Duration::from_secs_f32(1. / 30.)); + let next = match &mut state { State::Ingame(x) => x.tick(dt.as_secs_f32(), &keyboard, renderer.atlas_layout()), State::MainMenu(x) => { x.tick(dt.as_secs_f32(), &keyboard, &mouse, renderer.atlas_layout()) } - State::Quit => break, + State::Quit => break Ok(()), }; if let Some(next) = next { state = *next; } - last_tick += dt; - renderer.set_ui_view(4.); match &mut state { State::Ingame(x) => x.draw(&mut renderer), - State::MainMenu(x) => x.draw(&mut renderer), + State::MainMenu(x) => x.draw(&mut renderer, &mut config), State::Quit => (), } @@ -137,7 +142,7 @@ fn main() { for event in events.poll_iter() { match event { - Event::Quit { .. } => break 'mainloop, + Event::Quit { .. } => break 'mainloop Ok(()), Event::KeyUp { keycode: Some(keycode), .. -- cgit v1.2.3-70-g09d2