All pastes #573379 Raw Edit

Anonymous

public text v1 · immutable
·published 2007-06-18 03:54 UTC
rendered paste body
aimvec* Poopbot::TargetRegion(int ax)
{
	vec3_t vecEnd, up, right, forward, EntViewOrg,PredOrg, playerAngles;
	PredictTarget(ax,PredOrg);
	vector<aimvec>::iterator si, end;
	if (vPlayers[ax].getEnt()->curstate.usehull == 0)
	{
		si = AimVecsS.begin(); end = AimVecsS.end();
	} else {
		si = AimVecsD.begin(); end = AimVecsD.end();
	}
	if (vPlayers[ax].getEnt()->curstate.gaitsequence == 6)
	{
      si = AimVecsJ.begin(); end = AimVecsJ.end();
	}
	playerAngles[0]=0;
	playerAngles[1]=vPlayers[ax].getEnt()->angles[1];
	playerAngles[2]=0;
    gEngfuncs.pfnAngleVectors (playerAngles, forward, right, up);
	forward[2] = -forward[2];

for (;si!=end;++si)
{

vPlayers[ax].vVecSpot = gEngfuncs.GetEntityByIndex(ax)->origin + forward * si->f + up * si->h + right * si->r;
if(PathFree(me.pmEyePos,vPlayers[ax].vVecSpot)) return &(*si);

else

if(cvar.autohead)
{
vPlayers[ax].vVecSpot  = gEngfuncs.GetEntityByIndex(ax)->origin + (up * (si->h * cvar.ah_h)) + (forward * (si->f * cvar.ah_f)) + (right * (si->r * cvar.ah_r));
if(PathFree(me.pmEyePos,vPlayers[ax].vVecSpot )) return &(*si);

else

vPlayers[ax].vVecSpot  = gEngfuncs.GetEntityByIndex(ax)->origin + (up * (si->h * cvar.ah_h )) + (forward * (si->f * (cvar.ah_f * -1))) + (right * (si->r * (cvar.ah_r * -1)));
if(PathFree(me.pmEyePos,vPlayers[ax].vVecSpot )) return &(*si);

else

vPlayers[ax].vVecSpot  = gEngfuncs.GetEntityByIndex(ax)->origin + (up * (si->h * cvar.ah_h/2)) + (forward * (si->f * cvar.ah_f/2)) + (right * (si->r * cvar.ah_r/2));
if(PathFree(me.pmEyePos,vPlayers[ax].vVecSpot )) return &(*si);

else

vPlayers[ax].vVecSpot  = gEngfuncs.GetEntityByIndex(ax)->origin + (up * (si->h * cvar.ah_h/2)) + (forward * (si->f * (cvar.ah_f/2 * -1))) + (right * (si->r * (cvar.ah_r/2 * -1)));
if(PathFree(me.pmEyePos,vPlayers[ax].vVecSpot )) return &(*si);
}
}
	return NULL;
}