From 8fc31897d248cf9d473cd6becf2cf8e6efece139 Mon Sep 17 00:00:00 2001 From: Tad Hardesty Date: Sat, 16 Nov 2019 18:34:23 -0800 Subject: [PATCH] Fix APC terminal layering --- src/tools/minimap.rs | 10 +++++----- src/tools/render_passes/mod.rs | 12 ++++++++---- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/tools/minimap.rs b/src/tools/minimap.rs index f793ceeb..728c35b5 100644 --- a/src/tools/minimap.rs +++ b/src/tools/minimap.rs @@ -176,11 +176,11 @@ pub fn generate(ctx: Context, icon_cache: &IconCache) -> Result { } // APC terminals - if atom.istype("/obj/machinery/power/apc/") { - let mut terminal = Sprite::from_vars(objtree, &objtree.expect("/obj/machinery/power/terminal")); - terminal.dir = atom.sprite.dir; - underlays.push(terminal); - } + let mut terminal = Sprite::from_vars(objtree, &objtree.expect("/obj/machinery/power/terminal")); + terminal.dir = atom.sprite.dir; + // TODO: un-hack this + ::render_passes::apply_fancy_layer("/obj/machinery/power/terminal", &mut terminal); + underlays.push(terminal); } for pass in render_passes { diff --git a/src/tools/render_passes/mod.rs b/src/tools/render_passes/mod.rs index 0a646405..385a0587 100644 --- a/src/tools/render_passes/mod.rs +++ b/src/tools/render_passes/mod.rs @@ -280,10 +280,7 @@ impl RenderPass for FancyLayers { sprite: &mut Sprite<'a>, _: &'a ObjectTree, ) { - sprite.plane = 0; - if let Some(layer) = fancy_layer_for_path(atom.get_path()) { - sprite.layer = layer; - } + apply_fancy_layer(atom.get_path(), sprite) } } @@ -315,3 +312,10 @@ fn fancy_layer_for_path(p: &str) -> Option { return None }) } + +pub fn apply_fancy_layer(path: &str, sprite: &mut Sprite) { + sprite.plane = 0; + if let Some(layer) = fancy_layer_for_path(path) { + sprite.layer = layer; + } +}