Fixed female fitted uniforms not being fitted for female bodies (#66646)

This commit is contained in:
GoldenAlpharex
2022-05-05 13:52:01 -07:00
committed by GitHub
parent db8ae83351
commit a13adca685
@@ -141,15 +141,15 @@ There are several things that need to be remembered:
inv.update_icon()
if(istype(w_uniform, /obj/item/clothing/under))
var/obj/item/clothing/under/U = w_uniform
update_hud_uniform(U)
var/obj/item/clothing/under/uniform = w_uniform
update_hud_uniform(uniform)
if(wear_suit && (wear_suit.flags_inv & HIDEJUMPSUIT))
return
var/target_overlay = U.icon_state
if(U.adjusted == ALT_STYLE)
var/target_overlay = uniform.icon_state
if(uniform.adjusted == ALT_STYLE)
target_overlay = "[target_overlay]_d"
var/mutable_appearance/uniform_overlay
@@ -158,21 +158,21 @@ There are several things that need to be remembered:
var/woman
if(!uniform_overlay)
//BEGIN SPECIES HANDLING
if((dna?.species.bodytype & BODYTYPE_DIGITIGRADE) && (U.supports_variations_flags & CLOTHING_DIGITIGRADE_VARIATION))
if((dna?.species.bodytype & BODYTYPE_DIGITIGRADE) && (uniform.supports_variations_flags & CLOTHING_DIGITIGRADE_VARIATION))
icon_file = DIGITIGRADE_UNIFORM_FILE
//Female sprites have lower priority than digitigrade sprites
else if(dna.species.sexes && (dna.species.bodytype & BODYTYPE_HUMANOID) && physique == FEMALE && U.adjusted != NO_FEMALE_UNIFORM) //Agggggggghhhhh
else if(dna.species.sexes && (dna.species.bodytype & BODYTYPE_HUMANOID) && physique == FEMALE && uniform.female_sprite_flags != NO_FEMALE_UNIFORM) //Agggggggghhhhh
woman = TRUE
if(!icon_exists(icon_file, RESOLVE_ICON_STATE(U)))
if(!icon_exists(icon_file, RESOLVE_ICON_STATE(uniform)))
icon_file = DEFAULT_UNIFORM_FILE
//END SPECIES HANDLING
uniform_overlay = U.build_worn_icon(
uniform_overlay = uniform.build_worn_icon(
default_layer = UNIFORM_LAYER,
default_icon_file = icon_file,
isinhands = FALSE,
femaleuniform = woman ? U.adjusted : null,
female_uniform = woman ? uniform.female_sprite_flags : null,
override_state = target_overlay,
)
@@ -740,12 +740,12 @@ default_icon_file: The icon file to draw states from if no other icon file is sp
isinhands: If true then alternate_worn_icon is skipped so that default_icon_file is used,
in this situation default_icon_file is expected to match either the lefthand_ or righthand_ file var
femalueuniform: A value matching a uniform item's female_sprite_flags var, if this is anything but NO_FEMALE_UNIFORM, we
female_uniform: A value matching a uniform item's female_sprite_flags var, if this is anything but NO_FEMALE_UNIFORM, we
generate/load female uniform sprites matching all previously decided variables
*/
/obj/item/proc/build_worn_icon(default_layer = 0, default_icon_file = null, isinhands = FALSE, femaleuniform = NO_FEMALE_UNIFORM, override_state = null, override_file = null)
/obj/item/proc/build_worn_icon(default_layer = 0, default_icon_file = null, isinhands = FALSE, female_uniform = NO_FEMALE_UNIFORM, override_state = null, override_file = null)
//Find a valid icon_state from variables+arguments
var/t_state
@@ -764,8 +764,8 @@ generate/load female uniform sprites matching all previously decided variables
var/layer2use = alternate_worn_layer ? alternate_worn_layer : default_layer
var/mutable_appearance/standing
if(femaleuniform)
standing = wear_female_version(t_state, file2use, layer2use, femaleuniform, greyscale_colors) //should layer2use be in sync with the adjusted value below? needs testing - shiz
if(female_uniform)
standing = wear_female_version(t_state, file2use, layer2use, female_uniform, greyscale_colors) //should layer2use be in sync with the adjusted value below? needs testing - shiz
if(!standing)
standing = mutable_appearance(file2use, t_state, -layer2use)