engine-c: denser BT_BASE HQ/hive/tower/courtyard/entry detail

This commit is contained in:
local-model/engine-L2-grok-4.5 2026-09-19 20:40:17 +02:00
parent 6661000fca
commit afb402027a
No known key found for this signature in database
2 changed files with 66 additions and 0 deletions

View file

@ -828,6 +828,22 @@ static void draw_bld(Building *b, int sx, int sy) {
disc(sx + W - 10, sy + H/2 - 4, 3, lr, lg, lb); disc(sx + W - 10, sy + H/2 - 4, 3, lr, lg, lb);
disc(sx + W/2 + 8, sy + 14, 2, 180, 70, 100); disc(sx + W/2 + 8, sy + 14, 2, 180, 70, 100);
disc(sx + W/2 - 6, sy + H - 14, 2, 200, 80, 110); disc(sx + W/2 - 6, sy + H - 14, 2, 200, 80, 110);
/* densify++: resin seams + spore towers + brood nests + vein forks */
fill_rect(sx + 18, sy + 16, 2, 8, 60, 25, 40);
fill_rect(sx + W - 20, sy + 16, 2, 8, 60, 25, 40);
fill_rect(sx + W/2 - 14, sy + H/2 + 2, 6, 2, 95, 40, 60);
fill_rect(sx + W/2 + 8, sy + H/2 + 2, 6, 2, 95, 40, 60);
fill_rect(sx + 11, sy + 30, 3, 5, 80, 35, 55);
fill_rect(sx + W - 14, sy + 30, 3, 5, 80, 35, 55);
fill_rect(sx + 26, sy + H - 14, 3, 3, 170, 55, 95);
fill_rect(sx + W - 29, sy + H - 14, 3, 3, 170, 55, 95);
fill_rect(sx + W/2 - 3, sy + 16, 6, 2, 130, 55, 75);
fill_rect(sx + 28, sy + 20, 2, 2, 200, 70, 100);
fill_rect(sx + W - 30, sy + 20, 2, 2, 200, 70, 100);
fill_rect(sx + W/2 + 4, sy + H - 12, 2, 3, 40, 20, 28);
fill_rect(sx + W/2 - 6, sy + H - 12, 2, 3, 40, 20, 28);
fill_rect(sx + 16, sy + H/2 - 4, 4, 2, lr, lg, lb);
fill_rect(sx + W - 20, sy + H/2 - 4, 4, 2, lr, lg, lb);
} else { } else {
/* Survivors HQ densify: battlements + courtyard + flag + sandbags */ /* Survivors HQ densify: battlements + courtyard + flag + sandbags */
fill_rect(sx + 4, sy + 4, 14, 14, ok, og, ob); fill_rect(sx + 4, sy + 4, 14, 14, ok, og, ob);
@ -901,6 +917,23 @@ static void draw_bld(Building *b, int sx, int sy) {
fill_rect(sx + W - 12, 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 - 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); fill_rect(sx + W/2 + 8, sy + H/2 + 6, 2, 2, 200, 60, 40);
/* densify++: tower roofs + courtyard tiles + ramp + railings + crates */
fill_rect(sx + 5, sy + 4, 12, 2, 85, 80, 65);
fill_rect(sx + W - 17, sy + 4, 12, 2, 85, 80, 65);
fill_rect(sx + 5, sy + H - 6, 12, 2, 85, 80, 65);
fill_rect(sx + W - 17, sy + H - 6, 12, 2, 85, 80, 65);
fill_rect(sx + 24, sy + 36, 3, 2, 110, 100, 80);
fill_rect(sx + W/2 - 6, sy + 36, 3, 2, 110, 100, 80);
fill_rect(sx + W - 28, sy + 36, 3, 2, 110, 100, 80);
fill_rect(sx + W/2 - 5, sy + H - 16, 10, 2, 55, 50, 42);
fill_rect(sx + W/2 - 7, sy + H - 18, 2, 4, 70, 65, 55);
fill_rect(sx + W/2 + 5, sy + H - 18, 2, 4, 70, 65, 55);
fill_rect(sx + 14, sy + H/2 - 2, 2, 6, 95, 90, 75);
fill_rect(sx + W - 16, sy + H/2 - 2, 2, 6, 95, 90, 75);
fill_rect(sx + 26, sy + H - 20, 3, 3, 140, 120, 90);
fill_rect(sx + W - 29, sy + H - 20, 3, 3, 140, 120, 90);
fill_rect(sx + W/2 - 16, sy + 10, 2, 2, 220, 200, 60);
fill_rect(sx + W/2 + 10, sy + 4, 3, 2, 100, 140, 180);
} }
break; break;
case BT_WARFACTORY: case BT_WARFACTORY:

