diff options
Diffstat (limited to 'src/classes')
-rw-r--r-- | src/classes/mod.rs | 2 | ||||
-rw-r--r-- | src/classes/pptr.rs | 5 | ||||
-rw-r--r-- | src/classes/vectors.rs | 2 |
3 files changed, 7 insertions, 2 deletions
diff --git a/src/classes/mod.rs b/src/classes/mod.rs index bff033a..c312c6a 100644 --- a/src/classes/mod.rs +++ b/src/classes/mod.rs @@ -9,6 +9,8 @@ pub mod transform; pub mod vectors; pub mod renderer; pub mod shader; +pub mod cubemap; +pub mod render_settings; use crate::object::{Value, parser::FromValue}; use anyhow::Result; diff --git a/src/classes/pptr.rs b/src/classes/pptr.rs index 14c72b6..332d3da 100644 --- a/src/classes/pptr.rs +++ b/src/classes/pptr.rs @@ -60,7 +60,10 @@ impl<T: FromValue> PPtr<T> { pub fn is_null(&self) -> bool { self.path_id == 0 && self.file_id == 0 } - pub fn load(&self, bundle: &mut AssetBundle<impl Read + Seek>) -> Result<T> { + pub fn load(&self, bundle: &mut AssetBundle<impl Read + Seek + 'static>) -> Result<T> { + if self.is_null() { + bail!("attempted to load null PPtr") + } debug!( "loading PPtr<{}> file_id={} path_id={}", self.class, self.file_id, self.path_id diff --git a/src/classes/vectors.rs b/src/classes/vectors.rs index 14c5a59..b7127bf 100644 --- a/src/classes/vectors.rs +++ b/src/classes/vectors.rs @@ -30,7 +30,7 @@ impl FromValue for Vec4 { } } -#[derive(Debug, Serialize)] +#[derive(Debug, Serialize, Clone, Copy)] pub struct ColorRGBA(pub Vec4); impl FromValue for ColorRGBA { fn from_value(v: Value) -> anyhow::Result<Self> { |