fix missing icon cache key generation data + poopy preview refresh (thanks verk <3)

This commit is contained in:
Raeschen
2021-08-26 08:21:57 +02:00
parent 838eed8d81
commit f6003256e5
3 changed files with 12 additions and 14 deletions

View File

@@ -1301,15 +1301,6 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
//CHOMPEdit START //CHOMPEdit START
else if(href_list["digitigrade"]) else if(href_list["digitigrade"])
pref.digitigrade = !pref.digitigrade pref.digitigrade = !pref.digitigrade
//I don't know how else to force a sprite update that doing the stupid thing below
pref.r_skin = 0
pref.b_skin = 0
if(pref.g_skin != 128)
pref.g_skin = 128
else
pref.g_skin = 135
return TOPIC_REFRESH_UPDATE_PREVIEW return TOPIC_REFRESH_UPDATE_PREVIEW
//CHOMPEdit END //CHOMPEdit END
return ..() return ..()

View File

@@ -119,10 +119,10 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
// First, get the correct size. // First, get the correct size.
var/desired_scale_x = icon_scale_x var/desired_scale_x = icon_scale_x
var/desired_scale_y = icon_scale_y var/desired_scale_y = icon_scale_y
desired_scale_x *= species.icon_scale_x desired_scale_x *= species.icon_scale_x
desired_scale_y *= species.icon_scale_y desired_scale_y *= species.icon_scale_y
for(var/datum/modifier/M in modifiers) for(var/datum/modifier/M in modifiers)
if(!isnull(M.icon_scale_x_percent)) if(!isnull(M.icon_scale_x_percent))
desired_scale_x *= M.icon_scale_x_percent desired_scale_x *= M.icon_scale_x_percent
@@ -271,7 +271,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
for(var/M in part.markings) for(var/M in part.markings)
icon_key += "[M][part.markings[M]["color"]]" icon_key += "[M][part.markings[M]["color"]]"
// VOREStation Edit Start // VOREStation Edit Start
if(part.nail_polish) if(part.nail_polish)
icon_key += "_[part.nail_polish.icon]_[part.nail_polish.icon_state]_[part.nail_polish.color]" icon_key += "_[part.nail_polish.icon]_[part.nail_polish.icon_state]_[part.nail_polish.color]"
@@ -293,6 +293,12 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
if(tail_style.clip_mask) //VOREStation Edit. if(tail_style.clip_mask) //VOREStation Edit.
icon_key += tail_style.clip_mask_state icon_key += tail_style.clip_mask_state
//ChompEDIT START
//icon_key addition for digitigrade switch
if(part.species.digitigrade && (part.organ_tag == BP_R_LEG || part.organ_tag == BP_L_LEG || part.organ_tag == BP_R_FOOT || part.organ_tag == BP_L_FOOT))
icon_key += "_digi"
//ChompEDIT END
icon_key = "[icon_key][husk ? 1 : 0][fat ? 1 : 0][hulk ? 1 : 0][skeleton ? 1 : 0]" icon_key = "[icon_key][husk ? 1 : 0][fat ? 1 : 0][hulk ? 1 : 0][skeleton ? 1 : 0]"
var/icon/base_icon var/icon/base_icon
if(human_icon_cache[icon_key]) if(human_icon_cache[icon_key])
@@ -486,7 +492,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
face_standing.Blend(ears_s, ICON_OVERLAY) face_standing.Blend(ears_s, ICON_OVERLAY)
if(ear_style?.em_block) if(ear_style?.em_block)
em_block_ears = em_block_image_generic(image(ears_s)) em_block_ears = em_block_image_generic(image(ears_s))
var/image/semifinal = image(face_standing, layer = BODY_LAYER+HAIR_LAYER, "pixel_y" = head_organ.head_offset) var/image/semifinal = image(face_standing, layer = BODY_LAYER+HAIR_LAYER, "pixel_y" = head_organ.head_offset)
if(em_block_ears) if(em_block_ears)
semifinal.overlays += em_block_ears // Leaving this as overlays += semifinal.overlays += em_block_ears // Leaving this as overlays +=
@@ -1174,7 +1180,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
var/icon/ears_s = new/icon("icon" = synthetic.icon, "icon_state" = "ears") var/icon/ears_s = new/icon("icon" = synthetic.icon, "icon_state" = "ears")
ears_s.Blend(rgb(src.r_ears, src.g_ears, src.b_ears), species.color_mult ? ICON_MULTIPLY : ICON_ADD) ears_s.Blend(rgb(src.r_ears, src.g_ears, src.b_ears), species.color_mult ? ICON_MULTIPLY : ICON_ADD)
return ears_s return ears_s
if(ear_style && !(head && (head.flags_inv & BLOCKHEADHAIR))) if(ear_style && !(head && (head.flags_inv & BLOCKHEADHAIR)))
var/icon/ears_s = new/icon("icon" = ear_style.icon, "icon_state" = ear_style.icon_state) var/icon/ears_s = new/icon("icon" = ear_style.icon, "icon_state" = ear_style.icon_state)
if(ear_style.do_colouration) if(ear_style.do_colouration)

View File

@@ -6,6 +6,7 @@
var/IB = species.icobase var/IB = species.icobase
species.icobase = species.icodigi species.icobase = species.icodigi
. = ..() . = ..()
icon_cache_key += "_digi"
species.icobase = IB species.icobase = IB
else else
. = ..() . = ..()