mirror of
https://codeberg.org/icewind/vbspview.git
synced 2026-06-03 10:14:10 +02:00
don't error hard when we cant load a prop
This commit is contained in:
parent
7b627c1140
commit
b56b44d255
1 changed files with 9 additions and 3 deletions
12
src/prop.rs
12
src/prop.rs
|
|
@ -4,7 +4,7 @@ use crate::{Error, Loader};
|
|||
use std::collections::HashMap;
|
||||
use three_d::{CpuMaterial, CpuModel, Mat4, Positions, Vec2, Vec3, Vec4};
|
||||
use three_d_asset::{Geometry, Primitive, TriMesh};
|
||||
use tracing::warn;
|
||||
use tracing::{error, warn};
|
||||
use vbsp::{Handle, StaticPropLump};
|
||||
use vmdl::mdl::{Mdl, TextureInfo};
|
||||
use vmdl::vtx::Vtx;
|
||||
|
|
@ -23,8 +23,14 @@ pub fn load_props<'a, I: Iterator<Item = Handle<'a, StaticPropLump>>>(
|
|||
props: I,
|
||||
) -> Result<CpuModel, Error> {
|
||||
let props: Vec<PropData> = props
|
||||
.map(|prop| {
|
||||
let model = load_prop(loader, prop.model())?;
|
||||
.filter_map(|prop| match load_prop(loader, prop.model()) {
|
||||
Ok(model) => Some((prop, model)),
|
||||
Err(e) => {
|
||||
error!(error = ?e, prop = prop.model(), "Failed to load prop");
|
||||
None
|
||||
}
|
||||
})
|
||||
.map(|(prop, model)| {
|
||||
let transform =
|
||||
Mat4::from_translation(map_coords(prop.origin)) * Mat4::from(prop.rotation());
|
||||
Ok::<_, Error>(PropData {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue