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
|
|
@ -146,22 +146,36 @@ static void draw_unit(Unit *u, int sx, int sy) {
|
||||||
|
|
||||||
switch (u->type) {
|
switch (u->type) {
|
||||||
case UT_INFANTRY:
|
case UT_INFANTRY:
|
||||||
/* legs → torso → helmet/visor → pack → thick rifle (KKND2 foot soldier) */
|
/* boots/knees → torso/belt/pouches → pads → pack → helmet/visor/antenna → rifle+bayonet */
|
||||||
disc(LX(11,23), LY(11,23), SI(3), ok, og, ob);
|
disc(LX(11,23), LY(11,23), SI(3), ok, og, ob);
|
||||||
disc(LX(19,23), LY(19,23), SI(3), ok, og, ob);
|
disc(LX(19,23), LY(19,23), SI(3), ok, og, ob);
|
||||||
disc(LX(11,23), LY(11,23), SI(2), br, bg, bb);
|
disc(LX(11,23), LY(11,23), SI(2), br, bg, bb);
|
||||||
disc(LX(19,23), LY(19,23), SI(2), br, bg, bb);
|
disc(LX(19,23), LY(19,23), SI(2), br, bg, bb);
|
||||||
|
fill_rect(LX(10,24)-SI(1), LY(10,24)-1, SI(3), SI(2), 40, 36, 30); /* boot L */
|
||||||
|
fill_rect(LX(18,24)-SI(1), LY(18,24)-1, SI(3), SI(2), 40, 36, 30); /* boot R */
|
||||||
|
fill_rect(LX(10,20)-SI(1), LY(10,20)-1, SI(3), SI(2), 55, 50, 42); /* knee pad L */
|
||||||
|
fill_rect(LX(18,20)-SI(1), LY(18,20)-1, SI(3), SI(2), 55, 50, 42); /* knee pad R */
|
||||||
disc(sx, sy, SI(9), ok, og, ob);
|
disc(sx, sy, SI(9), ok, og, ob);
|
||||||
disc(sx, sy, SI(7), br, bg, bb);
|
disc(sx, sy, SI(7), br, bg, bb);
|
||||||
|
fill_rect(LX(11,17)-SI(1), LY(11,17)-1, SI(8), SI(2), 45, 42, 36); /* belt */
|
||||||
|
fill_rect(LX(12,16)-SI(1), LY(12,16)-1, SI(2), SI(2), 60, 55, 45); /* pouch L */
|
||||||
|
fill_rect(LX(16,16)-SI(1), LY(16,16)-1, SI(2), SI(2), 60, 55, 45); /* pouch R */
|
||||||
|
fill_rect(LX(9,12)-SI(1), LY(9,12)-SI(1), SI(3), SI(3), 50, 46, 40); /* shoulder pad L */
|
||||||
|
fill_rect(LX(19,12)-SI(1), LY(19,12)-SI(1), SI(3), SI(3), 50, 46, 40); /* shoulder pad R */
|
||||||
disc(LX(10,16), LY(10,16), SI(3), ok, og, ob); /* backpack */
|
disc(LX(10,16), LY(10,16), SI(3), ok, og, ob); /* backpack */
|
||||||
disc(LX(10,16), LY(10,16), SI(2), 50, 46, 40);
|
disc(LX(10,16), LY(10,16), SI(2), 50, 46, 40);
|
||||||
|
fill_rect(LX(8,15)-SI(1), LY(8,15)-SI(1), SI(2), SI(3), 40, 38, 32); /* pack strap */
|
||||||
disc(LX(15,8), LY(15,8), SI(5), ok, og, ob);
|
disc(LX(15,8), LY(15,8), SI(5), ok, og, ob);
|
||||||
disc(LX(15,8), LY(15,8), SI(4), lr, lg, lb); /* helmet */
|
disc(LX(15,8), LY(15,8), SI(4), lr, lg, lb); /* helmet */
|
||||||
fill_rect(LX(13,8)-SI(1), LY(13,8)-1, SI(5), SI(2), 30, 40, 50); /* visor */
|
fill_rect(LX(12,7)-SI(1), LY(12,7)-1, SI(5), SI(2), 30, 40, 50); /* visor */
|
||||||
|
line(LX(14,6), LY(14,6), LX(14,1), LY(14,1), 50, 46, 40); /* antenna */
|
||||||
|
line(LX(15,6), LY(15,6), LX(15,0), LY(15,0), lr, lg, lb);
|
||||||
line(LX(16,14), LY(16,14), LX(16,0), LY(16,0), 40, 36, 30);
|
line(LX(16,14), LY(16,14), LX(16,0), LY(16,0), 40, 36, 30);
|
||||||
line(LX(17,14), LY(17,14), LX(17,1), LY(17,1), 55, 50, 40);
|
line(LX(17,14), LY(17,14), LX(17,1), LY(17,1), 55, 50, 40);
|
||||||
line(LX(18,14), LY(18,14), LX(18,2), LY(18,2), 45, 40, 34);
|
line(LX(18,14), LY(18,14), LX(18,2), LY(18,2), 45, 40, 34);
|
||||||
disc(LX(17,1), LY(17,1), SI(2), 60, 55, 45); /* muzzle tip */
|
disc(LX(17,1), LY(17,1), SI(2), 60, 55, 45); /* muzzle tip */
|
||||||
|
line(LX(17,2), LY(17,2), LX(20,0), LY(20,0), 70, 65, 55); /* bayonet */
|
||||||
|
line(LX(18,2), LY(18,2), LX(21,1), LY(21,1), 55, 50, 40);
|
||||||
break;
|
break;
|
||||||
case UT_BUGGY:
|
case UT_BUGGY:
|
||||||
/* fenders + bumper + cabin + roll bar + spare + exhaust + lights + MG */
|
/* fenders + bumper + cabin + roll bar + spare + exhaust + lights + MG */
|
||||||
|
|
@ -280,12 +294,16 @@ static void draw_unit(Unit *u, int sx, int sy) {
|
||||||
tyre_mark(LX(22,23), LY(22,23), SI(4), ph, 0);
|
tyre_mark(LX(22,23), LY(22,23), SI(4), ph, 0);
|
||||||
break;
|
break;
|
||||||
case UT_HARVESTER: {
|
case UT_HARVESTER: {
|
||||||
/* cabin + scoop lip + cargo bed (gold by cargo) + hubbed dual wheels */
|
/* cabin + boom/scoop + conveyor + hopper panels + exhaust/lights + hubbed wheels */
|
||||||
fill_rect(sx-SI(14), sy-SI(9), SI(28), SI(18), ok, og, ob);
|
fill_rect(sx-SI(14), sy-SI(9), SI(28), SI(18), ok, og, ob);
|
||||||
fill_rect(sx-SI(12), sy-SI(7), SI(24), SI(14), br, bg, bb);
|
fill_rect(sx-SI(12), sy-SI(7), SI(24), SI(14), br, bg, bb);
|
||||||
fill_rect(LX(4,10)-SI(1), LY(4,10)-SI(2), SI(8), SI(8), lr, lg, lb); /* cabin */
|
fill_rect(LX(3,8)-SI(1), LY(3,8)-SI(2), SI(8), SI(8), lr, lg, lb); /* cabin */
|
||||||
fill_rect(LX(5,9)-SI(1), LY(5,9)-SI(1), SI(6), SI(3), 35, 55, 75); /* glass */
|
fill_rect(LX(4,8)-SI(1), LY(4,8)-SI(1), SI(6), SI(3), 35, 55, 75); /* glass */
|
||||||
fill_rect(LX(2,14)-SI(1), LY(2,14)-SI(1), SI(4), SI(5), 90, 80, 55); /* scoop */
|
fill_rect(LX(5,12)-SI(1), LY(5,12)-1, SI(4), SI(2), 45, 42, 36); /* cabin panel */
|
||||||
|
line(LX(2,14), LY(2,14), LX(8,11), LY(8,11), 50, 46, 40); /* boom arm */
|
||||||
|
line(LX(2,15), LY(2,15), LX(8,12), LY(8,12), 70, 65, 55);
|
||||||
|
fill_rect(LX(0,14)-SI(1), LY(0,14)-SI(1), SI(5), SI(5), 90, 80, 55); /* scoop lip */
|
||||||
|
fill_rect(LX(1,15)-SI(1), LY(1,15)-SI(1), SI(3), SI(3), 70, 60, 40);
|
||||||
int bed_w = SI(14), bed_h = SI(10);
|
int bed_w = SI(14), bed_h = SI(10);
|
||||||
int bed_x = sx - SI(4), bed_y = sy - SI(5);
|
int bed_x = sx - SI(4), bed_y = sy - SI(5);
|
||||||
fill_rect(bed_x, bed_y, bed_w, bed_h, 55, 48, 32);
|
fill_rect(bed_x, bed_y, bed_w, bed_h, 55, 48, 32);
|
||||||
|
|
@ -297,10 +315,17 @@ static void draw_unit(Unit *u, int sx, int sy) {
|
||||||
if (fw > 0)
|
if (fw > 0)
|
||||||
fill_rect(bed_x, bed_y, fw, bed_h, 200, 170, 90);
|
fill_rect(bed_x, bed_y, fw, bed_h, 200, 170, 90);
|
||||||
if (fill > 0.15f) {
|
if (fill > 0.15f) {
|
||||||
line(LX(14,10), LY(14,10), LX(26,10), LY(26,10), 160, 130, 70);
|
line(LX(14,10), LY(14,10), LX(24,10), LY(24,10), 160, 130, 70);
|
||||||
line(LX(14,13), LY(14,13), LX(26,13), LY(26,13), 160, 130, 70);
|
line(LX(14,13), LY(14,13), LX(24,13), LY(24,13), 160, 130, 70);
|
||||||
line(LX(14,16), LY(14,16), LX(26,16), LY(26,16), 160, 130, 70);
|
line(LX(14,16), LY(14,16), LX(24,16), LY(24,16), 160, 130, 70);
|
||||||
}
|
}
|
||||||
|
fill_rect(LX(12,9)-SI(1), LY(12,9)-1, SI(12), SI(1), 45, 40, 32); /* hopper rim */
|
||||||
|
fill_rect(LX(24,11)-SI(1), LY(24,11)-SI(2), SI(3), SI(8), 50, 46, 40); /* side panel */
|
||||||
|
fill_rect(LX(25,12)-SI(1), LY(25,12)-SI(1), SI(1), SI(6), 70, 65, 55);
|
||||||
|
fill_rect(LX(20,18)-SI(1), LY(20,18)-1, SI(4), SI(2), 40, 38, 32); /* exhaust */
|
||||||
|
fill_rect(LX(21,17)-SI(1), LY(21,17)-1, SI(2), SI(1), 70, 65, 55);
|
||||||
|
disc(LX(4,10), LY(4,10), SI(2), 220, 200, 80); /* cabin light */
|
||||||
|
disc(LX(2,16), LY(2,16), SI(1), 220, 180, 60); /* scoop lamp */
|
||||||
disc(LX(8,23), LY(8,23), SI(5), ok, og, ob);
|
disc(LX(8,23), LY(8,23), SI(5), ok, og, ob);
|
||||||
disc(LX(22,23), LY(22,23), SI(5), ok, og, ob);
|
disc(LX(22,23), LY(22,23), SI(5), ok, og, ob);
|
||||||
disc(LX(8,23), LY(8,23), SI(4), mr, mg, mb);
|
disc(LX(8,23), LY(8,23), SI(4), mr, mg, mb);
|
||||||
|
|
@ -354,34 +379,58 @@ static void draw_unit(Unit *u, int sx, int sy) {
|
||||||
disc(LX(28,15), LY(28,15), SI(2), 60, 55, 45);
|
disc(LX(28,15), LY(28,15), SI(2), 60, 55, 45);
|
||||||
break;
|
break;
|
||||||
case UT_MUTANT:
|
case UT_MUTANT:
|
||||||
/* hunched bulk + brow ridge + thick spikes + claw hand */
|
/* plates + eyes/jaw + spikes + dual claws + tail */
|
||||||
disc(sx, sy+SI(2), SI(11), ok, og, ob);
|
disc(sx, sy+SI(2), SI(11), ok, og, ob);
|
||||||
disc(sx, sy, SI(9), br, bg, bb);
|
disc(sx, sy, SI(9), br, bg, bb);
|
||||||
|
fill_rect(LX(10,14)-SI(1), LY(10,14)-SI(1), SI(4), SI(3), 45, 40, 35); /* chest plate L */
|
||||||
|
fill_rect(LX(17,14)-SI(1), LY(17,14)-SI(1), SI(4), SI(3), 45, 40, 35); /* chest plate R */
|
||||||
disc(LX(15,9), LY(15,9), SI(5), ok, og, ob);
|
disc(LX(15,9), LY(15,9), SI(5), ok, og, ob);
|
||||||
disc(LX(15,9), LY(15,9), SI(4), lr, lg, lb);
|
disc(LX(15,9), LY(15,9), SI(4), lr, lg, lb);
|
||||||
fill_rect(LX(12,8)-SI(1), LY(12,8)-1, SI(7), SI(2), 30, 40, 50); /* brow */
|
fill_rect(LX(11,7)-SI(1), LY(11,7)-1, SI(7), SI(2), 30, 40, 50); /* brow */
|
||||||
|
disc(LX(12,9), LY(12,9), SI(1), 200, 60, 40); /* eye L */
|
||||||
|
disc(LX(18,9), LY(18,9), SI(1), 200, 60, 40); /* eye R */
|
||||||
|
fill_rect(LX(13,11)-SI(1), LY(13,11)-1, SI(5), SI(2), 40, 30, 28); /* jaw */
|
||||||
|
line(LX(14,12), LY(14,12), LX(14,13), LY(14,13), 70, 55, 45); /* fang */
|
||||||
|
line(LX(16,12), LY(16,12), LX(16,13), LY(16,13), 70, 55, 45);
|
||||||
line(LX(12,6), LY(12,6), LX(9,0), LY(9,0), 40, 36, 30);
|
line(LX(12,6), LY(12,6), LX(9,0), LY(9,0), 40, 36, 30);
|
||||||
line(LX(13,6), LY(13,6), LX(10,1), LY(10,1), 55, 50, 40);
|
line(LX(13,6), LY(13,6), LX(10,1), LY(10,1), 55, 50, 40);
|
||||||
line(LX(15,5), LY(15,5), LX(15,0), LY(15,0), 40, 36, 30);
|
line(LX(15,5), LY(15,5), LX(15,0), LY(15,0), 40, 36, 30);
|
||||||
line(LX(16,5), LY(16,5), LX(16,0), LY(16,0), 55, 50, 40);
|
line(LX(16,5), LY(16,5), LX(16,0), LY(16,0), 55, 50, 40);
|
||||||
line(LX(18,6), LY(18,6), LX(21,0), LY(21,0), 40, 36, 30);
|
line(LX(18,6), LY(18,6), LX(21,0), LY(21,0), 40, 36, 30);
|
||||||
line(LX(17,6), LY(17,6), LX(20,1), LY(20,1), 55, 50, 40);
|
line(LX(17,6), LY(17,6), LX(20,1), LY(20,1), 55, 50, 40);
|
||||||
|
line(LX(14,4), LY(14,4), LX(12,0), LY(12,0), 50, 45, 35); /* extra spike */
|
||||||
line(sx, sy+SI(1), LX(26,8), LY(26,8), 40, 36, 30);
|
line(sx, sy+SI(1), LX(26,8), LY(26,8), 40, 36, 30);
|
||||||
line(sx, sy+SI(2), LX(26,9), LY(26,9), 50, 45, 35);
|
line(sx, sy+SI(2), LX(26,9), LY(26,9), 50, 45, 35);
|
||||||
line(LX(24,9), LY(24,9), LX(29,5), LY(29,5), 55, 50, 40);
|
line(LX(24,9), LY(24,9), LX(29,5), LY(29,5), 55, 50, 40);
|
||||||
line(LX(24,9), LY(24,9), LX(29,11), LY(29,11), 55, 50, 40);
|
line(LX(24,9), LY(24,9), LX(29,11), LY(29,11), 55, 50, 40);
|
||||||
line(LX(24,10), LY(24,10), LX(28,8), LY(28,8), 70, 60, 45);
|
line(LX(24,10), LY(24,10), LX(28,8), LY(28,8), 70, 60, 45);
|
||||||
disc(LX(28,8), LY(28,8), SI(2), 70, 60, 45); /* claw tip */
|
disc(LX(28,8), LY(28,8), SI(2), 70, 60, 45); /* claw tip R */
|
||||||
|
line(LX(12,16), LY(12,16), LX(4,10), LY(4,10), 40, 36, 30); /* second claw L */
|
||||||
|
line(LX(12,17), LY(12,17), LX(4,11), LY(4,11), 50, 45, 35);
|
||||||
|
line(LX(5,10), LY(5,10), LX(1,7), LY(1,7), 55, 50, 40);
|
||||||
|
line(LX(5,11), LY(5,11), LX(1,13), LY(1,13), 55, 50, 40);
|
||||||
|
disc(LX(2,10), LY(2,10), SI(2), 70, 60, 45);
|
||||||
|
line(LX(15,20), LY(15,20), LX(15,27), LY(15,27), 45, 40, 35); /* tail */
|
||||||
|
line(LX(16,20), LY(16,20), LX(18,28), LY(18,28), 55, 50, 40);
|
||||||
|
disc(LX(17,27), LY(17,27), SI(2), 60, 50, 40);
|
||||||
disc(LX(10,22), LY(10,22), SI(4), ok, og, ob);
|
disc(LX(10,22), LY(10,22), SI(4), ok, og, ob);
|
||||||
disc(LX(20,22), LY(20,22), SI(4), ok, og, ob);
|
disc(LX(20,22), LY(20,22), SI(4), ok, og, ob);
|
||||||
disc(LX(10,22), LY(10,22), SI(3), br, bg, bb);
|
disc(LX(10,22), LY(10,22), SI(3), br, bg, bb);
|
||||||
disc(LX(20,22), LY(20,22), SI(3), br, bg, bb);
|
disc(LX(20,22), LY(20,22), SI(3), br, bg, bb);
|
||||||
break;
|
break;
|
||||||
case UT_BEAST:
|
case UT_BEAST:
|
||||||
/* armored carapace + thick snout/tusks + hubbed multi-wheel */
|
/* carapace plates/spines + eye + vents + tusks + hubbed multi-wheel */
|
||||||
fill_rect(sx-SI(10), sy-SI(6), SI(20), SI(12), ok, og, ob);
|
fill_rect(sx-SI(10), sy-SI(6), SI(20), SI(12), ok, og, ob);
|
||||||
fill_rect(sx-SI(8), sy-SI(4), SI(16), SI(8), br, bg, bb);
|
fill_rect(sx-SI(8), sy-SI(4), SI(16), SI(8), br, bg, bb);
|
||||||
fill_rect(sx-SI(6), sy-SI(5), SI(12), SI(3), lr, lg, lb); /* carapace ridge */
|
fill_rect(sx-SI(6), sy-SI(5), SI(12), SI(3), lr, lg, lb); /* carapace ridge */
|
||||||
|
fill_rect(LX(8,13)-SI(1), LY(8,13)-SI(1), SI(5), SI(3), 50, 46, 40); /* plate L */
|
||||||
|
fill_rect(LX(17,13)-SI(1), LY(17,13)-SI(1), SI(5), SI(3), 50, 46, 40); /* plate R */
|
||||||
|
line(LX(10,9), LY(10,9), LX(10,5), LY(10,5), 40, 36, 30); /* spine */
|
||||||
|
line(LX(13,9), LY(13,9), LX(13,4), LY(13,4), 55, 50, 40);
|
||||||
|
line(LX(16,9), LY(16,9), LX(16,4), LY(16,4), 55, 50, 40);
|
||||||
|
line(LX(19,9), LY(19,9), LX(19,5), LY(19,5), 40, 36, 30);
|
||||||
|
fill_rect(LX(11,16)-SI(1), LY(11,16)-1, SI(2), SI(2), 30, 28, 24); /* vent L */
|
||||||
|
fill_rect(LX(17,16)-SI(1), LY(17,16)-1, SI(2), SI(2), 30, 28, 24); /* vent R */
|
||||||
disc(LX(9,21), LY(9,21), SI(4), ok, og, ob);
|
disc(LX(9,21), LY(9,21), SI(4), ok, og, ob);
|
||||||
disc(LX(14,22), LY(14,22), SI(4), ok, og, ob);
|
disc(LX(14,22), LY(14,22), SI(4), ok, og, ob);
|
||||||
disc(LX(19,21), LY(19,21), SI(4), ok, og, ob);
|
disc(LX(19,21), LY(19,21), SI(4), ok, og, ob);
|
||||||
|
|
@ -390,12 +439,17 @@ static void draw_unit(Unit *u, int sx, int sy) {
|
||||||
disc(LX(14,22), LY(14,22), SI(3), mr, mg, mb);
|
disc(LX(14,22), LY(14,22), SI(3), mr, mg, mb);
|
||||||
disc(LX(19,21), LY(19,21), SI(3), mr, mg, mb);
|
disc(LX(19,21), LY(19,21), SI(3), mr, mg, mb);
|
||||||
disc(LX(23,22), LY(23,22), SI(3), mr, mg, mb);
|
disc(LX(23,22), LY(23,22), SI(3), mr, mg, mb);
|
||||||
|
disc(LX(9,21), LY(9,21), SI(1), 90, 85, 75); /* hub */
|
||||||
|
disc(LX(14,22), LY(14,22), SI(1), 90, 85, 75);
|
||||||
|
disc(LX(19,21), LY(19,21), SI(1), 90, 85, 75);
|
||||||
|
disc(LX(23,22), LY(23,22), SI(1), 90, 85, 75);
|
||||||
tyre_mark(LX(9,21), LY(9,21), SI(3), ph, 1);
|
tyre_mark(LX(9,21), LY(9,21), SI(3), ph, 1);
|
||||||
tyre_mark(LX(14,22), LY(14,22), SI(3), ph, 1);
|
tyre_mark(LX(14,22), LY(14,22), SI(3), ph, 1);
|
||||||
tyre_mark(LX(19,21), LY(19,21), SI(3), ph, 1);
|
tyre_mark(LX(19,21), LY(19,21), SI(3), ph, 1);
|
||||||
tyre_mark(LX(23,22), LY(23,22), SI(3), ph, 1);
|
tyre_mark(LX(23,22), LY(23,22), SI(3), ph, 1);
|
||||||
disc(LX(24,12), LY(24,12), SI(6), ok, og, ob);
|
disc(LX(24,12), LY(24,12), SI(6), ok, og, ob);
|
||||||
disc(LX(24,12), LY(24,12), SI(5), lr, lg, lb); /* snout */
|
disc(LX(24,12), LY(24,12), SI(5), lr, lg, lb); /* snout */
|
||||||
|
disc(LX(26,11), LY(26,11), SI(1), 200, 80, 40); /* eye */
|
||||||
line(LX(26,10), LY(26,10), LX(29,8), LY(29,8), 40, 36, 30); /* tusk */
|
line(LX(26,10), LY(26,10), LX(29,8), LY(29,8), 40, 36, 30); /* tusk */
|
||||||
line(LX(26,14), LY(26,14), LX(29,16), LY(29,16), 40, 36, 30);
|
line(LX(26,14), LY(26,14), LX(29,16), LY(29,16), 40, 36, 30);
|
||||||
line(LX(26,12), LY(26,12), LX(29,12), LY(29,12), 55, 50, 40);
|
line(LX(26,12), LY(26,12), LX(29,12), LY(29,12), 55, 50, 40);
|
||||||
|
|
|
||||||
|
|
@ -84,22 +84,36 @@ SDL_Texture *sprites_make_unit(SDL_Renderer *r, UnitType t, Faction f) {
|
||||||
|
|
||||||
switch (t) {
|
switch (t) {
|
||||||
case UT_INFANTRY:
|
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, 11, 23, 3, ok, og, ob, 255);
|
||||||
disc(s, 19, 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, 11, 23, 2, base.r, base.g, base.b, 255);
|
||||||
disc(s, 19, 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, 9, ok, og, ob, 255);
|
||||||
disc(s, 15, 15, 7, base.r, base.g, base.b, 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, 3, ok, og, ob, 255); /* backpack */
|
||||||
disc(s, 10, 16, 2, 50, 46, 40, 255);
|
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, 5, ok, og, ob, 255);
|
||||||
disc(s, 15, 8, 4, lite.r, lite.g, lite.b, 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 */
|
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, 16, 14, 16, 0, 40, 36, 30, 255);
|
||||||
line(s, 17, 14, 17, 1, 55, 50, 40, 255);
|
line(s, 17, 14, 17, 1, 55, 50, 40, 255);
|
||||||
line(s, 18, 14, 18, 2, 45, 40, 34, 255);
|
line(s, 18, 14, 18, 2, 45, 40, 34, 255);
|
||||||
disc(s, 17, 1, 2, 60, 55, 45, 255); /* muzzle tip */
|
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;
|
break;
|
||||||
case UT_BUGGY:
|
case UT_BUGGY:
|
||||||
/* fenders + bumper + cabin + roll bar + spare + exhaust + lights + MG */
|
/* 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);
|
disc(s, 22, 23, 4, tr, tg, tb, 255);
|
||||||
break;
|
break;
|
||||||
case UT_HARVESTER:
|
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, 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, 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, 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, 4, 8, 6, 3, 35, 55, 75, 255); /* glass */
|
||||||
fill_rect(s, 1, 13, 4, 5, 90, 80, 55, 255); /* scoop */
|
fill_rect(s, 5, 12, 4, 2, 45, 42, 36, 255); /* cabin panel */
|
||||||
fill_rect(s, 11, 10, 14, 10, 55, 48, 32, 255);
|
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);
|
fill_rect(s, 11, 10, 8, 10, 200, 170, 90, 255);
|
||||||
line(s, 14, 10, 19, 10, 160, 130, 70, 255);
|
line(s, 14, 10, 24, 10, 160, 130, 70, 255); /* conveyor ribs */
|
||||||
line(s, 14, 13, 19, 13, 160, 130, 70, 255);
|
line(s, 14, 13, 24, 13, 160, 130, 70, 255);
|
||||||
line(s, 14, 16, 19, 16, 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, 8, 23, 5, ok, og, ob, 255);
|
||||||
disc(s, 22, 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, 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);
|
disc(s, 28, 15, 2, 60, 55, 45, 255);
|
||||||
break;
|
break;
|
||||||
case UT_MUTANT:
|
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, 17, 11, ok, og, ob, 255);
|
||||||
disc(s, 15, 15, 9, base.r, base.g, base.b, 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, 5, ok, og, ob, 255);
|
||||||
disc(s, 15, 9, 4, lite.r, lite.g, lite.b, 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 */
|
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, 12, 6, 9, 0, 40, 36, 30, 255);
|
||||||
line(s, 13, 6, 10, 1, 55, 50, 40, 255);
|
line(s, 13, 6, 10, 1, 55, 50, 40, 255);
|
||||||
line(s, 15, 5, 15, 0, 40, 36, 30, 255);
|
line(s, 15, 5, 15, 0, 40, 36, 30, 255);
|
||||||
line(s, 16, 5, 16, 0, 55, 50, 40, 255);
|
line(s, 16, 5, 16, 0, 55, 50, 40, 255);
|
||||||
line(s, 18, 6, 21, 0, 40, 36, 30, 255);
|
line(s, 18, 6, 21, 0, 40, 36, 30, 255);
|
||||||
line(s, 17, 6, 20, 1, 55, 50, 40, 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, 16, 26, 8, 40, 36, 30, 255);
|
||||||
line(s, 15, 17, 26, 9, 50, 45, 35, 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, 5, 55, 50, 40, 255);
|
||||||
line(s, 24, 9, 29, 11, 55, 50, 40, 255);
|
line(s, 24, 9, 29, 11, 55, 50, 40, 255);
|
||||||
line(s, 24, 10, 28, 8, 70, 60, 45, 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, 10, 22, 4, ok, og, ob, 255);
|
||||||
disc(s, 20, 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, 10, 22, 3, base.r, base.g, base.b, 255);
|
||||||
disc(s, 20, 22, 3, base.r, base.g, base.b, 255);
|
disc(s, 20, 22, 3, base.r, base.g, base.b, 255);
|
||||||
break;
|
break;
|
||||||
case UT_BEAST:
|
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, 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, 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, 9, 21, 4, ok, og, ob, 255);
|
||||||
disc(s, 14, 22, 4, ok, og, ob, 255);
|
disc(s, 14, 22, 4, ok, og, ob, 255);
|
||||||
disc(s, 19, 21, 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, 14, 22, 3, tr, tg, tb, 255);
|
||||||
disc(s, 19, 21, 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, 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, 6, ok, og, ob, 255);
|
||||||
disc(s, 24, 12, 5, lite.r, lite.g, lite.b, 255);
|
disc(s, 24, 12, 5, lite.r, lite.g, lite.b, 255); /* snout */
|
||||||
line(s, 26, 10, 29, 8, 40, 36, 30, 255);
|
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, 14, 29, 16, 40, 36, 30, 255);
|
||||||
line(s, 26, 12, 29, 12, 55, 50, 40, 255);
|
line(s, 26, 12, 29, 12, 55, 50, 40, 255);
|
||||||
disc(s, 29, 12, 2, 60, 55, 45, 255);
|
disc(s, 29, 12, 2, 60, 55, 45, 255);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue