mindustry logic execution, map- and schematic- parsing and rendering
Diffstat (limited to 'src/data/map.rs')
| -rw-r--r-- | src/data/map.rs | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/data/map.rs b/src/data/map.rs index edb3cb2..c4ad43d 100644 --- a/src/data/map.rs +++ b/src/data/map.rs @@ -84,7 +84,7 @@ use crate::team::{self, Team}; #[cfg(doc)] use crate::{block::content, data::*, fluid, item, modifier, unit}; -use super::Serializable; +use super::{entity_mapping, Serializable}; use crate::content::Content; use crate::utils::image::ImageUtils; @@ -655,7 +655,14 @@ impl<'l> Serializable for Map<'l> { // read world entities (#412). eg units for _ in 0..buff.read_u32()? { let len = buff.read_u16()? as usize; - buff.skip(len)?; + let id = buff.read_u8()? as usize; + let Some(&Some(u)) = entity_mapping::ID.get(id) else { + buff.skip(len - 1)?; + continue; + // return Ok(()); + }; + buff.skip(4)?; + let _ = u.read(buff)?; } Ok::<(), ReadError>(()) })?; |