engine-c: denser INFANTRY/MUTANT/BEAST/HARVESTER silhouettes (sprites+snapshot)
This commit is contained in:
parent
b9125bad01
commit
6e081ce46f
2 changed files with 135 additions and 27 deletions
|
|
@ -84,22 +84,36 @@ SDL_Texture *sprites_make_unit(SDL_Renderer *r, UnitType t, Faction f) {
|
|||
|
||||
switch (t) {
|
||||
case UT_INFANTRY:
|
||||
/* legs → torso → pack → helmet/visor → thick rifle (parity snapshot) */
|
||||
/* boots/knees → torso/belt/pouches → pads → pack → helmet/visor/antenna → rifle+bayonet */
|
||||
disc(s, 11, 23, 3, ok, og, ob, 255);
|
||||
disc(s, 19, 23, 3, ok, og, ob, 255);
|
||||
disc(s, 11, 23, 2, base.r, base.g, base.b, 255);
|
||||
disc(s, 19, 23, 2, base.r, base.g, base.b, 255);
|
||||
fill_rect(s, 10, 24, 3, 2, 40, 36, 30, 255); /* boot L */
|
||||
fill_rect(s, 18, 24, 3, 2, 40, 36, 30, 255); /* boot R */
|
||||
fill_rect(s, 10, 20, 3, 2, 55, 50, 42, 255); /* knee pad L */
|
||||
fill_rect(s, 18, 20, 3, 2, 55, 50, 42, 255); /* knee pad R */
|
||||
disc(s, 15, 15, 9, ok, og, ob, 255);
|
||||
disc(s, 15, 15, 7, base.r, base.g, base.b, 255);
|
||||
fill_rect(s, 11, 17, 8, 2, 45, 42, 36, 255); /* belt */
|
||||
fill_rect(s, 12, 16, 2, 2, 60, 55, 45, 255); /* pouch L */
|
||||
fill_rect(s, 16, 16, 2, 2, 60, 55, 45, 255); /* pouch R */
|
||||
fill_rect(s, 9, 12, 3, 3, 50, 46, 40, 255); /* shoulder pad L */
|
||||
fill_rect(s, 19, 12, 3, 3, 50, 46, 40, 255); /* shoulder pad R */
|
||||
disc(s, 10, 16, 3, ok, og, ob, 255); /* backpack */
|
||||
disc(s, 10, 16, 2, 50, 46, 40, 255);
|
||||
fill_rect(s, 8, 15, 2, 3, 40, 38, 32, 255); /* pack strap */
|
||||
disc(s, 15, 8, 5, ok, og, ob, 255);
|
||||
disc(s, 15, 8, 4, lite.r, lite.g, lite.b, 255);
|
||||
fill_rect(s, 12, 7, 5, 2, 30, 40, 50, 255); /* visor */
|
||||
line(s, 14, 6, 14, 1, 50, 46, 40, 255); /* antenna */
|
||||
line(s, 15, 6, 15, 0, lite.r, lite.g, lite.b, 255);
|
||||
line(s, 16, 14, 16, 0, 40, 36, 30, 255);
|
||||
line(s, 17, 14, 17, 1, 55, 50, 40, 255);
|
||||
line(s, 18, 14, 18, 2, 45, 40, 34, 255);
|
||||
disc(s, 17, 1, 2, 60, 55, 45, 255); /* muzzle tip */
|
||||
line(s, 17, 2, 20, 0, 70, 65, 55, 255); /* bayonet */
|
||||
line(s, 18, 2, 21, 1, 55, 50, 40, 255);
|
||||
break;
|
||||
case UT_BUGGY:
|
||||
/* fenders + bumper + cabin + roll bar + spare + exhaust + lights + MG */
|
||||
|
|
@ -210,17 +224,28 @@ SDL_Texture *sprites_make_unit(SDL_Renderer *r, UnitType t, Faction f) {
|
|||
disc(s, 22, 23, 4, tr, tg, tb, 255);
|
||||
break;
|
||||
case UT_HARVESTER:
|
||||
/* cabin + scoop + mid cargo + hubbed wheels */
|
||||
/* cabin + boom/scoop + conveyor + hopper panels + exhaust/lights + hubbed wheels */
|
||||
fill_rect(s, 1, 6, 28, 18, ok, og, ob, 255);
|
||||
fill_rect(s, 3, 8, 24, 14, base.r, base.g, base.b, 255);
|
||||
fill_rect(s, 3, 8, 8, 8, lite.r, lite.g, lite.b, 255);
|
||||
fill_rect(s, 4, 8, 6, 3, 35, 55, 75, 255);
|
||||
fill_rect(s, 1, 13, 4, 5, 90, 80, 55, 255); /* scoop */
|
||||
fill_rect(s, 11, 10, 14, 10, 55, 48, 32, 255);
|
||||
fill_rect(s, 4, 8, 6, 3, 35, 55, 75, 255); /* glass */
|
||||
fill_rect(s, 5, 12, 4, 2, 45, 42, 36, 255); /* cabin panel */
|
||||
line(s, 2, 14, 8, 11, 50, 46, 40, 255); /* boom arm */
|
||||
line(s, 2, 15, 8, 12, 70, 65, 55, 255);
|
||||
fill_rect(s, 0, 14, 5, 5, 90, 80, 55, 255); /* scoop lip */
|
||||
fill_rect(s, 1, 15, 3, 3, 70, 60, 40, 255);
|
||||
fill_rect(s, 11, 10, 14, 10, 55, 48, 32, 255); /* hopper bed */
|
||||
fill_rect(s, 11, 10, 8, 10, 200, 170, 90, 255);
|
||||
line(s, 14, 10, 19, 10, 160, 130, 70, 255);
|
||||
line(s, 14, 13, 19, 13, 160, 130, 70, 255);
|
||||
line(s, 14, 16, 19, 16, 160, 130, 70, 255);
|
||||
line(s, 14, 10, 24, 10, 160, 130, 70, 255); /* conveyor ribs */
|
||||
line(s, 14, 13, 24, 13, 160, 130, 70, 255);
|
||||
line(s, 14, 16, 24, 16, 160, 130, 70, 255);
|
||||
fill_rect(s, 12, 9, 12, 1, 45, 40, 32, 255); /* hopper rim */
|
||||
fill_rect(s, 24, 11, 3, 8, 50, 46, 40, 255); /* side panel */
|
||||
fill_rect(s, 25, 12, 1, 6, 70, 65, 55, 255);
|
||||
fill_rect(s, 20, 18, 4, 2, 40, 38, 32, 255); /* exhaust */
|
||||
fill_rect(s, 21, 17, 2, 1, 70, 65, 55, 255);
|
||||
disc(s, 4, 10, 2, 220, 200, 80, 255); /* cabin light */
|
||||
disc(s, 2, 16, 1, 220, 180, 60, 255); /* scoop lamp */
|
||||
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);
|
||||
|
|
@ -269,34 +294,58 @@ SDL_Texture *sprites_make_unit(SDL_Renderer *r, UnitType t, Faction f) {
|
|||
disc(s, 28, 15, 2, 60, 55, 45, 255);
|
||||
break;
|
||||
case UT_MUTANT:
|
||||
/* brow + thick spikes + claw tip */
|
||||
/* plates + eyes/jaw + spikes + dual claws + tail */
|
||||
disc(s, 15, 17, 11, ok, og, ob, 255);
|
||||
disc(s, 15, 15, 9, base.r, base.g, base.b, 255);
|
||||
fill_rect(s, 10, 14, 4, 3, 45, 40, 35, 255); /* chest plate L */
|
||||
fill_rect(s, 17, 14, 4, 3, 45, 40, 35, 255); /* chest plate R */
|
||||
disc(s, 15, 9, 5, ok, og, ob, 255);
|
||||
disc(s, 15, 9, 4, lite.r, lite.g, lite.b, 255);
|
||||
fill_rect(s, 11, 7, 7, 2, 30, 40, 50, 255); /* brow */
|
||||
disc(s, 12, 9, 1, 200, 60, 40, 255); /* eye L */
|
||||
disc(s, 18, 9, 1, 200, 60, 40, 255); /* eye R */
|
||||
fill_rect(s, 13, 11, 5, 2, 40, 30, 28, 255); /* jaw */
|
||||
line(s, 14, 12, 14, 13, 70, 55, 45, 255); /* fang */
|
||||
line(s, 16, 12, 16, 13, 70, 55, 45, 255);
|
||||
line(s, 12, 6, 9, 0, 40, 36, 30, 255);
|
||||
line(s, 13, 6, 10, 1, 55, 50, 40, 255);
|
||||
line(s, 15, 5, 15, 0, 40, 36, 30, 255);
|
||||
line(s, 16, 5, 16, 0, 55, 50, 40, 255);
|
||||
line(s, 18, 6, 21, 0, 40, 36, 30, 255);
|
||||
line(s, 17, 6, 20, 1, 55, 50, 40, 255);
|
||||
line(s, 14, 4, 12, 0, 50, 45, 35, 255); /* extra spike */
|
||||
line(s, 15, 16, 26, 8, 40, 36, 30, 255);
|
||||
line(s, 15, 17, 26, 9, 50, 45, 35, 255);
|
||||
line(s, 24, 9, 29, 5, 55, 50, 40, 255);
|
||||
line(s, 24, 9, 29, 11, 55, 50, 40, 255);
|
||||
line(s, 24, 10, 28, 8, 70, 60, 45, 255);
|
||||
disc(s, 28, 8, 2, 70, 60, 45, 255);
|
||||
disc(s, 28, 8, 2, 70, 60, 45, 255); /* claw tip R */
|
||||
line(s, 12, 16, 4, 10, 40, 36, 30, 255); /* second claw L */
|
||||
line(s, 12, 17, 4, 11, 50, 45, 35, 255);
|
||||
line(s, 5, 10, 1, 7, 55, 50, 40, 255);
|
||||
line(s, 5, 11, 1, 13, 55, 50, 40, 255);
|
||||
disc(s, 2, 10, 2, 70, 60, 45, 255);
|
||||
line(s, 15, 20, 15, 27, 45, 40, 35, 255); /* tail */
|
||||
line(s, 16, 20, 18, 28, 55, 50, 40, 255);
|
||||
disc(s, 17, 27, 2, 60, 50, 40, 255);
|
||||
disc(s, 10, 22, 4, ok, og, ob, 255);
|
||||
disc(s, 20, 22, 4, ok, og, ob, 255);
|
||||
disc(s, 10, 22, 3, base.r, base.g, base.b, 255);
|
||||
disc(s, 20, 22, 3, base.r, base.g, base.b, 255);
|
||||
break;
|
||||
case UT_BEAST:
|
||||
/* carapace ridge + tusks + hubbed multi-wheel */
|
||||
/* carapace plates/spines + eye + vents + tusks + hubbed multi-wheel */
|
||||
fill_rect(s, 5, 9, 20, 12, ok, og, ob, 255);
|
||||
fill_rect(s, 7, 11, 16, 8, base.r, base.g, base.b, 255);
|
||||
fill_rect(s, 9, 10, 12, 3, lite.r, lite.g, lite.b, 255);
|
||||
fill_rect(s, 9, 10, 12, 3, lite.r, lite.g, lite.b, 255); /* carapace ridge */
|
||||
fill_rect(s, 8, 13, 5, 3, 50, 46, 40, 255); /* plate L */
|
||||
fill_rect(s, 17, 13, 5, 3, 50, 46, 40, 255); /* plate R */
|
||||
line(s, 10, 9, 10, 5, 40, 36, 30, 255); /* spine */
|
||||
line(s, 13, 9, 13, 4, 55, 50, 40, 255);
|
||||
line(s, 16, 9, 16, 4, 55, 50, 40, 255);
|
||||
line(s, 19, 9, 19, 5, 40, 36, 30, 255);
|
||||
fill_rect(s, 11, 16, 2, 2, 30, 28, 24, 255); /* vent L */
|
||||
fill_rect(s, 17, 16, 2, 2, 30, 28, 24, 255); /* vent R */
|
||||
disc(s, 9, 21, 4, ok, og, ob, 255);
|
||||
disc(s, 14, 22, 4, ok, og, ob, 255);
|
||||
disc(s, 19, 21, 4, ok, og, ob, 255);
|
||||
|
|
@ -305,9 +354,14 @@ SDL_Texture *sprites_make_unit(SDL_Renderer *r, UnitType t, Faction f) {
|
|||
disc(s, 14, 22, 3, tr, tg, tb, 255);
|
||||
disc(s, 19, 21, 3, tr, tg, tb, 255);
|
||||
disc(s, 23, 22, 3, tr, tg, tb, 255);
|
||||
disc(s, 9, 21, 1, 90, 85, 75, 255); /* hub */
|
||||
disc(s, 14, 22, 1, 90, 85, 75, 255);
|
||||
disc(s, 19, 21, 1, 90, 85, 75, 255);
|
||||
disc(s, 23, 22, 1, 90, 85, 75, 255);
|
||||
disc(s, 24, 12, 6, ok, og, ob, 255);
|
||||
disc(s, 24, 12, 5, lite.r, lite.g, lite.b, 255);
|
||||
line(s, 26, 10, 29, 8, 40, 36, 30, 255);
|
||||
disc(s, 24, 12, 5, lite.r, lite.g, lite.b, 255); /* snout */
|
||||
disc(s, 26, 11, 1, 200, 80, 40, 255); /* eye */
|
||||
line(s, 26, 10, 29, 8, 40, 36, 30, 255); /* tusk */
|
||||
line(s, 26, 14, 29, 16, 40, 36, 30, 255);
|
||||
line(s, 26, 12, 29, 12, 55, 50, 40, 255);
|
||||
disc(s, 29, 12, 2, 60, 55, 45, 255);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue