mindustry logic execution, map- and schematic- parsing and rendering
Diffstat (limited to 'src/data/renderer.rs')
| -rw-r--r-- | src/data/renderer.rs | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/src/data/renderer.rs b/src/data/renderer.rs index c92f152..8672edf 100644 --- a/src/data/renderer.rs +++ b/src/data/renderer.rs @@ -237,15 +237,14 @@ impl Renderable for Map<'_> { t, ) }) { - if tile.build().is_none() { - floor.overlay( - // SAFETY: [`load_raw`] forces nonzero image size - unsafe { &tile.image(None).own().scale(scale) }, - x as u32 * scale, - y as u32 * scale, - ); - } else { - let build = tile.build().unwrap(); + // draw the floor first. + floor.overlay( + // SAFETY: [`load_raw`] forces nonzero image size + unsafe { &tile.floor_image(None).own().scale(scale) }, + x as u32 * scale, + y as u32 * scale, + ); + if let Some(build) = tile.build() { let s = build.block.get_size(); let x = x - ((s - 1) / 2) as usize; let y = y - (s / 2) as usize; @@ -269,7 +268,7 @@ impl Renderable for Map<'_> { // SAFETY: tile.size can never be 0, and [`load_raw`] forces nonzero. unsafe { &tile - .image(ctx.as_ref()) + .build_image(ctx.as_ref()) .own() .scale(tile.size() as u32 * scale) }, |