Author: cazfi Date: Sun Nov 8 17:07:16 2015 New Revision: 30479 URL: http://svn.gna.org/viewcvs/freeciv?rev=30479&view=rev Log: Made all the clients to respect tileset_unit_layout_offset_y()
See patch #6520 Modified: branches/S2_5/client/gui-qt/citydlg.cpp branches/S2_5/client/gui-sdl/citydlg.c Modified: branches/S2_5/client/gui-qt/citydlg.cpp URL: http://svn.gna.org/viewcvs/freeciv/branches/S2_5/client/gui-qt/citydlg.cpp?rev=30479&r1=30478&r2=30479&view=diff ============================================================================== --- branches/S2_5/client/gui-qt/citydlg.cpp (original) +++ branches/S2_5/client/gui-qt/citydlg.cpp Sun Nov 8 17:07:16 2015 @@ -58,18 +58,6 @@ static city_dialog *city_dlg; /**************************************************************************** - Calculates extra space needed for upkeep sprites for non-isometric tileset -****************************************************************************/ -static float overhead_upkeep_scale() -{ - float ret = 1.0f; - if (!tileset_is_isometric(tileset)) { - ret = 1.33f; - } - return ret; -} - -/**************************************************************************** Draws X on pixmap pointing its useless ****************************************************************************/ static void pixmap_put_x(QPixmap *pix) @@ -100,13 +88,12 @@ if (punit) { unit_pixmap = qtg_canvas_create(tileset_full_tile_width(tileset), - overhead_upkeep_scale() - * tileset_tile_height(tileset) * 3 / 2); + tileset_unit_with_upkeep_height(tileset)); unit_pixmap->map_pixmap.fill(Qt::transparent); put_unit(punit, unit_pixmap, 0, 0); if (supported) { put_unit_city_overlays(punit, unit_pixmap, 0, - tileset_tile_height(tileset), + tileset_unit_layout_offset_y(tileset), punit->upkeep, happy_cost); } } @@ -357,13 +344,12 @@ } if (qunit) { unit_pixmap = qtg_canvas_create(tileset_full_tile_width(tileset), - overhead_upkeep_scale() - * tileset_tile_height(tileset) * 3 / 2); + tileset_unit_with_upkeep_height(tileset)); unit_pixmap->map_pixmap.fill(QColor(200, 200, 200)); put_unit(qunit, unit_pixmap, 0, 0); if (supported) { put_unit_city_overlays(qunit, unit_pixmap, 0, - tileset_tile_height(tileset), + tileset_unit_layout_offset_y(tileset), qunit->upkeep, happy_cost); } } @@ -380,13 +366,12 @@ } if (qunit) { unit_pixmap = qtg_canvas_create(tileset_full_tile_width(tileset), - overhead_upkeep_scale() - * tileset_tile_height(tileset) * 3 / 2); + tileset_unit_with_upkeep_height(tileset)); unit_pixmap->map_pixmap.fill(Qt::transparent); put_unit(qunit, unit_pixmap, 0, 0); if (supported) { put_unit_city_overlays(qunit, unit_pixmap, 0, - tileset_tile_height(tileset), + tileset_unit_layout_offset_y(tileset), qunit->upkeep, happy_cost); } } @@ -454,8 +439,7 @@ QSizePolicy size_fixed_policy(QSizePolicy::Fixed, QSizePolicy::Fixed); layout->setContentsMargins(3, 6, 3, 6); setSizePolicy(size_fixed_policy); - setFixedHeight(overhead_upkeep_scale() * tileset_tile_height(tileset) - * 3 / 2 + 6); + setFixedHeight(tileset_unit_with_upkeep_height(tileset) + 6); setLayout(layout); } @@ -701,7 +685,7 @@ size_expanding_policy.setVerticalStretch(0); current_building = 0; - /** Overview tab initiazlization */ + /** Overview tab initialization */ { QGroupBox *map_box = new QGroupBox(this); QVBoxLayout *v_layout = new QVBoxLayout; @@ -765,8 +749,7 @@ supported_units = new unit_info(this, true); scroll = new QScrollArea; scroll->setWidgetResizable(true); - scroll->setMaximumHeight(tileset_tile_height(tileset) * 2 - * overhead_upkeep_scale()); + scroll->setMaximumHeight(tileset_unit_with_upkeep_height(tileset) * 2); scroll->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); scroll->setWidget(supported_units); current_units = new unit_info(this, false); Modified: branches/S2_5/client/gui-sdl/citydlg.c URL: http://svn.gna.org/viewcvs/freeciv/branches/S2_5/client/gui-sdl/citydlg.c?rev=30479&r1=30478&r2=30479&view=diff ============================================================================== --- branches/S2_5/client/gui-sdl/citydlg.c (original) +++ branches/S2_5/client/gui-sdl/citydlg.c Sun Nov 8 17:07:16 2015 @@ -594,71 +594,75 @@ /************************************************************************** create unit icon with support icons. **************************************************************************/ -static SDL_Surface *create_unit_surface(struct unit *pUnit, bool support, int w, int h) +static SDL_Surface *create_unit_surface(struct unit *punit, bool support, + int w, int h) { int i, step; SDL_Rect src_rect, dest; - SDL_Surface *pSurf, *pZoomed; - - int free_unhappy; - int happy_cost; - - struct canvas *destcanvas = canvas_create_with_alpha( - tileset_full_tile_width(tileset), - tileset_full_tile_height(tileset)); - - put_unit(pUnit, destcanvas, 0, 0); + SDL_Surface *psurf; + struct canvas *destcanvas; + + destcanvas = canvas_create_with_alpha(tileset_full_tile_width(tileset), + tileset_full_tile_height(tileset)); + + put_unit(punit, destcanvas, 0, 0); src_rect = get_smaller_surface_rect(destcanvas->surf); - pSurf = create_surf_alpha(src_rect.w, src_rect.h, SDL_SWSURFACE); - alphablit(destcanvas->surf, &src_rect, pSurf, NULL); + src_rect.h = tileset_unit_with_upkeep_height(tileset); + psurf = create_surf_alpha(src_rect.w, src_rect.h, SDL_SWSURFACE); + alphablit(destcanvas->surf, &src_rect, psurf, NULL); canvas_free(destcanvas); - - pZoomed = ResizeSurfaceBox(pSurf, w, h, 1, TRUE, TRUE); - FREESURFACE(pSurf); - pSurf = pZoomed; if (support) { - + int free_unhappy; + int happy_cost; + free_unhappy = get_city_bonus(pCityDlg->pCity, EFT_MAKE_CONTENT_MIL); - happy_cost = city_unit_unhappiness(pUnit, &free_unhappy); - - i = pUnit->upkeep[O_SHIELD] + pUnit->upkeep[O_FOOD] + - pUnit->upkeep[O_GOLD] + happy_cost; - - if (i * pIcons->pFood->w > pSurf->w / 2) { - step = (pSurf->w / 2 - pIcons->pFood->w) / (i - 1); + happy_cost = city_unit_unhappiness(punit, &free_unhappy); + + i = punit->upkeep[O_SHIELD] + punit->upkeep[O_FOOD] + + punit->upkeep[O_GOLD] + happy_cost; + + if (i * pIcons->pFood->w > psurf->w / 2) { + step = (psurf->w / 2 - pIcons->pFood->w) / (i - 1); } else { step = pIcons->pFood->w; } - dest.y = pSurf->h - pIcons->pFood->h - adj_size(2); - dest.x = pSurf->w / 8; - - for (i = 0; i < pUnit->upkeep[O_SHIELD]; i++) { - alphablit(pIcons->pShield, NULL, pSurf, &dest); + dest.y = tileset_unit_layout_offset_y(tileset); + dest.x = psurf->w / 8; + + for (i = 0; i < punit->upkeep[O_SHIELD]; i++) { + alphablit(pIcons->pShield, NULL, psurf, &dest); dest.x += step; } - for (i = 0; i < pUnit->upkeep[O_FOOD]; i++) { - alphablit(pIcons->pFood, NULL, pSurf, &dest); + for (i = 0; i < punit->upkeep[O_FOOD]; i++) { + alphablit(pIcons->pFood, NULL, psurf, &dest); dest.x += step; } - for (i = 0; i < pUnit->upkeep[O_GOLD]; i++) { - alphablit(pIcons->pCoin, NULL, pSurf, &dest); + for (i = 0; i < punit->upkeep[O_GOLD]; i++) { + alphablit(pIcons->pCoin, NULL, psurf, &dest); dest.x += step; } for (i = 0; i < happy_cost; i++) { - alphablit(pIcons->pFace, NULL, pSurf, &dest); + alphablit(pIcons->pFace, NULL, psurf, &dest); dest.x += step; } - - } - - return pSurf; + } + + if (w != src_rect.w || h != src_rect.h) { + SDL_Surface *pzoomed; + + pzoomed = ResizeSurfaceBox(psurf, w, h, 1, TRUE, TRUE); + FREESURFACE(psurf); + psurf = pzoomed; + } + + return psurf; } /************************************************************************** _______________________________________________ Freeciv-commits mailing list Freeciv-commits@gna.org https://mail.gna.org/listinfo/freeciv-commits