Fix Freezer overlay bug

This commit is contained in:
r4d6
2020-01-18 22:16:43 -05:00
parent ae5e87d492
commit 2b3f00ed1e
11 changed files with 18 additions and 25 deletions
@@ -244,19 +244,20 @@
transfer_fingerprints_to(stored)
..()
/obj/machinery/atmospherics/proc/getpipeimage(iconset, iconstate, direction, col=rgb(255,255,255))
/obj/machinery/atmospherics/proc/getpipeimage(iconset, iconstate, direction, col=rgb(255,255,255), piping_layer=2)
//Add identifiers for the iconset
if(iconsetids[iconset] == null)
iconsetids[iconset] = num2text(iconsetids.len + 1)
//Generate a unique identifier for this image combination
var/identifier = iconsetids[iconset] + "_[iconstate]_[direction]_[col]"
var/identifier = iconsetids[iconset] + "_[iconstate]_[direction]_[col]_[piping_layer]"
if((!(. = pipeimages[identifier])))
var/image/pipe_overlay
pipe_overlay = . = pipeimages[identifier] = image(iconset, iconstate, dir = direction)
pipe_overlay.color = col
PIPING_LAYER_SHIFT(pipe_overlay, piping_layer)
/obj/machinery/atmospherics/on_construction(obj_color, set_layer)
if(can_unwrench)
@@ -38,8 +38,7 @@
/obj/machinery/atmospherics/components/binary/dp_vent_pump/update_icon_nopipes()
cut_overlays()
if(showpipe)
var/image/cap = getpipeimage(icon, "dpvent_cap", dir)
PIPING_LAYER_SHIFT(cap, piping_layer)
var/image/cap = getpipeimage(icon, "dpvent_cap", dir, piping_layer = piping_layer)
add_overlay(cap)
if(!on || !is_operational())
@@ -58,13 +58,9 @@
/obj/machinery/atmospherics/components/proc/get_pipe_underlay(state, dir, color = null)
if(color)
. = getpipeimage('icons/obj/atmospherics/components/binary_devices.dmi', state, dir, color)
. = getpipeimage('icons/obj/atmospherics/components/binary_devices.dmi', state, dir, color, piping_layer = shift_underlay_only ? piping_layer : 2)
else
. = getpipeimage('icons/obj/atmospherics/components/binary_devices.dmi', state, dir)
if(shift_underlay_only)
var/image/I = .
PIPING_LAYER_SHIFT(I, piping_layer)
. = getpipeimage('icons/obj/atmospherics/components/binary_devices.dmi', state, dir, piping_layer = shift_underlay_only ? piping_layer : 2)
// Pipenet stuff; housekeeping
@@ -60,11 +60,10 @@
var/image/cap
if(node)
cap = getpipeimage(icon, "cap", direction, node.pipe_color)
cap = getpipeimage(icon, "cap", direction, node.pipe_color, piping_layer = piping_layer)
else
cap = getpipeimage(icon, "cap", direction)
cap = getpipeimage(icon, "cap", direction, piping_layer = piping_layer)
PIPING_LAYER_SHIFT(cap, piping_layer)
add_overlay(cap)
return ..()
@@ -52,11 +52,10 @@
var/image/cap
if(node)
cap = getpipeimage(icon, "cap", direction, node.pipe_color)
cap = getpipeimage(icon, "cap", direction, node.pipe_color, piping_layer = piping_layer)
else
cap = getpipeimage(icon, "cap", direction)
cap = getpipeimage(icon, "cap", direction, piping_layer = piping_layer)
PIPING_LAYER_SHIFT(cap, piping_layer)
add_overlay(cap)
return ..()
@@ -13,7 +13,7 @@
/obj/machinery/atmospherics/components/unary/passive_vent/update_icon_nopipes()
cut_overlays()
if(showpipe)
var/image/cap = getpipeimage(icon, "vent_cap", initialize_directions)
var/image/cap = getpipeimage(icon, "vent_cap", initialize_directions, piping_layer = piping_layer)
add_overlay(cap)
icon_state = "passive_vent"
@@ -26,8 +26,7 @@
/obj/machinery/atmospherics/components/unary/portables_connector/update_icon_nopipes()
icon_state = "connector"
if(showpipe)
var/image/cap = getpipeimage(icon, "connector_cap", initialize_directions)
PIPING_LAYER_SHIFT(cap, piping_layer)
var/image/cap = getpipeimage(icon, "connector_cap", initialize_directions, piping_layer = piping_layer)
add_overlay(cap)
/obj/machinery/atmospherics/components/unary/portables_connector/process_atmos()
@@ -41,12 +41,14 @@
/obj/machinery/atmospherics/components/unary/thermomachine/update_icon()
cut_overlays()
if(panel_open)
icon_state = icon_state_open
else if(on && is_operational())
icon_state = icon_state_on
else
icon_state = icon_state_off
add_overlay(getpipeimage(icon, "pipe", dir, , piping_layer))
/obj/machinery/atmospherics/components/unary/thermomachine/update_icon_nopipes()
@@ -50,8 +50,7 @@
/obj/machinery/atmospherics/components/unary/vent_pump/update_icon_nopipes()
cut_overlays()
if(showpipe)
var/image/cap = getpipeimage(icon, "vent_cap", initialize_directions)
PIPING_LAYER_SHIFT(cap, piping_layer)
var/image/cap = getpipeimage(icon, "vent_cap", initialize_directions, piping_layer = piping_layer)
add_overlay(cap)
if(welded)
@@ -68,8 +68,7 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/update_icon_nopipes()
cut_overlays()
if(showpipe)
var/image/cap = getpipeimage(icon, "scrub_cap", initialize_directions)
PIPING_LAYER_SHIFT(cap, piping_layer)
var/image/cap = getpipeimage(icon, "scrub_cap", initialize_directions, piping_layer = piping_layer)
add_overlay(cap)
if(welded)
@@ -60,9 +60,9 @@
var/image/I
if(p_color)
I = getpipeimage(icon, "pipe", p_dir, p_color)
I = getpipeimage(icon, "pipe", p_dir, p_color, piping_layer = piping_layer)
else
I = getpipeimage(icon, "pipe", p_dir)
I = getpipeimage(icon, "pipe", p_dir, piping_layer = piping_layer)
I.layer = layer - 0.01
PIPING_LAYER_SHIFT(I, p_layer)