Yes, i was wrong... Maybe this helps:
// store the cover point entities:
void ai_init_cover_points()
{
ENTITY* ent;
for(ent=ent_next(NULL), n_cover_points=0; ent!=NULL, n_cover_points<100; ent=ent_next(ent))
{
str_for_entfile(ai_filename, ent);
if(str_cmpni("coverpoint", ai_filename))
{
cover_point[n_cover_points]=ent;
n_cover_points++;
}
}
}
// get a cover point
ENTITY* ai_get_cover_point(ENTITY* actor)
{
ENTITY* cp;
var ad;
var i;
ad=10000;
cp=NULL;
for(i=0; i<n_cover_points; i++)
{
cover_point[i].skill1=vec_dist(cover_point[i].x, player.x);
cover_point[i].skill2=vec_dist(cover_point[i].x, actor.x);
if(cover_point[i].skill1>cover_point[i].skill2)
{
you=NULL;
c_trace(cover_point[i].x, player.x, IGNORE_PASSABLE|IGNORE_PASSENTS);
if(you!=player)
{
if(cover_point[i].skill2<ad)
{
cp=cover_point[i];
ad=cover_point[i].skill2;
}
}
}
}
return(cp);
}