From 0ba284560956c6066b0042a4fa4f78b5cb5b4972 Mon Sep 17 00:00:00 2001 From: ZHU MINCHAO <48154958+MinchaoZhu@users.noreply.github.com> Date: Tue, 3 Nov 2026 13:55:22 +0800 Subject: [PATCH] Inspection: hide the tray's own magnifier icon for cards; fill the gaps between back gold fingers Co-Authored-By: Claude Sonnet 5.5 --- art/__pycache__/big.cpython-314.pyc | Bin 35477 -> 35627 bytes art/big.py | 10 ++++++---- src/Decentralized/GpuInspectView.cs | 4 ++++ .../Textures/Items/gpu_big_burnt_b.png | Bin 1626 -> 1627 bytes .../ModFiles/Textures/Items/gpu_big_pmd_b.png | Bin 1580 -> 1581 bytes .../Textures/Items/gpu_big_probidia_b.png | Bin 1589 -> 1589 bytes 6 files changed, 10 insertions(+), 4 deletions(-) diff --git a/art/__pycache__/big.cpython-314.pyc b/art/__pycache__/big.cpython-314.pyc index fa74d8d283687537901bd01c7fba3d5b99ab2ca4..b9d30f2a32df807266ad20d297bd1e883c68684a 100644 GIT binary patch delta 485 zcmbO_m1*@fCO&OGUM>b8U@3o@)#|&Euhx(03CH9@b?wbN{O+($eiO<+d8>)U z)>H67<_*Dw}twu~rc3S*jT zKF57Q;#}`*yc!*hcLc>I6fIz!Yj#agsl)LOzt{}H-s%~N*ZB38n6C(2YJHtwZ-e0u zr>*5%tZxcP+~DEuckOhYpg4o&8jtK}b_OBkkIW2wnqRmk^V-==eiCKM^qp&Rc=S3( z^UZ8AFF6=(H-AXk%gPwFd0o~oX2z_|EAwtKGFEMFDNti&Y}mZIRGW!$*5vEuZH%)g z$5qT^oHO}H#Z<<*llv;CGR~i@QdJ8i7XirylNG9~f#jU(I>v>QrE7|TWPeR5<02qi uYO;K7B#>2Eo6fj&^26GC#$}rm>(rST*KF==xXjL~!^rz7ZgXOX2@?Pg8K3I_ delta 429 zcmYj}%PT~26vuz(jyp5vacR&@S4{GlG7=L}7Ggtrgv@n4ck*gH!o<*sv-qCxIp=#mryHE6ae`N{TL>##AU68ed?6^U+_)L1 zJYIU;`oiO(zYJU$sC1&>PiM~U7com}2N9P>@^D3JEKhBL4oih0!63vtCAp+& zJ=y#0$qONpX~0&(25gaB`0latEIDb$)3!p$!n?L?r`}=x$8r8~$}lF~SUcI{^n5}> zc-EyFHxpJzpB#a9dM?j$SkxonT5o^mkA(;s>pq>+s`UD(W3S=SUVyK%n4a=z%lS4C zNB*aQ2!(MYzW1I%CEe|dnW2U*58m=783>tqAh|jAigFUAXGnb|g!4b}@i*QWis)vIU>R!4x@x@^O>Y?$K3hoz|-i4F^ diff --git a/art/big.py b/art/big.py index cb2c950..24ef970 100644 --- a/art/big.py +++ b/art/big.py @@ -290,15 +290,17 @@ def gpu_back(accent, accent_dark, burnt=False): screw(c, sx, sy) sticker(c, 5) seal(c) - # 背面金手指(暗一档) + # 背面金手指(暗一档):触点之间是 PCB 的深绿,只有键位缺口是空的 + for y in range(y1 + 12, FING_Y1 + 1): + for x in range(x0, x1 + 1): + if NOTCH_X - 2 <= x <= NOTCH_X + 3 and y > y1 + 13: + continue + c.put(x, y, 'g2') for x in range(x0 + 2, x1 - 2): if NOTCH_X - 2 <= x <= NOTCH_X + 3 or (x - x0) % 4 == 3: continue for y in range(y1 + 14, FING_Y1 + 1): c.put(x, y, 'Y' if (x - x0) % 4 else 'p') - for y in range(y1 + 12, y1 + 14): - for x in range(x0, x1 + 1): - c.put(x, y, 'g2') if burnt: for dx, dy in ((60, 30), (130, 40), (50, 80), (100, 70), (150, 90)): c.rect(dx, dy, dx + 6, dy + 4, 'c') diff --git a/src/Decentralized/GpuInspectView.cs b/src/Decentralized/GpuInspectView.cs index 3366b86..eff3ea7 100644 --- a/src/Decentralized/GpuInspectView.cs +++ b/src/Decentralized/GpuInspectView.cs @@ -23,6 +23,7 @@ namespace Decentralized private TextMeshProUGUI flipText; private GameItem shown; private string shownSig; + private bool hidGlass; private Transform buttonTemplate; private TMP_FontAsset font; private readonly TextMeshProUGUI[] rowName = new TextMeshProUGUI[6], rowText = new TextMeshProUGUI[6]; @@ -51,12 +52,15 @@ namespace Decentralized { if (root != null && root.gameObject.activeSelf) root.gameObject.SetActive(false); shown = null; + if (hidGlass && m != null && m.magnifyingGlass != null) { m.magnifyingGlass.SetActive(true); hidGlass = false; } return; } Log.Guard("显卡检视大图", () => { if (root == null) Build(m); if (!root.gameObject.activeSelf) root.gameObject.SetActive(true); + // 检视台自带的放大镜图标会压在大图下面,显卡用不着 + if (m.magnifyingGlass != null && m.magnifyingGlass.activeSelf) { m.magnifyingGlass.SetActive(false); hidGlass = true; } var keys = new List(); string sig = Items.LookKeys(item, keys) + "|" + string.Join(",", keys) + "|" + item.unitValue + "|" + Items.Exposed(item) + "|" + (Items.GetClaim(item)?.Encode() ?? "") + "|" + GeneralHelper.IsItemOwned(item) + "|" + HasLabeler(); if (item != shown || sig != shownSig) diff --git a/src/Decentralized/ModFiles/Textures/Items/gpu_big_burnt_b.png b/src/Decentralized/ModFiles/Textures/Items/gpu_big_burnt_b.png index fbf22d713263cb04ed8c30cef8bb64e135cebe45..890d15d36236b765a525d9e46bd11562e24c9339 100644 GIT binary patch delta 1610 zcmY*ZYfw{%65exi4kR(6kbn^hCSIPR+=SwTP|6XofC$p?5V@$Q;R*~=M1f*0kdvT1 zL>>i88La{pxPTQ>0toG(NpVnaE#z9uORbbJ!euZ@MM9BB|-sdg%tnW40D&%DKnDxSj9DEPURw`{J$#0drhS~Yw_(y31 z=IJJXA5Iw{$97!I79M|R{$aQw&5-tbiTU0ym$Q~vX40}=1xKX+Xv6!EoBLNE?Dpz3 z%pFKp9u$RP3oE)uNY(A^t}NM{$Z&JliKo1mzs~&)Qzx<2cMIcNa=0Zqz{RNlMU*L) zUqs`>U>%xZzJ(~5v49a(*?Wk@jj%wL25@q%pSjvYl{(H1zycyTa7s`B8803m)ZlmY zSr$m{5Hu9|mmIBdRDX$f-j<0yFP~fO**LIZqq{5s88}#~vk1Bq=yugW7hQO6d1cz_ zfj8Ds6z(mmf$X0@Io)qwJgb{c&6c{El&*-1Gs(uP%6sU!LF?dUUJ|>kYUY=!XJL>h zhoLV#XTNDfg|q66IcM*am{UFIfAH~NE)!9!IwYlZ$?iJ3fYCixE3qIKjpSv|9h$5P z!m=fPh~1zj9p2G%%_0 zgbv5bKBS$lorvZ;n5H$tsEkYXAx7T#1IjkN4QzM4YO^_|-ShW#J;xnBRUlfz7s{7m z;>O07jYlJp#CeQHp=l|1MqjiLajca?G05NyLyzxH@<6L0mosK)*;L99;Pj&F)->Z0 z^ub8V<0b5+C3*Ts-tTuY;fQfyDvm=IT_rhC>qO+spnegN-s`Zc*hfs?i6X-@PwTthagKbQM%ms1zq_1)(!LOeO7eb=^BKUHw)Ac--J>=%uto% z=^!TG!wnm5K%=^*fvK%PIeqAV*f9=kY73Csp#o&)HbRzfiOdH?IXAvJwa112t-Ac1*xdpl8c?YrKB*l~FE zDpEy^-Y=Q&{-@k6UheZRu|$@njAMo7K%I(^$hXxe6FfD^QtrhoQ*%A?{1I^zrm~)k zb92>}p3MebIt-#u8cG&N_iL@h-=B|@OGD&Sj3c+K)BZi;s|%(2r(uq^f5YwirtdFB zt7Dky%_f4ZV)rAemS@T{_PckQ@lB#^X#ta~&WHFP@prfokWiKXl@ryCHBR+b>qo_OoW z$2x~o7ca_Y!=C=543b^XALT_~eluWB3wSFMJAA6%Oz1!q{`Z6CwTXogcSd3F?}HGD zf(z}$rhfEfdP1z1rn?#cO}Dkw^zb}w?u-mG>)0pako!&|;D`rH zH8$#{0r&JOQVP8%B9Tt9`xK)vXRK@bqvGo_-_*0QnT@lBE*ib>mtpHNO47J&>ME&i zM;C4euQewmRQan(`1<@_FAWXJWMSGl>>cEogF7}K?0`;OKpwB_y!Du8D?2h{HZT(M zw8G)1?%tKfn^(?(@x`nMw31IG6F?_(p^k+b3oyzYBYliXEf)ahODf*tO~zJ-5&pj* pZenn(X=didyKh)M!asfIhccwA?s*>e{LvFITHxLgzh)m&@dvl>mY)Cs delta 1609 zcmY*ZYgAJQ5}tc=6GDg~LWHbJO1=z6z=6w zd=v#0sHHxlfCZ`$MA4$u8)1Dd0=1wZ6;WJyNNGwSK;=<%_fO}1^PTxIXU=?cW~Ph% zh@Iz12>n0u2~BzQ+llG}JRfd$s{#t?kPi!8 zq}QUQMz{Qx{lyO2Z57%&ZQY)qGEP12{_RA4S0yo1UQzz7`m&VW@OLcg9)6NK^1bUs zm@EXFnCb0uTS-iRVd4`}1D77|=-$*jeaC`Hb}q&DMJqmCB|Bk(NSW})^$0U>p#=`x z<@DCKKPDG;ir_%B$PazKnRG<6y674!$N7{;P2w}29J?LHg8<>zkR10U#6WKxPP9R$ zv~cle=IWN0wi-p#LQ|@SJ2#kMTU7vQ3FPQ2@;`63T%FrxqpT}%I7W1A#Wo)>SnMXik znrao|*k|ppyuj(Xd@Cc97rK_r@2yc4XqfPYr7{!=Fw;g$z&iKPztZ114W0F{jt8g? zB!J;a#28i#K*teMM3+3a4YFe%3nA}&8QKu?M^DPm%fN-5#h@O={6M2Z_92v>)p|k9 zN4L{nc2-xgl*CmrpH4#K>uLf9jtGDSh=4K|^b~p-B!DAI(8w4@PN0ZC6pX0UZ?6Sh zA!R|o1&+Y~GS0@&GQop?M$9K&hPgEbXng&bFLtEuJ+@4nf%Lz4E7EOGMhoYCC_5CV z%~-#<^#E)cr^92(>$yna_F9sU5J6+KlDydW&V_;hn(4*me>$bc zv1Yq>Ru)vRLn_*lh;d9Upd#qU)E)7Eh|s3gxE~ zC@Me1Ms`)ex=K$H9W8~h3-~DZ@D92)3I1ae}S? zi6ihxYTji&17U+OeC472kFG6i$zMwRbfReMCoR*?>vci&_}s{XPfUyHtxov%^wI_) zCw;|Tv|uTI&p9vOYrx5hm$+#loEYR4vAHab-sYN}4YKD0dr58bL-&M$<0Lxd%*bQ5 z#@NZfoBTPg&{_G^SvjO!ePA9@n}bAfb-V23@8*@Z%`2nva}aYG1UBoR8zmH8plN2* z7ag>6bv(Ui9l27b>DoCM!E}vVO zWmyR>t%qvx4GxdO6~?kY^s9sgl1$+%gp6y8JLoPfDH}{bF$ifjHmdSWQb3$sjd)r*b1`5jKYU{Y@g^_h#_kS`y_;U*VQX*O_48Ad{m tkTPOS`@;#{;UPaq=S1?e|BsG?)AXn3Mz{7CQIjxd{;PsNs`S-l`~}YHqU`_x diff --git a/src/Decentralized/ModFiles/Textures/Items/gpu_big_pmd_b.png b/src/Decentralized/ModFiles/Textures/Items/gpu_big_pmd_b.png index a9f3f4efa36f6de94af224a38edda9fdf1498d1b..d35c564a0afb588cb6dc16325fff0bdfb1fa12ac 100644 GIT binary patch literal 1581 zcmY*Z4OG)r6u)n5V;d-g4V);kfx2N}^9yyJ!5>2TvO${!qUai0Q|vhTNv(>w3}e)rzrJLkQ7-#hO>xFm22 z!jR}R}R+B5OH5^Zc zB3>>}G0o^?Wt`7ZX%2R}bGE7;i1((IpB%0(tZ!_Rb;-J#S|;8dZ9U#q)OBTW?C~+( zlcSdttgj1g|2OsK!3Ptc?y0CQ&-}*CkaObxw&y(^_c{VyA86*)7~(-4qjmnsBqzOzQivJ zE@zT(rwcUIGqaWbI_&AIFYVO@mp+gyup;ft($ocp#2gr#7% z^2ZRzH=U%km(y=N>hV%cGC4CYs}=spqI)@9=sxpN@1uJb<3?NN_>HAQX=Q4Kn+-cU z?uTI!hc(}K+0VW$GT46rBB$-|i``6-KTLbp7pi_p3txpg^S{U*n;i?2Io1Z=W4?}I zVsX1I2@YG!$Tu{ubKV&xM-Anl`+Rj$U3ksGf*6+zzz+mN$K-qV_NcAt8ODQLdO8iKYjak;fHK(kc;8?h-AgQx&*e# zv!AW3Z;LGr@4vP&ZGodfJQlH@$YZDA{MiQS2e?e@asg{6b8Tid3u#xa8TfnFJiyn%1PXC0sC!@wy{*=>CL6K9-(A9)=HmHn~`k|G^2CV_I50G z(}K%t&6+7GS2@#yg8Y5)7b1vDJNIkg?#*+Q>Dl^ki3()g6wQz2)R_2Jtrz<5IBJiH zh?~FpYx#FNeTkF)h=0r(Kcf%dd;QSbvX4hXR9j|Zwt6u&hkuiFY(qjYZxx>JuYqo4t6mzjBrpA0?}* z;yzD;$>pbe%Qo%zjF~1#o)zX*5*+#c*!{I%!|f$H0ajLI;-JcTjoy^nuh1o?_6JfB zUG76w4zg?84?mDL^e5E3w|iSKsq(Twouu4s-r!En@PPS{;ejnl!k3}wRXOpWg|8(G zn^-dwX0f5$>6a**MJlI^Gw;tBpqrDta$O^lOJbW{;du@3L964j6b+v=T0rCW(?22own|B}c!!W1vrwn2DrtM=PD_%y za_8;jH_2NUbfsF>PyQG|(^ojyA}&rRDXmBtEF=pyF@bPsfVjXS5ipgIfkh^ugHZHS r{&Rks4FcJw-jTbn>;L;*JKxUkm!S;t zx8}^`0DyI1fS;Pq6dfeXipI#a=vV;!MWCOLCZTKixcAr7KH>ga!{p&S99M!)#^V*H zbFCE)oUVX-BwxHi&vlR;_PsK@--CghSeqUEqt_)}Uu~K7G|sr}>G&_Tu5rV0^~c|9 zHD657EGx*3*I^@@_2tufhIV zt~rxputMI2JA$Yufki4xK|RJ&&bf>cf0Y=QlKCv<0Wc>ck97`cZu3UTH=H$C({cd> z*?$MNW^dlL1&z_QLgYygtUu_~y4vJK<)OK)-cb={4U^XgmRWd{`|JT^)2JsDQ$YS* zt0dJJ>wbLoW#1=E-L5%13QCkPe`sURmc2h(ezJ6VssF9XJ%spPr z3BQd6`MVal7K2p|n2yBUGIen%im{_`-@^=hVjeD!dgw7^dWqaiv4h>6p3bM?W8~ZH zl)%*TqrJH=ex?{l;AEnDF|sDR$I++Rlk65TY}Crdh`ORRXkDs3G&vF~T)N7ZL}44} zP}meY3jl|?&O}C@RsaT&LYomz#ipvj5P}4mupfblv@`fC)L(AMVj~U<|P?4P-+|did{Ax9dyM3p5kp zxxELrEr`%HRK7TW8Kub!@Zip!7=Z|!sUB~CCCdwc_9}LeakzqApg?k~``NuRa`M<` zFI?G%f3>`mFMvKNnF*%{5p`3?l<;ZdqM{o#-ro5<1gPiV1!c17Km|B6e ztjj#c>grZV6k z{0Jw`;Rg)k#!E4HNe+`@t{359Hl8YjK9PLi8${Y9JF$D|mXY%_@RBU1+;r8w*)cH_ zjc|xW%M~LlrJBnwDnl?XKl^pg7tihRL(arUgZvhDJiFbVqsaq5U7yM>FoeDoDgR3G zMWXI}?OI;(7+VTn)H9X%t3Lm?`x{i^o>L(==Tpqi>G*!fCiQcxK1A>u`VhU(qwNP- zQVKh&U9sD4cd{#regmq>n9#n%BN)jeEw6(3xbUF5CEgGE7 zG}wvr-*DFLajYRPatFg~W>=k9nbLeN%y%?6{5TfV`%`AGx)qj9 zA1J9{>lN~WPg(5Jj+}5KmonA=fVwp^0!(HT51B+(x1rnCZ^+J5P6}+!9GgWXaUb&2h>|Oc~05 z|5$(&niOg0rmw%Q5}R$x%OnXM7m11}yhYoxlU#MemP&KUEE>fNCBg%54mW-E96Xsv z{`URcsd}424s;fZXvbI%W*h71hG?e*m!$9q=C=I%kE7059tKz5$vE0RGVs0CQdG&G zTC@U2&y{+ije_2nH`ow)u2j;=qxLwGMoDLuHqfeTd{a`yk>0UYTU~gA%VG|3G^}fI&X3;;oiwkJm qUih6)ec;!XxG8YS3HSf_@s1JO?e-#Fi&>KZ^axxW;#aXqoB9v$19njW diff --git a/src/Decentralized/ModFiles/Textures/Items/gpu_big_probidia_b.png b/src/Decentralized/ModFiles/Textures/Items/gpu_big_probidia_b.png index e1bb6df72687e9353eed9b1e8fa9b3cefb4a3c14..6e52f9468cdd35a3c3ff3509adb97803d4c1ea40 100644 GIT binary patch literal 1589 zcmY*Z2~d+)5Z?dKK@1QB1c+4R2O%h}8W_}K1%44rC?b(Vp-PEhL5#OVEtikO1F;-K z#adBPs3NG5B7;>tf~G-Ri&43PwnjpMP=!hN|&oiTr>N$U9E*zjX@hxE#eo8G!#4Jj;S5TGw@ zAH{gNJD6ZX7QEAH4vTANLc*mWM#0@x$WrS9H3=@;an)v&O0V{{MGLt8pns^&S*e># zUMhnE)3x*;_K#$+1jG{K7)yA|gxtP7d9Y?V*2+`foP6_YoAt0m(*bo4|AiR_;!5bI zZ6qn~$!;{zZ#$DpTm~Wy~_P9n_ zD+TE1u^wm9Wx6rbK`^JC9ywU##MbRiKTY@g1D^J{za;3ZctqF42kTwp1wG2-M!8sA#qKmNcs_kCrtcf&0>vLFC>WFbB=DWiEboCC$~h&c3| zV&+5M=~Ae}R}Y+;J5>U1({*Z&Ybgd6IrQSH8#Q=vkddl)QjXY`#-yEswNEe0jRf7N0kpGnQPUsZ^K>3^FJU zYfNpL#}>j(N=sO8E`^Z*ot4z>$h~}?s`r=UQnvB}$Sqq0seBvjbOb4IJ?OcDPxO;N13Vav@lY-v!9HA?j zYgnr=ugZn3$(d<+**I$V<4ZG`P55rvmd~jsQZQ=tZUrXM!?dB~gD`uEZ`EhEN6$($ zgV9d)m9$+B8`Vo?r8=rrz*AN#i3Rn{i?Gq&ZYaBpIB+@nw7yR>`z1eSYw8}C_SB=h z`wabs%)PkA%IwBEFxFKr#7B9$(Fqm`E^M}1ZlP5BLtu!|N*wPOt-JQXAC6hFVaJJ=S;lnbJ+2_|Ex!3cR6uPdTnL}U;lhUWVCNI>wBR5KozjS!-Q z5MiNd>3GpOjIe5~JkpwX9v)gEa5&xz0X zTHj9QgA)F=IW+u~47fHu92`41(s|W5`DbZy5S_=7WU{!s z+hxM&fDcjUS--W0k9r?L={MIxHXd})=3=TwKXsAw<%w%uA(MiM8asdmR@z?KG%-wg zXy5|Ja3whq`(BC-7WZ0Al2BDa_$O5S9_CLg)$CQhtk$=b$lodheVK^!1O1$ z>A-lg#TzWY#*85X3@paDe;Sx1QPtL92@j;k;I?7Zn`Uom=3W9n*?%hrMr6YVy)lz6 zlo7zdd#bq@$xAQgnlM=o^_5}JUl20c5t0$T&eDwZXyhymwH$vw<_N#siVKz~SuxX@ z8)r$gX*OY~*cX&6y(4+E&~PAY6GS{7s&F`8)v6vh9rHNoRtJ==9sTQGXm1`a7(P`7 zZm|kPA`{O|eWPn_U3^ zETAV2Eg1^oGH0eLZxc^VgMebOR)E6qu8%QVuia{;L{th7H@ulum!3xfO+G^N?j4qAJuQY?+f`0U)3 z^7%^;A!Ak#<~L)%tJ~}kcwP-5(IBeM#sc5+Yl_Rnw(Q4#-_V_w$V#LWLK&%Ik!S}g zBsCVK&|pZ2FUX)VvmEYLw`X-dGbzg7hkoG=v8mJAD{2?dsQmJ)(?>!XRgi6rqUDsy zNbsM!GhHVaY9(^$M&k|68zUlf--zUCoSxeHk8wu|1jp?cH{#b`p_kB;MC(RURuNP; zb?v1?uGL9KNswIqGAcwAMCY-%<;Po9>m&I*X{)Isq z+@tCGQW5%X*PBijhUAi@M^SsI+exYZAHTR8P`KyIvayTyTv^8oD|YGomV$XO%Ko4P zj`?b5V|fwai1cG{aRU}zhLz%+jS)@U(53Ix4acciyt&lLv1Wx(X(OMmDOs?p`hj zT77+*WUC-XQK#b>eBBfF8|(1A;Az4*M%=-pu&UE|jvkMivATiux)_(;LkNmC4YTH zD(wJg%#kg`aU|a8!O~)NbN=Sx=uQ8<jUlUO7FH`&tuvm;%