From bbc5effe883b369f00a38b35136212549e5ed95b Mon Sep 17 00:00:00 2001 From: c0ffee Date: Thu, 25 Apr 2024 11:58:34 -0700 Subject: [PATCH] Fixing texture path issues --- 1.5/Assemblies/Rimworld-Animations.dll | Bin 42496 -> 42496 bytes .../HarmonyPatch_PawnRenderNode.cs | 6 ++++- .../PawnRenderNode_GraphicBodyTypeVariants.cs | 14 +++++++--- .../PawnRenderNode_GraphicHediffVariants.cs | 11 +++++--- .../PawnRenderNode_GraphicVariants.cs | 25 +++++++++--------- 5 files changed, 34 insertions(+), 22 deletions(-) diff --git a/1.5/Assemblies/Rimworld-Animations.dll b/1.5/Assemblies/Rimworld-Animations.dll index e80e0c8ea2920253ada67eb2c324d0ee2f26fb35..d874baa0f8af2f00c52d099f73b552120d7edc4c 100644 GIT binary patch delta 10691 zcmb7q3wTu3wg1}ZH8W@4k4!RQlFUqiJOD|6#DEAy-Y)?G2?$DfC?LvHkPO>2}JUuFKT=DDbp-&phdgPudX~ldBoL-68sy4F9}qbJQ`r)3;Qo5eH9YE7HdD;B{3P?)> z_@>>|UN$Go-BWiYWf-rO>=kpLTq<^&U&*=RRda-r>*|JvLCf$p?C2qOnd_8X@ndYK znBOWv^R(hL-%;`!yy`}`c%xx^piCBTHT*Lrq1hz37jui7^P;0g!u(})swip5%h)JH zws|14L9{iW$QmfxnLo+;p=jSQDz;c?IRO3zZ<`;*JBWSejd)zto6$s>$Tgoz6o@Cy zU5Rz#M`mGmXZtoxAGF+;8fIiGqJ18kfi!aI-vIR7Iuc1E=UhXgYoVL6%ihs}x^?FB zZHJ3G^K9EeMn1)Phf5$W8%HIOM`CFjuxG(v&~DB@5Fo!-*3AX`v9F!9Y$7Vk?lB}q?YpD%AC1qg&&f2mbRWm@Lg=Q@wT?cRzgB^{x&KW8Le374nit#ku|0==oS$czo!hrDuoG81;SPFA|T z%p>hR{vgaRR&Qrn@|AhHeK*l)#&i0KpPP^7bV_DC(0nncZ>MC&AflA=7unt`s{?=iN5O+5W@02Q`!|9z5itc8-U@8WGreJa69t^wS z7g%Xsla@`!;(-=kR*vtvozN|=w)f1;!Y-nxIjZmv;&n5(OM!UP9N%T7xYzuw%U)cl z>$>KPUgl4_ekeMdE4v*Kz0G@za#CqMqQ|AQAeUiQik6=#<-Th!Eh_J|sVzYEa)58~ zeP06GqZiJf`Q&2@Fn8EH5a3G(_Kh74b)x`qwLtd3v4i`O4EesWnO>Y9AA%H;7i6T$NOO~%ul8MJ&t_829N550~tSN z+{xI;_&Mv;IwI&{0b@S*Uw6!MYanO5?A728B30JmB^Nk6FiXCZyO;)zoYoCQ z9bEB{>Vcb49S2aWl2sSf*P&ZhzYHBxRl;Tr9EOYWa}w6i{<1d=F3&khhr>bAFUO=k z1}x@M{HK>3RiPjZ?d<2I01Uy90Vqiju8}GH%Ur;L-j~pYO(y)Ui||pI5}g<#O;8AT zAZl<3>lcPHKZPudljd%FNY&sQjjDSx<)w%Q#u0R?!JjlD0sZ~34qlnEYvwXG@obfF za&L3i>(WTNf=68Gp|+R%Z!-48Nz|cxh_C=PHFzaX)vD*I!3BiogtQthNhRH>Fg4)jqseKt&g9gZb`3s? z=lcV&94AGGPrRf*HbMHYbG3#AD2Z>>mvFwTd6oPzLhWo!IsgF&P0blQ*_Ly)JQ-l% zhe6Juxu3&@{Rcb!0ip-42k1lMOd;t^F70Luwep5n7BHfqZ`$dSlx_RU{f5#vJK6@Qg$#_@57|!WEIy7WQHW zF)u#o1wM4vyDB1M>3Pg-u)QJ@g8=ScNH$a<76d!95Sz#BP?F7OHnL4c8uM5v>6{?KwPk7_jl@vegeah|$VdE2P;HJoX#icKyEP4ZNOfXl3>OuwPMZ6ghe%j$f7-Xj6@f~N!Hv*1IRY;;Yli(E4I&W5V>S&U=In-S zVv^PQaQ#Q%tt5RBj|vgElw^Z_b?8*bqcj-~_SL(h5M$O1Z{Qv#25XY6D)opf24#4P zCCw|iykfBLE{m-V{1#<>Iuon1U-38E;xL?H{?>K|{Gx?^;)=s@%MFlW0=`Hxa*DfCylB7? z^72aHQT7%)<4QnVX3cDeo0%jdyKI=mtR`(k_|Gn0TAbQa`$^M!`EDS(6I|^LWfM@?g-5m<3XUB z6~9^C6bZWv;WsR_!gqyFm^A~*y29kHw*wZzY-X0M2u?Dqf{B@N_ua4rFF9_dRst*T zVC(N-Z+7GO&Gv_#IqniT#KLCi9Zge9psf3CH{GF}nN`H@u&_n;j@lgzX3g+Z+-&!N zt*tbBz#(RvVMV;7y9cDvw>%IlarcDs9z1@lh`nHTi?Gz)3&!=l9ljq-W=4jS-TlB$ zw{gkh4}cJ}&9FB9xO)IhOtKa6r`&_!cq`4J@M()|m3t^$L5AbE!ViOgwg}g|he6lg zw?mA8p3Erx7WW94n`CR_+uft!atnLgJsN_2ZrhE4C^Jg!r|vP(R7$eVa3%T+_gJ__ z%mAyT4?^fZOSl46AA}}mR%+wmcv7}D{!8~b_*as7LdV_X!PnQa(*oz+6Cj6~WmgUb zcd+hvu=|)9w^WC=2%U~{n8vILj)lH3}9f8IU|_AzUMBJV-_Z0Lh` zLG%sqWv0XPB-Amp?B>C4i^1oaVb46c)FN{_=7U0a&Cnza8sSsW$D*9fBB)@t3VzTg z!?Os^GqapN4VRfU!=;S7JWoT}U=9x#eXlzz;50K!(|`*}89jsy*iP3`$+c#{Ze}?3 z20oJv_@qVH=rG_ivt}5HAHzy`ZkQEfbDD8ssRCsNuh z-yqKlIMl+*JgcEC-kg&xftqV!RSPqwd)7f+l6rlQd)C93Np`pAY0n10<&J;Wn5rSn zY$dc4%RSXl&`P!ux+i5fV7X@_jBX{{1QT1?ZGuHf_J~++cxqr%E7j*=TT)1Fo`;4c z8;$`@_>h_PiFpA|wX%Bw{*=_r!mZ{DaI=+WE$Aa}526-=%vRzdY?a5Tg*L5(o1tw| zSR}e(xhj%u4({hRL;9%OZZ<x*=yY%$=NMa7s5QvF?0=!^|O_GwafHf57%3uMtD8P18q@FbMwFta9R3luP02`(X_ zW}jBFtuQz#I|o1X&_$@g9k7I#7`-#``9s9&`oG~W7hQOhtqf1a@ZJpuXyl=Tm--7L zx7t?Ezr!*o>KMRpFwsY5QOrmNH=_9edK5g_Q2&kq;RH8fHK#r{oko)pq@Mq&{Vd+A zN^nB<`Q)Ug)r0$g2}4#R;;pvd=Tnp7FE9)lkkkLEZArhytA7C*D&c9wTcf9XNbq|e zjMaY%YbJA@6t0j8HMsx6BW7zQt8{2^nI(_o-KU=L%52R z5cL?h4UY1hO~ZsFsKar~@J86@Q{eFcRb`0B=fk6_-RHAGJ*mK``at& z-}V0*M=yBvttw=EuUs^G8RRTdwUC_tJ9k!pgo|&L+Onlptw1@a*t%ciwbGaSttsn* zwz&T3O#(m94K1Qu3+?;;mL~pc#>sVw-d=RpxL?G|3HaaRa0lw+{U4X*MZC#)6Mq2J z@ikTq!Zk4n2IKp1;eZ+V0^9)ZIkG!<%0ZJDYh5jLu#9pj}NC1 zj0}&4J<>>g7}cY`h8L5BI}m3fnwfL)9+7&g7(1eV4PHT#pKd@t_fWrqw^1{~2k}zz zVf6?M!}e*s{UfZ$s})_8i(RfFF%gO*eZ(c~AAm@wL?J&FdrDk~NZJxH4Ti?nAy#{< z5h=`U4iga_ymewW2aAhf;p1=7kGtI!Kw?{QJ$can?v4} zNS78uQ&eC=uY~d?hcqBmAo=CTeMM59po3UMF7VzX#ZhyFl!xsJQg_7J(ke_>gXiGC zTzjP#I9MIWItLTe52J^<+7W56Asp-3>75Sn0j>!&uq@R%w$ou0LAx zeacb!87);g$@TaY@(o-LpC-#rfiJM&GH1OI>a>x{WtM);bNn?=&9~hCmfMP;SzpLK z3%QCe9N9s9aDV9inW6|<87Jhuu@g#MO!a)OM0nggM0(t%?htixgWe(@!ljvn_@Pqw zu+k~{&)zikoSfsx!k$uZd-aqo*$dUH@(bZ&^}38F7*#0C1NW)JctH(=QYS4g!g>&i z2ULeb_g(dH*7lG}qc3Mak73)En5%BXXT>4|-(JUCsco_J}L;5^Vpsy%G%| z_^cY|{y6qjqvnioExHJ@i(sNoy@c!FRn+_>_J*3LvMBaL)4$56C-H8@JUB;E{-L+N|CdbYvG@p9~M zz-u_F*)v*1s>M{g8_G~^t2SOLP2a6KzWGyawnkv2r@ zM5(gT^Aj}Q8~r(AF9+cq9P0r&(|$l5tmN9ZYW1+w*{oHG#qnd>3He~`0_qfHe4~w5 zM!LZk!qFdudCCcI$QBjG7H__-J3qgcC?x1EW%&zjC*=Rqifs|;X$)B}(;Z<%%FpPj zMx+JuB5c3qtHWhAPOY#t@q%qD=(!e=G<@K+74$JXATRc~l@oGtWDDv?LX8;3>;IMQ zsO(QkRXPfO8VX+j-Pqu&pfEjI(2v~>O?fPBgnc59gKAc8 zAHyE{F&>q6;mzqee)wDxbY^mh)tTM!H_>3C-hN5Yx#@uPS@gH|9f~bs)T7u)J8iF5 z5*cUh2b2$^e?ukuC{7c*<9)<5{D3JAfjv${Isr~&XDQHO(rSH=oa(IAh5AA46>NVe?bH2g7g^}WDt<();>XAmskio#9#9oW9h!Q*{e27aBRanODDiLtrg}?Xx z&T|+3l=mrO8~6q>8x-$d&;c?KyAm3350kzu7z)`a7|lHoF;0bhu;+1@j<^8kd#6e( zA>i976P}mXBg%>islIH)YF}SOn|~@|g@2{;L-^9a6Wfml4kI25oJY(F%Bl&^2D1_W z6zr=SCiKQ1nN4^tv=UKC*@-wSS+Yss;h> zv|z7$hX-J;LRgad8sc}pw-9@Heu`M(dl&KV{`U~4IGYfMWF7V3Ua&UnH|FWG-i7}G zLEI%Cz+Z6(!7R}Makl7$_@wBJI9C)R&KF$~7m6apMdr}){SCJ*VcTT8Z2Q{Q&fdvh zWWU#5X1`(YqW92W)SGpsl6H)(|Hk9?S83HDIWJ2@1^%x5dZG)SnCS0qJez#~@1Tu( zRNOo}T0H#NU}M^-a)WLDirduh2YKAiqB~$GJM4olOYwCd?nwLMs~;AiKkh>Z;D06> zh(F^F!q;H@U2+KY#*JP(X#)(z*HCFAJSf$GSv?_ExKDdeT+@DquM_zCOc39P-wv*vxf}K``_kdt z{F5`zUw`se>A~F3CcklI)~n|JXLkuOA6nBpRY~!e3p<0#7_cdUD!W;~CRMl^j;?uM z3EHryBmQTyxGfl{tO|4tRGu|=Z}>u_nVYMxh^V=GV=Sd9P}wBeQUd)2Hf$;WN%U^M zzcJYUWT5gS^Q!VdRa@4mntn_5WK#8{d1K>~;$p+hP5DB6ZN5-53IEgIS2ZU^%>32! zhx#`uTA=bW!6Cb51v!~)RFzZrae}it$||=>_CVDn Nga6elqNc$1{{Rc3+PnY& delta 10976 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⋘y%A3SIM{zGT?d; z+f?=(F**GaIfrMxobi+}Y^&sQ@ero93|(tbB~tKc)_|jVLT-dR{V&K{@nPUE@^*Po!h3R1nvn9byifj1YPgCn z9MXO;PRQTKy{ssLmc|MBc=&`85f6JlQi433mjXT1%km_5A5|z%`)^c-@p>8t)10)n2%8LuMsHSi zh3@j2z-GTqrO{Whqp8@=j?Pva@nJC^@eg=k)dD2i@W&*3_F3N0^(cd9wcu=ph9lx$4HeS0I1V;|xkb)TSfTazfp zJG&D!N+?v$MBc#mqPQcfE2WN5w9l1Cvl0|Widj}LA(?x)P(fA zXkWylXn&O4r4QE{p|AY~`LejEkxjln7JL1{h_BGjiIWMpqxv&kK8}J#E?xg-6RI3p{ae;ptMS^ z!}edi8*x?Ds1Ml=^McI~{JfF!@p+RW@Ka`BMo)O$$_aT~a4U8wNq7^(^zi-Jc2qv3 z{%Fe+{50flMbrT<2ny4O}x9O*p+|+7) zvLOt4p`O8?%SKq~dsG+F`Q&F1FGXI|Pf2umI>lu_Ez$kWX>OlGJg%RU-b+5IZx_GF zpJAI$MCT+r37u9h+x(8h>~n^or)o{C20hb9JI*Q1@?1xq(A9Ueh-4g;?{QpE_NG1R zxUBf)b&l?BD-QiP5%6`WZenKqa$H+qI*V@O9h`J>1V@FWUj-GWC zs@v4B9i{3U0dOvqW~dHlxk|OMN47Oov*;d9Wg`TB?V9?>0OK z=6lb`k08p530=J%5x0B$BZhp{h{hUUJ^pd{w<#OoKK~(XfA2qocx$|@n($J5N5sU0 z{)n>^su7PT)FXCF+=lpA;vvLKiDwWi0<= z>5sQRV>M%~XB)f|SLr4BlYujc2N@xW+F`~L#!ALoLUYBq{>EwboLZwT)f%-O+6UTb z+g{r-+bP?}Hn;s@`{VZK?eE$ZJxedr>-2T{C;GQ~z>)9h>6q!Lb-d+pJ6*WT3gMIu z;cM=HcOUQotWXFiq#Z=e@Et|0@|-~2=KTv|ivK;tWzLTgr>CFQ@Xv44zc5FSzoGDD zh{xUH@9!+rEB-dvT?WAl|9tj-0Gi*b(iDhbVge75Cf!{Q8@X zBr5J@^{XBZ8xjd=!^#aJV2={E5Av9uWbI#XvBOeyc_Y62YBMd{4r!O(${rn5h+SzUWOn68JO5sKOT&<$PeiM}df zfyzz4P4U;cBx?JHTc~Khy2W0Sdz&LmUsuu`Hrb!YCUzT&^YEXqMQri@+B$!pzxJ$o zarsvwWS&{^jS<$uLiq3RtJ;LWE;Y%fN{Rm3M#=84o0#aEDEzfY@PA1KNqFqGME?Mi z*kYP&oBf}y-}TqN%i6jse_b})*G-XP9p8<0#J}XIuF95Z4qZ7}oNwN}va=AE%=cGK z6nSQG!%6%Xj-JO34mhG{{@QN|4%;;=_`9)2T@{H>5}b9QE|xR$x&$(*{k`x{AeP)5 zZx#xNjwA5m_`M#pZ1pK|-b`E5L44cXYfYsj=9(GnrZ^pArra~Cs%F~2S#z7$uPe~Z rmQ8+t&sVOks+*}DZiob=vR6#$iIdHqCx4Qq$$guBPkkdA3T*!c?6D%% diff --git a/1.5/Source/Patches/RimworldPatches/HarmonyPatch_PawnRenderNode.cs b/1.5/Source/Patches/RimworldPatches/HarmonyPatch_PawnRenderNode.cs index a0741cd..7e30364 100644 --- a/1.5/Source/Patches/RimworldPatches/HarmonyPatch_PawnRenderNode.cs +++ b/1.5/Source/Patches/RimworldPatches/HarmonyPatch_PawnRenderNode.cs @@ -41,7 +41,9 @@ namespace Rimworld_Animations } } - + /* + * no longer needed; taken care of by graphic variants + * // For changing texture path of thing to variant [HarmonyPatch(typeof(PawnRenderNode), "TexPathFor")] public static class HarmonyPatch_PawnRenderNode2 @@ -54,4 +56,6 @@ namespace Rimworld_Animations } } } + + */ } diff --git a/1.5/Source/PawnRenderNode/GraphicBodyTypeVariants/PawnRenderNode_GraphicBodyTypeVariants.cs b/1.5/Source/PawnRenderNode/GraphicBodyTypeVariants/PawnRenderNode_GraphicBodyTypeVariants.cs index 9972f1c..9ca8719 100644 --- a/1.5/Source/PawnRenderNode/GraphicBodyTypeVariants/PawnRenderNode_GraphicBodyTypeVariants.cs +++ b/1.5/Source/PawnRenderNode/GraphicBodyTypeVariants/PawnRenderNode_GraphicBodyTypeVariants.cs @@ -11,6 +11,7 @@ namespace Rimworld_Animations public class PawnRenderNode_BodyTypeVariants : PawnRenderNode_GraphicVariants { + private BodyTypeDef bodyType; protected new PawnRenderNodeProperties_BodyTypeVariants props; public PawnRenderNode_BodyTypeVariants(Pawn pawn, PawnRenderNodeProperties props, PawnRenderTree tree) : base(pawn, props, tree) @@ -25,30 +26,35 @@ namespace Rimworld_Animations if (props.bodyTypeVariantsDef == null) { - Log.ErrorOnce("[Anims] Error: Tried to use BodyTypeVariants node, but bodyTypeVariants weren't given", 211341349); + Log.Error("[Anims] Error: Tried to use BodyTypeVariants node, but bodyTypeVariants weren't given"); return null; } //for each different hediff-based texpathvariants, foreach (TexPathVariants_BodyType texPathVariant_BodyType in props.bodyTypeVariantsDef) { - if (pawn.story.bodyType == texPathVariant_BodyType.bodyType) + if (pawn.story?.bodyType == texPathVariant_BodyType.bodyType) { //return that specific variant + bodyType = texPathVariant_BodyType.bodyType; return GenerateVariants(pawn, texPathVariant_BodyType.texPathVariantsDef); } } - //otherwise just use default - return base.GraphicVariantsFor(pawn); + return null; } protected override void EnsureMaterialsInitialized() { + if (variants == null + || this.tree.pawn.story?.bodyType != bodyType) variants = GraphicVariantsFor(this.tree.pawn); + + //call this in case variants wasn't set, and there is no graphic bodytype variants appropriate; it'll set variants based on default + base.EnsureMaterialsInitialized(); } diff --git a/1.5/Source/PawnRenderNode/GraphicHediffVariants/PawnRenderNode_GraphicHediffVariants.cs b/1.5/Source/PawnRenderNode/GraphicHediffVariants/PawnRenderNode_GraphicHediffVariants.cs index 5c11474..1c93471 100644 --- a/1.5/Source/PawnRenderNode/GraphicHediffVariants/PawnRenderNode_GraphicHediffVariants.cs +++ b/1.5/Source/PawnRenderNode/GraphicHediffVariants/PawnRenderNode_GraphicHediffVariants.cs @@ -25,7 +25,7 @@ namespace Rimworld_Animations if (props.hediffVariants == null) { - Log.ErrorOnce("[Anims] Error: Tried to use GraphicHediffVariants node, but hediffVariants weren't given", 231321349); + Log.Error("[Anims] Error: Tried to use GraphicHediffVariants node, but hediffVariants weren't given"); return null; } @@ -47,9 +47,9 @@ namespace Rimworld_Animations } - //otherwise just use default + //there is no graphic hediff variants appropriate curHediff = null; - return base.GraphicVariantsFor(pawn); + return null; } @@ -60,9 +60,12 @@ namespace Rimworld_Animations (this.tree.pawn.health?.hediffSet?.hediffs is List hediffs && hediffs.Any((Hediff hediff) => hediff.def == curHediff))) { - //redo graphicvariantsfor + //do graphicvariantsfor variants = GraphicVariantsFor(this.tree.pawn); } + + //call this in case variants wasn't set, and there is no graphic hediff variants appropriate; it'll set variants based on default + base.EnsureMaterialsInitialized(); } } } diff --git a/1.5/Source/PawnRenderNode/GraphicVariants/PawnRenderNode_GraphicVariants.cs b/1.5/Source/PawnRenderNode/GraphicVariants/PawnRenderNode_GraphicVariants.cs index da09317..a8bef92 100644 --- a/1.5/Source/PawnRenderNode/GraphicVariants/PawnRenderNode_GraphicVariants.cs +++ b/1.5/Source/PawnRenderNode/GraphicVariants/PawnRenderNode_GraphicVariants.cs @@ -30,17 +30,6 @@ namespace Rimworld_Animations } - protected override void EnsureMaterialsInitialized() - { - - if (variants == null) - { - variants = GraphicVariantsFor(this.tree.pawn); - } - - base.EnsureMaterialsInitialized(); - } - protected virtual Dictionary GraphicVariantsFor(Pawn pawn) { @@ -53,6 +42,18 @@ namespace Rimworld_Animations } + protected override void EnsureMaterialsInitialized() + { + + if (variants == null) + { + variants = GraphicVariantsFor(this.tree.pawn); + } + + base.EnsureMaterialsInitialized(); + } + + //used by all, including base classes, to create texPathVariants for pawn protected Dictionary GenerateVariants(Pawn pawn, TexPathVariantsDef texPathVariants) { @@ -74,7 +75,5 @@ namespace Rimworld_Animations return variantGraphics; } - - } }