engine-c: denser BT_REPAIR garage/lift/tool-rack/crane silhouettes sprites↔snapshot
This commit is contained in:
parent
fe5d7cc82b
commit
96d9539d6e
2 changed files with 98 additions and 34 deletions
|
|
@ -1159,43 +1159,75 @@ static void draw_bld(Building *b, int sx, int sy) {
|
||||||
fill_rect(sx + 3 * W/4 - 1, sy + H/2 + 1, 3, 5, 40, 35, 28);
|
fill_rect(sx + 3 * W/4 - 1, sy + H/2 + 1, 3, 5, 40, 35, 28);
|
||||||
break;
|
break;
|
||||||
case BT_REPAIR:
|
case BT_REPAIR:
|
||||||
/* garage + vehicle lift + tool rack + crane (KKND depot read) */
|
/* dense garage: pad, hull, bay/lift, tool rack, crane, crates (KKND depot) */
|
||||||
fill_rect(sx + 4, sy + 6, W - 8, H - 10, ok, og, ob);
|
fill_rect(sx + 3, sy + H - 8, W - 6, 6, ok, og, ob); /* pad */
|
||||||
fill_rect(sx + 6, sy + 8, W - 12, H - 14, br, bg, bb);
|
fill_rect(sx + 4, sy + H - 7, W - 8, 4, 55, 50, 40);
|
||||||
|
fill_rect(sx + 5, sy + H - 6, 2, 2, 35, 32, 28); /* pad bolt L */
|
||||||
|
fill_rect(sx + W - 7, sy + H - 6, 2, 2, 35, 32, 28); /* pad bolt R */
|
||||||
|
/* main garage hull + roof band + rivets */
|
||||||
|
fill_rect(sx + 4, sy + 6, W - 8, H - 12, ok, og, ob);
|
||||||
|
fill_rect(sx + 6, sy + 8, W - 12, H - 16, br, bg, bb);
|
||||||
fill_rect(sx + 8, sy + 10, W - 16, 8, lr, lg, lb); /* roof */
|
fill_rect(sx + 8, sy + 10, W - 16, 8, lr, lg, lb); /* roof */
|
||||||
fill_rect(sx + 10, sy + 12, 4, 4, 50, 48, 40); /* roof vents */
|
fill_rect(sx + 10, sy + 12, 4, 4, 50, 48, 40); /* roof vents */
|
||||||
fill_rect(sx + W/2 - 2, sy + 12, 4, 4, 50, 48, 40);
|
fill_rect(sx + W/2 - 2, sy + 12, 4, 4, 50, 48, 40);
|
||||||
fill_rect(sx + W - 14, sy + 12, 4, 4, 50, 48, 40);
|
fill_rect(sx + W - 14, sy + 12, 4, 4, 50, 48, 40);
|
||||||
/* open bay + lift pad */
|
fill_rect(sx + 8, sy + 11, 2, 2, 90, 85, 70); /* rivet */
|
||||||
fill_rect(sx + 10, sy + H - 28, W - 28, 18, ok, og, ob);
|
fill_rect(sx + W - 12, sy + 11, 2, 2, 90, 85, 70);
|
||||||
fill_rect(sx + 12, sy + H - 26, W - 32, 14, 38, 36, 32);
|
fill_rect(sx + 8, sy + H - 18, 2, 2, 90, 85, 70);
|
||||||
fill_rect(sx + W/2 - 10, sy + H - 22, 20, 8, 70, 68, 58); /* lift platform */
|
fill_rect(sx + W - 12, sy + H - 18, 2, 2, 90, 85, 70);
|
||||||
fill_rect(sx + W/2 - 8, sy + H - 20, 16, 4, 110, 100, 70);
|
line(sx + 7, sy + 20, sx + W - 8, sy + 20, 70, 65, 55); /* roof seam */
|
||||||
line(sx + W/2 - 10, sy + H - 22, sx + W/2 - 10, sy + H - 12, 90, 85, 70);
|
/* open bay + lift pad + posts + ramps */
|
||||||
line(sx + W/2 + 10, sy + H - 22, sx + W/2 + 10, sy + H - 12, 90, 85, 70);
|
fill_rect(sx + 10, sy + H - 30, W - 28, 20, ok, og, ob);
|
||||||
/* tool rack annex (left) */
|
fill_rect(sx + 12, sy + H - 28, W - 32, 16, 38, 36, 32);
|
||||||
fill_rect(sx + 4, sy + H/2 - 2, 10, H/2 - 6, ok, og, ob);
|
fill_rect(sx + W/2 - 10, sy + H - 24, 20, 8, 70, 68, 58); /* lift platform */
|
||||||
|
fill_rect(sx + W/2 - 8, sy + H - 22, 16, 4, 110, 100, 70);
|
||||||
|
fill_rect(sx + W/2 - 6, sy + H - 20, 12, 2, 140, 120, 80); /* lift deck highlight */
|
||||||
|
line(sx + W/2 - 10, sy + H - 24, sx + W/2 - 10, sy + H - 12, 90, 85, 70);
|
||||||
|
line(sx + W/2 + 10, sy + H - 24, sx + W/2 + 10, sy + H - 12, 90, 85, 70);
|
||||||
|
fill_rect(sx + 12, sy + H - 14, 6, 3, 60, 55, 45); /* ramp L */
|
||||||
|
fill_rect(sx + W - 26, sy + H - 14, 6, 3, 60, 55, 45); /* ramp R */
|
||||||
|
fill_rect(sx + W/2 - 12, sy + H - 12, 3, 4, 80, 75, 60); /* lift post L */
|
||||||
|
fill_rect(sx + W/2 + 9, sy + H - 12, 3, 4, 80, 75, 60); /* lift post R */
|
||||||
|
/* tool rack annex (left) denser */
|
||||||
|
fill_rect(sx + 4, sy + H/2 - 4, 12, H/2 - 4, ok, og, ob);
|
||||||
{
|
{
|
||||||
uint8_t dr, dg, db;
|
uint8_t dr, dg, db;
|
||||||
darken3(br, bg, bb, 0.5f, &dr, &dg, &db);
|
darken3(br, bg, bb, 0.5f, &dr, &dg, &db);
|
||||||
fill_rect(sx + 5, sy + H/2, 8, H/2 - 10, dr, dg, db);
|
fill_rect(sx + 5, sy + H/2 - 2, 10, H/2 - 8, dr, dg, db);
|
||||||
}
|
}
|
||||||
fill_rect(sx + 6, sy + H/2 + 2, 2, 6, 200, 160, 60); /* tools */
|
fill_rect(sx + 6, sy + H/2 + 2, 2, 6, 200, 160, 60); /* tools */
|
||||||
fill_rect(sx + 9, sy + H/2 + 1, 2, 7, 180, 180, 190);
|
fill_rect(sx + 9, sy + H/2 + 1, 2, 7, 180, 180, 190);
|
||||||
/* overhead crane mast + jib + hook */
|
fill_rect(sx + 12, sy + H/2 + 2, 2, 5, 160, 140, 80);
|
||||||
|
fill_rect(sx + 6, sy + H/2 + 10, 8, 2, 90, 85, 70); /* shelf */
|
||||||
|
fill_rect(sx + 7, sy + H/2 - 1, 6, 2, 120, 110, 90); /* upper shelf */
|
||||||
|
/* overhead crane mast + jib + hook + trolley */
|
||||||
fill_rect(sx + W - 16, sy + 4, 8, H - 20, ok, og, ob);
|
fill_rect(sx + W - 16, sy + 4, 8, H - 20, ok, og, ob);
|
||||||
fill_rect(sx + W - 14, sy + 5, 5, H - 22, 95, 88, 70);
|
fill_rect(sx + W - 14, sy + 5, 5, H - 22, 95, 88, 70);
|
||||||
|
fill_rect(sx + W - 13, sy + 8, 2, 2, 70, 65, 50); /* mast rivet */
|
||||||
|
fill_rect(sx + W - 13, sy + H/2, 2, 2, 70, 65, 50);
|
||||||
fill_rect(sx + 16, sy + 6, W - 32, 4, ok, og, ob);
|
fill_rect(sx + 16, sy + 6, W - 32, 4, ok, og, ob);
|
||||||
fill_rect(sx + 17, sy + 7, W - 34, 2, 120, 110, 85);
|
fill_rect(sx + 17, sy + 7, W - 34, 2, 120, 110, 85);
|
||||||
line(sx + W/2, sy + 10, sx + W/2, sy + 20, 70, 65, 50);
|
fill_rect(sx + W/2 - 3, sy + 5, 6, 3, 100, 95, 75); /* trolley */
|
||||||
|
line(sx + W/2, sy + 8, sx + W/2, sy + 20, 70, 65, 50);
|
||||||
disc(sx + W/2, sy + 22, 3, 80, 75, 55);
|
disc(sx + W/2, sy + 22, 3, 80, 75, 55);
|
||||||
/* green service cross (clearer) */
|
disc(sx + W/2, sy + 22, 1, 140, 130, 90); /* hook tip */
|
||||||
|
line(sx + W - 12, sy + 10, sx + W/2 + 4, sy + 8, 90, 85, 65); /* jib brace */
|
||||||
|
/* green service cross */
|
||||||
ring(sx + W/2 - 6, sy + H/2 + 4, 9, 2, 90, 200, 90);
|
ring(sx + W/2 - 6, sy + H/2 + 4, 9, 2, 90, 200, 90);
|
||||||
fill_rect(sx + W/2 - 14, sy + H/2 + 2, 16, 4, 120, 220, 120);
|
fill_rect(sx + W/2 - 14, sy + H/2 + 2, 16, 4, 120, 220, 120);
|
||||||
fill_rect(sx + W/2 - 8, sy + H/2 - 4, 4, 16, 120, 220, 120);
|
fill_rect(sx + W/2 - 8, sy + H/2 - 4, 4, 16, 120, 220, 120);
|
||||||
/* parts crates */
|
/* parts crates + oil drum + scrap pile */
|
||||||
fill_rect(sx + W - 22, sy + H - 14, 8, 6, 140, 100, 55);
|
fill_rect(sx + W - 22, sy + H - 14, 8, 6, 140, 100, 55);
|
||||||
fill_rect(sx + W - 20, sy + H - 12, 4, 3, 180, 140, 70);
|
fill_rect(sx + W - 20, sy + H - 12, 4, 3, 180, 140, 70);
|
||||||
|
fill_rect(sx + W - 24, sy + H - 18, 6, 5, 110, 80, 45); /* crate stack */
|
||||||
|
fill_rect(sx + 18, sy + H - 16, 5, 6, 70, 90, 55); /* oil drum */
|
||||||
|
disc(sx + 20, sy + H - 16, 3, 60, 80, 45);
|
||||||
|
fill_rect(sx + 24, sy + H - 14, 6, 3, 90, 75, 55); /* scrap */
|
||||||
|
fill_rect(sx + W - 18, sy + H - 8, 4, 2, 200, 160, 40); /* hazard stripe */
|
||||||
|
/* side floodlight + bay hazard lintel */
|
||||||
|
fill_rect(sx + W - 10, sy + 4, 2, 2, 220, 200, 80);
|
||||||
|
fill_rect(sx + W - 9, sy + 3, 1, 3, 90, 85, 70);
|
||||||
|
fill_rect(sx + 12, sy + H - 30, W - 32, 2, 200, 160, 40); /* bay hazard */
|
||||||
break;
|
break;
|
||||||
case BT_RESEARCH:
|
case BT_RESEARCH:
|
||||||
/* dense lab: pad, hull, windows, dish mast, annex, instruments (KKND) */
|
/* dense lab: pad, hull, windows, dish mast, annex, instruments (KKND) */
|
||||||
|
|
|
||||||
|
|
@ -961,39 +961,71 @@ SDL_Texture *sprites_make_bld(SDL_Renderer *r, BuildingType t, Faction f) {
|
||||||
fill_rect(s, 3 * W/4 - 1, H/2 + 1, 3, 5, 40, 35, 28, 255);
|
fill_rect(s, 3 * W/4 - 1, H/2 + 1, 3, 5, 40, 35, 28, 255);
|
||||||
break;
|
break;
|
||||||
case BT_REPAIR:
|
case BT_REPAIR:
|
||||||
/* garage + vehicle lift + tool rack + crane (KKND depot read) */
|
/* dense garage: pad, hull, bay/lift, tool rack, crane, crates (KKND depot) */
|
||||||
fill_rect(s, 4, 6, W - 8, H - 10, ok, og, ob, 255);
|
fill_rect(s, 3, H - 8, W - 6, 6, ok, og, ob, 255); /* pad */
|
||||||
fill_rect(s, 6, 8, W - 12, H - 14, base.r, base.g, base.b, 255);
|
fill_rect(s, 4, H - 7, W - 8, 4, 55, 50, 40, 255);
|
||||||
|
fill_rect(s, 5, H - 6, 2, 2, 35, 32, 28, 255); /* pad bolt L */
|
||||||
|
fill_rect(s, W - 7, H - 6, 2, 2, 35, 32, 28, 255); /* pad bolt R */
|
||||||
|
/* main garage hull + roof band + rivets */
|
||||||
|
fill_rect(s, 4, 6, W - 8, H - 12, ok, og, ob, 255);
|
||||||
|
fill_rect(s, 6, 8, W - 12, H - 16, base.r, base.g, base.b, 255);
|
||||||
fill_rect(s, 8, 10, W - 16, 8, lite.r, lite.g, lite.b, 255); /* roof */
|
fill_rect(s, 8, 10, W - 16, 8, lite.r, lite.g, lite.b, 255); /* roof */
|
||||||
fill_rect(s, 10, 12, 4, 4, 50, 48, 40, 255); /* roof vents */
|
fill_rect(s, 10, 12, 4, 4, 50, 48, 40, 255); /* roof vents */
|
||||||
fill_rect(s, W/2 - 2, 12, 4, 4, 50, 48, 40, 255);
|
fill_rect(s, W/2 - 2, 12, 4, 4, 50, 48, 40, 255);
|
||||||
fill_rect(s, W - 14, 12, 4, 4, 50, 48, 40, 255);
|
fill_rect(s, W - 14, 12, 4, 4, 50, 48, 40, 255);
|
||||||
/* open bay + lift pad */
|
fill_rect(s, 8, 11, 2, 2, 90, 85, 70, 255); /* rivet */
|
||||||
fill_rect(s, 10, H - 28, W - 28, 18, ok, og, ob, 255);
|
fill_rect(s, W - 12, 11, 2, 2, 90, 85, 70, 255);
|
||||||
fill_rect(s, 12, H - 26, W - 32, 14, 38, 36, 32, 255);
|
fill_rect(s, 8, H - 18, 2, 2, 90, 85, 70, 255);
|
||||||
fill_rect(s, W/2 - 10, H - 22, 20, 8, 70, 68, 58, 255); /* lift platform */
|
fill_rect(s, W - 12, H - 18, 2, 2, 90, 85, 70, 255);
|
||||||
fill_rect(s, W/2 - 8, H - 20, 16, 4, 110, 100, 70, 255);
|
line(s, 7, 20, W - 8, 20, 70, 65, 55, 255); /* roof seam */
|
||||||
line(s, W/2 - 10, H - 22, W/2 - 10, H - 12, 90, 85, 70, 255);
|
/* open bay + lift pad + posts + ramps */
|
||||||
line(s, W/2 + 10, H - 22, W/2 + 10, H - 12, 90, 85, 70, 255);
|
fill_rect(s, 10, H - 30, W - 28, 20, ok, og, ob, 255);
|
||||||
/* tool rack annex (left) */
|
fill_rect(s, 12, H - 28, W - 32, 16, 38, 36, 32, 255);
|
||||||
fill_rect(s, 4, H/2 - 2, 10, H/2 - 6, ok, og, ob, 255);
|
fill_rect(s, W/2 - 10, H - 24, 20, 8, 70, 68, 58, 255); /* lift platform */
|
||||||
fill_rect(s, 5, H/2, 8, H/2 - 10, dark.r, dark.g, dark.b, 255);
|
fill_rect(s, W/2 - 8, H - 22, 16, 4, 110, 100, 70, 255);
|
||||||
|
fill_rect(s, W/2 - 6, H - 20, 12, 2, 140, 120, 80, 255); /* lift deck highlight */
|
||||||
|
line(s, W/2 - 10, H - 24, W/2 - 10, H - 12, 90, 85, 70, 255);
|
||||||
|
line(s, W/2 + 10, H - 24, W/2 + 10, H - 12, 90, 85, 70, 255);
|
||||||
|
fill_rect(s, 12, H - 14, 6, 3, 60, 55, 45, 255); /* ramp L */
|
||||||
|
fill_rect(s, W - 26, H - 14, 6, 3, 60, 55, 45, 255); /* ramp R */
|
||||||
|
fill_rect(s, W/2 - 12, H - 12, 3, 4, 80, 75, 60, 255); /* lift post L */
|
||||||
|
fill_rect(s, W/2 + 9, H - 12, 3, 4, 80, 75, 60, 255); /* lift post R */
|
||||||
|
/* tool rack annex (left) denser */
|
||||||
|
fill_rect(s, 4, H/2 - 4, 12, H/2 - 4, ok, og, ob, 255);
|
||||||
|
fill_rect(s, 5, H/2 - 2, 10, H/2 - 8, dark.r, dark.g, dark.b, 255);
|
||||||
fill_rect(s, 6, H/2 + 2, 2, 6, 200, 160, 60, 255); /* tools */
|
fill_rect(s, 6, H/2 + 2, 2, 6, 200, 160, 60, 255); /* tools */
|
||||||
fill_rect(s, 9, H/2 + 1, 2, 7, 180, 180, 190, 255);
|
fill_rect(s, 9, H/2 + 1, 2, 7, 180, 180, 190, 255);
|
||||||
/* overhead crane mast + jib + hook */
|
fill_rect(s, 12, H/2 + 2, 2, 5, 160, 140, 80, 255);
|
||||||
|
fill_rect(s, 6, H/2 + 10, 8, 2, 90, 85, 70, 255); /* shelf */
|
||||||
|
fill_rect(s, 7, H/2 - 1, 6, 2, 120, 110, 90, 255); /* upper shelf */
|
||||||
|
/* overhead crane mast + jib + hook + trolley */
|
||||||
fill_rect(s, W - 16, 4, 8, H - 20, ok, og, ob, 255);
|
fill_rect(s, W - 16, 4, 8, H - 20, ok, og, ob, 255);
|
||||||
fill_rect(s, W - 14, 5, 5, H - 22, 95, 88, 70, 255);
|
fill_rect(s, W - 14, 5, 5, H - 22, 95, 88, 70, 255);
|
||||||
|
fill_rect(s, W - 13, 8, 2, 2, 70, 65, 50, 255); /* mast rivet */
|
||||||
|
fill_rect(s, W - 13, H/2, 2, 2, 70, 65, 50, 255);
|
||||||
fill_rect(s, 16, 6, W - 32, 4, ok, og, ob, 255);
|
fill_rect(s, 16, 6, W - 32, 4, ok, og, ob, 255);
|
||||||
fill_rect(s, 17, 7, W - 34, 2, 120, 110, 85, 255);
|
fill_rect(s, 17, 7, W - 34, 2, 120, 110, 85, 255);
|
||||||
line(s, W/2, 10, W/2, 20, 70, 65, 50, 255);
|
fill_rect(s, W/2 - 3, 5, 6, 3, 100, 95, 75, 255); /* trolley */
|
||||||
|
line(s, W/2, 8, W/2, 20, 70, 65, 50, 255);
|
||||||
disc(s, W/2, 22, 3, 80, 75, 55, 255);
|
disc(s, W/2, 22, 3, 80, 75, 55, 255);
|
||||||
/* green service cross (clearer) */
|
disc(s, W/2, 22, 1, 140, 130, 90, 255); /* hook tip */
|
||||||
|
line(s, W - 12, 10, W/2 + 4, 8, 90, 85, 65, 255); /* jib brace */
|
||||||
|
/* green service cross */
|
||||||
ring(s, W/2 - 6, H/2 + 4, 9, 2, 90, 200, 90, 255);
|
ring(s, W/2 - 6, H/2 + 4, 9, 2, 90, 200, 90, 255);
|
||||||
fill_rect(s, W/2 - 14, H/2 + 2, 16, 4, 120, 220, 120, 255);
|
fill_rect(s, W/2 - 14, H/2 + 2, 16, 4, 120, 220, 120, 255);
|
||||||
fill_rect(s, W/2 - 8, H/2 - 4, 4, 16, 120, 220, 120, 255);
|
fill_rect(s, W/2 - 8, H/2 - 4, 4, 16, 120, 220, 120, 255);
|
||||||
/* parts crates */
|
/* parts crates + oil drum + scrap pile */
|
||||||
fill_rect(s, W - 22, H - 14, 8, 6, 140, 100, 55, 255);
|
fill_rect(s, W - 22, H - 14, 8, 6, 140, 100, 55, 255);
|
||||||
fill_rect(s, W - 20, H - 12, 4, 3, 180, 140, 70, 255);
|
fill_rect(s, W - 20, H - 12, 4, 3, 180, 140, 70, 255);
|
||||||
|
fill_rect(s, W - 24, H - 18, 6, 5, 110, 80, 45, 255); /* crate stack */
|
||||||
|
fill_rect(s, 18, H - 16, 5, 6, 70, 90, 55, 255); /* oil drum */
|
||||||
|
disc(s, 20, H - 16, 3, 60, 80, 45, 255);
|
||||||
|
fill_rect(s, 24, H - 14, 6, 3, 90, 75, 55, 255); /* scrap */
|
||||||
|
fill_rect(s, W - 18, H - 8, 4, 2, 200, 160, 40, 255); /* hazard stripe */
|
||||||
|
/* side floodlight + bay hazard lintel */
|
||||||
|
fill_rect(s, W - 10, 4, 2, 2, 220, 200, 80, 255);
|
||||||
|
fill_rect(s, W - 9, 3, 1, 3, 90, 85, 70, 255);
|
||||||
|
fill_rect(s, 12, H - 30, W - 32, 2, 200, 160, 40, 255); /* bay hazard */
|
||||||
break;
|
break;
|
||||||
case BT_RESEARCH:
|
case BT_RESEARCH:
|
||||||
/* dense lab: pad, hull, windows, dish mast, annex, instruments (KKND) */
|
/* dense lab: pad, hull, windows, dish mast, annex, instruments (KKND) */
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue