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

Reply via email to