From b7e44bc4cc53bc96ee9e050bd36cbf92dbc49ae1 Mon Sep 17 00:00:00 2001 From: Foxtr0t1337 <48181014+Foxtr0t1337@users.noreply.github.com> Date: Sat, 28 Dec 2024 09:00:44 +0800 Subject: [PATCH] Don't format too much. --- 1.4/Assemblies/PerformanceFish.dll | Bin 563712 -> 563712 bytes 1.4/Assemblies/PerformanceFish.pdb | Bin 195820 -> 195828 bytes 1.5/Assemblies/PerformanceFish.dll | Bin 604672 -> 604672 bytes 1.5/Assemblies/PerformanceFish.pdb | Bin 205024 -> 205032 bytes .../Hauling/StoreUtilityPrepatches.cs | 84 ++++++++++-------- 5 files changed, 46 insertions(+), 38 deletions(-) diff --git a/1.4/Assemblies/PerformanceFish.dll b/1.4/Assemblies/PerformanceFish.dll index 20097183ed9a8a44163e57ed00798c26569d8b50..b0552109533ba1f5eb0dd8e64e3c7215d69ad458 100644 GIT binary patch delta 4098 zcmbVO4Rln+6`niuUh+2XZXVfWvmx0engs$j2NSYcVu~2VrV-`WKmx*X1Hq!0Q?bZj z(jX8eaYM2J&xF5fD1Rlz!ihLVAlM>uC`|#0B8DGppwyGLY7vn`X?ov#gTx<>+Re$_ zz2E)rH+SyLn|+I4y<_pKcQhiOSae>PMdf?XkcB@!a|GL8NlqQpEKJznM76i-M5 z$(yL~7;^Q>y#5hn2cJ?y>mf~a*H9P0ZqZXqGXW0r%n;3kq5R1Z?ShGXTpfCmysnO> z0q~u5vXkGfYI)~M zB)NE>RVYv+=B=Wi(uueCC1e}{LJ1D!ve)ty)0^h8ya>}PPPIJE^gd6ryeQLqJkj#( zrZ*>*w{bc$x?FNl2DNK=pC&pm`X^Ep)e!8@3lW4I@pKa{V6;14>|IMAROyv?9@R|y zdOPAP3x+{AxyWpwlmGTLyidt>(>urWn^AB&Qi_Nj?o*yc${@a=nI?MQNHUmSXjF_m zce3I2hgVE*Bj1S>Si{?!X~26L(+L>{my~9rlZZsiyKH(F`RyB!S;2=H<}bWt1J*i{ zFEz|Kv3&y_W{ZB=O-K=WgZ@fmI8&jx+CoR!yk|^wj z2s^(Li|ZAu4CAwipBtLVy<*{Ts`SkHeq>AU72F&i)H`Sk^okt}=ZXU#(fh{20Umib zt3*?MH~S|X5Krf^Ve#-5-#MNo!bZ_Po*lgnO8NR}Y#>yLL(|v^hUB%SMvh3B&blHX zTU?*Tx?|wC;-d<7L8qU^iDPwan*+-EqP3`!F8Es34=`=tI`#sZ!u5s`@2qE65Ebn& zvEQk9O;m0|_;13tncdk3jtjqFV*u(!_3v3egJzz;kHrU?V+lV0&)|c}NC7^{3UPXM zT_t{O3y>Y1MzkZ}`2H0pzrKeJbbKc?YcCu8HP)uR%-;{xH;R&cA@EzbWJwK`E$+yii^?f$@hbCn3^Y62b-@mpWybO_inl<)=&0;4g zc`1?6ad#vYYSrRWs&dT^+r`Hj$~hNgh@<(6O+)`wq4F3&gUBDH>}IaMaXY;KvCa9% z65A=g=k1@*4%-`qV~m2=Vvr|}RhrT48>?JPcrbCBzrwk_tb|lJcb}a}Iy_4}JiEiQ zT^t{$tfmP??t7lDa4kznwO6FMOipj3|l*~1e^*Cx|BYAVao$Mo{7RQi3kS&X1$Uz)6a@ZW($ym%f zMh;`vaZ-feJIE*VHS!LbgvzH(v|c9Q_e)}_n3Vq|{I2q_RF1F z#&ukpqz)fw_0c0?kF3KZ)BDQwzQo6;6ssxVkoh+2}3Q4a( z`XyAu^Jy%lR>HM%(ppS6@Q}nq5)Vn)5Xu_y6>!aG*apdKK%U_@O21L&HA=lz5?>|p zRasJSl@x4(doCLSYtS0+-D{-aI_a;&y1S;RgTW_UkEr!jcH>^fYVHWdYVHWd$M;P8 za-&Bo)?+qO;i7w*8Vzz!Cd#y8nO3Y=ds1xjby6(jlVyCej8B$&lTq)!N7VrI8DK8^ zMa^^0c)VZK2JjbxIK2h0mGD}G_XJguZ^4Hod`KH$UJ{42PP6HU5jT2pM8=O`-0<6_ z-;Oe^r7D-|S0#KE;VIL8xG* z0`S%Gq*IHwfhI1-YsVsKl9Pv1v@~%#MXOgJRm}EjDGJ1jP`dUqAS+{##=Kw`nFU$_ z;Ne{GQ*A$rEdSF(T9T@>h!_v=en`v0 zl;qJ`Q&xJ}j9})>A$Mh!2K=Sj{y@&mAw&I{GjhuUfvliECnuPh70Aj8W=$7o7i*=u zlGL^J6dxJZ#_A7bYz;4&Svh)Z`GqlecEx_eH-@!?sS+*!nM4i#=BC=${gjsVV z6;acu?NP>*kr^aNGRaIbgxp24NGS;rKaSZr21t&H55@19$jc>Vhy{=pL?j3QjLa+( OF|aH$U99BVlk|Th7pX`9 delta 4126 zcmbVP4OA7!6`nh@3;WEz=fZ=>LwtaW3R;hf{766v{v1k;e@Qf;2?+@1Bo*738bu+P zh=2G{ACfaBYFn&7InvaaNGC)gNfT=grD`BXgFi_$wU+!_YmG7V?(P`T*mF!d=gr;w z-S2*P_Rj3=vSd%+C42g=TdBC;*|Xzm|1v)``01r!PFk2>1R z_i03V_9*Bi=a>Tw@?9^}`-)t(yh}W*4h0t@Wg5|8tnxHc#_-ZQ8s$6I+hqEnMltg| z(WW;5{$P3g_->@Y%e=LYruzPc>4c1e3rZa^NKlmRU9`L|-e(IkYxyYC{GI1*!MQ%b zmzw5L@!}Rb%F**x4ay^~k@LjafdCF4VM8AqOIloetSzaGr(13C$ zd3ggZfd2e68tRM?WBy3}9%qy%A`-|-Z*V1$B;N5?T=N#*g~mD2GYGMHkx4k7;6qz! zveFWkR>{{Lqj7xFA*zcFt@KaK*&ePh^N_Geb9`Ama)gFc_v7Kq(F@Q3j;oyJxQ4H7 z!)-O5x3tlFA&(cd(**unJN4Sv$yk-QBcX-2wbLswMjU#NmMZX?$oYV}6)5Eop2ECR zvHKKt0ZL#Q3wcO{sV=z=-+B$a3$7hBgQ8Kg;_wT*>))0QaBe*|8Am znX&SK`-WJrZm~cBwZ;SI~>=T3P9&xyu?R3I&zIY?5+$H!%)*mpfX%kzGCTFv0#Cx0BB}7H* zZ`dvskBRba2!AIW+u7g{I4_a~n+&i+EPIt@F=rz_?vy-cN6sVKIZ26 z`nJo+Tl_*2K(p20uV_hSFmTUL4S12*)>CJfD31WVAhISXjm(`G{*v!o$GlIU zaU3_g-u>mAfc}DTPFCl7*v-dk7CT%gHATZIxO3Rm@f#OyrSP>Sv?#-QP6MnIxTA#bjgA) zSlM#;nAaOD& z4(pr#0O=2q^BI6?CLS;Gc!|eLxpp$i$yH{ra`%v6U$hHyWiuBEaYcPVyr$0&Al$0!+m zZ~pfSJx;No(Q(Qy(V4II1i2>DWm>LG%T??($+h?f$(8XLGCo7bXGpyns5kauH5EcK zt=oQ9^PV=J`De9EzPbR*+wevSZ$x-+fhw|W_<)2DXqnbYazN{_ntl**vj;6Q-hy${ zZwkJ zd+h}hUV!j~>+m)SZ$o(Tb+}%_^$6D^jB7@4OLjP(&o-OY;po!MgS5kuAR0Cjuc=nA!Z5LJ zjao=q;=?2PM=R9`NM7L#sQ3#K&OmVL5Tl?(r7eSxOj`BOw+TCswT>3|H3zR8584iV zqdOp0oYJ-b0K|#+U0P2E#EWwg+Tmd8b@4!q)=!*>(bg)^Tg-{mViYihKVJJSAZy4V zjrs6D+~L_;Hb5*d{i*gkilpUezca%pf2M7NYa)Ed-P$7P%~4|@&zYz#0fWCYQR}Vh zEGRULcTUt2F(rDEwjnWo#O&hK!jUOSg=r&3&Pq%xPAnQWGHuqd)RdxvqT<;}DFw5O ziV70bQpBkxTA`s#%-{S^J}#h5F;+Zz_@lz7{xNCk_@IQ!vyW8rtpRO+tVBP5OQI%! zUdZ3R$(sI)%;U!{y)9PNXnU2(Bgkxgqo$HVGLoc_B(!N{1YXY~iFj3vV-XpKei|af cke7mf0se|HFA2Q@v_%$X@>9fmu9eXL0v6E12><{9 diff --git a/1.4/Assemblies/PerformanceFish.pdb b/1.4/Assemblies/PerformanceFish.pdb index 57f619be48b89c87a76486f2862214a16b3c9f3a..c8e2b3fc6fc6596df8ac707eed33543fe026ea50 100644 GIT binary patch delta 3886 zcmZYCdr(x@0S55z-YmN=3n&7vfCvKW;$jedEJhPGK_dnw5C}z$4&ZyN4^$#FxLk-Y zj7GhVRBcmrG6p))N)<`8)EGxmGn%MTqoYNQ)Jk+jO()_swdZ_S)-9ete)l`yIrrSl z!XVylv;Ev=TfZP`z*+?{ug{&I4`5vX>J8;HN+(p$Yfg9m7~I<9$LhrYH@A6uv( z8Igt3zBGlV(JY!z=g>l0LO0T_bSM1_t*3`+BmI{CK%413`fop8ex+vpPWsw}SnOY< zh&O&dVsS_`vG|&vq~Fm?ixmBVH8dvz{}A&CGz*OpfxB!T(X^g&b=E7=Cv23(GW*k5 zyUfAN;WU~K)H`S7>hm(9ZIPHQ8V-G1MlVIz8#3aQlltw9824kb5((=PX^4w5_n4iua`!VHjNFr9sSLw4DA`Kk|;<{XO$ddYAr8 zGndM{Cec}R0bNSV=sNm)x}EN(b+myVqvz>0+DsqPC*ycgi{-<7X?Ge;`w7GO35D|$ z3g;&j4j20zI)@e&%kM*w{#90=(Q8EGJuJ{WG@Y=`(^#?7E7yo@MXhmKj1|!(?Ppoh z&y$VQtw<{2Q{$}I_`=%O7n+^i?Mw*3pFL{RumC5OL;G@#^r#i67EB{es2im-vlx5F%mWb>?xmQ!k zW}{cLmCb(oH+qbop%i3y_Da>E!j9NnrvL8 zP2zbWA=&uX3%gpyN-uXl>=g>~5l0j0c%d=!@mn?}w47GbD*7kdNYBwLwDX7ZOuMiQ zuhUfew($Rk{?r;5Q-&N*Uxq2%Ih_{LbssAFkxBhKZ|1C;?iHQ_wTg%(eGj{2C$J6MT(bmG?)&fnRFtZDRpB$C-2irx`Wox1N86oIK50;>0|1%Qa;R| zhR|f1PIKrqI+re{o9U$8ywuU7^c#Af{*(SneOAfGbfsZ5nvS3aw1igEI(^5KOF<3H z$LMK#LG=9-DsYXnW_pkMu9i=TrbFpuI(xPJUS*G}z(UT8sYX}Rz4U8(ik_oa=uO(f zQ=C&P@R0K-RIQZHjHK~&5FJi)X&zlnHM*K^pj+q;T2m?C)EQHOTF$?uN9ajRM&=|{5?8!#shSs5(gUSv~ zD)bJ`IBXNmIQ?+Gee|=Vc}YX9=+p3}XMY-wc(So`JWjmOd?(&EWZ)b4p~K1;G>K*m zZqruJ>KL@KQS{n^khfg${Yd`V-<7&(s?d8xVa5y1Jkf-rh%Tr5#CZw54|doYhDOnZ z;ahr1XhoBJa$g6`;{PTN1ki3m?~#n2qDe-deWRwWx&LaQ_#5H+dIf$^8(#TEnXgRKLm8%f{+Fsuw)8;B`mXfO+s4B=(hS@CQ*U9xmvbR*#WGNBKFZGRC z%BlWQhtek=P5iVe^?gAggF4NU?QpH? zC3!Vz=i-d(#YDTdADE$CF*(r3qz0n53V$djp7xq{OP;38)mkima6?(DofoGinR(hU z?Z&gyTA!WvC{dmoul-`_Bwuul_C(wUOwk^QyM~!zJoBlsyIeJPmz%}zI;bh-R%3TL z#O?$$%;HwxZi(_@vpdYFzkXA_-#sH%YXL&FYF|}+eHdUW_Qe1dR<+QKnXoK*%?2fS zM4-5-t5)x0#!yv!YZcYqL;DHH)*5{L(MQEg2v$`yMw{G$=Bi%*QIGf?kCJcKO*;__ F{0{`ABmV#Z delta 3877 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 delta 4033 zcmbVPeRNdC6~A}hyyY!fHoKc-lR!d(garFRARoJ=h%pC{k5UsA4{%Z&2nnr6Amu0! zur#bnREj0A#-Si0*gzC9Rhtef7&%BSA8M%((9m*Fibx1h34u@vz4JEvvV8c5edoNn zGxv9YzjtTm?!324+S8V_r`0^ox1Qe@3@l%|92=Lj-?@;B1ULHz4H@NOUpm)feGIN%t;5Z!Fu6-o}FW!c*z7ig;+0JSF;OW4(B2GifXohc~mSjKztpdRC8>vZbCC>Q(d5k70VIMtFLgp5h3W!}NIi_OP6$=SSj|*V)*Z2a|e$1QVzfS_8|C&83mLRCcK* z5SJh(Hn1EVBm)i1&+&8l_FJsUh9||sci2GOCDtkPvDoB$F~7L8i=~G8q$4(WQNTudsf#T@ zOl+*sGHtk0uD59=Iu?m*QCbBS$qI+|OQhh#eKbFrXs70PZ=~9|BPW#j5C=kmob1$k zAw#d67OnXhO<%aR3Tp;4x@WLk#Cx=S{7O#tX!OX@;*%IH14qkCG1>-O)gwX8Tuu$D z6Uw&%9JfT3mWgv@?gp)d6REb&Bn{f6tv7I>-2J+C%!_Mf-EJ*92EUYzN3@1$d{C61 z(o$G_lB_mBr%>0FE;1h2+dB!c=!=kzWd%63G=c0Mqttm0$Xf)5EgUs#XDYpnI zaB)A@h=7x)TyJg>OZk$Vi{Eh_=5ndI-0r?XKI9I#dHgM+Z*r?j@QGL4d@N=0AJQV@ z_S_(eX3%$VX(Ii^lO8@AYvdjej~{?r#qn$&Po^M;XIdjkqi7tqwR<-fckjj|^EBn~ zPQI!$gqv^?$mN;epC*sz@(gs}EVt56D|55Ez|Zq<;r{OEk)p%TKmY!T{lD{>p2sg` zVXd4xiznW0@1kWaNP5V4R6bVAC%f?l`ROL!&=-^B6FYgKLybS;O}0ckouHp2$M!Bc z4^U%wyVIHhI%n^3RLLy|IURaMBBq%irZcd$nHM6C5F?II4ZI+WkMIVKPOqq=G#o8{ zc$DYkYWeU{UZUZva^Eo;RwYA6fI$JZPM89vix`xfo@c2wpdRKfa==!&9Pq#!Fln&| z8mTqlZL{40SBbk5*y9H52L3pMJ=Ax?L72bD2}fWZwI|?@)SiOfi#*U~DqN+O(Ho9Y ze6ofefv1)q=W_XReMzsX7@8@))`3F*$!g^KI4GTIfL5Cï~Jpu-Y$z+RG8?*a!b zO$D%|^#+GJ~iG&Tux=3n$~Wl5s+{*!i`dA<|Ck zvAT(iiqm=`i-{AxCASU_l84jcnDE75nF{db+YtlC?tn zTcQ0aw5e4e_5<|*b){MPrkVLFU%KT>C!gqhCL*E1megR9`so>cs(RX{Gy30^t!xX; z;rX_Rr_aK0In2UpaiC2vObt!X1&?BQ7w2QRD&`{z-E}rXpwbekB!S1yhGx3vtbUI- zJdLL<`qPTubv7d9WfpxI(KFBK$!4Xhnbuge8lr`&x5f-t=qd|cWudDqu~n#QTV2oN z%Fa-4wb@f2x2sKt@~*LbYr0jK*mq9PrS+2Ryq=|5t1*s;S7QPXuf_yU)0uQ3Vl^i6 z@N!P%)pErJ{eH9*eqkw0vlON&1$Hq)q0~|+C54d}^%dy#cGp9#aezvhzRaQ4@WzQR zI`ni4TWeu!71sZfe!{{&w6G5qmT)g}oG9|LS&$&zeMn*1!q_8N+pGVFzs)uRbL5HJZ1YggO|#J_-%uGCWGiJ_*0kZ`zyMo3=04SxVWYd3 z?8-2jvt9Z7>)xMx@}J{Zc1*c&?u$`x$`i%Ldt>N-lGO^pZ3 zO^rseoh3L$%X`K^ncifq;4H}y&+ak?$)mfBPwDT6{L_aLRz5SwH+^PV+4QVDpFEjrf85189-i4O zW(~6!xjraf_?HLo@0w7(@W9+&<6E1={$cjrsomb*cXxYL{AF*^k*18)y|F);^MQOL z%O2!~*)Wq{pMEHX;oyTDvU!kA{TYx&y>e>HU?`3A$TO7Ud^Da;cRBHLXf&N{ndwvU LJ{k1eXS4qSy}W$` diff --git a/1.5/Assemblies/PerformanceFish.pdb b/1.5/Assemblies/PerformanceFish.pdb index 496bebefb5d00a882fa2896ba9fafb73288d2f21..15faaa1e09e1eb5870750fc57013257675f0ee58 100644 GIT binary patch delta 3983 zcmZYCeNg1mTm5sJtJK>=;GqE3!4)8s-K z?#vhDwq(!(N-d~8w$+`TOj{h(+F9FfLyv8Bb*QV>X?xU(N4q-N^L%fODLj9C?)UjV z&wXx)QR3x6?TtZgOP&7VL4m@aTeYT&h^{MEeRa6gCu?6+bA3&xd+*H+AANnK<=1&u z_gw-dQU$DqufQGfRoDX$!K3gvJPR+vtME2_07s#EH$Q(OoCasWC}`2*k^(cN&itJ| z1{z^Ammwt=_`4a%Pbw$~E}q^ZP%zD4$|IN}(ZoW(1ird(((%=HPI-2)I$Yrn! zu4g9)wtCE#^o0h`5IV?83@NWLR5&NCEsPK}((8p`*2Fymg-{j@&*!-q`Im4Rd=YMe z&2Trg!*19IkI79vKj&lQzrruzKjC$F5B^w%i(4zdLC4fniiSHlle?sxyBr2%)c{Q} z0se};1A3Z+9975j^T@eyVXGkB)%aU|>5X`Se95?kTfx?RsRpitA**?_3E2jBz#e#r zISnUFqy2MvK7!^?@GE!=K7^xCCGnkJOp?q+Q>?x$`P02uxT(k)%mDg!1-B5n6b{0> z@G*3MmG9BQDKHe8U@Y7NJ76Dt7dqgdt+;#+zl6i^J2(O#LFH@wVUuAHG(a;Lqp@%E{togV7DpSoBr)w^QIA&pZEw_ zR%z$G*3O?`j_{`GY%ULPiojYCv^smNN~166(zU79y6HY}8@moeD{MO4;KOx}VYz>nZ(@Lx>Vkw>>! zlSe`q*N^EsiYdz36jPit%X^9`nKi{U4=#{brTb+*x);XnEbror-Zn- z&@MSyB|0`{mqdfkMxsxgxq*gQZlw0#adkc1AeafuVGUddH^T;a5Dvi8@I2Q_moT{o zAHs=m@}vEr0Y<_&mjWeN?9N-VbBbdU>YofFTwTD z2Dif&co+`B8*u7d{OB-ATpHEtaX{BdCKRzS8K$$vXj2aILRbbj!WP&E&%iI`!=6oT zq+t}_!rSlxoZicyItwPkxo|$rhl`}OmC;Lj28z~R-5?BFi;TpIDcEBEZ2p)yU;fFXY-MWR& zu=y6c3x9yZ0p4h!4^tl7$e-nHq<3lJomt*vr8#4o7b$a0lSTPY8!PV1rbVpErpl)a z=yPf1xTcOZxwO&Q=aS8tUY!9GatO=kt z*u~UPFWc@n<8zjcbRJ$}x{gG;#+pR>{tv6Gb4F6~+4q+L_JvPNX)Il4-=jQLEdk$cP|!#g%f@K zi-lQeCoqIu#P`(vfs zB9HCrAhC;RzPQuA)ZH!6+M!mnAG1*0tM(#N*t%@DRGt(!VFhnzi*`4DRf=aLcFA|hn*}7tm_zgczSS8+6YuR<9c#a(wqrzdy;+3BcyYtgw z_snXVM-(YOP*32mDMS1(zm3YpyX>}P70J&WmA5x2*mkzNLB)2TAjP}}jl8>o9Pui* z9sUIdafHZUJm8^VuZ3nQH+j%31!)xPR8&jq4Rbt6@J;n$XG|6y?kY-Bus=0HVGR=R n6BUd7?p_qGAUE<=C{*;k((0qK`|8~Wy*}3S=S~$*8`$OlwP;dw delta 3968 zcmZYCdsGzH9S88=Ec;-2tf1fuh(LG<0`d@H5fv09qELlMc?FRb5CbM5(j2MQWh4eo zYotsNtO!I*#B$o>qmihUKw^>}^r&c?7)+z4NuyC)v`~o+(0jiF>jvhJ&wTIq-nldE zqPyJbw!77BSM#!G|51UwmzKU{B%<><6{m8a8(HysMQ@oV>D~wbEh+l!c+Iv|CiR;F z8E73WhCAUNSO;5SJ3I-`!fWsb{0HoZk7M|rL&&t3XKUyPXF)$WcPdViFqY{<$x{95 zJ+s*(n-3ovz|8-kqK2>1LI)`|)jeI$vOCRU%7;7oq6vcfC_Y>E9Csd?1uzkA3gLYU z@*0=}OWDqDwKfY?9<-%KkX+JyZRO29=qMW}rFjY0rING&K_}Ivd7GC0Rv-`ZTh09$ zayon-u7~BY67GUEumQHf6R`PJzRw59pTf)Vb9fWphXe3O`8K**fjnuEmfJm-o4b}< z0Ho6K`HY zu7Eq?0ocl%fgNVh;W(aukLEb+h2Ox3a0re{)W5|GdUEAjdLY>APa? zO5`+n27V78!x5-@i?6hUuFwYt!8f1;TVNYJ2H!W~^a;EIufuQQ12_nWp=}+%nKN{U zb6_}J0GGnmFdG_~Zg{EO@KU+qrE;T}>KysRUQ8c?f0TODomCoouTGG1(&vR;V6Ek0 zP1nqgmijF6ZI-okmtC*-%HB7Am6nX=EbpVG7xwY@e_DW+dM3?Xoz(PUbzq2&zBbS4 z=mE>)4kF7ABdhB99l|#1NMAqxBszMAWgVr!E#_W+DjoHse+);Us)4W9L1*aB9AEEi zk>^Xn8G0c>O3iSOf1dS!paNKCUZbQf7P-zKe`_mbV=0h|+7R^;O_u&8>hUx?SS{*lt^z0-b z{^VhiXPdJ;JBQ*WA#1+oChG&)k0WF`PYcik$_yCo?_8{Nh3C@%*XNTAukmKP>G#ij#fxqO9X&-VE zd=H+3AHy%1md7gkhBd3`33O=s>1;arnVWP9HfMQ0c zH1S^x50jC$Hw$E>8rT5;#FP&s{T0n^co#l|BT(JKubm5{;S%^N+|I0|qwpB)VE*Kg zMzsOnmDFkOE9qmbya>O5gDw171E*BdFve5f=KJcU*xVQ^kGJ{UBJXPQW37BtQ?NP9 z&3=kt>w0sijeSzqP&}^lP}NYioJS4Kx_WzozJH&N{aWDhs z!4kL`ZiR>7Y1j=faZU6Y24BI4(7Kgx?Eu}OFARopFazenQdkbR!De_0cEStr8oU9A zVUE*bezTcy4h)A2U7y%cu$&kPV z z2Vg7gf`5TG;2qcxhaer{_qB!&NANrAT}3l6_Jsa06dGV0)@^vUik4%%8fLYq?VamsLn#%Haa_o-}(>6T%u7ih_x-Tna06 zuC>{C*q4+p z_I=Kd7O-@SeQ~lS-tlBdXIb)OUkbF?p^JS2*ph*Lz<05KBery@elSZ|FSyrdWeYL3 zFY^D}x_SR%eRH36=`S-GS?I>#l`SbJmi;yXd{r#F@DSw8afKI6gr z2irRSzFSE2@@n+Dp7w+4nosYef1RpW_QU3;^1*vQ_6;lEn$=^NthCCsc}+7@Y$94N?yk>MS-F|^X*BHTOcNV5_C$)xrpkM2 zTZ*tQ=IugJvf^i@*b^Y1FNNvFb3{erRi!`qDHV?7s~~$4l)qy0ipAoWd^e#~{90qj z&RfI_Y_o7RHj5Fz7~AY#7~d>N{I|whT*#g!QGCRg(^~N^TOOk(`CgC5?)hYF`3PIy zNs5FW!r1Dejzwy#->^U9!~r4~@vx18Jp+X*D{LrK!QQ^gPt>%5G{0DEOM*kJBfG;? z@wiG&(F*o{2@2CpagZoo>`>X0pMtE&Nuf~FGNs8;S?}s;)ot79$sc68*yTh22fkWh Ay#N3J diff --git a/Source/PerformanceFish/Hauling/StoreUtilityPrepatches.cs b/Source/PerformanceFish/Hauling/StoreUtilityPrepatches.cs index 3a6ebd1..3efe82c 100644 --- a/Source/PerformanceFish/Hauling/StoreUtilityPrepatches.cs +++ b/Source/PerformanceFish/Hauling/StoreUtilityPrepatches.cs @@ -31,12 +31,12 @@ public sealed class StoreUtilityPrepatches : ClassWithFishPrepatches { if (!IsStorageBlocker(thing.def)) return; - + var thingEvents = thing.Events(); thingEvents.RegisteredAtThingGrid += SetStorageBlocker; thingEvents.DeregisteredAtThingGrid += TryUnsetStorageBlocker; } - + public static bool IsStorageBlocker(ThingDef thingDef) => (thingDef.entityDefToBuild != null && thingDef.entityDefToBuild.passability != 0) || (thingDef.passability != 0 @@ -59,7 +59,7 @@ public sealed class StoreUtilityPrepatches : ClassWithFishPrepatches map.StorageBlockerGrid()[cell] = false; } - + public override void Transpiler(ILProcessor ilProcessor, ModuleDefinition module) => ilProcessor.ReplaceBodyWith(ReplacementBody); @@ -70,7 +70,7 @@ public sealed class StoreUtilityPrepatches : ClassWithFishPrepatches if (c.GetItemCount(map) < c.GetMaxItemsAllowedInCell(map)) return true; - + var thingsAtCell = map.thingGrid.ThingsListAt(c); var thingCount = thingsAtCell.Count; for (var i = 0; i < thingCount; i++) @@ -105,13 +105,13 @@ public sealed class StoreUtilityPrepatches : ClassWithFishPrepatches public override MethodBase TargetMethodBase { get; } = methodof(StoreUtility.TryFindBestBetterStoreCellForWorker); - + protected internal override void OnPatchingCompleted() => ThingEvents.Initialized += TryRegister; public static void TryRegister(Thing thing) { var thingEvents = thing.Events(); - + if (thing is ISlotGroupParent) thingEvents.Spawned += StorageSettingsPatches.InitializeSlotGroupParent; @@ -126,7 +126,7 @@ public sealed class StoreUtilityPrepatches : ClassWithFishPrepatches { if (cell.GetSlotGroupParent(map) is { } parent and Thing) parent.GetThingStoreSettings()?.Cache().Notify_ReceivedThing(thing); - + map.StorageDistrictGrid()[cell]?.AddThing(thing); } @@ -134,7 +134,7 @@ public sealed class StoreUtilityPrepatches : ClassWithFishPrepatches { if (cell.GetSlotGroupParent(map) is { } parent and Thing) parent.GetThingStoreSettings()?.Cache().Notify_LostThing(thing); - + map.StorageDistrictGrid()[cell]?.RemoveThing(thing); } @@ -152,32 +152,32 @@ public sealed class StoreUtilityPrepatches : ClassWithFishPrepatches { if (slotGroup == null || !slotGroup.Settings.AllowedToAccept(t) || !CapacityAllows(slotGroup, t)) return; - + var thingPosition = t.SpawnedOrAnyParentSpawned ? t.PositionHeld : carrier.PositionHeld; var slotGroupCells = slotGroup.CellsList; - + var maxValidCellsToCheck = !FishSettings.ImproveHaulingAccuracy && needAccurateResult ? Mathf.FloorToInt(slotGroupCells.Count * Rand.Range(0.005f, 0.018f)) : 0; - + StartOfDistrictLoop: var districts = GetDistricts(slotGroup); - + for (var districtIndex = 0; districtIndex < districts.Length; districtIndex++) { var district = districts[districtIndex]; - + if (!district.CapacityAllows(t)) continue; - + var districtCells = districts.Length > 1 ? district.Cells : slotGroupCells; - + for (var i = 0; i < districtCells.Count; i++) { var slotGroupCell = districtCells[i]; var cellDistance = (float)(thingPosition - slotGroupCell).LengthHorizontalSquared; - + if (cellDistance > closestDistSquared || !StoreUtility.IsGoodStoreCell(slotGroupCell, map, t, carrier, faction)) { @@ -189,7 +189,7 @@ public sealed class StoreUtilityPrepatches : ClassWithFishPrepatches district.Parent.ResetAndRemakeDistricts(); // TODO: figure out why this happens goto StartOfDistrictLoop; } - + closestSlot = slotGroupCell; closestDistSquared = cellDistance; foundPriority = slotGroup.Settings.Priority; @@ -211,7 +211,7 @@ public sealed class StoreUtilityPrepatches : ClassWithFishPrepatches public static bool CapacityAllows(ISlotGroup iSlotGroup, Thing t) => iSlotGroup is not SlotGroup slotGroup || CapacityAllows(slotGroup, t); - + [MethodImpl(MethodImplOptions.NoInlining)] public static bool CapacityAllows(SlotGroup slotGroup, Thing t) { @@ -221,7 +221,7 @@ public sealed class StoreUtilityPrepatches : ClassWithFishPrepatches ref var cache = ref storageSettings.Cache(); StorageSettingsPatches.Debug.VerifyItemCount((Thing)storageSettings.owner, ref cache); - + return cache.FreeSlots > 0 || AcceptsForStacking(ref cache, t); } @@ -256,7 +256,7 @@ public sealed class StoreUtilityPrepatches : ClassWithFishPrepatches if (!Debug.LoggedOnce && !(Current.Game?.tickManager?.Paused ?? true)) Debug.LogStuff(haulDestinationManager); #endif - + var foundPriority = currentPriority; var closestDistSquared = (float)int.MaxValue; var closestSlot = IntVec3.Invalid; @@ -270,7 +270,7 @@ public sealed class StoreUtilityPrepatches : ClassWithFishPrepatches for (var priorityGroupIndex = groupCountByPriority.Length; priorityGroupIndex-- > 0;) { var groupsOfPriorityCount = groupCountByPriority[priorityGroupIndex]; - + if ((StoragePriority)priorityGroupIndex < foundPriority) // succeeded finding a higher priority storage break; @@ -284,7 +284,7 @@ public sealed class StoreUtilityPrepatches : ClassWithFishPrepatches { if (i >= listInPriorityOrderCount) goto FixCache; - + var slotGroup = listInPriorityOrder[i++]; int otherGroupMembers; var storageGroup = slotGroup.StorageGroup; @@ -293,11 +293,11 @@ public sealed class StoreUtilityPrepatches : ClassWithFishPrepatches otherGroupMembers = storageGroup.SpawnedMemberCount() - 1; if (otherGroupMembers < 0) goto FixCache; - + Debug.VerifyStorageGroup(otherGroupMembers, listInPriorityOrder, i, storageGroup); - + groupsOfPriorityCount -= otherGroupMembers; - + if (!storageGroup.Accepts(t)) { i += otherGroupMembers; @@ -316,10 +316,10 @@ public sealed class StoreUtilityPrepatches : ClassWithFishPrepatches if (otherGroupMembers <= 0) break; - + if (i >= listInPriorityOrderCount) goto FixCache; - + otherGroupMembers--; slotGroup = listInPriorityOrder[i++]; } @@ -332,10 +332,10 @@ public sealed class StoreUtilityPrepatches : ClassWithFishPrepatches foundCell = IntVec3.Invalid; return false; } - + foundCell = closestSlot; return true; - + FixCache: if (!hadToFixCache) { @@ -355,7 +355,11 @@ public sealed class StoreUtilityPrepatches : ClassWithFishPrepatches public static void LogErrorForFailedTryFindBestBetterStoreCellForAttempt(Thing t, Pawn carrier, Map? map, StoragePriority currentPriority, Faction faction, IntVec3 closestSlot) => Log.Error($"Performance Fish's TryFindBestBetterStoreCellFor patch failed to compute accurate " - + $"results after a recache attempt for thing '{t}', pawn '{carrier}', map '{map}', currentPriority '{currentPriority}', faction '{faction}'. The last found cell was '{closestSlot}'. It is most likely incompatible with something in the mod list.\n{Debug.GetStorageGroupInfo(map?.haulDestinationManager)}"); + + $"results after a recache attempt for thing '{t}', pawn '{carrier}', map '{ + map}', currentPriority '{currentPriority}', faction '{ + faction}'. The last found cell was '{ + closestSlot}'. It is most likely incompatible with something in the mod list.\n{ + Debug.GetStorageGroupInfo(map?.haulDestinationManager)}"); [MethodImpl(MethodImplOptions.NoInlining)] public static void UpdateCache(HaulDestinationManager haulDestinationManager) @@ -371,13 +375,13 @@ public sealed class StoreUtilityPrepatches : ClassWithFishPrepatches if (member.Group != group) members.RemoveAt(j); } - + if (members.Count == 0) storageGroups.RemoveAt(i); } - + haulDestinationManager.RecalculateStorageGroupMemberCount(); - + haulDestinationManager.AllGroupsListInPriorityOrder.InsertionSort(HaulDestinationManager .CompareSlotGroupPrioritiesDescending); haulDestinationManager.Cache().OnPriorityChanged(haulDestinationManager); @@ -423,7 +427,9 @@ public sealed class StoreUtilityPrepatches : ClassWithFishPrepatches if (otherSlotGroup.StorageGroup == storageGroup) continue; - Log.Error($"Incorrect haul destination order! Storage '{otherSlotGroup.parent}' was expected to have Storage group '{storageGroup}', but had '{otherSlotGroup.StorageGroup.ToStringSafe()}' instead"); + Log.Error($"Incorrect haul destination order! Storage '{ + otherSlotGroup.parent}' was expected to have Storage group '{storageGroup}', but had '{ + otherSlotGroup.StorageGroup.ToStringSafe()}' instead"); } } @@ -439,10 +445,12 @@ public sealed class StoreUtilityPrepatches : ClassWithFishPrepatches var slotGroupsInPriorityOrder = haulDestinationManager?.AllGroupsListInPriorityOrder; if (slotGroupsInPriorityOrder is null) return string.Empty; - + var storageGroups = haulDestinationManager!.map.storageGroups.groups; - return StringHelper.Resolve($"SlotGroup count: {slotGroupsInPriorityOrder.Count}, StorageGroup count: {storageGroups.Count}, slotGroups in storage groups: {storageGroups + return StringHelper.Resolve($"SlotGroup count: { + slotGroupsInPriorityOrder.Count}, StorageGroup count: { + storageGroups.Count}, slotGroups in storage groups: {storageGroups .Select(static group => group!.SpawnedMemberCount()) .Sum()}, outside of storage groups: {slotGroupsInPriorityOrder .Select(static slotGroup => slotGroup.StorageGroup) @@ -487,7 +495,7 @@ public sealed class StoreUtilityPrepatches : ClassWithFishPrepatches { public override string? Description { get; } = "Optimization for this method by reducing its amount of instructions without changing results"; - + public override MethodBase TargetMethodBase { get; } = methodof((Func)StoreUtility.GetSlotGroup); @@ -502,7 +510,7 @@ public sealed class StoreUtilityPrepatches : ClassWithFishPrepatches { public override string? Description { get; } = "Optimization for this method by reducing its amount of instructions without changing results"; - + public override MethodBase TargetMethodBase { get; } = methodof(StoreUtility.CurrentHaulDestinationOf);