mindustry logic execution, map- and schematic- parsing and rendering
Diffstat (limited to 'src/data/schematic.rs')
-rw-r--r--src/data/schematic.rs9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/data/schematic.rs b/src/data/schematic.rs
index 6d00dcc..de606ca 100644
--- a/src/data/schematic.rs
+++ b/src/data/schematic.rs
@@ -59,7 +59,8 @@ impl<'l> Placement<'l> {
}
/// draws this placement in particular
- pub fn image(
+ /// SAFETY: call [`warmup`](crate::warmup) first
+ pub unsafe fn image(
&self,
context: Option<&RenderingContext>,
rot: Rotation,
@@ -731,8 +732,10 @@ mod test {
let parsed2 = unwrap_pretty(ser.deserialize_base64(&unparsed));
println!("\x1b[38;5;2mredeserialized\x1b[0m {}", parsed.tags.get("name").unwrap());
if parsed != parsed2 {
- parsed2.render().save("p2.png").unwrap();
- parsed.render().save("p1.png").unwrap();
+ unsafe { crate::warmup() };
+ // SAFETY: we just warmed up, its fine
+ unsafe { parsed2.render() }.save("p2.png").unwrap();
+ unsafe { parsed.render() }.save("p1.png").unwrap();
panic!("DIFFERENT! see `p1.png` != `p2.png`")
}
)*