Author: cazfi Date: Sun Dec 14 01:42:10 2014 New Revision: 27294 URL: http://svn.gna.org/viewcvs/freeciv?rev=27294&view=rev Log: Avoid expensive check for bases that would need their flags shown if the tile has no extras owner set at all, i.e, when all bases on tile are unowned.
See patch #5450 Modified: branches/S2_5/client/tilespec.c Modified: branches/S2_5/client/tilespec.c URL: http://svn.gna.org/viewcvs/freeciv/branches/S2_5/client/tilespec.c?rev=27294&r1=27293&r2=27294&view=diff ============================================================================== --- branches/S2_5/client/tilespec.c (original) +++ branches/S2_5/client/tilespec.c Sun Dec 14 01:42:10 2014 @@ -5024,23 +5024,25 @@ bool show_flag = FALSE; struct player *owner = base_owner(ptile); - base_type_iterate(pbase) { - if (tile_has_base(ptile, pbase)) { - if (t->sprites.bases[base_index(pbase)].foreground) { - /* Draw fortress front in iso-view (non-iso view only has a fortress - * back). */ - ADD_SPRITE_FULL(t->sprites.bases[base_index(pbase)].foreground); + if (owner != NULL) { + base_type_iterate(pbase) { + if (tile_has_base(ptile, pbase)) { + if (t->sprites.bases[base_index(pbase)].foreground) { + /* Draw fortress front in iso-view (non-iso view only has a fortress + * back). */ + ADD_SPRITE_FULL(t->sprites.bases[base_index(pbase)].foreground); + } + if (base_has_flag(pbase, BF_SHOW_FLAG)) { + show_flag = TRUE; + } } - if (base_has_flag(pbase, BF_SHOW_FLAG)) { - show_flag = TRUE; - } + } base_type_iterate_end; + + if (show_flag && owner != NULL) { + ADD_SPRITE(get_nation_flag_sprite(t, nation_of_player(owner)), TRUE, + FULL_TILE_X_OFFSET + t->city_flag_offset_x, + FULL_TILE_Y_OFFSET + t->city_flag_offset_y); } - } base_type_iterate_end; - - if (show_flag && owner != NULL) { - ADD_SPRITE(get_nation_flag_sprite(t, nation_of_player(owner)), TRUE, - FULL_TILE_X_OFFSET + t->city_flag_offset_x, - FULL_TILE_Y_OFFSET + t->city_flag_offset_y); } } } _______________________________________________ Freeciv-commits mailing list Freeciv-commits@gna.org https://mail.gna.org/listinfo/freeciv-commits