From 3b3924a118e77c59d1cfbdd078ec28d86d3d681a Mon Sep 17 00:00:00 2001 From: "local-model/engine-L2-grok-4.5" Date: Sat, 19 Sep 2026 20:35:41 +0200 Subject: [PATCH] engine-c: denser BT_TURRET berm/bunker/cupola/barrel/radar/coax detail --- engine-c/src/snapshot.c | 20 ++++++++++++++++++++ engine-c/src/sprites.c | 20 ++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/engine-c/src/snapshot.c b/engine-c/src/snapshot.c index 89bf2b6..30de2ce 100644 --- a/engine-c/src/snapshot.c +++ b/engine-c/src/snapshot.c @@ -1319,6 +1319,26 @@ static void draw_bld(Building *b, int sx, int sy) { fill_rect(sx + W/2 + 3, sy + H - 5, 3, 2, 95, 82, 60); /* bag top R */ fill_rect(sx + W - 4, sy + H/2 + 1, 2, 2, 70, 65, 55); /* armor stud R */ fill_rect(sx + 3, sy + H/2 + 6, 2, 2, 70, 65, 55); /* armor stud L */ + /* denser++ : berm sandbags, cupola bolts, barrel muzzle, coax feed, radar dish, bunker slits */ + fill_rect(sx + 2, sy + H - 4, 5, 2, 110, 95, 70); /* berm sandbag L */ + fill_rect(sx + W - 7, sy + H - 4, 5, 2, 110, 95, 70); /* berm sandbag R */ + fill_rect(sx + W/2 - 5, sy + H - 3, 4, 1, 90, 78, 55); /* berm lip */ + fill_rect(sx + W/2 - 3, sy + H/2 - 9, 1, 1, 50, 48, 42); /* cupola bolt NW */ + fill_rect(sx + W/2 + 3, sy + H/2 - 9, 1, 1, 50, 48, 42); /* cupola bolt NE */ + fill_rect(sx + W/2 - 3, sy + H/2 - 3, 1, 1, 50, 48, 42); /* cupola bolt SW */ + fill_rect(sx + W/2 + 3, sy + H/2 - 3, 1, 1, 50, 48, 42); /* cupola bolt SE */ + fill_rect(sx + W/2 + 12, sy + H/2 - 2, 3, 2, 35, 32, 28); /* muzzle brake */ + fill_rect(sx + W/2 + 13, sy + H/2 - 2, 1, 2, 200, 190, 140); /* muzzle flash rim */ + fill_rect(sx + W/2 + 2, sy + H/2 + 1, 4, 1, 45, 42, 36); /* coax feed chute */ + fill_rect(sx + W/2 + 5, sy + H/2 + 1, 1, 1, 180, 160, 50); /* coax brass */ + fill_rect(sx + W/2 - 1, sy + H/2 - 11, 3, 2, lr, lg, lb); /* radar dish face */ + fill_rect(sx + W/2, sy + H/2 - 12, 1, 1, 220, 220, 200); /* dish highlight */ + fill_rect(sx + 5, sy + H/2 + 4, 2, 3, 30, 28, 24); /* bunker slit L */ + fill_rect(sx + W - 7, sy + H/2 + 3, 2, 3, 30, 28, 24); /* bunker slit R */ + fill_rect(sx + W/2 - 8, sy + H/2 - 5, 2, 1, 60, 55, 45); /* periscope housing */ + fill_rect(sx + W/2 - 7, sy + H/2 - 6, 1, 1, 20, 80, 120); /* peri glass */ + fill_rect(sx + 8, sy + H - 6, 2, 2, br, bg, bb); /* tread scar L */ + fill_rect(sx + W - 10, sy + H - 6, 2, 2, br, bg, bb); /* tread scar R */ break; case BT_WALL: /* denser fort: battlement, gate, scars, rubble (KKND fort read) */ diff --git a/engine-c/src/sprites.c b/engine-c/src/sprites.c index eb3f1d9..83a2d23 100644 --- a/engine-c/src/sprites.c +++ b/engine-c/src/sprites.c @@ -1121,6 +1121,26 @@ SDL_Texture *sprites_make_bld(SDL_Renderer *r, BuildingType t, Faction f) { fill_rect(s, W/2 + 3, H - 5, 3, 2, 95, 82, 60, 255); /* bag top R */ fill_rect(s, W - 4, H/2 + 1, 2, 2, 70, 65, 55, 255); /* armor stud R */ fill_rect(s, 3, H/2 + 6, 2, 2, 70, 65, 55, 255); /* armor stud L */ + /* denser++ : berm sandbags, cupola bolts, barrel muzzle, coax feed, radar dish, bunker slits */ + fill_rect(s, 2, H - 4, 5, 2, 110, 95, 70, 255); /* berm sandbag L */ + fill_rect(s, W - 7, H - 4, 5, 2, 110, 95, 70, 255); /* berm sandbag R */ + fill_rect(s, W/2 - 5, H - 3, 4, 1, 90, 78, 55, 255); /* berm lip */ + fill_rect(s, W/2 - 3, H/2 - 9, 1, 1, 50, 48, 42, 255); /* cupola bolt NW */ + fill_rect(s, W/2 + 3, H/2 - 9, 1, 1, 50, 48, 42, 255); /* cupola bolt NE */ + fill_rect(s, W/2 - 3, H/2 - 3, 1, 1, 50, 48, 42, 255); /* cupola bolt SW */ + fill_rect(s, W/2 + 3, H/2 - 3, 1, 1, 50, 48, 42, 255); /* cupola bolt SE */ + fill_rect(s, W/2 + 12, H/2 - 2, 3, 2, 35, 32, 28, 255); /* muzzle brake */ + fill_rect(s, W/2 + 13, H/2 - 2, 1, 2, 200, 190, 140, 255); /* muzzle flash rim */ + fill_rect(s, W/2 + 2, H/2 + 1, 4, 1, 45, 42, 36, 255); /* coax feed chute */ + fill_rect(s, W/2 + 5, H/2 + 1, 1, 1, 180, 160, 50, 255); /* coax brass */ + fill_rect(s, W/2 - 1, H/2 - 11, 3, 2, lite.r, lite.g, lite.b, 255); /* radar dish face */ + fill_rect(s, W/2, H/2 - 12, 1, 1, 220, 220, 200, 255); /* dish highlight */ + fill_rect(s, 5, H/2 + 4, 2, 3, 30, 28, 24, 255); /* bunker slit L */ + fill_rect(s, W - 7, H/2 + 3, 2, 3, 30, 28, 24, 255); /* bunker slit R */ + fill_rect(s, W/2 - 8, H/2 - 5, 2, 1, 60, 55, 45, 255); /* periscope housing */ + fill_rect(s, W/2 - 7, H/2 - 6, 1, 1, 20, 80, 120, 255); /* peri glass */ + fill_rect(s, 8, H - 6, 2, 2, dark.r, dark.g, dark.b, 255); /* tread scar L */ + fill_rect(s, W - 10, H - 6, 2, 2, dark.r, dark.g, dark.b, 255); /* tread scar R */ break; case BT_WALL: /* denser fort: battlement, gate, scars, rubble (KKND fort read) */