map-tool: handle error paths properly
This commit is contained in:
parent
e74535d91f
commit
a2a69c48d6
@ -178,25 +178,41 @@ fn load_texture<'bsp,'vpk,'a>(finder:BspFinder<'bsp,'vpk>,texture_name:&str)->Re
|
|||||||
// search for both vmt,vtf
|
// search for both vmt,vtf
|
||||||
let mut texture_file_name_vmt=texture_file_name.clone();
|
let mut texture_file_name_vmt=texture_file_name.clone();
|
||||||
texture_file_name_vmt.set_extension("vmt");
|
texture_file_name_vmt.set_extension("vmt");
|
||||||
let vmt_result=recursive_vmt_loader(finder,get_vmt(finder,texture_file_name_vmt.to_str().unwrap())?);
|
|
||||||
match vmt_result{
|
let get_vmt_result=get_vmt(finder,texture_file_name_vmt.to_str().unwrap());
|
||||||
Ok(Some(stuff))=>return Ok(Some(stuff)),
|
match get_vmt_result{
|
||||||
Ok(None)
|
Ok(material)=>{
|
||||||
|Err(LoadVMTError::NotFound)=>(),
|
let vmt_result=recursive_vmt_loader(finder,material);
|
||||||
|Err(LoadVMTError::GetVMT(GetVMTError::NotFound))=>(),
|
match vmt_result{
|
||||||
Err(e)=>return Err(e),
|
Ok(Some(stuff))=>return Ok(Some(stuff)),
|
||||||
|
Ok(None)
|
||||||
|
|Err(LoadVMTError::NotFound)=>(),
|
||||||
|
|Err(LoadVMTError::GetVMT(GetVMTError::NotFound))=>(),
|
||||||
|
Err(e)=>return Err(e),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|Err(GetVMTError::NotFound)=>(),
|
||||||
|
Err(e)=>Err(e)?,
|
||||||
}
|
}
|
||||||
|
|
||||||
// try looking for vtf
|
// try looking for vtf
|
||||||
let mut texture_file_name_vtf=texture_file_name.clone();
|
let mut texture_file_name_vtf=texture_file_name.clone();
|
||||||
texture_file_name_vtf.set_extension("vtf");
|
texture_file_name_vtf.set_extension("vtf");
|
||||||
let vtf_result=recursive_vmt_loader(finder,get_vmt(finder,texture_file_name_vtf.to_str().unwrap())?);
|
|
||||||
match vtf_result{
|
let get_vtf_result=get_vmt(finder,texture_file_name_vtf.to_str().unwrap());
|
||||||
Ok(Some(stuff))=>return Ok(Some(stuff)),
|
match get_vtf_result{
|
||||||
Ok(None)
|
Ok(material)=>{
|
||||||
|Err(LoadVMTError::NotFound)=>(),
|
let vtf_result=recursive_vmt_loader(finder,material);
|
||||||
|Err(LoadVMTError::GetVMT(GetVMTError::NotFound))=>(),
|
match vtf_result{
|
||||||
Err(e)=>return Err(e),
|
Ok(Some(stuff))=>return Ok(Some(stuff)),
|
||||||
|
Ok(None)
|
||||||
|
|Err(LoadVMTError::NotFound)=>(),
|
||||||
|
|Err(LoadVMTError::GetVMT(GetVMTError::NotFound))=>(),
|
||||||
|
Err(e)=>return Err(e),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|Err(GetVMTError::NotFound)=>(),
|
||||||
|
Err(e)=>Err(e)?,
|
||||||
}
|
}
|
||||||
|
|
||||||
Ok(None)
|
Ok(None)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user