From 10be0e65a3f98e42134c525f26cf8b0f267ce9eb Mon Sep 17 00:00:00 2001 From: "local-model/engine-L2-grok-4.5" Date: Sat, 19 Sep 2026 20:18:37 +0200 Subject: [PATCH] engine-c: denser BT_BASE HQ/hive carapace/spore/AA detail --- engine-c/src/snapshot.c | 19 +++++++++++++++++++ engine-c/src/sprites.c | 19 +++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/engine-c/src/snapshot.c b/engine-c/src/snapshot.c index 07ac7fe..9ffb2bc 100644 --- a/engine-c/src/snapshot.c +++ b/engine-c/src/snapshot.c @@ -805,6 +805,16 @@ static void draw_bld(Building *b, int sx, int sy) { /* mouth / entry slit */ fill_rect(sx + W/2 - 6, sy + H - 10, 12, 4, 30, 18, 22); fill_rect(sx + W/2 - 4, sy + H - 9, 8, 2, 200, 40, 70); + /* carapace studs + spore vents + ichor drip + brood pods */ + fill_rect(sx + 12, sy + 22, 2, 2, 90, 45, 60); + fill_rect(sx + W - 14, sy + 22, 2, 2, 90, 45, 60); + fill_rect(sx + 14, sy + H - 26, 3, 2, 70, 35, 50); + fill_rect(sx + W - 17, sy + H - 26, 3, 2, 70, 35, 50); + fill_rect(sx + W/2 - 8, sy + 12, 3, 2, 120, 50, 70); + fill_rect(sx + W/2 + 5, sy + 12, 3, 2, 120, 50, 70); + fill_rect(sx + W/2 - 1, sy + H/2 + 14, 2, 4, 180, 40, 70); + fill_rect(sx + 24, sy + H/2, 3, 3, 150, 55, 85); + fill_rect(sx + W - 27, sy + H/2, 3, 3, 150, 55, 85); /* dark pit + glowing eye */ disc(sx + W/2, sy + H/2, 8, 28, 18, 22); disc(sx + W/2, sy + H/2, 5, 60, 20, 30); @@ -882,6 +892,15 @@ static void draw_bld(Building *b, int sx, int sy) { /* side annex windows */ fill_rect(sx + 18, sy + H/2 + 2, 6, 4, 160, 200, 230); fill_rect(sx + W - 24, sy + H/2 + 2, 6, 4, 160, 200, 230); + /* AA bags + vent grills + armor studs + status LEDs */ + fill_rect(sx + 20, sy + H - 10, 5, 2, 120, 100, 70); + fill_rect(sx + W - 25, sy + H - 10, 5, 2, 120, 100, 70); + fill_rect(sx + 22, sy + 34, 4, 2, 80, 75, 65); + fill_rect(sx + W - 26, sy + 34, 4, 2, 80, 75, 65); + fill_rect(sx + 10, sy + 16, 2, 2, 110, 105, 90); + fill_rect(sx + W - 12, sy + 16, 2, 2, 110, 105, 90); + fill_rect(sx + W/2 - 10, sy + H/2 + 6, 2, 2, 40, 200, 80); + fill_rect(sx + W/2 + 8, sy + H/2 + 6, 2, 2, 200, 60, 40); } break; case BT_WARFACTORY: diff --git a/engine-c/src/sprites.c b/engine-c/src/sprites.c index 1c536f8..c56e5ed 100644 --- a/engine-c/src/sprites.c +++ b/engine-c/src/sprites.c @@ -615,6 +615,16 @@ SDL_Texture *sprites_make_bld(SDL_Renderer *r, BuildingType t, Faction f) { /* mouth / entry slit */ fill_rect(s, W/2 - 6, H - 10, 12, 4, 30, 18, 22, 255); fill_rect(s, W/2 - 4, H - 9, 8, 2, 200, 40, 70, 255); + /* carapace studs + spore vents + ichor drip + brood pods */ + fill_rect(s, 12, 22, 2, 2, 90, 45, 60, 255); + fill_rect(s, W - 14, 22, 2, 2, 90, 45, 60, 255); + fill_rect(s, 14, H - 26, 3, 2, 70, 35, 50, 255); + fill_rect(s, W - 17, H - 26, 3, 2, 70, 35, 50, 255); + fill_rect(s, W/2 - 8, 12, 3, 2, 120, 50, 70, 255); + fill_rect(s, W/2 + 5, 12, 3, 2, 120, 50, 70, 255); + fill_rect(s, W/2 - 1, H/2 + 14, 2, 4, 180, 40, 70, 255); + fill_rect(s, 24, H/2, 3, 3, 150, 55, 85, 255); + fill_rect(s, W - 27, H/2, 3, 3, 150, 55, 85, 255); /* dark pit + glowing eye */ disc(s, W/2, H/2, 8, 28, 18, 22, 255); disc(s, W/2, H/2, 5, 60, 20, 30, 255); @@ -692,6 +702,15 @@ SDL_Texture *sprites_make_bld(SDL_Renderer *r, BuildingType t, Faction f) { /* side annex windows */ fill_rect(s, 18, H/2 + 2, 6, 4, 160, 200, 230, 255); fill_rect(s, W - 24, H/2 + 2, 6, 4, 160, 200, 230, 255); + /* AA bags + vent grills + armor studs + status LEDs */ + fill_rect(s, 20, H - 10, 5, 2, 120, 100, 70, 255); + fill_rect(s, W - 25, H - 10, 5, 2, 120, 100, 70, 255); + fill_rect(s, 22, 34, 4, 2, 80, 75, 65, 255); + fill_rect(s, W - 26, 34, 4, 2, 80, 75, 65, 255); + fill_rect(s, 10, 16, 2, 2, 110, 105, 90, 255); + fill_rect(s, W - 12, 16, 2, 2, 110, 105, 90, 255); + fill_rect(s, W/2 - 10, H/2 + 6, 2, 2, 40, 200, 80, 255); + fill_rect(s, W/2 + 8, H/2 + 6, 2, 2, 200, 60, 40, 255); } break; case BT_WARFACTORY: