print errors better
This commit is contained in:
parent
63526b7893
commit
ba341b05ae
@ -191,7 +191,7 @@ enum ExtractTextureError{
|
|||||||
#[error("Load VMT error {0:?}")]
|
#[error("Load VMT error {0:?}")]
|
||||||
LoadVMT(#[from]LoadVMTError),
|
LoadVMT(#[from]LoadVMTError),
|
||||||
}
|
}
|
||||||
async fn gimme_them_textures(path:PathBuf,vpk_list:&[vpk::VPK],send_texture:tokio::sync::mpsc::Sender<(Vec<u8>,String)>)->Result<(),ExtractTextureError>{
|
async fn gimme_them_textures(path:&Path,vpk_list:&[vpk::VPK],send_texture:tokio::sync::mpsc::Sender<(Vec<u8>,String)>)->Result<(),ExtractTextureError>{
|
||||||
let bsp=vbsp::Bsp::read(tokio::fs::read(path).await?.as_ref())?;
|
let bsp=vbsp::Bsp::read(tokio::fs::read(path).await?.as_ref())?;
|
||||||
let loader_bsp=strafesnet_bsp_loader::Bsp::new(bsp);
|
let loader_bsp=strafesnet_bsp_loader::Bsp::new(bsp);
|
||||||
let bsp=loader_bsp.as_ref();
|
let bsp=loader_bsp.as_ref();
|
||||||
@ -214,7 +214,13 @@ async fn gimme_them_textures(path:PathBuf,vpk_list:&[vpk::VPK],send_texture:toki
|
|||||||
let mut mesh_loader=strafesnet_bsp_loader::loader::ModelLoader::new(finder);
|
let mut mesh_loader=strafesnet_bsp_loader::loader::ModelLoader::new(finder);
|
||||||
// load models and collect requested textures
|
// load models and collect requested textures
|
||||||
for model_path in mesh_deferred_loader.into_indices(){
|
for model_path in mesh_deferred_loader.into_indices(){
|
||||||
let model:vmdl::Model=mesh_loader.load(model_path)?;
|
let model:vmdl::Model=match mesh_loader.load(model_path){
|
||||||
|
Ok(model)=>model,
|
||||||
|
Err(e)=>{
|
||||||
|
println!("Model={model_path} Load model error: {e}");
|
||||||
|
continue;
|
||||||
|
},
|
||||||
|
};
|
||||||
for texture in model.textures(){
|
for texture in model.textures(){
|
||||||
for search_path in &texture.search_paths{
|
for search_path in &texture.search_paths{
|
||||||
let mut path=PathBuf::from(search_path.as_str());
|
let mut path=PathBuf::from(search_path.as_str());
|
||||||
@ -231,7 +237,7 @@ async fn gimme_them_textures(path:PathBuf,vpk_list:&[vpk::VPK],send_texture:toki
|
|||||||
(texture.into_owned(),texture_path.into_owned())
|
(texture.into_owned(),texture_path.into_owned())
|
||||||
).await.unwrap(),
|
).await.unwrap(),
|
||||||
Ok(None)=>(),
|
Ok(None)=>(),
|
||||||
Err(e)=>println!("Load error: {e}"),
|
Err(e)=>println!("Texture={texture_path} Load error: {e}"),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -311,11 +317,11 @@ async fn extract_textures(paths:Vec<PathBuf>,vpk_paths:Vec<PathBuf>)->AResult<()
|
|||||||
while let (Ok(permit),Some(path))=(SEM.acquire().await,it.next()){
|
while let (Ok(permit),Some(path))=(SEM.acquire().await,it.next()){
|
||||||
let send=send_texture.clone();
|
let send=send_texture.clone();
|
||||||
tokio::spawn(async move{
|
tokio::spawn(async move{
|
||||||
let result=gimme_them_textures(path,vpk_list,send).await;
|
let result=gimme_them_textures(&path,vpk_list,send).await;
|
||||||
drop(permit);
|
drop(permit);
|
||||||
match result{
|
match result{
|
||||||
Ok(())=>(),
|
Ok(())=>(),
|
||||||
Err(e)=>println!("Decode error: {e:?}"),
|
Err(e)=>println!("Map={path:?} Decode error: {e:?}"),
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user