From 00393490a0532a83792519fb9aaba8561ee1a6df Mon Sep 17 00:00:00 2001 From: Rhys Lloyd Date: Sat, 28 Feb 2026 17:58:58 -0800 Subject: [PATCH] surface errors in setup_graphics --- Cargo.lock | 4 ++-- Cargo.toml | 2 +- native-player/src/setup.rs | 4 ++-- wasm-module/src/lib.rs | 32 ++++++++++++++++---------------- 4 files changed, 21 insertions(+), 21 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c7fad88..8a5a44d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1647,9 +1647,9 @@ dependencies = [ [[package]] name = "strafesnet_graphics" -version = "0.0.3" +version = "0.0.4" source = "sparse+https://git.itzana.me/api/packages/strafesnet/cargo/" -checksum = "2ec11ef0dfd8d4062c263e8578c2a7ecc429de47a4a9071d6e106c3108082ac4" +checksum = "8038bd935b56c72d534c792bc684dba22a32615a2a7adf81c09b0333962b11a6" dependencies = [ "bytemuck", "ddsfile", diff --git a/Cargo.toml b/Cargo.toml index 988b334..7f89482 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -15,6 +15,6 @@ codegen-units = 1 glam = "0.32.0" strafesnet_common = { version = "0.8.6", registry = "strafesnet" } -strafesnet_graphics = { version = "0.0.3", registry = "strafesnet" } +strafesnet_graphics = { version = "0.0.4", registry = "strafesnet" } strafesnet_roblox_bot_file = { version = "0.9.3", registry = "strafesnet" } strafesnet_snf = { version = "0.3.2", registry = "strafesnet" } diff --git a/native-player/src/setup.rs b/native-player/src/setup.rs index f4fe81c..584fc49 100644 --- a/native-player/src/setup.rs +++ b/native-player/src/setup.rs @@ -19,10 +19,10 @@ pub async fn setup_and_start(title:&str){ let adapter=setup::step3::pick_adapter(&instance,&surface).await.expect("No suitable GPU adapters found on the system!"); - let (device,queue)=setup::step4::request_device(&adapter).await; + let (device,queue)=setup::step4::request_device(&adapter).await.unwrap(); let size=window.inner_size(); - let config=setup::step5::configure_surface(&adapter,&device,&surface,(size.width,size.height)); + let config=setup::step5::configure_surface(&adapter,&device,&surface,(size.width,size.height)).unwrap(); //dedicated thread to ping request redraw back and resize the window doesn't seem logical diff --git a/wasm-module/src/lib.rs b/wasm-module/src/lib.rs index 416464b..ae35741 100644 --- a/wasm-module/src/lib.rs +++ b/wasm-module/src/lib.rs @@ -1,5 +1,5 @@ use wasm_bindgen::prelude::wasm_bindgen; -use wasm_bindgen::JsValue; +use wasm_bindgen::JsError; use strafesnet_roblox_bot_file::v0; use strafesnet_roblox_bot_player::{bot,head,time,graphics}; use strafesnet_graphics::setup; @@ -25,18 +25,18 @@ pub struct Graphics{ surface:wgpu::Surface<'static>, } #[wasm_bindgen] -pub async fn setup_graphics(canvas:web_sys::HtmlCanvasElement)->Graphics{ +pub async fn setup_graphics(canvas:web_sys::HtmlCanvasElement)->Result{ let size=(canvas.width(),canvas.height()); let instance=setup::step1::create_instance(); - let surface=setup::step2::create_surface(&instance,ToSurfaceTarget(canvas)).unwrap(); - let adapter=setup::step3::pick_adapter(&instance,&surface).await.expect("No suitable GPU adapters found on the system!"); - let (device,queue)=setup::step4::request_device(&adapter).await; - let config=setup::step5::configure_surface(&adapter,&device,&surface,size); - Graphics{ + let surface=setup::step2::create_surface(&instance,ToSurfaceTarget(canvas)).map_err(|e|JsError::new(&e.to_string()))?; + let adapter=setup::step3::pick_adapter(&instance,&surface).await.ok_or_else(||JsError::new("No suitable GPU adapters found on the system!"))?; + let (device,queue)=setup::step4::request_device(&adapter).await.map_err(|e|JsError::new(&e.to_string()))?; + let config=setup::step5::configure_surface(&adapter,&device,&surface,size).map_err(|e|JsError::new(&e.to_string()))?; + Ok(Graphics{ graphics:graphics::Graphics::new(device,queue,config), surface:surface, - } + }) } #[wasm_bindgen] impl Graphics{ @@ -63,8 +63,8 @@ pub struct CompleteBot{ #[wasm_bindgen] impl CompleteBot{ #[wasm_bindgen(constructor)] - pub fn new(data:&[u8])->Result{ - let timelines=v0::read_all_to_block(std::io::Cursor::new(data)).map_err(|e|JsValue::from_str(&e.to_string()))?; + pub fn new(data:&[u8])->Result{ + let timelines=v0::read_all_to_block(std::io::Cursor::new(data)).map_err(|e|JsError::new(&e.to_string()))?; Ok(Self{ bot:bot::CompleteBot::new(timelines), }) @@ -87,11 +87,11 @@ pub struct CompleteMap{ #[wasm_bindgen] impl CompleteMap{ #[wasm_bindgen(constructor)] - pub fn new(data:&[u8])->Result{ + pub fn new(data:&[u8])->Result{ let map=strafesnet_snf::read_map(std::io::Cursor::new(data)) - .map_err(|e|JsValue::from_str(&e.to_string()))? + .map_err(|e|JsError::new(&e.to_string()))? .into_complete_map() - .map_err(|e|JsValue::from_str(&e.to_string()))?; + .map_err(|e|JsError::new(&e.to_string()))?; Ok(Self{ map, }) @@ -105,11 +105,11 @@ pub struct PlaybackHead{ #[wasm_bindgen] impl PlaybackHead{ #[wasm_bindgen(constructor)] - pub fn new(bot:&CompleteBot,time:f64)->Result{ + pub fn new(bot:&CompleteBot,time:f64)->Self{ let time=time::from_float(time).unwrap(); - Ok(Self{ + Self{ head:head::PlaybackHead::new(&bot.bot,time), - }) + } } #[wasm_bindgen] pub fn advance_time(&mut self,bot:&CompleteBot,time:f64){