[READY] [MOSTLY MODULAR] Vox sprite fixes, updates, and additions (#7522)

* [DRAFT} Vox sprite fixes, updates.

* spriiiiiiite fiixeeesssss

* sprite name fix

* part one

* PART 2

* modularization moment
This commit is contained in:
candle :)
2021-08-21 19:40:28 -05:00
committed by GitHub
parent 86bef97daa
commit 33f9be2c42
31 changed files with 236 additions and 17 deletions
+2
View File
@@ -288,6 +288,8 @@ GLOBAL_DATUM_INIT(fire_overlay, /mutable_appearance, mutable_appearance('icons/e
worn_icon = SSgreyscale.GetColoredIconByType(greyscale_config_worn, greyscale_colors)
if(greyscale_config_worn_digi) // Skyrat Edit
worn_icon_digi = SSgreyscale.GetColoredIconByType(greyscale_config_worn_digi, greyscale_colors)
if(greyscale_config_worn_vox) // Skyrat Edit
worn_icon_vox = SSgreyscale.GetColoredIconByType(greyscale_config_worn_vox, greyscale_colors)
if(greyscale_config_inhand_left)
lefthand_file = SSgreyscale.GetColoredIconByType(greyscale_config_inhand_left, greyscale_colors)
if(greyscale_config_inhand_right)
@@ -188,7 +188,7 @@ There are several things that need to be remembered:
apply_overlay(ID_LAYER)
//apply_overlay(ID_CARD_LAYER) //SKYRAT EDIT REMOVAL - Ugly ID
/*
/mob/living/carbon/human/update_inv_gloves()
remove_overlay(GLOVES_LAYER)
@@ -220,7 +220,7 @@ There are several things that need to be remembered:
gloves_overlay.pixel_y += dna.species.offset_features[OFFSET_GLOVES][2]
overlays_standing[GLOVES_LAYER] = gloves_overlay
apply_overlay(GLOVES_LAYER)
*/
//SKYRAT EDIT REMOVAL BEGIN - CUSTOMIZATION (moved to modular)
/*
@@ -227,9 +227,6 @@
/obj/item/clothing/under/color/jumpskirt
mutant_variants = NONE
/obj/item/clothing/under/dress/skirt
mutant_variants = NONE
/obj/item/clothing/under/suit/black/skirt
mutant_variants = NONE
Binary file not shown.

Before

Width:  |  Height:  |  Size: 910 B

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 446 B

After

Width:  |  Height:  |  Size: 458 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 250 KiB

After

Width:  |  Height:  |  Size: 268 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 303 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 303 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 588 B

After

Width:  |  Height:  |  Size: 587 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 528 B

After

Width:  |  Height:  |  Size: 532 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 308 B

After

Width:  |  Height:  |  Size: 311 B

@@ -5,6 +5,10 @@
var/icon/worn_icon_digi
///The config type to use for greyscaled worn sprites for digitigrade characters. Both this and greyscale_colors must be assigned to work.
var/greyscale_config_worn_digi
/// Icon file for mob worn overlays, if the user is a vox.
var/icon/worn_icon_vox
/// The config type to use for greyscaled worn sprites for vox characters. Both this and greyscale_colors must be assigned to work.
var/greyscale_config_worn_vox
/obj/item/clothing
var/worn_icon_taur_snake
@@ -22,19 +26,22 @@
mutant_variants = STYLE_VOX
/obj/item/clothing/under
mutant_variants = STYLE_DIGITIGRADE
mutant_variants = STYLE_DIGITIGRADE|STYLE_VOX
/obj/item/clothing/suit
mutant_variants = STYLE_DIGITIGRADE|STYLE_TAUR_ALL
mutant_variants = STYLE_DIGITIGRADE|STYLE_TAUR_ALL|STYLE_VOX
/obj/item/clothing/gloves
mutant_variants = STYLE_VOX
/obj/item/clothing/shoes
mutant_variants = STYLE_DIGITIGRADE
mutant_variants = STYLE_DIGITIGRADE|STYLE_VOX
/obj/item/clothing/suit/armor
mutant_variants = NONE
mutant_variants = STYLE_VOX
/obj/item/clothing/under/color/jumpskirt
mutant_variants = NONE
mutant_variants = STYLE_VOX
/obj/item/clothing/under/rank/engineering/chief_engineer/skirt
mutant_variants = NONE
@@ -55,7 +62,7 @@
mutant_variants = NONE
/obj/item/clothing/under/dress
mutant_variants = NONE
mutant_variants = STYLE_VOX
/obj/item/clothing/under/rank/security/officer/skirt
mutant_variants = NONE
@@ -29,7 +29,9 @@
else if(w_uniform.mutant_variants & S.alt_taur_mode)
applied_style = S.alt_taur_mode
if(!applied_style)
if((DIGITIGRADE in dna.species.species_traits) && (w_uniform.mutant_variants & STYLE_DIGITIGRADE))
if((w_uniform.mutant_variants & STYLE_VOX) && dna.species.id == "vox")
applied_style = STYLE_VOX
else if((DIGITIGRADE in dna.species.species_traits) && (w_uniform.mutant_variants & STYLE_DIGITIGRADE))
applied_style = STYLE_DIGITIGRADE
var/x_override
@@ -42,6 +44,8 @@
icon_file = w_uniform.worn_icon_taur_hoof || 'modular_skyrat/master_files/icons/mob/clothing/uniform_taur_hoof.dmi'
if(STYLE_TAUR_PAW)
icon_file = w_uniform.worn_icon_taur_paw || 'modular_skyrat/master_files/icons/mob/clothing/uniform_taur_paw.dmi'
if(STYLE_VOX)
icon_file = w_uniform.worn_icon_vox || 'modular_skyrat/master_files/icons/mob/clothing/species/vox/uniform.dmi'
if(applied_style & STYLE_TAUR_ALL)
x_override = 64
@@ -90,7 +94,9 @@
else if(wear_suit.mutant_variants & S.alt_taur_mode)
applied_style = S.alt_taur_mode
if(!applied_style)
if((DIGITIGRADE in dna.species.species_traits) && (wear_suit.mutant_variants & STYLE_DIGITIGRADE))
if((wear_suit.mutant_variants & STYLE_VOX) && dna.species.id == "vox")
applied_style = STYLE_VOX
else if((DIGITIGRADE in dna.species.species_traits) && (wear_suit.mutant_variants & STYLE_DIGITIGRADE))
applied_style = STYLE_DIGITIGRADE
var/x_override
@@ -103,6 +109,8 @@
icon_file = wear_suit.worn_icon_taur_hoof || 'modular_skyrat/master_files/icons/mob/clothing/suit_taur_hoof.dmi'
if(STYLE_TAUR_PAW)
icon_file = wear_suit.worn_icon_taur_paw || 'modular_skyrat/master_files/icons/mob/clothing/suit_taur_paw.dmi'
if(STYLE_VOX)
icon_file = wear_suit.worn_icon_vox || 'modular_skyrat/master_files/icons/mob/clothing/species/vox/suit.dmi'
if(applied_style & STYLE_TAUR_ALL)
x_override = 64
@@ -141,8 +149,11 @@
update_observer_view(shoes,1)
var/icon_file = shoes.worn_icon
var/applied_styles = NONE
if((DIGITIGRADE in dna.species.species_traits) && (shoes.mutant_variants & STYLE_DIGITIGRADE))
applied_styles |= STYLE_DIGITIGRADE
if((shoes.mutant_variants & STYLE_VOX) && dna.species.id == "vox")
applied_styles = STYLE_VOX
icon_file = shoes.worn_icon_vox || 'modular_skyrat/master_files/icons/mob/clothing/species/vox/feet.dmi'
else if((DIGITIGRADE in dna.species.species_traits) && (shoes.mutant_variants & STYLE_DIGITIGRADE))
applied_styles = STYLE_DIGITIGRADE
icon_file = shoes.worn_icon_digi || 'modular_skyrat/master_files/icons/mob/clothing/feet_digi.dmi'
overlays_standing[SHOES_LAYER] = shoes.build_worn_icon(default_layer = SHOES_LAYER, default_icon_file = 'icons/mob/clothing/feet.dmi', override_icon = icon_file, mutant_styles = applied_styles)
@@ -154,6 +165,45 @@
apply_overlay(SHOES_LAYER)
/mob/living/carbon/human/update_inv_gloves()
remove_overlay(GLOVES_LAYER)
if(client && hud_used?.inv_slots[TOBITSHIFT(ITEM_SLOT_GLOVES) + 1])
var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_GLOVES) + 1]
inv.update_appearance()
if(!gloves && blood_in_hands && (num_hands > 0) && !(NOBLOODOVERLAY in dna.species.species_traits))
var/mutable_appearance/bloody_overlay = mutable_appearance('icons/effects/blood.dmi', "bloodyhands", -GLOVES_LAYER)
if(num_hands < 2)
if(has_left_hand(FALSE))
bloody_overlay.icon_state = "bloodyhands_left"
else if(has_right_hand(FALSE))
bloody_overlay.icon_state = "bloodyhands_right"
overlays_standing[GLOVES_LAYER] = bloody_overlay
var/mutable_appearance/gloves_overlay = overlays_standing[GLOVES_LAYER]
if(gloves)
gloves.screen_loc = ui_gloves
if(client && hud_used?.hud_shown)
if(hud_used.inventory_shown)
client.screen += gloves
update_observer_view(gloves,1)
var/icon_file = gloves.worn_icon
var/applied_styles = NONE
if((gloves.mutant_variants & STYLE_VOX) && dna.species.id == "vox")
applied_styles = STYLE_VOX
icon_file = gloves.worn_icon_vox || 'modular_skyrat/master_files/icons/mob/clothing/species/vox/hands.dmi'
overlays_standing[GLOVES_LAYER] = gloves.build_worn_icon(default_layer = GLOVES_LAYER, default_icon_file = 'icons/mob/clothing/hands.dmi', override_icon = icon_file, mutant_styles = applied_styles)
gloves_overlay = overlays_standing[GLOVES_LAYER]
if(OFFSET_GLOVES in dna.species.offset_features)
gloves_overlay.pixel_x += dna.species.offset_features[OFFSET_GLOVES][1]
gloves_overlay.pixel_y += dna.species.offset_features[OFFSET_GLOVES][2]
overlays_standing[GLOVES_LAYER] = gloves_overlay
apply_overlay(GLOVES_LAYER)
/obj/item/proc/build_worn_icon(default_layer = 0, default_icon_file = null, isinhands = FALSE, femaleuniform = NO_FEMALE_UNIFORM, override_state = null, override_icon = null, override_x_center = null, override_y_center = null, mutant_styles = NONE)
//Find a valid icon_state from variables+arguments
@@ -262,7 +312,7 @@
var/applied_style = NONE
if(dna.species.id == SPECIES_VOX)
applied_style |= STYLE_VOX
icon_file = 'modular_skyrat/master_files/icons/mob/clothing/eyes_vox.dmi'
icon_file = glasses.worn_icon_vox || 'modular_skyrat/master_files/icons/mob/clothing/species/vox/eyes.dmi'
overlays_standing[GLASSES_LAYER] = glasses.build_worn_icon(default_layer = GLASSES_LAYER, default_icon_file = 'icons/mob/clothing/eyes.dmi', override_icon = icon_file, mutant_styles = applied_style)
var/mutable_appearance/glasses_overlay = overlays_standing[GLASSES_LAYER]
@@ -50,7 +50,7 @@
/obj/item/clothing/head/nanotrasen_representative/beret
name = "nanotrasen representative's beret"
desc = "A beret made from durathread, it has an insignia on the front denoting the rank of a Nanotrasen Representative."
desc = "A beret made from durathread, it has an insignia on the front denoting the rank of a Nanotrasen Representative."
greyscale_config = /datum/greyscale_config/beret_badge
greyscale_config_worn = /datum/greyscale_config/beret_badge/worn
greyscale_colors = "#3F3C40#155326"
@@ -0,0 +1,27 @@
/datum/greyscale_config/jumpsuit_worn/vox
name = "Worn Jumpsuit - Vox"
icon_file = 'modular_skyrat/master_files/icons/mob/clothing/species/vox/color_gags_vox.dmi'
/datum/greyscale_config/jumpsuit_prison_worn/vox
name = "Worn Prison Jumpsuit - Vox"
icon_file = 'modular_skyrat/master_files/icons/mob/clothing/species/vox/color_gags_vox.dmi'
/datum/greyscale_config/sneakers_worn/vox
name = "Worn Sneakers - Vox"
icon_file = 'modular_skyrat/master_files/icons/mob/clothing/species/vox/color_gags_vox.dmi'
/datum/greyscale_config/sneakers_orange_worn/vox
name = "Worn Orange Sneakers - Vox"
icon_file = 'modular_skyrat/master_files/icons/mob/clothing/species/vox/color_gags_vox.dmi'
/datum/greyscale_config/beret/worn/vox
name = "Beret Worn - Vox"
icon_file = 'modular_skyrat/master_files/icons/mob/clothing/species/vox/color_gags_vox.dmi'
/datum/greyscale_config/beret_badge/worn/vox
name = "Beret With Badge Worn - Vox"
icon_file = 'modular_skyrat/master_files/icons/mob/clothing/species/vox/color_gags_vox.dmi'
/datum/greyscale_config/beret_badge_fancy/worn/vox
name = "Beret With Fancy Badge Worn - Vox"
icon_file = 'modular_skyrat/master_files/icons/mob/clothing/species/vox/color_gags_vox.dmi'
@@ -0,0 +1,74 @@
/obj/item/clothing/head/collectable/beret
greyscale_config_worn_vox = /datum/greyscale_config/beret/worn/vox
/obj/item/clothing/head/collectable/flatcap
greyscale_config_worn_vox = /datum/greyscale_config/beret/worn/vox
/obj/item/clothing/head/frenchberet
greyscale_config_worn_vox = /datum/greyscale_config/beret/worn/vox
/obj/item/clothing/head/flatcap
greyscale_config_worn_vox = /datum/greyscale_config/beret/worn/vox
/obj/item/clothing/head/caphat/beret
greyscale_config_worn_vox = /datum/greyscale_config/beret_badge/worn/vox
/obj/item/clothing/head/beret
greyscale_config_worn_vox = /datum/greyscale_config/beret/worn/vox
/obj/item/clothing/head/hos/beret
greyscale_config_worn_vox = /datum/greyscale_config/beret_badge/worn/vox
/obj/item/clothing/head/beret/sec
greyscale_config_worn_vox = /datum/greyscale_config/beret_badge/worn/vox
/obj/item/clothing/head/beret/science
greyscale_config_worn_vox = /datum/greyscale_config/beret_badge/worn/vox
/obj/item/clothing/head/beret/durathread
greyscale_config_worn_vox = /datum/greyscale_config/beret_badge/worn/vox
/obj/item/clothing/head/beret/centcom_formal
greyscale_config_worn_vox = /datum/greyscale_config/beret_badge/worn/vox
/obj/item/clothing/head/beret/sec/navywarden
greyscale_config_worn_vox = /datum/greyscale_config/beret_badge_fancy/worn/vox
/obj/item/clothing/head/beret/medical
greyscale_config_worn_vox = /datum/greyscale_config/beret_badge/worn/vox
/obj/item/clothing/head/beret/engi
greyscale_config_worn_vox = /datum/greyscale_config/beret_badge/worn/vox
/obj/item/clothing/head/beret/atmos
greyscale_config_worn_vox = /datum/greyscale_config/beret_badge/worn/vox
/obj/item/clothing/head/beret/cargo/qm
greyscale_config_worn_vox = /datum/greyscale_config/beret_badge/worn/vox
/obj/item/clothing/head/hopcap/beret
greyscale_config_worn_vox = /datum/greyscale_config/beret_badge/worn/vox
/obj/item/clothing/head/beret/blueshield
greyscale_config_worn_vox = /datum/greyscale_config/beret_badge/worn/vox
/obj/item/clothing/head/flatcap
greyscale_config_worn_vox = /datum/greyscale_config/beret/worn/vox
/obj/item/clothing/head/frenchberet
greyscale_config_worn_vox = /datum/greyscale_config/beret/worn/vox
/obj/item/clothing/head/sec/navywarden/syndicate
greyscale_config_worn_vox = /datum/greyscale_config/beret_badge/worn/vox
/obj/item/clothing/head/nanotrasen_representative/beret
greyscale_config_worn_vox = /datum/greyscale_config/beret_badge/worn/vox
/obj/item/clothing/head/beret/sec/peacekeeper/armadyne
greyscale_config_worn_vox = /datum/greyscale_config/beret_badge_fancy/worn/vox
/obj/item/clothing/head/beret/sec/peacekeeper
greyscale_config_worn_vox = /datum/greyscale_config/beret_badge/worn/vox
/obj/item/clothing/head/beret/sec/navywarden/peacekeeper
greyscale_config_worn_vox = /datum/greyscale_config/beret_badge_fancy/worn/vox
@@ -0,0 +1,5 @@
/obj/item/clothing/shoes/sneakers
greyscale_config_worn_vox = /datum/greyscale_config/sneakers_worn_vox
/obj/item/clothing/shoes/sneakers/orange
greyscale_config_worn_vox = /datum/greyscale_config/sneakers_orange_worn_vox
@@ -0,0 +1,2 @@
/obj/item/clothing/under/color
greyscale_config_worn_vox = /datum/greyscale_config/jumpsuit_worn/vox
@@ -0,0 +1,2 @@
/obj/item/clothing/under/rank/prisoner
greyscale_config_worn_vox = /datum/greyscale_config/jumpsuit_prison_worn/vox
@@ -0,0 +1,53 @@
https://github.com/Skyrat-SS13/Skyrat-tg/pull/7522
## Title: Vox sprite fixes, updates, and additions
MODULE ID: VOX_SPRITES
### Description:
Ports the Vox species and clothing sprites from Paradise plus some new GAGS-compatible ones, and adds code to support them.
### TG Proc/File Changes:
- APPEND: code/game/objects/items.dm > /obj/item/update_greyscale()
- APPEND: code/modules/mob/living/carbon/human/human_update_icons.dm > /mob/living/carbon/human/update_inv_gloves()
### Defines:
- N/A
### Master file additions
Species sprites:
- modular_skyrat/master_files/icons/mob/body_markings/vox_secondary.dmi #CHANGE
- modular_skyrat/master_files/icons/mob/species/vox_eyes.dmi #CHANGE
- modular_skyrat/master_files/icons/mob/species/vox_parts_greyscale.dmi #CHANGE
- modular_skyrat/master_files/icons/mob/sprite_accessory/vox_facial_hair.dmi #CHANGE
- modular_skyrat/master_files/icons/mob/sprite_accessory/vox_hair.dmi #CHANGE
- modular_skyrat/master_files/icons/mob/sprite_accessory/vox_snouts.dmi #CHANGE
Clothing sprites:
- modular_skyrat/master_files/icons/mob/clothing/head_vox.dmi #CHANGE
- modular_skyrat/master_files/icons/mob/clothing/mask_vox.dmi #CHANGE
- modular_skyrat/master_files/icons/mob/clothing/species/vox/back.dmi #ADD
- modular_skyrat/master_files/icons/mob/clothing/species/vox/color_gags_vox.dmi #ADD
- modular_skyrat/master_files/icons/mob/clothing/species/vox/ears.dmi #ADD
- modular_skyrat/master_files/icons/mob/clothing/species/vox/eyes.dmi #ADD
- modular_skyrat/master_files/icons/mob/clothing/species/vox/feet.dmi #ADD
- modular_skyrat/master_files/icons/mob/clothing/species/vox/hands.dmi #ADD
- modular_skyrat/master_files/icons/mob/clothing/species/vox/head.dmi #ADD
- modular_skyrat/master_files/icons/mob/clothing/species/vox/helmet.dmi #ADD
- modular_skyrat/master_files/icons/mob/clothing/species/vox/suit.dmi #ADD
- modular_skyrat/master_files/icons/mob/clothing/species/vox/uniform.dmi #ADD
### Included files that are not contained in this module:
- N/A
### Credits:
Vox species and clothing sprites - Paradise Station
PR Code - SabreML
PR Sprite implementation & GAGS compatibility - CandleJaxx