Remove write-only global Connected_segment_distance

This commit is contained in:
Kp 2017-07-08 18:17:50 +00:00
parent 30b0ebebb8
commit d4f1c894aa

View file

@ -737,12 +737,6 @@ imsegptridx_t find_point_seg(const vms_vector &p,const imsegptridx_t segnum)
#define MAX_LOC_POINT_SEGS 64
namespace dcx {
int Connected_segment_distance;
}
namespace dsx {
#if defined(DXX_BUILD_DESCENT_I)
static inline void add_to_fcd_cache(int seg0, int seg1, int depth, vm_distance dist)
@ -826,7 +820,6 @@ vm_distance find_connected_distance(const vms_vector &p0, const vcsegptridx_t se
}
if (seg0 == seg1) {
Connected_segment_distance = 0;
return vm_vec_dist_quick(p0, p1);
} else {
auto conn_side = find_connect_side(seg0, seg1);
@ -836,7 +829,6 @@ vm_distance find_connected_distance(const vms_vector &p0, const vcsegptridx_t se
if (WALL_IS_DOORWAY(seg1, conn_side) & wid_flag)
#endif
{
Connected_segment_distance = 1;
return vm_vec_dist_quick(p0, p1);
}
}
@ -854,7 +846,6 @@ vm_distance find_connected_distance(const vms_vector &p0, const vcsegptridx_t se
range_for (auto &i, Fcd_cache)
if (i.seg0 == seg0 && i.seg1 == seg1)
{
Connected_segment_distance = i.csd;
return i.dist;
}
#endif
@ -886,7 +877,7 @@ vm_distance find_connected_distance(const vms_vector &p0, const vcsegptridx_t se
depth[qtail++] = cur_depth+1;
if (max_depth != -1) {
if (depth[qtail-1] == max_depth) {
Connected_segment_distance = 1000;
constexpr auto Connected_segment_distance = 1000;
add_to_fcd_cache(seg0, seg1, Connected_segment_distance, fcd_abort_cache_value);
return fcd_abort_return_value;
}
@ -899,7 +890,7 @@ vm_distance find_connected_distance(const vms_vector &p0, const vcsegptridx_t se
} // for (sidenum...
if (qhead >= qtail) {
Connected_segment_distance = 1000;
constexpr auto Connected_segment_distance = 1000;
add_to_fcd_cache(seg0, seg1, Connected_segment_distance, fcd_abort_cache_value);
return fcd_abort_return_value;
}
@ -914,7 +905,7 @@ fcd_done1: ;
// Set qtail to the segment which ends at the goal.
while (seg_queue[--qtail].end != seg1)
if (qtail < 0) {
Connected_segment_distance = 1000;
constexpr auto Connected_segment_distance = 1000;
add_to_fcd_cache(seg0, seg1, Connected_segment_distance, fcd_abort_cache_value);
return fcd_abort_return_value;
}
@ -940,7 +931,6 @@ fcd_done1: ;
num_points++;
if (num_points == 1) {
Connected_segment_distance = num_points;
return vm_vec_dist_quick(p0, p1);
}
auto dist = vm_vec_dist_quick(p1, point_segs[1].point);
@ -950,7 +940,6 @@ fcd_done1: ;
dist += vm_vec_dist_quick(point_segs[i].point, point_segs[i+1].point);
}
Connected_segment_distance = num_points;
add_to_fcd_cache(seg0, seg1, num_points, dist);
return dist;