#![feature(iter_array_chunks)] pub mod download; pub mod network; pub mod renderer; pub mod scene_prepare; pub mod scene_render; pub mod state; pub mod window; pub mod camera; // pub mod ui; use anyhow::Result; use clap::Parser; use log::info; use rand::random; use std::{ io::Write, net::{SocketAddr, TcpStream}, }; use weareshared::packets::{Packet, ReadWrite}; use window::WindowState; use winit::event_loop::EventLoop; #[derive(Parser)] struct Args { address: SocketAddr, } fn main() -> Result<()> { env_logger::init_from_env("LOG"); let args = Args::parse(); info!("connecting..."); let mut sock = TcpStream::connect(args.address)?; Packet::Connect(random()).write(&mut sock)?; sock.flush()?; info!("connection established"); let evloop = EventLoop::new()?; evloop.run_app(&mut WindowState::new(sock))?; Ok(()) }