From 9fa679293269fde377cda1fc97c4668bce741af2 Mon Sep 17 00:00:00 2001 From: NovaRain Date: Tue, 23 Jun 2026 23:03:13 +0800 Subject: [PATCH] gl_highlighting: separate colors for empty containers/corpses Clarified the description of the get_current_inven_size function. Updated resource files. --- artifacts/config_files/sfall-mods.ini | 14 +++--- artifacts/mods/gl_highlighting.int | Bin 5314 -> 5722 bytes artifacts/mods/gl_highlighting.ssl | 45 ++++++++++++-------- artifacts/scripting/functions.yml | 2 +- artifacts/scripting/sfall function notes.md | 2 +- artifacts/sfall_dat/sfall.dat | Bin 493218 -> 493319 bytes artifacts/sfall_dat/sfall_de.dat | Bin 495309 -> 495410 bytes artifacts/sfall_dat/sfall_fr.dat | Bin 494918 -> 495019 bytes artifacts/sfall_dat/sfall_ru.dat | Bin 501750 -> 501851 bytes artifacts/sfall_dat/sfall_zh.dat | Bin 493666 -> 493767 bytes 10 files changed, 39 insertions(+), 24 deletions(-) diff --git a/artifacts/config_files/sfall-mods.ini b/artifacts/config_files/sfall-mods.ini index 9b645c93..d9f47a23 100644 --- a/artifacts/config_files/sfall-mods.ini +++ b/artifacts/config_files/sfall-mods.ini @@ -15,7 +15,7 @@ Critters=0 ; Set to 1 to only highlight objects in the player's line-of-sight CheckLOS=1 -; Set the color of outlines for items; available colors: +; Set the outline color for items; available colors: ; 1 - glowing red ; 2 - red ; 4 - grey @@ -26,11 +26,15 @@ CheckLOS=1 ; You can set a custom color from the game palette by multiplying the color index value by 256 (in 4.2.7 or later) OutlineColor=16 -; Set the color of outlines for containers -OutlineColorContainers=4 +; Set the outline color for containers +; For empty containers, set the color to 0 to disable highlighting +OutlineColorContainers=32 +OutlineColorContainersEmpty=4 -; Set the color of outlines for corpses -OutlineColorCorpses=4 +; Set the outline color for corpses +; For empty corpses, set the color to 0 to disable highlighting +OutlineColorCorpses=32 +OutlineColorCorpsesEmpty=4 ; Motion Scanner mode: ; 0 - ignored diff --git a/artifacts/mods/gl_highlighting.int b/artifacts/mods/gl_highlighting.int index e5c487e0d9a826e8bb4b389d5e38a759df4ac782..078131e89c9e552eb313882e6a30f3769a9a99ef 100644 GIT binary patch delta 2001 zcmX@4c}qv2f$0Dv0|SFl122eX-7`_Zpq@>G0Rprj6pRFmvoJ6)*uX>}G}{>l1_ovZ z1_loZA4anKF)%PNF)%QMz(gQ4`y&X=m<6F>B!>|L0|O&NJp*F}Ob9}AOaV(UFt$PX zFp^UYVgcg}migf5G?2ep&4I5Xc#F7 zauCFBm=Ks2`~s#Jm?R)Hj1+=~43pI4S&VlXWhTcliJ80R7L-&nFo@)rmgHpSr8?*5 z<9@l2v{ll-xoghdo;(teivlN(rh zCeLGKV-oV1yo}XVauX;SFt9Wj9bo+b|Ns96;|6Jv2-}>=ENmT2>?V`@*a{g>Okx*j z+%#E&J%EWrXmS>NEo0N<7wo}|?p5sfke2bHL!qa2CfF72HpnA2CW9o z2A&2PkQg@`hy>el63jx_VfYCwK*$nKs3pG|SSGV^nTT*h+{WA>)Zhy78h6NKKQ09( z?yAWJTrNV~x4_221B?681 zp43#5SJfcV;0lW?29ONc7{02>IlLN7d}}68LlOum_Q8pYfeWOa-(_+DUy6*N35Wv< z2`DWDOSb&yCSTx_2oe+nOCafP%mRrBd;pOQJPkq(`VITRZ0kly`eAA?1n~v#fk?2o z!1fC40P}e!Tk$I~2`rl&$8W_XFlRECfUNWeNN6+gH3&6;RS8^!hzMK(%fEo|7myg^usL*xdS!!`MWka#^8#9C1X6y-@^6_8Q@)tTH-^$-_9OAHK0z*L2ym|6!m z6%wFOQw5;D=YbmAF!`IXqBbv-2lWHv32@j!3Ia%N%na4XH(5f&O-jrOk}$-az&606 TUQ7v;xS7NpK*?wFIuQ{7nRlLO delta 1572 zcmcbmb4XL5f$0Dv0|SFl122eX^_VDNP|v!80Rprj6pRFmvoJ6)*uX>}G@B0t0|PSy z1A_;I48R^abPZ-;4*&iOg{Mb7y}1;wewlaDfe zV?4BZ53?rYWM)>e$)>D#C(E(1F$u;@R%3IOGy+8r151O^0mlFT|Nn0=Zjc6vu*pnr zVe4RG+cKGty^zskas#_KqtWCU>;X*dlP14nuVrMKoWT*ym^XP3N1|XJNCyLBgHeM% zh{f@0vL2@+dkl!p$v0VmOM!#a3(PT_EWjl?c{8WI9Opie00Uct5X3&tRSgmi`VCSb zQO*^U1-Oh{INyLc3=9oM4JW`X#s*`E1q_@GLJhnPk_}o7nhiV+G9XzluvW0@lOR3= zSoP#jTqYu1i@*ZR4MGjB5ZkyiCR=eUFmd%wj^TC@;(7;`hr6Ha+2l>!Dok8oCg0%h zVB)cvoW$cJ!~?bk>`8C{ale^-fJcsrM{4o|9v3O@vIZ8AA-s=3Bm)b~TRcgV?Redo zcppt}K2V6Nuvo9w_R#>CqOkaRa@fkXtrA;7@ZAk?7W zupcDCVBHAL{R~VEh9ExwClCqt64+k;GhjZ~WHkXLCjMQMy#%b7_%}@6Cmd2W+s1kHp5CVx9IZ1kX&KCZxwC_-FDlAw4D`oyp%oRLo>GVLc|Hp2=Y#YR}|0 zVLc9^S73wLC+`yxmt}7d2JwW28hF8xngJpiML=Q<0+T-oOEC#MOy&_$u@KHcQK1J> z0VbKjBvS(`nC66P#0MR(Ev-*B3+=Q!z8i-6nB#w1VsR3h(1vO diff --git a/artifacts/mods/gl_highlighting.ssl b/artifacts/mods/gl_highlighting.ssl index 8804bd47..3c2a9023 100644 --- a/artifacts/mods/gl_highlighting.ssl +++ b/artifacts/mods/gl_highlighting.ssl @@ -29,20 +29,25 @@ #define REPEAT_FRAMES (10) #define NO_HIGHLIGHT(obj) (get_flags(obj) bwand FLAG_NOHIGHLIGHT) #define NO_STEAL(obj) (get_proto_data(obj_pid(obj), PROTO_CR_FLAGS) bwand CFLG_NOSTEAL) +#define IS_EMPTY(obj) (inven_ptr(obj, 0) == 0) -variable configSection := "Highlighting"; -variable highlightKey; -variable isHighlight; -variable alsoContainer; -variable alsoCorpse; -variable alsoCritter; -variable checkLOS; -variable outlineColor; -variable outlineColorContainers; -variable outlineColorCorpses; -variable motionScanner; -variable highlightFailMsg1; -variable highlightFailMsg2; +variable begin + configSection := "Highlighting"; + highlightKey; + isHighlight; + alsoContainer; + alsoCorpse; + alsoCritter; + checkLOS; + outlineColor; + outlineColorContainers; + outlineColorContainersEmpty; + outlineColorCorpses; + outlineColorCorpsesEmpty; + motionScanner; + highlightFailMsg1; + highlightFailMsg2; +end procedure DudeCanSee(variable obj) begin variable block := obj_blocking_line(dude_obj, tile_num(obj), BLOCKING_TYPE_SHOOT); @@ -70,10 +75,10 @@ procedure GetOutlineColor(variable obj, variable isCritter) begin return 0; if obj_type(obj) == OBJ_TYPE_CRITTER then - return outlineColorCorpses; + return outlineColorCorpsesEmpty if IS_EMPTY(obj) else outlineColorCorpses; if obj_item_subtype(obj) == item_type_container then - return outlineColorContainers; + return outlineColorContainersEmpty if IS_EMPTY(obj) else outlineColorContainers; return outlineColor; end @@ -174,12 +179,18 @@ procedure start begin alsoCorpse := GetConfig(configSection, "Corpses", 0); alsoCritter := GetConfig(configSection, "Critters", 0); checkLOS := GetConfig(configSection, "CheckLOS", 0); + outlineColor := GetConfig(configSection, "OutlineColor", 16); if (outlineColor < 1) then outlineColor := 64; - outlineColorContainers := GetConfig(configSection, "OutlineColorContainers", 16); + outlineColorContainers := GetConfig(configSection, "OutlineColorContainers", 32); if (outlineColorContainers < 1) then outlineColorContainers := 64; - outlineColorCorpses := GetConfig(configSection, "OutlineColorCorpses", 16); + outlineColorContainersEmpty := GetConfig(configSection, "OutlineColorContainersEmpty", 4); + if (outlineColorContainersEmpty < 0) then outlineColorContainersEmpty := 64; // allow 0 + outlineColorCorpses := GetConfig(configSection, "OutlineColorCorpses", 32); if (outlineColorCorpses < 1) then outlineColorCorpses := 64; + outlineColorCorpsesEmpty := GetConfig(configSection, "OutlineColorCorpsesEmpty", 4); + if (outlineColorCorpsesEmpty < 0) then outlineColorCorpsesEmpty := 64; // allow 0 + motionScanner := GetConfig(configSection, "MotionScanner", 0); highlightFailMsg1 := Translate("HighlightFail1", "You aren't carrying a motion sensor."); diff --git a/artifacts/scripting/functions.yml b/artifacts/scripting/functions.yml index 374d5eaa..edab1e0c 100644 --- a/artifacts/scripting/functions.yml +++ b/artifacts/scripting/functions.yml @@ -1472,7 +1472,7 @@ - name: get_current_inven_size detail: get_current_inven_size(ObjectPtr object) - doc: Returns the current inventory size of the container or the critter. + doc: Returns the total size of items in a container or a critter's inventory. macro: sfall.h - name: get_object_ai_data diff --git a/artifacts/scripting/sfall function notes.md b/artifacts/scripting/sfall function notes.md index 2087ab4c..56e96032 100644 --- a/artifacts/scripting/sfall function notes.md +++ b/artifacts/scripting/sfall function notes.md @@ -744,7 +744,7 @@ sfall_funcX metarule functions ---- #### get_current_inven_size `int sfall_func1("get_current_inven_size", object obj)` -- Returns the current inventory size of the container or the critter +- Returns the total size of items in a container or a critter's inventory ---- #### create_win diff --git a/artifacts/sfall_dat/sfall.dat b/artifacts/sfall_dat/sfall.dat index 39930cd42afd9db770a01a30f3447eff22179b7e..17372692992db4bf787fae26f47cb069e5bb62f6 100644 GIT binary patch delta 1893 zcmZ3~E7#s9*U-Y)!qmdt!qURp!nTF|X=(k|@caxJSCRXBpXhzJufG1pv@x}zlR1#>xPrLdgA)KQ_C+eTYBP-;$I1uE{<=_9UUGQFY#aEZxyi* zomh7vz)MqUsXUjLpy<@7Rr%@n-n@NtS9R-yiF5D%Jez;7`t!Zn=E6cdw7e%xQR93r zyT|EPXT4LEhuFOI2R9kcZ%$FJ?8{*aQ@2s{{LyOm`1mxn3TvC{njhOQY&ket{9~W; z1(pYr-yfFWh@L02Npl+4pB($MH>PRfRe7Ny^}BOkC|BKdql4i9as^yk>|m!tjOyQ zX>-1weLPL=Dqri*>|R_-uhQ}#^0x9-4{#KlPmCR};@cK0WTy;pA6JUMWu zQ2NYEA$Qrm1}m3yb_p-3e=_HxMQV=M)s;sx%WK)M7NuU%;x##_(E8~2^X^+4R`q9= zq~184z3OC5w1C(YNpr8IUC*jk8Cb6NZQL&+&&RRjYiaQ2HG5WxYhPKEn4A~1_4sq& zyGM=MuUO_@VVG;YD(=#&A02g0mvax>m}bpcaX9G2rqIjN{x!;{+;U!-eNLl3>iC+> ztwEJ1f4 zd_D2**JlZ~t1~B@H2)&2vU~5R!{1ka<&Ft@t5V~5SJ}Cge_{By50!GW_m}6^ES<_a z@wZ;PSI?PEcGDg2D}IvRG_B%(Z{Q92g(q@v>210_P22g{S5{g1K(^SzC#RR~5%@6U zPmVL22XDt4_eIr#UbBwYtLVEeKKDUEL^ZO!BT>ZG!|M>d;rOHiKatrzj7W1uiKC)+~K=cvY`OhR}rNxbIW#3dV z@-yCVb~4CwW%|ko{-5)QZ$`Y;c=n{hK&WYA-TQg|EwT9l^2hV96<>E; z`TyS9xeXE*Dmw+LP6rq6c`otHNkFwgJ9W(s$7QB=C-=XGZmbIWb6UHiIx=X|U0yQ=5>)b+afx28Wdz1H~ppYO8a zd%KI->OXKVo+%}=N4Yt)!u`dbb8FVsJ-ie4FJ{$mlc^tXpVkSfTex?}M(CDr z*=4yzob~kWoo8R3t_YvI@a@;OF4+UotIm`~{hD_mKJR3H@*mT?O#l77>#RS0X8Qkp z+8>2a;w=B-b$=>8sekqKbiGdYRJA{RPwqeXF8YP(`-ce!s#HAQCQaSmdBxyydG1s5 z#mj;$vtuUQdj9ji;}j{!y0g{)n`8u*7F|nkx^h@Iw^!-E+I~&5t)h|Hs*bNxyrYv( zy#IX9T{`FKn#E05wnw>{_thNw@kuGy{>z=XN{VcZR1;bcFO;y^W@8 z)4wIY&s-*3eb15O($%vre^&Q>_w#wb=N6ym>5Q4E>UnBnPj&xP zk0~pb)c1=#sFGN>w!qeD+eG)1WeHyoiB4~cf5T+==0$`1!&~}~J{D%|dZ5Mn;q?WV z2eZUJ9+BC7dNklSbQrufl zO-Vl3#*i3WG0$zEo@eHQhYh^9S6tJ&Y87*i`xobi$?I;a_8nLew%zxERn*xF2h(PK zUAuUj-p6^N#WLkSGuOZRoZsv3xAV~qZ$H^(J+n%M+m`tL+n3HiZThE29oaX(W?d}V zZf3e(vgGcZ=T8;ahRxqluk9?mL8+o7Vda|stYcIB{vM9=ysoqC!jcEqj%98RTKW23 zo%-{>7oRs|n>H{rJ=&A=F;n3O&2xg>KE6 zh-#;(ZDQ(KZ-aV(=D zw?^yytQDu+mWN$W*R5qNS#fS!_P2|>o~89f8P8$Oy(e2FUgU4>yL5}d^CjZZtj5P& zrv}EK^Ih|#{W zD{;1%ZS0{lO6Rt?BrQx6cUauCGhoL0tT5O1nRzNF{i58L{@<<|`_9&yIrJx|{5{vM z<#(&?Z+7odx~Z+OsoSJ(+4(@DC-)w^zBxFz>W|1xr;l};I%QOvm-P1sd$UT&FY#c> zNj;IaslM69@6wX_oBv4c{a!5p^3RX`pFTL>;s5->c%Sw8!v*}iu6<&-e&(X+_Mf#5 zzDhYqT{>^Ovt>=v;F@)yqWDrWPt`y6+OC%0Q!Jc~uFPh<#dmp|%WcVJ8d1Fut)xH5 z?Q-Ar>g_AG*|$wD9Gmd`q2spsDK0nq-@M(<@jEh~b!LtC`+CDo=kx6|1K#%+d!J4I zz#`h+vqi)y^xNl3yZQUS*VI^@X`b@1aK+Ilve%xQy|DGGbH1kazS_`>O?k?qsO42R zuJ@%oANzYWrdQ)}{qpmT`ui+5PL^$(B4AiwGUamxU$M>UDXS)={xdC8PHug>)%lr6 zmUeNAZP2^hb)i$Llj1b&SwkK_w`{6jknZ(!?gnEu)Bb9?b-|8uE2hpq{BPB>uvO0{ z>=#=8Jvn4=m(RBev1@M~KQ?Q9!aN>M|f4yb;s{K?fEfNUX?Ga-^pXR z;Pa*071P#p{kX3?gWGV+fxS~Ub{)I1>h5WuvuAwoFsBt)`JHH#cpwoRqT2X-qJeX} zz*8wz$)>X49aWc>2QqD(vV7vDO-+9r+-9y`- zpLa#nRu$!bOscr}JU9EV%=MMeQ{VR(-xcZFcj|n^V~>PqZU5^YNo_AUCt#Ooa&^*z zKAyOT)w`doecttP<8RiF$FsbHOWiNTKU*kuw5QSLsQHO~ZpY-m-;1|>`|`}a>>9R5 zhu5y3@+__X|H=1%oh)_=RW3U!;+FC$XY$n}-Zp-F=YNp-uvJs;{XPA_=O#b?TDrb7 zSn~bbtk3Tr@5!_Czk5nx>xOGKTU*vR@3~Z#)ao8?`}Qe+_pwvVw|*Yo?EH9b-F312 zwEy>-Z=RPEc$;3n@NaZP{Dat&_uOsFuh&n1@?0wQS?ITr;G68kb7#E zzW(9&feomvQ}>z3`95r*xKocLVBpelBPEH-F(D zi%R+RAL-_{aKBHEZYtuKpj9(nU>IYgSxU`Q-j%dZ7F2IiaF!_*$ZT760q} zw|bp1b+aCK7=Me_GKK$Uk57AC-V*zvma$ZE^K8S*S8mfhxrP?T7N!>F7M2#)7Pc+yCAIZi!}Bv_Tt)8heWLf>zWVwXkIM_v*KWNw z%Ow4ce6&}_ujfs^{vH|}ts73}>WS;`PA$K@Z0U(Rihm_sx;VZycXW7Myu^Qrzg5IO zbYk6w0546YrSe=}f}&HSR^_MPd-L|qUDd4*CeFS4^KAaT>d*IPn+pr=(DI%%MUC^h z>>j6Eo%K#t9%A#-AKYX(zd1#@vM+}zOx;G&^GB=Mhw&7O6R2S63d*EU#t1T9kT4i`V3!LhGa7&%1AJSk<3d zl6vEG_NtRL(E?&qB+b2+c0H?FWnj75w{gFSJRir7ucg78*X&s(u6<=uVsc*4*5l88 z?;bU3zhaqtg<-Dos<=z9est71UCuphW12N*#o?e6n?f&7``0L+a?5#T_BoCEsN-ug zw+2<7{P{-P+EdWt@Fm@vv@?>8aTy|aUZA8 z>Js04iO-Q&uY7s__RW;6S<4U9Mw*`9WRjh^D|JSRJGXJM#buGso13PxzEA6Y`Q}Pb z)-;nDFP|{n^vd4;<^R?tXDgR~F3{TZ;^1wMce2m#dY38cyO(ixyivG1|3$gAWWl|K z-ZxIiPOV@0Re$nV5qtk#CmApKSN*VtgaurCbng53gauE;9lvyW()k8R(zD2-p}*J^SJ6kb%QwV9X)l| z>-PILUNdWb*s}cEmy2cAxu3V#9<%8RYF?4fyDxg(M4g?h>!Z?&v#m}^6zJL|N4u4_wM-jVvz#3YPj+~pT3DE zsr%g{_}mT}&F_miarNU?|KscXmnt_|$t~zBSj@N5`N*D`0?|io=RcE_l@>R;m3>pe z$j^Ac*~uW!mFX)V_@Ao1y?fCOT|@Td`#+VAWV z+p4u!1dC=f-&-~RMvvr_;@98!Hm!|IzZvmX4R!mzK*!5#kOP%i= z)wd@9sPcJ1r(o%5}}@2Z~jQ`hU_-TKYx+-~Bipa%yKF7JH+OxF(wmshH*1Vr1!wMwN;dt-)jzpt-t&g#y&o#H z#V?-s+%Wsr;yVc)oAx}~Q*EJt@cGh7Jf26xXHA!K3F`~LRiC!z+C|^Fg`eA9AAb=( zwe#(%g&+N5Gds*D*S|jbWcl{aPnY*<{MWlCZee}1@2NM=M{s;<+)GI z7cUF4%#N9G>-o?7j#H!@>&{mHZ;}yMT68VF>B?c<++L;sYWp?Kwu(k(t2(|)@s3VD z@&5BYcj=s`YZfxSa830jF!(ada delta 1791 zcmdlqPwwnoxrP?T7N!>F7M2#)7Pc+yCAIZy!(uaJLPh4?eDglVeCA!frM}GTwuY@S z&Ac`%Dq3a2zZ?_8q^1=tk5#O1-rY4*(|GchR=Yc~H3FIozbxec>e|J>w4>{XLeQ)r zmk=+(H=8{)gR(RiH8ru?7Qf%Qxj4OCNLSCg{8`=i-OuO!o?CpLr!!`vs^_VRJ=OhF zJ*KQ!Qr|D~ph{xh+5%grZ4=#3mL+^WBs#q%{tc7en->l44{zx|`dFB;>wy;Qhu0Te z9?TN^ctmFR>D^2}mg{l+f9_&4)4j%~VSehjr{*p(H_!f=INfzmw5#>|jtYO_zn1Ec zUd`^P7da3p|5ID=yqe&D#fI|={}wOdB}Z(ln9wCSH7b!6ZCnsu>c zyP4^F$&$Nso*X_PE%S-n^G+V?^{nVXybKXYrEmeO#zZWie)@D{TX>R+I`jeXF zEL9&lC!Fv7S)$GTW~2D=1KRe7mU(;a%*i|+vHbY$;Ik`sB#Yji8M`7oPi;wV#j%Wr z+#0R(vsRpPTOM{jUALC8WW~8@+21bidY0A`Wju#9_nvH#c#*%g@6s&-&zFctvl<_B zof;T_&WEii&B!EO&HCAymKnxbC+EvgFt}9z?fRLeO=&NWCHp1DZC)d+;N+;iAx8Vg zuEg15wy}rKD4pBllC&^Q++lIk&VU)~v%*~4XXdG#^ow#|`hUA>>^oa)=Fp#<^7mZ3 zmfx+mzuCP<>87^Arf!qEW#XcDwUeezm?9D16zr=$j zC-p?yrut?Zze`KzZ~h~(_j|GY%RfK%fBN8jhyU{j<9*iW4;S$7y7r0T`k9NO+ke(N z_$uWbb?LnA&XzSvgKO4-isDPjJXQbLYr9&0PqA<|x-y&b7T@JhH7MI9axBihyB#$&}9(e8o1Wr>vTg`p>jXIl1-iR_A9P zS=z-dwn6W1*M&~0PKwj8XAOD$+_I^9LAuw^xf_htO#7?l)&)Dtt(ZFd@V`~h!d5+- zuwQ8T_vDbhT|VC?#IC({{MfAZ3G;Y3l?x>#zsx^evVS?-)g8a{wCBf6c~!owekYIN zg3p&~S4>;a_2a(o3~s|M2lh_c*mdm2s=KFs&YtnT!<<%J<#(b{;(C7a5EcT`}zD%JPYqHZ}ciaGSY$k(;FJm5wzx}-q=h`Cp*!pbG z?;Mw?t!A5rYRZ2U+@Hm}%weJA(I}%s=PRDodwI0H(2`v|h0BGr)OWsepwxeUg@03S ze%=*PTUC_%F{$F>^W5yeGS^o=PkrBGd{?Av->LHvk3ABewf(PqB(=TZoPb@T$<;{< z`gr0VR_}hU_IcOGjlWqx9?$X)E_J^U|7@Yu(Vj+|qvj{}xgC@LelOnk?aMRwvTN8L z9bUVB%Cofk|0m!7b+XtgRJrV^h+E31oXJ;@c-#2xo&Q1R!&XhX_xJPzpPT&nYw7yV zV9EDyvp&CjyeH4j|L!S)tsAb{Y;9TNyysF`QmcEo?c1mP-N#Nb-}-rUv-9J%b=Sr6 z)BfLUzIk3w;B9*O!oSfG@eg88-gCDxzg|E6$#bdHXQAIhf{$j^?^J)2JI_|XLhh+u z`ud08lc#RGep{=IWxq^n*`-b2S^xD0)QLZSUdHuj_QF3JpVC?W-3_SY`MI3s-~5Gt zEI#S~{AqMLYAdsS;~(ok)vTcpxcYxYN*6U4EO6=Y)!`;cJQVRs65> z-|BV7)XjR_Vf-yx%M|{bJwEMmc}whvTEEe^s(#l=(n&lgfcTQob6+0008XTp!fg) diff --git a/artifacts/sfall_dat/sfall_fr.dat b/artifacts/sfall_dat/sfall_fr.dat index 73b91ebb8abd49d63afd70a80f0014c1c2ad74be..70350618e7d7c13f064033d07971151f0ca3a123 100644 GIT binary patch delta 1893 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 delta 1791 zcmZ2ITkhB_xrP?T7N!>F7M2#)7Pc+yZ>#IqhQ(&cgo@0&`R09!`OLd|OMRKwZ4Fyv znt5$jRJ6*3e>o)wPR%X-C%&g`inM zE+JlmZ#H{q24!h3YHDJ&Eq=dqb8&jPkglF}`Lnw3yPwbdJ-7HgPiM?TRnJosd#d}V zdQ4fdq`qI|L6yY1wFS0L+a|i7EKB%$NOXEj{2L~_H!m98AKub`^sz8w*8?rq53et{ zJeVc+@rcas)4Q2|EZ5`s|J=o9rhAP|!~E25Pt9FoZl3)!ak}fCXjkj^9TonN9&JO~ozOSbs3dlH%Ta zYD)6KHipF5ig|AP^gJ^cJZ#{-z2chIRjZhD+`l+COkQ_WweP@+u)OTJ^ghlDEtVBpN>zP$5+_uE`-@bJIY12PF>d3zNHS1!@ zb~DrUk|lTNJb$XVHf;WedTnRf4N4Uy2`kt1XC0g3_xEs|=XITB7nVG@b}Vyq(8|~M z>eQe2z4*K#+q8k1>Cv8)m)l}5^%TvmGRe|AmwE2Xq|}NV#}40GWS4koR_NIkFLZ0p zL|o%NzQxaH#%bM%uG@WSmY42-Xts!-`l&nZ=DdyKTdMwgelJ|`tj(-w(%kkZ^(QsU zS*kvAPB`EDvqYQw%|`L#2ej=EE%Wx;nUi@uV)^mg!DmIGp4yV!ieniK zxiwnnXRSEpwmj^5x^69F$%=E+vcFy2^(?I?%6JZI?mgKe@gjd~-=$jwo-YxPW;H(M zIyErPR^H~U~sAa+x0U`o6=q$OZH2Q+q_0t!O2m3LyY!~ zU5T^BY-10dQ98H9C23)rxWnS6odGk}XN9@8&&*Rf=@;d`^#69%*mt(p%%MLyCeu)Q5 zPU?xYP4&$-ewUWa-~2~n@AqQ)mw$fj|MbE64*%y5#`~<#A1>hEb?pe6}Joh@sU2G^_u6~&j5d8+=g*LJo1o?_u_bY(Wj^B~_tTSu8-`5*%I-hT!8SuWp*!yhq z2Nu!po-HCyq2E4N+Rfkpy{5+MO!Jh7g)5Fek-hfZ?1imgo%1!V_tl18Y|2v>MJ=zo zalJ3y`Pkp1F})g(D{t|YKRMcX{Ehf6BZn;KCuZ_`i>JzT`@T{-!lpcV*M@oNZ?%`a ztD05UtNrQk@`PT7=$D^w)Zb^hak6aN6amBfk}01n_=;^#Pgyk~^`B{(a&qh2tXhxn)!Jf^@H+b2k{Pnf6!9tqXRPTQPO^;eV^1g{^uv zVZYGw@5v#1yL`S)h+TW@__0~*6Xx-7Di=yfewlx`WdCxut2=(@Y0r&JcF8Qg|j4(y$>vFq54Rd-MOoIT@vhdHgd%I`#@!~==o5Y@)t6Ahf( z1)fT&N;Z`R@2I-8JdkPQl;smIZEE`4;5KvhA~#9bD;;Z!N;BT;*BSkJ&$UJHvGv)W z-#IQ(Tg^5L)s+7zxIc?`nZrWKqfthO&R0CE_ws0Yp(VR`3YQCKsqcK{K&k)y3je0u z{JblowyG%iV^YP%=egN`Wv;J$p8CGW_^wFTzEkHT9(yD_Yx`gKNNRh*IRU#wldF>! z^zptwN0sB+m+5x102Ig_s*@wV~XJO6{shpn1&@9*gcJ~#RC*V6T! z!IJOaW_^D5cu$_4|J_ppTQ^*@+1j$kdC#S?q*nKE+qX~oyN{h>zV-9yX6MIi>#mFC zr~SXzeDl1Vz}xilg@2Lp4cb=_&h1^rS z^z{$FCr{mW{kB#a%YK>EvP+x3v;ON1s1twuyo~G5?1g_cKBcq#yBko)^K&`NzxfOQ zSbWm|`P1lh)K+Hu#y{47s#!xHaP|L)lrCzzTC?J+$|v_9(*xaC&j}S>!`Bk!tN35% zzt!uEshjnGpSPgUb=?BUhU|e^JZ5 zxoK~^gmCrjjM)e0-KpqbS2FQx?;qEXF;DOFuD<+}JNxQFzvXY_e{Ej)Z98u>dmID9d)f7PRy46QgfcTQxb?C#004rBpgI5m diff --git a/artifacts/sfall_dat/sfall_ru.dat b/artifacts/sfall_dat/sfall_ru.dat index 85ae7a6c2f4e00bd3d75ee657eabf3c3ae55cfc6..3ad55a0e10d030b081138d40975a6a1c80598b8f 100644 GIT binary patch delta 1892 zcmex%UhehF7M2#)7Pc+yzo*u34bRVzaTU40_le$j`|9goJT5OtU%U0% zER*y%^3h%yzn(Yw`g>?_v~D<=t0%6%JGK1svZW{PDE^gj>Eig-+|l82@e=y0=zVpmdbN^35rgQT9u!E@6FpccU8AOm^kRbQolRrg>uzRN4`w68eZvN zB|A;hW=|4fZ7F?NE%S4h%F)I)=4mRb>8F;?iT8+jhw%8I=1 zkT&P**~in=KF*8WmYc3)WxCjRZ{-dHHf7J`d+QENNnD(CV8WHRZ+Cxk*n8!6&65Ln z3Z>7y6mpl{Yp`-TXP5Aj`X_T9TBPQ9U0r!Jv%Hr5YEkMHEnbs@3ayWRKkvS^VO4)- zN$QQ$*{e?0L<@*bku>*O+V!kzm4W4I-^TqS@_ZaSzLo}WUbAPFxb~GriOG3ETaQ2Y zy?fNC{fcGo6^6OStKu%b`q5G6bUF91jcL}L6^DaPYzns_X(?_S2)@kZh5{1@fck_Gn` zdfzx5JGFl0SN+LfMeO}|on*Y^U-iRc>Xg=xbzLkDVNGk4qfc4)r&*Q2G)eYjbcl6X< zuiNk2c+IT!VaxJsUoMte=YHN|d(5UQsCh*?@4o1D6Log3u8&G9&bB%wQJ`yc;F|C{ z&es#~etni;yE=2iN%JqVD!cc7I{ba*SMHdgw<`4@(N`%o!2dw+Ru&C;o? z6MyTqd-a^zWH;UMzTzk8P17pw_XggOUw9(-mfoh@)3lwBePxxE4`hoid~$l(9)S-t z{^U5bdGL0;abHv&=r!wTz1l9;q~?j8d2weqx$$1?kC`9m+`Hr7i$x0Ds^QA}eEKGu zr0#c*;Bz}@G`}z6#MO^m{g1EjU#i?>CAXljU@_lH=OcS&3Pc~Vo&QWyR$AQXR`yK= zBR}K)W+#I@SEjFg;D4(2_U=VDbPd^)@BdUflI_lL-Qj!w8~2#yA<+f8F-z;CYy-8g zZ>!c`5iFX`d~enK8$FU!ieG=@+q5<={bs~ljb~3941}5{*1ezS-x8Z2Ab&jnTJd$q zmH+Rpo!cOBp|Vq;>U417p63$JoCH)0v{TpIa9n0;cXH3nJ$=~+=1#Uydg35Z(4$$k zl=-@HA|Ic^salaVj#Ir0zHK<}F5BT6Q!nrOI%vcD&w-zcFS>WyyU0&eeJ6YC_w4uT z?{~HsHPtLVIaf}yu`1So-naR|a(5PQK4mju?bhVGQjfl>R4#OFSut%{VAqdDEp@(g zRNtEXlXw23x%u;gh?kT4r5?F{Jh$BD+O@CCch0x^zN>o9PhGEze{1?f(`${d|M@N( zzPG!Wt^Nb|;+aw+dz70)E8Jh~Ik#qA-NQR!|6*4CHktbI_Gz7vx`lgpOkQ3Q^>&@w zp2G0Df?EG{t?55`j%>f4@3OV@-rV&yN^fF1->fli6`Z*zD%tcSSO4UqdCwb`_kO6* z7QcAjbHnUgi|-_KY})f^Pql^q!RJdS@pv8$pEX^|C9E&}R(;xtvyljYkxKV9Cd@n7$nxP|r2$|J?aUpJ?`ZO)n)IW=yDW`u6} zmR*)h#92?@-g)-r>5A~V3*UZi>ykYXz3NO^)USC5;`2`CC;u_M%k-`QJ5G^utUFu%zez@5Y0^8Ecm~F8NHgeX!dL~WuVZ7fd=Dg+G=CE_K dMTs#mD6vo9vz%RzM|v(h!*^x|hUgXS3;=06#jOAU delta 1790 zcmcb8LGIgmxrP?T7N!>F7M2#)7Pc+yzo*u(4U5f?2^E=l^UeDd^O<+`mijWU+ZwjU zH1pc5sA!c5|8h(WlbTkrJXW#3d3V=LP2;Z(cOGKfI;?=wo5Vt_NDIA6{Q@ zc`!@t;}MzNr*|{`SgyzM|GA6JO!pd_hWV-Ao|?PF+&ued;&j(N(XQ6-J1YEz|5~a) zdNsSFUgSWa{7-Gc^J;?s6&ubg{9C+)kHh}@jO5I=*z0p<)o1odnu=SlvHoC^CB?n< z)Rg3dZ48OA74zKo>3L=@c-X*ud&M=at5z}RxPNhOn7r<$YTtnsVcUHlSVf(^a4>Dw z*R_kc>3y6RS}arUGjsi`&-uOnemft{@b;5k)-$VAxNV8=zkTWa)24rV)RBGjYu3e* z?PjLyB}?wkdHz&!ZP@$`_1ey|8~G1&pI~6@9*I_&+9tNE-ZO)?O5jKpp~!h z)u})4d+~WgwrK-1)1y5pFSo^B>M5FAWs;?LF7w=%NvRb#jvcQ8Ex zvs8WLoN&JPXNflVn~mbf4`|yTTITJwGbi(S#PZ{}gU_zmkt}+5X6%aWJhdgc6~{6f za%;5C&suTHZF$)BblqCUk`?EsWq-T4>seY)l<^$a+HqDjvF~iHnL~ea%HMPC zT7I|M{$}?crJLFco4QTvmYokYdUEfv>zjjftNw`GboyAgsZ&O!c}ahNus5rO{1OkA zoYWI(o9dfw{4On-zxj{E-tWcoFaP}5|LKGC9sbWBjQ3feKU~1S>)I!V>t`;CZvR>9 z;H#8#)TQ&bJ6qNy4X#-SDvB>9^Hlv~ukC92J;lP==*n!yTYQ(dx!jgqrV-Wq&`SD) z+%ES`uin05n|<5l!m$a@A3AQEpW{J z4=keHJzGSaLce{kw41;GdrghindT`E3s)R{B75z**$Z30I_GOz@2d^H*p#O%idtTE z<9c7Z^Rd52V|q0nSKi_)e{!_(_#5$CMh;odPt4@?7EhJw_I;&vgiU$!t_}0j-)b*; zS2e4ySNqf7Oa#m<>c14Tb-YI zWN8<-*ap43T^Bl~Iw?-Wo;Bq0bIYdc1?gTt=WZ}oGwrXITNmsow_@t-!~a%23tRPU z!hWIU-;+c3cKLjp5WDu)@nf^rC(PsFR4$Z|{4)P=$^PYRS9ko*)1DtQGKYndN281mov(OS@8!|*LQ8h>6fPIeQs4Q?fl~kZ75+`R z`FU4FZBdk<|8ra{_jWCRZmd z=;MidSiSqX+UH##H~wb*cs$EHxYYeZ{Ii8pM|&D=j+&p?=XOl~`@MMEw=d7!%dTO2 zba?IhDbLdC|DSyS*U4h1Q020tB5o<4awcCr;%(!%cm4;N4_h_m-rv&?d~WjNuchld zgC*a;&HDWA@t!<8|GTFIwr;p)v$bW7^PWp(Nv-bTwr`*EcON^&eCy}Y&CZY4)?F9N zPy2tb`Q~{!fw$@93;#w(#6O5VdC%R({CfTLC(or)pM`!42|k)tzf=89?mS!l3c06t z>FXbUPoBE%`faT;mi;oRWtTR6XZ_b3P$&NQc^TKA*$e+@d`f5ecQ>Gp=jU>kfAbgq zvG}C_^QY12sIAQQjeo5FRI`RY;OhSoDP7cbwPwXtl~3+JrU$yOo)ap%hOZ^cSMk5j zf2-FSQ#b2zhw-;)EmQb!_V~2Nu4LlX-aoD%W1imUU48i{clOnVe#_s;|JuCp+j8l-?A&aJ cL>L(MvQ1Z9!LG-%Z4NubcV-5LZ_C*k0DlXjMgRZ+ diff --git a/artifacts/sfall_dat/sfall_zh.dat b/artifacts/sfall_dat/sfall_zh.dat index c0acef8046d3d85894ed148de60777fca7b301c3..0d6af9b6cedc447c98a4ffa317d5fd0c3d17a455 100644 GIT binary patch delta 1893 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 delta 1791 zcmX>;QSQ+MxrP?T7N!>F7M2#)7Pc+yOUvumhQ(&cgo@0&`R09!`OLd|OMRKwZ4Fyv znt5$jRJ6*3e>o)wPR%X-C%&g`inM zE+JlmZ#H{q24!h3YHDJ&Eq=dqb8&jPkglF}`Lnw3yPwbdJ-7HgPiM?TRnJosd#d}V zdQ4fdq`qI|L6yY1wFS0L+a|i7EKB%$NOXEj{2L~_H!m98AKub`^sz8w*8?rq53et{ zJeVc+@rcas)4Q2|EZ5`s|J=o9rhAP|!~E25Pt9FoZl3)!ak}fCXjkj^9TonN9&JO~ozOSbs3dlH%Ta zYD)6KHipF5ig|AP^gJ^cJZ#{-z2chIRjZhD+`l+COkQ_WweP@+u)OTJ^ghlDEtVBpN>zP$5+_uE`-@bJIY12PF>d3zNHS1!@ zb~DrUk|lTNJb$XVHf;WedTnRf4N4Uy2`kt1XC0g3_xEs|=XITB7nVG@b}Vyq(8|~M z>eQe2z4*K#+q8k1>Cv8)m)l}5^%TvmGRe|AmwE2Xq|}NV#}40GWS4koR_NIkFLZ0p zL|o%NzQxaH#%bM%uG@WSmY42-Xts!-`l&nZ=DdyKTdMwgelJ|`tj(-w(%kkZ^(QsU zS*kvAPB`EDvqYQw%|`L#2ej=EE%Wx;nUi@uV)^mg!DmIGp4yV!ieniK zxiwnnXRSEpwmj^5x^69F$%=E+vcFy2^(?I?%6JZI?mgKe@gjd~-=$jwo-YxPW;H(M zIyErPR^H~U~sAa+x0U`o6=q$OZH2Q+q_0t!O2m3LyY!~ zU5T^BY-10dQ98H9C23)rxWnS6odGk}XN9@8&&*Rf=@;d`^#69%*mt(p%%MLyCeu)Q5 zPU?xYP4&$-ewUWa-~2~n@AqQ)mw$fj|MbE64*%y5#`~<#A1>hEb?pe6}Joh@sU2G^_u6~&j5d8+=g*LJo1o?_u_bY(Wj^B~_tTSu8-`5*%I-hT!8SuWp*!yhq z2Nu!po-HCyq2E4N+Rfkpy{5+MO!Jh7g)5Fek-hfZ?1imgo%1!V_tl18Y|2v>MJ=zo zalJ3y`Pkp1F})g(D{t|YKRMcX{Ehf6BZn;KCuZ_`i>JzT`@T{-!lpcV*M@oNZ?%`a ztD05UtNrQk@`PT7=$D^w)Zb^hak6aN6amBfk}01n_=;^#Pgyk~^`B{(a&qh2tXhxn)!Jf^@H+b2k{Pnf6!9tqXRPTQPO^;eV^1g{^uv zVZYGw@5v#1yL`S)h+TW@__0~*6Xx-7Di=yfewlx`WdCxut2=(@Y0r&JcF8Qg|j4(y$>vFq54Rd-MOoIT@vhdHgd%I`#@!~==o5Y@)t6Ahf( z1)fT&N;Z`R@2I-8JdkPQl;smIZEE`4;5KvhA~#9bD;;Z!N;BT;*BSkJ&$UJHvGv)W z-#IQ(Tg^5L)s+7zxIc?`nZrWKqfthO&R0CE_ws0Yp(VR`3YQCKsqcK{K&k)y3je0u z{JblowyG%iV^YP%=egN`Wv;J$p8CGW_^wFTzEkHT9(yD_Yx`gKNNRh*IRU#wldF>! z^zptwN0sB+m+5x102Ig_s*@wV~XJO6{shpn1&@9*gcJ~#RC*V6T! z!IJOaW_^D5cu$_4|J_ppTQ^*@+1j$kdC#S?q*nKE+qX~oyN{h>zV-9yX6MIi>#mFC zr~SXzeDl1Vz}xilg@2Lp4cb=_&h1^rS z^z{$FCr{mW{kB#a%YK>EvP+x3v;ON1s1twuyo~G5?1g_cKBcq#yBko)^K&`NzxfOQ zSbWm|`P1lh)K+Hu#y{47s#!xHaP|L)lrCzzTC?J+$|v_9(*xaC&j}S>!`Bk!tN35% zzt!uEshjnGpSPgUb=?BUhU|e^JZ5 zxoK~^gmCrjjM)e0-KpqbS2FQx?;qEXF;DOFuD<+}JNxQFzvXY_e{Ej)ZTrzW_CuU( dheQ|{_Oeay?O@mANvLCI*vZ7ekkrA>005Dyp=|&F