diff --git a/engine-c/src/snapshot.c b/engine-c/src/snapshot.c index 2a6f7e3..07ac7fe 100644 --- a/engine-c/src/snapshot.c +++ b/engine-c/src/snapshot.c @@ -1262,6 +1262,22 @@ static void draw_bld(Building *b, int sx, int sy) { fill_rect(sx + W/2 - 2, sy + H/2 - 12, 1, 2, 70, 68, 58); /* antenna tip */ fill_rect(sx + W - 5, sy + H/2 - 3, 2, 2, 40, 180, 60); /* IFF LED */ fill_rect(sx + 6, sy + H/2 + 8, 4, 1, 50, 44, 36); /* footplate scar */ + /* denser+ : rangefinder, smoke tubes, ammo hatch, heat shield, status, bags */ + fill_rect(sx + W/2 + 1, sy + H/2 - 6, 4, 1, 90, 85, 70); /* rangefinder rail */ + fill_rect(sx + W/2 + 4, sy + H/2 - 7, 2, 2, 30, 28, 24); /* RF optic */ + fill_rect(sx + W/2 - 8, sy + H/2 + 2, 3, 2, 55, 50, 42); /* smoke tube L */ + fill_rect(sx + W/2 - 7, sy + H/2 + 2, 1, 1, 200, 180, 80); /* tube cap */ + fill_rect(sx + W/2 + 6, sy + H/2 + 4, 3, 2, 55, 50, 42); /* smoke tube R */ + fill_rect(sx + W - 8, sy + H/2 + 6, 5, 4, ok, og, ob); /* ammo hatch */ + fill_rect(sx + W - 7, sy + H/2 + 7, 3, 2, 35, 32, 28); /* hatch well */ + fill_rect(sx + W/2 + 3, sy + H/2 - 1, 9, 1, 65, 58, 48); /* barrel heat shield */ + fill_rect(sx + W/2 + 11, sy + H/2 - 5, 1, 2, 45, 40, 34); /* barrel vent 3 */ + fill_rect(sx + 4, sy + H/2 - 1, 3, 2, 40, 38, 32); /* status panel */ + fill_rect(sx + 5, sy + H/2 - 1, 1, 1, 40, 200, 80); /* status LED */ + fill_rect(sx + W/2 - 6, sy + H - 5, 3, 2, 95, 82, 60); /* bag top L */ + fill_rect(sx + W/2 + 3, sy + H - 5, 3, 2, 95, 82, 60); /* bag top R */ + fill_rect(sx + W - 4, sy + H/2 + 1, 2, 2, 70, 65, 55); /* armor stud R */ + fill_rect(sx + 3, sy + H/2 + 6, 2, 2, 70, 65, 55); /* armor stud L */ break; case BT_WALL: /* denser fort: battlement, gate, scars, rubble (KKND fort read) */ diff --git a/engine-c/src/sprites.c b/engine-c/src/sprites.c index 55c5f7f..1c536f8 100644 --- a/engine-c/src/sprites.c +++ b/engine-c/src/sprites.c @@ -1064,6 +1064,22 @@ SDL_Texture *sprites_make_bld(SDL_Renderer *r, BuildingType t, Faction f) { fill_rect(s, W/2 - 2, H/2 - 12, 1, 2, 70, 68, 58, 255); /* antenna tip */ fill_rect(s, W - 5, H/2 - 3, 2, 2, 40, 180, 60, 255); /* IFF LED */ fill_rect(s, 6, H/2 + 8, 4, 1, 50, 44, 36, 255); /* footplate scar */ + /* denser+ : rangefinder, smoke tubes, ammo hatch, heat shield, status, bags */ + fill_rect(s, W/2 + 1, H/2 - 6, 4, 1, 90, 85, 70, 255); /* rangefinder rail */ + fill_rect(s, W/2 + 4, H/2 - 7, 2, 2, 30, 28, 24, 255); /* RF optic */ + fill_rect(s, W/2 - 8, H/2 + 2, 3, 2, 55, 50, 42, 255); /* smoke tube L */ + fill_rect(s, W/2 - 7, H/2 + 2, 1, 1, 200, 180, 80, 255); /* tube cap */ + fill_rect(s, W/2 + 6, H/2 + 4, 3, 2, 55, 50, 42, 255); /* smoke tube R */ + fill_rect(s, W - 8, H/2 + 6, 5, 4, ok, og, ob, 255); /* ammo hatch */ + fill_rect(s, W - 7, H/2 + 7, 3, 2, 35, 32, 28, 255); /* hatch well */ + fill_rect(s, W/2 + 3, H/2 - 1, 9, 1, 65, 58, 48, 255); /* barrel heat shield */ + fill_rect(s, W/2 + 11, H/2 - 5, 1, 2, 45, 40, 34, 255); /* barrel vent 3 */ + fill_rect(s, 4, H/2 - 1, 3, 2, 40, 38, 32, 255); /* status panel */ + fill_rect(s, 5, H/2 - 1, 1, 1, 40, 200, 80, 255); /* status LED */ + fill_rect(s, W/2 - 6, H - 5, 3, 2, 95, 82, 60, 255); /* bag top L */ + fill_rect(s, W/2 + 3, H - 5, 3, 2, 95, 82, 60, 255); /* bag top R */ + fill_rect(s, W - 4, H/2 + 1, 2, 2, 70, 65, 55, 255); /* armor stud R */ + fill_rect(s, 3, H/2 + 6, 2, 2, 70, 65, 55, 255); /* armor stud L */ break; case BT_WALL: /* denser fort: battlement, gate, scars, rubble (KKND fort read) */