diff --git a/code/ZAS/Debug.dm b/code/ZAS/Debug.dm
index 9ea464d4c8b..e314c8cc543 100644
--- a/code/ZAS/Debug.dm
+++ b/code/ZAS/Debug.dm
@@ -12,8 +12,8 @@ var/image/mark = image('icons/zone.dmi', icon_state = "mark")
/turf/var/tmp/dbg_img
/turf/proc/dbg(image/img, d = 0)
if(d > 0) img.dir = d
- cut_overlay(dbg_img)
- add_overlay(img)
+ CutOverlays(dbg_img)
+ AddOverlays(img)
dbg_img = img
/proc/soft_assert(thing,fail)
diff --git a/code/ZAS/Phoron.dm b/code/ZAS/Phoron.dm
index aaeac570f5c..db757c341a4 100644
--- a/code/ZAS/Phoron.dm
+++ b/code/ZAS/Phoron.dm
@@ -53,11 +53,11 @@ var/image/contamination_overlay = image('icons/effects/contamination.dmi')
//Do a contamination overlay? Temporary measure to keep contamination less deadly than it was.
if(!contaminated)
contaminated = 1
- add_overlay(contamination_overlay, TRUE)
+ AddOverlays(contamination_overlay, ATOM_ICON_CACHE_PROTECTED)
/obj/item/proc/decontaminate()
contaminated = 0
- cut_overlay(contamination_overlay, TRUE)
+ CutOverlays(contamination_overlay, ATOM_ICON_CACHE_PROTECTED)
/mob/proc/contaminate()
diff --git a/code/__DEFINES/_macros.dm b/code/__DEFINES/_macros.dm
index c83fb38f4ff..050551b3368 100644
--- a/code/__DEFINES/_macros.dm
+++ b/code/__DEFINES/_macros.dm
@@ -177,6 +177,9 @@
/// Decrease the size of L by 1 from the end. Is the old last entry index.
#define LIST_DEC(L) ((L).len--)
+/// Explicitly set the length of L to NEWLEN, adding nulls or dropping entries. Is the same value as NEWLEN.
+#define LIST_RESIZE(L, NEWLEN) ((L).len = (NEWLEN))
+
/// Drops x into the the src's location, and then nulls its reference.
#define DROP_NULL(x) if(x) { x.dropInto(loc); x = null}
diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm
index 94d6a1756b3..05f362a49ad 100644
--- a/code/__DEFINES/flags.dm
+++ b/code/__DEFINES/flags.dm
@@ -52,6 +52,8 @@ var/list/mimic_defines = list(
/// If a dense atom like a platform does not allow movement through it like a window pane BUT allows pickup.
#define ATOM_FLAG_ALWAYS_ALLOW_PICKUP FLAG(7)
+#define ATOM_AWAITING_OVERLAY_UPDATE FLAG(10)
+
// Movable flags.
/// Does this object require proximity checking in Enter()?
diff --git a/code/__DEFINES/subsystems.dm b/code/__DEFINES/subsystems.dm
index 4863183796f..ef9f46ee067 100644
--- a/code/__DEFINES/subsystems.dm
+++ b/code/__DEFINES/subsystems.dm
@@ -98,8 +98,8 @@
// -- SSoverlays --
-#define CUT_OVERLAY_IN(ovr, time) addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, cut_overlay), ovr), time, TIMER_STOPPABLE | TIMER_CLIENT_TIME)
-#define ATOM_USING_SSOVERLAY(atom) (atom.our_overlays || atom.priority_overlays)
+#define CUT_OVERLAY_IN(ovr, time) addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, CutOverlays), ovr), time, TIMER_STOPPABLE | TIMER_CLIENT_TIME)
+#define ATOM_USING_SSOVERLAY(atom) (atom.atom_overlay_cache || atom.atom_protected_overlay_cache)
// -- SSticker --
#define ROUND_IS_STARTED (SSticker.current_state >= GAME_STATE_PLAYING)
diff --git a/code/__HELPERS/icon_smoothing.dm b/code/__HELPERS/icon_smoothing.dm
index 37f336d9754..77c4aefcdc8 100644
--- a/code/__HELPERS/icon_smoothing.dm
+++ b/code/__HELPERS/icon_smoothing.dm
@@ -295,7 +295,7 @@
var/turf/T = get_step(src, reverse_ndir(adjacency))
if(is_type_in_list(T, can_blend_with))
if(attach_overlay)
- add_overlay("[reverse_ndir(adjacency)]_[attach_overlay]", overlay_layer)
+ AddOverlays("[reverse_ndir(adjacency)]_[attach_overlay]", overlay_layer)
walls_found |= adjacency
dir_mods["[adjacency]"] = "-[blend_overlay]"
for(var/adjacency in list(N_NORTH, N_SOUTH))
@@ -307,7 +307,7 @@
if(((adjacencies & adjacency) && (adjacencies && diagonal)) && (has_adjacency || has_diagonal))
dir_mods["[adjacency][diagonal]"] = "-[prefix][walls_found & adjacency ? "wall" : "win"]-[suffix][walls_found & diagonal ? "wall" : "win"]"
if(attach_overlay)
- add_overlay("[prefix][suffix]_[attach_overlay]", overlay_layer)
+ AddOverlays("[prefix][suffix]_[attach_overlay]", overlay_layer)
return dir_mods
/proc/ndir_to_initial(var/ndir)
@@ -409,10 +409,10 @@
LAZYADD(New, se)
if(Old)
- cut_overlay(Old)
+ CutOverlays(Old)
if(New)
- add_overlay(New)
+ AddOverlays(New)
if (icon_state && !(smoothing_flags & SMOOTH_NO_CLEAR_ICON))
icon_state = null
@@ -558,7 +558,7 @@
/atom/proc/clear_smooth_overlays()
SHOULD_NOT_SLEEP(TRUE)
- cut_overlay(list(top_left_corner, top_right_corner, bottom_left_corner, bottom_right_corner))
+ CutOverlays(list(top_left_corner, top_right_corner, bottom_left_corner, bottom_right_corner))
top_left_corner = null
top_right_corner = null
bottom_right_corner = null
@@ -577,7 +577,7 @@
O += sw
bottom_right_corner = se
O += se
- add_overlay(O)
+ AddOverlays(O)
/proc/reverse_ndir(ndir)
SHOULD_NOT_SLEEP(TRUE)
diff --git a/code/__HELPERS/icons.dm b/code/__HELPERS/icons.dm
index 425d11be3ec..084921dd2c3 100644
--- a/code/__HELPERS/icons.dm
+++ b/code/__HELPERS/icons.dm
@@ -118,27 +118,27 @@ mob
underlays += image(icon='old_or_unused.dmi',icon_state="red", pixel_x = -32)
// Testing image overlays
- add_overlay(image(icon='old_or_unused.dmi',icon_state="green", pixel_x = 32, pixel_y = -32))
- add_overlay(image(icon='old_or_unused.dmi',icon_state="green", pixel_x = 32, pixel_y = 32))
- add_overlay(image(icon='old_or_unused.dmi',icon_state="green", pixel_x = -32, pixel_y = -32))
+ AddOverlays(image(icon='old_or_unused.dmi',icon_state="green", pixel_x = 32, pixel_y = -32))
+ AddOverlays(image(icon='old_or_unused.dmi',icon_state="green", pixel_x = 32, pixel_y = 32))
+ AddOverlays(image(icon='old_or_unused.dmi',icon_state="green", pixel_x = -32, pixel_y = -32))
// Testing icon file overlays (defaults to mob's state)
- add_overlay('_flat_demoIcons2.dmi')
+ AddOverlays('_flat_demoIcons2.dmi')
// Testing icon_state overlays (defaults to mob's icon)
- add_overlay("white")
+ AddOverlays("white")
// Testing dynamic icon overlays
var/icon/I = icon('old_or_unused.dmi', icon_state="aqua")
I.Shift(NORTH,16,1)
- add_overlay(I)
+ AddOverlays(I)
// Testing dynamic image overlays
I=image(icon=I,pixel_x = -32, pixel_y = 32)
- add_overlay(I)
+ AddOverlays(I)
// Testing object types (and layers)
- add_overlay(/obj/effect/overlay_test)
+ AddOverlays(/obj/effect/overlay_test)
loc = locate (10,10,1)
verb
@@ -166,9 +166,9 @@ mob
// Update the label to show it
winset(src,"imageLabel","image='[REF(I)]'");
- Add_Overlay()
+ AddOverlays()
set name = "4. Add Overlay"
- add_overlay(image(icon='old_or_unused.dmi',icon_state="yellow",pixel_x = rand(-64,32), pixel_y = rand(-64,32))
+ AddOverlays(image(icon='old_or_unused.dmi',icon_state="yellow",pixel_x = rand(-64,32), pixel_y = rand(-64,32))
Stress_Test()
set name = "5. Stress Test"
@@ -176,7 +176,7 @@ mob
// The third parameter forces it to generate a new one, even if it's already cached
getFlatIcon(src,0,2)
if(prob(5))
- Add_Overlay()
+ AddOverlays()
Browse_Icon()
Cache_Test()
@@ -793,7 +793,7 @@ world
camo_image.pixel_y--
if(5)
camo_image.pixel_y++
- add_overlay(camo_image)//And finally add the overlay.
+ AddOverlays(camo_image)//And finally add the overlay.
/proc/build_disappear_icon(atom/A)
var/icon/disappear_icon = new(getFlatIcon(A))
@@ -1205,9 +1205,9 @@ lighting determines lighting capturing (optional), suppress_errors suppreses err
set waitfor = FALSE
if(!overlay_image)
return
- add_overlay(overlay_image)
+ AddOverlays(overlay_image)
sleep(duration)
- cut_overlay(overlay_image)
+ CutOverlays(overlay_image)
/// Perform a shake on an atom, resets its position afterwards
/atom/proc/Shake(pixelshiftx = 2, pixelshifty = 2, duration = 2.5 SECONDS, shake_interval = 0.02 SECONDS)
diff --git a/code/__HELPERS/overlay.dm b/code/__HELPERS/overlay.dm
index 50437886e71..53d9c16b3f9 100644
--- a/code/__HELPERS/overlay.dm
+++ b/code/__HELPERS/overlay.dm
@@ -39,7 +39,7 @@
overlay.blend_mode = BLEND_ADD
a_cache_icon[icon_state] = overlay
- target.add_overlay(list(multiply, overlay))
+ target.AddOverlays(list(multiply, overlay))
/proc/make_screen_overlay(icon, icon_state, brightness_factor = null, glow_radius = 1)
var/image/overlay = image(icon, icon_state)
diff --git a/code/_onclick/hud/action.dm b/code/_onclick/hud/action.dm
index 392ba4bbb57..4cf276fcd09 100644
--- a/code/_onclick/hud/action.dm
+++ b/code/_onclick/hud/action.dm
@@ -154,7 +154,7 @@
icon = owner.button_icon
icon_state = owner.background_icon_state
- cut_overlays()
+ ClearOverlays()
var/image/img
if(owner.action_type == AB_ITEM && owner.target)
var/obj/item/I = owner.target
@@ -165,7 +165,7 @@
img.pixel_y = 0
if(owner.button_icon_color)
img.color = owner.button_icon_color
- add_overlay(img)
+ AddOverlays(img)
if(!owner.IsAvailable())
color = rgb(128,0,0,128)
@@ -200,8 +200,8 @@
return
/obj/screen/movable/action_button/hide_toggle/update_icon()
- cut_overlays()
- add_overlay(hidden ? "show" : "hide")
+ ClearOverlays()
+ AddOverlays(hidden ? "show" : "hide")
//This is the proc used to update all the action buttons. Properly defined in /mob/living/
/mob/proc/update_action_buttons()
diff --git a/code/_onclick/hud/human.dm b/code/_onclick/hud/human.dm
index 95d7b3b7f42..649e772e952 100644
--- a/code/_onclick/hud/human.dm
+++ b/code/_onclick/hud/human.dm
@@ -341,8 +341,8 @@
mymob.zone_sel.icon = ui_style
mymob.zone_sel.color = ui_color
mymob.zone_sel.alpha = ui_alpha
- mymob.zone_sel.cut_overlays()
- mymob.zone_sel.add_overlay(image('icons/mob/zone_sel.dmi', "[mymob.zone_sel.selecting]"))
+ mymob.zone_sel.ClearOverlays()
+ mymob.zone_sel.AddOverlays(image('icons/mob/zone_sel.dmi', "[mymob.zone_sel.selecting]"))
hud_elements |= mymob.zone_sel
//Handle the gun settings buttons
@@ -531,7 +531,7 @@
icon = set_icon
var/image/status_overlay = image('icons/mob/screen/hud_status.dmi', null, set_overlay)
status_overlay.appearance_flags = RESET_COLOR
- add_overlay(status_overlay)
+ AddOverlays(status_overlay)
status_message = set_status_message
return ..()
diff --git a/code/_onclick/hud/morph.dm b/code/_onclick/hud/morph.dm
index 61203779f2a..12dcb8023eb 100644
--- a/code/_onclick/hud/morph.dm
+++ b/code/_onclick/hud/morph.dm
@@ -16,8 +16,8 @@
mymob.zone_sel = new /obj/screen/zone_sel()
mymob.zone_sel.icon = 'icons/mob/screen/morph.dmi'
- mymob.zone_sel.cut_overlays()
- mymob.zone_sel.add_overlay(image('icons/mob/zone_sel.dmi', "[mymob.zone_sel.selecting]"))
+ mymob.zone_sel.ClearOverlays()
+ mymob.zone_sel.AddOverlays(image('icons/mob/zone_sel.dmi', "[mymob.zone_sel.selecting]"))
var/obj/screen/resist = new /obj/screen()
resist.name = "resist"
diff --git a/code/_onclick/hud/other_mobs.dm b/code/_onclick/hud/other_mobs.dm
index f3a1b8a4777..bb88ce688f1 100644
--- a/code/_onclick/hud/other_mobs.dm
+++ b/code/_onclick/hud/other_mobs.dm
@@ -133,8 +133,8 @@
mymob.zone_sel = new /obj/screen/zone_sel()
mymob.zone_sel.icon = 'icons/mob/screen/construct.dmi'
- mymob.zone_sel.cut_overlays()
- mymob.zone_sel.add_overlay(image('icons/mob/zone_sel.dmi', "[mymob.zone_sel.selecting]"))
+ mymob.zone_sel.ClearOverlays()
+ mymob.zone_sel.AddOverlays(image('icons/mob/zone_sel.dmi', "[mymob.zone_sel.selecting]"))
mymob.purged = new /obj/screen()
mymob.purged.icon = 'icons/mob/screen/construct.dmi'
diff --git a/code/_onclick/hud/robot.dm b/code/_onclick/hud/robot.dm
index 1e4e12858ac..a060fd232c2 100644
--- a/code/_onclick/hud/robot.dm
+++ b/code/_onclick/hud/robot.dm
@@ -118,8 +118,8 @@ var/obj/screen/robot_inventory
mymob.zone_sel = new /obj/screen/zone_sel()
mymob.zone_sel.icon = 'icons/mob/screen/robot.dmi'
- mymob.zone_sel.cut_overlays()
- mymob.zone_sel.add_overlay(image('icons/mob/zone_sel.dmi', "[mymob.zone_sel.selecting]"))
+ mymob.zone_sel.ClearOverlays()
+ mymob.zone_sel.AddOverlays(image('icons/mob/zone_sel.dmi', "[mymob.zone_sel.selecting]"))
// Computer device hud
if(r.computer)
diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm
index b5ce6fe5c3b..50c87fef0ec 100644
--- a/code/_onclick/hud/screen_objects.dm
+++ b/code/_onclick/hud/screen_objects.dm
@@ -56,7 +56,7 @@
/obj/screen/inventory/MouseExited()
..()
- cut_overlay(object_overlays)
+ CutOverlays(object_overlays)
object_overlays.Cut()
/obj/screen/inventory/proc/add_overlays()
@@ -74,7 +74,7 @@
else
item_overlay.color = "#00ff00"
object_overlays += item_overlay
- add_overlay(object_overlays)
+ AddOverlays(object_overlays)
/obj/screen/inventory/proc/set_color_for(var/set_color, var/set_time)
if(color_changed)
@@ -281,9 +281,9 @@
SEND_SIGNAL(user, COMSIG_MOB_ZONE_SEL_CHANGE, user)
/obj/screen/zone_sel/update_icon()
- cut_overlays()
+ ClearOverlays()
selecting_appearance = mutable_appearance('icons/mob/zone_sel.dmi', "[selecting]")
- add_overlay(selecting_appearance)
+ AddOverlays(selecting_appearance)
/obj/screen/Click(location, control, params)
if(!usr)
@@ -554,7 +554,7 @@
if(!removed_hand_overlay)
var/state = (hud.l_hand_hud_object == src) ? "l_hand_removed" : "r_hand_removed"
removed_hand_overlay = image("icon" = 'icons/mob/screen_gen.dmi', "icon_state" = state)
- cut_overlays()
+ ClearOverlays()
if(hud.mymob && ishuman(hud.mymob))
var/mob/living/carbon/human/H = hud.mymob
var/obj/item/organ/external/O
@@ -563,11 +563,11 @@
else
O = H.organs_by_name[BP_R_HAND]
if(!O || O.is_stump())
- add_overlay(removed_hand_overlay)
+ AddOverlays(removed_hand_overlay)
else if(O && (!O.is_usable() || O.is_malfunctioning()))
- add_overlay(disabled_hand_overlay)
+ AddOverlays(disabled_hand_overlay)
if(H.handcuffed)
- add_overlay(handcuff_overlay)
+ AddOverlays(handcuff_overlay)
/obj/screen/inventory/back
name = "back"
diff --git a/code/_onclick/hud/spell_screen_objects.dm b/code/_onclick/hud/spell_screen_objects.dm
index 87d626a90e7..c2bfb485cb6 100644
--- a/code/_onclick/hud/spell_screen_objects.dm
+++ b/code/_onclick/hud/spell_screen_objects.dm
@@ -44,14 +44,14 @@
spell_holder.client.screen -= O
O.handle_icon_updates = 0
showing = 0
- cut_overlays()
- add_overlay(closed_state)
+ ClearOverlays()
+ AddOverlays(closed_state)
else if(forced_state != 1)
open_spellmaster()
update_spells(1)
showing = 1
- cut_overlays()
- add_overlay(open_state)
+ ClearOverlays()
+ AddOverlays(open_state)
/obj/screen/movable/spell_master/proc/open_spellmaster()
var/list/screen_loc_xy = text2list(screen_loc,",")
@@ -178,7 +178,7 @@
if((last_charge == spell.charge_counter || !handle_icon_updates) && !forced_update)
return //nothing to see here
- cut_overlay(spell.hud_state)
+ CutOverlays(spell.hud_state)
if(spell.charge_type == Sp_RECHARGE || spell.charge_type == Sp_CHARGES)
if(spell.charge_counter < spell.charge_max)
@@ -186,27 +186,27 @@
if(spell.charge_counter > 0)
var/icon/partial_charge = icon(src.icon, "[spell_base]_spell_ready")
partial_charge.Crop(1, 1, partial_charge.Width(), round(partial_charge.Height() * spell.charge_counter / spell.charge_max))
- add_overlay(partial_charge)
+ AddOverlays(partial_charge)
if(last_charged_icon)
- cut_overlay(last_charged_icon)
+ CutOverlays(last_charged_icon)
last_charged_icon = partial_charge
else if(last_charged_icon)
- cut_overlay(last_charged_icon)
+ CutOverlays(last_charged_icon)
last_charged_icon = null
else
icon_state = "[spell_base]_spell_ready"
if(last_charged_icon)
- cut_overlay(last_charged_icon)
+ CutOverlays(last_charged_icon)
else
icon_state = "[spell_base]_spell_ready"
- add_overlay(spell.hud_state)
+ AddOverlays(spell.hud_state)
last_charge = spell.charge_counter
- cut_overlay("silence")
+ CutOverlays("silence")
if(spell.silenced)
- add_overlay("silence")
+ AddOverlays("silence")
/obj/screen/spell/Click()
if(!usr || !spell)
diff --git a/code/controllers/subsystems/air.dm b/code/controllers/subsystems/air.dm
index 402b1e8371e..6deb7bcc6f6 100644
--- a/code/controllers/subsystems/air.dm
+++ b/code/controllers/subsystems/air.dm
@@ -202,7 +202,7 @@ Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_coun
T.post_update_air_properties()
T.needs_air_update = 0
#ifdef ZASDBG
- T.cut_overlay(mark)
+ T.CutOverlays(mark)
updated++
#endif
@@ -219,7 +219,7 @@ Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_coun
T.post_update_air_properties()
T.needs_air_update = 0
#ifdef ZASDBG
- T.cut_overlay(mark)
+ T.CutOverlays(mark)
updated++
#endif
@@ -368,7 +368,7 @@ Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_coun
return
tiles_to_update += T
#ifdef ZASDBG
- T.add_overlay(mark)
+ T.AddOverlays(mark)
#endif
T.needs_air_update = 1
diff --git a/code/controllers/subsystems/economy.dm b/code/controllers/subsystems/economy.dm
index 2b49f579e95..757cf76cf5e 100644
--- a/code/controllers/subsystems/economy.dm
+++ b/code/controllers/subsystems/economy.dm
@@ -139,7 +139,7 @@ SUBSYSTEM_DEF(economy)
if(!R.stamped)
R.stamped = new
R.stamped += /obj/item/stamp
- R.add_overlay(stampoverlay)
+ R.AddOverlays(stampoverlay)
R.stamps += "
This paper has been stamped by the Accounts Database."
//add the account
diff --git a/code/controllers/subsystems/initialization/xenoarch.dm b/code/controllers/subsystems/initialization/xenoarch.dm
index a5981b77104..69bbdeeed93 100644
--- a/code/controllers/subsystems/initialization/xenoarch.dm
+++ b/code/controllers/subsystems/initialization/xenoarch.dm
@@ -62,7 +62,7 @@ SUBSYSTEM_DEF(xenoarch)
var/datum/find/F = archeo_turf.finds[1]
if(F.excavation_required <= F.view_range)
archeo_turf.archaeo_overlay = "overlay_archaeo[rand(1,3)]"
- archeo_turf.add_overlay(archeo_turf.archaeo_overlay)
+ archeo_turf.AddOverlays(archeo_turf.archaeo_overlay)
//have a chance for an artifact to spawn here, but not in animal or plant digsites
if(isnull(M.artifact_find) && digsite != 1 && digsite != 2)
diff --git a/code/controllers/subsystems/overlays.dm b/code/controllers/subsystems/overlays.dm
index 760861a1860..e28f7189932 100644
--- a/code/controllers/subsystems/overlays.dm
+++ b/code/controllers/subsystems/overlays.dm
@@ -1,248 +1,307 @@
+/// SSoverlays. Target the normal overlay cache.
+var/global/const/ATOM_ICON_CACHE_NORMAL = FLAG(0)
+
+/// SSoverlays. Target the protected overlay cache.
+var/global/const/ATOM_ICON_CACHE_PROTECTED = FLAG(1)
+
+/// SSoverlays. Target both normal and protected overlay caches.
+var/global/const/ATOM_ICON_CACHE_ALL = (ATOM_ICON_CACHE_NORMAL | ATOM_ICON_CACHE_PROTECTED)
+
+
SUBSYSTEM_DEF(overlays)
- name = "Overlay"
+ name = "Overlays"
flags = SS_TICKER
- runlevels = RUNLEVELS_DEFAULT | RUNLEVEL_LOBBY
- wait = 1
+ wait = 1 // ticks
priority = SS_PRIORITY_OVERLAY
init_order = INIT_ORDER_OVERLAY
- var/list/processing = list()
+ /// The queue of atoms that need under/overlay updates.
+ var/static/list/atom/queue = list()
+
+ /// A list([icon] = list([state] = [appearance], ...), ...) cache of appearances.
+ var/static/list/state_cache = list()
+
+ /// A list([icon] = [appearance], ...) cache of appearances.
+ var/static/list/icon_cache = list()
+
+ /// The number of appearances currently cached.
+ var/static/cache_size = 0
- var/idex = 1
- var/list/overlay_icon_state_caches = list()
- var/list/overlay_icon_cache = list()
initialized = FALSE
-/datum/controller/subsystem/overlays/stat_entry(msg)
- msg = "Ov:[processing.len - (idex - 1)]"
- return ..()
+/datum/controller/subsystem/overlays/Recover()
+ LIST_RESIZE(queue, 0)
+ LIST_RESIZE(state_cache, 0)
+ LIST_RESIZE(icon_cache, 0)
+ cache_size = 0
+ var/count = 0
+ for (var/atom/atom)
+ atom.atom_flags &= ~ATOM_AWAITING_OVERLAY_UPDATE
+ if (++count % 500)
+ continue
+ CHECK_TICK
-/datum/controller/subsystem/overlays/Initialize()
+/datum/controller/subsystem/overlays/Initialize(start_uptime)
initialized = TRUE
- Flush()
+ fire(FALSE, TRUE)
return SS_INIT_SUCCESS
-/datum/controller/subsystem/overlays/Recover()
- overlay_icon_state_caches = SSoverlays.overlay_icon_state_caches
- overlay_icon_cache = SSoverlays.overlay_icon_cache
- processing = SSoverlays.processing
+/datum/controller/subsystem/overlays/stat_entry(msg)
+ msg = "Queued Atoms: [length(queue)], Cache Size: [cache_size]"
+ return ..()
-/datum/controller/subsystem/overlays/fire(resumed = FALSE, mc_check = TRUE)
- var/list/processing = src.processing
- while(idex <= processing.len)
- var/atom/thing = processing[idex++]
+/datum/controller/subsystem/overlays/fire(resumed, no_mc_tick)
+ var/queue_length = length(queue)
+ if (queue_length)
+ var/atom/atom
+ for (var/i = 1 to queue_length)
+ atom = queue[i]
+ if (QDELETED(atom))
+ continue
+ if (atom.atom_flags & ATOM_AWAITING_OVERLAY_UPDATE)
+ atom.UpdateOverlays()
+ if (no_mc_tick)
+ if (i % 1000)
+ continue
+ CHECK_TICK
+ else if (MC_TICK_CHECK)
+ queue.Cut(1, i + 1)
+ return
+ queue.Cut(1, queue_length + 1)
- if(!QDELETED(thing) && thing.overlay_queued) // Don't double-process if something already forced a compile.
- thing.compile_overlays()
+/datum/controller/subsystem/overlays/proc/GetStateAppearance(icon, state)
+ var/list/subcache = state_cache[icon]
+ if (!subcache)
+ subcache = list()
+ state_cache[icon] = subcache
+ if (!subcache[state])
+ var/image/image = image(icon, null, state)
+ subcache[state] = image.appearance
+ ++cache_size
+ return subcache[state]
- if(mc_check)
- if(MC_TICK_CHECK)
- break
+
+/datum/controller/subsystem/overlays/proc/GetIconAppearance(icon)
+ if (!icon_cache[icon])
+ var/image/image = image(icon)
+ icon_cache[icon] = image.appearance
+ ++cache_size
+ return icon_cache[icon]
+
+
+/datum/controller/subsystem/overlays/proc/GetAppearanceList(atom/subject, list/sources)
+ if (!sources)
+ return list()
+ if (!islist(sources))
+ sources = list(sources)
+ var/list/result = list()
+ var/icon/icon = subject.icon
+ var/atom/entry
+ for (var/i = 1 to length(sources))
+ entry = sources[i]
+ if (!entry)
+ continue
+ else if (istext(entry))
+ result += GetStateAppearance(icon, entry)
+ else if (isicon(entry))
+ result += GetIconAppearance(entry)
else
- CHECK_TICK
+ if (isloc(entry))
+ if (entry.atom_flags & ATOM_AWAITING_OVERLAY_UPDATE)
+ entry.UpdateOverlays()
+ if (!ispath(entry))
+ result += entry.appearance
+ else
+ var/image/image = entry
+ result += image.appearance
+ return result
- if (idex > 1)
- processing.Cut(1, idex)
- idex = 1
-/datum/controller/subsystem/overlays/proc/Flush()
- if(processing.len)
- log_subsystem("overlays", "Flushing [processing.len] overlays.")
- fire(mc_check = FALSE)
+/// Immediately runs an overlay update.
+/atom/proc/ImmediateOverlayUpdate()
+ SHOULD_NOT_OVERRIDE(TRUE)
+ UpdateOverlays()
-/atom/proc/compile_overlays()
- var/list/oo = our_overlays
- var/list/po = priority_overlays
- if(LAZYLEN(po) && LAZYLEN(oo))
- overlays = oo + po
- else if(LAZYLEN(oo))
- overlays = oo
- else if(LAZYLEN(po))
- overlays = po
- else
- overlays.Cut()
-
- overlay_queued = FALSE
-
-/atom/movable/compile_overlays()
- ..()
- UPDATE_OO_IF_PRESENT
-
-/turf/compile_overlays()
- ..()
- if (istype(above))
- update_above()
-
-/proc/iconstate2appearance(icon, iconstate)
- var/static/image/stringbro = new()
- var/list/icon_states_cache = SSoverlays.overlay_icon_state_caches
- var/list/cached_icon = icon_states_cache[icon]
- if (cached_icon)
- var/cached_appearance = cached_icon["[iconstate]"]
- if (cached_appearance)
- return cached_appearance
- stringbro.icon = icon
- stringbro.icon_state = iconstate
- if (!cached_icon) //not using the macro to save an associated lookup
- cached_icon = list()
- icon_states_cache[icon] = cached_icon
- var/cached_appearance = stringbro.appearance
- cached_icon["[iconstate]"] = cached_appearance
- return cached_appearance
-
-/proc/icon2appearance(icon)
- var/static/image/iconbro = new()
- var/list/icon_cache = SSoverlays.overlay_icon_cache
- . = icon_cache[icon]
- if (!.)
- iconbro.icon = icon
- . = iconbro.appearance
- icon_cache[icon] = .
-
-#define APPEARANCEIFY(origin, target) \
- if (istext(origin)) { \
- target = iconstate2appearance(icon, origin); \
- } \
- else if (isicon(origin)) { \
- target = icon2appearance(origin); \
- } \
- else { \
- appearance_bro.appearance = origin; \
- if (!ispath(origin)) { \
- appearance_bro.dir = origin.dir; \
- } \
- target = appearance_bro.appearance; \
- }
-
-/atom/proc/build_appearance_list(atom/new_overlays)
- var/static/image/appearance_bro = new
- if (islist(new_overlays))
- listclearnulls(new_overlays)
- for (var/i in 1 to length(new_overlays))
- var/image/cached_overlay = new_overlays[i]
- APPEARANCEIFY(cached_overlay, new_overlays[i])
- return new_overlays
- else
- APPEARANCEIFY(new_overlays, .)
-
-#undef APPEARANCEIFY
-#define NOT_QUEUED_ALREADY (!(overlay_queued))
-#define QUEUE_FOR_COMPILE overlay_queued = TRUE; SSoverlays.processing += src;
-
-/atom/proc/cut_overlays(priority = FALSE, force_compile = FALSE)
- var/list/cached_overlays = our_overlays
- var/list/cached_priority = priority_overlays
-
- var/need_compile = FALSE
-
- if(LAZYLEN(cached_overlays)) //don't queue empty lists, don't cut priority overlays
- cached_overlays.Cut() //clear regular overlays
- need_compile = TRUE
-
- if(priority && LAZYLEN(cached_priority))
- cached_priority.Cut()
- need_compile = TRUE
-
- if(need_compile)
- if(!SS_IS_RUNNING(SSoverlays))
- compile_overlays()
- else if(NOT_QUEUED_ALREADY)
- QUEUE_FOR_COMPILE
-
-/atom/proc/cut_overlay(list/overlays, priority = FALSE, force_compile = FALSE)
- if(!overlays)
+/**
+* Shared behavior for ClearOverlays & CutUnderlays. Do not use directly.
+* null: nothing changed, do nothing
+* FALSE: update should be queued
+* TRUE: update should be queued, cache should be nulled
+*/
+/atom/proc/CutCacheBehavior(sources, cache)
+ SHOULD_NOT_OVERRIDE(TRUE)
+ var/initial_length = length(cache)
+ if (!initial_length)
return
+ cache -= sources
+ var/after_length = length(cache)
+ if (!after_length)
+ return TRUE
+ if (initial_length > after_length)
+ return FALSE
- overlays = build_appearance_list(overlays)
- var/list/cached_overlays = our_overlays //sanic
- var/list/cached_priority = priority_overlays
- var/init_o_len = LAZYLEN(cached_overlays)
- var/init_p_len = LAZYLEN(cached_priority) //starter pokemon
-
- LAZYREMOVE(cached_overlays, overlays)
- if(priority)
- LAZYREMOVE(cached_priority, overlays)
-
- if(force_compile && !SS_IS_RUNNING(SSoverlays))
- compile_overlays()
- else if(NOT_QUEUED_ALREADY && ((init_o_len != LAZYLEN(cached_priority)) || (init_p_len != LAZYLEN(cached_overlays))))
- QUEUE_FOR_COMPILE
-
-/atom/proc/add_overlay(list/overlays, priority = FALSE, force_compile = FALSE)
- if(!overlays)
+/// Enqueues the atom for an overlay update if not already queued
+/atom/proc/QueueOverlayUpdate()
+ SHOULD_NOT_OVERRIDE(TRUE)
+ if (atom_flags & ATOM_AWAITING_OVERLAY_UPDATE)
return
+ atom_flags |= ATOM_AWAITING_OVERLAY_UPDATE
+ SSoverlays.queue += src
- overlays = build_appearance_list(overlays)
- if (!overlays || (islist(overlays) && !overlays.len))
- // No point trying to compile if we don't have any overlays.
+/// Builds the atom's overlay state from caches
+/atom/proc/UpdateOverlays()
+ SHOULD_NOT_OVERRIDE(TRUE)
+ atom_flags &= ~ATOM_AWAITING_OVERLAY_UPDATE
+ if (QDELING(src))
+ LIST_RESIZE(overlays, 0)
return
-
- if(priority)
- LAZYADD(priority_overlays, overlays)
- else
- LAZYADD(our_overlays, overlays)
-
- if(force_compile && !SS_IS_RUNNING(SSoverlays))
- compile_overlays()
- else if(NOT_QUEUED_ALREADY)
- QUEUE_FOR_COMPILE
-
-/atom/proc/set_overlays(list/overlays, priority = FALSE, force_compile = FALSE) // Sets overlays to a list, equivalent to cut_overlays() + add_overlays().
- if (!overlays)
- return
-
- overlays = build_appearance_list(overlays)
-
- if (priority)
- LAZYCLEARLIST(priority_overlays)
- if (overlays)
- LAZYADD(priority_overlays, overlays)
- else
- LAZYCLEARLIST(our_overlays)
- if (overlays)
- LAZYADD(our_overlays, overlays)
-
- if(force_compile && !SS_IS_RUNNING(SSoverlays))
- compile_overlays()
- else if (NOT_QUEUED_ALREADY)
- QUEUE_FOR_COMPILE
-
-/atom/proc/copy_overlays(atom/other, cut_old = FALSE, force_compile = FALSE) //copys our_overlays from another atom
- if(!other)
- if(cut_old)
- cut_overlays()
- return
-
- var/list/cached_other = other.our_overlays
- if(cached_other)
- if(cut_old)
- our_overlays = cached_other.Copy()
+ if (length(atom_protected_overlay_cache))
+ if (length(atom_overlay_cache))
+ overlays = atom_protected_overlay_cache + atom_overlay_cache
else
- our_overlays |= cached_other
- if(force_compile && !SS_IS_RUNNING(SSoverlays))
- compile_overlays()
- else if(NOT_QUEUED_ALREADY)
- QUEUE_FOR_COMPILE
- else if(cut_old)
- cut_overlays()
+ overlays = atom_protected_overlay_cache
+ else if (length(atom_overlay_cache))
+ overlays = atom_overlay_cache
+ else
+ LIST_RESIZE(overlays, 0)
-#undef NOT_QUEUED_ALREADY
-#undef QUEUE_FOR_COMPILE
-//TODO: Better solution for these?
-/image/proc/add_overlay(x)
- overlays += x
+/// Clears the atom's overlay cache(s) and queues an update if needed. Use CLEAR_TARGET_* flags.
+/atom/proc/ClearOverlays(cache_target = ATOM_ICON_CACHE_NORMAL)
+ SHOULD_NOT_OVERRIDE(TRUE)
+ if (cache_target & ATOM_ICON_CACHE_PROTECTED)
+ if (!atom_protected_overlay_cache)
+ return
+ LAZYCLEARLIST(atom_protected_overlay_cache)
+ QueueOverlayUpdate()
+ if (cache_target & ATOM_ICON_CACHE_NORMAL)
+ if (!atom_overlay_cache)
+ return
+ LAZYCLEARLIST(atom_overlay_cache)
+ QueueOverlayUpdate()
-/image/proc/cut_overlay(x)
- overlays -= x
-/image/proc/cut_overlays(x)
- overlays.Cut()
+/**
+ * Adds specific overlay(s) to the atom.
+ * It is designed so any of the types allowed to be added to /atom/overlays can be added here too. More details below.
+ *
+ * @param sources The overlay(s) to add. These may be
+ * - A string: In which case it is treated as an icon_state of the atom's icon.
+ * - An icon: It is treated as an icon.
+ * - An atom: Its own overlays are compiled and then it's appearance is added. (Meaning its current apperance is frozen).
+ * - An image: Image's apperance is added (i.e. subsequently editing the image will not edit the overlay)
+ * - A type path: Added to overlays as is. Does whatever it is BYOND does when you add paths to overlays.
+ * - Or a list containing any of the above.
+ * @param cache_target If ATOM_ICON_CACHE_PROTECTED, add to the protected cache instead of normal.
+ */
+/atom/proc/AddOverlays(sources, cache_target = ATOM_ICON_CACHE_NORMAL)
+ SHOULD_NOT_OVERRIDE(TRUE)
+ if (!sources)
+ return
+ sources = SSoverlays.GetAppearanceList(src, sources)
+ if (!length(sources))
+ return
+ if (cache_target & ATOM_ICON_CACHE_PROTECTED)
+ if (atom_protected_overlay_cache)
+ atom_protected_overlay_cache += sources
+ else
+ atom_protected_overlay_cache = sources
+ else if (atom_overlay_cache)
+ atom_overlay_cache += sources
+ else
+ atom_overlay_cache = sources
+ QueueOverlayUpdate()
+
+
+/**
+ * Removes specific overlay(s) from the atom's normal or protected overlay cache and queue an update.
+ *
+ * @param overlays The overlays to removed. See AddOverlays for legal source types.
+ * @param cache_target A mask of ICON_CACHE_TARGET_*.
+ */
+/atom/proc/CutOverlays(sources, cache_target = ATOM_ICON_CACHE_NORMAL)
+ SHOULD_NOT_OVERRIDE(TRUE)
+ if (!sources)
+ return
+ sources = SSoverlays.GetAppearanceList(src, sources)
+ if (!length(sources))
+ return
+ var/update
+ if (cache_target & ATOM_ICON_CACHE_PROTECTED)
+ var/outcome = CutCacheBehavior(sources, atom_protected_overlay_cache)
+ if (!isnull(outcome))
+ update = TRUE
+ if (outcome == TRUE)
+ atom_protected_overlay_cache = null
+ if (cache_target & ATOM_ICON_CACHE_NORMAL)
+ var/outcome = CutCacheBehavior(sources, atom_overlay_cache)
+ if (!isnull(outcome))
+ update = TRUE
+ if (outcome == TRUE)
+ atom_overlay_cache = null
+ if (update)
+ QueueOverlayUpdate()
+
+
+/// AddOverlays with ClearOverlays first. See AddOverlays for behavior.
+/atom/proc/SetOverlays(sources, cache_target = ATOM_ICON_CACHE_NORMAL)
+ SHOULD_NOT_OVERRIDE(TRUE)
+ ClearOverlays(cache_target)
+ AddOverlays(sources, cache_target)
+
+
+/**
+ * Copy the overlays from another atom.
+ *
+ * @param other The atom to copy overlays from.
+ * @param clear If TRUE, clear before adding other's overlays.
+ * @param cache_target A mask of ICON_CACHE_TARGET_* indicating what to copy.
+ */
+/atom/proc/CopyOverlays(atom/other, clear, cache_target = ATOM_ICON_CACHE_NORMAL)
+ SHOULD_NOT_OVERRIDE(TRUE)
+ if (clear)
+ ClearOverlays(cache_target)
+ if (!istype(other))
+ return
+ if (cache_target & ATOM_ICON_CACHE_PROTECTED)
+ AddOverlays(other.atom_protected_overlay_cache, ATOM_ICON_CACHE_PROTECTED)
+ if (cache_target & ATOM_ICON_CACHE_NORMAL)
+ AddOverlays(other.atom_overlay_cache, ATOM_ICON_CACHE_NORMAL)
+
+
+// Skin-deep API parity for images.
+// Reference for permitted types.
+
+/// Adds sources to the image's overlays.
+/image/proc/AddOverlays(sources)
+ SHOULD_NOT_OVERRIDE(TRUE)
+ overlays |= sources
+
+
+/// Removes sources from the image's overlays.
+/image/proc/CutOverlays(sources)
+ SHOULD_NOT_OVERRIDE(TRUE)
+ overlays -= sources
+
+
+/// Removes all of the image's overlays.
+/image/proc/ClearOverlays()
+ SHOULD_NOT_OVERRIDE(TRUE)
+ LIST_RESIZE(overlays, 0)
+
+
+/// Copies the overlays from the atom other, clearing first if set, and using the caches indicated.
+/image/proc/CopyOverlays(atom/other, clear, cache_target = ATOM_ICON_CACHE_ALL)
+ SHOULD_NOT_OVERRIDE(TRUE)
+ if (clear)
+ LIST_RESIZE(overlays, 0)
+ if (!istype(other))
+ return
+ if (cache_target & ATOM_ICON_CACHE_PROTECTED)
+ overlays |= other.atom_protected_overlay_cache
+ if (cache_target & ATOM_ICON_CACHE_NORMAL)
+ overlays |= other.atom_overlay_cache
-/atom
- var/tmp/list/our_overlays //our local copy of (non-priority) overlays without byond magic. Use procs in SSoverlays to manipulate
- var/tmp/list/priority_overlays //overlays that should remain on top and not normally removed when using cut_overlay functions, like c4.
- var/tmp/overlay_queued
diff --git a/code/game/atom/_atom.dm b/code/game/atom/_atom.dm
index 116231785b6..086ef4f0084 100644
--- a/code/game/atom/_atom.dm
+++ b/code/game/atom/_atom.dm
@@ -56,6 +56,12 @@
/// How this atom should react to having its astar blocking checked
var/can_astar_pass = CANASTARPASS_DENSITY
+ /// This atom's cache of non-protected overlays, used for normal icon additions. Do not manipulate directly- See SSoverlays.
+ var/list/atom_overlay_cache
+
+ /// This atom's cache of overlays that can only be removed explicitly, like C4. Do not manipulate directly- See SSoverlays.
+ var/list/atom_protected_overlay_cache
+
/atom/Destroy(force)
if(opacity)
updateVisibility(src)
@@ -80,11 +86,11 @@
if(icon_update_queued)
SSicon_update.remove_from_queue(src)
- if(length(our_overlays))
- LAZYCLEARLIST(our_overlays)
+ if(length(atom_overlay_cache))
+ LAZYCLEARLIST(atom_overlay_cache)
- if(length(priority_overlays))
- LAZYCLEARLIST(priority_overlays)
+ if(length(atom_protected_overlay_cache))
+ LAZYCLEARLIST(atom_protected_overlay_cache)
if(orbiters)
for(var/thing in orbiters)
diff --git a/code/game/gamemodes/changeling/implements/powers/body.dm b/code/game/gamemodes/changeling/implements/powers/body.dm
index 8dc998611cf..ef92c03c90b 100644
--- a/code/game/gamemodes/changeling/implements/powers/body.dm
+++ b/code/game/gamemodes/changeling/implements/powers/body.dm
@@ -159,7 +159,7 @@
C.transforming = TRUE
C.canmove = FALSE
C.icon = null
- C.cut_overlays()
+ C.ClearOverlays()
C.set_invisibility(101)
var/atom/movable/overlay/animation = new /atom/movable/overlay(C.loc)
animation.icon_state = "blank"
diff --git a/code/game/gamemodes/cult/hell_universe.dm b/code/game/gamemodes/cult/hell_universe.dm
index 57f1857b10e..1e91fd52181 100644
--- a/code/game/gamemodes/cult/hell_universe.dm
+++ b/code/game/gamemodes/cult/hell_universe.dm
@@ -62,7 +62,7 @@ In short:
set waitfor = FALSE
for(var/turf/T in world) // Expensive, but CHECK_TICK should prevent lag.
if(istype(T, /turf/space))
- T.add_overlay("hell01")
+ T.AddOverlays("hell01")
else
var/static/image/I = image('icons/turf/space.dmi', "hell01")
T.underlays += I
diff --git a/code/game/gamemodes/cult/structures/pylon.dm b/code/game/gamemodes/cult/structures/pylon.dm
index b838f5f4cab..243065a6849 100644
--- a/code/game/gamemodes/cult/structures/pylon.dm
+++ b/code/game/gamemodes/cult/structures/pylon.dm
@@ -472,18 +472,18 @@
/obj/structure/cult/pylon/update_icon()
- cut_overlays()
+ ClearOverlays()
if(pylonmode == PYLON_TURRET)
anchored = TRUE
if(empowered)
- add_overlay("crystal_overcharge")
+ AddOverlays("crystal_overcharge")
set_light(7, 3, l_color = "#a160bf")
else
set_light(6, 3, l_color = "#3e0000")
- add_overlay("crystal_turret")
+ AddOverlays("crystal_turret")
else if(!isbroken)
set_light(5, 2, l_color = "#3e0000")
- add_overlay("crystal_idle")
+ AddOverlays("crystal_idle")
if(pylonmode == PYLON_AWAITING_SACRIFICE)
anchored = TRUE
else
diff --git a/code/game/gamemodes/endgame/supermatter_cascade/universe.dm b/code/game/gamemodes/endgame/supermatter_cascade/universe.dm
index 87c0c2b9bdc..30c94145866 100644
--- a/code/game/gamemodes/endgame/supermatter_cascade/universe.dm
+++ b/code/game/gamemodes/endgame/supermatter_cascade/universe.dm
@@ -14,10 +14,10 @@ var/global/universe_has_ended = 0
/datum/universal_state/supermatter_cascade/OnTurfChange(var/turf/T)
if(T.name == "space")
- T.add_overlay("end01")
+ T.AddOverlays("end01")
T.underlays -= "end01"
else
- T.cut_overlay("end01")
+ T.CutOverlays("end01")
/datum/universal_state/supermatter_cascade/DecayTurf(var/turf/T)
if(istype(T,/turf/simulated/wall))
@@ -101,7 +101,7 @@ The access requirements on the Asteroid Shuttles' consoles have now been revoked
set waitfor = FALSE
for(var/turf/T in world)
if(istype(T, /turf/space))
- T.add_overlay("end01")
+ T.AddOverlays("end01")
else
if (isNotAdminLevel(T.z))
T.underlays += "end01"
diff --git a/code/game/gamemodes/nuclear/pinpointer.dm b/code/game/gamemodes/nuclear/pinpointer.dm
index 1d621b4d04a..698e959be6a 100644
--- a/code/game/gamemodes/nuclear/pinpointer.dm
+++ b/code/game/gamemodes/nuclear/pinpointer.dm
@@ -81,7 +81,7 @@
else
active = 0
icon_state = "pinoff"
- cut_overlays()
+ ClearOverlays()
to_chat(usr, "You deactivate the pinpointer")
/obj/item/pinpointer/advpinpointer/process()
@@ -113,12 +113,12 @@
icon_state = "pinonfar"
/obj/item/pinpointer/advpinpointer/proc/set_z_overlays(var/atom/target)
- cut_overlays()
+ ClearOverlays()
if(AreConnectedZLevels(src.loc.z, target.z))
if(src.loc.z > target.z)
- add_overlay("pinzdown")
+ AddOverlays("pinzdown")
else if(src.loc.z < target.z)
- add_overlay("pinzup")
+ AddOverlays("pinzup")
else
active = 0
if(ismob(loc))
diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm
index 5f09586fea9..206950699de 100644
--- a/code/game/machinery/Sleeper.dm
+++ b/code/game/machinery/Sleeper.dm
@@ -267,9 +267,9 @@
else if(attacking_item.isscrewdriver())
src.panel_open = !src.panel_open
to_chat(user, "You [src.panel_open ? "open" : "close"] the maintenance panel.")
- cut_overlays()
+ ClearOverlays()
if(src.panel_open)
- add_overlay("[initial(icon_state)]-o")
+ AddOverlays("[initial(icon_state)]-o")
return TRUE
else if(default_part_replacement(user, attacking_item))
return TRUE
diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm
index a6a3e093d6a..c18809e8a54 100644
--- a/code/game/machinery/alarm.dm
+++ b/code/game/machinery/alarm.dm
@@ -495,14 +495,14 @@ pixel_x = 10;
return 0
/obj/machinery/alarm/update_icon()
- cut_overlays()
+ ClearOverlays()
icon_state = "alarmp"
if(wiresexposed)
icon_state = "alarmx"
if((stat & (NOPOWER|BROKEN)) || shorted)
- add_overlay("alarm_fan_off")
+ AddOverlays("alarm_fan_off")
set_light(0)
return
@@ -511,7 +511,7 @@ pixel_x = 10;
icon_level = max(icon_level, 1) //if there's an atmos alarm but everything is okay locally, no need to go past yellow
alarm_overlay = make_screen_overlay(icon, "alarm[icon_level]")
- add_overlay(alarm_overlay)
+ AddOverlays(alarm_overlay)
var/new_color = null
switch(icon_level)
@@ -525,9 +525,9 @@ pixel_x = 10;
set_light(l_range = L_WALLMOUNT_RANGE, l_power = L_WALLMOUNT_POWER, l_color = new_color)
if(regulating_temperature)
- add_overlay("alarm_fan_on")
+ AddOverlays("alarm_fan_on")
else
- add_overlay("alarm_fan_off")
+ AddOverlays("alarm_fan_off")
/obj/machinery/alarm/proc/refresh_all()
for(var/id_tag in alarm_area.air_vent_names)
diff --git a/code/game/machinery/atmoalter/canister.dm b/code/game/machinery/atmoalter/canister.dm
index 51160069b66..2091058a496 100644
--- a/code/game/machinery/atmoalter/canister.dm
+++ b/code/game/machinery/atmoalter/canister.dm
@@ -275,7 +275,7 @@ update_flag
*/
if (src.destroyed)
- cut_overlays()
+ ClearOverlays()
set_light(FALSE)
src.icon_state = text("[]-1", src.canister_color)
return
@@ -286,31 +286,31 @@ update_flag
if(check_change()) //Returns 1 if no change needed to icons.
return
- cut_overlays()
+ ClearOverlays()
set_light(FALSE)
if(signaler)
- add_overlay("signaler")
+ AddOverlays("signaler")
if(update_flag & 1)
- add_overlay("can-open")
+ AddOverlays("can-open")
if(update_flag & 2)
- add_overlay("can-connector")
+ AddOverlays("can-connector")
if(update_flag & 4)
var/mutable_appearance/indicator_overlay = mutable_appearance(icon, "can-o0", plane = EFFECTS_ABOVE_LIGHTING_PLANE)
- add_overlay(indicator_overlay)
+ AddOverlays(indicator_overlay)
set_light(1.4, 1, COLOR_RED_LIGHT)
if(update_flag & 8)
var/mutable_appearance/indicator_overlay = mutable_appearance(icon, "can-o1", plane = EFFECTS_ABOVE_LIGHTING_PLANE)
- add_overlay(indicator_overlay)
+ AddOverlays(indicator_overlay)
set_light(1.4, 1, COLOR_RED_LIGHT)
else if(update_flag & 16)
var/mutable_appearance/indicator_overlay = mutable_appearance(icon, "can-o2", plane = EFFECTS_ABOVE_LIGHTING_PLANE)
- add_overlay(indicator_overlay)
+ AddOverlays(indicator_overlay)
set_light(1.4, 1, COLOR_YELLOW)
else if(update_flag & 32)
var/mutable_appearance/indicator_overlay = mutable_appearance(icon, "can-o3", plane = EFFECTS_ABOVE_LIGHTING_PLANE)
- add_overlay(indicator_overlay)
+ AddOverlays(indicator_overlay)
set_light(1.4, 1, COLOR_BRIGHT_GREEN)
/obj/machinery/portable_atmospherics/canister/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)
diff --git a/code/game/machinery/atmoalter/meter.dm b/code/game/machinery/atmoalter/meter.dm
index c3e9dd53dd0..49fbf32a2c2 100644
--- a/code/game/machinery/atmoalter/meter.dm
+++ b/code/game/machinery/atmoalter/meter.dm
@@ -21,20 +21,20 @@
src.target = locate(/obj/machinery/atmospherics/pipe) in loc
/obj/machinery/meter/process()
- cut_overlays()
+ ClearOverlays()
if(!target)
- add_overlay("pressure_off")
- add_overlay("buttons-x")
+ AddOverlays("pressure_off")
+ AddOverlays("buttons-x")
return FALSE
if(stat & (BROKEN|NOPOWER))
- add_overlay("pressure_off")
+ AddOverlays("pressure_off")
return FALSE
var/datum/gas_mixture/environment = target.return_air()
if(!environment)
- add_overlay("buttons_x")
- add_overlay("pressure0")
+ AddOverlays("buttons_x")
+ AddOverlays("pressure0")
return FALSE
var/button_overlay_name
@@ -88,8 +88,8 @@
if(atmos_overlay.color != temp_color)
atmos_overlay.color = temp_color
- add_overlay(button_overlay)
- add_overlay(atmos_overlay)
+ AddOverlays(button_overlay)
+ AddOverlays(atmos_overlay)
if(frequency)
var/datum/radio_frequency/radio_connection = SSradio.return_frequency(frequency)
diff --git a/code/game/machinery/atmoalter/pump.dm b/code/game/machinery/atmoalter/pump.dm
index e092c3d84e1..43f2dc380a0 100644
--- a/code/game/machinery/atmoalter/pump.dm
+++ b/code/game/machinery/atmoalter/pump.dm
@@ -33,7 +33,7 @@
src.air_contents.adjust_multi(GAS_OXYGEN, air_mix[GAS_OXYGEN], GAS_NITROGEN, air_mix[GAS_NITROGEN])
/obj/machinery/portable_atmospherics/powered/pump/update_icon()
- cut_overlays()
+ ClearOverlays()
if(on && cell && cell.charge)
icon_state = "psiphon:1"
@@ -41,10 +41,10 @@
icon_state = "psiphon:0"
if(holding)
- add_overlay("siphon-open")
+ AddOverlays("siphon-open")
if(connected_port)
- add_overlay("siphon-connector")
+ AddOverlays("siphon-connector")
return
diff --git a/code/game/machinery/atmoalter/scrubber.dm b/code/game/machinery/atmoalter/scrubber.dm
index 81ccc475268..c3dff5c99c7 100644
--- a/code/game/machinery/atmoalter/scrubber.dm
+++ b/code/game/machinery/atmoalter/scrubber.dm
@@ -39,7 +39,7 @@
/obj/machinery/portable_atmospherics/powered/scrubber/update_icon()
- cut_overlays()
+ ClearOverlays()
if(on && cell && cell.charge)
icon_state = "pscrubber:1"
@@ -47,10 +47,10 @@
icon_state = "pscrubber:0"
if(holding)
- add_overlay("scrubber-open")
+ AddOverlays("scrubber-open")
if(connected_port)
- add_overlay("scrubber-connector")
+ AddOverlays("scrubber-connector")
return
diff --git a/code/game/machinery/autolathe/autolathe.dm b/code/game/machinery/autolathe/autolathe.dm
index ff5653fcf36..dceefa993c5 100644
--- a/code/game/machinery/autolathe/autolathe.dm
+++ b/code/game/machinery/autolathe/autolathe.dm
@@ -242,11 +242,11 @@
else if((autolathe_flags & AUTOLATHE_BUSY))
process_queue_item()
-/// Used so that we don't try to add_overlay every tick the autolathe processes.
+/// Used so that we don't try to AddOverlays every tick the autolathe processes.
/obj/machinery/autolathe/proc/start_processing_queue_item()
if(does_flick)
//Fancy autolathe animation.
- add_overlay("process")
+ AddOverlays("process")
autolathe_flags |= AUTOLATHE_STARTED|AUTOLATHE_BUSY
/obj/machinery/autolathe/proc/process_queue_item()
@@ -269,7 +269,7 @@
print_queue -= currently_printing
QDEL_NULL(currently_printing)
- cut_overlay("process")
+ CutOverlays("process")
I.update_icon()
update_use_power(POWER_USE_IDLE)
@@ -364,7 +364,7 @@
var/obj/item/stack/material/sheet = eating
var/icon/load = icon(icon, "load")
load.Blend(sheet.material.icon_colour,ICON_MULTIPLY)
- add_overlay(load)
+ AddOverlays(load)
CUT_OVERLAY_IN(load, 6)
if(istype(eating, /obj/item/stack))
diff --git a/code/game/machinery/body_scanner.dm b/code/game/machinery/body_scanner.dm
index e8553d89cd8..87f558b076d 100644
--- a/code/game/machinery/body_scanner.dm
+++ b/code/game/machinery/body_scanner.dm
@@ -282,13 +282,13 @@
update_icon()
/obj/machinery/body_scanconsole/update_icon()
- cut_overlays()
+ ClearOverlays()
if((stat & BROKEN) || (stat & NOPOWER))
return
else
if(!console_overlay)
console_overlay = make_screen_overlay(icon, "body_scannerconsole-screen")
- add_overlay(console_overlay)
+ AddOverlays(console_overlay)
set_light(1.4, 1, COLOR_PURPLE)
/obj/machinery/body_scanconsole/Initialize()
diff --git a/code/game/machinery/case_button.dm b/code/game/machinery/case_button.dm
index 2d46cf511b3..9adcf14547a 100644
--- a/code/game/machinery/case_button.dm
+++ b/code/game/machinery/case_button.dm
@@ -74,14 +74,14 @@
return
/obj/machinery/case_button/update_icon()
- cut_overlays()
+ ClearOverlays()
if(stat & NOPOWER)
update_use_power(POWER_USE_OFF)
- add_overlay("b[button]d") //Add the deactivated button overlay
- add_overlay("g[cover]d") //Add the deactivated cover overlay
+ AddOverlays("b[button]d") //Add the deactivated button overlay
+ AddOverlays("g[cover]d") //Add the deactivated cover overlay
return
- add_overlay("b[button][active]") //Add the button as overlay
- add_overlay("g[cover][covered]") //Add the glass/shield overlay
+ AddOverlays("b[button][active]") //Add the button as overlay
+ AddOverlays("g[cover][covered]") //Add the glass/shield overlay
return
//Activate the button - Needs to return 1 for the activation to be successful
diff --git a/code/game/machinery/cell_charger.dm b/code/game/machinery/cell_charger.dm
index 56895a99467..e72a0667aa9 100644
--- a/code/game/machinery/cell_charger.dm
+++ b/code/game/machinery/cell_charger.dm
@@ -24,20 +24,20 @@
charge_level = new_level
/obj/machinery/cell_charger/update_icon()
- cut_overlays()
+ ClearOverlays()
if(charging)
charging.update_icon()
- add_overlay(charging.icon_state)
- add_overlay("ccharger-on")
+ AddOverlays(charging.icon_state)
+ AddOverlays("ccharger-on")
if(stat & (NOPOWER|BROKEN))
- add_overlay(charging.overlays)
+ AddOverlays(charging.overlays)
if(INOPERABLE(src) || !charging)
return
update_charge_level()
- add_overlay("cell-o2")
- add_overlay("[icon_state]-o[charge_level]")
+ AddOverlays("cell-o2")
+ AddOverlays("[icon_state]-o[charge_level]")
/obj/machinery/cell_charger/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
diff --git a/code/game/machinery/computer/computer.dm b/code/game/machinery/computer/computer.dm
index 43d440bf929..5f73effb481 100644
--- a/code/game/machinery/computer/computer.dm
+++ b/code/game/machinery/computer/computer.dm
@@ -77,7 +77,7 @@
layer = ABOVE_HUMAN_LAYER
if(WEST)
layer = ABOVE_HUMAN_LAYER
- cut_overlays()
+ ClearOverlays()
if(stat & NOPOWER)
set_light(0)
return
@@ -104,23 +104,23 @@
if(stat & BROKEN)
icon_state = "[icon_state]-broken"
if (overlay_layer != layer)
- add_overlay(image(icon, icon_broken, overlay_layer))
+ AddOverlays(image(icon, icon_broken, overlay_layer))
else
- add_overlay(icon_broken)
+ AddOverlays(icon_broken)
else if (icon_screen)
if (is_holographic)
holographic_overlay(src, src.icon, icon_screen)
if (icon_scanline)
- add_overlay(icon_scanline)
+ AddOverlays(icon_scanline)
if (icon_keyboard)
if((stat & NOPOWER) && has_off_keyboards)
- add_overlay("[icon_keyboard]_off")
+ AddOverlays("[icon_keyboard]_off")
else
- add_overlay(icon_keyboard)
+ AddOverlays(icon_keyboard)
else if (overlay_layer != layer)
- add_overlay(image(icon, icon_screen, overlay_layer))
+ AddOverlays(image(icon, icon_screen, overlay_layer))
else
- add_overlay(icon_screen)
+ AddOverlays(icon_screen)
/obj/machinery/computer/power_change()
..()
diff --git a/code/game/machinery/crusher_piston.dm b/code/game/machinery/crusher_piston.dm
index dd921bab501..8e535ecb744 100644
--- a/code/game/machinery/crusher_piston.dm
+++ b/code/game/machinery/crusher_piston.dm
@@ -132,7 +132,7 @@
right.queue_icon_update()
/obj/machinery/crusher_base/update_icon()
- cut_overlays()
+ ClearOverlays()
var/obj/machinery/crusher_base/left = locate(/obj/machinery/crusher_base, get_step(src, WEST))
var/obj/machinery/crusher_base/right = locate(/obj/machinery/crusher_base, get_step(src, EAST))
@@ -163,7 +163,7 @@
else
holographic_overlay(src, icon, "[asmtype]-overlay-green")
if(panel_open)
- add_overlay("[asmtype]-hatch")
+ AddOverlays("[asmtype]-hatch")
update_above()
/obj/machinery/crusher_base/power_change()
diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm
index 9d66d70d401..af260252975 100644
--- a/code/game/machinery/cryo.dm
+++ b/code/game/machinery/cryo.dm
@@ -319,29 +319,29 @@
user.pulling = null
/obj/machinery/atmospherics/unary/cryo_cell/update_icon()
- cut_overlays()
+ ClearOverlays()
icon_state = "pod[on]"
var/image/I
if(panel_open)
- add_overlay("pod_panel")
+ AddOverlays("pod_panel")
I = image(icon, "pod[on]_top")
I.pixel_z = 32
- add_overlay(I)
+ AddOverlays(I)
if(occupant)
var/image/pickle = image(occupant.icon, occupant.icon_state)
pickle.overlays = occupant.overlays
pickle.pixel_z = 11
- add_overlay(pickle)
+ AddOverlays(pickle)
I = image(icon, "lid[on]")
- add_overlay(I)
+ AddOverlays(I)
I = image(icon, "lid[on]_top")
I.pixel_z = 32
- add_overlay(I)
+ AddOverlays(I)
if(powered())
var/warn_state = "off"
@@ -351,10 +351,10 @@
warn_state = "danger"
else if(air_contents.temperature >= temperature_warning_threshold)
warn_state = "warn"
- add_overlay(screen_overlays["cryo-[warn_state]"])
+ AddOverlays(screen_overlays["cryo-[warn_state]"])
I = screen_overlays["cryo-[warn_state]-top"]
I.pixel_z = 32
- add_overlay(I)
+ AddOverlays(I)
/obj/machinery/atmospherics/unary/cryo_cell/proc/process_occupant()
if(air_contents.total_moles < 10)
diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm
index a9986232479..55ab699f985 100644
--- a/code/game/machinery/cryopod.dm
+++ b/code/game/machinery/cryopod.dm
@@ -261,23 +261,23 @@ GLOBAL_LIST_EMPTY(frozen_crew)
disallow_occupant_types = list(/mob/living/silicon/robot)
/obj/machinery/cryopod/living_quarters/update_icon()
- cut_overlays()
+ ClearOverlays()
var/image/I = image(icon, "pod_top")
- add_overlay(I)
+ AddOverlays(I)
if(occupant)
I = image(icon, "pod_back")
- add_overlay(I)
+ AddOverlays(I)
name = "[name] ([occupant])"
I = image(occupant.icon, occupant.icon_state, dir = SOUTH)
I.overlays = occupant.overlays
I.pixel_z = 11
- add_overlay(I)
+ AddOverlays(I)
I = image(icon, "pod_door")
- add_overlay(I)
+ AddOverlays(I)
else
name = initial(name)
diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm
index bd3817843fd..509809088ea 100644
--- a/code/game/machinery/doors/airlock.dm
+++ b/code/game/machinery/doors/airlock.dm
@@ -1100,25 +1100,25 @@ About the new airlock wires panel:
if(p_open)
panel_overlay = panel_file
- cut_overlays()
+ ClearOverlays()
- add_overlay(frame_color_overlay)
- add_overlay(color_overlay)
- add_overlay(panel_overlay)
- add_overlay(filling_overlay)
- add_overlay(stripe_overlay)
- add_overlay(stripe_filling_overlay)
- add_overlay(weld_overlay)
- add_overlay(brace_overlay)
- add_overlay(lights_overlay)
- add_overlay(sparks_overlay)
- add_overlay(damage_overlay)
+ AddOverlays(frame_color_overlay)
+ AddOverlays(color_overlay)
+ AddOverlays(panel_overlay)
+ AddOverlays(filling_overlay)
+ AddOverlays(stripe_overlay)
+ AddOverlays(stripe_filling_overlay)
+ AddOverlays(weld_overlay)
+ AddOverlays(brace_overlay)
+ AddOverlays(lights_overlay)
+ AddOverlays(sparks_overlay)
+ AddOverlays(damage_overlay)
if(force_compile)
- compile_overlays()
+ UpdateOverlays()
/obj/machinery/door/airlock/do_animate(animation)
- cut_overlays()
+ ClearOverlays()
switch(animation)
if("opening")
diff --git a/code/game/machinery/doors/brigdoors.dm b/code/game/machinery/doors/brigdoors.dm
index ec055180cdd..4946baa72dd 100644
--- a/code/game/machinery/doors/brigdoors.dm
+++ b/code/game/machinery/doors/brigdoors.dm
@@ -414,8 +414,8 @@
// Adds an icon in case the screen is broken/off, stolen from status_display.dm
/obj/machinery/door_timer/proc/set_picture(var/state)
picture_state = state
- cut_overlays()
- add_overlay(picture_state)
+ ClearOverlays()
+ AddOverlays(picture_state)
//Checks to see if there's 1 line or 2, adds text-icons-numbers/letters over display
// Stolen from status_display
@@ -438,7 +438,7 @@
var/image/ID = image('icons/obj/status_display.dmi', icon_state=char)
ID.pixel_x = -(d-1)*5 + px
ID.pixel_y = py
- I.add_overlay(ID)
+ I.AddOverlays(ID)
return I
// Door Timers
diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm
index c5ecad0e8f1..5807a157fcf 100644
--- a/code/game/machinery/doors/firedoor.dm
+++ b/code/game/machinery/doors/firedoor.dm
@@ -422,13 +422,13 @@
/obj/machinery/door/firedoor/close()
if(!can_close())
return
- cut_overlays()
+ ClearOverlays()
latetoggle()
START_PROCESSING_MACHINE(src, MACHINERY_PROCESS_SELF)
return ..()
/obj/machinery/door/firedoor/open(forced = 0, user = usr)
- cut_overlays()
+ ClearOverlays()
if(hatch_open)
hatch_open = 0
visible_message("The maintenance panel of \the [src] closes.")
@@ -445,7 +445,7 @@
return ..()
/obj/machinery/door/firedoor/do_animate(animation)
- compile_overlays()
+ UpdateOverlays()
switch(animation)
if("opening")
flick("door_opening", src)
@@ -455,18 +455,18 @@
playsound(src, close_sound, 37, 1)
/obj/machinery/door/firedoor/update_icon()
- cut_overlays()
+ ClearOverlays()
set_light(0)
var/do_set_light = 0
if(density)
icon_state = "door_closed"
if(hatch_open)
- add_overlay("hatch")
+ AddOverlays("hatch")
if(blocked)
- add_overlay("welded")
+ AddOverlays("welded")
if(pdiff_alert)
- add_overlay(overlay_image(icon, icon_state = "palert", plane = EFFECTS_ABOVE_LIGHTING_PLANE))
+ AddOverlays(overlay_image(icon, icon_state = "palert", plane = EFFECTS_ABOVE_LIGHTING_PLANE))
do_set_light = 1
if(dir_alerts)
for (var/d = 1; d <= 4; d++)
@@ -477,15 +477,15 @@
if (!dir_alerts[d])
continue
if (dir_alerts[d] & FIREDOOR_ALERT_COLD)
- add_overlay(overlay_image(icon, icon_state = "alert_cold", plane = EFFECTS_ABOVE_LIGHTING_PLANE))
+ AddOverlays(overlay_image(icon, icon_state = "alert_cold", plane = EFFECTS_ABOVE_LIGHTING_PLANE))
if (dir_alerts[d] & FIREDOOR_ALERT_HOT)
- add_overlay(overlay_image(icon, icon_state = "alert_hot", plane = EFFECTS_ABOVE_LIGHTING_PLANE))
+ AddOverlays(overlay_image(icon, icon_state = "alert_hot", plane = EFFECTS_ABOVE_LIGHTING_PLANE))
do_set_light = TRUE
else
icon_state = "door_open"
if(blocked)
- add_overlay("welded_open")
+ AddOverlays("welded_open")
if(do_set_light)
set_light(2, 0.5, COLOR_SUN)
diff --git a/code/game/machinery/doppler_array.dm b/code/game/machinery/doppler_array.dm
index b534efa61ad..955d39bb994 100644
--- a/code/game/machinery/doppler_array.dm
+++ b/code/game/machinery/doppler_array.dm
@@ -33,10 +33,10 @@ var/list/doppler_arrays = list()
if(stat & BROKEN)
icon_state = "broken"
else
- cut_overlays()
+ ClearOverlays()
if(!(stat & NOPOWER))
set_light(2, 1, COLOR_CYAN)
- add_overlay(image(icon, src, "teleport"))
+ AddOverlays(image(icon, src, "teleport"))
/obj/machinery/doppler_array/proc/sense_explosion(var/x0,var/y0,var/z0,var/devastation_range,var/heavy_impact_range,var/light_impact_range)
if(!active)
diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm
index 474ea5fbc5f..3101a169bba 100644
--- a/code/game/machinery/firealarm.dm
+++ b/code/game/machinery/firealarm.dm
@@ -28,31 +28,31 @@
. += "The current alert level is [get_security_level()]."
/obj/machinery/firealarm/update_icon()
- cut_overlays()
+ ClearOverlays()
if(wiresexposed)
switch(buildstage)
if(2)
- add_overlay("fire_b2")
+ AddOverlays("fire_b2")
if(1)
- add_overlay("fire_b1")
+ AddOverlays("fire_b1")
if(0)
- add_overlay("fire_b0")
+ AddOverlays("fire_b0")
return
if(stat & BROKEN)
- add_overlay("firex")
+ AddOverlays("firex")
set_light(0)
else if(stat & NOPOWER)
- add_overlay("firep")
+ AddOverlays("firep")
set_light(0)
else
var/area/A = get_area(src)
if(A.fire)
- add_overlay("fire1")
+ AddOverlays("fire1")
set_light(l_range = L_WALLMOUNT_HI_RANGE, l_power = L_WALLMOUNT_HI_POWER, l_color = COLOR_RED)
else
- add_overlay("fire0")
+ AddOverlays("fire0")
set_light(0)
/obj/machinery/firealarm/fire_act(datum/gas_mixture/air, temperature, volume)
diff --git a/code/game/machinery/flasher.dm b/code/game/machinery/flasher.dm
index 96eb2496410..988a3b71380 100644
--- a/code/game/machinery/flasher.dm
+++ b/code/game/machinery/flasher.dm
@@ -112,11 +112,11 @@
if (!src.anchored)
user.show_message(text("[src] can now be moved."))
- cut_overlays()
+ ClearOverlays()
else if (src.anchored)
user.show_message(text("[src] is now secured."))
- add_overlay("[base_state]-s")
+ AddOverlays("[base_state]-s")
return TRUE
/obj/machinery/button/flasher
diff --git a/code/game/machinery/floodlight.dm b/code/game/machinery/floodlight.dm
index a069883ca5f..891f5b9b1e4 100644
--- a/code/game/machinery/floodlight.dm
+++ b/code/game/machinery/floodlight.dm
@@ -30,7 +30,7 @@
. += SPAN_WARNING("\The [src] has no cell installed!")
/obj/machinery/floodlight/update_icon()
- cut_overlays()
+ ClearOverlays()
icon_state = "flood[open ? "o" : ""][open && cell ? "b" : ""]0[on]"
/obj/machinery/floodlight/process()
diff --git a/code/game/machinery/floor_light.dm b/code/game/machinery/floor_light.dm
index d22e122c83f..4ecbe818365 100644
--- a/code/game/machinery/floor_light.dm
+++ b/code/game/machinery/floor_light.dm
@@ -123,7 +123,7 @@ var/list/floor_light_cache = list()
update_icon()
/obj/machinery/floor_light/update_icon()
- cut_overlays()
+ ClearOverlays()
var/list/floor_light_cache = SSicon_cache.floor_light_cache
if(use_power && !broken())
if(damaged == null)
@@ -133,7 +133,7 @@ var/list/floor_light_cache = list()
I.color = default_light_colour
I.layer = layer+0.001
floor_light_cache[cache_key] = I
- add_overlay(floor_light_cache[cache_key])
+ AddOverlays(floor_light_cache[cache_key])
else
if(damaged == 0) //Needs init.
damaged = rand(1,4)
@@ -143,7 +143,7 @@ var/list/floor_light_cache = list()
I.color = default_light_colour
I.layer = layer+0.001
floor_light_cache[cache_key] = I
- add_overlay(floor_light_cache[cache_key])
+ AddOverlays(floor_light_cache[cache_key])
if(stat & BROKEN)
icon_state = "broken"
else
diff --git a/code/game/machinery/iv_drip.dm b/code/game/machinery/iv_drip.dm
index 3beb635eaad..69148ac95fb 100644
--- a/code/game/machinery/iv_drip.dm
+++ b/code/game/machinery/iv_drip.dm
@@ -92,9 +92,9 @@
return ..()
/obj/machinery/iv_drip/update_icon()
- cut_overlays()
+ ClearOverlays()
if(beaker)
- add_overlay("beaker")
+ AddOverlays("beaker")
var/datum/reagents/reagents = beaker.reagents
if(reagents?.total_volume)
var/image/filling = image('icons/obj/iv_drip.dmi', src, "reagent")
@@ -111,17 +111,17 @@
filling.icon_state = "reagent[fill_level]"
var/reagent_color = reagents.get_color()
filling.icon += reagent_color
- add_overlay(filling)
+ AddOverlays(filling)
if(attached)
- add_overlay("iv_in")
+ AddOverlays("iv_in")
if(mode)
- add_overlay("light_green")
+ AddOverlays("light_green")
else
- add_overlay("light_red")
+ AddOverlays("light_red")
if(blood_message_sent)
- add_overlay("light_yellow")
+ AddOverlays("light_yellow")
else
- add_overlay("iv_out")
+ AddOverlays("iv_out")
if(tank)
if(istype(tank, /obj/item/tank/oxygen))
tank_type = "oxy"
@@ -131,7 +131,7 @@
tank_type = "phoron"
else
tank_type = "other"
- add_overlay("tank_[tank_type]")
+ AddOverlays("tank_[tank_type]")
var/tank_level = 2
switch(tank.percent())
@@ -142,16 +142,16 @@
if(60 to 79) tank_level = 4
if(80 to 90) tank_level = 5
if(91 to INFINITY) tank_level = 6
- add_overlay("[tank.gauge_icon][tank_level]")
+ AddOverlays("[tank.gauge_icon][tank_level]")
if(breath_mask)
if(breather)
- add_overlay("mask_on")
+ AddOverlays("mask_on")
else
- add_overlay("mask_off")
+ AddOverlays("mask_off")
if(epp_active)
- add_overlay("light_blue")
+ AddOverlays("light_blue")
if(panel_open)
- add_overlay("panel_open")
+ AddOverlays("panel_open")
/obj/machinery/iv_drip/process()
breather_process()
@@ -500,7 +500,7 @@
toggle_epp()
/obj/machinery/iv_drip/proc/do_crash()
- cut_overlays()
+ ClearOverlays()
visible_message(SPAN_WARNING("\The [src] falls over with a buzz, spilling out it's contents!"))
flick("iv_crash[is_loose ? "" : "_tank_[tank_type]"]", src)
playsound(src, 'sound/effects/table_slam.ogg', 50, extrarange = MEDIUM_RANGE_SOUND_EXTRARANGE)
diff --git a/code/game/machinery/jukebox.dm b/code/game/machinery/jukebox.dm
index e342f0def0f..506ef3ae907 100644
--- a/code/game/machinery/jukebox.dm
+++ b/code/game/machinery/jukebox.dm
@@ -50,7 +50,7 @@
update_icon()
/obj/machinery/media/jukebox/update_icon()
- cut_overlays()
+ ClearOverlays()
if(stat & (NOPOWER|BROKEN) || !anchored)
if(stat & BROKEN)
icon_state = "[state_base]-broken"
@@ -60,9 +60,9 @@
icon_state = state_base
if(playing)
if(emagged)
- add_overlay("[state_base]-emagged")
+ AddOverlays("[state_base]-emagged")
else
- add_overlay("[state_base]-running")
+ AddOverlays("[state_base]-running")
/obj/machinery/media/jukebox/Topic(href, href_list)
if(..() || !(Adjacent(usr) || istype(usr, /mob/living/silicon)))
@@ -219,10 +219,10 @@
)
/obj/machinery/media/jukebox/phonograph/update_icon()
- cut_overlays()
+ ClearOverlays()
icon_state = state_base
if(playing)
- add_overlay("[state_base]-running")
+ AddOverlays("[state_base]-running")
/obj/machinery/media/jukebox/audioconsole
name = "audioconsole"
@@ -245,10 +245,10 @@
)
/obj/machinery/media/jukebox/audioconsole/update_icon()
- cut_overlays()
+ ClearOverlays()
icon_state = state_base
if(playing)
- add_overlay("[state_base]-running")
+ AddOverlays("[state_base]-running")
/obj/machinery/media/jukebox/audioconsole/wall
icon = 'icons/obj/audioconsole_wall.dmi'
@@ -271,7 +271,7 @@
)
/obj/machinery/media/jukebox/gramophone/update_icon()
- cut_overlays()
+ ClearOverlays()
icon_state = state_base
if(playing)
- add_overlay("[state_base]-running")
+ AddOverlays("[state_base]-running")
diff --git a/code/game/machinery/lightswitch.dm b/code/game/machinery/lightswitch.dm
index 426396a161c..ff22febfa0d 100644
--- a/code/game/machinery/lightswitch.dm
+++ b/code/game/machinery/lightswitch.dm
@@ -30,7 +30,7 @@
update_icon()
/obj/machinery/light_switch/update_icon()
- cut_overlays()
+ ClearOverlays()
if(!(stat & NOPOWER))
holographic_overlay(src, icon, "light[on]-overlay")
if (!light_range || light_color != on ? "#82ff4c" : "#f86060")
diff --git a/code/game/machinery/mecha_fabricator.dm b/code/game/machinery/mecha_fabricator.dm
index f3334c78d57..676769baa6c 100644
--- a/code/game/machinery/mecha_fabricator.dm
+++ b/code/game/machinery/mecha_fabricator.dm
@@ -52,12 +52,12 @@
update_icon()
/obj/machinery/mecha_part_fabricator/update_icon()
- cut_overlays()
+ ClearOverlays()
icon_state = "fab-base"
if(busy)
- add_overlay("fab-active")
+ AddOverlays("fab-active")
if(panel_open)
- add_overlay("fab-panel")
+ AddOverlays("fab-panel")
/obj/machinery/mecha_part_fabricator/dismantle()
for(var/f in materials)
@@ -174,7 +174,7 @@
var/count = 0
var/icon/load = icon(icon, "load")
load.Blend(M.material.icon_colour,ICON_MULTIPLY)
- add_overlay(load)
+ AddOverlays(load)
CUT_OVERLAY_IN(load, 6)
while(materials[M.material.name] + M.perunit <= res_max_amount && M.amount >= 1)
diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm
index 48a34552dad..24b0020b0eb 100644
--- a/code/game/machinery/newscaster.dm
+++ b/code/game/machinery/newscaster.dm
@@ -156,30 +156,30 @@ var/list/obj/machinery/newscaster/allCasters = list()
icon_state = initial(icon_state)
set_light(FALSE)
if(isbroken) //If the thing is smashed, add crack overlay on top of the unpowered sprite.
- cut_overlays()
- add_overlay(screen_overlays["crack3"])
+ ClearOverlays()
+ AddOverlays(screen_overlays["crack3"])
return
- cut_overlays() //reset overlays
+ ClearOverlays() //reset overlays
- add_overlay(screen_overlays["newscaster-screen"])
+ AddOverlays(screen_overlays["newscaster-screen"])
set_light(1.4, 1.3, COLOR_CYAN)
if(!alert || !SSnews.wanted_issue) // since we're transparent I don't want overlay nonsense
- add_overlay(screen_overlays["newscaster-title"])
+ AddOverlays(screen_overlays["newscaster-title"])
if(SSnews.wanted_issue) //wanted icon state, there can be no overlays on it as it's a priority message
- add_overlay(screen_overlays["newscaster-wanted"])
+ AddOverlays(screen_overlays["newscaster-wanted"])
return
if(alert) //new message alert overlay
- add_overlay(screen_overlays["newscaster-alert"])
+ AddOverlays(screen_overlays["newscaster-alert"])
if(hitstaken == 0)
- add_overlay(screen_overlays["newscaster-scanline"])
+ AddOverlays(screen_overlays["newscaster-scanline"])
if(hitstaken > 0) //Cosmetic damage overlay
- add_overlay(screen_overlays["crack[hitstaken]"])
+ AddOverlays(screen_overlays["crack[hitstaken]"])
icon_state = initial(icon_state)
return
diff --git a/code/game/machinery/nuclear_bomb.dm b/code/game/machinery/nuclear_bomb.dm
index bdd1a38d49f..07a3c748b57 100644
--- a/code/game/machinery/nuclear_bomb.dm
+++ b/code/game/machinery/nuclear_bomb.dm
@@ -49,12 +49,12 @@ var/bomb_set
if (src.auth)
if (panel_open == 0)
panel_open = 1
- add_overlay("panel_open")
+ AddOverlays("panel_open")
to_chat(user, "You unscrew the control panel of [src].")
attacking_item.play_tool_sound(src, 50)
else
panel_open = 0
- cut_overlay("panel_open")
+ CutOverlays("panel_open")
to_chat(user, "You screw the control panel of [src] back on.")
attacking_item.play_tool_sound(src, 50)
else
@@ -62,7 +62,7 @@ var/bomb_set
to_chat(user, "\The [src] emits a buzzing noise, the panel staying locked in.")
if (panel_open == 1)
panel_open = 0
- cut_overlay("panel_open")
+ CutOverlays("panel_open")
to_chat(user, "You screw the control panel of \the [src] back on.")
attacking_item.play_tool_sound(src, 50)
flick("lock", src)
diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm
index dbd0dd6253d..5087db70660 100644
--- a/code/game/machinery/portable_turret.dm
+++ b/code/game/machinery/portable_turret.dm
@@ -170,7 +170,7 @@
/obj/machinery/porta_turret/update_icon()
- cut_overlays()
+ ClearOverlays()
underlays.Cut()
if(stat & BROKEN)
@@ -916,7 +916,7 @@
installation = attacking_item //installation becomes I.type
build_step = 4
icon_state = "turret_frame_4_[case_sprite_set]"
- add_overlay("turret_[E.turret_sprite_set]_off")
+ AddOverlays("turret_[E.turret_sprite_set]_off")
return TRUE
else if(attacking_item.iswrench())
@@ -944,8 +944,8 @@
build_step = 6
to_chat(user, "You close the access hatch.")
icon_state = "turret_frame_5a_[case_sprite_set]"
- add_overlay("turret_[E.turret_sprite_set]_off")
- add_overlay("turret_frame_5b_[case_sprite_set]")
+ AddOverlays("turret_[E.turret_sprite_set]_off")
+ AddOverlays("turret_frame_5b_[case_sprite_set]")
return TRUE
//attack_hand() removes the prox sensor
@@ -955,10 +955,10 @@
var/obj/item/stack/M = attacking_item
if(M.use(2))
to_chat(user, "You add some metal armor to the exterior frame.")
- cut_overlays()
+ ClearOverlays()
icon_state = "turret_frame_5a_[case_sprite_set]"
- add_overlay("turret_[E.turret_sprite_set]_off")
- add_overlay("turret_frame_5c_[case_sprite_set]")
+ AddOverlays("turret_[E.turret_sprite_set]_off")
+ AddOverlays("turret_frame_5c_[case_sprite_set]")
build_step = 7
else
to_chat(user, "You need two sheets of metal to continue construction.")
@@ -968,9 +968,9 @@
attacking_item.play_tool_sound(get_turf(src), 100)
build_step = 5
to_chat(user, "You open the access hatch.")
- cut_overlays()
+ ClearOverlays()
icon_state = "turret_frame_4_[case_sprite_set]"
- add_overlay("turret_[E.turret_sprite_set]_off")
+ AddOverlays("turret_[E.turret_sprite_set]_off")
return TRUE
if(7)
@@ -1025,10 +1025,10 @@
to_chat(user, "You pry off the turret's exterior armor.")
new /obj/item/stack/material/steel(loc, 2)
build_step = 6
- cut_overlays()
+ ClearOverlays()
icon_state = "turret_frame_5a_[case_sprite_set]"
- add_overlay("turret_[E.turret_sprite_set]_off")
- add_overlay("turret_frame_5c_[case_sprite_set]")
+ AddOverlays("turret_[E.turret_sprite_set]_off")
+ AddOverlays("turret_frame_5c_[case_sprite_set]")
return TRUE
if(attacking_item.ispen()) //you can rename turrets like bots!
@@ -1047,7 +1047,7 @@
build_step = 3
E.forceMove(src.loc)
installation = null
- cut_overlays()
+ ClearOverlays()
icon_state = "turret_frame_3_[case_sprite_set]"
to_chat(user, "You remove [E.name] from the turret frame.")
diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm
index defcabede47..96f9f74f723 100644
--- a/code/game/machinery/rechargestation.dm
+++ b/code/game/machinery/rechargestation.dm
@@ -183,20 +183,20 @@
desc += "
It is capable of repairing stationbounds' burn damage."
/obj/machinery/recharge_station/proc/build_overlays()
- cut_overlays()
+ ClearOverlays()
switch(round(chargepercentage()))
if(1 to 20)
- add_overlay("statn_c0")
+ AddOverlays("statn_c0")
if(21 to 40)
- add_overlay("statn_c20")
+ AddOverlays("statn_c20")
if(41 to 60)
- add_overlay("statn_c40")
+ AddOverlays("statn_c40")
if(61 to 80)
- add_overlay("statn_c60")
+ AddOverlays("statn_c60")
if(81 to 98)
- add_overlay("statn_c80")
+ AddOverlays("statn_c80")
if(99 to 110)
- add_overlay("statn_c100")
+ AddOverlays("statn_c100")
/obj/machinery/recharge_station/update_icon()
..()
diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm
index 133830103f8..46688640389 100644
--- a/code/game/machinery/requests_console.dm
+++ b/code/game/machinery/requests_console.dm
@@ -148,26 +148,26 @@ var/list/obj/machinery/requests_console/allConsoles = list()
update_icon()
/obj/machinery/requests_console/update_icon()
- cut_overlays()
+ ClearOverlays()
if(stat & NOPOWER)
icon_state = initial(icon_state)
set_light(FALSE)
else
switch(newmessagepriority)
if(0)
- add_overlay(screen_overlays["req_comp-idle"])
+ AddOverlays(screen_overlays["req_comp-idle"])
set_light(1.4, 1.3, COLOR_CYAN)
if(1)
- add_overlay(screen_overlays["req_comp-alert"])
+ AddOverlays(screen_overlays["req_comp-alert"])
set_light(1.4, 1.3, COLOR_CYAN)
if(2)
- add_overlay(screen_overlays["req_comp-redalert"])
+ AddOverlays(screen_overlays["req_comp-redalert"])
set_light(1.4, 1.3, COLOR_ORANGE)
if(3)
- add_overlay(screen_overlays["req_comp-yellowalert"])
+ AddOverlays(screen_overlays["req_comp-yellowalert"])
set_light(1.4, 1.3, COLOR_ORANGE)
- add_overlay(screen_overlays["req_comp-scanline"])
+ AddOverlays(screen_overlays["req_comp-scanline"])
/obj/machinery/requests_console/Initialize(mapload, var/dir, var/building = 0)
. = ..()
diff --git a/code/game/machinery/ringer.dm b/code/game/machinery/ringer.dm
index 2e29eb48ebb..c799376cc75 100644
--- a/code/game/machinery/ringer.dm
+++ b/code/game/machinery/ringer.dm
@@ -88,21 +88,21 @@ pixel_x = 8;
screen_overlays["bell-standby"] = make_screen_overlay(icon, "bell-standby")
/obj/machinery/ringer/update_icon()
- cut_overlays()
+ ClearOverlays()
if(!on || stat & NOPOWER)
icon_state = initial(icon_state)
set_light(FALSE)
return
if(rings_pdas || rings_pdas.len)
- add_overlay(screen_overlays["bell-active"])
+ AddOverlays(screen_overlays["bell-active"])
set_light(1.4, 1, COLOR_CYAN)
if(pinged)
- add_overlay(screen_overlays["bell-alert"])
+ AddOverlays(screen_overlays["bell-alert"])
set_light(1.4, 1, COLOR_CYAN)
if(on)
- add_overlay(screen_overlays["bell-scanline"])
+ AddOverlays(screen_overlays["bell-scanline"])
else
- add_overlay(screen_overlays["bell-standby"])
+ AddOverlays(screen_overlays["bell-standby"])
set_light(1.4, 1, COLOR_CYAN)
/obj/machinery/ringer/attackby(obj/item/attacking_item, mob/user)
diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm
index 12471b51e93..25428d75f73 100644
--- a/code/game/machinery/spaceheater.dm
+++ b/code/game/machinery/spaceheater.dm
@@ -20,7 +20,7 @@
update_icon()
/obj/machinery/space_heater/update_icon()
- cut_overlays()
+ ClearOverlays()
if(!on)
icon_state = "sheater-off"
set_light(0)
@@ -34,7 +34,7 @@
icon_state = "sheater-standby"
set_light(0)
if(panel_open)
- add_overlay("sheater-open")
+ AddOverlays("sheater-open")
/obj/machinery/space_heater/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
diff --git a/code/game/machinery/stargazer.dm b/code/game/machinery/stargazer.dm
index f6f4687369c..feae1e64b81 100644
--- a/code/game/machinery/stargazer.dm
+++ b/code/game/machinery/stargazer.dm
@@ -24,18 +24,18 @@
..()
if(stat & BROKEN)
icon_state = "stargazer_off"
- cut_overlays()
+ ClearOverlays()
set_light(0)
else if(!(stat & NOPOWER))
icon_state = "stargazer_on"
- add_overlay(star_system_image)
+ AddOverlays(star_system_image)
var/stargazer_light_color = LIGHT_COLOR_HALOGEN
if(SSatlas.current_sector.starlight_color)
stargazer_light_color = SSatlas.current_sector.starlight_color
set_light(6, 2, stargazer_light_color)
else
icon_state = "stargazer_off"
- cut_overlays()
+ ClearOverlays()
set_light(0)
/obj/machinery/stargazer/Topic(href, href_list, datum/ui_state/state)
diff --git a/code/game/machinery/stasis_bed.dm b/code/game/machinery/stasis_bed.dm
index ce81efc1adc..6a6176ab26c 100644
--- a/code/game/machinery/stasis_bed.dm
+++ b/code/game/machinery/stasis_bed.dm
@@ -71,15 +71,15 @@
return stasis_enabled && !(stat & (NOPOWER|BROKEN))
/obj/machinery/stasis_bed/update_icon()
- cut_overlays()
+ ClearOverlays()
if(stat & BROKEN)
icon_state = "[initial(icon_state)]_broken"
return ..()
icon_state = initial(icon_state)
if(panel_open || (stat & MAINT))
- add_overlay("stasis_maintenance")
+ AddOverlays("stasis_maintenance")
if(stasis_running())
- add_overlay("stasis_on")
+ AddOverlays("stasis_on")
/obj/machinery/stasis_bed/power_change()
. = ..()
diff --git a/code/game/machinery/status_display.dm b/code/game/machinery/status_display.dm
index 3653fe9e145..3e06884ab6b 100644
--- a/code/game/machinery/status_display.dm
+++ b/code/game/machinery/status_display.dm
@@ -160,7 +160,7 @@
/obj/machinery/status_display/proc/set_picture(state)
remove_display()
picture_state = state
- add_overlay(picture_state)
+ AddOverlays(picture_state)
/obj/machinery/status_display/proc/update_display(line1, line2)
var/new_text = {"[line1]
[line2]
"}
@@ -210,7 +210,7 @@
return "Launch"
/obj/machinery/status_display/proc/remove_display()
- cut_overlays()
+ ClearOverlays()
if(maptext)
maptext = ""
diff --git a/code/game/machinery/status_display_ai.dm b/code/game/machinery/status_display_ai.dm
index 51ebc89bce8..183d8ae0134 100644
--- a/code/game/machinery/status_display_ai.dm
+++ b/code/game/machinery/status_display_ai.dm
@@ -89,7 +89,7 @@ var/list/ai_status_emotions = list(
/obj/machinery/ai_status_display/proc/update()
switch (mode)
if (0) // Blank
- cut_overlays()
+ ClearOverlays()
if (1) // AI emoticon
var/datum/ai_emotion/ai_emotion = ai_status_emotions[emotion]
@@ -100,12 +100,12 @@ var/list/ai_status_emotions = list(
/obj/machinery/ai_status_display/proc/set_picture(var/state)
picture_state = state
- cut_overlays()
- add_overlay(picture_state)
+ ClearOverlays()
+ AddOverlays(picture_state)
/obj/machinery/ai_status_display/power_change()
..()
if(stat & NOPOWER)
- cut_overlays()
+ ClearOverlays()
else
update()
diff --git a/code/game/machinery/suit_cycler.dm b/code/game/machinery/suit_cycler.dm
index f916da88eb3..3c2fa6179d7 100644
--- a/code/game/machinery/suit_cycler.dm
+++ b/code/game/machinery/suit_cycler.dm
@@ -97,40 +97,40 @@
return ..()
/obj/machinery/suit_cycler/update_icon()
- cut_overlays()
+ ClearOverlays()
if(helmet)
//copied straight from the human update_icons thing
var/image/helmet_image = helmet.return_own_image()
if(helmet_image)
- add_overlay(helmet_image)
+ AddOverlays(helmet_image)
if(suit)
var/image/suit_image = suit.return_own_image()
if(suit_image)
- add_overlay(suit_image)
+ AddOverlays(suit_image)
if(occupant)
var/image/occupant_image = image(occupant.icon, occupant.icon_state)
occupant_image.overlays = occupant.overlays
- add_overlay(occupant_image)
+ AddOverlays(occupant_image)
var/image/overbase = image(icon, "overbase", layer = ABOVE_HUMAN_LAYER)
- add_overlay(overbase)
+ AddOverlays(overbase)
if(locked || active)
var/image/closed = image(icon, "closed", layer = ABOVE_HUMAN_LAYER)
- add_overlay(closed)
+ AddOverlays(closed)
else
var/image/open = image(icon, "open", layer = ABOVE_HUMAN_LAYER)
- add_overlay(open)
+ AddOverlays(open)
if(panel_open)
var/image/panel = image(icon, "panel", layer = ABOVE_HUMAN_LAYER)
- add_overlay(panel)
+ AddOverlays(panel)
if(irradiating)
var/image/irradiating_lights = make_screen_overlay(icon, "light_radiation")
- add_overlay(irradiating_lights)
+ AddOverlays(irradiating_lights)
set_light(3, 0.8, COLOR_RED_LIGHT)
else if(active)
var/image/active_lights = make_screen_overlay(icon, "light_active")
- add_overlay(active_lights)
+ AddOverlays(active_lights)
set_light(3, 0.8, COLOR_YELLOW)
else
set_light(0)
diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm
index 33541365f92..4127606c66e 100644
--- a/code/game/machinery/suit_storage_unit.dm
+++ b/code/game/machinery/suit_storage_unit.dm
@@ -46,38 +46,38 @@
MASK = new MASK_TYPE(src)
/obj/machinery/suit_storage_unit/update_icon()
- cut_overlays()
+ ClearOverlays()
if(panelopen)
- add_overlay("[initial(icon_state)]_panel")
+ AddOverlays("[initial(icon_state)]_panel")
if(isopen)
- add_overlay("[initial(icon_state)]_open")
+ AddOverlays("[initial(icon_state)]_open")
if(SUIT)
- add_overlay("[initial(icon_state)]_suit")
+ AddOverlays("[initial(icon_state)]_suit")
if(HELMET)
- add_overlay("[initial(icon_state)]_helm")
+ AddOverlays("[initial(icon_state)]_helm")
if(MASK)
- add_overlay("[initial(icon_state)]_storage")
+ AddOverlays("[initial(icon_state)]_storage")
if(!isbroken && ispowered)
if(isopen)
- add_overlay("[initial(icon_state)]_lights_open")
+ AddOverlays("[initial(icon_state)]_lights_open")
else
if(isUV)
if(issuperUV)
- add_overlay("[initial(icon_state)]_super")
- add_overlay("[initial(icon_state)]_lights_red")
+ AddOverlays("[initial(icon_state)]_super")
+ AddOverlays("[initial(icon_state)]_lights_red")
else
- add_overlay("[initial(icon_state)]_lights_closed")
+ AddOverlays("[initial(icon_state)]_lights_closed")
//top lights
if(isUV)
if(issuperUV)
- add_overlay("[initial(icon_state)]_uvstrong")
+ AddOverlays("[initial(icon_state)]_uvstrong")
else
- add_overlay("[initial(icon_state)]_uv")
+ AddOverlays("[initial(icon_state)]_uv")
else if(islocked)
- add_overlay("[initial(icon_state)]_locked")
+ AddOverlays("[initial(icon_state)]_locked")
else
- add_overlay("[initial(icon_state)]_ready")
+ AddOverlays("[initial(icon_state)]_ready")
/obj/machinery/suit_storage_unit/power_change()
..()
diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm
index 65b421cdd2d..623056cde32 100644
--- a/code/game/machinery/teleporter.dm
+++ b/code/game/machinery/teleporter.dm
@@ -55,18 +55,18 @@
calibration = min(calibration + 5, 100)
/obj/machinery/teleport/pad/update_icon()
- cut_overlays()
+ ClearOverlays()
if (engaged)
var/image/I = image(icon, src, "[initial(icon_state)]_active_overlay")
I.plane = EFFECTS_ABOVE_LIGHTING_PLANE
- add_overlay(I)
+ AddOverlays(I)
set_light(4, 0.4)
else
set_light(0)
if (operable())
var/image/I = image(icon, src, "[initial(icon_state)]_idle_overlay")
I.plane = EFFECTS_ABOVE_LIGHTING_PLANE
- add_overlay(I)
+ AddOverlays(I)
/obj/machinery/teleport/pad/proc/within_range(var/target)
if(ignore_distance)
diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm
index fdb19091cdd..28efb16c57d 100644
--- a/code/game/machinery/vending.dm
+++ b/code/game/machinery/vending.dm
@@ -167,7 +167,7 @@
screen_overlays["[icon_state]-screen"] = make_screen_overlay(icon, "[icon_state]-screen")
if ("[icon_state]-deny" in states)
screen_overlays["[icon_state]-deny"] = make_screen_overlay(icon, "[icon_state]-deny")
- add_overlay(screen_overlays["[icon_state]-[deny ? "deny" : "screen"]"])
+ AddOverlays(screen_overlays["[icon_state]-[deny ? "deny" : "screen"]"])
reset_light()
/**
@@ -295,10 +295,10 @@
else if(attacking_item.isscrewdriver())
src.panel_open = !src.panel_open
to_chat(user, "You [src.panel_open ? "open" : "close"] the maintenance panel.")
- cut_overlays()
+ ClearOverlays()
add_screen_overlay()
if(src.panel_open)
- add_overlay("[initial(icon_state)]-panel")
+ AddOverlays("[initial(icon_state)]-panel")
return TRUE
else if(attacking_item.ismultitool()||attacking_item.iswirecutter())
if(src.panel_open)
@@ -618,10 +618,10 @@
if((!allowed(usr)) && !emagged && scan_id) //For SECURE VENDING MACHINES YEAH
to_chat(usr, SPAN_WARNING("Access denied.")) //Unless emagged of course
if(exclusive_screen)
- cut_overlays()
+ ClearOverlays()
addtimer(CALLBACK(src, PROC_REF(add_screen_overlay)), deny_time ? deny_time : 15)
add_screen_overlay(deny = TRUE)
- addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, cut_overlay), screen_overlays["[icon_state]-deny"]), deny_time ? deny_time : 15)
+ addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, CutOverlays), screen_overlays["[icon_state]-deny"]), deny_time ? deny_time : 15)
set_light(initial(light_range), initial(light_power), COLOR_RED_LIGHT)
addtimer(CALLBACK(src, PROC_REF(reset_light)), deny_time ? deny_time : 15)
addtimer(CALLBACK(src, PROC_REF(add_screen_overlay)), deny_time ? deny_time : 15)
@@ -676,10 +676,10 @@
if((!allowed(usr)) && !emagged && scan_id) //For SECURE VENDING MACHINES YEAH
to_chat(usr, "Access denied.") //Unless emagged of course)
if(exclusive_screen)
- cut_overlays()
+ ClearOverlays()
addtimer(CALLBACK(src, PROC_REF(add_screen_overlay)), deny_time ? deny_time : 15)
add_screen_overlay(deny = TRUE)
- addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, cut_overlay), screen_overlays["[icon_state]-deny"]), deny_time ? deny_time : 15)
+ addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, CutOverlays), screen_overlays["[icon_state]-deny"]), deny_time ? deny_time : 15)
set_light(initial(light_range), initial(light_power), COLOR_RED_LIGHT)
addtimer(CALLBACK(src, PROC_REF(reset_light)), deny_time ? deny_time : 15)
return
@@ -798,14 +798,14 @@
stat |= NOPOWER
if(stat & BROKEN)
icon_state = "[initial(icon_state)]-broken"
- cut_overlays()
+ ClearOverlays()
set_light(0)
else if(!(stat & NOPOWER))
icon_state = initial(icon_state)
add_screen_overlay()
else
icon_state = "[initial(icon_state)]-off"
- cut_overlays()
+ ClearOverlays()
set_light(0)
//Oh no we're malfunctioning! Dump out some product and break.
diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm
index 419ef95cc62..8e44a4a4e3f 100644
--- a/code/game/objects/effects/decals/Cleanable/humans.dm
+++ b/code/game/objects/effects/decals/Cleanable/humans.dm
@@ -106,11 +106,11 @@
if(!S.blood_DNA)
S.blood_DNA = list()
S.blood_overlay.color = basecolor
- S.add_overlay(S.blood_overlay)
+ S.AddOverlays(S.blood_overlay)
if(S.blood_overlay && S.blood_overlay.color != basecolor)
- S.cut_overlay(S.blood_overlay, TRUE)
+ S.CutOverlays(S.blood_overlay, ATOM_ICON_CACHE_PROTECTED)
S.blood_overlay.color = basecolor
- S.add_overlay(S.blood_overlay, TRUE)
+ S.AddOverlays(S.blood_overlay, ATOM_ICON_CACHE_PROTECTED)
if(blood_DNA)
S.blood_DNA |= blood_DNA.Copy()
@@ -217,8 +217,8 @@
blood.Blend(basecolor,ICON_MULTIPLY)
icon = blood
- cut_overlays()
- add_overlay(giblets)
+ ClearOverlays()
+ AddOverlays(giblets)
/obj/effect/decal/cleanable/blood/gibs/up
random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gibup1","gibup1","gibup1")
diff --git a/code/game/objects/effects/decals/Cleanable/tracks.dm b/code/game/objects/effects/decals/Cleanable/tracks.dm
index 720e8d73299..2cca245a53a 100644
--- a/code/game/objects/effects/decals/Cleanable/tracks.dm
+++ b/code/game/objects/effects/decals/Cleanable/tracks.dm
@@ -127,7 +127,7 @@
update_icon()
/obj/effect/decal/cleanable/blood/tracks/update_icon()
- cut_overlays()
+ ClearOverlays()
color = "#FFFFFF"
var/truedir = 0
@@ -157,7 +157,7 @@
track.fresh = 0
track.overlay = I
stack[stack_idx] = track
- add_overlay(I)
+ AddOverlays(I)
/obj/effect/decal/cleanable/blood/tracks/footprints
name = "wet footprints"
diff --git a/code/game/objects/effects/decals/crayon.dm b/code/game/objects/effects/decals/crayon.dm
index c3a878a3700..5c33eec5238 100644
--- a/code/game/objects/effects/decals/crayon.dm
+++ b/code/game/objects/effects/decals/crayon.dm
@@ -28,6 +28,6 @@
shadeOverlay.Blend(shade,ICON_ADD)
SSicon_cache.crayon_cache["[type]_s"] = shadeOverlay
- add_overlay(list(mainOverlay, shadeOverlay))
+ AddOverlays(list(mainOverlay, shadeOverlay))
add_hiddenprint(usr)
diff --git a/code/game/objects/effects/decals/warning_stripes.dm b/code/game/objects/effects/decals/warning_stripes.dm
index 9ac82e4e801..2153baf77db 100644
--- a/code/game/objects/effects/decals/warning_stripes.dm
+++ b/code/game/objects/effects/decals/warning_stripes.dm
@@ -7,5 +7,5 @@
var/turf/T = get_turf(src)
var/image/I = image(icon, icon_state = icon_state, dir = dir)
I.color = color
- T.add_overlay(I, TRUE) // Register it as priority so we don't lose it on icon update.
+ T.AddOverlays(I, ATOM_ICON_CACHE_PROTECTED) // Register it as protected so we don't lose it on icon update.
qdel(src)
diff --git a/code/game/objects/effects/spiders.dm b/code/game/objects/effects/spiders.dm
index dcb75fdc26a..79e11601705 100644
--- a/code/game/objects/effects/spiders.dm
+++ b/code/game/objects/effects/spiders.dm
@@ -62,7 +62,7 @@
if(prob(75))
var/image/web_overlay = image(icon, icon_state = "[initial(icon_state)]-overlay[pick(1, 2, 3)]", layer = ABOVE_HUMAN_LAYER)
- add_overlay(web_overlay)
+ AddOverlays(web_overlay)
/obj/effect/spider/stickyweb/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
if(air_group || height == 0)
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index ba5b927e253..56d9a5b7bef 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -270,11 +270,11 @@
/obj/item/update_icon()
. = ..()
if(build_from_parts || has_accents)
- cut_overlays()
+ ClearOverlays()
if(build_from_parts)
- add_overlay(overlay_image(icon,"[icon_state]_[worn_overlay]", flags=RESET_COLOR)) //add the overlay w/o coloration of the original sprite
+ AddOverlays(overlay_image(icon,"[icon_state]_[worn_overlay]", flags=RESET_COLOR)) //add the overlay w/o coloration of the original sprite
if(has_accents)
- add_overlay(overlay_image(icon, "[icon_state]_acc", accent_color, accent_flags))
+ AddOverlays(overlay_image(icon, "[icon_state]_acc", accent_color, accent_flags))
/obj/item/device
icon = 'icons/obj/device.dmi'
@@ -784,7 +784,7 @@ var/list/global/slot_flags_enumeration = list(
/obj/item/clean_blood()
. = ..()
if(blood_overlay)
- cut_overlay(blood_overlay, TRUE)
+ CutOverlays(blood_overlay, TRUE)
if(istype(src, /obj/item/clothing/gloves))
var/obj/item/clothing/gloves/G = src
G.transfer_blood = 0
@@ -815,7 +815,7 @@ var/list/global/slot_flags_enumeration = list(
//apply the blood-splatter overlay if it isn't already in there
if(!blood_DNA.len)
blood_overlay.color = blood_color
- add_overlay(blood_overlay, TRUE) // Priority overlay so we don't lose it somehow.
+ AddOverlays(blood_overlay, TRUE) // Priority overlay so we don't lose it somehow.
//if this blood isn't already in the list, add it
if(istype(M))
diff --git a/code/game/objects/items/airbubble.dm b/code/game/objects/items/airbubble.dm
index 88a0f7542e5..1e5bb8be538 100644
--- a/code/game/objects/items/airbubble.dm
+++ b/code/game/objects/items/airbubble.dm
@@ -492,15 +492,15 @@
return contains_body
/obj/structure/closet/airbubble/update_icon()
- cut_overlays()
+ ClearOverlays()
if(ripped)
name = "ripped air bubble"
icon_state = "[icon_state]_ripped"
else
icon_state = "[initial(icon_state)][opened ? "_open" : ""]"
if(zipped)
- add_overlay("[icon_state]_restrained")
- add_overlay("pressure_[(use_internal_tank) ?("on") : ("off") ]")
+ AddOverlays("[icon_state]_restrained")
+ AddOverlays("pressure_[(use_internal_tank) ?("on") : ("off") ]")
// Process transfer of air from the tank. Handle if it is ripped open.
/obj/structure/closet/airbubble/proc/process_tank_give_air()
diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm
index 5fccb2e78ca..ffe692f9fc1 100644
--- a/code/game/objects/items/crayons.dm
+++ b/code/game/objects/items/crayons.dm
@@ -92,10 +92,10 @@
update_icon()
/obj/item/pen/crayon/augment/update_icon()
- cut_overlays()
+ ClearOverlays()
var/image/crayon_tip = image('icons/obj/crayons.dmi', "crayonaugment_tip")
crayon_tip.color = colour
- add_overlay(crayon_tip)
+ AddOverlays(crayon_tip)
/obj/item/pen/crayon/augment/throw_at(atom/target, range, speed, mob/user)
user.drop_from_inventory(src)
diff --git a/code/game/objects/items/devices/aicard.dm b/code/game/objects/items/devices/aicard.dm
index 1bf8974fa5e..fa66a1d7ca4 100644
--- a/code/game/objects/items/devices/aicard.dm
+++ b/code/game/objects/items/devices/aicard.dm
@@ -104,10 +104,10 @@
. = TRUE
/obj/item/aicard/update_icon()
- cut_overlays()
+ ClearOverlays()
if(carded_ai)
if (!carded_ai.control_disabled)
- add_overlay("aicard-on")
+ AddOverlays("aicard-on")
if(carded_ai.stat)
icon_state = "aicard-404"
else
diff --git a/code/game/objects/items/devices/auto_cpr.dm b/code/game/objects/items/devices/auto_cpr.dm
index 769fbf782ab..9ef3fdc13b2 100644
--- a/code/game/objects/items/devices/auto_cpr.dm
+++ b/code/game/objects/items/devices/auto_cpr.dm
@@ -65,35 +65,35 @@
var/c_state = "battery[battery_level][contained_sprite ? slot_str_to_contained_flag(slot) : ""]"
var/image/battery_overlay = image(c_icon, c_state)
battery_overlay.appearance_flags = RESET_ALPHA
- I.add_overlay(battery_overlay)
+ I.AddOverlays(battery_overlay)
if(breath_mask)
var/c_state = "mask_[mask_on ? "worn" : "idle"][contained_sprite ? slot_str_to_contained_flag(slot) : ""]"
var/image/mask_overlay = image(c_icon, c_state)
mask_overlay.appearance_flags = RESET_ALPHA
- I.add_overlay(mask_overlay)
+ I.AddOverlays(mask_overlay)
if(tank)
if(tank_level)
var/c_state = "tank_indicator[tank_level][contained_sprite ? slot_str_to_contained_flag(slot) : ""]"
var/image/tank_level_overlay = image(c_icon, c_state)
tank_level_overlay.appearance_flags = RESET_ALPHA
- I.add_overlay(tank_level_overlay)
+ I.AddOverlays(tank_level_overlay)
var/c_state = "tank_[tank_type][contained_sprite ? slot_str_to_contained_flag(slot) : ""]"
var/image/tank_overlay = image(c_icon, c_state)
tank_overlay.appearance_flags = RESET_ALPHA
- I.add_overlay(tank_overlay)
+ I.AddOverlays(tank_overlay)
if(epp_active)
var/c_state = "epp_active[cpr_mode ? "_cpr" : ""][contained_sprite ? slot_str_to_contained_flag(slot) : ""]"
var/image/epp_overlay = image(c_icon, c_state)
epp_overlay.appearance_flags = RESET_ALPHA
- I.add_overlay(epp_overlay)
+ I.AddOverlays(epp_overlay)
return I
/obj/item/auto_cpr/update_icon()
- cut_overlays()
+ ClearOverlays()
item_state = "[cpr_mode ? "med_harness_cpr" : "[initial(item_state)]"]"
if(breath_mask)
- add_overlay("mask_[mask_on ? "worn" : "idle"]")
+ AddOverlays("mask_[mask_on ? "worn" : "idle"]")
if(battery)
switch(battery.percent())
if(90 to INFINITY) battery_level = 6
@@ -103,7 +103,7 @@
if(20 to 39) battery_level = 2
if(05 to 19) battery_level = 1
if(-INFINITY to 4) battery_level = 0
- add_overlay("battery[battery_level]")
+ AddOverlays("battery[battery_level]")
if(tank)
switch(tank.percent())
if(90 to INFINITY) tank_level = 6
@@ -113,7 +113,7 @@
if(20 to 39) tank_level = 2
if(05 to 19) tank_level = 1
if(-INFINITY to 4) tank_level = 0
- add_overlay("tank_indicator[tank_level]")
+ AddOverlays("tank_indicator[tank_level]")
if(istype(tank, /obj/item/tank/emergency_oxygen/engi))
tank_type = "engi"
@@ -121,11 +121,11 @@
tank_type = "oxy"
else
tank_type = "other"
- add_overlay("tank_[tank_type]")
+ AddOverlays("tank_[tank_type]")
if(epp_active)
- add_overlay("epp_active")
+ AddOverlays("epp_active")
if(panel_open)
- add_overlay("panel_open[battery ? "_battery" : ""]")
+ AddOverlays("panel_open[battery ? "_battery" : ""]")
/obj/item/auto_cpr/mob_can_equip(mob/living/carbon/human/H, slot, disable_warning = 0, force = 0)
. = ..()
diff --git a/code/game/objects/items/devices/lighting/glowstick.dm b/code/game/objects/items/devices/lighting/glowstick.dm
index 79684fce17d..d7c1546893d 100644
--- a/code/game/objects/items/devices/lighting/glowstick.dm
+++ b/code/game/objects/items/devices/lighting/glowstick.dm
@@ -34,7 +34,7 @@
else if(on)
var/image/I = overlay_image(icon, "glowstick-overlay", color)
I.blend_mode = BLEND_ADD
- add_overlay(I)
+ AddOverlays(I)
icon_state = "[initial(icon_state)]-on"
item_state = "[initial(icon_state)]-on"
set_light(brightness_on, flashlight_power, light_color)
diff --git a/code/game/objects/items/devices/lighting/lamp.dm b/code/game/objects/items/devices/lighting/lamp.dm
index 6d0537eb934..901e7bc936d 100644
--- a/code/game/objects/items/devices/lighting/lamp.dm
+++ b/code/game/objects/items/devices/lighting/lamp.dm
@@ -52,10 +52,10 @@
set_light(brightness_on, flashlight_power, light_color)
else
set_light(0)
- cut_overlays()
+ ClearOverlays()
var/image/I = image(icon = icon, icon_state = "lavalamp-[on ? "on" : "off"]")
I.color = light_color
- add_overlay(I)
+ AddOverlays(I)
/obj/item/device/flashlight/lamp/lava/red
light_color = COLOR_RED
diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm
index 4a3fd2ded39..21499d5100e 100644
--- a/code/game/objects/items/devices/lightreplacer.dm
+++ b/code/game/objects/items/devices/lightreplacer.dm
@@ -173,7 +173,7 @@
/obj/item/device/lightreplacer/update_icon()
if(emagged)
- add_overlay("emagged")
+ AddOverlays("emagged")
/obj/item/device/lightreplacer/proc/Use(var/mob/user)
diff --git a/code/game/objects/items/devices/magnetic_lock.dm b/code/game/objects/items/devices/magnetic_lock.dm
index dbe35c94207..014f0e3b493 100644
--- a/code/game/objects/items/devices/magnetic_lock.dm
+++ b/code/game/objects/items/devices/magnetic_lock.dm
@@ -167,15 +167,15 @@
if (WT.use(2, user))
user.visible_message(SPAN_NOTICE("[user] starts welding the metal shell of [src]."), SPAN_NOTICE("You start [hacked ? "repairing" : "welding open"] the metal covering of [src]."))
playsound(loc, 'sound/items/Welder.ogg', 50, 1)
- add_overlay("overlay_welding")
+ AddOverlays("overlay_welding")
if(WT.use_tool(src, user, 25, volume = 50))
to_chat(user, SPAN_NOTICE("You are able to [hacked ? "repair" : "weld through"] the metal shell of [src]."))
if (hacked) locked = 1
else locked = 0
hacked = !hacked
- cut_overlay("overlay_welding")
+ CutOverlays("overlay_welding")
else
- cut_overlay("overlay_welding")
+ CutOverlays("overlay_welding")
update_icon()
return TRUE
@@ -402,7 +402,7 @@
update_overlays()
/obj/item/device/magnetic_lock/proc/update_overlays()
- cut_overlays()
+ ClearOverlays()
switch (status)
if (STATUS_BROKEN)
icon_state = "broken"
@@ -410,16 +410,16 @@
if (STATUS_INACTIVE to STATUS_ACTIVE)
if (hacked)
- add_overlay("overlay_hacked")
+ AddOverlays("overlay_hacked")
else if (locked)
- add_overlay("overlay_locked")
+ AddOverlays("overlay_locked")
else
- add_overlay("overlay_unlocked")
+ AddOverlays("overlay_unlocked")
switch (constructionstate)
if (0)
return
if (1 to 4)
- add_overlay("overlay_deconstruct_[constructionstate]")
+ AddOverlays("overlay_deconstruct_[constructionstate]")
/obj/item/device/magnetic_lock/proc/takedamage(var/damage)
if(invincible)
@@ -453,7 +453,7 @@
switch (status)
if (STATUS_INACTIVE to STATUS_ACTIVE)
if(istype(src, /obj/item/device/magnetic_lock/keypad))
- add_overlay("overlay_keypad")
+ AddOverlays("overlay_keypad")
/obj/item/device/magnetic_lock/keypad/ui_interact(mob/user, datum/tgui/ui)
ui = SStgui.try_update_ui(user, src, ui)
diff --git a/code/game/objects/items/devices/memorywiper.dm b/code/game/objects/items/devices/memorywiper.dm
index 8ce832fd1bb..d0572ec61c6 100644
--- a/code/game/objects/items/devices/memorywiper.dm
+++ b/code/game/objects/items/devices/memorywiper.dm
@@ -35,13 +35,13 @@
update_icon()
/obj/item/device/memorywiper/update_icon()
- cut_overlays()
+ ClearOverlays()
if(anchored)
icon_state = "[initial(icon_state)]_opened"
if(attached)
- add_overlay("wireout")
+ AddOverlays("wireout")
if(wiping)
- add_overlay("screen")
+ AddOverlays("screen")
else
icon_state = initial(icon_state)
diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm
index d3ab5c990d8..517b35218b5 100644
--- a/code/game/objects/items/devices/multitool.dm
+++ b/code/game/objects/items/devices/multitool.dm
@@ -121,7 +121,7 @@
if(tracking_apc)
START_PROCESSING(SSprocessing, src)
apc_indicator = mutable_appearance(icon, "lost")
- add_overlay(apc_indicator)
+ AddOverlays(apc_indicator)
else
STOP_PROCESSING(SSprocessing, src)
QDEL_NULL(apc_indicator)
@@ -169,7 +169,7 @@
apc_indicator.icon_state = "medium"
if(16 to INFINITY)
apc_indicator.icon_state = "far"
- set_overlays(apc_indicator)
+ SetOverlays(apc_indicator)
/obj/item/device/multitool/proc/wire(datum/integrated_io/io, mob/user)
if(!io.holder.assembly)
diff --git a/code/game/objects/items/devices/paicard.dm b/code/game/objects/items/devices/paicard.dm
index c92a488e447..e316ddf818f 100644
--- a/code/game/objects/items/devices/paicard.dm
+++ b/code/game/objects/items/devices/paicard.dm
@@ -34,7 +34,7 @@
/obj/item/device/paicard/Initialize()
. = ..()
- add_overlay("pai_off")
+ AddOverlays("pai_off")
SSpai.all_pai_devices += src
update_light()
@@ -389,19 +389,19 @@
/obj/item/device/paicard/proc/setPersonality(mob/living/silicon/pai/personality)
src.pai = personality
- add_overlay("pai-happy")
+ AddOverlays("pai-happy")
playsound(src, 'sound/effects/pai/pai_restore.ogg', 75)
/obj/item/device/paicard/proc/removePersonality()
src.pai = null
- cut_overlays()
- add_overlay("pai-off")
+ ClearOverlays()
+ AddOverlays("pai-off")
/obj/item/device/paicard
var/current_emotion = 1
/obj/item/device/paicard/proc/setEmotion(var/emotion)
if(pai)
- cut_overlays()
+ ClearOverlays()
var/new_state
switch(emotion)
if(1) new_state = "pai-happy"
@@ -420,7 +420,7 @@
if(14) new_state = "pai-exclamation"
if(15) new_state = "pai-question"
if (new_state)
- add_overlay(new_state)
+ AddOverlays(new_state)
current_emotion = emotion
/obj/item/device/paicard/proc/alertUpdate()
diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm
index fa975c244c0..fb7980f9aff 100644
--- a/code/game/objects/items/devices/radio/intercom.dm
+++ b/code/game/objects/items/devices/radio/intercom.dm
@@ -431,19 +431,19 @@ pixel_x = 8;
..(dest)
/obj/item/device/radio/intercom/update_icon()
- cut_overlays()
+ ClearOverlays()
if(!on)
icon_state = initial(icon_state)
set_light(FALSE)
return
else
- add_overlay(screen_overlays["intercom_screen"])
- add_overlay(screen_overlays["intercom_scanline"])
+ AddOverlays(screen_overlays["intercom_screen"])
+ AddOverlays(screen_overlays["intercom_scanline"])
set_light(1.4, 1.3, COLOR_CYAN)
if(broadcasting)
- add_overlay(screen_overlays["intercom_b"])
+ AddOverlays(screen_overlays["intercom_b"])
if(listening)
- add_overlay(screen_overlays["intercom_l"])
+ AddOverlays(screen_overlays["intercom_l"])
/obj/item/device/radio/intercom/broadcasting/Initialize()
SHOULD_CALL_PARENT(FALSE)
diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm
index 6cf8d2ca6e9..f0bcb18f187 100644
--- a/code/game/objects/items/devices/scanners.dm
+++ b/code/game/objects/items/devices/scanners.dm
@@ -472,10 +472,10 @@ BREATH ANALYZER
origin_tech = list(TECH_MAGNET = 4, TECH_BIO = 2)
/obj/item/device/mass_spectrometer/adv/clear_blood_overlay()
- cut_overlays()
+ ClearOverlays()
/obj/item/device/mass_spectrometer/adv/add_blood_overlay(var/image/I)
- add_overlay(I)
+ AddOverlays(I)
/obj/item/device/reagent_scanner
name = "reagent scanner"
diff --git a/code/game/objects/items/devices/slide_projector.dm b/code/game/objects/items/devices/slide_projector.dm
index 2219ee3ef58..992aa75e691 100644
--- a/code/game/objects/items/devices/slide_projector.dm
+++ b/code/game/objects/items/devices/slide_projector.dm
@@ -157,7 +157,7 @@
if(!istype(I))
qdel(src)
return
- cut_overlays()
+ ClearOverlays()
var/mutable_appearance/MA = new(I)
MA.plane = EFFECTS_ABOVE_LIGHTING_PLANE
MA.appearance_flags = RESET_ALPHA
@@ -202,6 +202,6 @@
if(!istype(P))
qdel(src)
return
- cut_overlays()
+ ClearOverlays()
if(P.info)
icon_state = "text[rand(1,3)]"
diff --git a/code/game/objects/items/devices/suit_cooling.dm b/code/game/objects/items/devices/suit_cooling.dm
index fe7b602f030..ffe8f6e59e7 100644
--- a/code/game/objects/items/devices/suit_cooling.dm
+++ b/code/game/objects/items/devices/suit_cooling.dm
@@ -175,7 +175,7 @@
return ..()
/obj/item/device/suit_cooling_unit/update_icon()
- cut_overlays()
+ ClearOverlays()
if(cover_open)
if(cell)
icon_state = "suitcooler1"
@@ -202,7 +202,7 @@
if(-INFINITY to 17)
battery_level = 5
- add_overlay("battery-[battery_level]")
+ AddOverlays("battery-[battery_level]")
item_state = "coolingpack[battery_level]"
if(ismob(loc))
diff --git a/code/game/objects/items/devices/transfer_valve.dm b/code/game/objects/items/devices/transfer_valve.dm
index 2157fa1dddc..92c83386f9e 100644
--- a/code/game/objects/items/devices/transfer_valve.dm
+++ b/code/game/objects/items/devices/transfer_valve.dm
@@ -117,7 +117,7 @@
toggle = 1
/obj/item/device/transfer_valve/update_icon()
- cut_overlays()
+ ClearOverlays()
underlays = null
if(!tank_one && !tank_two && !attached_device)
@@ -126,13 +126,13 @@
icon_state = "valve"
if(tank_one)
- add_overlay("[tank_one.icon_state]")
+ AddOverlays("[tank_one.icon_state]")
if(tank_two)
var/icon/J = new(icon, icon_state = "[tank_two.icon_state]")
J.Shift(WEST, 13)
underlays += J
if(attached_device)
- add_overlay("device")
+ AddOverlays("device")
/obj/item/device/transfer_valve/proc/remove_tank(obj/item/tank/T, mob/user)
if(tank_one == T)
diff --git a/code/game/objects/items/draftingchalk.dm b/code/game/objects/items/draftingchalk.dm
index bacf1e9df53..9f44f2c2b01 100644
--- a/code/game/objects/items/draftingchalk.dm
+++ b/code/game/objects/items/draftingchalk.dm
@@ -114,6 +114,6 @@
update_icon()
/obj/item/storage/box/fancy/crayons/chalkbox/update_icon()
- cut_overlays()
+ ClearOverlays()
for(var/obj/item/pen/drafting/chalk in contents)
- add_overlay("[chalk.colorName]")
+ AddOverlays("[chalk.colorName]")
diff --git a/code/game/objects/items/glassjar.dm b/code/game/objects/items/glassjar.dm
index 9d0736d3bf2..24060399942 100644
--- a/code/game/objects/items/glassjar.dm
+++ b/code/game/objects/items/glassjar.dm
@@ -145,7 +145,7 @@
/obj/item/glass_jar/update_icon() // Also updates name and desc
underlays.Cut()
- cut_overlays()
+ ClearOverlays()
switch(contains)
if(JAR_NOTHING)
name = initial(name)
diff --git a/code/game/objects/items/holomenu.dm b/code/game/objects/items/holomenu.dm
index dfee4c89d3b..f8b667f635c 100644
--- a/code/game/objects/items/holomenu.dm
+++ b/code/game/objects/items/holomenu.dm
@@ -34,7 +34,7 @@
update_icon()
/obj/item/holomenu/update_icon()
- cut_overlays()
+ ClearOverlays()
if(anchored)
set_light(2)
if(rave_mode)
@@ -46,11 +46,11 @@
holo_lights.color = null
holo_text.color = null
holo_border.color = null
- add_overlay(holo_lights)
+ AddOverlays(holo_lights)
if(length(menu_text))
- add_overlay(holo_text)
+ AddOverlays(holo_text)
if(border_on)
- add_overlay(holo_border)
+ AddOverlays(holo_border)
else
set_light(0)
diff --git a/code/game/objects/items/ipc_overloaders.dm b/code/game/objects/items/ipc_overloaders.dm
index 0a93a29697f..e3d3b2f7781 100644
--- a/code/game/objects/items/ipc_overloaders.dm
+++ b/code/game/objects/items/ipc_overloaders.dm
@@ -284,12 +284,12 @@
/obj/item/storage/overloader/update_icon()
. = ..()
- cut_overlays()
+ ClearOverlays()
var/obj/item/ipc_overloader/overloader = locate() in contents
if(overloader)
- add_overlay(image(overloader.icon, null, overloader.icon_state, sealed ? layer - 0.01 : layer + 0.01))
+ AddOverlays(image(overloader.icon, null, overloader.icon_state, sealed ? layer - 0.01 : layer + 0.01))
if(!sealed)
- add_overlay(image(icon, null, "box-overlay", layer + 0.02))
+ AddOverlays(image(icon, null, "box-overlay", layer + 0.02))
if(!sealed)
icon_state = "box-open"
diff --git a/code/game/objects/items/items_icon.dm b/code/game/objects/items/items_icon.dm
index b80a90fa1c3..8b7d0b19b5a 100644
--- a/code/game/objects/items/items_icon.dm
+++ b/code/game/objects/items/items_icon.dm
@@ -46,9 +46,9 @@ var/list/mob_icon_icon_states = list()
I = overlay_image(mob_overlay_icon, color = color, flags = RESET_COLOR|RESET_ALPHA)
var/image/additional_parts = build_additional_parts(H, mob_icon, slot)
if(additional_parts)
- I.add_overlay(additional_parts)
+ I.AddOverlays(additional_parts)
if(has_accents)
- I.add_overlay(overlay_image(icon, "[UNDERSCORE_OR_NULL(src.icon_species_tag)][item_state][contained_sprite ? slot_str_to_contained_flag(slot) : ""]_acc", accent_color, accent_flags))
+ I.AddOverlays(overlay_image(icon, "[UNDERSCORE_OR_NULL(src.icon_species_tag)][item_state][contained_sprite ? slot_str_to_contained_flag(slot) : ""]_acc", accent_color, accent_flags))
var/offset_x = worn_x_dimension
var/offset_y = worn_y_dimension
center_image(I, offset_x, offset_y)
diff --git a/code/game/objects/items/knitting.dm b/code/game/objects/items/knitting.dm
index 00b64c8a6d8..a9bd95ed35c 100644
--- a/code/game/objects/items/knitting.dm
+++ b/code/game/objects/items/knitting.dm
@@ -59,9 +59,9 @@
yarn_overlay.color = ball.color
else
yarn_overlay.appearance_flags = RESET_COLOR
- add_overlay(yarn_overlay)
+ AddOverlays(yarn_overlay)
else
- cut_overlays()
+ ClearOverlays()
update_held_icon()
/obj/item/knittingneedles/attackby(obj/item/attacking_item, mob/user)
diff --git a/code/game/objects/items/shooting_range.dm b/code/game/objects/items/shooting_range.dm
index 11f0b906c9c..5ec32261127 100644
--- a/code/game/objects/items/shooting_range.dm
+++ b/code/game/objects/items/shooting_range.dm
@@ -24,7 +24,7 @@
return TRUE
var/obj/item/weldingtool/WT = attacking_item
if(WT.use(0, user))
- cut_overlays()
+ ClearOverlays()
LAZYCLEARLIST(bullet_holes)
icon = initial(icon)
hp = initial(hp)
@@ -97,7 +97,7 @@
virtual_icon.DrawBox(null, B.b2x, B.b2y1, B.b2x, B.b2y2) // vertical line, top to bottom
- add_overlay(bmark) // add the decal
+ AddOverlays(bmark) // add the decal
icon = virtual_icon // apply bullet_holes over decals
return
diff --git a/code/game/objects/items/skrell.dm b/code/game/objects/items/skrell.dm
index 5ab6c6f12bd..fc631c976c7 100644
--- a/code/game/objects/items/skrell.dm
+++ b/code/game/objects/items/skrell.dm
@@ -61,7 +61,7 @@
. = ..()
if(!glow_state)
glow_state = make_screen_overlay(icon, icon_state)
- add_overlay(glow_state)
+ AddOverlays(glow_state)
/obj/effect/temp_visual/constellation/attackby(obj/item/attacking_item, mob/user)
visible_message("\The [src] vanishes!")
@@ -151,10 +151,10 @@
update_icon()
/obj/item/skrell_projector/update_icon()
- cut_overlays()
+ ClearOverlays()
if(working)
var/image/overlay = overlay_image(icon, "projector_light", light_color, RESET_COLOR)
- add_overlay(overlay)
+ AddOverlays(overlay)
/obj/item/skrell_projector/process()
if(!selected_world)
diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm
index e8421f7c95f..0c1840a7e31 100644
--- a/code/game/objects/items/stacks/medical.dm
+++ b/code/game/objects/items/stacks/medical.dm
@@ -106,7 +106,7 @@ Contains:
if(!automatic_charge_overlays) //Checks if the item has this feature enabled
return //If it does not, do nothing
var/ratio = CEILING(clamp(amount / max_amount, 0, 1) * charge_sections, 1)
- cut_overlays()
+ ClearOverlays()
var/iconState = "[icon_state]_charge"
if(!amount) //Checks if there are still charges left in the item
return //If it does not, do nothing, as the overlays have been cut before this already.
@@ -114,7 +114,7 @@ Contains:
var/mutable_appearance/charge_overlay = mutable_appearance(icon, iconState)
for(var/i = ratio, i >= 1, i--)
charge_overlay.pixel_x = charge_x_offset * (i - 1)
- add_overlay(charge_overlay)
+ AddOverlays(charge_overlay)
// Bruise Pack.
/obj/item/stack/medical/bruise_pack
diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm
index 89c680aa67f..4f8b6f6705f 100644
--- a/code/game/objects/items/toys.dm
+++ b/code/game/objects/items/toys.dm
@@ -256,9 +256,9 @@
..()
if(status == BALLOON_BURST)
worn_overlay = null
- cut_overlay()
+ CutOverlays()
if(worn_overlay)
- add_overlay(overlay_image(icon, "[initial(icon_state)]_[worn_overlay]", flags=RESET_COLOR))
+ AddOverlays(overlay_image(icon, "[initial(icon_state)]_[worn_overlay]", flags=RESET_COLOR))
#undef BALLOON_NORMAL
#undef BALLOON_BLOW
diff --git a/code/game/objects/items/vaurca.dm b/code/game/objects/items/vaurca.dm
index 797210e5a1b..275a1b8d081 100644
--- a/code/game/objects/items/vaurca.dm
+++ b/code/game/objects/items/vaurca.dm
@@ -115,10 +115,10 @@
update_icon()
/obj/item/skrell_projector/vaurca_projector/update_icon()
- cut_overlays()
+ ClearOverlays()
if(working)
var/image/overlay = overlay_image(icon, "zora_projector_light", light_color, RESET_COLOR)
- add_overlay(overlay)
+ AddOverlays(overlay)
/obj/item/skrell_projector/vaurca_projector/process()
if(!selected_world || !possible_messages)
diff --git a/code/game/objects/items/weapons/cards_ids_syndicate.dm b/code/game/objects/items/weapons/cards_ids_syndicate.dm
index b0565190d2c..0ed4da9a2f7 100644
--- a/code/game/objects/items/weapons/cards_ids_syndicate.dm
+++ b/code/game/objects/items/weapons/cards_ids_syndicate.dm
@@ -112,10 +112,10 @@
check_obfuscation()
/obj/item/card/id/syndicate/update_icon()
- cut_overlays()
+ ClearOverlays()
if(electronic_warfare)
var/mutable_appearance/electro_overlay = mutable_appearance(icon, "electronic_warfare")
- add_overlay(electro_overlay)
+ AddOverlays(electro_overlay)
/obj/item/card/id/syndicate/proc/check_obfuscation()
if(electronic_warfare)
diff --git a/code/game/objects/items/weapons/chewables.dm b/code/game/objects/items/weapons/chewables.dm
index 6f322fee0be..c743116eef3 100644
--- a/code/game/objects/items/weapons/chewables.dm
+++ b/code/game/objects/items/weapons/chewables.dm
@@ -23,11 +23,11 @@
update_icon()
/obj/item/clothing/mask/chewable/update_icon()
- cut_overlays()
+ ClearOverlays()
if(wrapped)
var/mutable_appearance/base_overlay = mutable_appearance(icon, "[initial(icon_state)]_wrapper")
base_overlay.appearance_flags = RESET_COLOR
- add_overlay(base_overlay)
+ AddOverlays(base_overlay)
/obj/item/clothing/mask/chewable/Initialize()
create_reagents(chem_volume) // making the cigarrete a chemical holder with a maximum volume of 15
@@ -236,12 +236,12 @@
spitout(0)
/obj/item/clothing/mask/chewable/candy/lolli/update_icon()
- cut_overlays()
+ ClearOverlays()
var/mutable_appearance/base_overlay = mutable_appearance(icon, "[initial(icon_state)]_stick")
base_overlay.appearance_flags = RESET_COLOR
- add_overlay(base_overlay)
+ AddOverlays(base_overlay)
if(wrapped)
- add_overlay("[initial(icon_state)]_wrapper")
+ AddOverlays("[initial(icon_state)]_wrapper")
/obj/item/clothing/mask/chewable/candy/lolli/Initialize()
. = ..()
diff --git a/code/game/objects/items/weapons/cosmetics.dm b/code/game/objects/items/weapons/cosmetics.dm
index b7cd874a5ed..4f8751fe61c 100644
--- a/code/game/objects/items/weapons/cosmetics.dm
+++ b/code/game/objects/items/weapons/cosmetics.dm
@@ -16,14 +16,14 @@
pickup_sound = 'sound/items/pickup/screwdriver.ogg'
/obj/item/lipstick/update_icon()
- cut_overlays()
+ ClearOverlays()
if(open)
worn_overlay = "open_overlay"
worn_overlay_color = lipstick_color
icon_state = "[initial(icon_state)]_open"
var/image/stick_overlay = image('icons/obj/cosmetics.dmi', null, "[initial(icon_state)]_open_overlay")
stick_overlay.color = lipstick_color
- add_overlay(stick_overlay)
+ AddOverlays(stick_overlay)
else
icon_state = initial(icon_state)
worn_overlay = initial(worn_overlay)
diff --git a/code/game/objects/items/weapons/flamethrower.dm b/code/game/objects/items/weapons/flamethrower.dm
index 289e6416d34..b19cc68278b 100644
--- a/code/game/objects/items/weapons/flamethrower.dm
+++ b/code/game/objects/items/weapons/flamethrower.dm
@@ -65,19 +65,19 @@
location.hotspot_expose(700, 2)
/obj/item/flamethrower/update_icon()
- cut_overlays()
- add_overlay("+[initial(welding_tool.icon_state)]")
+ ClearOverlays()
+ AddOverlays("+[initial(welding_tool.icon_state)]")
if(igniter)
- add_overlay("+igniter[secured]")
+ AddOverlays("+igniter[secured]")
if(istype(gas_tank, /obj/item/tank/phoron))
- add_overlay("+phoron_tank")
+ AddOverlays("+phoron_tank")
else if(istype(gas_tank, /obj/item/tank/hydrogen))
- add_overlay("+hydro_tank")
+ AddOverlays("+hydro_tank")
if(lit)
- add_overlay("+lit")
+ AddOverlays("+lit")
set_light(1.4, 2)
item_state = "flamethrower_1"
else
diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm
index 306cb24516f..c6c879711d1 100644
--- a/code/game/objects/items/weapons/handcuffs.dm
+++ b/code/game/objects/items/weapons/handcuffs.dm
@@ -167,7 +167,7 @@
if(build_from_parts) //random colors!
if(!color)
color = pick(COLOR_RED, COLOR_BLUE, COLOR_LIME, COLOR_ORANGE, COLOR_WHITE, COLOR_PINK, COLOR_YELLOW, COLOR_CYAN)
- add_overlay(overlay_image(icon, "[initial(icon_state)]_end", flags=RESET_COLOR))
+ AddOverlays(overlay_image(icon, "[initial(icon_state)]_end", flags=RESET_COLOR))
/obj/item/handcuffs/cable/attack_self(mob/user)
legcuff = !legcuff
diff --git a/code/game/objects/items/weapons/implants/implantcase.dm b/code/game/objects/items/weapons/implants/implantcase.dm
index d133676779c..03a720f18f8 100644
--- a/code/game/objects/items/weapons/implants/implantcase.dm
+++ b/code/game/objects/items/weapons/implants/implantcase.dm
@@ -30,11 +30,11 @@
/obj/item/implantcase/update_icon()
- cut_overlays()
+ ClearOverlays()
if (imp)
var/overlay_icon_state = "implantstorage_[imp.implant_icon]"
var/mutable_appearance/overlay_implant_icon = mutable_appearance(icon, overlay_icon_state)
- add_overlay(overlay_implant_icon)
+ AddOverlays(overlay_implant_icon)
/obj/item/implantcase/attackby(obj/item/attacking_item, mob/user)
if (attacking_item.ispen())
diff --git a/code/game/objects/items/weapons/implants/implanter.dm b/code/game/objects/items/weapons/implants/implanter.dm
index f402be71a35..da3ba4b7134 100644
--- a/code/game/objects/items/weapons/implants/implanter.dm
+++ b/code/game/objects/items/weapons/implants/implanter.dm
@@ -16,12 +16,12 @@
update_icon()
/obj/item/implanter/update_icon()
- cut_overlays()
+ ClearOverlays()
icon_state = "implanter-[imp ? "1" : "0"]"
if (imp)
var/mutable_appearance/overlay_implant_icon = mutable_appearance(icon, "implanter-overlay")
overlay_implant_icon.color = imp.implant_color
- add_overlay(overlay_implant_icon)
+ AddOverlays(overlay_implant_icon)
/obj/item/implanter/attackby(obj/item/attacking_item, mob/user)
if(!imp && istype(attacking_item, /obj/item/implant) && user.unEquip(attacking_item, src))
diff --git a/code/game/objects/items/weapons/implants/implantpad.dm b/code/game/objects/items/weapons/implants/implantpad.dm
index 27754764dfb..8d702af6da6 100644
--- a/code/game/objects/items/weapons/implants/implantpad.dm
+++ b/code/game/objects/items/weapons/implants/implantpad.dm
@@ -12,13 +12,13 @@
var/listening = TRUE
/obj/item/implantpad/update_icon()
- cut_overlays()
+ ClearOverlays()
icon_state = "implantpad-[case ? "1" : "0"]"
if(case?.imp)
var/obj/item/implant/caseimplant = case.imp
var/implant_overlay_icon_state = "implantstorage_[caseimplant.implant_icon]"
var/mutable_appearance/implant_case_implant_overlay = mutable_appearance(icon, implant_overlay_icon_state)
- add_overlay(implant_case_implant_overlay)
+ AddOverlays(implant_case_implant_overlay)
/obj/item/implantpad/attack_hand(mob/user)
diff --git a/code/game/objects/items/weapons/improvised_components.dm b/code/game/objects/items/weapons/improvised_components.dm
index 8e0199bbf64..e56f847715e 100644
--- a/code/game/objects/items/weapons/improvised_components.dm
+++ b/code/game/objects/items/weapons/improvised_components.dm
@@ -62,7 +62,7 @@
var/image/I = image(icon, null, "wiredrod_cable")
I.appearance_flags = RESET_COLOR
I.color = cable_color
- add_overlay(I)
+ AddOverlays(I)
/obj/item/material/wirerod/attackby(obj/item/attacking_item, mob/user)
..()
diff --git a/code/game/objects/items/weapons/material/ashtray.dm b/code/game/objects/items/weapons/material/ashtray.dm
index 6c3b715879f..8bb6b5e5c8c 100644
--- a/code/game/objects/items/weapons/material/ashtray.dm
+++ b/code/game/objects/items/weapons/material/ashtray.dm
@@ -39,20 +39,20 @@
/obj/item/material/ashtray/update_icon()
color = null
- cut_overlays()
+ ClearOverlays()
var/list/ashtray_cache = SSicon_cache.ashtray_cache
var/cache_key = "base-[material.name]"
if(!ashtray_cache[cache_key])
var/image/I = image('icons/obj/ashtray.dmi',"ashtray")
I.color = material.icon_colour
ashtray_cache[cache_key] = I
- add_overlay(ashtray_cache[cache_key])
+ AddOverlays(ashtray_cache[cache_key])
if (contents.len == max_butts)
- add_overlay("ashtray_full")
+ AddOverlays("ashtray_full")
desc = "It's stuffed full."
else if (contents.len > max_butts/2)
- add_overlay("ashtray_half")
+ AddOverlays("ashtray_half")
desc = "It's half-filled."
else
desc = "An ashtray made of [material.display_name]."
diff --git a/code/game/objects/items/weapons/material/kitchen.dm b/code/game/objects/items/weapons/material/kitchen.dm
index 93a78e0248c..d7241c29b53 100644
--- a/code/game/objects/items/weapons/material/kitchen.dm
+++ b/code/game/objects/items/weapons/material/kitchen.dm
@@ -58,7 +58,7 @@
is_liquid = FALSE
else
playsound(user.loc, 'sound/items/eatfood.ogg', rand(10, 50), 1)
- cut_overlays()
+ ClearOverlays()
return
else
to_chat(user, SPAN_WARNING("You don't have anything on \the [src].")) //if we have help intent and no food scooped up DON'T STAB OURSELVES WITH THE FORK)
@@ -70,7 +70,7 @@
reagents.clear_reagents()
is_liquid = FALSE
loaded = null
- cut_overlays()
+ ClearOverlays()
return
/obj/item/material/kitchen/utensil/verb/bite_size()
diff --git a/code/game/objects/items/weapons/material/misc.dm b/code/game/objects/items/weapons/material/misc.dm
index 4fc7cb7e4fe..20a7717bcce 100644
--- a/code/game/objects/items/weapons/material/misc.dm
+++ b/code/game/objects/items/weapons/material/misc.dm
@@ -102,7 +102,7 @@
if(build_from_parts)
var/image/I = image(icon, icon_state = "machete_handle")
I.color = pick(COLOR_BLUE, COLOR_RED, COLOR_CYAN, COLOR_BLACK, COLOR_AMBER, COLOR_GREEN, COLOR_OLIVE, COLOR_GUNMETAL, COLOR_DARK_BLUE_GRAY)
- add_overlay(I)
+ AddOverlays(I)
/obj/item/material/hatchet/machete/unbreakable
unbreakable = TRUE
diff --git a/code/game/objects/items/weapons/material/twohanded.dm b/code/game/objects/items/weapons/material/twohanded.dm
index 3fd8fca8362..b2d662dbfb1 100644
--- a/code/game/objects/items/weapons/material/twohanded.dm
+++ b/code/game/objects/items/weapons/material/twohanded.dm
@@ -277,7 +277,7 @@
usr.drop_from_inventory(attacking_item, HS)
var/mutable_appearance/MA = new(attacking_item)
MA.layer = FLOAT_LAYER
- HS.add_overlay(MA)
+ HS.AddOverlays(MA)
HS.name = "[attacking_item.name] on a spear"
HS.material = material.name
qdel(src)
diff --git a/code/game/objects/items/weapons/paint.dm b/code/game/objects/items/weapons/paint.dm
index b1eb43595dd..765ae2c6d33 100644
--- a/code/game/objects/items/weapons/paint.dm
+++ b/code/game/objects/items/weapons/paint.dm
@@ -30,13 +30,13 @@
update_icon()
/obj/item/reagent_containers/glass/paint/update_icon()
- cut_overlays()
+ ClearOverlays()
if(!is_open_container())
- add_overlay("paint_lid")
+ AddOverlays("paint_lid")
else if(reagents.total_volume)
var/image/I = image(icon, "paint_full")
I.color = reagents.get_color()
- add_overlay(I)
+ AddOverlays(I)
/obj/item/reagent_containers/glass/paint/on_reagent_change()
update_icon()
diff --git a/code/game/objects/items/weapons/policetape.dm b/code/game/objects/items/weapons/policetape.dm
index 6c9f333d389..e237c568264 100644
--- a/code/game/objects/items/weapons/policetape.dm
+++ b/code/game/objects/items/weapons/policetape.dm
@@ -193,11 +193,11 @@ var/list/tape_roll_applications = list()
if(tape_roll_applications[F] & direction) // hazard_overlay in F.overlays wouldn't work.
user.visible_message("[user] uses the adhesive of \the [src] to remove area markings from \the [F].", "You use the adhesive of \the [src] to remove area markings from \the [F].")
- F.cut_overlay(hazard_overlay, TRUE)
+ F.CutOverlays(hazard_overlay, ATOM_ICON_CACHE_PROTECTED)
tape_roll_applications[F] &= ~direction
else
user.visible_message("[user] applied \the [src] on \the [F] to create area markings.", "You apply \the [src] on \the [F] to create area markings.")
- F.add_overlay(hazard_overlay, TRUE)
+ F.AddOverlays(hazard_overlay, ATOM_ICON_CACHE_PROTECTED)
tape_roll_applications[F] |= direction
return
diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm
index a085dd9efec..c44012a3347 100644
--- a/code/game/objects/items/weapons/storage/backpack.dm
+++ b/code/game/objects/items/weapons/storage/backpack.dm
@@ -947,7 +947,7 @@
/obj/item/storage/backpack/cloak/get_mob_overlay(var/mob/living/carbon/human/human, var/mob_icon, var/mob_state, var/slot)
var/image/I = ..()
var/image/cape_backing = image(mob_icon, null, "[icon_state]_backing", MOB_SHADOW_LAYER)
- I.add_overlay(cape_backing)
+ I.AddOverlays(cape_backing)
return I
/obj/item/storage/backpack/cloak/sedantis
diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm
index 8eb87f10cba..ba7fdff79a7 100644
--- a/code/game/objects/items/weapons/storage/belt.dm
+++ b/code/game/objects/items/weapons/storage/belt.dm
@@ -22,10 +22,10 @@
M.update_inv_belt()
/obj/item/storage/belt/update_icon()
- cut_overlays()
+ ClearOverlays()
if(content_overlays)
for(var/obj/item/I in contents)
- add_overlay(I.get_belt_overlay())
+ AddOverlays(I.get_belt_overlay())
..()
/obj/item/storage/belt/build_additional_parts(H, mob_icon, slot)
@@ -44,7 +44,7 @@
var/image/belt_item_image = image(c_icon, c_state)
belt_item_image.color = i.color
belt_item_image.appearance_flags = RESET_ALPHA
- I.add_overlay(belt_item_image)
+ I.AddOverlays(belt_item_image)
return I
/obj/item/storage/belt/verb/toggle_layer()
diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm
index d914c5679dc..17257b28766 100644
--- a/code/game/objects/items/weapons/storage/boxes.dm
+++ b/code/game/objects/items/weapons/storage/boxes.dm
@@ -50,7 +50,7 @@
if(ispath(src.trash))
desc_info += "This can be crumpled up into a trash item when empty, or forcibly crumpled on harm intent. "
if(illustration)
- add_overlay(illustration)
+ AddOverlays(illustration)
/obj/item/storage/box/proc/damage(var/severity)
health -= severity
diff --git a/code/game/objects/items/weapons/storage/business_card.dm b/code/game/objects/items/weapons/storage/business_card.dm
index 644d5c2da87..30ca1cde54c 100644
--- a/code/game/objects/items/weapons/storage/business_card.dm
+++ b/code/game/objects/items/weapons/storage/business_card.dm
@@ -9,7 +9,7 @@
can_hold = list(/obj/item/paper/business_card)
/obj/item/storage/business_card_holder/update_icon()
- cut_overlays()
+ ClearOverlays()
var/overlay_type
if(length(contents))
var/obj/O = contents[1]
@@ -22,7 +22,7 @@
card_overlay.color = O.color
else
card_overlay.appearance_flags = RESET_COLOR
- add_overlay(card_overlay)
+ AddOverlays(card_overlay)
/obj/item/storage/business_card_holder/wood
icon_state = "holder_wood"
@@ -44,8 +44,8 @@
/obj/item/paper/business_card/update_icon()
. = ..()
if(worn_overlay)
- cut_overlays()
- add_overlay(overlay_image(icon, worn_overlay, flags=RESET_COLOR))
+ ClearOverlays()
+ AddOverlays(overlay_image(icon, worn_overlay, flags=RESET_COLOR))
/obj/item/paper/business_card/attack_self(mob/living/user)
if(last_flash <= world.time - 20)
diff --git a/code/game/objects/items/weapons/storage/fancy.dm b/code/game/objects/items/weapons/storage/fancy.dm
index bb269e0866d..13982abeea8 100644
--- a/code/game/objects/items/weapons/storage/fancy.dm
+++ b/code/game/objects/items/weapons/storage/fancy.dm
@@ -63,7 +63,7 @@
icon_state = "[initial(icon_state)][src.opened]"
..()
else
- cut_overlays()
+ ClearOverlays()
icon_state = "[initial(icon_state)]" // closed
..()
@@ -102,10 +102,10 @@
/obj/item/storage/box/fancy/donut/update_icon() // One of the few unique update_icon()s, due to having to store both regular and sprinkled donuts.
. = ..()
if(opened)
- cut_overlays()
+ ClearOverlays()
var/i = 0
for(var/obj/item/reagent_containers/food/snacks/donut/D in contents)
- add_overlay("[i][D.overlay_state]")
+ AddOverlays("[i][D.overlay_state]")
i++
/obj/item/storage/box/fancy/donut/empty
@@ -221,10 +221,10 @@
/obj/item/storage/box/fancy/crayons/update_icon()
. = ..()
- cut_overlays()
- add_overlay("crayonbox")
+ ClearOverlays()
+ AddOverlays("crayonbox")
for(var/obj/item/pen/crayon/crayon in contents)
- add_overlay("[crayon.colourName]")
+ AddOverlays("[crayon.colourName]")
/obj/item/storage/box/fancy/crayons/attackby(obj/item/attacking_item, mob/user)
if(istype(attacking_item, /obj/item/pen/crayon))
@@ -467,13 +467,13 @@
. = ..()
var/total_contents = src.contents.len - itemremoved
src.icon_state = "vialbox[total_contents]"
- cut_overlays()
+ ClearOverlays()
if (!broken)
- add_overlay("led[locked]")
+ AddOverlays("led[locked]")
if(locked)
- add_overlay("cover")
+ AddOverlays("cover")
else
- add_overlay("ledb")
+ AddOverlays("ledb")
/obj/item/storage/lockbox/vials/attackby(attacking_item, mob/user)
..()
@@ -527,7 +527,7 @@
update_icon()
/obj/item/pizzabox/update_icon()
- cut_overlays()
+ ClearOverlays()
// Set appropriate description
if( open && pizza )
@@ -555,7 +555,7 @@
if( pizza )
var/image/pizzaimg = image(pizza.icon, pizza.icon_state)
pizzaimg.pixel_y = -2
- add_overlay(pizzaimg)
+ AddOverlays(pizzaimg)
return
else
@@ -572,7 +572,7 @@
if( doimgtag )
var/image/tagimg = image(icon, icon_state = "pizzabox_tag")
tagimg.pixel_y = boxes.len * 3
- add_overlay(tagimg)
+ AddOverlays(tagimg)
icon_state = "pizzabox[boxes.len+1]"
diff --git a/code/game/objects/items/weapons/storage/secure.dm b/code/game/objects/items/weapons/storage/secure.dm
index 9b8c10a4642..181d5b2adeb 100644
--- a/code/game/objects/items/weapons/storage/secure.dm
+++ b/code/game/objects/items/weapons/storage/secure.dm
@@ -105,15 +105,15 @@
src.l_set = 1
else if ((src.code == src.l_code) && (src.emagged == 0) && (src.l_set == 1))
src.locked = 0
- cut_overlays()
- add_overlay(icon_opened)
+ ClearOverlays()
+ AddOverlays(icon_opened)
src.code = null
else
src.code = "ERROR"
else
if ((href_list["type"] == "R") && (src.emagged == 0) && (!src.l_setshort))
src.locked = 1
- cut_overlays()
+ ClearOverlays()
src.code = null
src.close(usr)
else
@@ -130,10 +130,10 @@
/obj/item/storage/secure/emag_act(var/remaining_charges, var/mob/user, var/feedback)
if(!emagged)
emagged = 1
- add_overlay(icon_sparking)
+ AddOverlays(icon_sparking)
sleep(6)
- cut_overlays()
- add_overlay(icon_locking)
+ ClearOverlays()
+ AddOverlays(icon_locking)
locked = 0
to_chat(user, (feedback ? feedback : "You short out the lock of \the [src]."))
return 1
diff --git a/code/game/objects/items/weapons/storage/storage.dm b/code/game/objects/items/weapons/storage/storage.dm
index 69bbd190a18..af1ff7275b3 100644
--- a/code/game/objects/items/weapons/storage/storage.dm
+++ b/code/game/objects/items/weapons/storage/storage.dm
@@ -360,12 +360,12 @@
ND.sample_object.maptext = SMALL_FONTS(7, "[(ND.number > 1)? "[ND.number]" : ""]")
ND.sample_object.hud_layerise()
if(display_contents_initials)
- ND.sample_object.cut_overlays() // a limitation of this code is that overlays get blasted off the item, since we need to add one to add the second maptext. woe is me
+ ND.sample_object.ClearOverlays() // a limitation of this code is that overlays get blasted off the item, since we need to add one to add the second maptext. woe is me
var/object_initials = handle_name_initials(ND.sample_object.name)
var/image/name_overlay = image(null)
name_overlay.maptext = SMALL_FONTS(7, object_initials)
name_overlay.maptext_x = 22 - ((length(object_initials) - 1) * 6)
- ND.sample_object.add_overlay(name_overlay)
+ ND.sample_object.AddOverlays(name_overlay)
cx++
if (cx > (4+cols))
cx = 4
@@ -395,7 +395,7 @@
var/stored_cap_width = 4 //length of sprite for start and end of the box representing the stored item
var/storage_width = min( round( 224 * max_storage_space/baseline_max_storage_space ,1) ,284) //length of sprite for the box representing total storage space
- storage_start.cut_overlays()
+ storage_start.ClearOverlays()
var/matrix/M = matrix()
M.Scale((storage_width-storage_cap_width*2+3)/32,1)
@@ -439,7 +439,7 @@
O.hud_layerise()
if (!defer_overlays)
- storage_start.compile_overlays()
+ storage_start.UpdateOverlays()
closer.screen_loc = "4:[storage_width+19],2:16"
return
@@ -654,7 +654,7 @@
if(W.maptext)
W.maptext = ""
if(display_contents_initials)
- W.cut_overlays()
+ W.ClearOverlays()
W.on_exit_storage(src)
update_icon()
return TRUE
diff --git a/code/game/objects/items/weapons/storage/wallets.dm b/code/game/objects/items/weapons/storage/wallets.dm
index 80244475256..db8fb2dd74e 100644
--- a/code/game/objects/items/weapons/storage/wallets.dm
+++ b/code/game/objects/items/weapons/storage/wallets.dm
@@ -79,7 +79,7 @@
update_icon()
/obj/item/storage/wallet/update_icon()
- cut_overlays()
+ ClearOverlays()
worn_overlay = "fasteners"
if(front_id)
if(("[icon_state]-open") in icon_states(icon))
@@ -89,10 +89,10 @@
if(("[initial(icon_state)]-[front_id.icon_state]") in icon_states(icon))
tiny_state = "[initial(icon_state)]-[front_id.icon_state]"
var/image/tiny_image = overlay_image(icon, icon_state = tiny_state, flags = RESET_COLOR)
- add_overlay(tiny_image)
+ AddOverlays(tiny_image)
if(("[initial(icon_state)]-film") in icon_states(icon))
var/image/film_image = overlay_image(icon, "[initial(icon_state)]-film", flags = RESET_COLOR)
- add_overlay(film_image)
+ AddOverlays(film_image)
else
icon_state = "[initial(icon_state)]"
. = ..()
@@ -205,16 +205,16 @@
. = ..()
if(("[initial(icon_state)]-film") in icon_states(icon))
var/image/film_image = overlay_image(icon, "[initial(icon_state)]-film", flags = RESET_COLOR)
- add_overlay(film_image)
+ AddOverlays(film_image)
/obj/item/storage/wallet/lanyard/get_mob_overlay(mob/living/carbon/human/H, mob_icon, mob_state, slot)
var/image/I = ..()
if(front_id)
- I.add_overlay(image('icons/mob/lanyard_overlays.dmi', icon_state = "lanyard-[front_id_overlay_state]"))
+ I.AddOverlays(image('icons/mob/lanyard_overlays.dmi', icon_state = "lanyard-[front_id_overlay_state]"))
else
if(!plastic_film)
plastic_film = image('icons/mob/lanyard_overlays.dmi', icon_state = "[plastic_film_overlay_state]")
- I.add_overlay(plastic_film)
+ I.AddOverlays(plastic_film)
return I
// wallet subtypes
diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm
index 2dd547e30d6..6f358de382b 100644
--- a/code/game/objects/items/weapons/stunbaton.dm
+++ b/code/game/objects/items/weapons/stunbaton.dm
@@ -254,7 +254,7 @@
if(!cable_color)
cable_color = COLOR_RED
I.color = cable_color
- add_overlay(I)
+ AddOverlays(I)
/obj/item/melee/baton/stunrod
name = "stunrod"
diff --git a/code/game/objects/items/weapons/surgery_tools.dm b/code/game/objects/items/weapons/surgery_tools.dm
index 5c231a10289..4fdb49c4ec7 100644
--- a/code/game/objects/items/weapons/surgery_tools.dm
+++ b/code/game/objects/items/weapons/surgery_tools.dm
@@ -226,7 +226,7 @@
)
/obj/item/storage/box/fancy/tray/update_icon()
- cut_overlays()
+ ClearOverlays()
var/list/types_and_overlays = list(
/obj/item/surgery/bonesetter = "tray_bonesetter",
@@ -248,7 +248,7 @@
)
for (var/obj/item/W in contents)
if (types_and_overlays[W.type])
- add_overlay(types_and_overlays[W.type])
+ AddOverlays(types_and_overlays[W.type])
types_and_overlays -= W.type
/obj/item/storage/box/fancy/tray/fill()
diff --git a/code/game/objects/items/weapons/swords_axes_etc.dm b/code/game/objects/items/weapons/swords_axes_etc.dm
index 4c1a8c1794e..f9a848085a4 100644
--- a/code/game/objects/items/weapons/swords_axes_etc.dm
+++ b/code/game/objects/items/weapons/swords_axes_etc.dm
@@ -77,13 +77,13 @@
add_fingerprint(user)
if(blood_overlay && blood_DNA && (blood_DNA.len >= 1)) //updates blood overlay, if any
- cut_overlay(blood_overlay, TRUE)
+ CutOverlays(blood_overlay, ATOM_ICON_CACHE_PROTECTED)
var/icon/I = new /icon(src.icon, src.icon_state)
I.Blend(new /icon('icons/effects/blood.dmi', rgb(255,255,255)),ICON_ADD)
I.Blend(new /icon('icons/effects/blood.dmi', "itemblood"),ICON_MULTIPLY)
blood_overlay = image(I)
blood_overlay.color = blood_color
- add_overlay(blood_overlay, TRUE)
+ AddOverlays(blood_overlay, ATOM_ICON_CACHE_PROTECTED)
update_icon()
return
diff --git a/code/game/objects/items/weapons/tanks/tanks.dm b/code/game/objects/items/weapons/tanks/tanks.dm
index 7657eba7826..ab49fc0037e 100644
--- a/code/game/objects/items/weapons/tanks/tanks.dm
+++ b/code/game/objects/items/weapons/tanks/tanks.dm
@@ -226,9 +226,9 @@
return
last_gauge_pressure = gauge_pressure
- cut_overlays()
+ ClearOverlays()
// SSoverlay will handle icon caching.
- add_overlay("[gauge_icon][(gauge_pressure == -1) ? "overload" : gauge_pressure]")
+ AddOverlays("[gauge_icon][(gauge_pressure == -1) ? "overload" : gauge_pressure]")
/obj/item/tank/proc/percent()
var/gauge_pressure = 0
diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm
index 5771def358c..47b29fe6288 100644
--- a/code/game/objects/items/weapons/tools.dm
+++ b/code/game/objects/items/weapons/tools.dm
@@ -75,7 +75,7 @@
. = ..()
if(build_from_parts) //random colors!
color = pick(COLOR_BLUE, COLOR_RED, COLOR_PURPLE, COLOR_BROWN, COLOR_GREEN, COLOR_CYAN, COLOR_YELLOW)
- add_overlay(overlay_image(icon, "[initial(icon_state)]_[worn_overlay]", flags=RESET_COLOR))
+ AddOverlays(overlay_image(icon, "[initial(icon_state)]_[worn_overlay]", flags=RESET_COLOR))
/obj/item/screwdriver/update_icon()
var/matrix/tf = matrix()
@@ -88,7 +88,7 @@
var/mutable_appearance/body = mutable_appearance('icons/obj/clothing/belt_overlays.dmi', "screwdriver")
var/mutable_appearance/head = mutable_appearance('icons/obj/clothing/belt_overlays.dmi', "screwdriver_head")
body.color = color
- head.add_overlay(body)
+ head.AddOverlays(body)
return head
/obj/item/screwdriver/pickup(mob/user)
@@ -153,7 +153,7 @@
. = ..()
if(build_from_parts)
color = pick(color_options)
- add_overlay(overlay_image(icon, "[initial(icon_state)]_[worn_overlay]", flags=RESET_COLOR))
+ AddOverlays(overlay_image(icon, "[initial(icon_state)]_[worn_overlay]", flags=RESET_COLOR))
/obj/item/wirecutters/update_icon()
var/matrix/tf = matrix()
@@ -166,7 +166,7 @@
var/mutable_appearance/body = mutable_appearance('icons/obj/clothing/belt_overlays.dmi', "wirecutters")
var/mutable_appearance/head = mutable_appearance('icons/obj/clothing/belt_overlays.dmi', "wirecutters_head")
body.color = color
- head.add_overlay(body)
+ head.AddOverlays(body)
return head
/obj/item/wirecutters/pickup(mob/user)
@@ -306,13 +306,13 @@
/obj/item/weldingtool/use_tool(atom/target, mob/living/user, delay, amount, volume, datum/callback/extra_checks)
var/image/welding_sparks = image('icons/effects/effects.dmi', welding_state)
welding_sparks.plane = EFFECTS_ABOVE_LIGHTING_PLANE
- target.add_overlay(welding_sparks)
+ target.AddOverlays(welding_sparks)
. = ..()
- target.cut_overlay(welding_sparks)
+ target.CutOverlays(welding_sparks)
/obj/item/weldingtool/proc/update_torch()
if(welding)
- add_overlay("[initial(icon_state)]-on")
+ AddOverlays("[initial(icon_state)]-on")
item_state = "[initial(item_state)]1"
else
item_state = "[initial(item_state)]"
@@ -325,11 +325,11 @@
set_light(0)
/obj/item/weldingtool/update_icon()
- cut_overlays()
+ ClearOverlays()
if(change_icons)
var/ratio = get_fuel() / max_fuel
ratio = CEILING(ratio*4, 1) * 25
- add_overlay("[initial(icon_state)][ratio]")
+ AddOverlays("[initial(icon_state)][ratio]")
update_torch()
var/mob/M = loc
if(istype(M))
@@ -582,7 +582,7 @@
to_chat(user, SPAN_NOTICE("You install \the [attacking_item] into \the [src]."))
eyeshield = attacking_item
produces_flash = FALSE
- add_overlay("eyeshield_attached", TRUE)
+ AddOverlays("eyeshield_attached", ATOM_ICON_CACHE_PROTECTED)
return TRUE
if(istype(attacking_item, /obj/item/overcapacitor))
if(overcap)
@@ -591,7 +591,7 @@
user.drop_from_inventory(attacking_item, src)
to_chat(user, SPAN_NOTICE("You install \the [attacking_item] into \the [src]."))
overcap = attacking_item
- add_overlay("overcap_attached", TRUE)
+ AddOverlays("overcap_attached", ATOM_ICON_CACHE_PROTECTED)
toolspeed *= 2
return TRUE
if(attacking_item.isscrewdriver())
@@ -619,7 +619,7 @@
return TRUE
user.put_in_hands(remove_accessory)
to_chat(user, SPAN_NOTICE("You remove \the [remove_accessory] into \the [src]."))
- cut_overlay("[remove_accessory.icon_state]_attached", TRUE)
+ CutOverlays("[remove_accessory.icon_state]_attached", ATOM_ICON_CACHE_PROTECTED)
return TRUE
return ..()
@@ -1005,7 +1005,7 @@
. = ..()
var/mutable_appearance/handle = mutable_appearance('icons/obj/tools.dmi', "hammer_handle")
handle.color = pick(COLOR_BLUE, COLOR_RED, COLOR_PURPLE, COLOR_BROWN, COLOR_GREEN, COLOR_CYAN, COLOR_YELLOW)
- add_overlay(handle)
+ AddOverlays(handle)
/obj/item/hammer/ishammer()
return TRUE
diff --git a/code/game/objects/structures/bonfire.dm b/code/game/objects/structures/bonfire.dm
index da136629860..fca398d1528 100644
--- a/code/game/objects/structures/bonfire.dm
+++ b/code/game/objects/structures/bonfire.dm
@@ -357,20 +357,20 @@ GLOBAL_LIST_EMPTY(total_active_bonfires)
name = "[material.display_name] fireplace"
/obj/structure/bonfire/fireplace/update_icon()
- cut_overlays()
+ ClearOverlays()
if(on_fire)
switch(fuel)
if(0 to 250)
- add_overlay("fireplace_fire0")
+ AddOverlays("fireplace_fire0")
if(251 to 750)
- add_overlay("fireplace_fire1")
+ AddOverlays("fireplace_fire1")
if(751 to 1200)
- add_overlay("fireplace_fire2")
+ AddOverlays("fireplace_fire2")
if(1201 to 1700)
- add_overlay("fireplace_fire3")
+ AddOverlays("fireplace_fire3")
if(1700 to 2000)
- add_overlay("fireplace_fire4")
- add_overlay("fireplace_glow")
+ AddOverlays("fireplace_fire4")
+ AddOverlays("fireplace_glow")
/obj/structure/bonfire/fireplace/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
if(!istype(mover) || mover.checkpass(PASSTABLE))
diff --git a/code/game/objects/structures/coatrack.dm b/code/game/objects/structures/coatrack.dm
index 1e2f6ecb400..8f26d9b2e1c 100644
--- a/code/game/objects/structures/coatrack.dm
+++ b/code/game/objects/structures/coatrack.dm
@@ -58,10 +58,10 @@
return ..()
/obj/structure/coatrack/update_icon()
- cut_overlays()
+ ClearOverlays()
if(coat)
if(is_type_in_list(coat, custom_sprites))
- add_overlay(coat.icon_state)
+ AddOverlays(coat.icon_state)
else if(istype(coat, /obj/item/clothing/suit/storage/toggle)) // Using onmob sprites, because they're more consistent than object sprites.
var/obj/item/clothing/suit/storage/toggle/T = coat
if(!T.opened)
@@ -73,7 +73,7 @@
handle_coat_image(T)
if(hat)
if(is_type_in_list(hat, custom_sprites))
- add_overlay(hat.icon_state)
+ AddOverlays(hat.icon_state)
else if(istype(hat, /obj/item/clothing/head))
var/obj/item/clothing/head/H = hat
var/matrix/M = matrix()
@@ -82,15 +82,15 @@
var/hat_icon_state = "[H.icon_state][WORN_HEAD]" // Needed to bypass contained sprite phoney baloney.
hat_image = image(H.icon, hat_icon_state, src.layer, EAST)
if(H.build_from_parts)
- hat_image.add_overlay(overlay_image(H.icon, "[H.icon_state]_[H.worn_overlay]", flags=RESET_COLOR))
+ hat_image.AddOverlays(overlay_image(H.icon, "[H.icon_state]_[H.worn_overlay]", flags=RESET_COLOR))
else
hat_image = image(INV_HEAD_DEF_ICON, H.icon_state, src.layer, EAST)
if(H.build_from_parts)
- hat_image.add_overlay(overlay_image(icon, "[INV_HEAD_DEF_ICON]_[H.worn_overlay]", flags=RESET_COLOR))
+ hat_image.AddOverlays(overlay_image(icon, "[INV_HEAD_DEF_ICON]_[H.worn_overlay]", flags=RESET_COLOR))
M.Turn(90) // Flip the hat over and stick it on the coatrack.
M.Translate(-6, 6)
hat_image.transform = M
- add_overlay(hat_image)
+ AddOverlays(hat_image)
/obj/structure/coatrack/proc/handle_coat_image(var/obj/item/clothing/T)
var/icon/coat_outline = icon('icons/obj/coatrack.dmi', "outline")
@@ -115,8 +115,8 @@
overlay_icon.SwapColor(rgb(255, 0, 220, 255), rgb(0, 0, 0, 0)) // Slice the overlay in half and slap it on the coat.
var/image/overlay_image = image(overlay_icon)
overlay_image.appearance_flags = RESET_COLOR
- coat_image.add_overlay(overlay_image)
+ coat_image.AddOverlays(overlay_image)
M.Translate(-1, 5) // Stick it on the coat rack.
coat_image.transform = M
- add_overlay(coat_image)
+ AddOverlays(coat_image)
diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm
index 771c86888be..eb3d09e5612 100644
--- a/code/game/objects/structures/crates_lockers/closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets.dm
@@ -546,21 +546,21 @@
/obj/structure/closet/update_icon()
if(!door_underlay)
- cut_overlays()
+ ClearOverlays()
if(!opened)
layer = OBJ_LAYER
if(welded)
- add_overlay("[icon_door_overlay]welded")
+ AddOverlays("[icon_door_overlay]welded")
if(!is_animating_door)
if(icon_door)
- add_overlay("[icon_door]_door")
+ AddOverlays("[icon_door]_door")
if(double_doors)
- add_overlay("[icon_door]_door_alt")
+ AddOverlays("[icon_door]_door_alt")
if(!icon_door)
- add_overlay("[icon_state]_door")
+ AddOverlays("[icon_state]_door")
if(double_doors)
- add_overlay("[icon_state]_door_alt")
+ AddOverlays("[icon_state]_door_alt")
if(secure)
update_secure_overlays()
if(secure && secure_lights)
@@ -568,18 +568,18 @@
else if(opened)
layer = BELOW_OBJ_LAYER
if(!is_animating_door)
- add_overlay("[icon_door_override ? icon_door : icon_state]_open")
+ AddOverlays("[icon_door_override ? icon_door : icon_state]_open")
if(secure && secure_lights)
update_secure_overlays()
/obj/structure/closet/proc/update_secure_overlays()
if(broken)
- add_overlay("[icon_door_overlay]emag")
+ AddOverlays("[icon_door_overlay]emag")
else
if(locked)
- add_overlay("[icon_door_overlay]locked")
+ AddOverlays("[icon_door_overlay]locked")
else
- add_overlay("[icon_door_overlay]unlocked")
+ AddOverlays("[icon_door_overlay]unlocked")
/obj/structure/closet/proc/animate_door(var/closing = FALSE)
if(!door_anim_time)
@@ -610,7 +610,7 @@
is_animating_door = FALSE // comment this out and the line below to manually tweak the animation end state by fiddling with the door_anim vars to match the open door icon
remove_vis_contents(door_obj)
update_icon()
- compile_overlays(src)
+ UpdateOverlays(src)
/obj/structure/closet/proc/animate_door_alt(var/closing = FALSE)
if(!door_anim_time)
@@ -641,7 +641,7 @@
is_animating_door = FALSE // comment this out and the line below to manually tweak the animation end state by fiddling with the door_anim vars to match the open door icon
remove_vis_contents(door_obj_alt)
update_icon()
- compile_overlays(src)
+ UpdateOverlays(src)
/obj/structure/closet/proc/get_door_transform(angle, var/inverse_hinge = FALSE)
var/matrix/M = matrix()
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/guncabinet.dm b/code/game/objects/structures/crates_lockers/closets/secure/guncabinet.dm
index 5a29d9e6181..ed1834a5b55 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/guncabinet.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/guncabinet.dm
@@ -24,7 +24,7 @@
update_icon()
/obj/structure/closet/secure_closet/guncabinet/update_icon()
- cut_overlays()
+ ClearOverlays()
var/lazors = 0
var/shottas = 0
for (var/obj/item/gun/G in contents)
@@ -36,10 +36,10 @@
for (var/i = 0 to 2)
if (lazors > 0 && (shottas <= 0 || prob(50)))
lazors--
- add_overlay("laser[i]")
+ AddOverlays("laser[i]")
else if (shottas > 0)
shottas--
- add_overlay("projectile[i]")
+ AddOverlays("projectile[i]")
. = ..()
/obj/structure/closet/secure_closet/guncabinet/sci
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/locker.dm b/code/game/objects/structures/crates_lockers/closets/secure/locker.dm
index 5a46342f15b..fa6ae4ba1a0 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/locker.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/locker.dm
@@ -62,7 +62,7 @@
if(!broken)
spark(src, 5)
desc += " It appears to be broken."
- add_overlay("[icon_door_overlay]sparking")
+ AddOverlays("[icon_door_overlay]sparking")
CUT_OVERLAY_IN("[icon_door_overlay]sparking", 6)
playsound(loc, /singleton/sound_category/spark_sound, 60, 1)
broken = TRUE
diff --git a/code/game/objects/structures/crates_lockers/closets/statue.dm b/code/game/objects/structures/crates_lockers/closets/statue.dm
index d48e80ba044..4cc2b0a6930 100644
--- a/code/game/objects/structures/crates_lockers/closets/statue.dm
+++ b/code/game/objects/structures/crates_lockers/closets/statue.dm
@@ -183,7 +183,7 @@
dir = L.dir
var/image/I
I = image(icon = 'icons/obj/statue.dmi', icon_state = "icecube")
- add_overlay(I)
+ AddOverlays(I)
/obj/structure/closet/statue/ice/shatter(mob/user as mob)
if (user)
diff --git a/code/game/objects/structures/crystals.dm b/code/game/objects/structures/crystals.dm
index 0d6bba68bfe..9af7b1c9a65 100644
--- a/code/game/objects/structures/crystals.dm
+++ b/code/game/objects/structures/crystals.dm
@@ -22,7 +22,7 @@
desc = replacetext(desc, "chemical", lowertext(initial(reagent_id.name)))
var/mutable_appearance/crystal_overlay = mutable_appearance(icon, "[initial(icon_state)]-overlay")
crystal_overlay.color = initial(reagent_id.color)
- add_overlay(crystal_overlay)
+ AddOverlays(crystal_overlay)
if(our_creator)
creator = our_creator
diff --git a/code/game/objects/structures/extinguisher.dm b/code/game/objects/structures/extinguisher.dm
index bab25178488..28b38875edf 100644
--- a/code/game/objects/structures/extinguisher.dm
+++ b/code/game/objects/structures/extinguisher.dm
@@ -76,16 +76,16 @@
update_icon()
/obj/structure/extinguisher_cabinet/update_icon()
- cut_overlays()
+ ClearOverlays()
if(has_extinguisher)
if(istype(has_extinguisher, /obj/item/extinguisher/mini))
- add_overlay("extinguisher_mini")
+ AddOverlays("extinguisher_mini")
else
- add_overlay("extinguisher_full")
+ AddOverlays("extinguisher_full")
if(opened)
- add_overlay("cabinet_door_open")
+ AddOverlays("cabinet_door_open")
else
- add_overlay("cabinet_door_closed")
+ AddOverlays("cabinet_door_closed")
/obj/structure/extinguisher_cabinet/do_simple_ranged_interaction(var/mob/user)
if(has_extinguisher)
diff --git a/code/game/objects/structures/fireaxe_cabinet.dm b/code/game/objects/structures/fireaxe_cabinet.dm
index bf498e7726b..90490d2f187 100644
--- a/code/game/objects/structures/fireaxe_cabinet.dm
+++ b/code/game/objects/structures/fireaxe_cabinet.dm
@@ -46,19 +46,19 @@
update_icon()
/obj/structure/fireaxecabinet/update_icon()
- cut_overlays()
+ ClearOverlays()
if(fireaxe)
- add_overlay("axe")
+ AddOverlays("axe")
if(shattered)
- add_overlay("glass4")
+ AddOverlays("glass4")
if(unlocked)
- add_overlay("unlocked")
+ AddOverlays("unlocked")
else
- add_overlay("locked")
+ AddOverlays("locked")
if(open)
- add_overlay("glass_raised")
+ AddOverlays("glass_raised")
else
- add_overlay("glass")
+ AddOverlays("glass")
/obj/structure/fireaxecabinet/New()
diff --git a/code/game/objects/structures/hadii_statue.dm b/code/game/objects/structures/hadii_statue.dm
index eee93ea7618..cb8779f5ac7 100644
--- a/code/game/objects/structures/hadii_statue.dm
+++ b/code/game/objects/structures/hadii_statue.dm
@@ -22,12 +22,12 @@
topple()
/obj/structure/hadii_statue/update_icon()
- cut_overlays()
+ ClearOverlays()
if(toppled)
icon_state = "[initial(icon_state)]_toppled"
return
if(outside)
- add_overlay("snow")
+ AddOverlays("snow")
/obj/structure/hadii_statue/ex_act(severity)
switch(severity)
diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm
index 63dc3d86526..d3f6f658b38 100644
--- a/code/game/objects/structures/janicart.dm
+++ b/code/game/objects/structures/janicart.dm
@@ -331,30 +331,30 @@
updateUsrDialog()
/obj/structure/janitorialcart/update_icon()
- cut_overlays()
+ ClearOverlays()
has_items = 0
if(mybucket)
- add_overlay("cart_bucket")
+ AddOverlays("cart_bucket")
has_items = 1
if(mybucket.reagents.total_volume > 0)
- add_overlay("cart_water")
+ AddOverlays("cart_water")
if(mybag)
- add_overlay("cart_garbage")
+ AddOverlays("cart_garbage")
has_items = 1
if(mymop)
- add_overlay("cart_mop")
+ AddOverlays("cart_mop")
has_items = 1
if(myspray)
- add_overlay("cart_spray")
+ AddOverlays("cart_spray")
has_items = 1
if(myreplacer)
if (istype(myreplacer, /obj/item/device/lightreplacer/advanced))
- add_overlay("cart_adv_lightreplacer")
+ AddOverlays("cart_adv_lightreplacer")
else
- add_overlay("cart_replacer")
+ AddOverlays("cart_replacer")
has_items = 1
if(signs)
- add_overlay("cart_sign[signs]")
+ AddOverlays("cart_sign[signs]")
has_items = 1
//Shamelessly copied from wheelchair code
diff --git a/code/game/objects/structures/kitchen_spike.dm b/code/game/objects/structures/kitchen_spike.dm
index cc3167664ec..87e97006c76 100644
--- a/code/game/objects/structures/kitchen_spike.dm
+++ b/code/game/objects/structures/kitchen_spike.dm
@@ -31,17 +31,17 @@
if(!istype(victim))
return
- cut_overlays()
+ ClearOverlays()
if(istype(victim, /mob/living/carbon/human))
var/mob/living/carbon/human/H = victim
if(!issmall(H))
return 0
meat_type = H.species.meat_type
- add_overlay(overlay_image(icon, "spikebloody"))
+ AddOverlays(overlay_image(icon, "spikebloody"))
else if(istype(victim, /mob/living/carbon/alien))
var/mob/living/carbon/alien/A = victim
meat_type = A.meat_type
- add_overlay(overlay_image(icon, "spikebloodygreen"))
+ AddOverlays(overlay_image(icon, "spikebloodygreen"))
else
return 0
diff --git a/code/game/objects/structures/lattice.dm b/code/game/objects/structures/lattice.dm
index 55a15fc8303..c6010c08ec6 100644
--- a/code/game/objects/structures/lattice.dm
+++ b/code/game/objects/structures/lattice.dm
@@ -155,7 +155,7 @@
/obj/structure/lattice/catwalk/indoor/grate/old/Initialize()
. = ..()
- add_overlay("rust")
+ AddOverlays("rust")
/obj/structure/lattice/catwalk/indoor/grate/damaged
icon_state = "grate_dark_dam0"
@@ -173,7 +173,7 @@
/obj/structure/lattice/catwalk/indoor/grate/light/old/Initialize()
. = ..()
- add_overlay("rust")
+ AddOverlays("rust")
/obj/structure/lattice/catwalk/indoor/grate/light/damaged
icon_state = "grate_light_dam0"
diff --git a/code/game/objects/structures/light_pole.dm b/code/game/objects/structures/light_pole.dm
index a71293bad57..0c391cd5c8c 100644
--- a/code/game/objects/structures/light_pole.dm
+++ b/code/game/objects/structures/light_pole.dm
@@ -66,7 +66,7 @@
/obj/structure/utility_pole/street/on/Initialize(mapload)
. = ..()
- cut_overlays()
+ ClearOverlays()
overlays += /obj/effect/overlay/street_light
return
@@ -82,7 +82,7 @@
/obj/structure/utility_pole/street/classic/on/Initialize(mapload)
. = ..()
- cut_overlays()
+ ClearOverlays()
overlays += /obj/effect/overlay/street_light/classic
return
@@ -99,7 +99,7 @@
/obj/structure/utility_pole/street/crosswalk/Initialize(mapload)
. = ..()
- cut_overlays()
+ ClearOverlays()
overlays += /obj/effect/overlay/street_light/crosswalk
return
@@ -119,13 +119,13 @@
/obj/structure/utility_pole/street/traffic/base/Initialize(mapload)
. = ..()
- cut_overlays()
+ ClearOverlays()
overlays += /obj/effect/overlay/street_light/traffic
return
/obj/structure/utility_pole/street/traffic/inverted/Initialize(mapload)
. = ..()
- cut_overlays()
+ ClearOverlays()
overlays += /obj/effect/overlay/street_light/traffic/inverted
return
diff --git a/code/game/objects/structures/mop_bucket.dm b/code/game/objects/structures/mop_bucket.dm
index 2cc37cf68d9..ea44e91ac68 100644
--- a/code/game/objects/structures/mop_bucket.dm
+++ b/code/game/objects/structures/mop_bucket.dm
@@ -35,9 +35,9 @@
update_icon()
/obj/structure/mopbucket/update_icon()
- cut_overlays()
+ ClearOverlays()
if(reagents.total_volume > 0)
- add_overlay("mopbucket_water")
+ AddOverlays("mopbucket_water")
/obj/structure/mopbucket/on_reagent_change()
. = ..()
diff --git a/code/game/objects/structures/plasticflaps.dm b/code/game/objects/structures/plasticflaps.dm
index f8f0a077ece..1c4ffc7f2c1 100644
--- a/code/game/objects/structures/plasticflaps.dm
+++ b/code/game/objects/structures/plasticflaps.dm
@@ -31,10 +31,10 @@
var/image/plasticflaps_overlay = overlay_image(icon, "plasticflaps_overlay", null, RESET_COLOR)
if(dir == WEST || dir == EAST)
plasticflaps_overlay.pixel_y = -13
- add_overlay(plasticflaps_overlay)
+ AddOverlays(plasticflaps_overlay)
/obj/structure/plasticflaps/Destroy()
- cut_overlays()
+ ClearOverlays()
if(airtight)
clear_airtight()
. = ..()
diff --git a/code/game/objects/structures/safe.dm b/code/game/objects/structures/safe.dm
index 3486bf12e9d..482554e5309 100644
--- a/code/game/objects/structures/safe.dm
+++ b/code/game/objects/structures/safe.dm
@@ -97,12 +97,12 @@ FLOOR SAFES
else
icon_state = initial(icon_state)
- cut_overlay(drill_overlay)
+ CutOverlays(drill_overlay)
if(istype(drill, /obj/item/thermal_drill))
var/drill_icon = istype(drill, /obj/item/thermal_drill/diamond_drill) ? "d" : "h"
var/state = "[initial(icon_state)]_[drill_icon]-drill-[(datum_flags & DF_ISPROCESSING) ? "on" : "off"]"
drill_overlay = image(icon = 'icons/effects/drill.dmi', icon_state = state, pixel_x = drill_x_offset, pixel_y = drill_y_offset)
- add_overlay(drill_overlay)
+ AddOverlays(drill_overlay)
/obj/structure/safe/attack_hand(mob/user as mob)
if(drill)
diff --git a/code/game/objects/structures/stool_bed_chair_nest/bed.dm b/code/game/objects/structures/stool_bed_chair_nest/bed.dm
index f5f2bf084f7..170162198bb 100644
--- a/code/game/objects/structures/stool_bed_chair_nest/bed.dm
+++ b/code/game/objects/structures/stool_bed_chair_nest/bed.dm
@@ -78,7 +78,7 @@
generate_strings()
// Prep icon.
icon_state = ""
- cut_overlays()
+ ClearOverlays()
// Base icon.
generate_overlay_cache(material) //Generate base icon cache
@@ -105,7 +105,7 @@
else if(overlay_material.icon_colour) // Either that, or just fall back on the regular material color.
I.color = overlay_material.icon_colour
furniture_cache[cache_key] = I
- add_overlay(furniture_cache[cache_key]) // Use image from cache key!
+ AddOverlays(furniture_cache[cache_key]) // Use image from cache key!
/obj/structure/bed/proc/generate_strings()
if(material_alteration & MATERIAL_ALTERATION_NAME)
@@ -390,7 +390,7 @@
return ..()
/obj/structure/bed/roller/update_icon()
- cut_overlays()
+ ClearOverlays()
vis_contents = list()
if(density)
if(anchored)
@@ -404,15 +404,15 @@
var/percentage = round((beaker.reagents.total_volume / beaker.volume) * 100, 25)
var/image/filling = image(icon, "iv_filling[percentage]")
filling.color = beaker.reagents.get_color()
- iv.add_overlay(filling)
+ iv.AddOverlays(filling)
if(percentage < 25)
- iv.add_overlay(image(icon, "light_low"))
+ iv.AddOverlays(image(icon, "light_low"))
if(density)
iv.pixel_y = 7
- add_overlay(iv)
+ AddOverlays(iv)
if(has_iv_light)
var/image/light = image(icon, "iv[iv_attached]_l")
- add_overlay(light)
+ AddOverlays(light)
if(vitals)
vitals.update_monitor()
add_vis_contents(vitals)
diff --git a/code/game/objects/structures/stool_bed_chair_nest/stools.dm b/code/game/objects/structures/stool_bed_chair_nest/stools.dm
index 5148c83c256..c367a2872ed 100644
--- a/code/game/objects/structures/stool_bed_chair_nest/stools.dm
+++ b/code/game/objects/structures/stool_bed_chair_nest/stools.dm
@@ -243,7 +243,7 @@
/obj/item/material/stool/update_icon()
icon_state = "[base_icon]_item"
- cut_overlays()
+ ClearOverlays()
if(padding_material) // Handles padding overlay and inhand overlays.
var/image/padding_overlay = image(icon, "[base_icon]_item_padding")
padding_overlay.appearance_flags = RESET_COLOR
@@ -255,7 +255,7 @@
else if(padding_material.icon_colour)
padding_overlay.color = padding_material.icon_colour
worn_overlay_color = padding_material.icon_colour
- add_overlay(padding_overlay)
+ AddOverlays(padding_overlay)
else
build_from_parts = FALSE
update_held_icon()
diff --git a/code/game/objects/structures/tank_dispenser.dm b/code/game/objects/structures/tank_dispenser.dm
index bd0e12f5f56..e94202452c0 100644
--- a/code/game/objects/structures/tank_dispenser.dm
+++ b/code/game/objects/structures/tank_dispenser.dm
@@ -28,17 +28,17 @@
update_icon()
/obj/structure/dispenser/update_icon()
- cut_overlays()
+ ClearOverlays()
switch(oxygen_tanks)
if(1 to 4)
- add_overlay("oxygen-[oxygen_tanks]")
+ AddOverlays("oxygen-[oxygen_tanks]")
if(5 to INFINITY)
- add_overlay("oxygen-5")
+ AddOverlays("oxygen-5")
switch(phoron_tanks)
if(1 to 4)
- add_overlay("phoron-[phoron_tanks]")
+ AddOverlays("phoron-[phoron_tanks]")
if(5 to INFINITY)
- add_overlay("phoron-5")
+ AddOverlays("phoron-5")
/obj/structure/dispenser/attack_ai(mob/user)
if(user.Adjacent(src))
diff --git a/code/game/objects/structures/under_wardrobe.dm b/code/game/objects/structures/under_wardrobe.dm
index 2ddde93d74f..0c6677f8222 100644
--- a/code/game/objects/structures/under_wardrobe.dm
+++ b/code/game/objects/structures/under_wardrobe.dm
@@ -7,8 +7,8 @@
/obj/structure/undies_wardrobe/Initialize(mapload)
. = ..()
- add_overlay("cabinet_door")
- add_overlay("cabinet_door_alt")
+ AddOverlays("cabinet_door")
+ AddOverlays("cabinet_door_alt")
/obj/structure/undies_wardrobe/attack_hand(var/mob/user)
if(!human_who_can_use_underwear(user))
diff --git a/code/game/objects/structures/urban.dm b/code/game/objects/structures/urban.dm
index 523eebe5dd4..f2be4080b8d 100644
--- a/code/game/objects/structures/urban.dm
+++ b/code/game/objects/structures/urban.dm
@@ -9,7 +9,7 @@
/obj/structure/automobile/random/Initialize(mapload)
. = ..()
- cut_overlays()
+ ClearOverlays()
name = "[pick("deluxe Shibata Sport automotive","beat-up Poplar Auto Group automotive","weathered Shibata Sport automotive","beat-up Langenfeld automotive","deluxe Langenfeld automotive","weathered Langenfeld automotive")]"
desc = "A [name] vehicle of working condition."
icon_state = "car[rand(1, 10)]"
@@ -449,7 +449,7 @@
/obj/structure/sign/billboard/advert/random/Initialize(mapload)
. = ..()
- cut_overlays()
+ ClearOverlays()
icon_state = "sign[rand(1, 14)]"
return
diff --git a/code/game/objects/structures/vr/_remote_chair.dm b/code/game/objects/structures/vr/_remote_chair.dm
index 5299bd406b4..99a4da0d9ca 100644
--- a/code/game/objects/structures/vr/_remote_chair.dm
+++ b/code/game/objects/structures/vr/_remote_chair.dm
@@ -47,7 +47,7 @@
if(H.old_mob)
to_chat(H, SPAN_WARNING("The chair rejects you! You cannot recursively control bodies."))
return
- add_overlay(image('icons/obj/furniture.dmi', src, "vr_helmet", FLY_LAYER))
+ AddOverlays(image('icons/obj/furniture.dmi', src, "vr_helmet", FLY_LAYER))
START_PROCESSING(SSprocessing, src)
@@ -64,6 +64,6 @@
var/mob/M = buckled
if(istype(M) && M.vr_mob)
M.vr_mob.body_return()
- cut_overlays()
+ ClearOverlays()
STOP_PROCESSING(SSprocessing, src)
..()
diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm
index 8da3441edd1..fce2cefb2b7 100644
--- a/code/game/objects/structures/watercloset.dm
+++ b/code/game/objects/structures/watercloset.dm
@@ -185,13 +185,13 @@
add_fingerprint(user)
/obj/machinery/shower/update_icon() //this is terribly unreadable, but basically it makes the shower mist up
- cut_overlays() //once it's been on for a while, in addition to handling the water overlay.
+ ClearOverlays() //once it's been on for a while, in addition to handling the water overlay.
if(mymist)
qdel(mymist)
if(on)
soundloop.start(src)
- add_overlay(image('icons/obj/watercloset.dmi', src, "water", MOB_LAYER + 1, dir))
+ AddOverlays(image('icons/obj/watercloset.dmi', src, "water", MOB_LAYER + 1, dir))
if(temperature_settings[watertemp] < T20C)
return //no mist for cold water
if(!ismist)
diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm
index e24f23a5267..a9592aa87a6 100644
--- a/code/game/objects/structures/window.dm
+++ b/code/game/objects/structures/window.dm
@@ -104,12 +104,12 @@
updateSilicate()
/obj/structure/window/proc/updateSilicate()
- cut_overlays()
+ ClearOverlays()
var/image/img = image(icon, icon_state)
img.color = "#ffffff"
img.alpha = silicate * 255 / 100
- add_overlay(img)
+ AddOverlays(img)
/obj/structure/window/proc/shatter(var/display_message = 1)
playsound(src, /singleton/sound_category/glass_break_sound, 70, 1)
diff --git a/code/game/turfs/flooring/flooring_decals_.dm b/code/game/turfs/flooring/flooring_decals_.dm
index 32df226e510..9d6e1658c30 100644
--- a/code/game/turfs/flooring/flooring_decals_.dm
+++ b/code/game/turfs/flooring/flooring_decals_.dm
@@ -47,7 +47,7 @@
floor_decals[cache_key] = I
if(!T.decals) T.decals = list()
T.decals |= floor_decals[cache_key]
- T.add_overlay(floor_decals[cache_key])
+ T.AddOverlays(floor_decals[cache_key])
if(desc)
T.desc += "
There is \a [src] on it with the following inscription:
[desc]"
diff --git a/code/game/turfs/flooring/flooring_premade_.dm b/code/game/turfs/flooring/flooring_premade_.dm
index 0fc8665a280..35a5778a098 100644
--- a/code/game/turfs/flooring/flooring_premade_.dm
+++ b/code/game/turfs/flooring/flooring_premade_.dm
@@ -100,7 +100,7 @@
. = ..()
var/image/rust = image('icons/turf/decals/damage.dmi', "rust")
rust.appearance_flags = RESET_COLOR
- add_overlay(rust)
+ AddOverlays(rust)
/turf/simulated/floor/tiled/rust/airless
initial_gas = null
diff --git a/code/game/turfs/simulated.dm b/code/game/turfs/simulated.dm
index c7b39789eea..5d76097db7d 100644
--- a/code/game/turfs/simulated.dm
+++ b/code/game/turfs/simulated.dm
@@ -149,7 +149,7 @@
if(!wet_overlay)
wet_overlay = image('icons/effects/water.dmi',src,"wet_floor")
- add_overlay(wet_overlay, TRUE)
+ AddOverlays(wet_overlay, ATOM_ICON_CACHE_PROTECTED)
wet_amount += amount
@@ -159,7 +159,7 @@
wet_amount = 0
wet_type = 0
if(wet_overlay)
- cut_overlay(wet_overlay, TRUE)
+ CutOverlays(wet_overlay, ATOM_ICON_CACHE_PROTECTED)
wet_overlay = null
/turf/simulated/clean_blood()
diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm
index 425c31b4a85..f36ef516476 100644
--- a/code/game/turfs/simulated/floor.dm
+++ b/code/game/turfs/simulated/floor.dm
@@ -64,7 +64,7 @@
//This proc auto corrects the grass tiles' siding.
/turf/simulated/floor/proc/make_plating(var/place_product, var/defer_icon_update)
- cut_overlays()
+ ClearOverlays()
if(islist(decals))
decals.Cut()
diff --git a/code/game/turfs/simulated/floor_icon.dm b/code/game/turfs/simulated/floor_icon.dm
index 6d2127140f1..f8d7d0bac4f 100644
--- a/code/game/turfs/simulated/floor_icon.dm
+++ b/code/game/turfs/simulated/floor_icon.dm
@@ -20,7 +20,7 @@
flooring_override = icon_state
// Apply edges, corners, and inner corners.
- cut_overlays()
+ ClearOverlays()
var/has_border = 0
//Check the cardinal turfs
for(var/step_dir in GLOB.cardinal)
@@ -33,9 +33,9 @@
//Now, if we don't, then lets add a border
if(flooring.has_damage_state && !isnull(broken) && (flooring.flags & TURF_CAN_BREAK))
- add_overlay(get_flooring_overlay("[flooring.icon]_[flooring.icon_base]-broken-edge-[step_dir]", "[flooring.icon_base]_broken_edges", step_dir,(flooring.flags & TURF_HAS_EDGES)))
+ AddOverlays(get_flooring_overlay("[flooring.icon]_[flooring.icon_base]-broken-edge-[step_dir]", "[flooring.icon_base]_broken_edges", step_dir,(flooring.flags & TURF_HAS_EDGES)))
else if(flooring.flags & TURF_HAS_EDGES)
- add_overlay(get_flooring_overlay("[flooring.icon]_[flooring.icon_base]-edge-[step_dir]", "[flooring.icon_base]_edges", step_dir, (flooring.flags & TURF_HAS_EDGES)))
+ AddOverlays(get_flooring_overlay("[flooring.icon]_[flooring.icon_base]-edge-[step_dir]", "[flooring.icon_base]_edges", step_dir, (flooring.flags & TURF_HAS_EDGES)))
has_smooth = ~(has_border & (NORTH | SOUTH | EAST | WEST))
@@ -45,9 +45,9 @@
if((has_smooth & direction) == direction)
if(!flooring.symmetric_test_link(src, get_step(src, direction)))
if(flooring.has_damage_state && !isnull(broken) && (flooring.flags & TURF_CAN_BREAK))
- add_overlay(get_flooring_overlay("[flooring.icon]_[flooring.icon_base]-broken-corner-[direction]", "[flooring.icon_base]_broken_corners", direction))
+ AddOverlays(get_flooring_overlay("[flooring.icon]_[flooring.icon_base]-broken-corner-[direction]", "[flooring.icon_base]_broken_corners", direction))
else
- add_overlay(get_flooring_overlay("[flooring.icon]_[flooring.icon_base]-corner-[direction]", "[flooring.icon_base]_corners", direction))
+ AddOverlays(get_flooring_overlay("[flooring.icon]_[flooring.icon_base]-corner-[direction]", "[flooring.icon_base]_corners", direction))
//Next up, outer corners
if (has_border && flooring.flags & TURF_HAS_CORNERS)
@@ -55,24 +55,24 @@
if((has_border & direction) == direction)
if(!flooring.symmetric_test_link(src, get_step(src, direction)))
if(flooring.has_damage_state && !isnull(broken) && (flooring.flags & TURF_CAN_BREAK))
- add_overlay(get_flooring_overlay("[flooring.icon]_[flooring.icon_base]-broken-edge-[direction]", "[flooring.icon_base]_broken_edges", direction,(flooring.flags & TURF_HAS_EDGES)))
+ AddOverlays(get_flooring_overlay("[flooring.icon]_[flooring.icon_base]-broken-edge-[direction]", "[flooring.icon_base]_broken_edges", direction,(flooring.flags & TURF_HAS_EDGES)))
else
- add_overlay(get_flooring_overlay("[flooring.icon]_[flooring.icon_base]-edge-[direction]", "[flooring.icon_base]_edges", direction,(flooring.flags & TURF_HAS_EDGES)))
+ AddOverlays(get_flooring_overlay("[flooring.icon]_[flooring.icon_base]-edge-[direction]", "[flooring.icon_base]_edges", direction,(flooring.flags & TURF_HAS_EDGES)))
if(!isnull(broken) && (flooring.flags & TURF_CAN_BREAK))
if(flooring.has_damage_state)
- add_overlay(get_damage_overlay("[flooring.icon_base]_broken[broken]", flooring_icon = flooring.icon, flooring_color = flooring.damage_uses_color ? flooring.color : null)) //example, material floors damage. like diamond_broken0.
+ AddOverlays(get_damage_overlay("[flooring.icon_base]_broken[broken]", flooring_icon = flooring.icon, flooring_color = flooring.damage_uses_color ? flooring.color : null)) //example, material floors damage. like diamond_broken0.
else // EVERYTHING BELOW, SEE DAMAGE.DMI
- add_overlay(get_damage_overlay("[broken_overlay ? "[broken_overlay]_" : ""]broken[broken]", BLEND_MULTIPLY, flooring_color = flooring.damage_uses_color ? flooring.color : null)) //example, broken overlay. carpet_broken0.
+ AddOverlays(get_damage_overlay("[broken_overlay ? "[broken_overlay]_" : ""]broken[broken]", BLEND_MULTIPLY, flooring_color = flooring.damage_uses_color ? flooring.color : null)) //example, broken overlay. carpet_broken0.
if(!isnull(burnt) && (flooring.flags & TURF_CAN_BURN))
if(flooring.has_burn_state)
- add_overlay(get_damage_overlay("[flooring.icon_base]_burned[broken]", flooring_icon = flooring.icon, flooring_color = flooring.damage_uses_color ? flooring.color : null))
+ AddOverlays(get_damage_overlay("[flooring.icon_base]_burned[broken]", flooring_icon = flooring.icon, flooring_color = flooring.damage_uses_color ? flooring.color : null))
else
- add_overlay(get_damage_overlay("[burned_overlay ? "[burned_overlay]_" : ""]burned[burnt]"))
+ AddOverlays(get_damage_overlay("[burned_overlay ? "[burned_overlay]_" : ""]burned[burnt]"))
if(decals && decals.len)
for(var/image/I in decals)
- add_overlay(I)
+ AddOverlays(I)
if(update_neighbors)
for(var/turf/simulated/floor/F in RANGE_TURFS(1, src))
diff --git a/code/game/turfs/simulated/wall_icon.dm b/code/game/turfs/simulated/wall_icon.dm
index 4bb12a0137d..16f4afca5b3 100644
--- a/code/game/turfs/simulated/wall_icon.dm
+++ b/code/game/turfs/simulated/wall_icon.dm
@@ -51,9 +51,9 @@
generate_overlays()
if (LAZYLEN(reinforcement_images))
- cut_overlay(reinforcement_images, TRUE)
+ CutOverlays(reinforcement_images, ATOM_ICON_CACHE_PROTECTED)
if (damage_image)
- cut_overlay(damage_image, TRUE)
+ CutOverlays(damage_image, ATOM_ICON_CACHE_PROTECTED)
LAZYCLEARLIST(reinforcement_images)
damage_image = null
@@ -64,11 +64,11 @@
clear_smooth_overlays()
fake_wall_image = image('icons/turf/wall_masks.dmi', "[material.icon_base]fwall_open")
fake_wall_image.color = material.icon_colour
- add_overlay(fake_wall_image)
+ AddOverlays(fake_wall_image)
smoothing_flags = SMOOTH_FALSE
return
else if (fake_wall_image)
- cut_overlay(fake_wall_image)
+ CutOverlays(fake_wall_image)
fake_wall_image = null
smoothing_flags = initial(smoothing_flags)
@@ -103,7 +103,7 @@
damage_image = damage_overlays[overlay]
overlays_to_add += damage_image
- add_overlay(overlays_to_add, TRUE)
+ AddOverlays(overlays_to_add, ATOM_ICON_CACHE_PROTECTED)
UNSETEMPTY(reinforcement_images)
SSicon_smooth.add_to_queue(src)
if(smoothing_flags & SMOOTH_UNDERLAYS)
diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm
index bbf84185576..54ea8881c3b 100644
--- a/code/game/turfs/turf.dm
+++ b/code/game/turfs/turf.dm
@@ -292,10 +292,10 @@ var/const/enterloopsanity = 100
if(!S.blood_overlay)
S.generate_blood_overlay()
if(S.blood_overlay?.color != footprint_color)
- S.cut_overlay(S.blood_overlay, TRUE)
+ S.CutOverlays(S.blood_overlay, ATOM_ICON_CACHE_PROTECTED)
S.blood_overlay.color = footprint_color
- S.add_overlay(S.blood_overlay, TRUE)
+ S.AddOverlays(S.blood_overlay, ATOM_ICON_CACHE_PROTECTED)
else
H.footprint_color = footprint_color
H.track_footprint = max(track_distance, H.track_footprint)
diff --git a/code/game/turfs/turf_changing.dm b/code/game/turfs/turf_changing.dm
index 9d07d99bde4..3c1c97b70eb 100644
--- a/code/game/turfs/turf_changing.dm
+++ b/code/game/turfs/turf_changing.dm
@@ -183,11 +183,11 @@
other.roof_flags = roof_flags
other.roof_type = roof_type
- if (our_overlays)
- other.our_overlays = our_overlays
+ if (atom_overlay_cache)
+ other.atom_overlay_cache = atom_overlay_cache
- if (priority_overlays)
- other.priority_overlays = priority_overlays
+ if (atom_protected_overlay_cache)
+ other.atom_protected_overlay_cache = atom_protected_overlay_cache
other.overlays = overlays.Copy()
diff --git a/code/game/turfs/unsimulated/beach.dm b/code/game/turfs/unsimulated/beach.dm
index a1ca42b0f05..eb9822eecff 100644
--- a/code/game/turfs/unsimulated/beach.dm
+++ b/code/game/turfs/unsimulated/beach.dm
@@ -21,4 +21,4 @@
/turf/unsimulated/beach/water/Initialize()
. = ..()
- add_overlay(image("icon"='icons/misc/beach.dmi',"icon_state"="water2","layer"=MOB_LAYER+0.1))
+ AddOverlays(image("icon"='icons/misc/beach.dmi',"icon_state"="water2","layer"=MOB_LAYER+0.1))
diff --git a/code/modules/ambient_occlusion/ao_turf.dm b/code/modules/ambient_occlusion/ao_turf.dm
index 9f10ac40fc3..36fca99efb5 100644
--- a/code/modules/ambient_occlusion/ao_turf.dm
+++ b/code/modules/ambient_occlusion/ao_turf.dm
@@ -84,7 +84,7 @@
#define CUT_AO(TARGET, AO_LIST) \
if (AO_LIST) { \
- TARGET.cut_overlay(AO_LIST, TRUE); \
+ TARGET.CutOverlays(AO_LIST, ATOM_ICON_CACHE_PROTECTED); \
AO_LIST.Cut(); \
}
@@ -98,7 +98,7 @@
} \
UNSETEMPTY(AO_LIST); \
if (AO_LIST) { \
- TARGET.add_overlay(AO_LIST, TRUE); \
+ TARGET.AddOverlays(AO_LIST, ATOM_ICON_CACHE_PROTECTED); \
}
/turf/proc/update_ao()
diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm
index ba5d43d6006..e6b1a4ff5ce 100644
--- a/code/modules/assembly/assembly.dm
+++ b/code/modules/assembly/assembly.dm
@@ -37,7 +37,7 @@
STOP_PROCESSING(SSprocessing, src)
holder = null
- cut_overlays()
+ ClearOverlays()
attached_overlays = null
. = ..()
diff --git a/code/modules/assembly/bomb.dm b/code/modules/assembly/bomb.dm
index 295e875a364..7000240c95e 100644
--- a/code/modules/assembly/bomb.dm
+++ b/code/modules/assembly/bomb.dm
@@ -20,8 +20,8 @@
if(bombtank)
icon_state = bombtank.icon_state
if(bombassembly)
- add_overlay(bombassembly)
- add_overlay("bomb_assembly")
+ AddOverlays(bombassembly)
+ AddOverlays("bomb_assembly")
/obj/item/device/onetankbomb/attackby(obj/item/attacking_item, mob/user)
if(istype(attacking_item, /obj/item/device/analyzer))
diff --git a/code/modules/assembly/holder.dm b/code/modules/assembly/holder.dm
index f06384d9aa4..637e754c69f 100644
--- a/code/modules/assembly/holder.dm
+++ b/code/modules/assembly/holder.dm
@@ -64,15 +64,15 @@
return FALSE
/obj/item/device/assembly_holder/update_icon()
- cut_overlays()
+ ClearOverlays()
if(a_left)
- add_overlay("[a_left.icon_state]_left")
+ AddOverlays("[a_left.icon_state]_left")
for(var/O in a_left.attached_overlays)
- add_overlay("[O]_l")
+ AddOverlays("[O]_l")
if(a_right)
- add_overlay("[a_right.icon_state]_right")
+ AddOverlays("[a_right.icon_state]_right")
for(var/O in a_right.attached_overlays)
- add_overlay("[O]_r")
+ AddOverlays("[O]_r")
if(master)
master.update_icon()
diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm
index c7e921cf14f..5285b02f1c8 100644
--- a/code/modules/assembly/infrared.dm
+++ b/code/modules/assembly/infrared.dm
@@ -43,10 +43,10 @@
return secured
/obj/item/device/assembly/infra/update_icon()
- cut_overlays()
+ ClearOverlays()
attached_overlays = list()
if(on)
- add_overlay("infrared_on")
+ AddOverlays("infrared_on")
attached_overlays += "infrared_on"
if(holder)
diff --git a/code/modules/assembly/proximity.dm b/code/modules/assembly/proximity.dm
index ed478d3d86a..a0f5bd9fe21 100644
--- a/code/modules/assembly/proximity.dm
+++ b/code/modules/assembly/proximity.dm
@@ -82,13 +82,13 @@
return
/obj/item/device/assembly/prox_sensor/update_icon()
- cut_overlays()
+ ClearOverlays()
attached_overlays = list()
if(timing)
- add_overlay("prox_timing")
+ AddOverlays("prox_timing")
attached_overlays += "prox_timing"
if(scanning)
- add_overlay("prox_scanning")
+ AddOverlays("prox_scanning")
attached_overlays += "prox_scanning"
if(holder)
holder.update_icon()
diff --git a/code/modules/assembly/timer.dm b/code/modules/assembly/timer.dm
index dd7b66408af..af115473aad 100644
--- a/code/modules/assembly/timer.dm
+++ b/code/modules/assembly/timer.dm
@@ -51,10 +51,10 @@
time = 10
/obj/item/device/assembly/timer/update_icon()
- cut_overlays()
+ ClearOverlays()
attached_overlays = list()
if(timing)
- add_overlay("timer_timing")
+ AddOverlays("timer_timing")
attached_overlays += "timer_timing"
if(holder)
holder.update_icon()
diff --git a/code/modules/asset_cache/asset_cache.dm b/code/modules/asset_cache/asset_cache.dm
index 689e4dc7ed4..5b117c81eaa 100644
--- a/code/modules/asset_cache/asset_cache.dm
+++ b/code/modules/asset_cache/asset_cache.dm
@@ -659,8 +659,8 @@ var/list/asset_datums = list()
Insert(imgid, I, forced=I)
else
item.update_icon()
- if(item.overlay_queued)
- item.compile_overlays()
+ if(item.atom_flags & ATOM_AWAITING_OVERLAY_UPDATE)
+ item.UpdateOverlays()
if(item.overlays.len)
I = getFlatIcon(item) // forgive me for my performance sins
Insert(imgid, I, forced=I)
diff --git a/code/modules/atmospherics/components/binary_devices/circulator.dm b/code/modules/atmospherics/components/binary_devices/circulator.dm
index 1df8be62c02..8a3d6507905 100644
--- a/code/modules/atmospherics/components/binary_devices/circulator.dm
+++ b/code/modules/atmospherics/components/binary_devices/circulator.dm
@@ -78,18 +78,18 @@
/obj/machinery/atmospherics/binary/circulator/update_icon()
icon_state = anchored ? "circ-assembled" : "circ-unassembled"
- cut_overlays()
+ ClearOverlays()
if (stat & (BROKEN|NOPOWER) || !anchored)
return TRUE
if (last_pressure_delta > 0 && recent_moles_transferred > 0)
if (temperature_overlay)
- add_overlay(temperature_overlay)
+ AddOverlays(temperature_overlay)
if (last_pressure_delta > 5*ONE_ATMOSPHERE)
- add_overlay("circ-run")
+ AddOverlays("circ-run")
else
- add_overlay("circ-slow")
+ AddOverlays("circ-slow")
else
- add_overlay("circ-off")
+ AddOverlays("circ-off")
return TRUE
diff --git a/code/modules/atmospherics/components/omni_devices/omni_base.dm b/code/modules/atmospherics/components/omni_devices/omni_base.dm
index 5a77abd79cd..ca945a80166 100644
--- a/code/modules/atmospherics/components/omni_devices/omni_base.dm
+++ b/code/modules/atmospherics/components/omni_devices/omni_base.dm
@@ -46,7 +46,7 @@
. = ..()
/obj/machinery/atmospherics/omni/update_icon()
- cut_overlays()
+ ClearOverlays()
var/list/to_add = list(base_icon)
if(stat & NOPOWER)
to_add += off_states
@@ -58,7 +58,7 @@
else
to_add += off_states
- add_overlay(to_add)
+ AddOverlays(to_add)
underlays = underlays_current
diff --git a/code/modules/atmospherics/pipes.dm b/code/modules/atmospherics/pipes.dm
index 46e6cec0631..29e51d8fc62 100644
--- a/code/modules/atmospherics/pipes.dm
+++ b/code/modules/atmospherics/pipes.dm
@@ -274,7 +274,7 @@
alpha = 255
- cut_overlays()
+ ClearOverlays()
if(!node1 && !node2)
var/turf/T = get_turf(src)
@@ -285,9 +285,9 @@
qdel(meter)
qdel(src)
else if(node1 && node2)
- add_overlay(icon_manager.get_atmos_icon("pipe", , pipe_color, "[pipe_icon]intact[icon_connect_type]"))
+ AddOverlays(icon_manager.get_atmos_icon("pipe", , pipe_color, "[pipe_icon]intact[icon_connect_type]"))
else
- add_overlay(icon_manager.get_atmos_icon("pipe", , pipe_color, "[pipe_icon]exposed[node1?1:0][node2?1:0][icon_connect_type]"))
+ AddOverlays(icon_manager.get_atmos_icon("pipe", , pipe_color, "[pipe_icon]exposed[node1?1:0][node2?1:0][icon_connect_type]"))
/obj/machinery/atmospherics/pipe/simple/update_underlays()
return
@@ -588,9 +588,9 @@
qdel(meter)
qdel(src)
else
- cut_overlays()
- add_overlay(icon_manager.get_atmos_icon("manifold", , pipe_color, "core" + icon_connect_type))
- add_overlay(icon_manager.get_atmos_icon("manifold", , , "clamps" + icon_connect_type))
+ ClearOverlays()
+ AddOverlays(icon_manager.get_atmos_icon("manifold", , pipe_color, "core" + icon_connect_type))
+ AddOverlays(icon_manager.get_atmos_icon("manifold", , , "clamps" + icon_connect_type))
// Can't handle underlays with SSoverlay.
underlays.Cut()
@@ -904,9 +904,9 @@
qdel(meter)
qdel(src)
else
- cut_overlays()
- add_overlay(icon_manager.get_atmos_icon("manifold", , pipe_color, "4way" + icon_connect_type))
- add_overlay(icon_manager.get_atmos_icon("manifold", , , "clamps_4way" + icon_connect_type))
+ ClearOverlays()
+ AddOverlays(icon_manager.get_atmos_icon("manifold", , pipe_color, "4way" + icon_connect_type))
+ AddOverlays(icon_manager.get_atmos_icon("manifold", , , "clamps_4way" + icon_connect_type))
underlays.Cut()
@@ -1181,8 +1181,8 @@
alpha = 255
- cut_overlays()
- add_overlay(icon_manager.get_atmos_icon("pipe", , pipe_color, "cap"))
+ ClearOverlays()
+ AddOverlays(icon_manager.get_atmos_icon("pipe", , pipe_color, "cap"))
/obj/machinery/atmospherics/pipe/cap/atmos_init()
for(var/obj/machinery/atmospherics/target in get_step(src, dir))
@@ -1462,8 +1462,8 @@
alpha = 255
- cut_overlays()
- add_overlay(icon_manager.get_atmos_icon("pipe", , pipe_color, "universal"))
+ ClearOverlays()
+ AddOverlays(icon_manager.get_atmos_icon("pipe", , pipe_color, "universal"))
underlays.Cut()
if (node1)
@@ -1499,8 +1499,8 @@
alpha = 255
- cut_overlays()
- add_overlay(icon_manager.get_atmos_icon("pipe", , pipe_color, "universal"))
+ ClearOverlays()
+ AddOverlays(icon_manager.get_atmos_icon("pipe", , pipe_color, "universal"))
underlays.Cut()
diff --git a/code/modules/battlemonsters/items/card.dm b/code/modules/battlemonsters/items/card.dm
index 8b9e68f89a3..2be83b789ec 100644
--- a/code/modules/battlemonsters/items/card.dm
+++ b/code/modules/battlemonsters/items/card.dm
@@ -113,7 +113,7 @@
/obj/item/battle_monsters/card/update_icon()
- cut_overlays()
+ ClearOverlays()
if(facedown)
icon_state = "back"
@@ -131,25 +131,25 @@
rounded_rarity_score = min(max(round(rounded_rarity_score,1),1),4)
icon_state = "front_r_[rounded_rarity_score]"
- add_overlay("front_label")
+ AddOverlays("front_label")
if(trap_datum && trap_datum.icon_state)
- add_overlay(trap_datum.icon_state)
+ AddOverlays(trap_datum.icon_state)
if(spell_datum && spell_datum.icon_state)
- add_overlay(spell_datum.icon_state)
+ AddOverlays(spell_datum.icon_state)
if(prefix_datum && prefix_datum.icon_state)
- add_overlay(prefix_datum.icon_state)
+ AddOverlays(prefix_datum.icon_state)
if(root_datum && root_datum.icon_state)
- add_overlay(root_datum.icon_state)
+ AddOverlays(root_datum.icon_state)
if(suffix_datum && suffix_datum.icon_state)
- add_overlay(suffix_datum.icon_state)
+ AddOverlays(suffix_datum.icon_state)
if(rounded_rarity_score >= 2)
- add_overlay("rarity_animation")
+ AddOverlays("rarity_animation")
var/matrix/M = matrix()
switch(dir)
diff --git a/code/modules/cargo/delivery/backpack.dm b/code/modules/cargo/delivery/backpack.dm
index 8f9f847d679..0406218eb48 100644
--- a/code/modules/cargo/delivery/backpack.dm
+++ b/code/modules/cargo/delivery/backpack.dm
@@ -69,7 +69,7 @@
var/image/north_overlay = get_mob_overlay(courier, mob_icon, mob_state + "_over", slot, FALSE)
north_overlay.layer = courier.layer + 0.01 // we want the tall backpack to render over hair and helmets
north_overlay.appearance_flags |= KEEP_APART
- mob_overlay.add_overlay(north_overlay)
+ mob_overlay.AddOverlays(north_overlay)
return mob_overlay
/obj/item/cargo_backpack/attack_hand(mob/living/carbon/human/user)
diff --git a/code/modules/cciaa/cciaa.dm b/code/modules/cciaa/cciaa.dm
index 5b6c63459db..b356862f59a 100644
--- a/code/modules/cciaa/cciaa.dm
+++ b/code/modules/cciaa/cciaa.dm
@@ -47,7 +47,7 @@
if(!P.stamped)
P.stamped = new
P.stamped += /obj/item/stamp
- P.add_overlay(stampoverlay)
+ P.AddOverlays(stampoverlay)
P.stamps += "
This paper has been stamped by the Central Command Quantum Relay."
if(fax.receivefax(P))
diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm
index a85d95ad3cf..fc104948373 100644
--- a/code/modules/clothing/clothing.dm
+++ b/code/modules/clothing/clothing.dm
@@ -506,7 +506,7 @@
if(blood_DNA && slot != slot_l_hand_str && slot != slot_r_hand_str)
var/image/bloodsies = image(H.species.blood_mask, "bloodyhands")
bloodsies.color = blood_color
- I.add_overlay(bloodsies)
+ I.AddOverlays(bloodsies)
return I
/obj/item/clothing/gloves/emp_act(severity)
@@ -658,7 +658,7 @@
if(alert("You are already wearing a [D.hat]. Swap with [src]?",,"Yes","No") == "Yes")
D.hat.forceMove(get_turf(src))
D.hat = null
- D.cut_overlay(D.hat_overlay)
+ D.CutOverlays(D.hat_overlay)
success = WEAR_HAT
else
success = ALREADY_WEARING_HAT
@@ -697,7 +697,7 @@
return our_image
/obj/item/clothing/head/update_icon(var/mob/user)
- cut_overlays()
+ ClearOverlays()
var/mob/living/carbon/human/H
if(istype(user,/mob/living/carbon/human))
H = user
@@ -706,7 +706,7 @@
// Generate object icon.
if(!SSicon_cache.light_overlay_cache["[light_overlay]_icon"])
SSicon_cache.light_overlay_cache["[light_overlay]_icon"] = image("icon" = 'icons/obj/light_overlays.dmi', "icon_state" = "[light_overlay]")
- add_overlay(SSicon_cache.light_overlay_cache["[light_overlay]_icon"])
+ AddOverlays(SSicon_cache.light_overlay_cache["[light_overlay]_icon"])
// Generate and cache the on-mob icon, which is used in update_inv_head().
var/cache_key = "[light_overlay][H ? "_[H.species.get_bodytype()]" : ""]"
@@ -723,17 +723,17 @@
var/image/I = ..()
if(slot == slot_l_hand_str || slot == slot_r_hand_str)
for(var/obj/item/clothing/accessory/A in accessories)
- A.accessory_mob_overlay.cut_overlays()
+ A.accessory_mob_overlay.ClearOverlays()
else
for(var/obj/item/clothing/accessory/A in accessories)
var/image/accessory_image = A.get_accessory_mob_overlay(H)
- I.add_overlay(accessory_image)
+ I.AddOverlays(accessory_image)
if(blood_DNA && slot != slot_l_hand_str && slot != slot_r_hand_str)
var/image/bloodsies = image(H.species.blood_mask, icon_state = "helmetblood")
bloodsies.color = blood_color
bloodsies.appearance_flags = RESET_ALPHA
- I.add_overlay(bloodsies)
+ I.AddOverlays(bloodsies)
return I
/obj/item/clothing/head/build_shifted_additional_parts(mob/living/carbon/human/H, mob_icon, slot, var/icon/canvas, var/list/facing_list, use_dir)
@@ -749,7 +749,7 @@
I = image(null)
var/cache_key = "[light_overlay]_[H.cached_bodytype || (H.cached_bodytype = H.species.get_bodytype())]"
if(on && SSicon_cache.light_overlay_cache[cache_key] && slot == slot_head_str)
- I.add_overlay(SSicon_cache.light_overlay_cache[cache_key])
+ I.AddOverlays(SSicon_cache.light_overlay_cache[cache_key])
return I
/obj/item/clothing/head/update_clothing_icon()
@@ -810,7 +810,7 @@
var/image/bloodsies = image(H.species.blood_mask, "maskblood")
bloodsies.color = blood_color
bloodsies.appearance_flags = RESET_ALPHA
- I.add_overlay(bloodsies)
+ I.AddOverlays(bloodsies)
return I
/obj/item/clothing/mask/proc/filter_air(datum/gas_mixture/air)
@@ -956,9 +956,9 @@
update_clothing_icon()
/obj/item/clothing/shoes/update_icon()
- cut_overlays()
+ ClearOverlays()
if(holding)
- add_overlay(overlay_image(icon, "[initial(icon_state)]_knife", flags=RESET_COLOR))
+ AddOverlays(overlay_image(icon, "[initial(icon_state)]_knife", flags=RESET_COLOR))
if(ismob(usr))
var/mob/M = usr
M.update_inv_shoes()
@@ -973,7 +973,7 @@
var/image/bloodsies = image(H.species.blood_mask, "shoeblood_[E.limb_name]")
bloodsies.color = blood_color
bloodsies.appearance_flags = RESET_ALPHA
- I.add_overlay(bloodsies)
+ I.AddOverlays(bloodsies)
return I
/obj/item/clothing/shoes/proc/handle_movement(var/turf/walking, var/running)
@@ -1064,16 +1064,16 @@
var/image/I = ..()
if(slot == slot_l_hand_str || slot == slot_r_hand_str)
for(var/obj/item/clothing/accessory/A in accessories)
- A.accessory_mob_overlay.cut_overlays()
+ A.accessory_mob_overlay.ClearOverlays()
else
for(var/obj/item/clothing/accessory/A in accessories)
var/image/accessory_image = A.get_accessory_mob_overlay(H)
- I.add_overlay(accessory_image)
+ I.AddOverlays(accessory_image)
if(blood_DNA && slot != slot_l_hand_str && slot != slot_r_hand_str)
var/image/bloodsies = image(icon = H.species.blood_mask, icon_state = "[blood_overlay_type]blood")
bloodsies.color = blood_color
- I.add_overlay(bloodsies)
+ I.AddOverlays(bloodsies)
return I
/obj/item/clothing/suit/update_clothing_icon()
@@ -1168,16 +1168,16 @@
var/image/I = ..()
if(slot == slot_l_hand_str | slot == slot_r_hand_str)
for(var/obj/item/clothing/accessory/A in accessories)
- A.accessory_mob_overlay.cut_overlays()
+ A.accessory_mob_overlay.ClearOverlays()
else
for(var/obj/item/clothing/accessory/A in accessories)
var/image/accessory_image = A.get_accessory_mob_overlay(H)
- I.add_overlay(accessory_image)
+ I.AddOverlays(accessory_image)
if(blood_DNA && slot != slot_l_hand_str && slot != slot_r_hand_str)
var/image/bloodsies = image(icon = H.species.blood_mask, icon_state = "uniformblood")
bloodsies.color = blood_color
- I.add_overlay(bloodsies)
+ I.AddOverlays(bloodsies)
return I
/obj/item/clothing/under/proc/update_rolldown_status()
diff --git a/code/modules/clothing/clothing_accessories.dm b/code/modules/clothing/clothing_accessories.dm
index b2020c26cd2..6ee7efaf1e2 100644
--- a/code/modules/clothing/clothing_accessories.dm
+++ b/code/modules/clothing/clothing_accessories.dm
@@ -149,8 +149,8 @@
if(i.color)
radial_button.color = i.color
if(i.build_from_parts && i.worn_overlay)
- radial_button.cut_overlays()
- radial_button.add_overlay(overlay_image(i.icon, "[i.icon_state]_[i.worn_overlay]", flags=RESET_COLOR))
+ radial_button.ClearOverlays()
+ radial_button.AddOverlays(overlay_image(i.icon, "[i.icon_state]_[i.worn_overlay]", flags=RESET_COLOR))
options[i] = radial_button
A = show_radial_menu(M, M, options, radius = 42, tooltips = TRUE)
else
diff --git a/code/modules/clothing/ears/earmuffs.dm b/code/modules/clothing/ears/earmuffs.dm
index 8f6cd399634..1da33c4229c 100644
--- a/code/modules/clothing/ears/earmuffs.dm
+++ b/code/modules/clothing/ears/earmuffs.dm
@@ -31,7 +31,7 @@
playsound(src, /singleton/sound_category/button_sound, 10)
if(on)
- cut_overlays()
+ ClearOverlays()
worn_overlay = null
to_chat(usr, SPAN_NOTICE("You turn the music off."))
else
@@ -51,7 +51,7 @@
/obj/item/clothing/ears/earmuffs/earphones/headphones/update_icon()
..()
- add_overlay(overlay_image(icon, "[icon_state]_overlay", flags=RESET_COLOR))
+ AddOverlays(overlay_image(icon, "[icon_state]_overlay", flags=RESET_COLOR))
/obj/item/clothing/ears/earmuffs/earphones/earbuds
name = "earbuds"
diff --git a/code/modules/clothing/factions/assunzione.dm b/code/modules/clothing/factions/assunzione.dm
index 6ffc5db78a9..c7d809b3c2c 100644
--- a/code/modules/clothing/factions/assunzione.dm
+++ b/code/modules/clothing/factions/assunzione.dm
@@ -32,7 +32,7 @@
var/image/I = ..()
if(slot == slot_wear_suit_str)
var/image/robe_backing = image(mob_icon, null, "[initial_icon_state]_backing", H ? H.layer - 0.01 : MOB_LAYER - 0.01)
- I.add_overlay(robe_backing)
+ I.AddOverlays(robe_backing)
return I
/obj/item/clothing/head/winterhood/assunzione_robe
diff --git a/code/modules/clothing/factions/dominia.dm b/code/modules/clothing/factions/dominia.dm
index 6a2f80181bf..7c0d78dc06c 100644
--- a/code/modules/clothing/factions/dominia.dm
+++ b/code/modules/clothing/factions/dominia.dm
@@ -66,13 +66,13 @@
var/image/I = ..()
if(slot == slot_wear_suit_str)
var/image/cape_backing = image(mob_icon, null, cape_backing_state, human ? human.layer - 0.01 : MOB_LAYER - 0.01)
- I.add_overlay(cape_backing)
+ I.AddOverlays(cape_backing)
return I
/obj/item/clothing/accessory/poncho/dominia_cape/get_accessory_mob_overlay(mob/living/carbon/human/human, force)
var/image/base = ..()
var/image/cape_backing = image(icon, null, cape_backing_state, human ? human.layer - 0.01 : MOB_LAYER - 0.01)
- base.add_overlay(cape_backing)
+ base.AddOverlays(cape_backing)
return base
/obj/item/clothing/accessory/poncho/dominia_cape/strelitz
diff --git a/code/modules/clothing/factions/newhaiphong.dm b/code/modules/clothing/factions/newhaiphong.dm
index e7ae3490c6b..973cb5d12cf 100644
--- a/code/modules/clothing/factions/newhaiphong.dm
+++ b/code/modules/clothing/factions/newhaiphong.dm
@@ -28,6 +28,6 @@
var/image/I = ..()
if(slot == slot_head_str)
var/image/hat_backing = image(mob_icon, null, "nonla_backing", human ? human.layer - 0.01 : MOB_LAYER - 0.01)
- I.add_overlay(hat_backing)
+ I.AddOverlays(hat_backing)
return I
diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm
index 82a696c2624..c43331dd261 100644
--- a/code/modules/clothing/glasses/glasses.dm
+++ b/code/modules/clothing/glasses/glasses.dm
@@ -1122,7 +1122,7 @@ BLIND // can't see anything
if(mob_overlay && ishuman(loc))
var/mob/living/carbon/human/H = loc
if(H.glasses == src)
- H.cut_overlay(mob_overlay, TRUE)
+ H.CutOverlays(mob_overlay, ATOM_ICON_CACHE_PROTECTED)
mob_overlay = image('icons/obj/clothing/glasses.dmi', "[icon_state]_eye")
mob_overlay.appearance_flags = RESET_COLOR
mob_overlay.color = eye_color
@@ -1130,7 +1130,7 @@ BLIND // can't see anything
if(active && ishuman(loc))
var/mob/living/carbon/human/H = loc
if(H.glasses == src)
- H.add_overlay(mob_overlay, TRUE)
+ H.AddOverlays(mob_overlay, ATOM_ICON_CACHE_PROTECTED)
update_icon()
/obj/item/clothing/glasses/eyepatch/hud/Initialize()
@@ -1139,14 +1139,14 @@ BLIND // can't see anything
/obj/item/clothing/glasses/eyepatch/hud/equipped(mob/user, slot)
if(active && slot == slot_glasses)
- user.add_overlay(mob_overlay, TRUE)
+ user.AddOverlays(mob_overlay, ATOM_ICON_CACHE_PROTECTED)
else
- user.cut_overlay(mob_overlay, TRUE)
+ user.CutOverlays(mob_overlay, ATOM_ICON_CACHE_PROTECTED)
return ..()
/obj/item/clothing/glasses/eyepatch/hud/Destroy()
if (ishuman(loc))
- loc.cut_overlay(mob_overlay, TRUE)
+ loc.CutOverlays(mob_overlay, ATOM_ICON_CACHE_PROTECTED)
QDEL_NULL(mob_overlay)
return ..()
@@ -1155,12 +1155,12 @@ BLIND // can't see anything
handle_mob_overlay()
/obj/item/clothing/glasses/eyepatch/hud/update_icon()
- cut_overlays()
+ ClearOverlays()
if(active)
var/image/eye = image('icons/obj/clothing/glasses.dmi', "[icon_state]_ovr")
eye.appearance_flags = RESET_COLOR
eye.color = eye_color
- add_overlay(eye)
+ AddOverlays(eye)
/obj/item/clothing/glasses/eyepatch/hud/forceMove(atom/newloc)
if (!ishuman(loc))
@@ -1169,7 +1169,7 @@ BLIND // can't see anything
var/mob/M = loc
. = ..()
if (loc !=M)
- M.cut_overlay(mob_overlay, TRUE)
+ M.CutOverlays(mob_overlay, ATOM_ICON_CACHE_PROTECTED)
/obj/item/clothing/glasses/eyepatch/hud/security
name = "HUDpatch"
diff --git a/code/modules/clothing/gloves/stungloves.dm b/code/modules/clothing/gloves/stungloves.dm
index 7b52054dd1d..791ffb02098 100644
--- a/code/modules/clothing/gloves/stungloves.dm
+++ b/code/modules/clothing/gloves/stungloves.dm
@@ -1,7 +1,7 @@
/obj/item/clothing/gloves/update_icon()
..()
- cut_overlays()
+ ClearOverlays()
if(wired)
- add_overlay("gloves_wire")
+ AddOverlays("gloves_wire")
if(cell)
- add_overlay("gloves_cell")
+ AddOverlays("gloves_cell")
diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm
index 6e0c864f459..d216f2e2fd2 100644
--- a/code/modules/clothing/head/helmet.dm
+++ b/code/modules/clothing/head/helmet.dm
@@ -46,8 +46,8 @@
for(var/obj/item/thing in hold.contents)
var/icon_type = hold.helmet_storage_types[thing.type]
var/thing_state = icon_type == HELMET_GARB_PASS_ICON ? initial(thing.icon_state) : icon_type
- I.add_overlay(image('icons/clothing/kit/helmet_garb.dmi', null, "helmet_band"))
- I.add_overlay(image('icons/clothing/kit/helmet_garb.dmi', null, thing_state))
+ I.AddOverlays(image('icons/clothing/kit/helmet_garb.dmi', null, "helmet_band"))
+ I.AddOverlays(image('icons/clothing/kit/helmet_garb.dmi', null, thing_state))
return I
/obj/item/clothing/head/helmet/attack_hand(mob/user)
diff --git a/code/modules/clothing/head/xenos/unathi.dm b/code/modules/clothing/head/xenos/unathi.dm
index 87260b2b458..743d359ab92 100644
--- a/code/modules/clothing/head/xenos/unathi.dm
+++ b/code/modules/clothing/head/xenos/unathi.dm
@@ -61,7 +61,7 @@
var/mutable_appearance/M = mutable_appearance(mob_icon, "[item_state]_translate")
M.appearance_flags = RESET_COLOR|RESET_ALPHA
M.pixel_y = 12
- I.add_overlay(M)
+ I.AddOverlays(M)
return I
/obj/item/clothing/head/helmet/unathi/ancient
diff --git a/code/modules/clothing/spacesuits/rig/rig.dm b/code/modules/clothing/spacesuits/rig/rig.dm
index 39da92359df..7a55dcc371a 100644
--- a/code/modules/clothing/spacesuits/rig/rig.dm
+++ b/code/modules/clothing/spacesuits/rig/rig.dm
@@ -568,7 +568,7 @@
/obj/item/rig/update_icon(var/update_mob_icon)
//TODO: Maybe consider a cache for this (use mob_icon as blank canvas, use suit icon overlay).
- cut_overlays()
+ ClearOverlays()
if(!mob_icon || update_mob_icon)
var/species_icon = 'icons/mob/rig_back.dmi'
// Since setting mob_icon will override the species checks in
@@ -580,7 +580,7 @@
if(installed_modules.len)
for(var/obj/item/rig_module/module in installed_modules)
if(module.suit_overlay)
- chest.add_overlay(image("icon" = 'icons/mob/rig_modules.dmi', "icon_state" = "[module.suit_overlay]", "dir" = SOUTH))
+ chest.AddOverlays(image("icon" = 'icons/mob/rig_modules.dmi', "icon_state" = "[module.suit_overlay]", "dir" = SOUTH))
if(wearer)
wearer.update_inv_shoes()
diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm
index 795e4dee288..0f38038ddc8 100644
--- a/code/modules/clothing/suits/armor.dm
+++ b/code/modules/clothing/suits/armor.dm
@@ -215,7 +215,7 @@
holster.icon_state = null
holster.on_attached(src) //its inside a suit, we set this so it can be drawn from
QDEL_NULL(pockets) //Tactical armor has internal holster instead of pockets, so we null this out
- cut_overlays() // Remove the holster's overlay.
+ ClearOverlays() // Remove the holster's overlay.
/obj/item/clothing/suit/armor/tactical/attackby(obj/item/attacking_item, mob/user)
..()
diff --git a/code/modules/clothing/suits/modular_armor.dm b/code/modules/clothing/suits/modular_armor.dm
index 4632831cf47..46d99d3aa48 100644
--- a/code/modules/clothing/suits/modular_armor.dm
+++ b/code/modules/clothing/suits/modular_armor.dm
@@ -481,7 +481,7 @@
if(shading_state)
shading_icon = new(icon, shading_state)
flagpatch_icon.Blend(shading_icon, ICON_MULTIPLY)
- add_overlay(flagpatch_icon)
+ AddOverlays(flagpatch_icon)
/obj/item/clothing/accessory/flagpatch/rectangular
shading_state = null
diff --git a/code/modules/clothing/under/accessories/accessory.dm b/code/modules/clothing/under/accessories/accessory.dm
index b3a3487a183..6994c64735e 100644
--- a/code/modules/clothing/under/accessories/accessory.dm
+++ b/code/modules/clothing/under/accessories/accessory.dm
@@ -43,8 +43,8 @@
if(color)
inv_overlay.color = color
if(build_from_parts && overlay_in_inventory)
- inv_overlay.cut_overlays()
- inv_overlay.add_overlay(overlay_image(I, "[tmp_icon_state]_[worn_overlay]", flags=RESET_COLOR)) //add the overlay w/o coloration of the original sprite
+ inv_overlay.ClearOverlays()
+ inv_overlay.AddOverlays(overlay_image(I, "[tmp_icon_state]_[worn_overlay]", flags=RESET_COLOR)) //add the overlay w/o coloration of the original sprite
return inv_overlay
/obj/item/clothing/accessory/proc/get_accessory_mob_overlay(var/mob/living/carbon/human/H, var/force = FALSE)
@@ -72,11 +72,11 @@
tmp_icon_state = "[UNDERSCORE_OR_NULL(src.icon_species_tag)][src.item_state][WORN_UNDER]"
accessory_mob_overlay = image("icon" = I, "icon_state" = "[tmp_icon_state]")
if(build_from_parts || has_accents)
- accessory_mob_overlay.cut_overlays()
+ accessory_mob_overlay.ClearOverlays()
if(build_from_parts)
- accessory_mob_overlay.add_overlay(overlay_image(I, "[tmp_icon_state]_[worn_overlay]", flags=RESET_COLOR)) //add the overlay w/o coloration of the original sprite
+ accessory_mob_overlay.AddOverlays(overlay_image(I, "[tmp_icon_state]_[worn_overlay]", flags=RESET_COLOR)) //add the overlay w/o coloration of the original sprite
if(has_accents)
- accessory_mob_overlay.add_overlay(overlay_image(I, "[tmp_icon_state]_acc", accent_color, flags=accent_flags))
+ accessory_mob_overlay.AddOverlays(overlay_image(I, "[tmp_icon_state]_acc", accent_color, flags=accent_flags))
if(color)
accessory_mob_overlay.color = color
accessory_mob_overlay.appearance_flags = RESET_ALPHA|RESET_COLOR
@@ -88,7 +88,7 @@
return
has_suit = S
loc = has_suit
- has_suit.add_overlay(get_inv_overlay())
+ has_suit.AddOverlays(get_inv_overlay())
if(user)
to_chat(user, "You attach \the [src] to \the [has_suit].")
src.add_fingerprint(user)
@@ -97,7 +97,7 @@
/obj/item/clothing/accessory/proc/on_removed(var/mob/user)
if(!has_suit)
return
- has_suit.cut_overlay(get_inv_overlay(user, TRUE))
+ has_suit.CutOverlays(get_inv_overlay(user, ATOM_ICON_CACHE_PROTECTED))
has_suit = null
if(user)
usr.put_in_hands(src)
@@ -337,8 +337,8 @@
if(color)
radial_button.color = color
if(build_from_parts&&worn_overlay)
- radial_button.cut_overlays()
- radial_button.add_overlay(overlay_image(icon, "[alternatives[i]]_[worn_overlay]", flags=RESET_COLOR))
+ radial_button.ClearOverlays()
+ radial_button.AddOverlays(overlay_image(icon, "[alternatives[i]]_[worn_overlay]", flags=RESET_COLOR))
options[i] = radial_button
var/alt = show_radial_menu(user, user, options, radius = 42, tooltips = TRUE)
if(!alt)
@@ -761,13 +761,13 @@
var/image/I = ..()
if(slot == slot_wear_suit_str)
var/image/robe_backing = image(mob_icon, null, "robe_backing", H ? H.layer - 0.01 : MOB_LAYER - 0.01)
- I.add_overlay(robe_backing)
+ I.AddOverlays(robe_backing)
return I
/obj/item/clothing/accessory/poncho/assunzione/get_accessory_mob_overlay(mob/living/carbon/human/H, force)
var/image/base = ..()
var/image/robe_backing = image(icon, null, "robe_backing", H ? H.layer - 0.01 : MOB_LAYER - 0.01)
- base.add_overlay(robe_backing)
+ base.AddOverlays(robe_backing)
return base
//tau ceti legion ribbons
diff --git a/code/modules/clothing/under/accessories/xeno/tajara.dm b/code/modules/clothing/under/accessories/xeno/tajara.dm
index 185b1620fa7..7931c0f688b 100644
--- a/code/modules/clothing/under/accessories/xeno/tajara.dm
+++ b/code/modules/clothing/under/accessories/xeno/tajara.dm
@@ -521,24 +521,24 @@
item_state = "nka_waistcoat"
/obj/item/clothing/accessory/tajaran/nka_waistcoat/update_icon()
- cut_overlays()
+ ClearOverlays()
var/image/buttons = image(icon, null, "nka_waistcoat_buttons")
buttons.appearance_flags = RESET_COLOR
- add_overlay(buttons)
+ AddOverlays(buttons)
/obj/item/clothing/accessory/tajaran/nka_waistcoat/get_mob_overlay(var/mob/living/carbon/human/H, var/mob_icon, var/mob_state, var/slot)
var/image/I = ..()
if(slot == slot_wear_suit_str)
var/image/buttons = image(mob_icon, null, "nka_waistcoat_un_buttons")
buttons.appearance_flags = RESET_COLOR
- I.add_overlay(buttons)
+ I.AddOverlays(buttons)
return I
/obj/item/clothing/accessory/tajaran/nka_waistcoat/get_accessory_mob_overlay(mob/living/carbon/human/H, force)
var/image/base = ..()
var/image/buttons = image(icon, null, "nka_waistcoat_un_buttons")
buttons.appearance_flags = RESET_COLOR
- base.add_overlay(buttons)
+ base.AddOverlays(buttons)
return base
/obj/item/clothing/accessory/tajaran/nka_vest
@@ -548,24 +548,24 @@
item_state = "nka_vest"
/obj/item/clothing/accessory/tajaran/nka_vest/update_icon()
- cut_overlays()
+ ClearOverlays()
var/image/buttons = image(icon, null, "nka_vest_buttons")
buttons.appearance_flags = RESET_COLOR
- add_overlay(buttons)
+ AddOverlays(buttons)
/obj/item/clothing/accessory/tajaran/nka_vest/get_mob_overlay(var/mob/living/carbon/human/H, var/mob_icon, var/mob_state, var/slot)
var/image/I = ..()
if(slot == slot_wear_suit_str)
var/image/buttons = image(mob_icon, null, "nka_vest_un_buttons")
buttons.appearance_flags = RESET_COLOR
- I.add_overlay(buttons)
+ I.AddOverlays(buttons)
return I
/obj/item/clothing/accessory/tajaran/nka_vest/get_accessory_mob_overlay(mob/living/carbon/human/H, force)
var/image/base = ..()
var/image/buttons = image(icon, null, "nka_vest_un_buttons")
buttons.appearance_flags = RESET_COLOR
- base.add_overlay(buttons)
+ base.AddOverlays(buttons)
return base
/obj/item/clothing/accessory/dogtags/adhomai
diff --git a/code/modules/clothing/under/xenos/tajara.dm b/code/modules/clothing/under/xenos/tajara.dm
index 349e0d5df54..354e3de8aa4 100644
--- a/code/modules/clothing/under/xenos/tajara.dm
+++ b/code/modules/clothing/under/xenos/tajara.dm
@@ -166,17 +166,17 @@
item_state = "longdress"
/obj/item/clothing/under/dress/tajaran/long/update_icon()
- cut_overlays()
+ ClearOverlays()
var/image/buttons = image(icon, null, "longdress_buttons")
buttons.appearance_flags = RESET_COLOR
- add_overlay(buttons)
+ AddOverlays(buttons)
/obj/item/clothing/under/dress/tajaran/long/get_mob_overlay(var/mob/living/carbon/human/H, var/mob_icon, var/mob_state, var/slot)
var/image/I = ..()
if(slot == slot_w_uniform_str)
var/image/buttons = image(mob_icon, null, "longdress_un_buttons")
buttons.appearance_flags = RESET_COLOR
- I.add_overlay(buttons)
+ I.AddOverlays(buttons)
return I
/obj/item/clothing/under/dress/tajaran/formal
@@ -288,17 +288,17 @@
item_state = "nka_noble_uniform"
/obj/item/clothing/under/tajaran/nka_noble/update_icon()
- cut_overlays()
+ ClearOverlays()
var/image/lining = image(icon, null, "nka_noble_uniform_lining")
lining.appearance_flags = RESET_COLOR
- add_overlay(lining)
+ AddOverlays(lining)
/obj/item/clothing/under/tajaran/nka_noble/get_mob_overlay(var/mob/living/carbon/human/H, var/mob_icon, var/mob_state, var/slot)
var/image/I = ..()
if(slot == slot_w_uniform_str)
var/image/lining = image(mob_icon, null, "nka_noble_uniform_un_lining")
lining.appearance_flags = RESET_COLOR
- I.add_overlay(lining)
+ I.AddOverlays(lining)
return I
/obj/item/clothing/under/tajaran/nka_merchant_navy
diff --git a/code/modules/cooking/machinery/cooking_machines/cereal.dm b/code/modules/cooking/machinery/cooking_machines/cereal.dm
index 7f1b85b309e..597529a4164 100644
--- a/code/modules/cooking/machinery/cooking_machines/cereal.dm
+++ b/code/modules/cooking/machinery/cooking_machines/cereal.dm
@@ -47,7 +47,7 @@
var/image/food_image = image(I.icon, I.icon_state)
food_image.color = I.color
- food_image.add_overlay(I.overlays)
+ food_image.AddOverlays(I.overlays)
food_image.transform *= 0.7 - (num * 0.05)
food_image.pixel_x = rand(-2,2)
food_image.pixel_y = rand(-3,5)
diff --git a/code/modules/cooking/machinery/cooking_machines/container.dm b/code/modules/cooking/machinery/cooking_machines/container.dm
index 67724aa56fe..b9cb8b566ea 100644
--- a/code/modules/cooking/machinery/cooking_machines/container.dm
+++ b/code/modules/cooking/machinery/cooking_machines/container.dm
@@ -172,11 +172,11 @@
holder.trans_to(I, weights[I] / total)
/obj/item/reagent_containers/cooking_container/update_icon()
- cut_overlays()
+ ClearOverlays()
if(reagents?.total_volume)
var/mutable_appearance/filling = mutable_appearance(icon, "[icon_state]_filling_overlay")
filling.color = reagents.get_color()
- add_overlay(filling)
+ AddOverlays(filling)
/obj/item/reagent_containers/cooking_container/oven
name = "oven dish"
@@ -188,13 +188,13 @@
appliancetype = OVEN
/obj/item/reagent_containers/cooking_container/oven/update_icon()
- cut_overlays()
+ ClearOverlays()
for(var/obj/item/I in contents)
var/image/food = overlay_image(I.icon, I.icon_state, I.color)
var/matrix/M = matrix()
M.Scale(0.5)
food.transform = M
- add_overlay(food)
+ AddOverlays(food)
/obj/item/reagent_containers/cooking_container/skillet
name = "skillet"
@@ -340,13 +340,13 @@
return ..()
/obj/item/reagent_containers/cooking_container/board/update_icon()
- cut_overlays()
+ ClearOverlays()
for(var/obj/item/I in contents)
var/image/food = overlay_image(I.icon, I.icon_state, I.color)
var/matrix/M = matrix()
M.Scale(0.5)
food.transform = M
- add_overlay(food)
+ AddOverlays(food)
/obj/item/reagent_containers/cooking_container/board/bowl
name = "mixing bowl"
@@ -362,8 +362,8 @@
possible_transfer_amounts = list(5,10,15,25,30,60,180)
/obj/item/reagent_containers/cooking_container/board/bowl/update_icon()
- cut_overlays()
+ ClearOverlays()
if(reagents?.total_volume)
var/mutable_appearance/filling = mutable_appearance(icon, "[icon_state][get_filling_state()]")
filling.color = reagents.get_color()
- add_overlay(filling)
+ AddOverlays(filling)
diff --git a/code/modules/cooking/machinery/cooking_machines/fryer.dm b/code/modules/cooking/machinery/cooking_machines/fryer.dm
index 1b16f9265f2..864464ddae8 100644
--- a/code/modules/cooking/machinery/cooking_machines/fryer.dm
+++ b/code/modules/cooking/machinery/cooking_machines/fryer.dm
@@ -78,7 +78,7 @@
icon_state = on_icon
else
icon_state = off_icon
- cut_overlays()
+ ClearOverlays()
var/list/pans = list()
for(var/obj/item/reagent_containers/cooking_container/CC in contents)
var/image/pan_overlay
@@ -88,7 +88,7 @@
pans += pan_overlay
if(isemptylist(pans))
return
- add_overlay(pans)
+ AddOverlays(pans)
..()
//Fryer gradually infuses any cooked food with oil. Moar calories
diff --git a/code/modules/cooking/machinery/cooking_machines/grill.dm b/code/modules/cooking/machinery/cooking_machines/grill.dm
index 04944aac852..8150222fb6e 100644
--- a/code/modules/cooking/machinery/cooking_machines/grill.dm
+++ b/code/modules/cooking/machinery/cooking_machines/grill.dm
@@ -66,7 +66,7 @@
/obj/machinery/appliance/cooker/grill/update_icon()
. = ..()
- cut_overlays()
+ ClearOverlays()
if(!stat)
icon_state = on_icon
else
@@ -77,7 +77,7 @@
var/datum/cooking_item/CI = cooking_objs[1]
var/obj/item/reagent_containers/cooking_container/grill_grate/G = CI.container
if(G)
- add_overlay(image('icons/obj/machinery/cooking_machines.dmi', "grill"))
+ AddOverlays(image('icons/obj/machinery/cooking_machines.dmi', "grill"))
var/counter = 1
for(var/thing in G.contents)
if(istype(thing, /obj/item/reagent_containers/food/snacks/meat))
@@ -90,7 +90,7 @@
var/matrix/M = matrix()
M.Scale(0.5)
food.transform = M
- add_overlay(food)
+ AddOverlays(food)
else if(istype(thing, /obj/item/reagent_containers/food/snacks/xenomeat))
var/image/food = overlay_image('icons/obj/machinery/cooking_machines.dmi', "xenomeat")
switch(counter)
@@ -101,5 +101,5 @@
var/matrix/M = matrix()
M.Scale(0.5)
food.transform = M
- add_overlay(food)
+ AddOverlays(food)
counter++
diff --git a/code/modules/cooking/machinery/cooking_machines/oven.dm b/code/modules/cooking/machinery/cooking_machines/oven.dm
index 3112c48981d..1bf00def318 100644
--- a/code/modules/cooking/machinery/cooking_machines/oven.dm
+++ b/code/modules/cooking/machinery/cooking_machines/oven.dm
@@ -54,11 +54,11 @@
icon_state = "ovenclosed"
else
icon_state = "ovenopen"
- cut_overlays()
+ ClearOverlays()
if (!stat)
var/image/glow = image('icons/obj/machinery/cooking_machines.dmi', "oven_on")
glow.plane = EFFECTS_ABOVE_LIGHTING_PLANE
- add_overlay(glow)
+ AddOverlays(glow)
..()
/obj/machinery/appliance/cooker/oven/AltClick(var/mob/user)
diff --git a/code/modules/cooking/machinery/cooking_machines/stove.dm b/code/modules/cooking/machinery/cooking_machines/stove.dm
index 73aa1560f30..f0f16b216f8 100644
--- a/code/modules/cooking/machinery/cooking_machines/stove.dm
+++ b/code/modules/cooking/machinery/cooking_machines/stove.dm
@@ -37,7 +37,7 @@
/obj/machinery/appliance/cooker/stove/update_icon()
. = ..()
- cut_overlays()
+ ClearOverlays()
var/list/pans = list()
var/pan_number = 0
for(var/obj/item/reagent_containers/cooking_container/CC in contents)
@@ -84,7 +84,7 @@
pans += flame_overlay
if(isemptylist(pans))
return
- add_overlay(pans)
+ AddOverlays(pans)
/obj/machinery/appliance/cooker/stove/adhomai
name = "adhomian stove"
@@ -92,7 +92,7 @@
icon_state = "adhomai_stove_off"
/obj/machinery/appliance/cooker/stove/adhomai/update_icon()
- cut_overlays()
+ ClearOverlays()
if(!stat)
icon_state = "adhomai_stove_on"
else
@@ -100,12 +100,12 @@
if(!stat && temperature)
switch(temperature)
if(T0C to T20C)
- add_overlay("stove_fire0")
+ AddOverlays("stove_fire0")
if(T20C + 21 to T20C + 40)
- add_overlay("stove_fire1")
+ AddOverlays("stove_fire1")
if(T20C + 21 to T20C + 40)
- add_overlay("stove_fire2")
+ AddOverlays("stove_fire2")
if(T20C + 41 to T20C + 60)
- add_overlay("stove_fire3")
+ AddOverlays("stove_fire3")
if(T20C + 61 to INFINITY)
- add_overlay("stove_fire4")
+ AddOverlays("stove_fire4")
diff --git a/code/modules/cooking/machinery/gibber.dm b/code/modules/cooking/machinery/gibber.dm
index a88f7aad9e0..7beb8acb6f2 100644
--- a/code/modules/cooking/machinery/gibber.dm
+++ b/code/modules/cooking/machinery/gibber.dm
@@ -50,20 +50,20 @@
/obj/machinery/gibber/Initialize()
. = ..()
- add_overlay("grjam")
+ AddOverlays("grjam")
/obj/machinery/gibber/update_icon()
- cut_overlays()
+ ClearOverlays()
if (dirty)
- add_overlay("grbloody")
+ AddOverlays("grbloody")
if(stat & (NOPOWER|BROKEN))
return
if (!occupant)
- add_overlay("grjam")
+ AddOverlays("grjam")
else if (operating)
- add_overlay("gruse")
+ AddOverlays("gruse")
else
- add_overlay("gridle")
+ AddOverlays("gridle")
/obj/machinery/gibber/relaymove(mob/user as mob)
go_out()
diff --git a/code/modules/cooking/machinery/icecream.dm b/code/modules/cooking/machinery/icecream.dm
index afdd5a4a93d..d3dfe603dc9 100644
--- a/code/modules/cooking/machinery/icecream.dm
+++ b/code/modules/cooking/machinery/icecream.dm
@@ -197,7 +197,7 @@
/obj/item/reagent_containers/food/snacks/icecream/proc/add_ice_cream(var/flavour_name)
name = "[flavour_name] icecream"
- add_overlay("icecream_[flavour_name]")
+ AddOverlays("icecream_[flavour_name]")
desc = "Delicious [cone_type] cone with a dollop of [flavour_name] ice cream."
ice_creamed = 1
diff --git a/code/modules/cooking/machinery/smartfridge.dm b/code/modules/cooking/machinery/smartfridge.dm
index 85703c6a092..3758774c0fc 100644
--- a/code/modules/cooking/machinery/smartfridge.dm
+++ b/code/modules/cooking/machinery/smartfridge.dm
@@ -219,12 +219,12 @@
return
/obj/machinery/smartfridge/drying_rack/update_overlays()
- cut_overlays()
+ ClearOverlays()
if(length(contents))
- add_overlay("drying_rack_drying")
+ AddOverlays("drying_rack_drying")
var/list/shown_contents = contents - component_parts
if(shown_contents.len)
- add_overlay("drying_rack_filled")
+ AddOverlays("drying_rack_filled")
/obj/machinery/smartfridge/process()
if(stat & (BROKEN|NOPOWER))
@@ -267,9 +267,9 @@
update_overlays()
/obj/machinery/smartfridge/proc/update_overlays()
- cut_overlays()
+ ClearOverlays()
if(panel_open)
- add_overlay("[initial(icon_state)]-panel")
+ AddOverlays("[initial(icon_state)]-panel")
var/list/shown_contents = contents - component_parts
if(contents_path && shown_contents.len > 0)
var/contents_icon_state
@@ -280,8 +280,8 @@
contents_icon_state = "-2"
if(50 to INFINITY)
contents_icon_state = "-3"
- add_overlay("[initial(icon_state)][contents_path][contents_icon_state]")
- add_overlay("[initial(icon_state)]-glass[(stat & BROKEN) ? "-broken" : ""]")
+ AddOverlays("[initial(icon_state)][contents_path][contents_icon_state]")
+ AddOverlays("[initial(icon_state)]-glass[(stat & BROKEN) ? "-broken" : ""]")
/*******************
* Item Adding
diff --git a/code/modules/cooking/plasticbag.dm b/code/modules/cooking/plasticbag.dm
index 580d7751a7c..3aaeb4299fb 100644
--- a/code/modules/cooking/plasticbag.dm
+++ b/code/modules/cooking/plasticbag.dm
@@ -7,7 +7,7 @@
var/obj/item/I = contents[1]
user.visible_message("[user] takes \the [I] out of \the [src].", SPAN_NOTICE("You take \the [I] out of \the [src]."),\
"You hear someone rustle around in a plastic bag, and remove something.")
- cut_overlays() //remove the overlays
+ ClearOverlays() //remove the overlays
user.put_in_hands(I)
stored_item = null
diff --git a/code/modules/cooking/plates.dm b/code/modules/cooking/plates.dm
index 6ea162ba3ab..534718042e8 100644
--- a/code/modules/cooking/plates.dm
+++ b/code/modules/cooking/plates.dm
@@ -45,11 +45,11 @@ Plates that can hold your cooking stuff
SPAN_NOTICE("You scoop up some of \the [src]'s contents with \the [U]!")
)
- U.cut_overlays()
+ U.ClearOverlays()
U.loaded = src.name
var/image/I = new(U.icon, "loadedfood")
I.color = reagents.get_color()
- U.add_overlay(I)
+ U.AddOverlays(I)
reagents.trans_to_obj(U, min(reagents.total_volume,U.transfer_amt))
U.is_liquid = TRUE
return
@@ -85,7 +85,7 @@ Plates that can hold your cooking stuff
return
/obj/item/reagent_containers/bowl/update_icon()
- cut_overlays()
+ ClearOverlays()
if(grease)
icon_state = "[initial(icon_state)]_mess"
else
@@ -95,7 +95,7 @@ Plates that can hold your cooking stuff
var/image/I = image(icon=icon, icon_state="[icon_state]_over")
I.color = reagents.get_color()
LAZYADD(O, I)
- set_overlays(O)
+ SetOverlays(O)
return ..()
/obj/item/reagent_containers/bowl/plate
@@ -167,7 +167,7 @@ Plates that can hold your cooking stuff
return
/obj/item/reagent_containers/bowl/plate/update_icon()
- cut_overlays()
+ ClearOverlays()
var/list/O = list()
if(grease)
icon_state = "[initial(icon_state)]_mess"
@@ -176,7 +176,7 @@ Plates that can hold your cooking stuff
if(holding)
holding.update_icon() // Just to be safe.
LAZYADD(O, image(icon=holding.icon, icon_state=holding.icon_state))
- set_overlays(O)
+ SetOverlays(O)
/obj/item/reagent_containers/bowl/zhukamir
name = "\improper Zhukamir cauldron"
diff --git a/code/modules/custom_ka/core.dm b/code/modules/custom_ka/core.dm
index a9ea74e5020..bd11466cec3 100644
--- a/code/modules/custom_ka/core.dm
+++ b/code/modules/custom_ka/core.dm
@@ -290,21 +290,21 @@
/obj/item/gun/custom_ka/update_icon()
. = ..()
- cut_overlays()
+ ClearOverlays()
var/name_list = list("","","","")
name_list[3] = src.build_name
if(installed_upgrade_chip)
- add_overlay(installed_upgrade_chip.icon_state)
+ AddOverlays(installed_upgrade_chip.icon_state)
name_list[4] = installed_upgrade_chip.build_name
if(installed_cell)
- add_overlay(installed_cell.icon_state)
+ AddOverlays(installed_cell.icon_state)
name_list[1] = installed_cell.build_name
if(installed_barrel)
- add_overlay(installed_barrel.icon_state)
+ AddOverlays(installed_barrel.icon_state)
name_list[2] = installed_barrel.build_name
official_name = sanitize(jointext(name_list," "))
diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm
index 4b4aa7f3653..51c91b0a4be 100644
--- a/code/modules/customitems/item_defines.dm
+++ b/code/modules/customitems/item_defines.dm
@@ -1107,10 +1107,10 @@ All custom items with worn sprites must follow the contained sprite system: http
usr.visible_message("[usr] turns \the [src] [on ? "on" : "off"].", SPAN_NOTICE("You turn \the [src] [on ? "on" : "off"]."))
if(on)
playsound(loc, 'sound/machines/synth_yes.ogg', 50)
- add_overlay(screen)
+ AddOverlays(screen)
else
playsound(loc, 'sound/machines/synth_no.ogg', 50)
- cut_overlay(screen)
+ CutOverlays(screen)
update_icon()
/obj/item/fluff/holoconsole/proc/remove_left()
@@ -1845,14 +1845,14 @@ All custom items with worn sprites must follow the contained sprite system: http
third_card = null
icon_state = "ielia_tarot_on"
- cut_overlays()
+ ClearOverlays()
usr.visible_message("\The [usr] activates the [src].")
flick ("card_spawn",src)
activated = TRUE
icon_state = "card_spin"
- add_overlay("card_spin_fx")
+ AddOverlays("card_spin_fx")
addtimer(CALLBACK(src, PROC_REF(finish_selection), usr), 3 SECONDS)
/obj/item/fluff/ielia_tarot/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
@@ -1862,7 +1862,7 @@ All custom items with worn sprites must follow the contained sprite system: http
. += "The following constellations are displayed on the starfinder: [first_card], [second_card], and [third_card]."
/obj/item/fluff/ielia_tarot/proc/finish_selection(var/mob/user)
- cut_overlays()
+ ClearOverlays()
flick("card_spin_stop",src)
icon_state = "ielia_tarot_on"
for(var/i = 1 to 3)
@@ -1874,25 +1874,25 @@ All custom items with worn sprites must follow the contained sprite system: http
else if(first_card && second_card)
third_card = P
- cut_overlays()
- add_overlay("card_display_fx")
- add_overlay("card_display")
+ ClearOverlays()
+ AddOverlays("card_display_fx")
+ AddOverlays("card_display")
var/image/first_card_overlay = image(icon, src, first_card)
first_card_overlay.pixel_x = -8
- add_overlay(first_card_overlay)
+ AddOverlays(first_card_overlay)
var/image/second_card_overlay = image(icon, src, second_card)
- add_overlay(second_card_overlay)
+ AddOverlays(second_card_overlay)
var/image/third_card_overlay = image(icon, src, third_card)
third_card_overlay.pixel_x = 8
- add_overlay(third_card_overlay)
+ AddOverlays(third_card_overlay)
/obj/item/fluff/ielia_tarot/proc/reset_starfinder()
if(!activated)
return
- cut_overlays()
+ ClearOverlays()
icon_state = "ielia_tarot"
activated = FALSE
diff --git a/code/modules/detectivework/tools/evidencebag.dm b/code/modules/detectivework/tools/evidencebag.dm
index 65ace309ef3..84b06e6e09b 100644
--- a/code/modules/detectivework/tools/evidencebag.dm
+++ b/code/modules/detectivework/tools/evidencebag.dm
@@ -69,7 +69,7 @@
MA.pixel_x = 0
MA.pixel_y = 0
MA.layer = FLOAT_LAYER
- add_overlay(list(MA, "evidence"))
+ AddOverlays(list(MA, "evidence"))
desc = "A plastic bag containing [I]."
I.forceMove(src)
@@ -82,7 +82,7 @@
var/obj/item/I = contents[1]
user.visible_message("[user] takes \the [I] out of \the [src].", SPAN_NOTICE("You take \the [I] out of \the [src]."),\
"You hear someone rustle around in a plastic bag, and remove something.")
- cut_overlays() //remove the overlays
+ ClearOverlays() //remove the overlays
user.put_in_hands(I)
stored_item = null
diff --git a/code/modules/detectivework/tools/uvlight.dm b/code/modules/detectivework/tools/uvlight.dm
index 53d30b3d388..471c4243ee1 100644
--- a/code/modules/detectivework/tools/uvlight.dm
+++ b/code/modules/detectivework/tools/uvlight.dm
@@ -40,7 +40,7 @@
stored_alpha.Cut()
if(reset_objects.len)
for(var/obj/item/I in reset_objects)
- I.cut_overlay(I.blood_overlay, TRUE)
+ I.CutOverlays(I.blood_overlay, ATOM_ICON_CACHE_PROTECTED)
if(I.fluorescent == 2) I.fluorescent = 1
reset_objects.Cut()
@@ -64,5 +64,5 @@
if(istype(A, /obj/item))
var/obj/item/O = A
if(O.was_bloodied && !(O.blood_overlay in O.overlays))
- O.add_overlay(O.blood_overlay, TRUE)
+ O.AddOverlays(O.blood_overlay, ATOM_ICON_CACHE_PROTECTED)
reset_objects |= O
diff --git a/code/modules/economy/ATM.dm b/code/modules/economy/ATM.dm
index cd9317e8610..403815a011e 100644
--- a/code/modules/economy/ATM.dm
+++ b/code/modules/economy/ATM.dm
@@ -36,22 +36,22 @@
update_icon()
/obj/machinery/atm/update_icon()
- cut_overlays()
+ ClearOverlays()
if(stat & NOPOWER)
set_light(FALSE)
return
var/mutable_appearance/screen_overlay = mutable_appearance(icon, "atm-active", plane = EFFECTS_ABOVE_LIGHTING_PLANE)
- add_overlay(screen_overlay)
+ AddOverlays(screen_overlay)
set_light(1.4, 1, COLOR_CYAN)
if(held_card)
var/mutable_appearance/card_overlay = mutable_appearance(icon, "atm-cardin", plane = EFFECTS_ABOVE_LIGHTING_PLANE)
- add_overlay(card_overlay)
+ AddOverlays(card_overlay)
/obj/machinery/atm/process()
if(stat & NOPOWER)
- cut_overlays()
+ ClearOverlays()
set_light(FALSE)
return
@@ -322,7 +322,7 @@
if(!R.stamped)
R.stamped = new
R.stamped += /obj/item/stamp
- R.add_overlay(stampoverlay)
+ R.AddOverlays(stampoverlay)
R.stamps += "
This paper has been stamped by the Automatic Teller Machine."
print(R, user = usr)
@@ -367,7 +367,7 @@
if(!R.stamped)
R.stamped = new
R.stamped += /obj/item/stamp
- R.add_overlay(stampoverlay)
+ R.AddOverlays(stampoverlay)
R.stamps += "
This paper has been stamped by the Automatic Teller Machine."
print(R, user = usr)
diff --git a/code/modules/economy/EFTPOS.dm b/code/modules/economy/EFTPOS.dm
index f637bcc5d15..f0653eff531 100644
--- a/code/modules/economy/EFTPOS.dm
+++ b/code/modules/economy/EFTPOS.dm
@@ -56,7 +56,7 @@
R.offset_y += 0
R.ico += "paper_stamp-cent"
R.stamped += /obj/item/stamp
- R.add_overlay(stampoverlay)
+ R.AddOverlays(stampoverlay)
R.stamps += "
This paper has been stamped by the EFTPOS device."
/obj/item/device/eftpos/proc/print_reference()
@@ -73,7 +73,7 @@
if(!R.stamped)
R.stamped = new
R.stamped += /obj/item/stamp
- R.add_overlay(stampoverlay)
+ R.AddOverlays(stampoverlay)
R.stamps += "
This paper has been stamped by the EFTPOS device."
var/obj/item/smallDelivery/D = new(R.loc)
R.forceMove(D)
diff --git a/code/modules/economy/OrderTerminal.dm b/code/modules/economy/OrderTerminal.dm
index b2758bcf41b..68bbccc0013 100644
--- a/code/modules/economy/OrderTerminal.dm
+++ b/code/modules/economy/OrderTerminal.dm
@@ -34,18 +34,18 @@
update_icon()
/obj/machinery/orderterminal/update_icon()
- cut_overlays()
+ ClearOverlays()
if(stat & NOPOWER)
set_light(FALSE)
return
var/mutable_appearance/screen_overlay = mutable_appearance(icon, "kitchenterminal-active", plane = EFFECTS_ABOVE_LIGHTING_PLANE)
- add_overlay(screen_overlay)
+ AddOverlays(screen_overlay)
set_light(1.4, 1, COLOR_CYAN)
/obj/machinery/orderterminal/process()
if(stat & NOPOWER)
- cut_overlays()
+ ClearOverlays()
set_light(FALSE)
return
@@ -76,7 +76,7 @@
if(!R.stamped)
R.stamped = new
R.stamped += /obj/item/stamp
- R.add_overlay(stampoverlay)
+ R.AddOverlays(stampoverlay)
R.stamps += "
This paper has been stamped by the Idris Ordering Terminal."
/obj/machinery/orderterminal/attackby(obj/item/attacking_item, mob/user)
diff --git a/code/modules/economy/cash.dm b/code/modules/economy/cash.dm
index 0bb0cda694f..eef5655309f 100644
--- a/code/modules/economy/cash.dm
+++ b/code/modules/economy/cash.dm
@@ -49,7 +49,7 @@
worth = 0
/obj/item/spacecash/bundle/update_icon()
- cut_overlays()
+ ClearOverlays()
var/list/ovr = list()
var/sum = src.worth
var/num = 0
@@ -71,8 +71,8 @@
banknote.transform = M
ovr += banknote
- add_overlay(ovr)
- compile_overlays() // The delay looks weird, so we force an update immediately.
+ AddOverlays(ovr)
+ UpdateOverlays() // The delay looks weird, so we force an update immediately.
src.desc = "A bundle of Biesel Standard Credit chips. Combined, this is worth [worth] credits."
/obj/item/spacecash/bundle/attack_self(mob/user as mob)
diff --git a/code/modules/economy/quikpay.dm b/code/modules/economy/quikpay.dm
index 2d913c81511..cb593df4e43 100644
--- a/code/modules/economy/quikpay.dm
+++ b/code/modules/economy/quikpay.dm
@@ -45,7 +45,7 @@
R.offset_y += 0
R.ico += "paper_stamp-cent"
R.stamped += /obj/item/stamp
- R.add_overlay(stampoverlay)
+ R.AddOverlays(stampoverlay)
R.stamps += "
This paper has been stamped by the Executive Officer's desk."
/obj/item/device/quikpay/AltClick(var/mob/user)
@@ -66,7 +66,7 @@
if(!R.stamped)
R.stamped = new
R.stamped += /obj/item/stamp
- R.add_overlay(stampoverlay)
+ R.AddOverlays(stampoverlay)
R.stamps += "
This paper has been stamped by the Quik-Pay device."
/obj/item/device/quikpay/attackby(obj/item/attacking_item, mob/user)
diff --git a/code/modules/games/cards.dm b/code/modules/games/cards.dm
index 75683a0f246..90414ae13ad 100644
--- a/code/modules/games/cards.dm
+++ b/code/modules/games/cards.dm
@@ -294,14 +294,14 @@
name = "playing card"
desc = "A playing card."
- cut_overlays()
+ ClearOverlays()
if(cards.len == 1)
var/datum/playingcard/P = cards[1]
var/image/I = new(src.icon, (concealed ? "[P.back_icon]" : "[P.card_icon]") )
I.pixel_x += (-5+rand(10))
I.pixel_y += (-5+rand(10))
- add_overlay(I)
+ AddOverlays(I)
return
var/offset = FLOOR(20/cards.len, 1)
@@ -333,7 +333,7 @@
else
I.pixel_x = -7+(offset*i)
I.transform = M
- add_overlay(I)
+ AddOverlays(I)
i++
/obj/item/hand/dropped(mob/user)
diff --git a/code/modules/games/gamehelm.dm b/code/modules/games/gamehelm.dm
index 1c2fb69b026..f9eadca89cf 100644
--- a/code/modules/games/gamehelm.dm
+++ b/code/modules/games/gamehelm.dm
@@ -48,15 +48,15 @@
var/muted = FALSE
/obj/item/gamehelm/update_icon()
- cut_overlays()
+ ClearOverlays()
if(open)
icon_state = "open_[case_color]"
- add_overlay("buttons_open")
+ AddOverlays("buttons_open")
else
icon_state = "closed_[case_color]"
- add_overlay("buttons_closed")
+ AddOverlays("buttons_closed")
if(current_screen_state)
- add_overlay(current_screen_state)
+ AddOverlays(current_screen_state)
/obj/item/gamehelm/process()
if(world.time < next_action_time)
diff --git a/code/modules/heavy_vehicle/equipment/utility.dm b/code/modules/heavy_vehicle/equipment/utility.dm
index a3d726792f3..e7cb579383e 100644
--- a/code/modules/heavy_vehicle/equipment/utility.dm
+++ b/code/modules/heavy_vehicle/equipment/utility.dm
@@ -747,7 +747,7 @@
desc_info = "\The [src] has an anomaly core installed! You can use a wrench to remove it."
anomaly_overlay = image(AC.icon, null, AC.icon_state)
anomaly_overlay.pixel_y = 3
- add_overlay(anomaly_overlay)
+ AddOverlays(anomaly_overlay)
return TRUE
if(attacking_item.iswrench())
if(!AC)
@@ -756,7 +756,7 @@
to_chat(user, SPAN_NOTICE("You remove \the [AC] from \the [src]."))
attacking_item.play_tool_sound(get_turf(src), 50)
user.put_in_hands(AC)
- cut_overlay(anomaly_overlay)
+ CutOverlays(anomaly_overlay)
qdel(anomaly_overlay)
AC = null
if(owner)
diff --git a/code/modules/holodeck/HolodeckObjects.dm b/code/modules/holodeck/HolodeckObjects.dm
index 0ed9c398875..9fa6d1c613a 100644
--- a/code/modules/holodeck/HolodeckObjects.dm
+++ b/code/modules/holodeck/HolodeckObjects.dm
@@ -100,7 +100,7 @@
I.plane = DUST_PLANE
I.alpha = 80
I.blend_mode = BLEND_ADD
- add_overlay(I)
+ AddOverlays(I)
/turf/simulated/floor/holofloor/beach
desc = "Uncomfortably gritty for a hologram."
@@ -143,7 +143,7 @@
/turf/simulated/floor/holofloor/desert/Initialize()
. = ..()
if(prob(10))
- add_overlay("asteroid[rand(0,9)]")
+ AddOverlays("asteroid[rand(0,9)]")
/obj/structure/holostool
name = "stool"
diff --git a/code/modules/hydroponics/beekeeping/bee_pack.dm b/code/modules/hydroponics/beekeeping/bee_pack.dm
index 51644c04921..1181504c9f1 100644
--- a/code/modules/hydroponics/beekeeping/bee_pack.dm
+++ b/code/modules/hydroponics/beekeeping/bee_pack.dm
@@ -7,11 +7,11 @@
/obj/item/bee_pack/Initialize()
. = ..()
- add_overlay("bee_pack-full")
+ AddOverlays("bee_pack-full")
/obj/item/bee_pack/update_icon()
- cut_overlays()
- add_overlay("bee_pack-[full ? "full" : "empty"]")
+ ClearOverlays()
+ AddOverlays("bee_pack-[full ? "full" : "empty"]")
/obj/item/bee_pack/proc/empty()
name = "empty bee pack"
diff --git a/code/modules/hydroponics/beekeeping/beehive.dm b/code/modules/hydroponics/beekeeping/beehive.dm
index ee7e2ef1b30..3a17b6bf6e2 100644
--- a/code/modules/hydroponics/beekeeping/beehive.dm
+++ b/code/modules/hydroponics/beekeeping/beehive.dm
@@ -29,22 +29,22 @@
var/list/owned_bee_swarms = list()
/obj/machinery/beehive/update_icon()
- cut_overlays()
+ ClearOverlays()
icon_state = "beehive"
if(closed)
- add_overlay("lid")
+ AddOverlays("lid")
if(frames)
- add_overlay("empty[frames]")
+ AddOverlays("empty[frames]")
if(honeycombs >= 100)
- add_overlay("full[round(honeycombs / 100)]")
+ AddOverlays("full[round(honeycombs / 100)]")
if(!smoked)
switch(bee_count)
if(1 to 40)
- add_overlay("bees1")
+ AddOverlays("bees1")
if(41 to 80)
- add_overlay("bees2")
+ AddOverlays("bees2")
if(81 to 100)
- add_overlay("bees3")
+ AddOverlays("bees3")
/obj/machinery/beehive/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
diff --git a/code/modules/hydroponics/beekeeping/honey_frame.dm b/code/modules/hydroponics/beekeeping/honey_frame.dm
index dee7f8c9d41..bca42fc04a4 100644
--- a/code/modules/hydroponics/beekeeping/honey_frame.dm
+++ b/code/modules/hydroponics/beekeeping/honey_frame.dm
@@ -13,4 +13,4 @@
/obj/item/honey_frame/filled/Initialize()
. = ..()
- add_overlay("honeycomb")
+ AddOverlays("honeycomb")
diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm
index 335e91feef9..4af24c1e788 100644
--- a/code/modules/hydroponics/grown.dm
+++ b/code/modules/hydroponics/grown.dm
@@ -129,7 +129,7 @@
/obj/item/reagent_containers/food/snacks/grown/update_icon()
if(!seed || !SSplants || !SSplants.plant_icon_cache)
return
- cut_overlays()
+ ClearOverlays()
var/image/plant_icon
var/icon_key = "fruit-[seed.get_trait(TRAIT_PRODUCT_ICON)]-[seed.get_trait(TRAIT_PRODUCT_COLOUR)]-[seed.get_trait(TRAIT_PLANT_COLOUR)]"
if(SSplants.plant_icon_cache[icon_key])
@@ -144,7 +144,7 @@
fruit_leaves.color = "[seed.get_trait(TRAIT_PLANT_COLOUR)]"
plant_icon.overlays |= fruit_leaves
SSplants.plant_icon_cache[icon_key] = plant_icon
- add_overlay(plant_icon)
+ AddOverlays(plant_icon)
/obj/item/reagent_containers/food/snacks/grown/Crossed(var/mob/living/M)
if(seed && seed.get_trait(TRAIT_JUICY) == 2)
@@ -377,12 +377,12 @@ var/list/fruit_icon_cache = list()
var/image/I = image(icon,"fruit_rind")
I.color = rind_colour
fruit_icon_cache["rind-[rind_colour]"] = I
- add_overlay(fruit_icon_cache["rind-[rind_colour]"])
+ AddOverlays(fruit_icon_cache["rind-[rind_colour]"])
if(!fruit_icon_cache["slice-[rind_colour]"])
var/image/I = image(icon,"fruit_slice")
I.color = flesh_colour
fruit_icon_cache["slice-[rind_colour]"] = I
- add_overlay(fruit_icon_cache["slice-[rind_colour]"])
+ AddOverlays(fruit_icon_cache["slice-[rind_colour]"])
/obj/item/reagent_containers/food/snacks/grown/konyang_tea
name = "sencha leaves"
diff --git a/code/modules/hydroponics/seed.dm b/code/modules/hydroponics/seed.dm
index fd1f302d156..9300f58a8fe 100644
--- a/code/modules/hydroponics/seed.dm
+++ b/code/modules/hydroponics/seed.dm
@@ -908,7 +908,7 @@ GLOBAL_LIST_INIT(seed_icon_cache, list())
leaves_image.color = leaves_color
leaves_image.appearance_flags = RESET_COLOR
//Add ourself as overlays to the generated image
- generated_image.add_overlay(leaves_image)
+ generated_image.AddOverlays(leaves_image)
//Store the image in the cache, so we won't have to keep generating it
GLOB.seed_icon_cache[SEED_ICON_CACHE_KEY(icon_file_to_request, icon_state_to_request, color_to_request, leaves_overlay_to_request)] = generated_image
diff --git a/code/modules/hydroponics/seed_packets.dm b/code/modules/hydroponics/seed_packets.dm
index 912330978a8..02deb21d8b7 100644
--- a/code/modules/hydroponics/seed_packets.dm
+++ b/code/modules/hydroponics/seed_packets.dm
@@ -27,7 +27,7 @@ GLOBAL_LIST_EMPTY(plant_seed_sprites)
return
// Update icon.
- cut_overlays()
+ ClearOverlays()
var/is_seeds = ((seed.seed_noun in list(SEED_NOUN_SEEDS, SEED_NOUN_PITS, SEED_NOUN_NODES)) ? 1 : 0)
var/image/seed_mask
var/seed_base_key = "base-[is_seeds ? seed.get_trait(TRAIT_PLANT_COLOUR) : SEED_NOUN_SPORES]"
@@ -48,8 +48,8 @@ GLOBAL_LIST_EMPTY(plant_seed_sprites)
seed_overlay.color = seed.get_trait(TRAIT_PRODUCT_COLOUR)
GLOB.plant_seed_sprites[seed_overlay_key] = seed_overlay
- add_overlay(seed_mask)
- add_overlay(seed_overlay)
+ AddOverlays(seed_mask)
+ AddOverlays(seed_overlay)
if(is_seeds)
src.name = "packet of [seed.seed_name] [seed.seed_noun]"
diff --git a/code/modules/hydroponics/spreading/spreading.dm b/code/modules/hydroponics/spreading/spreading.dm
index 370a182808d..4f77f821cd2 100644
--- a/code/modules/hydroponics/spreading/spreading.dm
+++ b/code/modules/hydroponics/spreading/spreading.dm
@@ -185,7 +185,7 @@
if(!istype(our_icon))
crash_with("The plant didn't return an icon!")
- add_overlay(our_icon)
+ AddOverlays(our_icon)
if(growth>2 && growth == max_growth)
layer = (seed && seed.force_layer) ? seed.force_layer : 5
diff --git a/code/modules/hydroponics/trays/tray_reagents.dm b/code/modules/hydroponics/trays/tray_reagents.dm
index 0255e579920..4ac7aebffdc 100644
--- a/code/modules/hydroponics/trays/tray_reagents.dm
+++ b/code/modules/hydroponics/trays/tray_reagents.dm
@@ -70,10 +70,10 @@
drop_sound = 'sound/weapons/jug_empty_impact.ogg'
/obj/item/reagent_containers/glass/fertilizer/update_icon()
- cut_overlays()
+ ClearOverlays()
if(!is_open_container())
- add_overlay("lid_jug")
+ AddOverlays("lid_jug")
/obj/item/reagent_containers/glass/fertilizer/ez
name = "jug of E-Z-Nutrient"
diff --git a/code/modules/hydroponics/trays/tray_update_icons.dm b/code/modules/hydroponics/trays/tray_update_icons.dm
index 4349d849585..01477ed9592 100644
--- a/code/modules/hydroponics/trays/tray_update_icons.dm
+++ b/code/modules/hydroponics/trays/tray_update_icons.dm
@@ -12,12 +12,12 @@
if(labelled)
name += " ([labelled])"
- cut_overlays()
+ ClearOverlays()
// Updates the plant overlay.
if(!isnull(seed))
if(mechanical && health <= (seed.get_trait(TRAIT_ENDURANCE) / 2))
- add_overlay("over_lowhealth3")
+ AddOverlays("over_lowhealth3")
if(dead)
var/ikey = "[seed.get_trait(TRAIT_PLANT_ICON)]-dead"
@@ -25,7 +25,7 @@
if(!dead_overlay)
dead_overlay = image('icons/obj/hydroponics_growing.dmi', "[ikey]")
dead_overlay.color = DEAD_PLANT_COLOUR
- add_overlay(dead_overlay)
+ AddOverlays(dead_overlay)
else
if(!seed.growth_stages)
seed.update_growth_stages()
@@ -41,7 +41,7 @@
maturation = 1
overlay_stage = maturation ? max(1,round(age/maturation)) : 1
var/image/plant_overlay = seed.get_icon(overlay_stage)
- add_overlay(plant_overlay)
+ AddOverlays(plant_overlay)
if(harvest && overlay_stage == seed.growth_stages)
var/ikey = "[seed.get_trait(TRAIT_PRODUCT_ICON)]"
@@ -50,22 +50,22 @@
harvest_overlay = image('icons/obj/hydroponics_products.dmi', "[ikey]")
harvest_overlay.color = seed.get_trait(TRAIT_PRODUCT_COLOUR)
SSplants.plant_icon_cache["product-[ikey]-[seed.get_trait(TRAIT_PRODUCT_COLOUR)]"] = harvest_overlay
- add_overlay(harvest_overlay)
+ AddOverlays(harvest_overlay)
//Draw the cover.
if(closed_system)
- add_overlay("hydrocover")
+ AddOverlays("hydrocover")
//Updated the various alert icons.
if(mechanical)
if(waterlevel <= 10)
- add_overlay("over_lowwater3")
+ AddOverlays("over_lowwater3")
if(nutrilevel <= 2)
- add_overlay("over_lownutri3")
+ AddOverlays("over_lownutri3")
if(pestlevel >= 5 || toxins >= 40) // Hydroponics trays no longer face issues with weeds. GET OUTTA HERE.
- add_overlay("over_alert3")
+ AddOverlays("over_alert3")
if(harvest)
- add_overlay("over_harvest3")
+ AddOverlays("over_harvest3")
if(seed && seed.get_trait(TRAIT_LARGE))
density = TRUE
diff --git a/code/modules/integrated_electronics/core/assemblies.dm b/code/modules/integrated_electronics/core/assemblies.dm
index 7e827132ac5..a916df22211 100644
--- a/code/modules/integrated_electronics/core/assemblies.dm
+++ b/code/modules/integrated_electronics/core/assemblies.dm
@@ -170,12 +170,12 @@
icon_state = "[initial(icon_state)]-open"
else
icon_state = initial(icon_state)
- cut_overlays()
+ ClearOverlays()
if(detail_color == COLOR_ASSEMBLY_BLACK) //Black colored overlay looks almost but not exactly like the base sprite, so just cut the overlay and avoid it looking kinda off.
return
var/image/detail_overlay = image('icons/obj/assemblies/electronic_setups.dmi', "[icon_state]-color")
detail_overlay.color = detail_color
- add_overlay(detail_overlay)
+ AddOverlays(detail_overlay)
/obj/item/device/electronic_assembly/GetAccess()
. = list()
diff --git a/code/modules/integrated_electronics/core/assemblies/clothing.dm b/code/modules/integrated_electronics/core/assemblies/clothing.dm
index 42d65b89ce8..4d9e40549b4 100644
--- a/code/modules/integrated_electronics/core/assemblies/clothing.dm
+++ b/code/modules/integrated_electronics/core/assemblies/clothing.dm
@@ -23,10 +23,10 @@
/obj/item/device/electronic_assembly/clothing/update_icon()
clothing.icon_state = "[initial(clothing.icon_state)][opened ? "-open" : ""]"
- clothing.cut_overlays()
+ clothing.ClearOverlays()
var/image/detail_overlay = image('icons/obj/assemblies/wearable_electronic_setups.dmi', "[initial(clothing.icon_state)][opened ? "-open" : ""]-color")
detail_overlay.color = detail_color
- clothing.add_overlay(detail_overlay)
+ clothing.AddOverlays(detail_overlay)
clothing.update_clothing_icon()
// This is 'small' relative to the size of regular clothing assemblies.
diff --git a/code/modules/integrated_electronics/core/tools.dm b/code/modules/integrated_electronics/core/tools.dm
index 32d2f9b4b33..46ed80f67a2 100644
--- a/code/modules/integrated_electronics/core/tools.dm
+++ b/code/modules/integrated_electronics/core/tools.dm
@@ -198,10 +198,10 @@
return ..()
/obj/item/device/integrated_electronics/detailer/update_icon()
- cut_overlays()
+ ClearOverlays()
var/image/detail_overlay = image('icons/obj/assemblies/electronic_tools.dmi', "detailer-color")
detail_overlay.color = detail_color
- add_overlay(detail_overlay)
+ AddOverlays(detail_overlay)
/obj/item/device/integrated_electronics/detailer/attack_self(mob/user)
var/color_choice = input(user, "Select color.", "Assembly Detailer", detail_color) as null|anything in color_list
diff --git a/code/modules/maps/ruins.dm b/code/modules/maps/ruins.dm
index 261f08ea142..c18974b409d 100644
--- a/code/modules/maps/ruins.dm
+++ b/code/modules/maps/ruins.dm
@@ -161,7 +161,7 @@ GLOBAL_LIST_EMPTY(banned_ruin_ids)
qdel(M)
if(LAZYLEN(T.decals))
T.decals.Cut()
- T.cut_overlays()
+ T.ClearOverlays()
template.load(central_turf, TRUE)
var/datum/map_template/ruin = template
if(istype(ruin))
diff --git a/code/modules/materials/material_sheets.dm b/code/modules/materials/material_sheets.dm
index 7a39cea7314..d534f04c29f 100644
--- a/code/modules/materials/material_sheets.dm
+++ b/code/modules/materials/material_sheets.dm
@@ -35,7 +35,7 @@
if(apply_colour)
var/image/I = new(icon, icon_state)
I.color = material.icon_colour
- add_overlay(I)
+ AddOverlays(I)
if(use_material_sound) // SEE MATERIALS.DM
drop_sound = material.drop_sound
@@ -64,7 +64,7 @@
/obj/item/stack/material/update_icon()
. = ..()
- cut_overlays()
+ ClearOverlays()
if(material)
update_strings()
if(apply_colour) // This is ass, but stops maptext from getting colored.
@@ -73,7 +73,7 @@
I.color = material.icon_colour
else
I.color = painted_colour
- add_overlay(I)
+ AddOverlays(I)
/obj/item/stack/material/transfer_to(obj/item/stack/S, var/tamount=null, var/type_verified)
var/obj/item/stack/material/M = S
diff --git a/code/modules/mining/coins.dm b/code/modules/mining/coins.dm
index 20fb44eddee..56dc5b5dfa8 100644
--- a/code/modules/mining/coins.dm
+++ b/code/modules/mining/coins.dm
@@ -79,7 +79,7 @@
to_chat(user, SPAN_NOTICE("There already is a string attached to this coin."))
return
if(CC.use(1))
- add_overlay("coin_string_overlay")
+ AddOverlays("coin_string_overlay")
string_attached = TRUE
to_chat(user, SPAN_NOTICE("You attach a string to the coin."))
else
@@ -93,7 +93,7 @@
var/obj/item/stack/cable_coil/CC = new /obj/item/stack/cable_coil(get_turf(user))
CC.amount = 1
CC.update_icon()
- cut_overlays()
+ ClearOverlays()
string_attached = null
to_chat(user, SPAN_NOTICE("You detach the string from the coin."))
else ..()
diff --git a/code/modules/mining/drilling/drill.dm b/code/modules/mining/drilling/drill.dm
index 69d72f0d05c..ed5bb32435a 100644
--- a/code/modules/mining/drilling/drill.dm
+++ b/code/modules/mining/drilling/drill.dm
@@ -122,7 +122,7 @@
while(length(resource_field) && !harvesting.resources)
harvesting.has_resources = FALSE
harvesting.resources = null
- harvesting.cut_overlay(harvesting.resource_indicator)
+ harvesting.CutOverlays(harvesting.resource_indicator)
QDEL_NULL(harvesting.resource_indicator)
resource_field -= harvesting
if(length(resource_field))
@@ -169,7 +169,7 @@
if(!found_resource)
harvesting.has_resources = FALSE
harvesting.resources = null
- harvesting.cut_overlay(harvesting.resource_indicator)
+ harvesting.CutOverlays(harvesting.resource_indicator)
QDEL_NULL(harvesting.resource_indicator)
resource_field -= harvesting
else
diff --git a/code/modules/mining/machine_processing.dm b/code/modules/mining/machine_processing.dm
index a01b16849ee..f0bbcfe3e8f 100644
--- a/code/modules/mining/machine_processing.dm
+++ b/code/modules/mining/machine_processing.dm
@@ -39,7 +39,7 @@
/obj/machinery/mineral/processing_unit_console/Initialize(mapload, d, populate_components)
. = ..()
var/mutable_appearance/screen_overlay = mutable_appearance(icon, "production_console-screen", plane = EFFECTS_ABOVE_LIGHTING_PLANE)
- add_overlay(screen_overlay)
+ AddOverlays(screen_overlay)
set_light(1.4, 1, COLOR_CYAN)
return INITIALIZE_HINT_LATELOAD
@@ -265,7 +265,7 @@
P.offset_y += 0
P.ico += "paper_stamp-cent"
P.stamped += /obj/item/stamp
- P.add_overlay(stampoverlay)
+ P.AddOverlays(stampoverlay)
P.stamps += "
This paper has been stamped by the SCC Ore Processing System."
user.visible_message("\The [src] rattles and prints out a sheet of paper.")
diff --git a/code/modules/mining/machine_stacking.dm b/code/modules/mining/machine_stacking.dm
index 72c7a0b414b..bfd995b7cc8 100644
--- a/code/modules/mining/machine_stacking.dm
+++ b/code/modules/mining/machine_stacking.dm
@@ -20,7 +20,7 @@
/obj/machinery/mineral/stacking_unit_console/Initialize(mapload, d, populate_components)
..()
var/mutable_appearance/screen_overlay = mutable_appearance(icon, "production_console-screen", plane = EFFECTS_ABOVE_LIGHTING_PLANE)
- add_overlay(screen_overlay)
+ AddOverlays(screen_overlay)
set_light(1.4, 1, COLOR_CYAN)
return INITIALIZE_HINT_LATELOAD
diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm
index b04ebb401fd..850baea54e0 100644
--- a/code/modules/mining/mine_items.dm
+++ b/code/modules/mining/mine_items.dm
@@ -557,7 +557,7 @@
cell = new /obj/item/cell/high(src)
key = new /obj/item/key/minecarts(src)
var/image/I = new(icon = 'icons/obj/vehicles.dmi', icon_state = "[icon_state]_overlay", layer = src.layer + 0.2) //over mobs
- add_overlay(I)
+ AddOverlays(I)
turn_off()
/obj/vehicle/train/cargo/engine/mining/attackby(obj/item/attacking_item, mob/user)
@@ -794,15 +794,15 @@
update_icon()
/obj/item/lazarus_injector/update_icon()
- cut_overlays()
+ ClearOverlays()
if(loaded)
var/mutable_appearance/filling = mutable_appearance(icon, "lazarus_filling")
filling.color = mask_color
- add_overlay(filling)
+ AddOverlays(filling)
if(malfunctioning || emagged)
var/mutable_appearance/static_fill = mutable_appearance(icon, "lazarus_static")
static_fill.color = mask_color
- add_overlay(static_fill)
+ AddOverlays(static_fill)
icon_state = "lazarus_[loaded ? "loaded" : "spent"]"
item_state = icon_state
update_held_icon()
@@ -1373,7 +1373,7 @@ var/list/total_extraction_beacons = list()
user.forceMove(src.loc)
var/image/W = image('icons/obj/mining.dmi',"fitnessweight-w")
W.layer = 5.1
- add_overlay(W)
+ AddOverlays(W)
var/bragmessage = pick("pushing it to the limit","going into overdrive","burning with determination","rising up to the challenge", "getting strong now","getting ripped")
user.visible_message(SPAN_NOTICE("[user] is [bragmessage]!"))
var/reps = 0
@@ -1396,7 +1396,7 @@ var/list/total_extraction_beacons = list()
animate(user, pixel_y = 0, time = 3)
var/finishmessage = pick("You feel stronger!","You feel like you can take on the world!","You feel robust!","You feel indestructible!")
icon_state = "fitnessweight"
- cut_overlay(W)
+ CutOverlays(W)
to_chat(user, SPAN_NOTICE("[finishmessage]"))
user.adjustNutritionLoss(5)
user.adjustHydrationLoss(5)
diff --git a/code/modules/mining/mine_turf_types.dm b/code/modules/mining/mine_turf_types.dm
index 9354f8a89ef..bc6ddf2d528 100644
--- a/code/modules/mining/mine_turf_types.dm
+++ b/code/modules/mining/mine_turf_types.dm
@@ -135,7 +135,7 @@
/turf/unsimulated/floor/asteroid/ash/Initialize()
. = ..()
if (prob(20))
- add_overlay("asteroid[rand(0, 9)]", TRUE)
+ AddOverlays("asteroid[rand(0, 9)]", TRUE)
/turf/unsimulated/floor/asteroid/ash/rocky
name = "rocky ash"
diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm
index af2942fa474..91e5de64b3d 100644
--- a/code/modules/mining/mine_turfs.dm
+++ b/code/modules/mining/mine_turfs.dm
@@ -417,7 +417,7 @@ var/list/mineral_can_smooth_with = list(
new_turf.resources = old_resources
new_turf.resource_indicator = old_resource_indicator
if(new_turf.resource_indicator)
- new_turf.add_overlay(new_turf.resource_indicator)
+ new_turf.AddOverlays(new_turf.resource_indicator)
return new_turf
@@ -898,7 +898,7 @@ var/list/asteroid_floor_smooth = list(
return
/turf/unsimulated/floor/asteroid/proc/gets_dug(mob/user)
- add_overlay("asteroid_dug", TRUE)
+ AddOverlays("asteroid_dug", TRUE)
if(prob(75))
new /obj/item/ore/glass(src)
@@ -952,7 +952,7 @@ var/list/asteroid_floor_smooth = list(
if(dug <= 10)
dug += 1
- add_overlay("asteroid_dug", TRUE)
+ AddOverlays("asteroid_dug", TRUE)
else
var/turf/below = GetBelow(src)
if(below)
diff --git a/code/modules/mob/abstract/new_player/menu.dm b/code/modules/mob/abstract/new_player/menu.dm
index a85797f550c..d0d24a8d5ca 100644
--- a/code/modules/mob/abstract/new_player/menu.dm
+++ b/code/modules/mob/abstract/new_player/menu.dm
@@ -153,7 +153,7 @@
/obj/screen/new_player/selection/MouseEntered(location, control, params)
if(hud_arrow)
- add_overlay(hud_arrow, force_compile = TRUE)
+ AddOverlays(hud_arrow)
else
var/matrix/M = matrix()
M.Scale(1.1, 1)
@@ -162,7 +162,7 @@
/obj/screen/new_player/selection/MouseExited(location,control,params)
if(hud_arrow)
- cut_overlays(force_compile = TRUE)
+ ClearOverlays()
else
animate(src, color = null, transform = null, time = 3, easing = CUBIC_EASING)
return ..()
diff --git a/code/modules/mob/abstract/observer/observer.dm b/code/modules/mob/abstract/observer/observer.dm
index bde73048a23..36bc4675bf8 100644
--- a/code/modules/mob/abstract/observer/observer.dm
+++ b/code/modules/mob/abstract/observer/observer.dm
@@ -227,7 +227,7 @@ Works together with spawning an observer, noted above.
/mob/proc/ghostize(var/can_reenter_corpse = TRUE, var/should_set_timer = TRUE)
if(ckey)
- cut_overlay(image('icons/effects/effects.dmi', "zzz_glow")) // not very efficient but ghostize isn't called /too/ often.
+ CutOverlays(image('icons/effects/effects.dmi', "zzz_glow")) // not very efficient but ghostize isn't called /too/ often.
var/mob/abstract/observer/ghost = new(src) //Transfer safety to observer spawning proc.
ghost.can_reenter_corpse = can_reenter_corpse
ghost.timeofdeath = src.stat == DEAD ? src.timeofdeath : world.time
diff --git a/code/modules/mob/living/carbon/alien/diona/diona_nymph.dm b/code/modules/mob/living/carbon/alien/diona/diona_nymph.dm
index eb69aa9ce73..144ea716fb4 100644
--- a/code/modules/mob/living/carbon/alien/diona/diona_nymph.dm
+++ b/code/modules/mob/living/carbon/alien/diona/diona_nymph.dm
@@ -76,7 +76,7 @@
flower_color = null
flower_image = null
- cut_overlays()
+ ClearOverlays()
. = ..()
GC_TEMPORARY_HARDDEL
diff --git a/code/modules/mob/living/carbon/alien/diona/update_icons.dm b/code/modules/mob/living/carbon/alien/diona/update_icons.dm
index 30737ebe6f6..545d6960542 100644
--- a/code/modules/mob/living/carbon/alien/diona/update_icons.dm
+++ b/code/modules/mob/living/carbon/alien/diona/update_icons.dm
@@ -6,14 +6,14 @@
else
icon_state = "[initial(icon_state)]"
- cut_overlays()
+ ClearOverlays()
if(flower_color)
- add_overlay("flower_back")
+ AddOverlays("flower_back")
if(!flower_image)
flower_image = image(icon = 'icons/mob/diona.dmi', icon_state = "flower_fore")
flower_image.color = flower_color
- add_overlay(flower_image)
+ AddOverlays(flower_image)
if(hat)
- add_overlay(get_hat_icon(hat, 0, -8))
+ AddOverlays(get_hat_icon(hat, 0, -8))
diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm
index d63c034f599..a7b098fab6e 100644
--- a/code/modules/mob/living/carbon/human/life.dm
+++ b/code/modules/mob/living/carbon/human/life.dm
@@ -1491,11 +1491,11 @@
new_oxy = "oxydamageoverlay[severity]"
if(new_oxy != last_oxy_overlay)
- damageoverlay.cut_overlay(last_oxy_overlay)
- damageoverlay.add_overlay(new_oxy)
+ damageoverlay.CutOverlays(last_oxy_overlay)
+ damageoverlay.AddOverlays(new_oxy)
last_oxy_overlay = new_oxy
else if (last_oxy_overlay)
- damageoverlay.cut_overlay(last_oxy_overlay)
+ damageoverlay.CutOverlays(last_oxy_overlay)
last_oxy_overlay = null
//Fevers
diff --git a/code/modules/mob/living/carbon/human/login.dm b/code/modules/mob/living/carbon/human/login.dm
index 781fbc44050..82c40d8a0e6 100644
--- a/code/modules/mob/living/carbon/human/login.dm
+++ b/code/modules/mob/living/carbon/human/login.dm
@@ -4,7 +4,7 @@
if(species)
species.handle_login_special(src)
if(client)
- cut_overlay(image('icons/effects/effects.dmi', "zzz_glow"))
+ CutOverlays(image('icons/effects/effects.dmi', "zzz_glow"))
var/datum/antagonist/antag = player_is_antag(mind, FALSE)
if(antag)
antag.handle_latelogin(src)
diff --git a/code/modules/mob/living/carbon/human/logout.dm b/code/modules/mob/living/carbon/human/logout.dm
index 721253d4b9d..d1aee8342a8 100644
--- a/code/modules/mob/living/carbon/human/logout.dm
+++ b/code/modules/mob/living/carbon/human/logout.dm
@@ -3,4 +3,4 @@
if(species)
species.handle_logout_special(src)
if(mind && mind.active && stat != DEAD)
- add_overlay(image('icons/effects/effects.dmi', icon_state = "zzz_glow"))
+ AddOverlays(image('icons/effects/effects.dmi', icon_state = "zzz_glow"))
diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm
index 1846da7649e..ec349b16268 100644
--- a/code/modules/mob/living/carbon/human/update_icons.dm
+++ b/code/modules/mob/living/carbon/human/update_icons.dm
@@ -112,12 +112,12 @@ There are several things that need to be remembered:
return // No point.
update_hud() //TODO: remove the need for this
- cut_overlays()
+ ClearOverlays()
if(cloaked)
icon = 'icons/mob/human.dmi'
icon_state = "body_cloaked"
- add_overlay(list(overlays_raw[L_HAND_LAYER], overlays_raw[R_HAND_LAYER]))
+ AddOverlays(list(overlays_raw[L_HAND_LAYER], overlays_raw[R_HAND_LAYER]))
else if (icon_update)
if (icon != stand_icon)
@@ -137,7 +137,7 @@ There are several things that need to be remembered:
var/icon/aura_overlay = icon(A.icon, icon_state = A.icon_state)
ovr += aura_overlay
- add_overlay(ovr)
+ AddOverlays(ovr)
if (((lying_prev != lying) || forceDirUpdate || size_multiplier != 1) && forceDirUpdate != UPDATE_ICON_IGNORE_DIRECTION_UPDATE)
if(lying && !species.prone_icon) //Only rotate them if we're not drawing a specific icon for being prone.
@@ -166,7 +166,7 @@ There are several things that need to be remembered:
M.Translate(0, 16*(size_multiplier-1))
animate(src, transform = M, time = ANIM_LYING_TIME)
- compile_overlays()
+ UpdateOverlays()
lying_prev = lying
/mob/living/carbon/human/proc/HeldObjectDirTransform(var/hand = slot_l_hand, var/direction)
@@ -402,8 +402,8 @@ There are several things that need to be remembered:
part.cut_additional_images(src)
var/list/add_images = part.get_additional_images(src)
if(add_images)
- add_overlay(add_images, TRUE)
- compile_overlays()
+ AddOverlays(add_images, ATOM_ICON_CACHE_PROTECTED)
+ UpdateOverlays()
//END CACHED ICON GENERATION.
stand_icon.Blend(base_icon,ICON_OVERLAY)
diff --git a/code/modules/mob/living/carbon/slime/items.dm b/code/modules/mob/living/carbon/slime/items.dm
index 2a67434d3e3..cb90de393f8 100644
--- a/code/modules/mob/living/carbon/slime/items.dm
+++ b/code/modules/mob/living/carbon/slime/items.dm
@@ -135,7 +135,7 @@
. = ..()
var/mutable_appearance/filling = mutable_appearance(icon, "[icon_state]-100")
filling.color = COLOR_PINK
- add_overlay(filling)
+ AddOverlays(filling)
/obj/item/docility_serum/attack(mob/living/carbon/slime/M as mob, mob/user as mob)
if(!istype(M, /mob/living/carbon/slime/))//If target is not a slime.
@@ -178,7 +178,7 @@
. = ..()
var/mutable_appearance/filling = mutable_appearance(icon, "[icon_state]-100")
filling.color = COLOR_PALE_PINK
- add_overlay(filling)
+ AddOverlays(filling)
/obj/item/advanced_docility_serum/attack(mob/living/carbon/slime/M as mob, mob/user as mob)
if(!istype(M, /mob/living/carbon/slime/))//If target is not a slime.
@@ -226,7 +226,7 @@
var/mutable_appearance/filling = mutable_appearance(icon, "[icon_state]-100")
filling.color = COLOR_GREEN
- add_overlay(filling)
+ AddOverlays(filling)
return INITIALIZE_HINT_NORMAL
@@ -265,7 +265,7 @@
var/mutable_appearance/filling = mutable_appearance(icon, "[icon_state]-100")
filling.color = COLOR_BLUE
- add_overlay(filling)
+ AddOverlays(filling)
return INITIALIZE_HINT_NORMAL
diff --git a/code/modules/mob/living/carbon/slime/slime_extractor.dm b/code/modules/mob/living/carbon/slime/slime_extractor.dm
index 5e07d49746c..bb632a0447d 100644
--- a/code/modules/mob/living/carbon/slime/slime_extractor.dm
+++ b/code/modules/mob/living/carbon/slime/slime_extractor.dm
@@ -26,15 +26,15 @@
. += FONT_SMALL(SPAN_WARNING("It is currently processing [length(extract_slimes)] slime\s."))
/obj/machinery/slime_extractor/update_icon()
- cut_overlays()
+ ClearOverlays()
if(panel_open)
var/mutable_appearance/panel_overlay = mutable_appearance(icon, "[icon_state]-panel")
- add_overlay(panel_overlay)
+ AddOverlays(panel_overlay)
if(length(extract_slimes))
var/mutable_appearance/interior_overlay = mutable_appearance(icon, "[icon_state]-interior", plane = EFFECTS_ABOVE_LIGHTING_PLANE)
- add_overlay(interior_overlay)
+ AddOverlays(interior_overlay)
var/mutable_appearance/spinning_overlay = mutable_appearance(icon, "[icon_state]-running", plane = EFFECTS_ABOVE_LIGHTING_PLANE)
- add_overlay(spinning_overlay)
+ AddOverlays(spinning_overlay)
set_light(2.5, 1, COLOR_VIOLET)
else
set_light(FALSE)
diff --git a/code/modules/mob/living/carbon/slime/update_icons.dm b/code/modules/mob/living/carbon/slime/update_icons.dm
index 9b23caa28d8..6f70d93e715 100644
--- a/code/modules/mob/living/carbon/slime/update_icons.dm
+++ b/code/modules/mob/living/carbon/slime/update_icons.dm
@@ -3,7 +3,7 @@
icon_state = "[colour] baby slime dead"
else
icon_state = "[colour] [is_adult ? "adult" : "baby"] slime[victim ? "" : " eat"]"
- cut_overlays()
+ ClearOverlays()
if(mood)
- add_overlay("aslime-[mood]")
+ AddOverlays("aslime-[mood]")
..()
diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm
index cfc8c340db3..42a4329bc81 100644
--- a/code/modules/mob/living/living.dm
+++ b/code/modules/mob/living/living.dm
@@ -1000,7 +1000,7 @@ default behaviour is:
for(var/aura in auras)
var/obj/aura/A = aura
var/icon/aura_overlay = icon(A.icon, icon_state = A.icon_state)
- add_overlay(aura_overlay)
+ AddOverlays(aura_overlay)
/mob/living/proc/add_aura(var/obj/aura/aura)
LAZYDISTINCTADD(auras, aura)
diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm
index 25beab9dd5c..ad74b62322c 100644
--- a/code/modules/mob/living/silicon/robot/drone/drone.dm
+++ b/code/modules/mob/living/silicon/robot/drone/drone.dm
@@ -302,9 +302,9 @@
"emag" = image(icon, "[icon_state]-eyes_emag")
)
if(eye_overlay)
- cut_overlay(eye_overlay)
+ CutOverlays(eye_overlay)
eye_overlay = cached_eye_overlays[a_intent]
- add_overlay(eye_overlay)
+ AddOverlays(eye_overlay)
/mob/living/silicon/robot/drone/setup_panel_cache()
cached_panel_overlays = list(
@@ -316,10 +316,10 @@
/mob/living/silicon/robot/drone/set_intent(var/set_intent)
a_intent = set_intent
- cut_overlay(eye_overlay)
+ CutOverlays(eye_overlay)
if(!stat)
eye_overlay = cached_eye_overlays[emagged ? "emag" : set_intent]
- add_overlay(eye_overlay)
+ AddOverlays(eye_overlay)
/mob/living/silicon/robot/drone/choose_icon()
return
@@ -333,7 +333,7 @@
hat = new_hat
new_hat.forceMove(src)
hat_overlay = get_hat_icon(hat, hat_x_offset, hat_y_offset)
- add_overlay(hat_overlay)
+ AddOverlays(hat_overlay)
//Drones cannot be upgraded with borg modules so we need to catch some items before they get used in ..().
/mob/living/silicon/robot/drone/attackby(obj/item/attacking_item, mob/user)
diff --git a/code/modules/mob/living/silicon/robot/drone/drone_abilities.dm b/code/modules/mob/living/silicon/robot/drone/drone_abilities.dm
index 18a72f1f047..06f42942eb7 100644
--- a/code/modules/mob/living/silicon/robot/drone/drone_abilities.dm
+++ b/code/modules/mob/living/silicon/robot/drone/drone_abilities.dm
@@ -31,7 +31,7 @@
H.put_in_hands(hat)
H.visible_message(SPAN_WARNING("\The [H] removes \the [src]'s [hat]."))
hat = null
- cut_overlay(hat_overlay)
+ CutOverlays(hat_overlay)
QDEL_NULL(hat_overlay)
update_icon()
else
diff --git a/code/modules/mob/living/silicon/robot/items/modules/robot_shield.dm b/code/modules/mob/living/silicon/robot/items/modules/robot_shield.dm
index 00a1edaafa8..57a42c36b77 100644
--- a/code/modules/mob/living/silicon/robot/items/modules/robot_shield.dm
+++ b/code/modules/mob/living/silicon/robot/items/modules/robot_shield.dm
@@ -8,10 +8,10 @@
/obj/item/borg/combat/shield/on_module_activate(mob/living/silicon/robot/R)
R.shield_overlay = image(R.icon, "[R.module_sprites[R.icontype][ROBOT_CHASSIS]]-shield")
- R.add_overlay(R.shield_overlay)
+ R.AddOverlays(R.shield_overlay)
/obj/item/borg/combat/shield/on_module_deactivate(mob/living/silicon/robot/R)
- R.cut_overlay(R.shield_overlay)
+ R.CutOverlays(R.shield_overlay)
/obj/item/borg/combat/shield/verb/set_shield_level()
set name = "Set shield level"
diff --git a/code/modules/mob/living/silicon/robot/items/robot_parts.dm b/code/modules/mob/living/silicon/robot/items/robot_parts.dm
index 3ecc2f348c6..61d05fc47f7 100644
--- a/code/modules/mob/living/silicon/robot/items/robot_parts.dm
+++ b/code/modules/mob/living/silicon/robot/items/robot_parts.dm
@@ -121,19 +121,19 @@
update_icon()
/obj/item/robot_parts/robot_suit/update_icon()
- cut_overlays()
+ ClearOverlays()
if(l_arm)
- add_overlay("l_arm+o")
+ AddOverlays("l_arm+o")
if(r_arm)
- add_overlay("r_arm+o")
+ AddOverlays("r_arm+o")
if(chest)
- add_overlay("chest+o")
+ AddOverlays("chest+o")
if(l_leg)
- add_overlay("l_leg+o")
+ AddOverlays("l_leg+o")
if(r_leg)
- add_overlay("r_leg+o")
+ AddOverlays("r_leg+o")
if(head)
- add_overlay("head+o")
+ AddOverlays("head+o")
/obj/item/robot_parts/robot_suit/proc/check_completion()
if(l_arm && r_arm)
diff --git a/code/modules/mob/living/silicon/robot/life.dm b/code/modules/mob/living/silicon/robot/life.dm
index d535efa1fc3..5391a02bb39 100644
--- a/code/modules/mob/living/silicon/robot/life.dm
+++ b/code/modules/mob/living/silicon/robot/life.dm
@@ -13,11 +13,11 @@
handle_regular_hud_updates()
update_items()
if(stat)
- cut_overlay(eye_overlay)
+ CutOverlays(eye_overlay)
has_cut_eye_overlay = TRUE
else if(has_cut_eye_overlay)
eye_overlay = cached_eye_overlays[a_intent]
- add_overlay(eye_overlay)
+ AddOverlays(eye_overlay)
has_cut_eye_overlay = null
if(stat != DEAD) //still using power
use_power()
@@ -322,12 +322,12 @@
return TRUE
/mob/living/silicon/robot/update_fire()
- cut_overlay(image("icon" = 'icons/mob/burning/burning_generic.dmi', "icon_state" = "upper"))
- cut_overlay(image("icon" = 'icons/mob/burning/burning_generic.dmi', "icon_state" = "lower"))
+ CutOverlays(image("icon" = 'icons/mob/burning/burning_generic.dmi', "icon_state" = "upper"))
+ CutOverlays(image("icon" = 'icons/mob/burning/burning_generic.dmi', "icon_state" = "lower"))
if(on_fire)
- add_overlay(image("icon" = 'icons/mob/burning/burning_generic.dmi', "icon_state" = "upper"))
- add_overlay(image("icon" = 'icons/mob/burning/burning_generic.dmi', "icon_state" = "lower"))
+ AddOverlays(image("icon" = 'icons/mob/burning/burning_generic.dmi', "icon_state" = "upper"))
+ AddOverlays(image("icon" = 'icons/mob/burning/burning_generic.dmi', "icon_state" = "lower"))
/mob/living/silicon/robot/fire_act()
if(!on_fire) // Silicons don't gain stacks from hotspots, but hotspots can ignite them.
diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm
index c7c88fb7eb2..00714fa3a96 100644
--- a/code/modules/mob/living/silicon/robot/robot.dm
+++ b/code/modules/mob/living/silicon/robot/robot.dm
@@ -512,7 +512,7 @@
set name = "Rebuild Overlays"
set desc = "An OOC tool that rebuilds your overlays, useful if your talk bubble gets stuck to you."
- cut_overlays()
+ ClearOverlays()
handle_panel_overlay()
set_intent(a_intent)
diff --git a/code/modules/mob/living/silicon/robot/robot_helpers.dm b/code/modules/mob/living/silicon/robot/robot_helpers.dm
index 023bd1bb2a3..4769ca19667 100644
--- a/code/modules/mob/living/silicon/robot/robot_helpers.dm
+++ b/code/modules/mob/living/silicon/robot/robot_helpers.dm
@@ -1,16 +1,16 @@
/mob/living/silicon/robot/set_intent(var/set_intent)
a_intent = set_intent
- cut_overlay(eye_overlay)
+ CutOverlays(eye_overlay)
if(!length(module_sprites))
return
if(!length(cached_eye_overlays))
setup_eye_cache()
if(!stat)
eye_overlay = cached_eye_overlays[a_intent]
- add_overlay(eye_overlay)
+ AddOverlays(eye_overlay)
/mob/living/silicon/robot/proc/handle_panel_overlay()
- cut_overlay(panel_overlay)
+ CutOverlays(panel_overlay)
if(!length(cached_panel_overlays))
setup_panel_cache()
if(opened)
@@ -20,7 +20,7 @@
panel_overlay = cached_panel_overlays[ROBOT_PANEL_CELL]
else
panel_overlay = cached_panel_overlays[ROBOT_PANEL_NO_CELL]
- add_overlay(panel_overlay)
+ AddOverlays(panel_overlay)
/mob/living/silicon/robot/proc/setup_icon_cache()
if(!module_sprites[icontype])
@@ -46,10 +46,10 @@
I_HURT = image(icon, "[eyeprefix]-eyes_harm")
)
if(eye_overlay)
- cut_overlay(eye_overlay)
+ CutOverlays(eye_overlay)
eye_overlay = cached_eye_overlays[a_intent]
eye_overlay.plane = eye_plane
- add_overlay(eye_overlay)
+ AddOverlays(eye_overlay)
/mob/living/silicon/robot/proc/setup_panel_cache()
if(!length(module_sprites))
diff --git a/code/modules/mob/living/simple_animal/constructs/constructs/cult_construct.dm b/code/modules/mob/living/simple_animal/constructs/constructs/cult_construct.dm
index 3002d9afa23..c7ab1b7efce 100644
--- a/code/modules/mob/living/simple_animal/constructs/constructs/cult_construct.dm
+++ b/code/modules/mob/living/simple_animal/constructs/constructs/cult_construct.dm
@@ -120,13 +120,13 @@
..()
/mob/living/simple_animal/construct/proc/add_glow()
- cut_overlays()
+ ClearOverlays()
var/overlay_plane = EFFECTS_ABOVE_LIGHTING_PLANE
var/image/glow = image(icon, "glow-[icon_state]")
glow.plane = overlay_plane
- add_overlay(glow)
+ AddOverlays(glow)
set_light(2, -2, l_color = COLOR_WHITE)
/mob/living/simple_animal/construct/Life()
diff --git a/code/modules/mob/living/simple_animal/friendly/corgi.dm b/code/modules/mob/living/simple_animal/friendly/corgi.dm
index 79a23a2e1de..caa4d85c403 100644
--- a/code/modules/mob/living/simple_animal/friendly/corgi.dm
+++ b/code/modules/mob/living/simple_animal/friendly/corgi.dm
@@ -88,7 +88,7 @@
..()
/mob/living/simple_animal/corgi/regenerate_icons()
- cut_overlays()
+ ClearOverlays()
if(inventory_head)
var/head_icon_state = inventory_head.icon_state
@@ -97,7 +97,7 @@
var/icon/head_icon = image('icons/mob/corgi_head.dmi',head_icon_state)
if(head_icon)
- add_overlay(head_icon)
+ AddOverlays(head_icon)
if(inventory_back)
var/back_icon_state = inventory_back.icon_state
@@ -106,7 +106,7 @@
var/icon/back_icon = image('icons/mob/corgi_back.dmi',back_icon_state)
if(back_icon)
- add_overlay(back_icon)
+ AddOverlays(back_icon)
/mob/living/simple_animal/corgi/puppy
name = "corgi puppy"
diff --git a/code/modules/mob/living/simple_animal/friendly/ratking.dm b/code/modules/mob/living/simple_animal/friendly/ratking.dm
index d21d9600555..e05cac290ce 100644
--- a/code/modules/mob/living/simple_animal/friendly/ratking.dm
+++ b/code/modules/mob/living/simple_animal/friendly/ratking.dm
@@ -58,7 +58,7 @@
/mob/living/simple_animal/rat/king/update_icon()
..()
- cut_overlays()
+ ClearOverlays()
for(var/mob/living/simple_animal/rat/R in rats)
var/image/rat_overlay = image('icons/mob/npc/animal.dmi', "[R.icon_state]")
@@ -66,7 +66,7 @@
var/matrix/M = matrix()
M.Translate(rand(-6, 6), rand(-4, 8))
rat_overlay.transform = M
- add_overlay(rat_overlay)
+ AddOverlays(rat_overlay)
/mob/living/simple_animal/rat/king/proc/update()
if( rats.len >= RAT_GOD_LEVEL)
diff --git a/code/modules/mob/living/simple_animal/friendly/slime.dm b/code/modules/mob/living/simple_animal/friendly/slime.dm
index c64d7973294..9f1d2f9c4a0 100644
--- a/code/modules/mob/living/simple_animal/friendly/slime.dm
+++ b/code/modules/mob/living/simple_animal/friendly/slime.dm
@@ -46,7 +46,7 @@
/mob/living/simple_animal/adultslime/Initialize()
. = ..()
- add_overlay("aslime-:33")
+ AddOverlays("aslime-:33")
/mob/living/simple_animal/adultslime/death()
diff --git a/code/modules/mob/living/simple_animal/hostile/ipc_zombie.dm b/code/modules/mob/living/simple_animal/hostile/ipc_zombie.dm
index dfbc465c469..345f7c48c5d 100644
--- a/code/modules/mob/living/simple_animal/hostile/ipc_zombie.dm
+++ b/code/modules/mob/living/simple_animal/hostile/ipc_zombie.dm
@@ -52,16 +52,16 @@
screen_overlay = image('icons/mob/npc/ipc_zombie.dmi', "[screen]")
screen_overlay.plane = plane = EFFECTS_ABOVE_LIGHTING_PLANE
screen_overlay.appearance_flags = KEEP_APART
- add_overlay(screen_overlay)
+ AddOverlays(screen_overlay)
set_light(MINIMUM_USEFUL_LIGHT_RANGE, 2, LIGHT_COLOR_TUNGSTEN)
/mob/living/simple_animal/hostile/ipc_zombie/update_icon()
- cut_overlays()
+ ClearOverlays()
if(screen && stat != DEAD)
screen_overlay = image('icons/mob/npc/ipc_zombie.dmi', "[screen]")
screen_overlay.plane = EFFECTS_ABOVE_LIGHTING_PLANE
screen_overlay.appearance_flags = KEEP_APART
- add_overlay(screen_overlay)
+ AddOverlays(screen_overlay)
/mob/living/simple_animal/hostile/ipc_zombie/death()
..()
diff --git a/code/modules/mob/living/simple_animal/hostile/morph.dm b/code/modules/mob/living/simple_animal/hostile/morph.dm
index 86b63a7f943..12c4cfa7237 100644
--- a/code/modules/mob/living/simple_animal/hostile/morph.dm
+++ b/code/modules/mob/living/simple_animal/hostile/morph.dm
@@ -169,7 +169,7 @@
name = initial(name)
icon = initial(icon)
icon_state = initial(icon_state)
- cut_overlays()
+ ClearOverlays()
overlays = null
//Baseline stats
diff --git a/code/modules/mob/living/simple_animal/hostile/rogue_maint_drone.dm b/code/modules/mob/living/simple_animal/hostile/rogue_maint_drone.dm
index 3005dc1953c..f45a750a76a 100644
--- a/code/modules/mob/living/simple_animal/hostile/rogue_maint_drone.dm
+++ b/code/modules/mob/living/simple_animal/hostile/rogue_maint_drone.dm
@@ -30,7 +30,7 @@
eye_overlay = image(icon, "[icon_state]-eyes_emag")
eye_overlay.plane = EFFECTS_ABOVE_LIGHTING_PLANE
eye_overlay.appearance_flags = KEEP_APART
- add_overlay(eye_overlay)
+ AddOverlays(eye_overlay)
/mob/living/simple_animal/hostile/rogue_drone/CanPass(atom/movable/mover, turf/target, height, air_group)
. = ..()
diff --git a/code/modules/mob/living/simple_animal/hostile/space_fauna.dm b/code/modules/mob/living/simple_animal/hostile/space_fauna.dm
index 42a2eb7ab55..500aedec0ec 100644
--- a/code/modules/mob/living/simple_animal/hostile/space_fauna.dm
+++ b/code/modules/mob/living/simple_animal/hostile/space_fauna.dm
@@ -180,12 +180,12 @@
eye_overlay = image(icon, "eel_eyeglow")
eye_overlay.plane = EFFECTS_ABOVE_LIGHTING_PLANE
eye_overlay.appearance_flags = KEEP_APART
- add_overlay(eye_overlay)
+ AddOverlays(eye_overlay)
set_light(MINIMUM_USEFUL_LIGHT_RANGE, 2, LIGHT_COLOR_TUNGSTEN)
/mob/living/simple_animal/hostile/carp/shark/reaver/eel/death()
. = ..()
- cut_overlays()
+ ClearOverlays()
set_light(0)
/mob/living/simple_animal/hostile/carp/bloater
diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm
index bf1d570f307..652be0c2d0d 100644
--- a/code/modules/mob/living/simple_animal/simple_animal.dm
+++ b/code/modules/mob/living/simple_animal/simple_animal.dm
@@ -190,7 +190,7 @@
death()
/mob/living/simple_animal/Destroy()
- cut_overlay(blood_overlay)
+ CutOverlays(blood_overlay)
movement_target = null
QDEL_NULL(udder)
@@ -404,7 +404,7 @@
if(force_reset || current_blood_state != blood_state)
if(blood_overlay)
- cut_overlay(blood_overlay)
+ CutOverlays(blood_overlay)
if(blood_state == BLOOD_NONE)
return
var/blood_overlay_name = get_blood_overlay_name()
@@ -412,7 +412,7 @@
I.color = blood_type
I.blend_mode = BLEND_INSET_OVERLAY
blood_overlay = I
- add_overlay(blood_overlay)
+ AddOverlays(blood_overlay)
/mob/living/simple_animal/proc/get_blood_overlay_name()
return "blood_overlay"
diff --git a/code/modules/modular_computers/NTNet/NTNet_relay.dm b/code/modules/modular_computers/NTNet/NTNet_relay.dm
index 714f1fdd2a0..4276e614ec1 100644
--- a/code/modules/modular_computers/NTNet/NTNet_relay.dm
+++ b/code/modules/modular_computers/NTNet/NTNet_relay.dm
@@ -36,17 +36,17 @@
/obj/machinery/ntnet_relay/update_icon()
icon_state = initial(icon_state)
- cut_overlays()
+ ClearOverlays()
if(panel_open)
icon_state += "_o"
if(!operable())
icon_state += "_off"
else if(dos_failure)
- add_overlay("ntnet_o_problem")
+ AddOverlays("ntnet_o_problem")
else if(!enabled)
- add_overlay("ntnet_o_error")
+ AddOverlays("ntnet_o_error")
else
- add_overlay("ntnet_o_ok")
+ AddOverlays("ntnet_o_ok")
/obj/machinery/ntnet_relay/process()
if(operable())
diff --git a/code/modules/modular_computers/computers/modular_computer/core.dm b/code/modules/modular_computers/computers/modular_computer/core.dm
index 9a523e4dbeb..8c7472ea6c8 100644
--- a/code/modules/modular_computers/computers/modular_computer/core.dm
+++ b/code/modules/modular_computers/computers/modular_computer/core.dm
@@ -165,19 +165,19 @@
/obj/item/modular_computer/update_icon()
icon_state = icon_state_unpowered
- cut_overlays()
+ ClearOverlays()
if(damage >= broken_damage)
icon_state = icon_state_broken
- add_overlay("broken")
+ AddOverlays("broken")
return
if(!enabled)
if(icon_state_screensaver && working)
if (is_holographic)
holographic_overlay(src, src.icon, icon_state_screensaver)
else
- add_overlay(icon_state_screensaver)
+ AddOverlays(icon_state_screensaver)
if(icon_state_screensaver_key && working)
- add_overlay(icon_state_screensaver_key)
+ AddOverlays(icon_state_screensaver_key)
if (screensaver_light_range && working && !flashlight)
set_light(screensaver_light_range, light_power, screensaver_light_color ? screensaver_light_color : "#FFFFFF")
@@ -190,16 +190,16 @@
if (is_holographic)
holographic_overlay(src, src.icon, state)
else
- add_overlay(state)
- add_overlay(state_key)
+ AddOverlays(state)
+ AddOverlays(state_key)
if(!flashlight)
set_light(light_range, light_power, l_color = active_program.color)
else
if (is_holographic)
holographic_overlay(src, src.icon, icon_state_menu)
else
- add_overlay(icon_state_menu)
- add_overlay(icon_state_menu_key)
+ AddOverlays(icon_state_menu)
+ AddOverlays(icon_state_menu_key)
if(!flashlight)
set_light(light_range, light_power, l_color = menu_light_color)
diff --git a/code/modules/modular_computers/computers/subtypes/dev_laptop.dm b/code/modules/modular_computers/computers/subtypes/dev_laptop.dm
index a0a56b3fa94..658226a0251 100644
--- a/code/modules/modular_computers/computers/subtypes/dev_laptop.dm
+++ b/code/modules/modular_computers/computers/subtypes/dev_laptop.dm
@@ -38,7 +38,7 @@
if(anchored)
..()
else
- cut_overlays()
+ ClearOverlays()
if(damage >= broken_damage)
icon_state = icon_state_broken + "-closed"
else
diff --git a/code/modules/modular_computers/file_system/programs/civilian/cargo_control.dm b/code/modules/modular_computers/file_system/programs/civilian/cargo_control.dm
index 99eafff152d..6dba4d36c9b 100644
--- a/code/modules/modular_computers/file_system/programs/civilian/cargo_control.dm
+++ b/code/modules/modular_computers/file_system/programs/civilian/cargo_control.dm
@@ -219,7 +219,7 @@
if(!P.stamped)
P.stamped = new
P.stamped += /obj/item/stamp
- P.add_overlay(stampoverlay)
+ P.AddOverlays(stampoverlay)
P.stamps += "
This paper has been stamped by the Shipping Server."
computer.visible_message(SPAN_NOTICE("\The [computer] prints out paper."))
if("bounty_print")
diff --git a/code/modules/modular_computers/items/paper_scanner.dm b/code/modules/modular_computers/items/paper_scanner.dm
index fb0b45460c0..ceb58bded48 100644
--- a/code/modules/modular_computers/items/paper_scanner.dm
+++ b/code/modules/modular_computers/items/paper_scanner.dm
@@ -14,9 +14,9 @@
update_icon()
/obj/item/paper_scanner/update_icon()
- cut_overlays()
+ ClearOverlays()
if(drive)
- add_overlay("paperscanner-drive")
+ AddOverlays("paperscanner-drive")
/obj/item/paper_scanner/AltClick(mob/living/user)
if(!drive)
diff --git a/code/modules/multiz/pipes.dm b/code/modules/multiz/pipes.dm
index 7326197539f..5004bdd7fb0 100644
--- a/code/modules/multiz/pipes.dm
+++ b/code/modules/multiz/pipes.dm
@@ -112,7 +112,7 @@
if (!check_icon_cache())
return
- cut_overlays()
+ ClearOverlays()
if(!node1 && !node2)
var/turf/T = get_turf(src)
@@ -123,7 +123,7 @@
qdel(meter)
qdel(src)
else
- add_overlay(icon_manager.get_atmos_icon("pipe", , pipe_color, "[ptype][icon_connect_type]"))
+ AddOverlays(icon_manager.get_atmos_icon("pipe", , pipe_color, "[ptype][icon_connect_type]"))
/obj/machinery/atmospherics/pipe/zpipe/disconnect(obj/machinery/atmospherics/reference)
if(reference == node1)
diff --git a/code/modules/organs/organ_icon.dm b/code/modules/organs/organ_icon.dm
index 157cee7e5d2..5de5b51f45d 100644
--- a/code/modules/organs/organ_icon.dm
+++ b/code/modules/organs/organ_icon.dm
@@ -2,14 +2,14 @@
return
/obj/item/organ/external/proc/compile_icon()
- cut_overlays()
+ ClearOverlays()
// This is a kludge, only one icon has more than one generation of children though.
for(var/obj/item/organ/external/organ in contents)
if(organ.children && organ.children.len)
for(var/obj/item/organ/external/child in organ.children)
- add_overlay(child.mob_icon)
+ AddOverlays(child.mob_icon)
- add_overlay(organ.mob_icon)
+ AddOverlays(organ.mob_icon)
/obj/item/organ/external/proc/sync_colour_to_human(var/mob/living/carbon/human/human)
s_tone = null
@@ -50,7 +50,7 @@
/obj/item/organ/external/head/get_icon()
..()
- cut_overlays()
+ ClearOverlays()
if(!owner || !owner.species)
return
var/is_frenzied = FALSE
@@ -78,7 +78,7 @@
SSicon_cache.human_eye_cache[cache_key] = eyes_icon
mob_icon.Blend(eyes_icon, ICON_OVERLAY)
- add_overlay(eyes_icon)
+ AddOverlays(eyes_icon)
if(owner.lipstick_color && (species && (species.appearance_flags & HAS_LIPS)))
var/icon/lip_icon = SSicon_cache.human_lip_cache["[owner.lipstick_color]"]
@@ -87,16 +87,16 @@
lip_icon.Blend(owner.lipstick_color, species.eyes_icon_blend)
SSicon_cache.human_lip_cache["[owner.lipstick_color]"] = lip_icon
- add_overlay(lip_icon)
+ AddOverlays(lip_icon)
mob_icon.Blend(lip_icon, ICON_OVERLAY)
apply_markings()
get_internal_organs_overlay()
- add_overlay(owner.generate_hair_icon())
+ AddOverlays(owner.generate_hair_icon())
- compile_overlays()
+ UpdateOverlays()
return mob_icon
@@ -130,7 +130,7 @@
finished_icon.Blend(m_color, mark_style.icon_blend_mode)
SSicon_cache.markings_cache[cache_key] = finished_icon
- add_overlay(finished_icon) //So when it's not on your body, it has icons
+ AddOverlays(finished_icon) //So when it's not on your body, it has icons
mob_icon.Blend(finished_icon, ICON_OVERLAY) //So when it's on your body, it has icons
/obj/item/organ/external/proc/get_internal_organs_overlay()
@@ -147,7 +147,7 @@
organ_icon = new /icon(internal_organ_icon, O.item_state || O.icon_state)
SSicon_cache.internal_organ_cache[cache_key] = organ_icon
- add_overlay(organ_icon)
+ AddOverlays(organ_icon)
mob_icon.Blend(organ_icon, ICON_OVERLAY)
/obj/item/organ/external/var/icon_cache_key
@@ -230,7 +230,7 @@
/obj/item/organ/external/proc/cut_additional_images(var/mob/living/carbon/human/H)
if(LAZYLEN(additional_images))
- H.cut_overlay(additional_images, TRUE)
+ H.CutOverlays(additional_images, ATOM_ICON_CACHE_PROTECTED)
LAZYCLEARLIST(additional_images)
// new damage icon system
diff --git a/code/modules/overmap/exoplanets/decor/_turfs.dm b/code/modules/overmap/exoplanets/decor/_turfs.dm
index f10acfde19f..0ea26782ed3 100644
--- a/code/modules/overmap/exoplanets/decor/_turfs.dm
+++ b/code/modules/overmap/exoplanets/decor/_turfs.dm
@@ -75,11 +75,11 @@
. = ..()
else if(has_edge_icon)
- cut_overlays()
+ ClearOverlays()
if(resource_indicator)
- add_overlay(resource_indicator)
+ AddOverlays(resource_indicator)
if(LAZYLEN(decals))
- add_overlay(decals)
+ AddOverlays(decals)
for(var/direction in GLOB.cardinal)
var/turf/turf_to_check = get_step(src,direction)
if(!istype(turf_to_check, type))
diff --git a/code/modules/overmap/exoplanets/decor/flora/konyang.dm b/code/modules/overmap/exoplanets/decor/flora/konyang.dm
index 457af9080f9..85cccbb930c 100644
--- a/code/modules/overmap/exoplanets/decor/flora/konyang.dm
+++ b/code/modules/overmap/exoplanets/decor/flora/konyang.dm
@@ -15,7 +15,7 @@
/obj/structure/flora/tree/konyang/spring/Initialize(mapload)
. = ..()
- cut_overlays()
+ ClearOverlays()
overlays += /obj/effect/overlay/konyang_tree
icon_state = "beet_tree[rand(1, 3)]"
return
@@ -26,7 +26,7 @@
/obj/structure/flora/tree/konyang/blossom/Initialize(mapload)
. = ..()
- cut_overlays()
+ ClearOverlays()
overlays += /obj/effect/overlay/konyang_tree
icon_state = "blossom_beet_tree[rand(1, 3)]"
return
@@ -37,7 +37,7 @@
/obj/structure/flora/tree/konyang/fall/Initialize(mapload)
. = ..()
- cut_overlays()
+ ClearOverlays()
overlays += /obj/effect/overlay/konyang_tree
icon_state = "fall_beet_tree[rand(1, 3)]"
return
diff --git a/code/modules/overmap/exoplanets/decor/objs/monolith.dm b/code/modules/overmap/exoplanets/decor/objs/monolith.dm
index bf8c13023ca..aa3d406e1cd 100644
--- a/code/modules/overmap/exoplanets/decor/objs/monolith.dm
+++ b/code/modules/overmap/exoplanets/decor/objs/monolith.dm
@@ -23,10 +23,10 @@
I.appearance_flags = RESET_COLOR
I.color = get_random_colour(0, 150, 255)
I.plane = EFFECTS_ABOVE_LIGHTING_PLANE
- add_overlay(I)
+ AddOverlays(I)
set_light(0.3, 0.1, 2, l_color = I.color)
var/turf/simulated/floor/exoplanet/T = get_turf(src)
if(istype(T))
var/image/I = overlay_image(icon, "dugin", T.dirt_color, RESET_COLOR)
- add_overlay(I)
+ AddOverlays(I)
diff --git a/code/modules/overmap/exoplanets/themes/_theme.dm b/code/modules/overmap/exoplanets/themes/_theme.dm
index c8f68b38d81..ff84a9fd778 100644
--- a/code/modules/overmap/exoplanets/themes/_theme.dm
+++ b/code/modules/overmap/exoplanets/themes/_theme.dm
@@ -263,7 +263,7 @@
resource_indicator.alpha = rand(30, 60)
gen_turf.resource_indicator = resource_indicator
if(!gen_turf.density)
- gen_turf.add_overlay(resource_indicator)
+ gen_turf.AddOverlays(resource_indicator)
for(var/OT in ground_ore_levels[ground_resources_roll])
var/rand_vals = ground_ore_levels[ground_resources_roll][OT]
gen_turf.resources[OT] = rand(rand_vals[1], rand_vals[2])
diff --git a/code/modules/overmap/overmap_object.dm b/code/modules/overmap/overmap_object.dm
index 01102d197d2..97c912880e6 100644
--- a/code/modules/overmap/overmap_object.dm
+++ b/code/modules/overmap/overmap_object.dm
@@ -177,7 +177,7 @@
C.targeting = FALSE
targeting = O
O.targeted_overlay = icon('icons/obj/overmap/overmap_effects.dmi', "lock")
- O.add_overlay(O.targeted_overlay)
+ O.AddOverlays(O.targeted_overlay)
if(designation && class && !obfuscated)
if(!O.maptext)
O.maptext = SMALL_FONTS(6, "[class] [designation]")
@@ -207,6 +207,6 @@
if(C)
playsound(C, 'sound/items/rfd_interrupt.ogg', 70)
if(O)
- O.cut_overlay(O.targeted_overlay)
+ O.CutOverlays(O.targeted_overlay)
O.maptext = null
targeting = null
diff --git a/code/modules/overmap/sectors.dm b/code/modules/overmap/sectors.dm
index 0f9e70d826f..e3d8203f93e 100644
--- a/code/modules/overmap/sectors.dm
+++ b/code/modules/overmap/sectors.dm
@@ -194,10 +194,10 @@ var/global/area/overmap/map_overmap // Global object used to locate the overmap
if(has_called_distress_beacon)
var/image/distress_overlay = image('icons/obj/overmap/overmap_effects.dmi', "distress")
applied_distress_overlay = distress_overlay
- add_overlay(applied_distress_overlay)
+ AddOverlays(applied_distress_overlay)
filters = filter(type = "outline", size = 2, color = COLOR_RED)
else
- cut_overlay(applied_distress_overlay)
+ CutOverlays(applied_distress_overlay)
filters = null
/obj/effect/overmap/visitable/proc/update_name()
diff --git a/code/modules/overmap/ship_weaponry/weaponry/longbow_ammo.dm b/code/modules/overmap/ship_weaponry/weaponry/longbow_ammo.dm
index e66212a6fe5..2fbc07e4e9b 100644
--- a/code/modules/overmap/ship_weaponry/weaponry/longbow_ammo.dm
+++ b/code/modules/overmap/ship_weaponry/weaponry/longbow_ammo.dm
@@ -40,14 +40,14 @@
primer = P
P.forceMove(src)
var/image/OL = image(P.icon, P.primer_state, layer = layer - 0.01)
- add_overlay(OL)
+ AddOverlays(OL)
update_status()
/obj/item/ship_ammunition/longbow/proc/add_warhead(var/obj/item/warhead/W)
if(W && !QDELETED(W))
warhead = W
W.forceMove(src)
- add_overlay(W.warhead_state)
+ AddOverlays(W.warhead_state)
impact_type = W.warhead_type
ammunition_flags = initial(ammunition_flags)
ammunition_flags |= SHIP_AMMO_FLAG_VERY_FRAGILE
diff --git a/code/modules/overmap/ships/computers/sensors.dm b/code/modules/overmap/ships/computers/sensors.dm
index 99814bdc7d2..97950ddff5d 100644
--- a/code/modules/overmap/ships/computers/sensors.dm
+++ b/code/modules/overmap/ships/computers/sensors.dm
@@ -454,7 +454,7 @@
/obj/machinery/shipsensors/update_icon()
icon_state = "[base_icon_state]_off"
if(!use_power)
- cut_overlays()
+ ClearOverlays()
if(use_power)
icon_state = "[base_icon_state]_on"
@@ -475,11 +475,11 @@
else
overlay = "[overlay]5"
- cut_overlays()
- add_overlay(overlay)
+ ClearOverlays()
+ AddOverlays(overlay)
var/heat_percentage = heat / critical_heat * 100
if(heat_percentage > 85)
- add_overlay("sensors-effect-hot")
+ AddOverlays("sensors-effect-hot")
/obj/machinery/shipsensors/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
diff --git a/code/modules/overmap/ships/identification.dm b/code/modules/overmap/ships/identification.dm
index c48fcd8fe88..2966d55c228 100644
--- a/code/modules/overmap/ships/identification.dm
+++ b/code/modules/overmap/ships/identification.dm
@@ -70,7 +70,7 @@
/obj/machinery/iff_beacon/update_icon()
icon_state = initial(icon_state)
- cut_overlays()
+ ClearOverlays()
if(panel_open)
icon_state += "_o"
if(!operable() || !use_power)
diff --git a/code/modules/paperwork/clipboard.dm b/code/modules/paperwork/clipboard.dm
index 7961a94fd38..5433ef62a0b 100644
--- a/code/modules/paperwork/clipboard.dm
+++ b/code/modules/paperwork/clipboard.dm
@@ -38,7 +38,7 @@
return
/obj/item/clipboard/update_icon()
- cut_overlays()
+ ClearOverlays()
var/list/to_add = list()
if(toppaper)
to_add += toppaper.icon_state
@@ -48,7 +48,7 @@
if(haspen)
to_add += "clipboard_pen"
to_add += "clipboard_over"
- add_overlay(to_add)
+ AddOverlays(to_add)
/obj/item/clipboard/attackby(obj/item/attacking_item, mob/user)
diff --git a/code/modules/paperwork/folders.dm b/code/modules/paperwork/folders.dm
index 427cade5c03..ddf46be80c7 100644
--- a/code/modules/paperwork/folders.dm
+++ b/code/modules/paperwork/folders.dm
@@ -34,9 +34,9 @@
icon_state = "folder_purple"
/obj/item/folder/update_icon()
- cut_overlays()
+ ClearOverlays()
if(contents.len)
- add_overlay("folder_paper")
+ AddOverlays("folder_paper")
return
/obj/item/folder/attackby(obj/item/attacking_item, mob/user)
diff --git a/code/modules/paperwork/journal.dm b/code/modules/paperwork/journal.dm
index ad4daba8184..667b7a82f01 100644
--- a/code/modules/paperwork/journal.dm
+++ b/code/modules/paperwork/journal.dm
@@ -26,16 +26,16 @@
return ..()
/obj/item/journal/update_icon()
- cut_overlays()
+ ClearOverlays()
if(!open)
icon_state = "[initial(icon_state)]_closed"
- add_overlay(overlay_image(icon, "closed", flags=RESET_COLOR))
+ AddOverlays(overlay_image(icon, "closed", flags=RESET_COLOR))
else if(LAZYLEN(indices))
icon_state = initial(icon_state)
- add_overlay(overlay_image(icon, "writing", flags=RESET_COLOR))
+ AddOverlays(overlay_image(icon, "writing", flags=RESET_COLOR))
else
icon_state = initial(icon_state)
- add_overlay(overlay_image(icon, "blank", flags=RESET_COLOR))
+ AddOverlays(overlay_image(icon, "blank", flags=RESET_COLOR))
if(closed_desc)
desc = open ? initial(desc) + closed_desc : initial(desc)
diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm
index 8e8a0bd50ed..1dbf7a5d0b9 100644
--- a/code/modules/paperwork/paper.dm
+++ b/code/modules/paperwork/paper.dm
@@ -178,7 +178,7 @@
throw_range = 8
old_name = name
name = "paper plane"
- cut_overlays() //Removes stamp icons
+ ClearOverlays() //Removes stamp icons
return
if (user.a_intent == I_DISARM && icon_state != "scrap" && can_fold)
@@ -191,7 +191,7 @@
icon_state = "paper_swan"
old_name = name
name = "origami swan"
- cut_overlays() //Removes stamp icons
+ ClearOverlays() //Removes stamp icons
return
if (user.a_intent == I_HELP && old_name && (icon_state == "paper_plane" || icon_state == "paper_swan"))
@@ -285,7 +285,7 @@
stamps = null
free_space = MAX_PAPER_MESSAGE_LEN
stamped = list()
- cut_overlays()
+ ClearOverlays()
updateinfolinks()
update_icon()
@@ -420,7 +420,7 @@
var/image/S = image('icons/obj/bureaucracy.dmi', ico[i])
S.pixel_x = offset_x[i]
S.pixel_y = offset_y[i]
- add_overlay(S)
+ AddOverlays(S)
/**
* Takes the paper's info variable, a user, and parses language markers that exist
* in it. It returns an HTML string which represents the languages properly.
@@ -677,7 +677,7 @@
if(!stamped)
stamped = new
stamped += attacking_item.type
- add_overlay(stampoverlay)
+ AddOverlays(stampoverlay)
playsound(src, 'sound/bureaucracy/stamp.ogg', 50, 1)
to_chat(user, SPAN_NOTICE("You stamp the paper with \the [attacking_item]."))
diff --git a/code/modules/paperwork/paper_bundle.dm b/code/modules/paperwork/paper_bundle.dm
index 93db85fde04..da7df444942 100644
--- a/code/modules/paperwork/paper_bundle.dm
+++ b/code/modules/paperwork/paper_bundle.dm
@@ -263,7 +263,7 @@
/obj/item/paper_bundle/update_icon()
var/obj/item/paper/P = pages[1]
icon_state = P.icon_state
- copy_overlays(P, TRUE)
+ CopyOverlays(P, TRUE)
underlays = 0
var/i = 0
var/photo
@@ -279,11 +279,11 @@
else if(istype(O, /obj/item/photo))
var/obj/item/photo/Ph = O
photo = 1
- add_overlay(Ph.tiny)
+ AddOverlays(Ph.tiny)
if(i>1)
desc = "[i] papers clipped to each other."
else
desc = "A single sheet of paper."
if(photo)
desc += "\nThere is a photo attached to it."
- add_overlay("clip")
+ AddOverlays("clip")
diff --git a/code/modules/paperwork/papershredder.dm b/code/modules/paperwork/papershredder.dm
index abb827f4f31..7562ce283ab 100644
--- a/code/modules/paperwork/papershredder.dm
+++ b/code/modules/paperwork/papershredder.dm
@@ -116,18 +116,18 @@
return new /obj/item/shreddedp(get_turf(src))
/obj/machinery/papershredder/update_icon() //makes it show how full the papershredder is while covering up the animation. Seemsgood - Wezzy
- cut_overlays()
+ ClearOverlays()
switch(paperamount)
if(2 to 3)
- add_overlay("papershredder1")
+ AddOverlays("papershredder1")
if(4 to 5)
- add_overlay("papershredder2")
+ AddOverlays("papershredder2")
if(6 to 7)
- add_overlay("papershredder3")
+ AddOverlays("papershredder3")
if(8 to 9)
- add_overlay("papershredder4")
+ AddOverlays("papershredder4")
if(10)
- add_overlay("papershredder5")
+ AddOverlays("papershredder5")
/obj/item/shreddedp/attackby(obj/item/attacking_item, mob/user)
if(istype(attacking_item, /obj/item/flame/lighter))
diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm
index 31de973df4b..8fc0cc22a48 100644
--- a/code/modules/paperwork/photocopier.dm
+++ b/code/modules/paperwork/photocopier.dm
@@ -205,7 +205,7 @@
img = image('icons/obj/bureaucracy.dmi', "paper_stamp-dots")
img.pixel_x = copy.offset_x[j]
img.pixel_y = copy.offset_y[j]
- c.add_overlay(img)
+ c.AddOverlays(img)
if(!toner)
target.visible_message(SPAN_NOTICE("A red light on \the [target] flashes, indicating that it is out of toner."))
diff --git a/code/modules/power/antimatter/shielding.dm b/code/modules/power/antimatter/shielding.dm
index 1f9abe38f18..2a52692d995 100644
--- a/code/modules/power/antimatter/shielding.dm
+++ b/code/modules/power/antimatter/shielding.dm
@@ -125,7 +125,7 @@
check_stability()
/obj/machinery/am_shielding/update_icon()
- cut_overlays()
+ ClearOverlays()
coredirs = 0
dirs = 0
for(var/direction in GLOB.alldirs)
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index 163643f8857..e4f79d42f73 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -628,18 +628,18 @@
if(!(update_state & UPDATE_ALLGOOD))
if(overlays.len)
- cut_overlays()
+ ClearOverlays()
return
if(update & 2)
- cut_overlays()
+ ClearOverlays()
if(!(stat & (BROKEN|MAINT)) && update_state & UPDATE_ALLGOOD)
- add_overlay(status_overlays_lock[locked+coverlocked+1])
- add_overlay(status_overlays_charging[charging+1])
+ AddOverlays(status_overlays_lock[locked+coverlocked+1])
+ AddOverlays(status_overlays_charging[charging+1])
if(operating)
- add_overlay(status_overlays_equipment[equipment+1])
- add_overlay(status_overlays_lighting[lighting+1])
- add_overlay(status_overlays_environ[environ+1])
+ AddOverlays(status_overlays_equipment[equipment+1])
+ AddOverlays(status_overlays_lighting[lighting+1])
+ AddOverlays(status_overlays_environ[environ+1])
if(update & 3)
if(update_state & UPDATE_BLUESCREEN)
diff --git a/code/modules/power/batteryrack.dm b/code/modules/power/batteryrack.dm
index b54293c09e5..f254bbaeb36 100644
--- a/code/modules/power/batteryrack.dm
+++ b/code/modules/power/batteryrack.dm
@@ -88,8 +88,8 @@
/obj/machinery/power/smes/batteryrack/makeshift/update_icon()
.=..()
if(overcharge_percent > 100)
- cut_overlays()
- add_overlay("smes-crit")
+ ClearOverlays()
+ AddOverlays("smes-crit")
//This mess of if-elses and magic numbers handles what happens if the engies don't pay attention and let it eat too much charge
//What happens depends on how much capacity has the ghetto smes and how much it is overcharged.
diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm
index 35302fd6b77..0fb4cb1d51c 100644
--- a/code/modules/power/cable.dm
+++ b/code/modules/power/cable.dm
@@ -625,8 +625,8 @@ By design, d1 is the smallest direction and d2 is the highest
item_state = "[initial(icon_state)]"
name += " coil"
update_held_icon()
- cut_overlays()
- add_overlay(overlay_image(icon, "[icon_state]_end", flags=RESET_COLOR))
+ ClearOverlays()
+ AddOverlays(overlay_image(icon, "[icon_state]_end", flags=RESET_COLOR))
check_maptext(SMALL_FONTS(7, get_amount()))
/obj/item/stack/cable_coil/attackby(obj/item/attacking_item, mob/user)
@@ -1058,13 +1058,13 @@ By design, d1 is the smallest direction and d2 is the highest
/obj/structure/noose/post_buckle(mob/living/M)
if(M == buckled)
layer = MOB_LAYER
- add_overlay(over)
+ AddOverlays(over)
START_PROCESSING(SSprocessing, src)
M.pixel_y = initial(M.pixel_y) + 8 //rise them up a bit
M.dir = SOUTH
else
reset_plane_and_layer()
- cut_overlay(over)
+ CutOverlays(over)
STOP_PROCESSING(SSprocessing, src)
pixel_x = initial(pixel_x)
M.pixel_x = initial(M.pixel_x)
diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm
index 06498fbd6b0..0eda8a35361 100644
--- a/code/modules/power/cell.dm
+++ b/code/modules/power/cell.dm
@@ -28,14 +28,14 @@
return use(cell_amt) / CELLRATE
/obj/item/cell/update_icon()
- cut_overlays()
+ ClearOverlays()
switch(percent())
if(95 to 100)
- add_overlay("cell-o2")
+ AddOverlays("cell-o2")
if(25 to 94)
- add_overlay("cell-o1")
+ AddOverlays("cell-o1")
if(0.05 to 25)
- add_overlay("cell-o0")
+ AddOverlays("cell-o0")
if(0 to 0.05)
return
diff --git a/code/modules/power/generator.dm b/code/modules/power/generator.dm
index be2e39b0f2f..de35aafe73c 100644
--- a/code/modules/power/generator.dm
+++ b/code/modules/power/generator.dm
@@ -77,7 +77,7 @@
/obj/machinery/power/generator/update_icon()
icon_state = anchored ? "teg-assembled" : "teg-unassembled"
- cut_overlays()
+ ClearOverlays()
if (circ1)
circ1.temperature_overlay = null
if (circ2)
@@ -86,7 +86,7 @@
return TRUE
else
if (lastgenlev != 0)
- add_overlay("teg-op[lastgenlev]")
+ AddOverlays("teg-op[lastgenlev]")
if (circ1 && circ2)
var/extreme = (lastgenlev > 9) ? "ex" : ""
if (circ1.last_temperature < circ2.last_temperature)
diff --git a/code/modules/power/gravitygenerator.dm b/code/modules/power/gravitygenerator.dm
index e4551fd461b..d108179b67c 100644
--- a/code/modules/power/gravitygenerator.dm
+++ b/code/modules/power/gravitygenerator.dm
@@ -85,7 +85,7 @@
/obj/machinery/gravity_generator/main/station/Initialize()
. = ..()
setup_parts()
- middle.add_overlay("activated")
+ middle.AddOverlays("activated")
update_list(TRUE)
addtimer(CALLBACK(src, PROC_REF(round_startset)), 100)
@@ -180,7 +180,7 @@
for(var/obj/machinery/gravity_generator/M in parts)
if(!(M.stat & BROKEN))
M.set_broken()
- middle.cut_overlays()
+ middle.ClearOverlays()
charge_count = 0
breaker = 0
set_power()
@@ -305,7 +305,7 @@
pulse_radiation(100)
set_state(0)
if(middle)
- middle.cut_overlays()
+ middle.ClearOverlays()
if(prob(1)) //It will spawn a small one and eat the generator. Won't cause any other issues considering it's a 1x1 and will go away on it's own.
new /obj/singularity(src.loc)
if(prob(33)) //Releasing all that power at once is dangerous.
@@ -411,9 +411,9 @@
if(overlay_state != current_overlay)
if(middle)
- middle.cut_overlays()
+ middle.ClearOverlays()
if(overlay_state)
- middle.add_overlay(overlay_state)
+ middle.AddOverlays(overlay_state)
current_overlay = overlay_state
/obj/machinery/gravity_generator/main/proc/pulse_radiation(var/amount = 20)
diff --git a/code/modules/power/lights/bulbs.dm b/code/modules/power/lights/bulbs.dm
index f36514c5096..f2262322aa4 100644
--- a/code/modules/power/lights/bulbs.dm
+++ b/code/modules/power/lights/bulbs.dm
@@ -36,25 +36,25 @@
// update the icon state and description of the light
/obj/item/light/proc/update()
- cut_overlays()
+ ClearOverlays()
switch(status)
if(LIGHT_OK)
icon_state = "[lighttype]_attachment"
var/image/I = image(icon, "[lighttype]")
I.color = brightness_color
- add_overlay(I)
+ AddOverlays(I)
desc = "A replacement [name]."
if(LIGHT_BURNED)
icon_state = "[lighttype]_attachment"
var/image/I = image(icon, "[lighttype]_burned")
I.color = brightness_color
- add_overlay(I)
+ AddOverlays(I)
desc = "A burnt-out [name]."
if(LIGHT_BROKEN)
icon_state = "[lighttype]_attachment_broken"
var/image/I = image(icon, "[lighttype]_broken")
I.color = brightness_color
- add_overlay(I)
+ AddOverlays(I)
desc = "A broken [name]."
// attack bulb/tube with object
diff --git a/code/modules/power/lights/fixtures.dm b/code/modules/power/lights/fixtures.dm
index 12fadf89b21..40f9d8e19f7 100644
--- a/code/modules/power/lights/fixtures.dm
+++ b/code/modules/power/lights/fixtures.dm
@@ -230,7 +230,7 @@
pixel_y = pixel_y
/obj/machinery/light/update_icon()
- cut_overlays()
+ ClearOverlays()
if ((status == LIGHT_EMPTY) || !fitting_has_empty_icon)
icon_state = "[base_state]_empty"
else
@@ -252,17 +252,17 @@
I.plane = EFFECTS_ABOVE_LIGHTING_PLANE
else
I.plane = plane
- add_overlay(I)
+ AddOverlays(I)
else
- add_overlay(LIGHT_FIXTURE_CACHE(icon, "[base_state]_off", target_color))
+ AddOverlays(LIGHT_FIXTURE_CACHE(icon, "[base_state]_off", target_color))
if(LIGHT_BURNED)
- add_overlay(LIGHT_FIXTURE_CACHE(icon, "[base_state]_burned", brightness_color))
+ AddOverlays(LIGHT_FIXTURE_CACHE(icon, "[base_state]_burned", brightness_color))
stat |= BROKEN
stat &= ~MAINT
if(LIGHT_BROKEN)
- add_overlay(LIGHT_FIXTURE_CACHE(icon, "[base_state]_broken", brightness_color))
+ AddOverlays(LIGHT_FIXTURE_CACHE(icon, "[base_state]_broken", brightness_color))
stat |= BROKEN
stat &= ~MAINT
diff --git a/code/modules/power/radial_floodlight.dm b/code/modules/power/radial_floodlight.dm
index b2250259ea9..81c89877c91 100644
--- a/code/modules/power/radial_floodlight.dm
+++ b/code/modules/power/radial_floodlight.dm
@@ -60,8 +60,8 @@
update_icon()
/obj/machinery/power/radial_floodlight/update_icon()
- cut_overlays()
+ ClearOverlays()
if(on)
var/image/light = image(icon, src, "[icon_state]-light")
light.plane = EFFECTS_ABOVE_LIGHTING_PLANE
- add_overlay(light)
+ AddOverlays(light)
diff --git a/code/modules/power/singularity/field_generator.dm b/code/modules/power/singularity/field_generator.dm
index 2ec1e850668..0d01ef23d19 100644
--- a/code/modules/power/singularity/field_generator.dm
+++ b/code/modules/power/singularity/field_generator.dm
@@ -35,26 +35,26 @@ field_generator power level display
/obj/machinery/field_generator/update_icon()
- cut_overlays()
+ ClearOverlays()
if(!active)
if(warming_up)
- add_overlay("+a[warming_up]")
+ AddOverlays("+a[warming_up]")
if(fields.len)
- add_overlay("+on")
+ AddOverlays("+on")
// Power level indicator
// Scale % power to % num_power_levels and truncate value
var/level = round(num_power_levels * power / field_generator_max_power)
// Clamp between 0 and num_power_levels for out of range power values
level = between(0, level, num_power_levels)
if(level)
- add_overlay("+p[level]")
+ AddOverlays("+p[level]")
if(anchored)
- add_overlay("+bolts")
+ AddOverlays("+bolts")
if(state == 2)
- add_overlay("+welding")
+ AddOverlays("+welding")
var/image/lights_image = image(icon, null, "+lights")
lights_image.plane = EFFECTS_ABOVE_LIGHTING_PLANE
- add_overlay(lights_image)
+ AddOverlays(lights_image)
/obj/machinery/field_generator/process()
if(Varedit_start == 1)
diff --git a/code/modules/power/singularity/generator.dm b/code/modules/power/singularity/generator.dm
index 29dfea4ec06..c870baafed2 100644
--- a/code/modules/power/singularity/generator.dm
+++ b/code/modules/power/singularity/generator.dm
@@ -11,12 +11,12 @@
var/creation_type = /obj/singularity
/obj/machinery/the_singularitygen/update_icon()
- cut_overlays()
+ ClearOverlays()
if(anchored)
- add_overlay("[icon_state]+bolts")
+ AddOverlays("[icon_state]+bolts")
var/image/lights_image = image(icon, null, "[icon_state]+lights")
lights_image.plane = EFFECTS_ABOVE_LIGHTING_PLANE
- add_overlay(lights_image)
+ AddOverlays(lights_image)
/obj/machinery/the_singularitygen/process()
var/turf/T = get_turf(src)
diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm
index b8c133701f9..f65ef08b5ec 100644
--- a/code/modules/power/singularity/singularity.dm
+++ b/code/modules/power/singularity/singularity.dm
@@ -479,15 +479,15 @@
move_self = 0
switch (current_size)
if(1)
- add_overlay(image('icons/obj/singularity.dmi',"chain_s1"))
+ AddOverlays(image('icons/obj/singularity.dmi',"chain_s1"))
if(3)
- add_overlay(image('icons/effects/96x96.dmi',"chain_s3"))
+ AddOverlays(image('icons/effects/96x96.dmi',"chain_s3"))
if(5)
- add_overlay(image('icons/effects/160x160.dmi',"chain_s5"))
+ AddOverlays(image('icons/effects/160x160.dmi',"chain_s5"))
if(7)
- add_overlay(image('icons/effects/224x224.dmi',"chain_s7"))
+ AddOverlays(image('icons/effects/224x224.dmi',"chain_s7"))
if(9)
- add_overlay(image('icons/effects/288x288.dmi',"chain_s9"))
+ AddOverlays(image('icons/effects/288x288.dmi',"chain_s9"))
/obj/singularity/proc/on_release()
chained = 0
diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm
index 20955e9c93c..f5a5e07221a 100644
--- a/code/modules/power/smes.dm
+++ b/code/modules/power/smes.dm
@@ -162,27 +162,27 @@
return 0
/obj/machinery/power/smes/update_icon()
- cut_overlays()
+ ClearOverlays()
if(!can_function())
return
if(inputting == 2)
- add_overlay("[icon_state]-oc2")
+ AddOverlays("[icon_state]-oc2")
else if (inputting == 1)
- add_overlay("[icon_state]-oc1")
+ AddOverlays("[icon_state]-oc1")
else if (input_attempt)
- add_overlay("[icon_state]-oc0")
+ AddOverlays("[icon_state]-oc0")
var/clevel = chargedisplay()
if(clevel)
- add_overlay("[icon_state]-og[clevel]")
+ AddOverlays("[icon_state]-og[clevel]")
if(outputting == 2)
- add_overlay("[icon_state]-op2")
+ AddOverlays("[icon_state]-op2")
else if (outputting == 1)
- add_overlay("[icon_state]-op1")
+ AddOverlays("[icon_state]-op1")
else
- add_overlay("[icon_state]-op0")
+ AddOverlays("[icon_state]-op0")
/obj/machinery/power/smes/proc/chargedisplay()
return round(5.5*charge/(capacity ? capacity : 5e6))
diff --git a/code/modules/power/smes_construction.dm b/code/modules/power/smes_construction.dm
index 96daaf7e496..1ff7d08be13 100644
--- a/code/modules/power/smes_construction.dm
+++ b/code/modules/power/smes_construction.dm
@@ -368,9 +368,9 @@
// Description: Allows us to use special icon overlay for critical SMESs
/obj/machinery/power/smes/buildable/update_icon()
if(failing)
- cut_overlays()
- add_overlay("smes-crit")
- add_overlay("smes-crit_screen")
+ ClearOverlays()
+ AddOverlays("smes-crit")
+ AddOverlays("smes-crit_screen")
else
..()
diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm
index aaa445c331c..d1a2a525b2a 100644
--- a/code/modules/power/solar.dm
+++ b/code/modules/power/solar.dm
@@ -91,11 +91,11 @@
/obj/machinery/power/solar/update_icon()
..()
- cut_overlays()
+ ClearOverlays()
if(stat & BROKEN)
- add_overlay("solar_panel-b")
+ AddOverlays("solar_panel-b")
else
- add_overlay("solar_panel")
+ AddOverlays("solar_panel")
set_angle(adir)
return
@@ -526,7 +526,7 @@
set_panels(cdir)
/obj/machinery/power/solar_control/update_icon()
- cut_overlays()
+ ClearOverlays()
if(stat & NOPOWER)
set_light(0)
return
@@ -538,10 +538,10 @@
if(stat & BROKEN)
icon_state = "[initial(icon_state)]-broken"
holographic_overlay(src, src.icon, "broken")
- add_overlay("red_key")
+ AddOverlays("red_key")
else
holographic_overlay(src, src.icon, "solar")
- add_overlay("yellow_key")
+ AddOverlays("yellow_key")
//
// MISC
diff --git a/code/modules/power/tesla/coil.dm b/code/modules/power/tesla/coil.dm
index eb79c514744..853c85b5f37 100644
--- a/code/modules/power/tesla/coil.dm
+++ b/code/modules/power/tesla/coil.dm
@@ -14,12 +14,12 @@
)
/obj/machinery/power/tesla_coil/update_icon()
- cut_overlays()
+ ClearOverlays()
if(anchored)
- add_overlay("[icon_state]+bolts")
+ AddOverlays("[icon_state]+bolts")
var/image/lights_image = image(icon, null, "[icon_state]+lights")
lights_image.plane = EFFECTS_ABOVE_LIGHTING_PLANE
- add_overlay(lights_image)
+ AddOverlays(lights_image)
/obj/machinery/power/tesla_coil/RefreshParts()
var/power_multiplier = 0
@@ -75,12 +75,12 @@
)
/obj/machinery/power/grounding_rod/update_icon()
- cut_overlays()
+ ClearOverlays()
if(anchored)
- add_overlay("[icon_state]+bolts")
+ AddOverlays("[icon_state]+bolts")
var/image/lights_image = image(icon, null, "[icon_state]+lights")
lights_image.plane = EFFECTS_ABOVE_LIGHTING_PLANE
- add_overlay(lights_image)
+ AddOverlays(lights_image)
/obj/machinery/power/grounding_rod/attackby(obj/item/attacking_item, mob/user)
if(default_deconstruction_screwdriver(user, attacking_item))
diff --git a/code/modules/projectiles/ammunition/ammo_pile.dm b/code/modules/projectiles/ammunition/ammo_pile.dm
index 4cf89bdd849..51ab72218d5 100644
--- a/code/modules/projectiles/ammunition/ammo_pile.dm
+++ b/code/modules/projectiles/ammunition/ammo_pile.dm
@@ -149,13 +149,13 @@
ammo_picture.pixel_x = rand(-6, 6)
ammo_picture.pixel_y = rand(-6, 6)
ammo_overlay[bullet] = ammo_picture
- add_overlay(ammo_overlay[bullet])
+ AddOverlays(ammo_overlay[bullet])
/obj/item/ammo_pile/proc/remove_ammo(var/atom/target)
var/obj/bullet = ammo[1]
if(target)
bullet.forceMove(target)
- cut_overlay(ammo_overlay[bullet])
+ CutOverlays(ammo_overlay[bullet])
ammo -= bullet
check_ammo()
diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm
index d420552cd45..fbae2803a32 100644
--- a/code/modules/projectiles/gun.dm
+++ b/code/modules/projectiles/gun.dm
@@ -198,11 +198,11 @@
underlays += I
if(has_safety)
- cut_overlay(safety_overlay, TRUE)
+ CutOverlays(safety_overlay, ATOM_ICON_CACHE_PROTECTED)
safety_overlay = null
if(!isturf(loc)) // In a mob, holster or bag or something
safety_overlay = image(gun_gui_icons,"[safety()]")
- add_overlay(safety_overlay, TRUE)
+ AddOverlays(safety_overlay, ATOM_ICON_CACHE_PROTECTED)
if(is_wieldable)
if(wielded)
diff --git a/code/modules/projectiles/guns/bang.dm b/code/modules/projectiles/guns/bang.dm
index 5126ed679be..ad2a3733f98 100644
--- a/code/modules/projectiles/guns/bang.dm
+++ b/code/modules/projectiles/guns/bang.dm
@@ -39,12 +39,12 @@
else
src.visible_message("A flag pops out of the barrel of \the [src.name]'s barrel!")
playsound(src, fire_sound, 20, 1)
- src.add_overlay(bang_flag)
+ src.AddOverlays(bang_flag)
fired_gun = 1
/obj/item/gun/bang/attack_hand(mob/user as mob)
if(user.get_inactive_hand() == src && fired_gun)
- src.cut_overlay(bang_flag)
+ src.CutOverlays(bang_flag)
user.visible_message("\The [user] pushes the flag back into the barrel of \the [src.name].", "You push the flag back into the barrel of \the [src.name].")
playsound(src.loc, 'sound/weapons/TargetOff.ogg', 50,1)
fired_gun = 0
diff --git a/code/modules/projectiles/guns/energy/nuclear.dm b/code/modules/projectiles/guns/energy/nuclear.dm
index 9f65833839f..e08aa8794ac 100644
--- a/code/modules/projectiles/guns/energy/nuclear.dm
+++ b/code/modules/projectiles/guns/energy/nuclear.dm
@@ -93,33 +93,33 @@
/obj/item/gun/energy/gun/nuclear/proc/update_charge()
if (crit_fail)
- add_overlay("nucgun-whee")
+ AddOverlays("nucgun-whee")
return
var/ratio = max((power_supply?.charge / power_supply?.maxcharge), 0)
ratio = round(ratio, 0.25) * 100
- add_overlay("nucgun-[ratio]")
+ AddOverlays("nucgun-[ratio]")
/obj/item/gun/energy/gun/nuclear/proc/update_reactor()
if(crit_fail)
- add_overlay("nucgun-crit")
+ AddOverlays("nucgun-crit")
return
if(lightfail)
- add_overlay("nucgun-medium")
+ AddOverlays("nucgun-medium")
else if ((power_supply?.charge/power_supply?.maxcharge) <= 0.5)
- add_overlay("nucgun-light")
+ AddOverlays("nucgun-light")
else
- add_overlay("nucgun-clean")
+ AddOverlays("nucgun-clean")
/obj/item/gun/energy/gun/nuclear/proc/update_mode()
var/datum/firemode/current_mode = firemodes[sel_mode]
switch(current_mode.name)
if("stun")
- add_overlay("nucgun-stun")
+ AddOverlays("nucgun-stun")
if("lethal")
- add_overlay("nucgun-kill")
+ AddOverlays("nucgun-kill")
/obj/item/gun/energy/gun/nuclear/update_icon()
- cut_overlays()
+ ClearOverlays()
update_charge()
update_reactor()
update_mode()
diff --git a/code/modules/projectiles/guns/projectile/rifle.dm b/code/modules/projectiles/guns/projectile/rifle.dm
index ade044e8907..c44d40a032d 100644
--- a/code/modules/projectiles/guns/projectile/rifle.dm
+++ b/code/modules/projectiles/guns/projectile/rifle.dm
@@ -248,13 +248,13 @@
if(open_bolt && has_clip)
if(has_clip.stored_ammo.len > 0)
load_ammo(has_clip, user)
- src.cut_overlays()
+ src.ClearOverlays()
if(!has_clip.stored_ammo.len)
- add_overlay("springfield-clip-empty")
+ AddOverlays("springfield-clip-empty")
else if(has_clip.stored_ammo.len <= 3)
- add_overlay("springfield-clip-half")
+ AddOverlays("springfield-clip-half")
else
- add_overlay("springfield-clip-full")
+ AddOverlays("springfield-clip-full")
else
to_chat(user, "There is no ammo in \the [has_clip.name]!")
else if(!open_bolt)
@@ -278,7 +278,7 @@
if(has_clip)
has_clip.forceMove(get_turf(src))
has_clip = null
- cut_overlays()
+ ClearOverlays()
if(chambered)//We have a shell in the chamber
@@ -302,11 +302,11 @@
has_clip = attacking_item
to_chat(user, "You load the clip into \the [src].")
if(!has_clip.stored_ammo.len)
- add_overlay("springfield-clip-empty")
+ AddOverlays("springfield-clip-empty")
else if(has_clip.stored_ammo.len <= 3)
- add_overlay("springfield-clip-half")
+ AddOverlays("springfield-clip-half")
else
- add_overlay("springfield-clip-full")
+ AddOverlays("springfield-clip-full")
else
to_chat(user, "There's already a clip in \the [src].")
diff --git a/code/modules/psionics/abilities/throw.dm b/code/modules/psionics/abilities/throw.dm
index 2ebfcaa6e52..ea4a434b245 100644
--- a/code/modules/psionics/abilities/throw.dm
+++ b/code/modules/psionics/abilities/throw.dm
@@ -24,7 +24,7 @@
owner.drop_item(attacking_item)
attacking_item.forceMove(src)
to_chat(user, SPAN_NOTICE("You imbue [attacking_item] with psionic energy!"))
- add_overlay("controlled")
+ AddOverlays("controlled")
item_to_throw = attacking_item
/obj/item/spell/projectile/throw_item/Destroy()
@@ -38,7 +38,7 @@
if(item_to_throw)
owner.put_in_hands(item_to_throw)
item_to_throw = null
- cut_overlays()
+ ClearOverlays()
/obj/item/spell/projectile/throw_item/on_ranged_cast(atom/hit_atom, mob/living/user, atom/pb_target)
if(!item_to_throw)
@@ -46,7 +46,7 @@
return
. = ..()
item_to_throw = null
- cut_overlays()
+ ClearOverlays()
/obj/item/spell/projectile/throw_item/make_projectile(obj/item/projectile/projectile_type, mob/living/user)
var/obj/item/projectile/psionic_throw/P = ..()
diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Other.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Other.dm
index b0764f016b5..420ee8a6357 100644
--- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Other.dm
+++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Other.dm
@@ -286,7 +286,7 @@
if(istype(T, /turf/simulated/wall))
var/turf/simulated/wall/W = T
W.thermite = 1
- W.add_overlay(image('icons/effects/effects.dmi',icon_state = "#673910"))
+ W.AddOverlays(image('icons/effects/effects.dmi',icon_state = "#673910"))
remove_self(5, holder)
return
diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm
index 9debeb92908..6ae74a94b95 100644
--- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm
+++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm
@@ -637,7 +637,7 @@
M.transforming = 1
M.canmove = 0
M.icon = null
- M.cut_overlays()
+ M.ClearOverlays()
M.set_invisibility(101)
for(var/obj/item/W in M)
if(istype(W, /obj/item/implant)) //TODO: Carn. give implants a dropped() or something
diff --git a/code/modules/reagents/dispenser/cartridge.dm b/code/modules/reagents/dispenser/cartridge.dm
index a32047a0a35..c9634d2fd1d 100644
--- a/code/modules/reagents/dispenser/cartridge.dm
+++ b/code/modules/reagents/dispenser/cartridge.dm
@@ -32,17 +32,17 @@
setLabel(R.name)
/obj/item/reagent_containers/chem_disp_cartridge/update_icon()
- cut_overlays()
+ ClearOverlays()
if(reagents?.total_volume)
var/mutable_appearance/filling = mutable_appearance(icon, "[icon_state]-[get_filling_state()]")
filling.color = reagents.get_color()
- add_overlay(filling)
+ AddOverlays(filling)
if(!is_open_container())
var/lid_icon = "lid_[icon_state]"
var/mutable_appearance/lid = mutable_appearance(icon, lid_icon)
- add_overlay(lid)
+ AddOverlays(lid)
/obj/item/reagent_containers/chem_disp_cartridge/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
diff --git a/code/modules/reagents/reagent_containers/blood_pack.dm b/code/modules/reagents/reagent_containers/blood_pack.dm
index acad3bd2600..f3029ff5549 100644
--- a/code/modules/reagents/reagent_containers/blood_pack.dm
+++ b/code/modules/reagents/reagent_containers/blood_pack.dm
@@ -55,16 +55,16 @@
w_class = ITEMSIZE_SMALL
/obj/item/reagent_containers/blood/update_icon()
- cut_overlays()
+ ClearOverlays()
if(blood_type)
- add_overlay(image('icons/obj/bloodpack.dmi', "[blood_type]"))
+ AddOverlays(image('icons/obj/bloodpack.dmi', "[blood_type]"))
if(attached_mob)
- add_overlay(image('icons/obj/bloodpack.dmi', "dongle"))
+ AddOverlays(image('icons/obj/bloodpack.dmi', "dongle"))
if(reagents && reagents.total_volume)
- add_overlay(overlay_image('icons/obj/bloodpack.dmi', "[icon_state][get_filling_state()]", color = reagents.get_color()))
+ AddOverlays(overlay_image('icons/obj/bloodpack.dmi', "[icon_state][get_filling_state()]", color = reagents.get_color()))
/obj/item/reagent_containers/blood/attack(mob/living/carbon/human/M as mob, mob/living/carbon/human/user as mob, var/target_zone)
if(user == M && (MODE_VAMPIRE in user.mind?.antag_datums))
diff --git a/code/modules/reagents/reagent_containers/borghydro.dm b/code/modules/reagents/reagent_containers/borghydro.dm
index 1ee22ca30e8..4c023c550ec 100644
--- a/code/modules/reagents/reagent_containers/borghydro.dm
+++ b/code/modules/reagents/reagent_containers/borghydro.dm
@@ -41,18 +41,18 @@
START_PROCESSING(SSprocessing, src)
/obj/item/reagent_containers/hypospray/borghypo/update_icon()
- cut_overlays()
+ ClearOverlays()
var/rid = reagent_ids[mode]
var/singleton/reagent/R = GET_SINGLETON(rid)
if(reagent_volumes[rid])
filling = image(icon, src, "[initial(icon_state)][reagent_volumes[rid]]")
filling.color = R.get_color()
- add_overlay(filling)
+ AddOverlays(filling)
var/mutable_appearance/reagent_bar = mutable_appearance(icon, "[initial(icon_state)]_reagents")
reagent_bar.color = R.get_color()
- add_overlay(reagent_bar)
+ AddOverlays(reagent_bar)
/obj/item/reagent_containers/hypospray/borghypo/Destroy()
STOP_PROCESSING(SSprocessing, src)
@@ -147,7 +147,7 @@
/obj/item/reagent_containers/hypospray/borghypo/service/update_icon()
underlays.Cut()
- cut_overlays()
+ ClearOverlays()
var/rid = reagent_ids[mode]
var/singleton/reagent/R = GET_SINGLETON(rid)
@@ -163,7 +163,7 @@
if(80 to 90) filling.icon_state = "[icon_state]-80"
if(91 to INFINITY) filling.icon_state = "[icon_state]-100"
filling.color = R.get_color()
- add_overlay(filling)
+ AddOverlays(filling)
/obj/item/reagent_containers/hypospray/borghypo/service/attack(var/mob/M, var/mob/user)
return
diff --git a/code/modules/reagents/reagent_containers/dropper.dm b/code/modules/reagents/reagent_containers/dropper.dm
index 8302512a905..8d84c3234b8 100644
--- a/code/modules/reagents/reagent_containers/dropper.dm
+++ b/code/modules/reagents/reagent_containers/dropper.dm
@@ -93,10 +93,10 @@
update_icon()
/obj/item/reagent_containers/dropper/update_icon()
- cut_overlays()
+ ClearOverlays()
if(reagents.total_volume)
worn_overlay = "filling"
- add_overlay(overlay_image(icon, "dropper-[get_filling_state()]", color = reagents.get_color()))
+ AddOverlays(overlay_image(icon, "dropper-[get_filling_state()]", color = reagents.get_color()))
worn_overlay_color = reagents.get_color() // handles inhands
else
worn_overlay = null
diff --git a/code/modules/reagents/reagent_containers/food/cans.dm b/code/modules/reagents/reagent_containers/food/cans.dm
index af49e4ef3f2..97afff296d6 100644
--- a/code/modules/reagents/reagent_containers/food/cans.dm
+++ b/code/modules/reagents/reagent_containers/food/cans.dm
@@ -40,7 +40,7 @@
. = ..()
/obj/item/reagent_containers/food/drinks/cans/update_icon()
- cut_overlays()
+ ClearOverlays()
if(fuselength)
var/image/fuseoverlay = image('icons/obj/fuses.dmi', icon_state = "fuse_short")
switch(fuselength)
@@ -50,10 +50,10 @@
fuseoverlay.icon_state = "lit_fuse"
fuseoverlay.pixel_x = can_size_overrides["x"]
fuseoverlay.pixel_y = can_size_overrides["y"]
- add_overlay(fuseoverlay)
+ AddOverlays(fuseoverlay)
if(bombcasing > BOMBCASING_EMPTY)
var/image/casingoverlay = image('icons/obj/fuses.dmi', icon_state = "pipe_bomb")
- add_overlay(casingoverlay)
+ AddOverlays(casingoverlay)
/obj/item/reagent_containers/food/drinks/cans/attackby(obj/item/attacking_item, mob/user)
if(istype(attacking_item, /obj/item/grenade/chem_grenade/large))
diff --git a/code/modules/reagents/reagent_containers/food/drinks.dm b/code/modules/reagents/reagent_containers/food/drinks.dm
index a6d9b4462a4..a821d23e58d 100644
--- a/code/modules/reagents/reagent_containers/food/drinks.dm
+++ b/code/modules/reagents/reagent_containers/food/drinks.dm
@@ -242,12 +242,12 @@ If you add a drink with an empty icon sprite, ensure it is in the same folder, e
reagents_to_add = list(/singleton/reagent/water = 30)
/obj/item/reagent_containers/food/drinks/waterbottle/update_icon()
- cut_overlays()
+ ClearOverlays()
if(reagents?.total_volume)
var/mutable_appearance/filling = mutable_appearance(icon, "[icon_state]-[get_filling_state()]")
filling.color = reagents.get_color()
- add_overlay(filling)
+ AddOverlays(filling)
//heehoo bottle flipping
/obj/item/reagent_containers/food/drinks/waterbottle/throw_impact()
@@ -333,7 +333,7 @@ If you add a drink with an empty icon sprite, ensure it is in the same folder, e
return ..()
/obj/item/reagent_containers/food/drinks/shaker/update_icon()
- cut_overlays()
+ ClearOverlays()
if(top)
icon_state = "shakertop"
item_state = "shakertop"
@@ -343,9 +343,9 @@ If you add a drink with an empty icon sprite, ensure it is in the same folder, e
if(reagents.total_volume)
var/mutable_appearance/filling = mutable_appearance('icons/obj/shaker.dmi', "[icon_state]-[get_filling_state()]")
filling.color = reagents.get_color()
- add_overlay(filling)
+ AddOverlays(filling)
if(cap)
- add_overlay("shaker_cap")
+ AddOverlays("shaker_cap")
update_held_icon()
/obj/item/reagent_containers/food/drinks/shaker/AltClick(mob/user)
@@ -472,12 +472,12 @@ If you add a drink with an empty icon sprite, ensure it is in the same folder, e
center_of_mass = list("x" = 16, "y" = 16)
/obj/item/reagent_containers/food/drinks/shaker_cup/update_icon()
- cut_overlays()
+ ClearOverlays()
if(reagents?.total_volume)
var/mutable_appearance/filling = mutable_appearance('icons/obj/shaker.dmi', "[icon_state]-[get_filling_state()]")
filling.color = reagents.get_color()
- add_overlay(filling)
+ AddOverlays(filling)
/obj/item/reagent_containers/food/drinks/shaker_cup/AltClick(mob/user)
set_APTFT()
diff --git a/code/modules/reagents/reagent_containers/food/drinks/bottle.dm b/code/modules/reagents/reagent_containers/food/drinks/bottle.dm
index ecbb965de4b..7035d9b6a86 100644
--- a/code/modules/reagents/reagent_containers/food/drinks/bottle.dm
+++ b/code/modules/reagents/reagent_containers/food/drinks/bottle.dm
@@ -133,12 +133,12 @@
/obj/item/reagent_containers/food/drinks/bottle/update_icon()
underlays.Cut()
- cut_overlays()
+ ClearOverlays()
if("[icon_state]-[get_filling_state()]" in icon)
if(reagents?.total_volume)
var/mutable_appearance/filling = mutable_appearance(icon, "[icon_state]-[get_filling_state()]")
filling.color = reagents.get_color()
- add_overlay(filling)
+ AddOverlays(filling)
set_light(0)
if(rag)
var/underlay_image = image(icon='icons/obj/item/reagent_containers/food/drinks/drink_effects.dmi', icon_state=rag.on_fire? "[rag_underlay]_lit" : rag_underlay)
@@ -220,7 +220,7 @@
var/mutable_appearance/froth = mutable_appearance('icons/obj/item/reagent_containers/food/drinks/drink_effects.dmi', "froth_bottle_[intensity_state]")
froth.pixel_x = offset_x
froth.pixel_y = offset_y
- add_overlay(froth)
+ AddOverlays(froth)
CUT_OVERLAY_IN(froth, 2 SECONDS)
//Keeping this here for now, I'll ask if I should keep it here.
diff --git a/code/modules/reagents/reagent_containers/food/sandwich.dm b/code/modules/reagents/reagent_containers/food/sandwich.dm
index 5799e6c8ff6..fb3f79ca3d0 100644
--- a/code/modules/reagents/reagent_containers/food/sandwich.dm
+++ b/code/modules/reagents/reagent_containers/food/sandwich.dm
@@ -42,7 +42,7 @@
var/i = 0
var/list/words = list()
- cut_overlays()
+ ClearOverlays()
var/list/ovr = list()
for(var/obj/item/reagent_containers/food/snacks/O in ingredients)
words += O.ingredient_name || O.name
@@ -59,7 +59,7 @@
T.pixel_y = (ingredients.len * 2)+1
ovr += T
- add_overlay(ovr)
+ AddOverlays(ovr)
name = lowertext("[english_list(words)] [base_name]")
if(length(name) > 80) name = "[pick(list("absurd","colossal","enormous","ridiculous"))] [base_name]"
diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm
index 2defbe8152e..850cdd36373 100644
--- a/code/modules/reagents/reagent_containers/food/snacks.dm
+++ b/code/modules/reagents/reagent_containers/food/snacks.dm
@@ -199,11 +199,11 @@
to_chat(user, SPAN_NOTICE("You scoop up some of \the [src] with \the [U]."))
bitecount++
- U.cut_overlays()
+ U.ClearOverlays()
U.loaded = src.name
var/image/I = new(U.icon, "loadedfood")
I.color = src.filling_color
- U.add_overlay(I)
+ U.AddOverlays(I)
reagents.trans_to_obj(U, min(reagents.total_volume,U.transfer_amt))
if(is_liquid)
@@ -326,7 +326,7 @@
J.alpha = 200
J.blend_mode = BLEND_OVERLAY
J.tag = "coating"
- add_overlay(J)
+ AddOverlays(J)
if (user)
user.visible_message(SPAN_NOTICE("[user] dips [src] into \the [applied_coating_reagent.name]"), SPAN_NOTICE("You dip [src] into \the [applied_coating_reagent.name]"))
@@ -357,7 +357,7 @@
var/image/J = image(I)
J.alpha = 200
J.tag = "coating"
- add_overlay(J)
+ AddOverlays(J)
if (do_coating_prefix == 1)
name = "[our_coating.coated_adj] [name]"
diff --git a/code/modules/reagents/reagent_containers/food/snacks/cultural/skrell.dm b/code/modules/reagents/reagent_containers/food/snacks/cultural/skrell.dm
index 0f00a5d2f03..f1b3fd50c67 100644
--- a/code/modules/reagents/reagent_containers/food/snacks/cultural/skrell.dm
+++ b/code/modules/reagents/reagent_containers/food/snacks/cultural/skrell.dm
@@ -13,12 +13,12 @@
var/image/I = image(icon,"fruit_rind")
I.color = "#B1E4BE"
fruit_icon_cache["rind-#B1E4BE"] = I
- add_overlay(fruit_icon_cache["rind-#B1E4BE"])
+ AddOverlays(fruit_icon_cache["rind-#B1E4BE"])
if(!fruit_icon_cache["slice-#B1E4BE"])
var/image/I = image(icon,"fruit_slice")
I.color = "#9FE4B0"
fruit_icon_cache["slice-#B1E4BE"] = I
- add_overlay(fruit_icon_cache["slice-#B1E4BE"])
+ AddOverlays(fruit_icon_cache["slice-#B1E4BE"])
/obj/item/reagent_containers/food/snacks/soup/qilvo
name = "qilvo"
diff --git a/code/modules/reagents/reagent_containers/food/snacks/sushi.dm b/code/modules/reagents/reagent_containers/food/snacks/sushi.dm
index b181df7923f..e7018bf72d1 100644
--- a/code/modules/reagents/reagent_containers/food/snacks/sushi.dm
+++ b/code/modules/reagents/reagent_containers/food/snacks/sushi.dm
@@ -70,13 +70,13 @@
/obj/item/reagent_containers/food/snacks/sashimi/update_icon()
icon_state = "sashimi_base"
- cut_overlays()
+ ClearOverlays()
var/slice_offset = (slices-1)*2
for(var/slice = 1 to slices)
var/image/I = image(icon = icon, icon_state = "sashimi")
I.pixel_x = slice_offset-((slice-1)*4)
I.pixel_y = I.pixel_x
- add_overlay(I)
+ AddOverlays(I)
/obj/item/reagent_containers/food/snacks/sashimi/attackby(obj/item/attacking_item, mob/user)
if(!(locate(/obj/structure/table) in loc))
diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm
index 50d63a7487b..fee2c04340b 100644
--- a/code/modules/reagents/reagent_containers/glass.dm
+++ b/code/modules/reagents/reagent_containers/glass.dm
@@ -132,22 +132,22 @@
update_icon()
/obj/item/reagent_containers/glass/beaker/update_icon()
- cut_overlays()
+ ClearOverlays()
if(reagents?.total_volume)
var/mutable_appearance/filling = mutable_appearance(icon, "[icon_state]-[get_filling_state()]")
filling.color = reagents.get_color()
- add_overlay(filling)
+ AddOverlays(filling)
if(!is_open_container())
var/lid_icon = "lid_[icon_state]"
var/mutable_appearance/lid = mutable_appearance(icon, lid_icon)
- add_overlay(lid)
+ AddOverlays(lid)
if(label_text)
var/label_icon = "label_[icon_state]"
var/mutable_appearance/label = mutable_appearance(icon, label_icon)
- add_overlay(label)
+ AddOverlays(label)
/obj/item/reagent_containers/glass/beaker/large
name = "large beaker"
@@ -283,11 +283,11 @@
return ..()
/obj/item/reagent_containers/glass/bucket/update_icon()
- cut_overlays()
+ ClearOverlays()
if(reagents.total_volume > 0)
- add_overlay("water_[initial(icon_state)]")
+ AddOverlays("water_[initial(icon_state)]")
if(!is_open_container())
- add_overlay("lid_[initial(icon_state)]")
+ AddOverlays("lid_[initial(icon_state)]")
/obj/item/reagent_containers/glass/bucket/on_reagent_change()
update_icon()
diff --git a/code/modules/reagents/reagent_containers/glass/bottle.dm b/code/modules/reagents/reagent_containers/glass/bottle.dm
index 59c5572a3e3..cd5bd886da1 100644
--- a/code/modules/reagents/reagent_containers/glass/bottle.dm
+++ b/code/modules/reagents/reagent_containers/glass/bottle.dm
@@ -35,22 +35,22 @@
update_icon()
/obj/item/reagent_containers/glass/bottle/update_icon() // You know, bottles should be a subtype of beakers. But not gonna change a million and one paths today. - Wezzy.
- cut_overlays()
+ ClearOverlays()
if(reagents?.total_volume)
var/mutable_appearance/filling = mutable_appearance(icon, "[icon_state]-[get_filling_state()]")
filling.color = reagents.get_color()
- add_overlay(filling)
+ AddOverlays(filling)
if(!is_open_container())
var/lid_icon = "lid_[icon_state]"
var/mutable_appearance/lid = mutable_appearance(icon, lid_icon)
- add_overlay(lid)
+ AddOverlays(lid)
if(label_text)
var/label_icon = "label_[icon_state]"
var/mutable_appearance/label = mutable_appearance(icon, label_icon)
- add_overlay(label)
+ AddOverlays(label)
/obj/item/reagent_containers/glass/bottle/inaprovaline
name = "inaprovaline bottle"
diff --git a/code/modules/reagents/reagent_containers/glass/coffeecup.dm b/code/modules/reagents/reagent_containers/glass/coffeecup.dm
index b9f9eefdb87..de6cde97fc4 100644
--- a/code/modules/reagents/reagent_containers/glass/coffeecup.dm
+++ b/code/modules/reagents/reagent_containers/glass/coffeecup.dm
@@ -11,7 +11,7 @@
var/fillsource = "coffeecup"
/obj/item/reagent_containers/food/drinks/drinkingglass/newglass/coffeecup/update_icon()
- cut_overlays()
+ ClearOverlays()
if(reagents.total_volume)
var/image/filling = image('icons/obj/drink_glasses/coffecup.dmi', src, null)
@@ -24,7 +24,7 @@
if(80 to 99) filling.icon_state = "[fillsource]80"
if(100 to INFINITY) filling.icon_state = "[fillsource]100"
filling.color = reagents.get_color()
- add_overlay(filling)
+ AddOverlays(filling)
// ------------------------ nations
@@ -278,7 +278,7 @@
volume = 60
/obj/item/reagent_containers/food/drinks/drinkingglass/newglass/coffeecup/tall/update_icon()
- cut_overlays()
+ ClearOverlays()
if(reagents.total_volume)
var/image/filling = image('icons/obj/drink_glasses/coffecup_tall.dmi', src, null)
@@ -291,7 +291,7 @@
if(90 to 99) filling.icon_state = "[fillsource]90"
if(100 to INFINITY) filling.icon_state = "[fillsource]100"
filling.color = reagents.get_color()
- add_overlay(filling)
+ AddOverlays(filling)
/obj/item/reagent_containers/food/drinks/drinkingglass/newglass/coffeecup/tall/black
name = "tall black coffee cup"
diff --git a/code/modules/reagents/reagent_containers/glass/newdrinkingglas.dm b/code/modules/reagents/reagent_containers/glass/newdrinkingglas.dm
index 631bb9f7261..3167d64e2b1 100644
--- a/code/modules/reagents/reagent_containers/glass/newdrinkingglas.dm
+++ b/code/modules/reagents/reagent_containers/glass/newdrinkingglas.dm
@@ -6,7 +6,7 @@
return
/obj/item/reagent_containers/food/drinks/drinkingglass/newglass/update_icon()
- cut_overlays()
+ ClearOverlays()
if(reagents.total_volume)
var/image/filling = image(icon, src, "[icon_state]10")
@@ -26,7 +26,7 @@
if(90 to 99) filling.icon_state = "[icon_state]90"
if(100 to INFINITY) filling.icon_state = "[icon_state]100"
filling.color = reagents.get_color()
- add_overlay(filling)
+ AddOverlays(filling)
/obj/item/reagent_containers/food/drinks/drinkingglass/newglass/square
name = "half-pint glass"
@@ -109,12 +109,12 @@
volume = 20
/obj/item/reagent_containers/food/drinks/drinkingglass/newglass/coffeecup/teacup/update_icon()
- cut_overlays()
+ ClearOverlays()
if(reagents.total_volume)
var/image/filling = image('icons/obj/drink_glasses/teacup.dmi', src, "[icon_state]100")
filling.color = reagents.get_color()
- add_overlay(filling)
+ AddOverlays(filling)
/obj/item/reagent_containers/food/drinks/drinkingglass/newglass/cognac
name = "snifter glass"
@@ -144,7 +144,7 @@
if(reagents?.total_volume)
var/mutable_appearance/filling = mutable_appearance(icon, "yunomi-[get_filling_state()]")
filling.color = reagents.get_color()
- add_overlay(filling)
+ AddOverlays(filling)
/obj/item/reagent_containers/food/drinks/drinkingglass/newglass/konyang/grey
desc = "A ceramic teacup of Japanese origin, most frequently used for teas brewed at a lower temperature because of its lack of a handle. \
diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm
index e027eb73c25..392ae6eb457 100644
--- a/code/modules/reagents/reagent_containers/hypospray.dm
+++ b/code/modules/reagents/reagent_containers/hypospray.dm
@@ -63,7 +63,7 @@
inject(M, user, M.Adjacent(user))
/obj/item/reagent_containers/hypospray/update_icon()
- cut_overlays()
+ ClearOverlays()
var/rounded_vol = round(reagents.total_volume, round(reagents.maximum_volume / (volume / 5)))
icon_state = "[initial(icon_state)]_[rounded_vol]"
@@ -74,7 +74,7 @@
filling.icon_state = "[initial(icon_state)][rounded_vol]"
filling.color = reagents.get_color()
- add_overlay(filling)
+ AddOverlays(filling)
/obj/item/reagent_containers/hypospray/proc/inject(var/mob/M, var/mob/user, proximity)
if(!proximity || !istype(M))
@@ -173,10 +173,10 @@
. = ..()
/obj/item/reagent_containers/hypospray/autoinjector/update_icon()
- cut_overlays()
+ ClearOverlays()
if(!is_open_container())
var/mutable_appearance/backing_overlay = mutable_appearance(icon, "autoinjector_secured")
- add_overlay(backing_overlay)
+ AddOverlays(backing_overlay)
icon_state = "[initial(icon_state)][spent]"
item_state = "[initial(item_state)][spent]"
@@ -184,7 +184,7 @@
if(reagents.total_volume)
var/mutable_appearance/reagent_overlay = mutable_appearance(icon, "autoinjector_reagents")
reagent_overlay.color = reagents.get_color()
- add_overlay(reagent_overlay)
+ AddOverlays(reagent_overlay)
update_held_icon()
/obj/item/reagent_containers/hypospray/autoinjector/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
diff --git a/code/modules/reagents/reagent_containers/inhaler.dm b/code/modules/reagents/reagent_containers/inhaler.dm
index d329b879645..3388d18ec78 100644
--- a/code/modules/reagents/reagent_containers/inhaler.dm
+++ b/code/modules/reagents/reagent_containers/inhaler.dm
@@ -132,10 +132,10 @@
. = ..()
/obj/item/reagent_containers/inhaler/update_icon()
- cut_overlays()
+ ClearOverlays()
if(!is_open_container())
var/mutable_appearance/backing_overlay = mutable_appearance(icon, "autoinhaler_secured")
- add_overlay(backing_overlay)
+ AddOverlays(backing_overlay)
icon_state = "[initial(icon_state)][spent]"
item_state = "[initial(item_state)][spent]"
@@ -143,7 +143,7 @@
if(reagents.total_volume)
var/mutable_appearance/reagent_overlay = mutable_appearance(icon, "autoinhaler_reagents")
reagent_overlay.color = reagents.get_color()
- add_overlay(reagent_overlay)
+ AddOverlays(reagent_overlay)
update_held_icon()
/obj/item/reagent_containers/inhaler/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
diff --git a/code/modules/reagents/reagent_containers/inhaler_advanced.dm b/code/modules/reagents/reagent_containers/inhaler_advanced.dm
index 8a4938bad40..70d44adaf49 100644
--- a/code/modules/reagents/reagent_containers/inhaler_advanced.dm
+++ b/code/modules/reagents/reagent_containers/inhaler_advanced.dm
@@ -24,13 +24,13 @@
return
/obj/item/reagent_containers/personal_inhaler_cartridge/update_icon()
- cut_overlays()
+ ClearOverlays()
var/rounded_vol = round(reagents.total_volume, round(reagents.maximum_volume / (volume / 5)))
if(reagents.total_volume)
var/mutable_appearance/filling = mutable_appearance(icon, "[initial(icon_state)][rounded_vol]")
filling.color = reagents.get_color()
- add_overlay(filling)
+ AddOverlays(filling)
/obj/item/reagent_containers/personal_inhaler_cartridge/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
@@ -109,14 +109,14 @@
. += "\The [stored_cartridge] is attached to \the [src]."
/obj/item/personal_inhaler/update_icon()
- cut_overlays()
+ ClearOverlays()
if(stored_cartridge)
- add_overlay(stored_cartridge.icon_state)
+ AddOverlays(stored_cartridge.icon_state)
if(stored_cartridge.reagents.total_volume)
var/rounded_vol = round(stored_cartridge.reagents.total_volume, round(stored_cartridge.reagents.maximum_volume / (stored_cartridge.volume / 5)))
var/image/filling = image(icon, "[stored_cartridge.icon_state][rounded_vol]")
filling.color = stored_cartridge.reagents.get_color()
- add_overlay(filling)
+ AddOverlays(filling)
/obj/item/personal_inhaler/attack_self(mob/user as mob)
if(stored_cartridge)
diff --git a/code/modules/reagents/reagent_containers/ladle.dm b/code/modules/reagents/reagent_containers/ladle.dm
index 3a9c9036607..d75313070ae 100644
--- a/code/modules/reagents/reagent_containers/ladle.dm
+++ b/code/modules/reagents/reagent_containers/ladle.dm
@@ -45,9 +45,9 @@
update_icon()
/obj/item/reagent_containers/ladle/update_icon()
- cut_overlays()
+ ClearOverlays()
if(!reagents.total_volume)
return
var/image/over = image(icon, "ladle_overlay")
over.color = reagents.get_color()
- add_overlay(over)
+ AddOverlays(over)
diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm
index 87d3896e486..9b11efecd44 100644
--- a/code/modules/reagents/reagent_containers/syringes.dm
+++ b/code/modules/reagents/reagent_containers/syringes.dm
@@ -269,7 +269,7 @@
return
/obj/item/reagent_containers/syringe/update_icon()
- cut_overlays()
+ ClearOverlays()
var/iconstring = initial(item_state)
if(mode == SYRINGE_BROKEN)
@@ -278,11 +278,11 @@
return
if(mode == SYRINGE_CAPPED)
- add_overlay("capped")
+ AddOverlays("capped")
if(reagents && reagents.total_volume)
worn_overlay = Clamp(round((reagents.total_volume / volume * 15),5), 1, 15) //rounded_vol
- add_overlay(overlay_image(icon, "[iconstring][worn_overlay]", color = reagents.get_color()))
+ AddOverlays(overlay_image(icon, "[iconstring][worn_overlay]", color = reagents.get_color()))
worn_overlay_color = reagents.get_color() // handles inhands
else
worn_overlay = 0 // don't change to null, or it will break
@@ -295,7 +295,7 @@
injoverlay = "draw"
if (SYRINGE_INJECT)
injoverlay = "inject"
- add_overlay(injoverlay)
+ AddOverlays(injoverlay)
/obj/item/reagent_containers/syringe/proc/syringestab(mob/living/carbon/target as mob, mob/living/carbon/user as mob)
if(mode == SYRINGE_CAPPED)
diff --git a/code/modules/reagents/reagent_containers/teapot.dm b/code/modules/reagents/reagent_containers/teapot.dm
index 891051a6dcb..cc80f54208e 100644
--- a/code/modules/reagents/reagent_containers/teapot.dm
+++ b/code/modules/reagents/reagent_containers/teapot.dm
@@ -31,7 +31,7 @@
/obj/item/reagent_containers/glass/beaker/teapot/lidded/update_icon()
if(lid)
icon_state = initial(icon_state) + "_lid"
- cut_overlays()
+ ClearOverlays()
else
..()
icon_state = initial(icon_state)
diff --git a/code/modules/reagents/reagent_containers/tooth_paste.dm b/code/modules/reagents/reagent_containers/tooth_paste.dm
index 6ae1fc39582..3bef83418ed 100644
--- a/code/modules/reagents/reagent_containers/tooth_paste.dm
+++ b/code/modules/reagents/reagent_containers/tooth_paste.dm
@@ -36,10 +36,10 @@
update_icon()
/obj/item/reagent_containers/toothbrush/update_icon()
- cut_overlays()
+ ClearOverlays()
if(reagents.has_reagent(/singleton/reagent/drink/toothpaste))
- add_overlay("toothpaste_overlay")
+ AddOverlays("toothpaste_overlay")
/obj/item/reagent_containers/toothbrush/attack_self(mob/user as mob)
if(!reagents.total_volume)
diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/reagent_dispenser.dm
index c743b9f776a..ed10f6ccd8a 100644
--- a/code/modules/reagents/reagent_dispenser.dm
+++ b/code/modules/reagents/reagent_dispenser.dm
@@ -177,7 +177,7 @@
var/mutable_appearance/MA = new(attacking_item)
MA.pixel_x += 1
MA.pixel_y += 6
- add_overlay(MA)
+ AddOverlays(MA)
return ..()
diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm
index 771c1ac13fb..fc301cf7992 100644
--- a/code/modules/recycling/disposal.dm
+++ b/code/modules/recycling/disposal.dm
@@ -448,7 +448,7 @@
// update the icon & overlays to reflect mode & status
/obj/machinery/disposal/proc/update()
- cut_overlays()
+ ClearOverlays()
if(stat & BROKEN)
icon_state = "[icon_state]-broken"
mode = 0
@@ -457,7 +457,7 @@
// flush handle
if(flush)
- add_overlay("[icon_state]-handle")
+ AddOverlays("[icon_state]-handle")
// only handle is shown if no power
if(stat & NOPOWER || mode == -1)
@@ -465,13 +465,13 @@
// check for items in disposal - occupied light
if(contents.len > 0)
- add_overlay("[icon_state]-full")
+ AddOverlays("[icon_state]-full")
// charging and ready light
if(mode == 1)
- add_overlay("[icon_state]-charge")
+ AddOverlays("[icon_state]-charge")
else if(mode == 2)
- add_overlay("[icon_state]-ready")
+ AddOverlays("[icon_state]-ready")
// timed process
// charge the gas reservoir and perform flush if ready
diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm
index fc4233acf9d..1b008ad2b59 100755
--- a/code/modules/recycling/sortingmachinery.dm
+++ b/code/modules/recycling/sortingmachinery.dm
@@ -80,7 +80,7 @@
return
/obj/structure/bigDelivery/update_icon()
- cut_overlays()
+ ClearOverlays()
if(nameset || examtext)
var/image/I = new/image('icons/obj/storage/misc.dmi',"delivery_label")
if(icon_state == "deliverycloset")
@@ -93,7 +93,7 @@
label_x = rand(-8, 6)
I.pixel_x = label_x
I.pixel_y = -3
- add_overlay(I)
+ AddOverlays(I)
if(src.sortTag)
var/image/I = new/image('icons/obj/storage/misc.dmi',"delivery_tag")
if(icon_state == "deliverycloset")
@@ -106,7 +106,7 @@
tag_x = rand(-8, 6)
I.pixel_x = tag_x
I.pixel_y = -3
- add_overlay(I)
+ AddOverlays(I)
/obj/structure/bigDelivery/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
@@ -204,12 +204,12 @@
return
/obj/item/smallDelivery/update_icon()
- cut_overlays()
+ ClearOverlays()
if((nameset || examtext) && icon_state != "deliverycrate1")
var/image/I = new/image('icons/obj/storage/misc.dmi',"delivery_label")
if(icon_state == "deliverycrate5")
I.pixel_y = -1
- add_overlay(I)
+ AddOverlays(I)
if(src.sortTag)
var/image/I = new/image('icons/obj/storage/misc.dmi',"delivery_tag")
switch(icon_state)
@@ -226,7 +226,7 @@
I.pixel_y = 3
if("deliverycrate5")
I.pixel_y = -3
- add_overlay(I)
+ AddOverlays(I)
/obj/item/smallDelivery/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
diff --git a/code/modules/research/protolathe.dm b/code/modules/research/protolathe.dm
index 302780ce03c..b7238e78a17 100644
--- a/code/modules/research/protolathe.dm
+++ b/code/modules/research/protolathe.dm
@@ -145,7 +145,7 @@
if(max_material_storage - TotalMaterials() < (amount * SHEET_MATERIAL_AMOUNT)) //Can't overfill
amount = min(stack.get_amount(), round((max_material_storage - TotalMaterials()) / SHEET_MATERIAL_AMOUNT))
- add_overlay("protolathe_[stack.default_type]")
+ AddOverlays("protolathe_[stack.default_type]")
CUT_OVERLAY_IN("protolathe_[stack.default_type]", 10)
busy = 1
diff --git a/code/modules/research/tech_processor.dm b/code/modules/research/tech_processor.dm
index 44ee646ff57..8e5d6cc5d71 100644
--- a/code/modules/research/tech_processor.dm
+++ b/code/modules/research/tech_processor.dm
@@ -74,7 +74,7 @@
update_icon()
/obj/machinery/r_n_d/tech_processor/update_icon()
- cut_overlays()
+ ClearOverlays()
if(stat & (NOPOWER|BROKEN))
icon_state = "[initial(icon_state)]_off"
else if(!linked_server)
@@ -82,4 +82,4 @@
else
icon_state = initial(icon_state)
if(panel_open)
- add_overlay("[initial(icon_state)]_open")
+ AddOverlays("[initial(icon_state)]_open")
diff --git a/code/modules/research/weaponsanalyzer.dm b/code/modules/research/weaponsanalyzer.dm
index 15de07e1cdc..8310141b68a 100644
--- a/code/modules/research/weaponsanalyzer.dm
+++ b/code/modules/research/weaponsanalyzer.dm
@@ -112,7 +112,7 @@
/obj/machinery/weapons_analyzer/update_icon()
icon_state = initial(icon_state)
- cut_overlays()
+ ClearOverlays()
var/icon/Icon_used
@@ -131,7 +131,7 @@
var/image/gun_overlay = image(Icon_used)
gun_overlay.pixel_x += 7
gun_overlay.pixel_y += 8
- add_overlay(gun_overlay)
+ AddOverlays(gun_overlay)
/obj/machinery/weapons_analyzer/ui_data(mob/user)
var/list/data = list()
diff --git a/code/modules/research/xenoarchaeology/tools/suspension_generator.dm b/code/modules/research/xenoarchaeology/tools/suspension_generator.dm
index 33587765be2..bc0ce909233 100644
--- a/code/modules/research/xenoarchaeology/tools/suspension_generator.dm
+++ b/code/modules/research/xenoarchaeology/tools/suspension_generator.dm
@@ -151,9 +151,9 @@
/obj/machinery/suspension_gen/update_icon()
icon_state = "suspension_[anchored ? (suspension_field ? "on" : "wrenched") : "loose"]"
if(!screwed)
- add_overlay("suspension_panel")
+ AddOverlays("suspension_panel")
else
- cut_overlay("suspension_panel")
+ CutOverlays("suspension_panel")
/obj/machinery/suspension_gen/get_cell()
return cell
diff --git a/code/modules/tables/tables.dm b/code/modules/tables/tables.dm
index 0f4494acd3c..d73ad17647a 100644
--- a/code/modules/tables/tables.dm
+++ b/code/modules/tables/tables.dm
@@ -246,7 +246,7 @@
return shards
/obj/structure/table/update_icon()
- cut_overlays()
+ ClearOverlays()
icon_state = "blank"
var/image/I
if(flipped != 1)
@@ -264,11 +264,11 @@
I = image(icon, "[material.icon_base]_[connections[i]]", dir = 1<<(i-1))
if(material.icon_colour)
I.color = material.icon_colour
- add_overlay(I)
+ AddOverlays(I)
else // Table frame
for(var/i = 1 to 4)
I = image(icon, "[connections[i]]", dir = 1<<(i-1))
- add_overlay(I)
+ AddOverlays(I)
if(reinforced) // Reinforcements.
for(var/i = 1 to 4)
@@ -278,12 +278,12 @@
I = image('icons/obj/structure/tables/table_reinf.dmi', "[reinforced.reinf_icon]_[connections[i]]", dir = 1<<(i-1)) // else use the generic recolorable one
if(reinforced.icon_colour && ("reinf_[reinforced.name]" == "[reinforced.reinf_icon]"))
I.color = reinforced.icon_colour
- add_overlay(I)
+ AddOverlays(I)
if(carpeted)
for(var/i = 1 to 4)
I = image(icon, "carpet_[connections[i]]", dir = 1<<(i-1))
- add_overlay(I)
+ AddOverlays(I)
else // Flipped table
var/type = 0
@@ -314,7 +314,7 @@
I = image(icon, "[material.icon_base]_flip[type]")
if(material.icon_colour)
I.color = material.icon_colour
- add_overlay(I)
+ AddOverlays(I)
if(material.display_name)
if(material.display_name == "comfy")
name = "fancy table"
@@ -323,7 +323,7 @@
else
I = image(icon, "flip[type]")
name = "table frame"
- add_overlay(I)
+ AddOverlays(I)
if(reinforced)
if("reinf_[reinforced.name]_flip[type]" in icon_states('icons/obj/structure/tables/table_reinf.dmi')) // if it's got an existing purpose-made reinforced icon, and it isn't already a generic one, use it
@@ -332,10 +332,10 @@
I = image('icons/obj/structure/tables/table_reinf.dmi', "[reinforced.reinf_icon]_flip[type]") // else use the generic recolorable one
if(reinforced.icon_colour && ("reinf_[reinforced.name]" == "[reinforced.reinf_icon]"))
I.color = reinforced.icon_colour
- add_overlay(I)
+ AddOverlays(I)
if(carpeted)
- add_overlay("carpet_flip[type]")
+ AddOverlays("carpet_flip[type]")
// set propagate if you're updating a table that should update tables around it too, for example if it's a new table or something important has changed (like material).
/obj/structure/table/proc/update_connections(propagate=0)
diff --git a/code/modules/telesci/gps.dm b/code/modules/telesci/gps.dm
index 2405e933119..40b5aaff005 100644
--- a/code/modules/telesci/gps.dm
+++ b/code/modules/telesci/gps.dm
@@ -73,13 +73,13 @@ GLOBAL_LIST_EMPTY(gps_list)
return ..()
/obj/item/device/gps/update_icon()
- cut_overlays()
+ ClearOverlays()
if(emped)
- add_overlay("emp")
+ AddOverlays("emp")
else if(held_by || implanted_into)
- add_overlay("working")
+ AddOverlays("working")
else
- add_overlay("confused")
+ AddOverlays("confused")
/obj/item/device/gps/pickup(var/mob/user)
..()
diff --git a/code/modules/vehicles/animal.dm b/code/modules/vehicles/animal.dm
index 1cb83317a6f..fd48035baaa 100644
--- a/code/modules/vehicles/animal.dm
+++ b/code/modules/vehicles/animal.dm
@@ -41,7 +41,7 @@
..()
on = TRUE
set_light(0)
- add_overlay(image(icon, "[icon_state]_overlay", MOB_LAYER + 1))
+ AddOverlays(image(icon, "[icon_state]_overlay", MOB_LAYER + 1))
if(storage_type)
storage_compartment = new storage_type(src)
if(LAZYLEN(armor_values))
diff --git a/code/modules/vehicles/bike.dm b/code/modules/vehicles/bike.dm
index 5b13b70e802..630e13ea02f 100644
--- a/code/modules/vehicles/bike.dm
+++ b/code/modules/vehicles/bike.dm
@@ -67,7 +67,7 @@
..()
ion = new ion_type(src)
turn_off()
- add_overlay(image(icon, "[icon_state]_off_overlay", MOB_LAYER + 1))
+ AddOverlays(image(icon, "[icon_state]_off_overlay", MOB_LAYER + 1))
icon_state = "[bike_icon]_off"
if(storage_type)
storage_compartment = new storage_type(src)
@@ -256,13 +256,13 @@
..()
/obj/vehicle/bike/update_icon()
- cut_overlays()
+ ClearOverlays()
if(on)
- add_overlay(image(icon, "[bike_icon]_on_overlay", MOB_LAYER + 1))
+ AddOverlays(image(icon, "[bike_icon]_on_overlay", MOB_LAYER + 1))
icon_state = "[bike_icon]_on"
else
- add_overlay(image(icon, "[bike_icon]_off_overlay", MOB_LAYER + 1))
+ AddOverlays(image(icon, "[bike_icon]_off_overlay", MOB_LAYER + 1))
icon_state = "[bike_icon]_off"
..()
diff --git a/code/modules/vehicles/cargo_train.dm b/code/modules/vehicles/cargo_train.dm
index 17354064123..dbffeeac8eb 100644
--- a/code/modules/vehicles/cargo_train.dm
+++ b/code/modules/vehicles/cargo_train.dm
@@ -57,7 +57,7 @@
if(ispath(key_type))
key = new key_type(src)
var/image/I = new(icon = icon, icon_state = "[icon_state]_overlay", layer = src.layer + 0.2) //over mobs
- add_overlay(I)
+ AddOverlays(I)
turn_off()
/obj/vehicle/train/cargo/engine/attack_hand(mob/user)
@@ -354,7 +354,7 @@
MA.pixel_y += load_offset_y
MA.layer = VEHICLE_LOAD_LAYER
- add_overlay(MA)
+ AddOverlays(MA)
/obj/vehicle/train/cargo/trolley/unload(var/mob/user, var/direction)
if(istype(load, /datum/vehicle_dummy_load))
@@ -362,7 +362,7 @@
load = dummy_load.actual_load
dummy_load.actual_load = null
qdel(dummy_load)
- cut_overlays()
+ ClearOverlays()
..()
//-------------------------------------------------------
diff --git a/code/modules/vehicles/pussywagon.dm b/code/modules/vehicles/pussywagon.dm
index bd9cc214163..61ed5bfb83b 100644
--- a/code/modules/vehicles/pussywagon.dm
+++ b/code/modules/vehicles/pussywagon.dm
@@ -116,12 +116,12 @@
PW.toggle_hoover()
/obj/vehicle/train/cargo/engine/pussywagon/update_icon()
- cut_overlays()
+ ClearOverlays()
if(on)
- add_overlay(image('icons/obj/vehicles.dmi', "[initial(icon_state)]_on_overlay", MOB_LAYER + 1))
+ AddOverlays(image('icons/obj/vehicles.dmi', "[initial(icon_state)]_on_overlay", MOB_LAYER + 1))
icon_state = "[initial(icon_state)]_on"
else
- add_overlay(image('icons/obj/vehicles.dmi', "[initial(icon_state)]_overlay", MOB_LAYER + 1))
+ AddOverlays(image('icons/obj/vehicles.dmi', "[initial(icon_state)]_overlay", MOB_LAYER + 1))
icon_state = "[initial(icon_state)]"
..()
@@ -249,10 +249,10 @@
update_icon()
/obj/vehicle/train/cargo/trolley/pussywagon/update_icon()
- cut_overlays()
+ ClearOverlays()
if(mopping)
- add_overlay(image('icons/obj/vehicles.dmi', "[icon_state]_mop_overlay", MOB_LAYER + 1))
+ AddOverlays(image('icons/obj/vehicles.dmi', "[icon_state]_mop_overlay", MOB_LAYER + 1))
/obj/item/key/janicart
name = "\improper C8000 deluxe custodial truck key fob"
diff --git a/code/modules/vehicles/unicycle.dm b/code/modules/vehicles/unicycle.dm
index 40f4f285d0a..7801ad30fa4 100644
--- a/code/modules/vehicles/unicycle.dm
+++ b/code/modules/vehicles/unicycle.dm
@@ -19,7 +19,7 @@
/obj/vehicle/unicycle/Initialize()
. = ..()
- add_overlay(image('icons/obj/vehicles.dmi', "unicycle_overlay", MOB_LAYER + 1))
+ AddOverlays(image('icons/obj/vehicles.dmi', "unicycle_overlay", MOB_LAYER + 1))
cell = new /obj/item/cell/high(src)
/obj/vehicle/unicycle/load(var/atom/movable/C)
diff --git a/code/modules/world_api/commands/cciaa.dm b/code/modules/world_api/commands/cciaa.dm
index 623ba7b27b5..41d666444d1 100644
--- a/code/modules/world_api/commands/cciaa.dm
+++ b/code/modules/world_api/commands/cciaa.dm
@@ -248,7 +248,7 @@
if(!P.stamped)
P.stamped = new
P.stamped += /obj/item/stamp
- P.add_overlay(stampoverlay)
+ P.AddOverlays(stampoverlay)
if(stamptext)
P.stamps += "
This paper has been stamped [stamptext]."
else
diff --git a/html/changelogs/GeneralCamo - SSOverlays Update.yml b/html/changelogs/GeneralCamo - SSOverlays Update.yml
new file mode 100644
index 00000000000..51ac9f4be65
--- /dev/null
+++ b/html/changelogs/GeneralCamo - SSOverlays Update.yml
@@ -0,0 +1,58 @@
+################################
+# Example Changelog File
+#
+# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
+#
+# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
+# When it is, any changes listed below will disappear.
+#
+# Valid Prefixes:
+# bugfix
+# - (fixes bugs)
+# wip
+# - (work in progress)
+# qol
+# - (quality of life)
+# soundadd
+# - (adds a sound)
+# sounddel
+# - (removes a sound)
+# rscadd
+# - (adds a feature)
+# rscdel
+# - (removes a feature)
+# imageadd
+# - (adds an image or sprite)
+# imagedel
+# - (removes an image or sprite)
+# spellcheck
+# - (fixes spelling or grammar)
+# experiment
+# - (experimental change)
+# balance
+# - (balance changes)
+# code_imp
+# - (misc internal code change)
+# refactor
+# - (refactors code)
+# config
+# - (makes a change to the config files)
+# admin
+# - (makes changes to administrator tools)
+# server
+# - (miscellaneous changes to server)
+#################################
+
+# Your name.
+author: GeneralCamo
+
+# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
+delete-after: True
+
+# Any changes you've made. See valid prefix list above.
+# INDENT WITH TWO SPACES. NOT TABS. SPACES.
+# SCREW THIS UP AND IT WON'T WORK.
+# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit.
+# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog.
+changes:
+ - refactor: "Ports SSOverlays from baystation12."