Beispiel #1
0
static bool CastRayAtSky( const LTVector& vFrom, const LTVector& vDir )
{
	IntersectQuery iQuery;
	IntersectInfo iInfo;

	iQuery.m_From = vFrom;
	iQuery.m_To = vFrom + vDir;
	iQuery.m_Flags = INTERSECT_HPOLY;

	if(i_IntersectSegment(&iQuery, &iInfo, world_bsp_client->ClientTree()))
	{
		WorldPoly *pPoly = world_bsp_client->GetPolyFromHPoly(iInfo.m_hPoly);
		if (!pPoly)
			return false;
		if (pPoly->GetSurface()->GetFlags() & SURF_SKY)
			return true;
		else
			return false;
	}
	else
	{
		return false;
	}

	return true;
}
Beispiel #2
0
bool CWorldClientBSP::IntersectSegment(IntersectQuery *pQuery, IntersectInfo *pInfo)
{
    return i_IntersectSegment(pQuery, pInfo, &world_tree);
}
Beispiel #3
0
bool ServerIntersectSegment(IntersectQuery *pQuery, IntersectInfo *pInfo)
{
	return i_IntersectSegment(pQuery, pInfo, world_bsp_server->ServerTree());
}