From 9230082c4f67e0bad5527efcf5f17b9cea2bbce0 Mon Sep 17 00:00:00 2001 From: Tastyfish Date: Tue, 7 Feb 2023 21:42:54 -0500 Subject: [PATCH] [NON-MODULAR] Fix vox with normal legs shoes, fix edge case birb/snout clothing rendering (#18914) * Fix vox with normal legs shoes, fix edge case birb/snout clothing rendering * Code owners * Restores screenshots from before regression --- .github/CODEOWNERS | 4 ++ .../living/carbon/human/human_update_icons.dm | 64 +++++++++++------- ...nshot_humanoids__datum_species_teshari.png | Bin 1176 -> 1211 bytes ...creenshot_humanoids__datum_species_vox.png | Bin 1205 -> 1234 bytes ..._humanoids__datum_species_vox_primalis.png | Bin 1257 -> 1293 bytes .../mob/living/carbon/human/species/vox.dm | 4 +- 6 files changed, 44 insertions(+), 28 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 9ff852f991d..d9e65bca298 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -34,6 +34,10 @@ /modular_skyrat/modules/contractor/ @Zonespace27 /modular_skyrat/modules/lorecaster/ @Zonespace27 +# Tastyfish +/code/modules/mob/living/carbon/human/human_update_icons.dm @Tastyfish +/modular_skyrat/modules/customization/modules/mob/living/carbon/human/custom_bodytype.dm @Tastyfish + # Multiple Owners # Maptainers 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 13a10774b68..8240f58bee1 100644 --- a/code/modules/mob/living/carbon/human/human_update_icons.dm +++ b/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -205,8 +205,9 @@ There are several things that need to be remembered: // SKYRAT EDIT ADDITION var/mutant_override = FALSE if(dna.species.bodytype & BODYTYPE_CUSTOM) - icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_GLOVES, gloves) - if(icon_file) + var/species_icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_GLOVES, gloves) + if(species_icon_file) + icon_file = species_icon_file mutant_override = TRUE // SKYRAT EDIT END @@ -241,8 +242,9 @@ There are several things that need to be remembered: // SKYRAT EDIT ADDITION var/mutant_override = FALSE if(dna.species.bodytype & BODYTYPE_CUSTOM) - icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_GLASSES, glasses) - if(icon_file) + var/species_icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_GLASSES, glasses) + if(species_icon_file) + icon_file = species_icon_file mutant_override = TRUE // SKYRAT EDIT END @@ -277,8 +279,9 @@ There are several things that need to be remembered: // SKYRAT EDIT ADDITION var/mutant_override = FALSE if(dna.species.bodytype & BODYTYPE_CUSTOM) - icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_EARS, ears) - if(icon_file) + var/species_icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_EARS, ears) + if(species_icon_file) + icon_file = species_icon_file mutant_override = TRUE // SKYRAT EDIT END @@ -309,8 +312,9 @@ There are several things that need to be remembered: // SKYRAT EDIT ADDITION var/mutant_override = FALSE if(dna.species.bodytype & BODYTYPE_CUSTOM) - icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_NECK, wear_neck) - if(icon_file) + var/species_icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_NECK, wear_neck) + if(species_icon_file) + icon_file = species_icon_file mutant_override = TRUE // SKYRAT EDIT END @@ -351,8 +355,9 @@ There are several things that need to be remembered: icon_file = worn_item.worn_icon_digi || DIGITIGRADE_SHOES_FILE // SKYRAT EDIT CHANGE mutant_override = TRUE // SKYRAT EDIT ADDITION else if(dna.species.bodytype & BODYTYPE_CUSTOM) - icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_SHOES, shoes) - if(icon_file) + var/species_icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_SHOES, shoes) + if(species_icon_file) + icon_file = species_icon_file mutant_override = TRUE else if(dna.species.bodytype & BODYTYPE_HIDE_SHOES) return // We just don't want shoes that float if we're not displaying legs (useful for taurs, for now) @@ -410,12 +415,14 @@ There are several things that need to be remembered: // SKYRAT EDIT ADDITION - This needs to be refactored. var/mutant_override = FALSE if(dna.species.bodytype & BODYTYPE_CUSTOM) - icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_HEAD, head) - if(icon_file) + var/species_icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_HEAD, head) + if(species_icon_file) + icon_file = species_icon_file mutant_override = TRUE - if((!icon_file || icon_file == 'icons/mob/clothing/head/default.dmi') && (dna.species.bodytype & BODYTYPE_SNOUTED) && (worn_item.supports_variations_flags & CLOTHING_SNOUTED_VARIATION)) - icon_file = worn_item.worn_icon_muzzled || SNOUTED_HEAD_FILE - if(icon_file && icon_exists(icon_file, RESOLVE_ICON_STATE(worn_item))) + if((icon_file == 'icons/mob/clothing/head/default.dmi') && (dna.species.bodytype & BODYTYPE_SNOUTED) && (worn_item.supports_variations_flags & CLOTHING_SNOUTED_VARIATION)) + var/snout_icon_file = worn_item.worn_icon_muzzled || SNOUTED_HEAD_FILE + if(snout_icon_file && icon_exists(snout_icon_file, RESOLVE_ICON_STATE(worn_item))) + icon_file = snout_icon_file mutant_override = TRUE // SKYRAT EDIT END @@ -448,8 +455,9 @@ There are several things that need to be remembered: // SKYRAT EDIT ADDITION var/mutant_override = FALSE if(dna.species.bodytype & BODYTYPE_CUSTOM) - icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_BELT, belt) - if(icon_file) + var/species_icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_BELT, belt) + if(species_icon_file) + icon_file = species_icon_file mutant_override = TRUE // SKYRAT EDIT END @@ -484,8 +492,9 @@ There are several things that need to be remembered: // SKYRAT EDIT ADDITION else if(dna.species.bodytype & BODYTYPE_CUSTOM) - icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_SUIT, wear_suit) - if(icon_file) + var/species_icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_SUIT, wear_suit) + if(species_icon_file) + icon_file = species_icon_file mutant_override = TRUE // SKYRAT EDIT END @@ -551,12 +560,14 @@ There are several things that need to be remembered: // SKYRAT EDIT ADDITION var/mutant_override = FALSE if(dna.species.bodytype & BODYTYPE_CUSTOM) - icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_MASK, wear_mask) - if(icon_file) + var/species_icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_MASK, wear_mask) + if(species_icon_file) + icon_file = species_icon_file mutant_override = TRUE - if((!icon_file || icon_file == 'icons/mob/clothing/mask.dmi') && (dna.species.bodytype & BODYTYPE_SNOUTED) && (worn_item.supports_variations_flags & CLOTHING_SNOUTED_VARIATION)) - icon_file = worn_item.worn_icon_muzzled || SNOUTED_MASK_FILE - if(icon_file && icon_exists(icon_file, RESOLVE_ICON_STATE(worn_item))) + if((icon_file == 'icons/mob/clothing/mask.dmi') && (dna.species.bodytype & BODYTYPE_SNOUTED) && (worn_item.supports_variations_flags & CLOTHING_SNOUTED_VARIATION)) + var/snout_icon_file = worn_item.worn_icon_muzzled || SNOUTED_MASK_FILE + if(snout_icon_file && icon_exists(snout_icon_file, RESOLVE_ICON_STATE(worn_item))) + icon_file = snout_icon_file mutant_override = TRUE // SKYRAT EDIT END @@ -586,8 +597,9 @@ There are several things that need to be remembered: // SKYRAT EDIT ADDITION var/mutant_override = FALSE if(dna.species.bodytype & BODYTYPE_CUSTOM) - icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_MISC, back) - if(icon_file) + var/species_icon_file = dna.species.generate_custom_worn_icon(LOADOUT_ITEM_MISC, back) + if(species_icon_file) + icon_file = species_icon_file mutant_override = TRUE // SKYRAT EDIT END diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_teshari.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_teshari.png index fc532c5199ad99459b0d1fa90d4cba6ad9428eb8..a74486a801206c3b7e7d1409153c4aff335a88fd 100644 GIT binary patch delta 929 zcmV;S177@?3A+i9Bmu6GC0HalHa2)(JeinvH8mztPg^P~DukPCo_tPGKPa7hPC!5} zdwN@uk2VA()+lI^$$@`LNkl4Jtq5Tbsl@CU=;z<20!IFz^!gO5hsA$xK( zk}mx+<~+W1=qgE+OHb8!tWvb%GEK59!F5liS}C0>RL`@?B+GHVNOf^lqyDO-~ z1KVHR-K7f?-Ja@kWXdeB>pUw>6!!tb@qL*-Jf!9QIP3v{uF9;gvr_fyUd%nC3atxe zJl-=yr8Sx z2OP;593*GF@Vo>Xr|XU7DQK|C_nY~rf45H($4eJp%Sp1|eG>BSzxwcJd!r26ykT4= zP_WNF2o>1#YI?K*=sk|N?(BLoE6mX*rWLH=2rz%y1HiF>+08Wo_LCz3Y@wOf$6Ek` zajoEZ3-z>t6*Th$pxo^X7r{VySeRnJD-VEq(_Pv_MOnN60pi1`&p(2Qp$wE9{9gM$ zb@NV;rYK%sO~B*+lNj^ByuK8Lc|T2UbCBxRB1CAQyBA}`-x0=8piL;O{V;z=Xj&me z97AQ!8pq?_4Ro6TQEL;&P~0~47pq7+ zK~z|U?UrqGqA(PN33-7fTd@Qr7z37;s@0;l|Np=34Xv$KZrqvux|voS&OJ{^%y3T- z{2v#CTwJb3c=hF{pOUl7wf}UVP=r7jC7ct=#sNeCfphQ+56D$t7i zA}`Av*8^2(rF5ZCy(;JPvch#!XroPGkP4MAs`^Fq#I_wJsc>(BlNF^Qu`cn<^jI9})}8w{8z?@^GzZiLJ}3ZL6}jNj3(EXODI9 z^ipmx~j{zEo(KZ2N@5nGFlsD13ogtpx0ejBf6`w;0J>B=xvMYFci3ffgcq8 z+_ulS4h70uT6+K+5Z4=Ae{p~pT;J~8 z=WdJYukP~|)&Gyc1p}-t{#_9fSYtjfVgzl@A-zp-ek@HJ^r^c^rf>!EE;%*Gr;@+ z0RJ8U;4nV}z!JJee|x?JARzg{wFK9Czn9Q1I(UL^c>>h?gYgkQ{N}K)Pk?1NT>4W* zZH_>I_%I#wPa$G}|7cGBp#Pk@`y@zf%<;`eJR3iW8ISDS(HQ%An)>b}wY@`#81~qh z8R8!ZGbqqD7S4W}e;{XLRN4!zYuk1RYC{Xh2DJ7e z!a;F2Uf}nC5PTEd^4}z=mGz_pH=w{9FxH#(yU+g)1>PxkyY0pkFgBa*Zg+X>57wGS UXQN~*ssI2007*qoM6N<$f;W|(S^xk5 diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_vox.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_vox.png index b275b1afeb30fa4e1addaae56fd6f09029896bc5..27b737d42fc7b1183f4670007ea4e37b2fbd0cb4 100644 GIT binary patch delta 962 zcmV;z13mn;3DOCWBmt$7B}^nZHZ}ly006cCnV5AoH6{R*0E&u=gqv&tqyQ@`D?mUm zdwN@uhB*YmV#I!t!-0QlNkl48{u^Dt4Dp>t%yhL`6kWwz>EFf3!F0 z(4#Dw=lG}LaGAd+&)QH)l=@>aq8Q*~#Nz=T#S?r)1DrzUN0=QCIE(|0<0Hx77^y;y zWH5@u3gcsepNytce49?CDvaU@MLar@9B=^&mmnG77AQZK^09wL;Z3YTSL1;ypLQfV z6?v?+j%A*tFbd>a&vbZl90ib^fw?enmH=x2Itw+(G{;p6kmSZ(8j~jgi~+#s7C5e~ zwYUYiyuvNuXO4e=8gRTQ3q=O=#Uf9_RiEd3gPh^2bSUs>aDBZ%fh#$lXB0Wdi*o7I zO_C?`B)4bTyW%eJAV39O_c_9p zBz>;#@j(o56=XoyeU3OKL7#_96r@(!v^yq;2E<+9j^TeHz8i4-s{t#3v`~d?kh;KK zDjC4ufIFzf3pzjeECd5Qt@z~>OXi$*QMkZe?-cH1y?%IDD|%V~ia$O*J+3!uv!)L$ z->d^)Z&CbOnV&d(NFo<{%H*8>4?NE>B)}S zrG`KLY!H7<;*%(zP8rpBI*p^PJbrvQVEd1^+ex2Hw%g$e>C+*KCQLp$OrmHgUsJ&A z+v`q6{I?LP9byPVCO^xn8i{?|$v4@(S(MZjcF2DIEUTeu8f|y)QvUnSYLq~Y;sXcF zuWF0XYY=}>@D~TPN0F_o0|#AYwEAG+eIq#7#`}NH0L5AL-9cw{Z86nWB#;c6rm|>b z>pDBAV<@2oZ@W9l23}hawqM4s1~dbBY|&B;;0pIZs$LBg^?r14t)~?TqpF=RR&(FF zke?qw?EO{Umd;ZRMT6_b+`F>H9pr}wih92*U3+tJd2VPKL9ze% z72tpHuxg#-b3@#1Ko>0SyN)5`Njw k5OQ?QUpCm!2w&qrngD5YUWo?(00000Nks-uM6N<$g5Z9?0ssI2 delta 932 zcmV;V16%yk3AG83BmtI@B}^3ndH?{n005K#ii(N=qyQ@`E5yXak(D_FuiX?ukx-u*lO2^DBj4FV<_k zt=C!=7Ws-JUtDVrSb)J2Gy`mb^K&hKA2mvEY7NF3&s6zlB-xG1b8Bs`^P*&jtSn^3 zjV*0eRd`h#%A%%)Sx{Y+3b)l}v#G4cU2*Hkle;aPq$pj=X9tBltiatltiTBhaBDX< zJtYnS6}RN>9o-fr8j!704Js>fQxX-ma}Und1(9Gt^sxnr8}B`~Ko5j1;IqVkKMW+^ zw2k>NNLN!{pABk(n>IiYlR<+0XZl3XAMpy+K@b#1fmn@j_bO}M}jW5Sz za%sRkBpw8w;!gvK|85`(sBBDsqZ^bV@la|8bT*I z9ww*o9J}4uuRFspyT9Tu-@d)<_GZ814$we}eU5QIgfBf7aTjkeTzFrHe<$9feX9s=!_~n51 zpC1mZDOnv3^ApmCLzbEz|9;eOa(wrY zbSHGkY5u0_sPB90k3Y2hA4hK?p$_5;2jrhR4;U?}KPdRcAsZp`-RZ)?o+@5_GKjHP z9DE<+XaI3_`qRNyUFVU1>Q5}t4Ep}$VdJ~5x~O9+p{MA_JLm?{`bd6S#<2!G14OiF ztp@1ak%xn64Gi~wID{ec3Y1Ybtso8|<<}Pwz5mn=ZHQb$&48;ILpxvx^`(K~-XGd9 zJl;RtIoZM8J={MI5J6hV_XyYn4vPONuK))PI|y=ail^ZT`O(XFXA$-9dq`#sp5t>e zkhhQwAeqbWKR4)S9Edm{1~P^LJLu;G{g+TdEuS4wN79;eG6*y@bN`LaKx%g%4ccKp z!_9tZXAM&GpK;iaGs2vJhl4i_zny0YJ;vs*8=Pl^-{XJH)?y`4Ltyv-0000tSW|3BARq`UKzSovPwt)G$1 zu){J&>`JK%t1jA-UBi_oG^AzxqAl_h8DofqIV!kXXO)CwYHc?4#^@YK0k6n9<1DU1 z2n7Ec3?i=G79W8h_QBTmuCA>S@GWWL?+1U0;AUqwyN%gd0e4$s+ujKHt+rr*za+DE zHh=W3#86pN8@sX(prLV<}}IPxJ8j`1GKf zINwb+#ctna4RDQV@x1s(`%Lid+v9`Ri|u5M>-Jg2L)drDEC_I#_&-12f65W~<(WcO z2WW6O9H2qacCp{7@|5roJUu@@Kaqc5JP;!u*!on!eS@PgO+qFdjYoJDX_QZL?7q6Nbfmfbg-NrEiel0}6H>H6T z4Jl2(=lC!r`is&q6!6?by3z_?dJq1OR110jJAOQV|9({59N&e%{P^*5JgI-vk#CCl z>6r23sferBmzUSqvpT=>%{%b_$KI-y>S461dRxUg$4kjo88P)=1VCgrWeQ_9maC7| z5D>smTW{(DgF(0bc_joekVctc>~0S1ka#WJulOr#>BgGff?=0Cu|BDI_}jlWw~q4Q z8Ib)QhjER--jcRHE`N-3eXP|_;{OXE;6WaV7NE1{Qif2KfXvhqfg3jlvw!PUvH)emY+{woZpu|`-M uz{SB?g3nV8A={Yz&qDHhJ5M#jrTqp+%UNW8czf^w0000ZucMn delta 988 zcmV<210(#63h4=uBmsw!C0+@&wY4iNE5yXak((q09yjJ4k;8$1pGibPR9JNxHHe_v;j+VhiG`CeYv&q!w2VHqQKrPPg8H*Lx8;Yt%4 z(lUP27Ws*cF+{=~6eO2RR`lF|&E5*Q+Y#IDLBJoi1q1vgnYFX|qaP)P%9_U5jeP(OjjJSo z*4e^e)JSRb^z>xpeWH|aZR^dyrZ!Dqf;+lYBo2NNt@-{AalTEQ7`m6!2F|D2#-)jGx!0Xj^ zvc~m8R`D2y-kB8vP80v-<@Ef|^XcV_U!N&tb$|xP;}IGJZCCr9Do<(N2Z{XZftc{X zR>XaaqcF{X0wx@ei#6QCv4R;N=MjrF+`|!J%l}jw-N+Z!E@H$A6p%F5xmBw*P^&z9 z;=JICSM7qpE6=X3c1(a@D-rNbX(UBsO7rg}K8}h0r8JHOJok{Uw8ED@g8!CkCC~rI z&*!gS&x)J#hw#^L-(Jrbbvg4*5x<->e!diO_4fLI`u28J*EhcT0RCs}z1pZACabFV zO`LPQlw6e&Q~yl>M7Azd7*kuWJ~l%@0N-s>Hw6ZRZu|XC2w)(MGQrsW64)d0TDafw zSJu*lHTxCAK6he$Qt|N1zcG)F^56xK{T+vKkH9{XwsuWmt-enXg0YT|k7`*cp>E(a z1Pnoc%oFB_G4;?I@i^$Qv=+C)pE)P}@eC~+sk5OfRrW#>u02c>W3BJxXgltptzY59k{W{kOxAqhDfK+yT!LQ%|0000< KMNUMnLSTY5qvF>9 diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/vox.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/vox.dm index 5c505316342..5a97ca934ec 100644 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/vox.dm +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/vox.dm @@ -94,8 +94,8 @@ if(item_slot == LOADOUT_ITEM_SHOES) var/obj/item/bodypart/leg = bodypart_overrides[BODY_ZONE_L_LEG] || bodypart_overrides[BODY_ZONE_R_LEG] if(initial(leg?.limb_id) != "digitigrade") - // normal legs, force using human shoes - return item.worn_icon || item.icon + // normal legs, use normal human shoes + return DEFAULT_SHOES_FILE return item.worn_icon_vox