<URL: http://bugs.freeciv.org/Ticket/Display.html?id=40386 >

Hi,

If you play a lot with islands (especially with the 1x1 tiny_isles option 
activated) the overview map tend to look a little bit ugly with borders on,  
since ocean tiles are marked with the color of the player owning the tiles 
and you can't see the normal coasts anymore. 
This patch comes with a new option called "Borders layer on ocean tiles" that 
should be activated by default letting every thing just like it used to be 
before. Once you deactivate this option the color marked territory on the map 
should appear only on land tiles, letting you see the normal coastlines.

Greetings,
Nico

diff -Nur -X.diff_ignore trunk/client/options.c changed/client/options.c
--- trunk/client/options.c	2008-07-20 13:05:16.000000000 +0200
+++ changed/client/options.c	2008-07-20 13:31:33.000000000 +0200
@@ -257,6 +257,13 @@
 		     N_("The borders layer of the overview shows which tiles "
 			"are owned by each player."),
 		     COC_OVERVIEW, overview_redraw_callback),
+  GEN_BOOL_OPTION_CB(overview.layers[OLAYER_BORDERS_ON_OCEAN],
+                     N_("Borders layer on ocean tiles"),
+                     N_("The borders layer of the overview are drawn on "
+                        "ocean tiles as well (this may look ugly with many "
+                        "islands). This option is only of interest if you "
+                        "have set the option \"Borders layer\" already."),
+                     COC_OVERVIEW, overview_redraw_callback),
   GEN_BOOL_OPTION_CB(overview.layers[OLAYER_UNITS],
 		     N_("Units layer"),
 		     N_("Enabling this will draw units on the overview."),
diff -Nur -X.diff_ignore trunk/client/overview_common.c changed/client/overview_common.c
--- trunk/client/overview_common.c	2008-07-20 13:05:16.000000000 +0200
+++ changed/client/overview_common.c	2008-07-20 13:33:57.000000000 +0200
@@ -31,7 +31,8 @@
   .fog = TRUE,
   .layers = {[OLAYER_BACKGROUND] = TRUE,
 	     [OLAYER_UNITS] = TRUE,
-	     [OLAYER_CITIES] = TRUE}
+	     [OLAYER_CITIES] = TRUE,
+             [OLAYER_BORDERS_ON_OCEAN] = TRUE}
 };
 
 /*
@@ -142,7 +143,11 @@
     struct player *owner = tile_owner(ptile);
 
     if (owner) {
-      return get_player_color(tileset, owner);
+      if(overview.layers[OLAYER_BORDERS_ON_OCEAN]) {
+        return get_player_color(tileset, owner);
+      } else if(!is_ocean_tile(ptile)) {
+        return get_player_color(tileset, owner);
+      }
     }
   }
   if (overview.layers[OLAYER_RELIEF] && tile_terrain(ptile) != T_UNKNOWN) {
diff -Nur -X.diff_ignore trunk/client/overview_common.h changed/client/overview_common.h
--- trunk/client/overview_common.h	2008-07-20 13:05:16.000000000 +0200
+++ changed/client/overview_common.h	2008-07-20 13:29:27.000000000 +0200
@@ -24,6 +24,7 @@
   OLAYER_BACKGROUND,
   OLAYER_RELIEF,
   OLAYER_BORDERS,
+  OLAYER_BORDERS_ON_OCEAN,
   OLAYER_UNITS,
   OLAYER_CITIES,
   OLAYER_COUNT
_______________________________________________
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev

Reply via email to