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
[email protected]
https://mail.gna.org/listinfo/freeciv-commits