From c1e00b906d4a47e8cce5057df7fb131587cb68e1 Mon Sep 17 00:00:00 2001 From: Faron <171642577+FaronCD@users.noreply.github.com> Date: Sat, 22 Jun 2024 17:45:17 -0500 Subject: [PATCH] Fixes Headset Sprites (#25979) * Update misc_defines.dm Signed-off-by: Faron <171642577+FaronCD@users.noreply.github.com> * Update human_update_icons.dm Signed-off-by: Faron <171642577+FaronCD@users.noreply.github.com> * Update code/modules/mob/living/carbon/human/human_update_icons.dm Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> Signed-off-by: Faron <171642577+FaronCD@users.noreply.github.com> --------- Signed-off-by: Faron <171642577+FaronCD@users.noreply.github.com> Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> --- code/__DEFINES/misc_defines.dm | 37 +++++----- .../living/carbon/human/human_update_icons.dm | 67 +++++++++---------- 2 files changed, 52 insertions(+), 52 deletions(-) diff --git a/code/__DEFINES/misc_defines.dm b/code/__DEFINES/misc_defines.dm index d609863990c..5016c41a80b 100644 --- a/code/__DEFINES/misc_defines.dm +++ b/code/__DEFINES/misc_defines.dm @@ -171,23 +171,24 @@ #define MFOAM_IRON 2 //Human Overlays Indexes///////// -#define EYES_OVERLAY_LAYER 43 -#define WING_LAYER 42 -#define WING_UNDERLIMBS_LAYER 41 -#define MUTANTRACE_LAYER 40 -#define TAIL_UNDERLIMBS_LAYER 39 //Tail split-rendering. -#define LIMBS_LAYER 38 -#define MARKINGS_LAYER 37 -#define INTORGAN_LAYER 36 -#define UNDERWEAR_LAYER 35 -#define MUTATIONS_LAYER 34 -#define H_DAMAGE_LAYER 33 -#define UNIFORM_LAYER 32 -#define ID_LAYER 31 -#define HANDS_LAYER 30 //Exists to overlay hands over jumpsuits -#define SHOES_LAYER 29 -#define GLOVES_LAYER 28 -#define EARS_LAYER 27 +#define EYES_OVERLAY_LAYER 44 +#define WING_LAYER 43 +#define WING_UNDERLIMBS_LAYER 42 +#define MUTANTRACE_LAYER 41 +#define TAIL_UNDERLIMBS_LAYER 40 //Tail split-rendering. +#define LIMBS_LAYER 39 +#define MARKINGS_LAYER 38 +#define INTORGAN_LAYER 37 +#define UNDERWEAR_LAYER 36 +#define MUTATIONS_LAYER 35 +#define H_DAMAGE_LAYER 34 +#define UNIFORM_LAYER 33 +#define ID_LAYER 32 +#define HANDS_LAYER 31 //Exists to overlay hands over jumpsuits +#define SHOES_LAYER 30 +#define GLOVES_LAYER 29 +#define LEFT_EAR_LAYER 28 +#define RIGHT_EAR_LAYER 27 #define BELT_LAYER 26 //Possible make this an overlay of something required to wear a belt? #define SUIT_LAYER 25 #define SPECIAL_BELT_LAYER 24 @@ -214,7 +215,7 @@ #define FIRE_LAYER 3 //If you're on fire #define MISC_LAYER 2 #define FROZEN_LAYER 1 -#define TOTAL_LAYERS 43 +#define TOTAL_LAYERS 44 ///Access Region Codes/// #define REGION_ALL 0 diff --git a/code/modules/mob/living/carbon/human/human_update_icons.dm b/code/modules/mob/living/carbon/human/human_update_icons.dm index 8dcfb3ee449..ed06c06cbf3 100644 --- a/code/modules/mob/living/carbon/human/human_update_icons.dm +++ b/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -729,46 +729,45 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) update_misc_effects() /mob/living/carbon/human/update_inv_ears() - remove_overlay(EARS_LAYER) - if(client && hud_used) - var/atom/movable/screen/inventory/inv = hud_used.inv_slots[SLOT_HUD_LEFT_EAR] - if(inv) - inv.update_icon() + remove_overlay(LEFT_EAR_LAYER) + remove_overlay(RIGHT_EAR_LAYER) if(client && hud_used) - var/atom/movable/screen/inventory/inv = hud_used.inv_slots[SLOT_HUD_RIGHT_EAR] - if(inv) - inv.update_icon() + var/atom/movable/screen/inventory/left_ear_inv = hud_used.inv_slots[SLOT_HUD_LEFT_EAR] + var/atom/movable/screen/inventory/right_ear_inv = hud_used.inv_slots[SLOT_HUD_RIGHT_EAR] + if(left_ear_inv) + left_ear_inv.update_icon() + if(right_ear_inv) + right_ear_inv.update_icon() - if(l_ear || r_ear) - if(l_ear) - update_hud_l_ear(l_ear) + if(l_ear) + update_hud_l_ear(l_ear) - var/t_type = l_ear.item_state - if(!t_type) - t_type = l_ear.icon_state - if(l_ear.icon_override) - t_type = "[t_type]_l" - overlays_standing[EARS_LAYER] = mutable_appearance(l_ear.icon_override, "[t_type]", layer = -EARS_LAYER) - else if(l_ear.sprite_sheets && l_ear.sprite_sheets[dna.species.sprite_sheet_name]) - overlays_standing[EARS_LAYER] = mutable_appearance(l_ear.sprite_sheets[dna.species.sprite_sheet_name], "[t_type]", layer = -EARS_LAYER) - else - overlays_standing[EARS_LAYER] = mutable_appearance('icons/mob/clothing/ears.dmi', "[t_type]", layer = -EARS_LAYER) + var/left_ear_item_state = l_ear.item_state ? l_ear.item_state : l_ear.icon_state + var/left_ear_icon = 'icons/mob/clothing/ears.dmi' + if(l_ear.sprite_sheets && l_ear.sprite_sheets[dna.species.sprite_sheet_name]) + left_ear_icon = l_ear.sprite_sheets[dna.species.sprite_sheet_name] + if(l_ear.icon_override) + left_ear_item_state = "[left_ear_item_state]_l" + left_ear_icon = l_ear.icon_override - if(r_ear) - update_hud_r_ear(r_ear) + overlays_standing[LEFT_EAR_LAYER] = mutable_appearance(left_ear_icon, left_ear_item_state, layer = -LEFT_EAR_LAYER) - var/t_type = r_ear.item_state - if(!t_type) - t_type = r_ear.icon_state - if(r_ear.icon_override) - t_type = "[t_type]_r" - overlays_standing[EARS_LAYER] = mutable_appearance(r_ear.icon_override, "[t_type]", layer = -EARS_LAYER) - else if(r_ear.sprite_sheets && r_ear.sprite_sheets[dna.species.sprite_sheet_name]) - overlays_standing[EARS_LAYER] = mutable_appearance(r_ear.sprite_sheets[dna.species.sprite_sheet_name], "[t_type]", layer = -EARS_LAYER) - else - overlays_standing[EARS_LAYER] = mutable_appearance('icons/mob/clothing/ears.dmi', "[t_type]", layer = -EARS_LAYER) - apply_overlay(EARS_LAYER) + if(r_ear) + update_hud_r_ear(r_ear) + + var/right_ear_item_state = r_ear.item_state ? r_ear.item_state : r_ear.icon_state + var/right_ear_icon = 'icons/mob/clothing/ears.dmi' + if(r_ear.sprite_sheets && r_ear.sprite_sheets[dna.species.sprite_sheet_name]) + right_ear_icon = r_ear.sprite_sheets[dna.species.sprite_sheet_name] + if(r_ear.icon_override) + right_ear_icon = "[right_ear_item_state]_l" + right_ear_icon = r_ear.icon_override + + overlays_standing[RIGHT_EAR_LAYER] = mutable_appearance(right_ear_icon, right_ear_item_state, layer = -RIGHT_EAR_LAYER) + + apply_overlay(LEFT_EAR_LAYER) + apply_overlay(RIGHT_EAR_LAYER) /mob/living/carbon/human/update_inv_shoes() remove_overlay(SHOES_LAYER)