Move compute_center_point_on_side body to dcx

This commit is contained in:
Kp 2017-02-22 03:05:43 +00:00
parent df54e345fe
commit 892d450022
2 changed files with 13 additions and 9 deletions

View file

@ -60,8 +60,8 @@ using vertex_vertnum_array_list = array<vertex_vertnum_pair, 6>;
#ifdef dsx
namespace dsx {
extern int Doing_lighting_hack_flag;
void compute_center_point_on_side(vms_vector &vp,vcsegptr_t sp,int side);
static inline vms_vector compute_center_point_on_side(const vcsegptr_t sp,int side)
void compute_center_point_on_side(vms_vector &vp, const segment &sp, unsigned side);
static inline vms_vector compute_center_point_on_side(const segment &sp, const unsigned side)
{
vms_vector v;
return compute_center_point_on_side(v, sp, side), v;

View file

@ -103,6 +103,15 @@ static uint_fast32_t find_connect_child(const vcsegidx_t base_seg, const array<s
return std::distance(b, std::find(b, end(children), base_seg));
}
static void compute_center_point_on_side(vms_vector &r, const array<unsigned, MAX_VERTICES_PER_SEGMENT> &verts, const unsigned side)
{
vms_vector vp;
vm_vec_zero(vp);
range_for (auto &v, Side_to_verts[side])
vm_vec_add2(vp, Vertices[verts[v]]);
vm_vec_copy_scale(r, vp, F1_0 / 4);
}
}
namespace dsx {
@ -115,14 +124,9 @@ unsigned Num_static_lights;
// ------------------------------------------------------------------------------------------
// Compute the center point of a side of a segment.
// The center point is defined to be the average of the 4 points defining the side.
void compute_center_point_on_side(vms_vector &vp,const vcsegptr_t sp,int side)
void compute_center_point_on_side(vms_vector &vp, const segment &sp, const unsigned side)
{
vm_vec_zero(vp);
range_for (auto &v, Side_to_verts[side])
vm_vec_add2(vp,Vertices[sp->verts[v]]);
vm_vec_scale(vp,F1_0/4);
compute_center_point_on_side(vp, sp.verts, side);
}
// ------------------------------------------------------------------------------------------