Fix item shapes: mod sprites need an opaque pixel at the centre of every cell

The game decides which cells an item occupies by the alpha of one pixel at
the centre of each 16x16 cell. The rig's rack bays left gaps exactly on the
centre rows, so 8 of 9 cells counted as empty and other items were placed
underneath it; the terminal's stand did the same. The rig gets a solid
back plate, the terminal's stand is widened, and art/sprites.py now checks
every cell the way the game does and refuses to write a sprite with a hole.
Verified in game: new rigs are 3x3 solid, new terminals 2x2 solid.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
ZHU MINCHAOandClaude Sonnet 5.5 committed 2026-11-03 10:01:16 +08:00
1 parent 1841338fbb
commit a2a4d12ad3
6 files changed
+19 -4

No files matched your search

+1
View File
@@ -14,6 +14,7 @@ namespace Decentralized
{
ModHook.OnPlaceInventorInventoryItemLate += OnPlace;
// 开发者模式(F9)里的测试入口:像到了杰克逊店里一样,清空并扩大柜台后上货
ModHelper.AddDebugFunction(ModInfo.Id, ModInfo.Name, "Give rig x3 (test)", () => { for (int i = 0; i < 3; i++) Items.Give(ModHelper.SpawnItem(Items.Rig)); });
ModHelper.AddDebugFunction(ModInfo.Id, ModInfo.Name, "Dr. Jackson stock (test)", () =>
{
EmporiumEntry.Instance.ClearFrontInv();