From 2fc9fce8b715015f840da86fdf9b9ea60191148f Mon Sep 17 00:00:00 2001 From: "local-model/engine-L2-grok-4.5" Date: Sat, 19 Sep 2026 20:52:17 +0200 Subject: [PATCH] engine-c: denser BT_WARFACTORY hangar/crane/bay/office/rail detail --- engine-c/src/snapshot.c | 26 ++++++++++++++++++++++++++ engine-c/src/sprites.c | 26 ++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) diff --git a/engine-c/src/snapshot.c b/engine-c/src/snapshot.c index 84b1ce5..48c5157 100644 --- a/engine-c/src/snapshot.c +++ b/engine-c/src/snapshot.c @@ -1043,6 +1043,32 @@ static void draw_bld(Building *b, int sx, int sy) { fill_rect(sx + 6, sy + H - 12, 4, 3, 75, 70, 55); /* scrap crate */ fill_rect(sx + 7, sy + H - 11, 2, 1, 120, 100, 50); /* crate strap */ fill_rect(sx + W - 12, sy + H - 12, 3, 3, 55, 52, 45); /* spare tire */ + /* densify++: rails, bay panels, office fixtures, gantry, scrap, hazard */ + fill_rect(sx + 16, sy + H - 7, 2, 1, 45, 42, 36); /* rail sleeper L */ + fill_rect(sx + W/2 - 2, sy + H - 7, 2, 1, 45, 42, 36); /* rail sleeper C */ + fill_rect(sx + W - 20, sy + H - 7, 2, 1, 45, 42, 36); /* rail sleeper R */ + fill_rect(sx + 20, sy + H - 6, 1, 1, 85, 80, 65); /* rail spike L */ + fill_rect(sx + W - 21, sy + H - 6, 1, 1, 85, 80, 65); /* rail spike R */ + fill_rect(sx + 18, sy + H - 22, 3, 2, 40, 39, 36); /* bay panel mid-L */ + fill_rect(sx + W/2 - 4, sy + H - 22, 3, 2, 40, 39, 36); /* bay panel mid-C */ + fill_rect(sx + W - 24, sy + H - 22, 3, 2, 40, 39, 36); /* bay panel mid-R */ + fill_rect(sx + 14, sy + H - 16, W - 32, 1, 28, 28, 32); /* bay seam */ + fill_rect(sx + W/2 + 8, sy + H - 26, 2, 2, 220, 90, 40); /* bay warn LED */ + fill_rect(sx + 14, sy + 16, 1, 3, 90, 88, 80); /* office mullion L */ + fill_rect(sx + 19, sy + 16, 1, 3, 90, 88, 80); /* office mullion C */ + fill_rect(sx + 24, sy + 16, 1, 3, 90, 88, 80); /* office mullion R */ + fill_rect(sx + W - 17, sy + 15, 1, 1, 40, 200, 80); /* AC status LED */ + fill_rect(sx + 11, sy + 21, 2, 1, 70, 65, 55); /* door lintel */ + fill_rect(sx + W - 14, sy + 10, 2, 2, 60, 55, 48); /* gantry pin */ + fill_rect(sx + W - 13, sy + H/2 + 2, 2, 2, 80, 75, 60); /* mast collar */ + fill_rect(sx + 20, sy + 8, 2, 1, 50, 48, 42); /* jib rib L */ + fill_rect(sx + W/2, sy + 8, 2, 1, 50, 48, 42); /* jib rib C */ + fill_rect(sx + 16, sy + 25, 2, 2, 70, 65, 50); /* hook latch */ + fill_rect(sx + 4, sy + H - 14, 2, 2, 65, 60, 50); /* scrap plate */ + fill_rect(sx + W - 9, sy + H - 14, 2, 2, 90, 70, 40); /* hazard cone */ + fill_rect(sx + W - 8, sy + H - 13, 1, 1, 30, 28, 24); /* cone tip */ + fill_rect(sx + 9, sy + H - 19, 2, 1, 100, 90, 60); /* pipe flange */ + fill_rect(sx + W - 7, sy + H/2 + 8, 1, 1, 200, 100, 40); /* stack ember */ line(sx + 14, sy + H - 8, sx + 14, sy + H - 5, 70, 65, 50); line(sx + W - 16, sy + H - 8, sx + W - 16, sy + H - 5, 70, 65, 50); line(sx + 14, sy + H - 6, sx + W - 16, sy + H - 6, 60, 55, 42); /* track */ diff --git a/engine-c/src/sprites.c b/engine-c/src/sprites.c index 572ee02..c815fbc 100644 --- a/engine-c/src/sprites.c +++ b/engine-c/src/sprites.c @@ -849,6 +849,32 @@ SDL_Texture *sprites_make_bld(SDL_Renderer *r, BuildingType t, Faction f) { fill_rect(s, 6, H - 12, 4, 3, 75, 70, 55, 255); /* scrap crate */ fill_rect(s, 7, H - 11, 2, 1, 120, 100, 50, 255); /* crate strap */ fill_rect(s, W - 12, H - 12, 3, 3, 55, 52, 45, 255); /* spare tire */ + /* densify++: rails, bay panels, office fixtures, gantry, scrap, hazard */ + fill_rect(s, 16, H - 7, 2, 1, 45, 42, 36, 255); /* rail sleeper L */ + fill_rect(s, W/2 - 2, H - 7, 2, 1, 45, 42, 36, 255); /* rail sleeper C */ + fill_rect(s, W - 20, H - 7, 2, 1, 45, 42, 36, 255); /* rail sleeper R */ + fill_rect(s, 20, H - 6, 1, 1, 85, 80, 65, 255); /* rail spike L */ + fill_rect(s, W - 21, H - 6, 1, 1, 85, 80, 65, 255); /* rail spike R */ + fill_rect(s, 18, H - 22, 3, 2, 40, 39, 36, 255); /* bay panel mid-L */ + fill_rect(s, W/2 - 4, H - 22, 3, 2, 40, 39, 36, 255); /* bay panel mid-C */ + fill_rect(s, W - 24, H - 22, 3, 2, 40, 39, 36, 255); /* bay panel mid-R */ + fill_rect(s, 14, H - 16, W - 32, 1, 28, 28, 32, 255); /* bay seam */ + fill_rect(s, W/2 + 8, H - 26, 2, 2, 220, 90, 40, 255); /* bay warn LED */ + fill_rect(s, 14, 16, 1, 3, 90, 88, 80, 255); /* office mullion L */ + fill_rect(s, 19, 16, 1, 3, 90, 88, 80, 255); /* office mullion C */ + fill_rect(s, 24, 16, 1, 3, 90, 88, 80, 255); /* office mullion R */ + fill_rect(s, W - 17, 15, 1, 1, 40, 200, 80, 255); /* AC status LED */ + fill_rect(s, 11, 21, 2, 1, 70, 65, 55, 255); /* door lintel */ + fill_rect(s, W - 14, 10, 2, 2, 60, 55, 48, 255); /* gantry pin */ + fill_rect(s, W - 13, H/2 + 2, 2, 2, 80, 75, 60, 255); /* mast collar */ + fill_rect(s, 20, 8, 2, 1, 50, 48, 42, 255); /* jib rib L */ + fill_rect(s, W/2, 8, 2, 1, 50, 48, 42, 255); /* jib rib C */ + fill_rect(s, 16, 25, 2, 2, 70, 65, 50, 255); /* hook latch */ + fill_rect(s, 4, H - 14, 2, 2, 65, 60, 50, 255); /* scrap plate */ + fill_rect(s, W - 9, H - 14, 2, 2, 90, 70, 40, 255); /* hazard cone */ + fill_rect(s, W - 8, H - 13, 1, 1, 30, 28, 24, 255); /* cone tip */ + fill_rect(s, 9, H - 19, 2, 1, 100, 90, 60, 255); /* pipe flange */ + fill_rect(s, W - 7, H/2 + 8, 1, 1, 200, 100, 40, 255); /* stack ember */ line(s, 14, H - 8, 14, H - 5, 70, 65, 50, 255); line(s, W - 16, H - 8, W - 16, H - 5, 70, 65, 50, 255); line(s, 14, H - 6, W - 16, H - 6, 60, 55, 42, 255); /* track */