diff --git a/engine-c/src/snapshot.c b/engine-c/src/snapshot.c index c4c6493..84b1ce5 100644 --- a/engine-c/src/snapshot.c +++ b/engine-c/src/snapshot.c @@ -1669,6 +1669,38 @@ static void draw_bld(Building *b, int sx, int sy) { fill_rect(sx + 32, sy + H - 14, 3, 3, 255, 80, 120); fill_rect(sx + 37, sy + H - 14, 2, 2, 100, 255, 200); /* extra LED */ fill_rect(sx + 12, sy + H - 10, 22, 1, 60, 55, 50); /* LED rail */ + /* densify++ lab/dish/instrument/console */ + fill_rect(sx + 14, sy + H - 18, W - 36, 2, 50, 48, 42); /* console bezel top */ + fill_rect(sx + 14, sy + H - 9, W - 36, 1, 50, 48, 42); /* console bezel bot */ + fill_rect(sx + 14, sy + H - 17, 1, 8, 50, 48, 42); /* console bezel L */ + fill_rect(sx + W - 23, sy + H - 17, 1, 8, 50, 48, 42); /* console bezel R */ + fill_rect(sx + 40, sy + H - 14, 2, 2, 120, 255, 180); /* LED row ext */ + fill_rect(sx + 44, sy + H - 14, 2, 2, 255, 220, 80); + fill_rect(sx + 48, sy + H - 14, 2, 2, 80, 200, 255); + fill_rect(sx + 16, sy + 2, 4, 1, 180, 175, 150); /* dish strut L */ + fill_rect(sx + W - 20, sy + 2, 4, 1, 180, 175, 150); /* dish strut R */ + fill_rect(sx + W/2 - 2, sy + 1, 4, 2, 200, 195, 160); /* dish rim center */ + fill_rect(sx + 8, sy + 14, 2, 18, 70, 90, 110); /* cable tray L */ + fill_rect(sx + W - 10, sy + 14, 2, 18, 70, 90, 110); /* cable tray R */ + fill_rect(sx + 8, sy + 22, 3, 1, 90, 110, 130); /* tray clamp L */ + fill_rect(sx + W - 11, sy + 26, 3, 1, 90, 110, 130); /* tray clamp R */ + { + uint8_t dr, dg, db; + darken3(br, bg, bb, 0.5f, &dr, &dg, &db); + fill_rect(sx + W/2 - 6, sy + H - 30, 12, 10, dr, dg, db); /* door recess */ + } + fill_rect(sx + W/2 - 5, sy + H - 29, 10, 8, 60, 58, 52); /* door panel */ + fill_rect(sx + W/2 - 1, sy + H - 27, 2, 4, 200, 190, 80); /* door lamp */ + fill_rect(sx + 20, sy + H - 32, 18, 1, 200, 160, 40); /* hazard strip mid */ + fill_rect(sx + 22, sy + H - 34, 4, 3, 90, 200, 255); /* sample rack A */ + fill_rect(sx + 28, sy + H - 34, 4, 3, 120, 160, 255); /* sample rack B */ + fill_rect(sx + 34, sy + H - 34, 4, 3, 160, 120, 255); /* sample rack C */ + { + uint8_t lr, lg, lb; + lighten3(br, bg, bb, 0.35f, &lr, &lg, &lb); + fill_rect(sx + W - 22, sy + 8, 6, 2, lr, lg, lb); /* roof instrument rail */ + } + fill_rect(sx + W - 20, sy + 7, 2, 1, 255, 240, 120); /* rail tip LED */ break; default: break; diff --git a/engine-c/src/sprites.c b/engine-c/src/sprites.c index 5fff5ca..572ee02 100644 --- a/engine-c/src/sprites.c +++ b/engine-c/src/sprites.c @@ -1459,6 +1459,30 @@ SDL_Texture *sprites_make_bld(SDL_Renderer *r, BuildingType t, Faction f) { fill_rect(s, 32, H - 14, 3, 3, 255, 80, 120, 255); fill_rect(s, 37, H - 14, 2, 2, 100, 255, 200, 255); /* extra LED */ fill_rect(s, 12, H - 10, 22, 1, 60, 55, 50, 255); /* LED rail */ + /* densify++ lab/dish/instrument/console */ + fill_rect(s, 14, H - 18, W - 36, 2, 50, 48, 42, 255); /* console bezel top */ + fill_rect(s, 14, H - 9, W - 36, 1, 50, 48, 42, 255); /* console bezel bot */ + fill_rect(s, 14, H - 17, 1, 8, 50, 48, 42, 255); /* console bezel L */ + fill_rect(s, W - 23, H - 17, 1, 8, 50, 48, 42, 255); /* console bezel R */ + fill_rect(s, 40, H - 14, 2, 2, 120, 255, 180, 255); /* LED row ext */ + fill_rect(s, 44, H - 14, 2, 2, 255, 220, 80, 255); + fill_rect(s, 48, H - 14, 2, 2, 80, 200, 255, 255); + fill_rect(s, 16, 2, 4, 1, 180, 175, 150, 255); /* dish strut L */ + fill_rect(s, W - 20, 2, 4, 1, 180, 175, 150, 255); /* dish strut R */ + fill_rect(s, W/2 - 2, 1, 4, 2, 200, 195, 160, 255); /* dish rim center */ + fill_rect(s, 8, 14, 2, 18, 70, 90, 110, 255); /* cable tray L */ + fill_rect(s, W - 10, 14, 2, 18, 70, 90, 110, 255); /* cable tray R */ + fill_rect(s, 8, 22, 3, 1, 90, 110, 130, 255); /* tray clamp L */ + fill_rect(s, W - 11, 26, 3, 1, 90, 110, 130, 255); /* tray clamp R */ + fill_rect(s, W/2 - 6, H - 30, 12, 10, dark.r, dark.g, dark.b, 255); /* door recess */ + fill_rect(s, W/2 - 5, H - 29, 10, 8, 60, 58, 52, 255); /* door panel */ + fill_rect(s, W/2 - 1, H - 27, 2, 4, 200, 190, 80, 255); /* door lamp */ + fill_rect(s, 20, H - 32, 18, 1, 200, 160, 40, 255); /* hazard strip mid */ + fill_rect(s, 22, H - 34, 4, 3, 90, 200, 255, 255); /* sample rack A */ + fill_rect(s, 28, H - 34, 4, 3, 120, 160, 255, 255); /* sample rack B */ + fill_rect(s, 34, H - 34, 4, 3, 160, 120, 255, 255); /* sample rack C */ + fill_rect(s, W - 22, 8, 6, 2, lite.r, lite.g, lite.b, 255); /* roof instrument rail */ + fill_rect(s, W - 20, 7, 2, 1, 255, 240, 120, 255); /* rail tip LED */ break; default: (void)dark;