diff --git a/images/side1.png b/images/side1.png new file mode 100644 index 00000000000..6c1927db4e1 Binary files /dev/null and b/images/side1.png differ diff --git a/images/side2.png b/images/side2.png new file mode 100644 index 00000000000..a842f96d45f Binary files /dev/null and b/images/side2.png differ diff --git a/images/side3.png b/images/side3.png new file mode 100644 index 00000000000..af426396a7a Binary files /dev/null and b/images/side3.png differ diff --git a/images/side4.png b/images/side4.png new file mode 100644 index 00000000000..231179a0af6 Binary files /dev/null and b/images/side4.png differ diff --git a/images/side5.png b/images/side5.png new file mode 100644 index 00000000000..525b371c215 Binary files /dev/null and b/images/side5.png differ diff --git a/images/side6.png b/images/side6.png new file mode 100644 index 00000000000..265be4ffe1e Binary files /dev/null and b/images/side6.png differ diff --git a/src/display.cpp b/src/display.cpp index 3dcbdc5ca73..d2a2163314e 100644 --- a/src/display.cpp +++ b/src/display.cpp @@ -846,6 +846,15 @@ gamemap::TERRAIN display::get_terrain_on(int palx, int paly, int x, int y) return terrains[index]; } +namespace { + SDL_Surface* get_side_image(display& disp, int side) + { + std::stringstream str; + str << "side" << side << ".png"; + return disp.getImage(str.str()); + } +} + void display::draw_tile(int x, int y, SDL_Surface* unit_image, double highlight_ratio, Pixel blend_with) @@ -1187,6 +1196,11 @@ void display::draw_tile(int x, int y, SDL_Surface* unit_image, highlight_ratio,blend_with); } + SDL_Surface* const flag = get_side_image(*this,it->second.side()); + if(flag != NULL) { + draw_unit(xpos-xsrc,ypos-ysrc,flag,true,false); + } + const bool energy_uses_alpha = highlight_ratio < 1.0 && blend_with == 0; surface_lock dstlock(dst);