engine-c: clearer TANK/BUGGY/JEEP silhouettes

This commit is contained in:
local-model/engine-L2-grok-4.5 2026-09-19 18:21:01 +02:00
parent 3aa959f925
commit 2e692523e0
No known key found for this signature in database
2 changed files with 121 additions and 19 deletions

View file

@ -102,11 +102,30 @@ SDL_Texture *sprites_make_unit(SDL_Renderer *r, UnitType t, Faction f) {
disc(s, 17, 1, 2, 60, 55, 45, 255); /* muzzle tip */
break;
case UT_BUGGY:
/* cabin + windshield + hubbed wheels + thick MG */
fill_rect(s, 3, 7, 24, 16, ok, og, ob, 255);
fill_rect(s, 5, 9, 20, 12, base.r, base.g, base.b, 255);
/* fenders + bumper + cabin + roll bar + spare + exhaust + lights + MG */
fill_rect(s, 2, 6, 26, 18, ok, og, ob, 255);
fill_rect(s, 4, 8, 22, 14, base.r, base.g, base.b, 255);
fill_rect(s, 3, 6, 6, 3, 45, 42, 36, 255); /* front fender L */
fill_rect(s, 21, 6, 6, 3, 45, 42, 36, 255); /* front fender R */
fill_rect(s, 3, 22, 6, 3, 45, 42, 36, 255); /* rear fender L */
fill_rect(s, 21, 22, 6, 3, 45, 42, 36, 255); /* rear fender R */
fill_rect(s, 1, 12, 3, 6, 55, 50, 40, 255); /* bumper */
fill_rect(s, 2, 13, 1, 4, 90, 80, 55, 255);
fill_rect(s, 6, 9, 10, 6, lite.r, lite.g, lite.b, 255);
fill_rect(s, 7, 8, 8, 3, 35, 55, 75, 255);
fill_rect(s, 7, 8, 8, 3, 35, 55, 75, 255); /* windshield */
line(s, 8, 10, 8, 4, lite.r, lite.g, lite.b, 255); /* roll bar L */
line(s, 9, 10, 9, 4, 50, 46, 40, 255);
line(s, 18, 10, 18, 4, lite.r, lite.g, lite.b, 255); /* roll bar R */
line(s, 17, 10, 17, 4, 50, 46, 40, 255);
line(s, 8, 4, 18, 4, lite.r, lite.g, lite.b, 255);
line(s, 8, 5, 18, 5, 50, 46, 40, 255);
disc(s, 25, 16, 3, ok, og, ob, 255); /* spare tyre */
disc(s, 25, 16, 2, tr, tg, tb, 255);
disc(s, 25, 16, 1, 90, 85, 75, 255);
fill_rect(s, 26, 20, 3, 2, 40, 38, 32, 255); /* exhaust */
fill_rect(s, 27, 19, 2, 1, 70, 65, 55, 255);
disc(s, 4, 11, 2, 220, 200, 80, 255); /* headlight L */
disc(s, 4, 19, 2, 220, 200, 80, 255); /* headlight R */
disc(s, 8, 7, 5, ok, og, ob, 255);
disc(s, 22, 7, 5, ok, og, ob, 255);
disc(s, 8, 23, 5, ok, og, ob, 255);
@ -115,7 +134,7 @@ SDL_Texture *sprites_make_unit(SDL_Renderer *r, UnitType t, Faction f) {
disc(s, 22, 7, 4, tr, tg, tb, 255);
disc(s, 8, 23, 4, tr, tg, tb, 255);
disc(s, 22, 23, 4, tr, tg, tb, 255);
disc(s, 8, 7, 2, 90, 85, 75, 255); /* hub */
disc(s, 8, 7, 2, 90, 85, 75, 255);
disc(s, 22, 7, 2, 90, 85, 75, 255);
disc(s, 8, 23, 2, 90, 85, 75, 255);
disc(s, 22, 23, 2, 90, 85, 75, 255);
@ -125,25 +144,41 @@ SDL_Texture *sprites_make_unit(SDL_Renderer *r, UnitType t, Faction f) {
disc(s, 29, 15, 2, 60, 55, 45, 255);
break;
case UT_TANK:
/* tracks + sprockets + cupola + thick barrel */
/* skirts + road wheels + glacis + mantlet + coax + exhaust + antenna + barrel */
fill_rect(s, 2, 8, 5, 12, ok, og, ob, 255);
fill_rect(s, 23, 8, 5, 12, ok, og, ob, 255);
fill_rect(s, 3, 10, 3, 10, tr, tg, tb, 255);
fill_rect(s, 24, 10, 3, 10, tr, tg, tb, 255);
fill_rect(s, 2, 9, 5, 2, 50, 46, 40, 255); /* side skirt L top */
fill_rect(s, 23, 9, 5, 2, 50, 46, 40, 255); /* side skirt R top */
fill_rect(s, 2, 18, 5, 2, 50, 46, 40, 255); /* side skirt L bot */
fill_rect(s, 23, 18, 5, 2, 50, 46, 40, 255);
disc(s, 5, 11, 2, 40, 38, 32, 255); /* sprocket */
disc(s, 5, 15, 2, 40, 38, 32, 255); /* road wheel */
disc(s, 5, 20, 2, 40, 38, 32, 255);
disc(s, 26, 11, 2, 40, 38, 32, 255);
disc(s, 26, 15, 2, 40, 38, 32, 255);
disc(s, 26, 20, 2, 40, 38, 32, 255);
fill_rect(s, 4, 10, 22, 10, ok, og, ob, 255);
fill_rect(s, 6, 11, 18, 8, base.r, base.g, base.b, 255);
fill_rect(s, 5, 10, 8, 3, 55, 50, 42, 255); /* glacis plate */
fill_rect(s, 6, 11, 6, 2, lite.r, lite.g, lite.b, 255);
disc(s, 15, 15, 7, ok, og, ob, 255);
disc(s, 15, 15, 6, lite.r, lite.g, lite.b, 255);
disc(s, 15, 12, 2, 40, 38, 32, 255);
fill_rect(s, 18, 13, 4, 5, 45, 42, 36, 255); /* mantlet */
fill_rect(s, 19, 14, 2, 3, 60, 55, 45, 255);
disc(s, 15, 12, 2, 40, 38, 32, 255); /* hatch */
line(s, 14, 12, 14, 2, 50, 46, 40, 255); /* antenna */
line(s, 15, 12, 15, 1, lite.r, lite.g, lite.b, 255);
fill_rect(s, 7, 20, 3, 2, 40, 38, 32, 255); /* exhaust */
fill_rect(s, 8, 19, 1, 1, 70, 65, 55, 255);
line(s, 15, 13, 29, 13, 45, 40, 32, 255);
line(s, 15, 14, 29, 14, 50, 45, 35, 255);
line(s, 15, 15, 29, 15, 55, 50, 40, 255);
line(s, 15, 16, 29, 16, 50, 45, 35, 255);
line(s, 15, 17, 28, 17, 45, 40, 32, 255);
line(s, 18, 12, 27, 11, 40, 36, 30, 255); /* coax MG */
line(s, 18, 12, 27, 12, 50, 45, 35, 255);
disc(s, 29, 15, 2, 60, 55, 45, 255);
disc(s, 8, 23, 4, tr, tg, tb, 255);
disc(s, 22, 23, 4, tr, tg, tb, 255);
@ -196,10 +231,26 @@ SDL_Texture *sprites_make_unit(SDL_Renderer *r, UnitType t, Faction f) {
line(s, 6, 7, 6, 3, 50, 46, 40, 255);
break;
case UT_JEEP:
/* thick roll cage + hubbed wheels + twin MG */
/* bumper + grill + seats + jerry cans + spare + lights + antenna + cage + MG */
fill_rect(s, 4, 9, 22, 12, ok, og, ob, 255);
fill_rect(s, 6, 11, 18, 8, base.r, base.g, base.b, 255);
fill_rect(s, 3, 12, 3, 6, 55, 50, 40, 255); /* bumper */
fill_rect(s, 4, 13, 1, 4, 90, 80, 55, 255);
fill_rect(s, 5, 13, 3, 4, 40, 38, 32, 255); /* grill */
line(s, 5, 14, 7, 14, 70, 65, 55, 255);
line(s, 5, 16, 7, 16, 70, 65, 55, 255);
fill_rect(s, 7, 10, 8, 5, lite.r, lite.g, lite.b, 255);
fill_rect(s, 8, 12, 3, 3, 45, 40, 35, 255); /* seat L */
fill_rect(s, 14, 12, 3, 3, 45, 40, 35, 255); /* seat R */
fill_rect(s, 22, 11, 3, 4, 70, 90, 50, 255); /* jerry can */
fill_rect(s, 23, 12, 1, 2, 90, 110, 60, 255);
disc(s, 24, 18, 3, ok, og, ob, 255); /* spare */
disc(s, 24, 18, 2, tr, tg, tb, 255);
disc(s, 24, 18, 1, 90, 85, 75, 255);
disc(s, 5, 11, 2, 220, 200, 80, 255); /* light L */
disc(s, 5, 19, 2, 220, 200, 80, 255); /* light R */
line(s, 16, 10, 16, 1, 50, 46, 40, 255); /* antenna */
line(s, 17, 10, 17, 2, lite.r, lite.g, lite.b, 255);
disc(s, 9, 22, 5, ok, og, ob, 255);
disc(s, 21, 22, 5, ok, og, ob, 255);
disc(s, 9, 22, 4, tr, tg, tb, 255);