engine-c: denser ARTILLERY howitzer + FLAME silhouettes

This commit is contained in:
local-model/engine-L2-grok-4.5 2026-09-19 18:50:42 +02:00
parent 25201069bb
commit a9a8c1d0e1
No known key found for this signature in database
2 changed files with 86 additions and 8 deletions

View file

@ -198,30 +198,50 @@ SDL_Texture *sprites_make_unit(SDL_Renderer *r, UnitType t, Faction f) {
disc(s, 22, 23, 4, tr, tg, tb, 255);
break;
case UT_ARTILLERY:
/* howitzer: outriggers + shield + ammo rack + elevated tube + brake */
/* howitzer: trails + cradle + shield + ammo + tube bands + brake + hubs */
fill_rect(s, 1, 18, 8, 3, ok, og, ob, 255); /* left outrigger */
fill_rect(s, 21, 18, 8, 3, ok, og, ob, 255); /* right outrigger */
fill_rect(s, 0, 19, 4, 2, 40, 38, 32, 255);
fill_rect(s, 26, 19, 4, 2, 40, 38, 32, 255);
fill_rect(s, 0, 19, 4, 2, 40, 38, 32, 255); /* spade L */
fill_rect(s, 26, 19, 4, 2, 40, 38, 32, 255); /* spade R */
fill_rect(s, 2, 20, 2, 2, 55, 50, 40, 255); /* trail pin L */
fill_rect(s, 26, 20, 2, 2, 55, 50, 40, 255); /* trail pin R */
fill_rect(s, 4, 11, 22, 10, ok, og, ob, 255);
fill_rect(s, 6, 13, 18, 7, base.r, base.g, base.b, 255);
fill_rect(s, 5, 14, 2, 5, 40, 38, 32, 255); /* chassis rail L */
fill_rect(s, 23, 14, 2, 5, 40, 38, 32, 255); /* chassis rail R */
fill_rect(s, 22, 12, 6, 8, 55, 50, 40, 255); /* ammo rack */
line(s, 23, 13, 27, 13, 90, 80, 55, 255);
line(s, 23, 15, 27, 15, 90, 80, 55, 255);
line(s, 23, 17, 27, 17, 90, 80, 55, 255);
fill_rect(s, 23, 14, 2, 2, 200, 160, 60, 255); /* shell tip */
fill_rect(s, 25, 16, 2, 2, 200, 160, 60, 255);
fill_rect(s, 10, 8, 10, 5, ok, og, ob, 255); /* gun shield */
fill_rect(s, 11, 9, 8, 3, lite.r, lite.g, lite.b, 255);
disc(s, 15, 14, 4, ok, og, ob, 255);
fill_rect(s, 12, 8, 6, 1, 255, 200, 40, 255); /* warn stripe */
disc(s, 15, 14, 4, ok, og, ob, 255); /* recoil cradle */
disc(s, 15, 14, 3, lite.r, lite.g, lite.b, 255);
fill_rect(s, 13, 13, 4, 3, 55, 50, 40, 255); /* breech */
fill_rect(s, 14, 14, 2, 1, 90, 80, 55, 255);
line(s, 15, 11, 3, 1, 45, 40, 32, 255); /* elevated tube */
line(s, 15, 12, 3, 2, 50, 45, 35, 255);
line(s, 15, 13, 2, 1, 55, 50, 40, 255);
line(s, 15, 14, 3, 3, 50, 45, 35, 255);
line(s, 15, 15, 4, 4, 45, 40, 32, 255);
disc(s, 10, 8, 1, 70, 65, 55, 255); /* tube band */
disc(s, 7, 5, 1, 70, 65, 55, 255);
fill_rect(s, 12, 16, 2, 3, 70, 65, 55, 255); /* elev hydrau */
fill_rect(s, 16, 16, 2, 3, 70, 65, 55, 255);
fill_rect(s, 1, 0, 5, 4, 60, 55, 45, 255); /* muzzle brake */
fill_rect(s, 2, 1, 3, 2, 30, 28, 24, 255);
disc(s, 3, 2, 1, 90, 85, 75, 255); /* brake ring */
line(s, 20, 11, 20, 6, 50, 46, 40, 255); /* antenna */
disc(s, 20, 5, 1, 200, 200, 80, 255);
disc(s, 8, 23, 5, ok, og, ob, 255);
disc(s, 22, 23, 5, ok, og, ob, 255);
disc(s, 8, 23, 4, tr, tg, tb, 255);
disc(s, 22, 23, 4, tr, tg, tb, 255);
disc(s, 8, 23, 2, 90, 85, 75, 255);
disc(s, 22, 23, 2, 90, 85, 75, 255);
break;
case UT_HARVESTER:
/* cabin + boom/scoop + conveyor + hopper panels + exhaust/lights + hubbed wheels */
@ -402,31 +422,50 @@ SDL_Texture *sprites_make_unit(SDL_Renderer *r, UnitType t, Faction f) {
disc(s, 23, 23, 4, tr, tg, tb, 255);
break;
case UT_FLAME:
/* dual tanks + hose + heat shield + nozzle jet */
/* dual tanks + gauges + hose + shield + nozzle jet + boots */
fill_rect(s, 7, 12, 16, 12, ok, og, ob, 255);
fill_rect(s, 9, 14, 12, 9, base.r, base.g, base.b, 255);
fill_rect(s, 10, 15, 3, 4, 45, 42, 36, 255); /* pouch */
fill_rect(s, 18, 16, 3, 3, 45, 42, 36, 255); /* belt box */
disc(s, 15, 9, 5, ok, og, ob, 255);
disc(s, 15, 9, 4, lite.r, lite.g, lite.b, 255);
fill_rect(s, 12, 8, 5, 2, 30, 40, 50, 255); /* visor */
fill_rect(s, 13, 7, 3, 1, 90, 100, 110, 255); /* brow plate */
fill_rect(s, 14, 11, 2, 3, 55, 50, 40, 255); /* shoulder plate */
disc(s, 6, 13, 5, ok, og, ob, 255); /* dual fuel tanks */
disc(s, 6, 13, 4, 90, 70, 40, 255);
disc(s, 6, 13, 2, 200, 120, 40, 255);
disc(s, 6, 19, 5, ok, og, ob, 255);
disc(s, 6, 19, 4, 90, 70, 40, 255);
disc(s, 6, 19, 2, 200, 120, 40, 255);
disc(s, 6, 11, 1, 60, 55, 45, 255);
fill_rect(s, 4, 12, 2, 3, 255, 200, 40, 255); /* tank warn stripe */
fill_rect(s, 4, 18, 2, 3, 255, 200, 40, 255);
disc(s, 6, 11, 1, 60, 55, 45, 255); /* valve */
disc(s, 6, 17, 1, 60, 55, 45, 255);
disc(s, 6, 21, 1, 60, 55, 45, 255);
disc(s, 8, 13, 1, 180, 220, 255, 255); /* gauge */
disc(s, 8, 19, 1, 180, 220, 255, 255);
line(s, 8, 14, 10, 14, 50, 46, 40, 255); /* strap */
line(s, 8, 18, 10, 18, 50, 46, 40, 255);
line(s, 10, 14, 16, 16, 50, 45, 35, 255); /* hose */
line(s, 10, 15, 16, 17, 70, 55, 35, 255);
disc(s, 12, 15, 1, 70, 65, 55, 255); /* hose clamp */
disc(s, 14, 16, 1, 70, 65, 55, 255);
fill_rect(s, 16, 12, 5, 8, 55, 50, 40, 255); /* heat shield */
fill_rect(s, 17, 13, 3, 6, 90, 70, 40, 255);
fill_rect(s, 18, 14, 1, 4, 40, 38, 32, 255); /* nozzle grip */
disc(s, 19, 13, 1, 255, 180, 60, 255); /* pilot light */
line(s, 20, 14, 28, 19, 255, 120, 40, 255);
line(s, 20, 15, 28, 20, 255, 150, 50, 255);
line(s, 20, 16, 27, 21, 255, 180, 60, 255);
line(s, 20, 17, 26, 21, 255, 200, 80, 255);
line(s, 21, 13, 27, 17, 255, 100, 30, 255); /* upper jet */
disc(s, 28, 20, 3, 255, 200, 80, 255);
disc(s, 28, 20, 1, 255, 240, 160, 255);
disc(s, 26, 18, 1, 255, 220, 120, 255); /* ember */
disc(s, 27, 22, 1, 255, 160, 60, 255);
fill_rect(s, 11, 22, 3, 3, 40, 36, 30, 255); /* boot L */
fill_rect(s, 17, 22, 3, 3, 40, 36, 30, 255); /* boot R */
break;
case UT_MISSILE:
/* MLRS box + rails + stripes + cab + pods + hydrau + hubs (KKND rocket truck) */