View file

@ -638,6 +638,22 @@ SDL_Texture *sprites_make_bld(SDL_Renderer *r, BuildingType t, Faction f) {
disc(s, W - 10, H/2 - 4, 3, lite.r, lite.g, lite.b, 255); disc(s, W - 10, H/2 - 4, 3, lite.r, lite.g, lite.b, 255);
disc(s, W/2 + 8, 14, 2, 180, 70, 100, 255); disc(s, W/2 + 8, 14, 2, 180, 70, 100, 255);
disc(s, W/2 - 6, H - 14, 2, 200, 80, 110, 255); disc(s, W/2 - 6, H - 14, 2, 200, 80, 110, 255);
/* densify++: resin seams + spore towers + brood nests + vein forks */
fill_rect(s, 18, 16, 2, 8, 60, 25, 40, 255);
fill_rect(s, W - 20, 16, 2, 8, 60, 25, 40, 255);
fill_rect(s, W/2 - 14, H/2 + 2, 6, 2, 95, 40, 60, 255);
fill_rect(s, W/2 + 8, H/2 + 2, 6, 2, 95, 40, 60, 255);
fill_rect(s, 11, 30, 3, 5, 80, 35, 55, 255);
fill_rect(s, W - 14, 30, 3, 5, 80, 35, 55, 255);
fill_rect(s, 26, H - 14, 3, 3, 170, 55, 95, 255);
fill_rect(s, W - 29, H - 14, 3, 3, 170, 55, 95, 255);
fill_rect(s, W/2 - 3, 16, 6, 2, 130, 55, 75, 255);
fill_rect(s, 28, 20, 2, 2, 200, 70, 100, 255);
fill_rect(s, W - 30, 20, 2, 2, 200, 70, 100, 255);
fill_rect(s, W/2 + 4, H - 12, 2, 3, 40, 20, 28, 255);
fill_rect(s, W/2 - 6, H - 12, 2, 3, 40, 20, 28, 255);
fill_rect(s, 16, H/2 - 4, 4, 2, lite.r, lite.g, lite.b, 255);
fill_rect(s, W - 20, H/2 - 4, 4, 2, lite.r, lite.g, lite.b, 255);
} else { } else {
/* Survivors HQ densify: battlements + courtyard + flag + sandbags */ /* Survivors HQ densify: battlements + courtyard + flag + sandbags */
fill_rect(s, 4, 4, 14, 14, ok, og, ob, 255); fill_rect(s, 4, 4, 14, 14, ok, og, ob, 255);
@ -711,6 +727,23 @@ SDL_Texture *sprites_make_bld(SDL_Renderer *r, BuildingType t, Faction f) {
fill_rect(s, W - 12, 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 - 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); fill_rect(s, W/2 + 8, H/2 + 6, 2, 2, 200, 60, 40, 255);
/* densify++: tower roofs + courtyard tiles + ramp + railings + crates */
fill_rect(s, 5, 4, 12, 2, 85, 80, 65, 255);
fill_rect(s, W - 17, 4, 12, 2, 85, 80, 65, 255);
fill_rect(s, 5, H - 6, 12, 2, 85, 80, 65, 255);
fill_rect(s, W - 17, H - 6, 12, 2, 85, 80, 65, 255);
fill_rect(s, 24, 36, 3, 2, 110, 100, 80, 255);
fill_rect(s, W/2 - 6, 36, 3, 2, 110, 100, 80, 255);
fill_rect(s, W - 28, 36, 3, 2, 110, 100, 80, 255);
fill_rect(s, W/2 - 5, H - 16, 10, 2, 55, 50, 42, 255);
fill_rect(s, W/2 - 7, H - 18, 2, 4, 70, 65, 55, 255);
fill_rect(s, W/2 + 5, H - 18, 2, 4, 70, 65, 55, 255);
fill_rect(s, 14, H/2 - 2, 2, 6, 95, 90, 75, 255);
fill_rect(s, W - 16, H/2 - 2, 2, 6, 95, 90, 75, 255);
fill_rect(s, 26, H - 20, 3, 3, 140, 120, 90, 255);
fill_rect(s, W - 29, H - 20, 3, 3, 140, 120, 90, 255);
fill_rect(s, W/2 - 16, 10, 2, 2, 220, 200, 60, 255);
fill_rect(s, W/2 + 10, 4, 3, 2, 100, 140, 180, 255);
} }
break; break;
case BT_WARFACTORY: case BT_WARFACTORY: