Author: cazfi
Date: Tue Jan 17 15:55:23 2017
New Revision: 34865

URL: http://svn.gna.org/viewcvs/freeciv?rev=34865&view=rev
Log:
Added map to do path finding on to path finding parameters.

See patch #8079

Modified:
    trunk/common/aicore/path_finding.c
    trunk/common/aicore/path_finding.h
    trunk/common/aicore/pf_tools.c

Modified: trunk/common/aicore/path_finding.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/common/aicore/path_finding.c?rev=34865&r1=34864&r2=34865&view=diff
==============================================================================
--- trunk/common/aicore/path_finding.c  (original)
+++ trunk/common/aicore/path_finding.c  Tue Jan 17 15:55:23 2017
@@ -586,7 +586,7 @@
 #endif
 
   /* Change the pf_map iterator. Node status step B. to C. */
-  pfm->tile = index_to_tile(&(wld.map), tindex);
+  pfm->tile = index_to_tile(params->map, tindex);
   pfnm->lattice[tindex].status = NS_PROCESSED;
 
   return TRUE;
@@ -736,7 +736,7 @@
 #endif
 
   /* Change the pf_map iterator. Node status step C. to D. */
-  pfm->tile = index_to_tile(&(wld.map), tindex);
+  pfm->tile = index_to_tile(params->map, tindex);
   pfnm->lattice[tindex].status = NS_PROCESSED;
 
   return TRUE;
@@ -1690,7 +1690,7 @@
      * to get it from danger_queue. */
     if (map_index_pq_remove(pfdm->danger_queue, &tindex)) {
       /* Change the pf_map iterator and reset data. */
-      tile = index_to_tile(&(wld.map), tindex);
+      tile = index_to_tile(params->map, tindex);
       pfm->tile = tile;
       node = pfdm->lattice + tindex;
     } else {
@@ -1705,7 +1705,7 @@
 #endif
 
       /* Change the pf_map iterator and reset data. */
-      tile = index_to_tile(&(wld.map), tindex);
+      tile = index_to_tile(params->map, tindex);
       pfm->tile = tile;
       node = pfdm->lattice + tindex;
       if (NS_WAITING != node->status) {
@@ -2880,7 +2880,7 @@
       }
 
       /* Change the pf_map iterator and reset data. */
-      tile = index_to_tile(&(wld.map), tindex);
+      tile = index_to_tile(params->map, tindex);
       pfm->tile = tile;
       node = pffm->lattice + tindex;
       waited = TRUE;
@@ -2897,7 +2897,7 @@
 #endif
 
       /* Change the pf_map iterator and reset data. */
-      tile = index_to_tile(&(wld.map), tindex);
+      tile = index_to_tile(params->map, tindex);
       pfm->tile = tile;
       node = pffm->lattice + tindex;
 #ifdef PF_DEBUG

Modified: trunk/common/aicore/path_finding.h
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/common/aicore/path_finding.h?rev=34865&r1=34864&r2=34865&view=diff
==============================================================================
--- trunk/common/aicore/path_finding.h  (original)
+++ trunk/common/aicore/path_finding.h  Tue Jan 17 15:55:23 2017
@@ -344,6 +344,7 @@
  * Examples of callbacks can be found in "pf_tools.c"
  * NB: It should be safe to struct copy pf_parameter. */
 struct pf_parameter {
+  struct civ_map *map;
   struct tile *start_tile;      /* Initial position */
 
   int moves_left_initially;

Modified: trunk/common/aicore/pf_tools.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/common/aicore/pf_tools.c?rev=34865&r1=34864&r2=34865&view=diff
==============================================================================
--- trunk/common/aicore/pf_tools.c      (original)
+++ trunk/common/aicore/pf_tools.c      Tue Jan 17 15:55:23 2017
@@ -657,6 +657,7 @@
 pft_fill_default_parameter(struct pf_parameter *parameter,
                            const struct unit_type *punittype)
 {
+  parameter->map = &(wld.map);
   parameter->get_TB = NULL;
   parameter->get_EC = NULL;
   parameter->is_pos_dangerous = NULL;
@@ -946,6 +947,8 @@
 {
   memset(parameter, 0, sizeof(*parameter));
 
+  parameter->map = &(wld.map);
+
   /* We ignore refuel bases in reverse mode. */
   parameter->fuel = 1;
   parameter->fuel_left_initially = 1;


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

Reply via email to