From 99a20ac032d80acc89eaedf91a0b974728c64e4f Mon Sep 17 00:00:00 2001 From: evanpelle Date: Mon, 8 Jun 2026 14:31:02 -0700 Subject: [PATCH] Shrink warship shell sprite to a single pixel MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The shell (unit-atlas.png col 7) was a centered 3×3 white square, so it rendered as a 3×3-world-tile block. Replace it with a single centered white pixel so shells render as one pixel, matching the original pixel-shell look. The atlas is sampled with NEAREST and unitSize is 13 (1 atlas px ≈ 1 world tile), so the lone pixel stays crisp. Update the UnitPass header comments that described the shell as 3×3. --- resources/atlases/unit-atlas.png | Bin 578 -> 298 bytes src/client/render/gl/passes/UnitPass.ts | 8 ++++---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/resources/atlases/unit-atlas.png b/resources/atlases/unit-atlas.png index 77d9489cbe9b48bd7e743e52e442090f8f42cb02..ceb8edcb0f2eeaae00c8203827a8d9429e1ce103 100644 GIT binary patch delta 271 zcmV+q0r3991gZj%B!BTqL_t(|+U?j;4uc>J24D}e$DM_PaVD;{GqCv3q-mhEXou6k z3CT284Ss9IZ9{Y;=Ug!hH;YnAy&AIKz|;C;WHeGrm2dw7&S_9$~k;6}e! zFElEP$RaZHs^iX)?agwNRy0~09p!6yG;sX*ULHqCuw-T9;IwOw{s=ul(ct*}o?S$a z<~+W_9cihkaFYwbr@q6r;9;eTRchEOwbfn$4&UMM9S$*%?@IRrY>1`!Fbn6#7a+fj Vu`OL_^Z)<=00>D%PDHLkV1h}Me~SPB delta 553 zcmV+^0@nSi0>T84B!2;OQb$4o*~u(_00004XF*Lt006O%3;baP0000WV@Og>004R> z004l5008;`004mK004C`008P>0026e000+ooVrmw00009a7bBm000B%000B%0kwNl zYXATM2XskIMF;8z1^_HBG{;_90004)Nkl9S|=ibHTEx^iT>=GDxkGm?L4q>RACia(5TwoTPkjIrvku&>O2I{*OHdvC4) z+5LVuip&Lp1As?RQ%YM1;W4&1d=fw{aAq=^LU%FXIBcjD=wgg@Ch#lS3g>=&eK*(p ze1B8up46>1;D4N}&%iVig-v=NK{U!neB4^A_1Rg0bI#Qe!V+`Ap*AaLD+3&zDllDQi58<4ioMXuS5YF})qJ>fB6=1GAU33((Qt z8Z>+K0xQ*U95!mt=Tpe|k*b%511=4#u&uT<_%4{;Nf_)=(D`@|w%(0&rG8VLuq`6B rMzjy7z#_dAKK-XbrP{PtcZ7ZbFDpSp(f;S%00000NkvXXu0mjf&E)Ty diff --git a/src/client/render/gl/passes/UnitPass.ts b/src/client/render/gl/passes/UnitPass.ts index 5d24afa8b..4476ac5a7 100644 --- a/src/client/render/gl/passes/UnitPass.ts +++ b/src/client/render/gl/passes/UnitPass.ts @@ -4,9 +4,9 @@ * Renders all mobile (non-structure) units: boats, nukes, shells, SAM * missiles, and MIRV warheads. All unit types are rotationally symmetric * — no rotation needed. Sprites are tiny grayscale PNGs colorized on the - * GPU using the standard 3-band gray replacement (180/130/70). Shell and - * MIRV Warhead use programmatic 3×3 white squares (colorized to border - * color). + * GPU using the standard 3-band gray replacement (180/130/70). MIRV + * Warhead uses a programmatic 3×3 white square (colorized to border + * color); Shell is a single white pixel. * * Two instanced draw calls per frame — ground units and missiles are * split into separate buffers for correct layer ordering: @@ -21,7 +21,7 @@ * Col 4: Hydrogen Bomb (9×9) * Col 5: MIRV (13×13, grayscale colorized) * Col 6: SAM Missile (3×3) - * Col 7: Shell (3×3 white square) + * Col 7: Shell (1×1 white pixel) * Col 8: MIRV Warhead (3×3 white square) * Col 9: Train Engine (5×5) * Col 10: Train Carriage (5×5)