Author: jtn
Date: Thu Sep 29 01:56:09 2016
New Revision: 33935

URL: http://svn.gna.org/viewcvs/freeciv?rev=33935&view=rev
Log:
When 'first_reqs' are specified for a cardinal road type, only
cardinally adjacent roads can be continued from.

See bug #25121.

Modified:
    trunk/common/road.c

Modified: trunk/common/road.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/common/road.c?rev=33935&r1=33934&r2=33935&view=diff
==============================================================================
--- trunk/common/road.c (original)
+++ trunk/common/road.c Thu Sep 29 01:56:09 2016
@@ -264,12 +264,23 @@
     bool beginning = TRUE;
 
     extra_type_list_iterate(proad->integrators, iroad) {
-      adjc_iterate(ptile, adjc_tile) {
-        if (tile_has_extra(adjc_tile, iroad)) {
-          beginning = FALSE;
-          break;
-        }
-      } adjc_iterate_end;
+      /* FIXME: mixing cardinal and non-cardinal roads as integrators is
+       * probably not a good idea. */
+      if (is_cardinal_only_road(iroad)) {
+        cardinal_adjc_iterate(ptile, adjc_tile) {
+          if (tile_has_extra(adjc_tile, iroad)) {
+            beginning = FALSE;
+            break;
+          }
+        } cardinal_adjc_iterate_end;
+      } else {
+        adjc_iterate(ptile, adjc_tile) {
+          if (tile_has_extra(adjc_tile, iroad)) {
+            beginning = FALSE;
+            break;
+          }
+        } adjc_iterate_end;
+      }
 
       if (!beginning) {
         break;


_______________________________________________
Freeciv-commits mailing list
Freeciv-commits@gna.org
https://mail.gna.org/listinfo/freeciv-commits

Reply via email to