From 9b80140e7dffde7bac58e8745fd924aa6f9e76bd Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Fri, 15 Jan 2016 08:06:01 -0500 Subject: [PATCH] way to early... --- .../mob/living/carbon/human/update_icons.dm | 180 ++++++++++++++---- icons/mob/human_face.dmi | Bin 78637 -> 79068 bytes 2 files changed, 139 insertions(+), 41 deletions(-) diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index b768039ac29..e1c05cc7210 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -106,30 +106,33 @@ Please contact me on #coderbus IRC. ~Carn x //Human Overlays Indexes///////// #define MUTANTRACE_LAYER 1 -#define MUTATIONS_LAYER 2 -#define DAMAGE_LAYER 3 -#define UNIFORM_LAYER 4 -#define ID_LAYER 5 -#define SHOES_LAYER 6 -#define GLOVES_LAYER 7 -#define EARS_LAYER 8 -#define SUIT_LAYER 9 -#define GLASSES_LAYER 10 -#define BELT_LAYER 11 //Possible make this an overlay of somethign required to wear a belt? -#define TAIL_LAYER 12 //bs12 specific. this hack is probably gonna come back to haunt me -#define SUIT_STORE_LAYER 13 -#define BACK_LAYER 14 -#define HAIR_LAYER 15 //TODO: make part of head layer? -#define FACEMASK_LAYER 16 -#define HEAD_LAYER 17 -#define COLLAR_LAYER 18 -#define HANDCUFF_LAYER 19 -#define LEGCUFF_LAYER 20 -#define L_HAND_LAYER 21 -#define R_HAND_LAYER 22 -#define TARGETED_LAYER 23 //BS12: Layer for the target overlay from weapon targeting system -#define FIRE_LAYER 24 //If you're on fire -#define TOTAL_LAYERS 24 +#define MARKINGS_LAYER 2 +#define MUTATIONS_LAYER 3 +#define DAMAGE_LAYER 4 +#define UNIFORM_LAYER 5 +#define ID_LAYER 6 +#define SHOES_LAYER 7 +#define GLOVES_LAYER 8 +#define EARS_LAYER 9 +#define SUIT_LAYER 10 +#define GLASSES_LAYER 11 +#define BELT_LAYER 12 //Possible make this an overlay of somethign required to wear a belt? +#define TAIL_LAYER 13 //bs12 specific. this hack is probably gonna come back to haunt me +#define SUIT_STORE_LAYER 14 +#define BACK_LAYER 15 +#define HAIR_LAYER 16 //TODO: make part of head layer? +#define HEAD_ACCESSORY_LAYER 17 +#define FHAIR_LAYER 18 +#define FACEMASK_LAYER 19 +#define HEAD_LAYER 20 +#define COLLAR_LAYER 21 +#define HANDCUFF_LAYER 22 +#define LEGCUFF_LAYER 23 +#define L_HAND_LAYER 24 +#define R_HAND_LAYER 25 +#define TARGETED_LAYER 26 //BS12: Layer for the target overlay from weapon targeting system +#define FIRE_LAYER 27 //If you're on fire +#define TOTAL_LAYERS 27 @@ -245,7 +248,7 @@ var/global/list/damage_icon_parts = list() qdel(stand_icon) stand_icon = new(species.icon_template ? species.icon_template : 'icons/mob/human.dmi',"blank") var/icon_key = "" - var/obj/item/organ/internal/eyes/eyes = get_int_organ(/obj/item/organ/internal/eyes) + var/obj/item/organ/eyes/eyes = internal_organs_by_name["eyes"] if(eyes) icon_key += "[rgb(eyes.eye_colour[1], eyes.eye_colour[2], eyes.eye_colour[3])]" @@ -350,6 +353,75 @@ var/global/list/damage_icon_parts = list() //tail update_tail_layer(0) + //head accessory + update_head_accessory(0) + //markings + update_markings(0) + //hair + update_hair(0) + update_fhair(0) + + +//MARKINGS OVERLAY +/mob/living/carbon/human/proc/update_markings(var/update_icons=1) + //Reset our markings + overlays_standing[MARKINGS_LAYER] = null + + var/obj/item/organ/external/chest/chest_organ = get_organ("chest") + if(!chest_organ || chest_organ.is_stump() || (chest_organ.status & ORGAN_DESTROYED) ) + if(update_icons) update_icons() + return + + //base icons + var/icon/markings_standing = new /icon('icons/mob/body_accessory.dmi',"accessory_none_s") + + if(m_style && (src.species.bodyflags & HAS_MARKINGS)) + var/datum/sprite_accessory/marking_style = marking_styles_list[m_style] + if(marking_style && marking_style.species_allowed) + if(src.species.name in marking_style.species_allowed) + var/icon/markings_s = new/icon("icon" = marking_style.icon, "icon_state" = "[marking_style.icon_state]_s") + if(marking_style.do_colouration) + markings_s.Blend(rgb(r_markings, g_markings, b_markings), ICON_ADD) + markings_standing.Blend(markings_s, ICON_OVERLAY) + else + //warning("Invalid m_style for [species.name]: [m_style]") + + overlays_standing[MARKINGS_LAYER] = image(markings_standing) + + if(update_icons) update_icons() + +//HEAD ACCESSORY OVERLAY +/mob/living/carbon/human/proc/update_head_accessory(var/update_icons=1) + //Reset our head accessory + overlays_standing[HEAD_ACCESSORY_LAYER] = null + + var/obj/item/organ/external/head/head_organ = get_organ("head") + if(!head_organ || head_organ.is_stump() || (head_organ.status & ORGAN_DESTROYED) ) + if(update_icons) update_icons() + return + + //masks and helmets can obscure our head accessory + if( (head && (head.flags & BLOCKHAIR)) || (wear_mask && (wear_mask.flags & BLOCKHAIR))) + if(update_icons) update_icons() + return + + //base icons + var/icon/head_accessory_standing = new /icon('icons/mob/body_accessory.dmi',"accessory_none_s") + + if(ha_style && !(head && (head.flags & BLOCKHEADHAIR) && !(isSynthetic()) && (src.species.bodyflags & HAS_HEAD_ACCESSORY))) + var/datum/sprite_accessory/head_accessory_style = head_accessory_styles_list[ha_style] + if(head_accessory_style && head_accessory_style.species_allowed) + if(src.species.name in head_accessory_style.species_allowed) + var/icon/head_accessory_s = new/icon("icon" = head_accessory_style.icon, "icon_state" = "[head_accessory_style.icon_state]_s") + if(head_accessory_style.do_colouration) + head_accessory_s.Blend(rgb(r_headacc, g_headacc, b_headacc), ICON_ADD) + head_accessory_standing.Blend(head_accessory_s, ICON_OVERLAY) + else + //warning("Invalid ha_style for [species.name]: [ha_style]") + + overlays_standing[HEAD_ACCESSORY_LAYER] = image(head_accessory_standing) + + if(update_icons) update_icons() //HAIR OVERLAY @@ -367,6 +439,41 @@ var/global/list/damage_icon_parts = list() if(update_icons) update_icons() return + //base icons + var/icon/hair_standing = new /icon('icons/mob/human_face.dmi',"bald_s") + + if(h_style && !(head && (head.flags & BLOCKHEADHAIR) && !(isSynthetic()))) + var/datum/sprite_accessory/hair_style = hair_styles_list[h_style] + if(hair_style && hair_style.species_allowed) + if(src.species.name in hair_style.species_allowed) + var/icon/hair_s = new/icon("icon" = hair_style.icon, "icon_state" = "[hair_style.icon_state]_s") + if(hair_style.do_colouration) + hair_s.Blend(rgb(r_hair, g_hair, b_hair), ICON_ADD) + + hair_standing.Blend(hair_s, ICON_OVERLAY) + else + //warning("Invalid h_style for [species.name]: [h_style]") + + overlays_standing[HAIR_LAYER] = image(hair_standing) + + if(update_icons) update_icons() + + +//FACIAL HAIR OVERLAY +/mob/living/carbon/human/proc/update_fhair(var/update_icons=1) + //Reset our facial hair + overlays_standing[FHAIR_LAYER] = null + + var/obj/item/organ/external/head/head_organ = get_organ("head") + if(!head_organ || head_organ.is_stump() || (head_organ.status & ORGAN_DESTROYED) ) + if(update_icons) update_icons() + return + + //masks and helmets can obscure our facial hair, unless we're a synthetic + if( (head && (head.flags & BLOCKHAIR)) || (wear_mask && (wear_mask.flags & BLOCKHAIR))) + if(update_icons) update_icons() + return + //base icons var/icon/face_standing = new /icon('icons/mob/human_face.dmi',"bald_s") @@ -381,22 +488,7 @@ var/global/list/damage_icon_parts = list() else //warning("Invalid f_style for [species.name]: [f_style]") - if(!get_int_organ(/obj/item/organ/internal/brain)) - face_standing += icon("icon"='icons/mob/human_face.dmi', "icon_state" = "debrained_s") - - if(h_style && !(head && (head.flags & BLOCKHEADHAIR) && !(isSynthetic()))) - var/datum/sprite_accessory/hair_style = hair_styles_list[h_style] - if(hair_style && hair_style.species_allowed) - if(src.species.name in hair_style.species_allowed) - var/icon/hair_s = new/icon("icon" = hair_style.icon, "icon_state" = "[hair_style.icon_state]_s") - if(hair_style.do_colouration) - hair_s.Blend(rgb(r_hair, g_hair, b_hair), ICON_ADD) - - face_standing.Blend(hair_s, ICON_OVERLAY) - else - //warning("Invalid h_style for [species.name]: [h_style]") - - overlays_standing[HAIR_LAYER] = image(face_standing) + overlays_standing[FHAIR_LAYER] = image(face_standing) if(update_icons) update_icons() @@ -460,6 +552,7 @@ var/global/list/damage_icon_parts = list() skeleton = null update_hair(0) + update_fhair(0) if(update_icons) update_icons() //Call when target overlay should be added/removed @@ -488,6 +581,8 @@ var/global/list/damage_icon_parts = list() update_mutations(0) update_body(0) update_hair(0) + update_head_accessory(0) + update_fhair(0) update_mutantrace(0) update_inv_w_uniform(0,0) update_inv_wear_id(0) @@ -1019,6 +1114,7 @@ var/global/list/damage_icon_parts = list() //Human Overlays Indexes///////// #undef MUTANTRACE_LAYER +#undef MARKINGS_LAYER #undef MUTATIONS_LAYER #undef DAMAGE_LAYER #undef UNIFORM_LAYER @@ -1035,6 +1131,8 @@ var/global/list/damage_icon_parts = list() #undef BACK_LAYER #undef HAIR_LAYER #undef HEAD_LAYER +#undef HEAD_ACCESSORY_LAYER +#undef FHAIR_LAYER #undef COLLAR_LAYER #undef HANDCUFF_LAYER #undef LEGCUFF_LAYER diff --git a/icons/mob/human_face.dmi b/icons/mob/human_face.dmi index 1fa0f5c3a222aaeb0fe4488105a2cd164a8597e1..ffecceda82e351b6fc7e920597c14640c1e9d9b3 100644 GIT binary patch delta 15315 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 delta 14967 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