engine-c: denser BT_WARFACTORY hangar/crane/bay/office silhouettes

This commit is contained in:
local-model/engine-L2-grok-4.5 2026-09-19 19:41:35 +02:00
parent 3221d3b7de
commit cc283eea85
No known key found for this signature in database
2 changed files with 30 additions and 0 deletions

View file

@ -893,6 +893,9 @@ static void draw_bld(Building *b, int sx, int sy) {
fill_rect(sx + W/2 - 8, sy + 12, 5, 5, 55, 50, 42); fill_rect(sx + W/2 - 8, sy + 12, 5, 5, 55, 50, 42);
fill_rect(sx + W/2 + 3, sy + 12, 5, 5, 55, 50, 42); fill_rect(sx + W/2 + 3, sy + 12, 5, 5, 55, 50, 42);
fill_rect(sx + W - 15, sy + 12, 5, 5, 55, 50, 42); fill_rect(sx + W - 15, sy + 12, 5, 5, 55, 50, 42);
fill_rect(sx + 9, sy + 11, W - 18, 1, 40, 38, 32); /* roof seam */
fill_rect(sx + 14, sy + 13, 2, 1, 80, 75, 60); /* corrugation L */
fill_rect(sx + W/2 - 1, sy + 13, 2, 1, 80, 75, 60); /* corrugation C */
/* corner bracing + rivets */ /* corner bracing + rivets */
fill_rect(sx + 5, sy + 7, 3, 3, 70, 65, 55); fill_rect(sx + 5, sy + 7, 3, 3, 70, 65, 55);
fill_rect(sx + W - 8, sy + 7, 3, 3, 70, 65, 55); fill_rect(sx + W - 8, sy + 7, 3, 3, 70, 65, 55);
@ -913,6 +916,9 @@ static void draw_bld(Building *b, int sx, int sy) {
fill_rect(sx + 17, sy + 15, 3, 3, 150, 190, 220); fill_rect(sx + 17, sy + 15, 3, 3, 150, 190, 220);
fill_rect(sx + 22, sy + 15, 3, 3, 170, 210, 235); fill_rect(sx + 22, sy + 15, 3, 3, 170, 210, 235);
fill_rect(sx + W/2 - 2, sy + 15, 3, 3, 155, 195, 225); fill_rect(sx + W/2 - 2, sy + 15, 3, 3, 155, 195, 225);
fill_rect(sx + W/2 + 3, sy + 15, 3, 3, 165, 205, 235); /* office window R */
fill_rect(sx + 10, sy + 20, 4, 5, 45, 42, 38); /* office door */
fill_rect(sx + 12, sy + 22, 1, 2, 200, 180, 60); /* door knob */
/* chimney + smoke puff */ /* chimney + smoke puff */
fill_rect(sx + W/2 + 8, sy + 4, 4, 10, ok, og, ob); fill_rect(sx + W/2 + 8, sy + 4, 4, 10, ok, og, ob);
fill_rect(sx + W/2 + 9, sy + 5, 2, 8, 55, 50, 45); fill_rect(sx + W/2 + 9, sy + 5, 2, 8, 55, 50, 45);
@ -939,6 +945,9 @@ static void draw_bld(Building *b, int sx, int sy) {
fill_rect(sx + 17, sy + 27, 3, 2, 100, 90, 60); /* hook */ fill_rect(sx + 17, sy + 27, 3, 2, 100, 90, 60); /* hook */
fill_rect(sx + W - 12, sy + 3, 2, 2, 220, 200, 80); /* floodlight */ fill_rect(sx + W - 12, sy + 3, 2, 2, 220, 200, 80); /* floodlight */
fill_rect(sx + W - 11, sy + 2, 1, 3, 90, 85, 70); /* antenna stub */ fill_rect(sx + W - 11, sy + 2, 1, 3, 90, 85, 70); /* antenna stub */
fill_rect(sx + W - 15, sy + H/2 - 2, 4, 3, 70, 65, 50); /* gantry brace */
fill_rect(sx + W - 10, sy + 8, 3, 2, 200, 160, 40); /* crane hazard */
fill_rect(sx + W - 16, sy + H - 22, 5, 4, 55, 50, 42); /* crane counterweight */
/* segmented bay doors + hazard + panels */ /* segmented bay doors + hazard + panels */
fill_rect(sx + 12, sy + H - 30, W - 28, 20, ok, og, ob); fill_rect(sx + 12, sy + H - 30, W - 28, 20, ok, og, ob);
fill_rect(sx + 14, sy + H - 28, W - 32, 16, 32, 32, 38); fill_rect(sx + 14, sy + H - 28, W - 32, 16, 32, 32, 38);
@ -951,9 +960,15 @@ static void draw_bld(Building *b, int sx, int sy) {
fill_rect(sx + 16, sy + H - 24, 4, 3, 45, 44, 40); /* door panel */ fill_rect(sx + 16, sy + H - 24, 4, 3, 45, 44, 40); /* door panel */
fill_rect(sx + W/2 + 2, sy + H - 24, 4, 3, 45, 44, 40); fill_rect(sx + W/2 + 2, sy + H - 24, 4, 3, 45, 44, 40);
fill_rect(sx + W - 22, sy + H - 24, 4, 3, 45, 44, 40); fill_rect(sx + W - 22, sy + H - 24, 4, 3, 45, 44, 40);
fill_rect(sx + W/2 - 1, sy + H - 18, 2, 2, 90, 85, 70); /* bay lock */
fill_rect(sx + 7, sy + H/2 + 4, 4, 2, 50, 48, 42); /* side vent grille */
/* ramp lip + rails/tracks */ /* ramp lip + rails/tracks */
fill_rect(sx + 10, sy + H - 10, W - 20, 5, 50, 48, 42); fill_rect(sx + 10, sy + H - 10, W - 20, 5, 50, 48, 42);
fill_rect(sx + 12, sy + H - 9, W - 24, 2, 90, 75, 45); fill_rect(sx + 12, sy + H - 9, W - 24, 2, 90, 75, 45);
fill_rect(sx + 18, sy + H - 8, 3, 1, 200, 160, 40); /* ramp chevron L */
fill_rect(sx + W/2 - 1, sy + H - 8, 3, 1, 200, 160, 40); /* ramp chevron C */
fill_rect(sx + W - 22, sy + H - 8, 3, 1, 200, 160, 40); /* ramp chevron R */
fill_rect(sx + W/2 - 3, sy + H - 4, 6, 2, 35, 30, 22); /* oil stain */
line(sx + 14, sy + H - 8, sx + 14, sy + H - 5, 70, 65, 50); 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 + 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 */ line(sx + 14, sy + H - 6, sx + W - 16, sy + H - 6, 60, 55, 42); /* track */

View file

@ -703,6 +703,9 @@ SDL_Texture *sprites_make_bld(SDL_Renderer *r, BuildingType t, Faction f) {
fill_rect(s, W/2 - 8, 12, 5, 5, 55, 50, 42, 255); fill_rect(s, W/2 - 8, 12, 5, 5, 55, 50, 42, 255);
fill_rect(s, W/2 + 3, 12, 5, 5, 55, 50, 42, 255); fill_rect(s, W/2 + 3, 12, 5, 5, 55, 50, 42, 255);
fill_rect(s, W - 15, 12, 5, 5, 55, 50, 42, 255); fill_rect(s, W - 15, 12, 5, 5, 55, 50, 42, 255);
fill_rect(s, 9, 11, W - 18, 1, 40, 38, 32, 255); /* roof seam */
fill_rect(s, 14, 13, 2, 1, 80, 75, 60, 255); /* corrugation L */
fill_rect(s, W/2 - 1, 13, 2, 1, 80, 75, 60, 255); /* corrugation C */
/* corner bracing + rivets */ /* corner bracing + rivets */
fill_rect(s, 5, 7, 3, 3, 70, 65, 55, 255); fill_rect(s, 5, 7, 3, 3, 70, 65, 55, 255);
fill_rect(s, W - 8, 7, 3, 3, 70, 65, 55, 255); fill_rect(s, W - 8, 7, 3, 3, 70, 65, 55, 255);
@ -718,6 +721,9 @@ SDL_Texture *sprites_make_bld(SDL_Renderer *r, BuildingType t, Faction f) {
fill_rect(s, 17, 15, 3, 3, 150, 190, 220, 255); fill_rect(s, 17, 15, 3, 3, 150, 190, 220, 255);
fill_rect(s, 22, 15, 3, 3, 170, 210, 235, 255); fill_rect(s, 22, 15, 3, 3, 170, 210, 235, 255);
fill_rect(s, W/2 - 2, 15, 3, 3, 155, 195, 225, 255); fill_rect(s, W/2 - 2, 15, 3, 3, 155, 195, 225, 255);
fill_rect(s, W/2 + 3, 15, 3, 3, 165, 205, 235, 255); /* office window R */
fill_rect(s, 10, 20, 4, 5, 45, 42, 38, 255); /* office door */
fill_rect(s, 12, 22, 1, 2, 200, 180, 60, 255); /* door knob */
/* chimney + smoke puff */ /* chimney + smoke puff */
fill_rect(s, W/2 + 8, 4, 4, 10, ok, og, ob, 255); fill_rect(s, W/2 + 8, 4, 4, 10, ok, og, ob, 255);
fill_rect(s, W/2 + 9, 5, 2, 8, 55, 50, 45, 255); fill_rect(s, W/2 + 9, 5, 2, 8, 55, 50, 45, 255);
@ -745,6 +751,9 @@ SDL_Texture *sprites_make_bld(SDL_Renderer *r, BuildingType t, Faction f) {
fill_rect(s, 17, 27, 3, 2, 100, 90, 60, 255); /* hook */ fill_rect(s, 17, 27, 3, 2, 100, 90, 60, 255); /* hook */
fill_rect(s, W - 12, 3, 2, 2, 220, 200, 80, 255); /* floodlight */ fill_rect(s, W - 12, 3, 2, 2, 220, 200, 80, 255); /* floodlight */
fill_rect(s, W - 11, 2, 1, 3, 90, 85, 70, 255); /* antenna stub */ fill_rect(s, W - 11, 2, 1, 3, 90, 85, 70, 255); /* antenna stub */
fill_rect(s, W - 15, H/2 - 2, 4, 3, 70, 65, 50, 255); /* gantry brace */
fill_rect(s, W - 10, 8, 3, 2, 200, 160, 40, 255); /* crane hazard */
fill_rect(s, W - 16, H - 22, 5, 4, 55, 50, 42, 255); /* crane counterweight */
/* segmented bay doors + hazard + panels */ /* segmented bay doors + hazard + panels */
fill_rect(s, 12, H - 30, W - 28, 20, ok, og, ob, 255); fill_rect(s, 12, H - 30, W - 28, 20, ok, og, ob, 255);
fill_rect(s, 14, H - 28, W - 32, 16, 32, 32, 38, 255); fill_rect(s, 14, H - 28, W - 32, 16, 32, 32, 38, 255);
@ -757,9 +766,15 @@ SDL_Texture *sprites_make_bld(SDL_Renderer *r, BuildingType t, Faction f) {
fill_rect(s, 16, H - 24, 4, 3, 45, 44, 40, 255); /* door panel */ fill_rect(s, 16, H - 24, 4, 3, 45, 44, 40, 255); /* door panel */
fill_rect(s, W/2 + 2, H - 24, 4, 3, 45, 44, 40, 255); fill_rect(s, W/2 + 2, H - 24, 4, 3, 45, 44, 40, 255);
fill_rect(s, W - 22, H - 24, 4, 3, 45, 44, 40, 255); fill_rect(s, W - 22, H - 24, 4, 3, 45, 44, 40, 255);
fill_rect(s, W/2 - 1, H - 18, 2, 2, 90, 85, 70, 255); /* bay lock */
fill_rect(s, 7, H/2 + 4, 4, 2, 50, 48, 42, 255); /* side vent grille */
/* ramp lip + rails/tracks */ /* ramp lip + rails/tracks */
fill_rect(s, 10, H - 10, W - 20, 5, 50, 48, 42, 255); fill_rect(s, 10, H - 10, W - 20, 5, 50, 48, 42, 255);
fill_rect(s, 12, H - 9, W - 24, 2, 90, 75, 45, 255); fill_rect(s, 12, H - 9, W - 24, 2, 90, 75, 45, 255);
fill_rect(s, 18, H - 8, 3, 1, 200, 160, 40, 255); /* ramp chevron L */
fill_rect(s, W/2 - 1, H - 8, 3, 1, 200, 160, 40, 255); /* ramp chevron C */
fill_rect(s, W - 22, H - 8, 3, 1, 200, 160, 40, 255); /* ramp chevron R */
fill_rect(s, W/2 - 3, H - 4, 6, 2, 35, 30, 22, 255); /* oil stain */
line(s, 14, H - 8, 14, H - 5, 70, 65, 50, 255); 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, 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 */ line(s, 14, H - 6, W - 16, H - 6, 60, 55, 42, 255); /* track */