diff --git a/lib/bsp_loader/src/bsp.rs b/lib/bsp_loader/src/bsp.rs index 13019edba..b20f50c3e 100644 --- a/lib/bsp_loader/src/bsp.rs +++ b/lib/bsp_loader/src/bsp.rs @@ -349,7 +349,7 @@ pub struct PartialMap1{ impl PartialMap1{ pub fn add_prop_meshes<'a>( self, - prop_meshes:Meshes, + prop_meshes:Meshes, )->PartialMap2{ PartialMap2{ attributes:self.attributes, diff --git a/lib/deferred_loader/src/deferred_loader.rs b/lib/deferred_loader/src/deferred_loader.rs index 488423064..5c7593b4e 100644 --- a/lib/deferred_loader/src/deferred_loader.rs +++ b/lib/deferred_loader/src/deferred_loader.rs @@ -2,7 +2,7 @@ use std::collections::HashMap; use crate::loader::Loader; use crate::mesh::Meshes; use crate::texture::{RenderConfigs,Texture}; -use strafesnet_common::model::{Mesh,MeshId,RenderConfig,RenderConfigId,TextureId}; +use strafesnet_common::model::{MeshId,RenderConfig,RenderConfigId,TextureId}; #[derive(Clone,Copy,Debug)] pub enum LoadFailureMode{ @@ -93,7 +93,7 @@ impl MeshDeferredLoader{ pub fn into_indices(self)->impl Iterator{ self.mesh_id_from_asset_id.into_keys() } - pub fn into_meshes<'a,L:Loader=H>+'a>(self,loader:&mut L,failure_mode:LoadFailureMode)->Result{ + pub fn into_meshes<'a,M:Clone,L:Loader=H>+'a>(self,loader:&mut L,failure_mode:LoadFailureMode)->Result,L::Error>{ let mut mesh_list=vec![None;self.mesh_id_from_asset_id.len()]; for (index,mesh_id) in self.mesh_id_from_asset_id{ let resource_result=loader.load(index); diff --git a/lib/deferred_loader/src/mesh.rs b/lib/deferred_loader/src/mesh.rs index d6a0e5f7b..5d2794fe1 100644 --- a/lib/deferred_loader/src/mesh.rs +++ b/lib/deferred_loader/src/mesh.rs @@ -1,15 +1,15 @@ -use strafesnet_common::model::{Mesh,MeshId}; +use strafesnet_common::model::MeshId; -pub struct Meshes{ - meshes:Vec>, +pub struct Meshes{ + meshes:Vec>, } -impl Meshes{ - pub(crate) const fn new(meshes:Vec>)->Self{ +impl Meshes{ + pub(crate) const fn new(meshes:Vec>)->Self{ Self{ meshes, } } - pub fn consume(self)->impl Iterator{ + pub fn consume(self)->impl Iterator{ self.meshes.into_iter().enumerate().filter_map(|(mesh_id,maybe_mesh)| maybe_mesh.map(|mesh|(MeshId::new(mesh_id as u32),mesh)) )