From 94b27b96da01f272964b58d4dde73c102d77c0d9 Mon Sep 17 00:00:00 2001 From: "local-model/engine-L2-grok-4.5" Date: Sat, 19 Sep 2026 20:58:38 +0200 Subject: [PATCH] =?UTF-8?q?engine-c:=20denser=20BT=5FRESEARCH=20lab/dish/i?= =?UTF-8?q?nstrument/console=20detail=20sprites=E2=86=94snapshot?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- engine-c/src/snapshot.c | 34 ++++++++++++++++++++++++++++++++++ engine-c/src/sprites.c | 26 ++++++++++++++++++++++++++ 2 files changed, 60 insertions(+) diff --git a/engine-c/src/snapshot.c b/engine-c/src/snapshot.c index db9b933..0ef2911 100644 --- a/engine-c/src/snapshot.c +++ b/engine-c/src/snapshot.c @@ -1752,6 +1752,40 @@ static void draw_bld(Building *b, int sx, int sy) { fill_rect(sx + W - 22, sy + 8, 6, 2, lr, lg, lb); /* roof instrument rail */ } fill_rect(sx + W - 20, sy + 7, 2, 1, 255, 240, 120); /* rail tip LED */ + /* densify++2 lab/dish/instrument/console */ + fill_rect(sx + W/2 - 8, sy + 3, 16, 1, 160, 155, 130); /* dish rim arc */ + fill_rect(sx + W/2 - 1, sy + 4, 2, 3, 220, 210, 140); /* dish feedhorn */ + fill_rect(sx + W/2 - 3, sy + 6, 6, 1, 90, 85, 70); /* feed collar */ + fill_rect(sx + 12, sy + H - 13, 1, 1, 255, 255, 200); /* console knobs */ + fill_rect(sx + 17, sy + H - 13, 1, 1, 255, 255, 200); + fill_rect(sx + 22, sy + H - 13, 1, 1, 255, 255, 200); + fill_rect(sx + 27, sy + H - 13, 1, 1, 255, 255, 200); + fill_rect(sx + 13, sy + H - 11, 18, 1, 40, 38, 35); /* keyboard strip */ + fill_rect(sx + W/2 - 4, sy + H - 26, 1, 6, 80, 75, 65); /* door hinge L */ + fill_rect(sx + W/2 + 3, sy + H - 26, 1, 6, 80, 75, 65); /* door hinge R */ + fill_rect(sx + W/2 + 2, sy + H - 24, 2, 1, 180, 170, 90); /* door handle */ + fill_rect(sx + 23, sy + H - 33, 2, 1, 230, 245, 255); /* vial A */ + fill_rect(sx + 29, sy + H - 33, 2, 1, 230, 245, 255); /* vial B */ + fill_rect(sx + 35, sy + H - 33, 2, 1, 230, 245, 255); /* vial C */ + fill_rect(sx + 8, sy + 30, 3, 1, 100, 130, 160); /* tray junction L */ + fill_rect(sx + W - 11, sy + 30, 3, 1, 100, 130, 160); /* tray junction R */ + { + uint8_t dr, dg, db; + darken3(br, bg, bb, 0.5f, &dr, &dg, &db); + fill_rect(sx + W - 18, sy + 10, 4, 3, dr, dg, db); /* roof vent */ + } + fill_rect(sx + W - 17, sy + 11, 2, 1, 60, 55, 50); /* vent slot */ + fill_rect(sx + 18, sy + H - 36, 20, 1, 70, 65, 55); /* rack shelf */ + fill_rect(sx + W/2 - 10, sy + H - 8, 20, 2, 90, 85, 70); /* entry pad */ + fill_rect(sx + W/2 - 8, sy + H - 7, 4, 1, 200, 160, 40); /* pad chevron L */ + fill_rect(sx + W/2 + 4, sy + H - 7, 4, 1, 200, 160, 40); /* pad chevron R */ + { + uint8_t lr, lg, lb; + lighten3(br, bg, bb, 0.35f, &lr, &lg, &lb); + fill_rect(sx + 10, sy + 18, 4, 2, lr, lg, lb); /* hull port L */ + fill_rect(sx + W - 14, sy + 18, 4, 2, lr, lg, lb); /* hull port R */ + } + break; default: break; diff --git a/engine-c/src/sprites.c b/engine-c/src/sprites.c index c5a55f4..e8de097 100644 --- a/engine-c/src/sprites.c +++ b/engine-c/src/sprites.c @@ -1534,6 +1534,32 @@ SDL_Texture *sprites_make_bld(SDL_Renderer *r, BuildingType t, Faction f) { fill_rect(s, 34, H - 34, 4, 3, 160, 120, 255, 255); /* sample rack C */ fill_rect(s, W - 22, 8, 6, 2, lite.r, lite.g, lite.b, 255); /* roof instrument rail */ fill_rect(s, W - 20, 7, 2, 1, 255, 240, 120, 255); /* rail tip LED */ + /* densify++2 lab/dish/instrument/console */ + fill_rect(s, W/2 - 8, 3, 16, 1, 160, 155, 130, 255); /* dish rim arc */ + fill_rect(s, W/2 - 1, 4, 2, 3, 220, 210, 140, 255); /* dish feedhorn */ + fill_rect(s, W/2 - 3, 6, 6, 1, 90, 85, 70, 255); /* feed collar */ + fill_rect(s, 12, H - 13, 1, 1, 255, 255, 200, 255); /* console knobs */ + fill_rect(s, 17, H - 13, 1, 1, 255, 255, 200, 255); + fill_rect(s, 22, H - 13, 1, 1, 255, 255, 200, 255); + fill_rect(s, 27, H - 13, 1, 1, 255, 255, 200, 255); + fill_rect(s, 13, H - 11, 18, 1, 40, 38, 35, 255); /* keyboard strip */ + fill_rect(s, W/2 - 4, H - 26, 1, 6, 80, 75, 65, 255); /* door hinge L */ + fill_rect(s, W/2 + 3, H - 26, 1, 6, 80, 75, 65, 255); /* door hinge R */ + fill_rect(s, W/2 + 2, H - 24, 2, 1, 180, 170, 90, 255); /* door handle */ + fill_rect(s, 23, H - 33, 2, 1, 230, 245, 255, 255); /* vial A */ + fill_rect(s, 29, H - 33, 2, 1, 230, 245, 255, 255); /* vial B */ + fill_rect(s, 35, H - 33, 2, 1, 230, 245, 255, 255); /* vial C */ + fill_rect(s, 8, 30, 3, 1, 100, 130, 160, 255); /* tray junction L */ + fill_rect(s, W - 11, 30, 3, 1, 100, 130, 160, 255); /* tray junction R */ + fill_rect(s, W - 18, 10, 4, 3, dark.r, dark.g, dark.b, 255); /* roof vent */ + fill_rect(s, W - 17, 11, 2, 1, 60, 55, 50, 255); /* vent slot */ + fill_rect(s, 18, H - 36, 20, 1, 70, 65, 55, 255); /* rack shelf */ + fill_rect(s, W/2 - 10, H - 8, 20, 2, 90, 85, 70, 255); /* entry pad */ + fill_rect(s, W/2 - 8, H - 7, 4, 1, 200, 160, 40, 255); /* pad chevron L */ + fill_rect(s, W/2 + 4, H - 7, 4, 1, 200, 160, 40, 255); /* pad chevron R */ + fill_rect(s, 10, 18, 4, 2, lite.r, lite.g, lite.b, 255); /* hull port L */ + fill_rect(s, W - 14, 18, 4, 2, lite.r, lite.g, lite.b, 255); /* hull port R */ + break; default: (void)dark;