use bedrock_pc::*; use phosphor::*; fn main() { let bytecode = include_bytes!("cobalt.br"); let metadata = parse_metadata(bytecode); let config = EmulatorConfig { dimensions: ScreenDimensions::new(1024,720) / 3, fullscreen: false, scale: 3, debug_palette: None, show_cursor: false, initial_transmission: None, decode_stdin: false, encode_stdout: false, symbols_path: None, }; if let Ok(mut phosphor) = Phosphor::new() { let mut graphical = GraphicalEmulator::new(&config, false); graphical.load_program(bytecode); let program_name = match &metadata { Some(metadata) => match &metadata.name { Some(name) => name.to_string(), None => String::from("Bedrock"), } None => String::from("Bedrock"), }; let window = WindowBuilder { dimensions: Some(graphical.dimensions()), size_bounds: Some(graphical.size_bounds()), fullscreen: graphical.fullscreen, scale: graphical.scale, title: Some(program_name), cursor: None, icon: None, program: Box::new(graphical), }; phosphor.create_window(window); phosphor.run().unwrap(); } else { eprintln!("Could not create program window.") } }