From f56bb35301836e56582a575a75864392a0177875 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20P=2E=20Tjern=C3=B8?= Date: Mon, 2 Dec 2013 19:31:46 -0800 Subject: Fix line endings. WHAMMY. --- mp/src/game/shared/querycache.h | 198 ++++++++++++++++++++-------------------- 1 file changed, 99 insertions(+), 99 deletions(-) (limited to 'mp/src/game/shared/querycache.h') diff --git a/mp/src/game/shared/querycache.h b/mp/src/game/shared/querycache.h index 73c71944..774be51e 100644 --- a/mp/src/game/shared/querycache.h +++ b/mp/src/game/shared/querycache.h @@ -1,99 +1,99 @@ -//========= Copyright Valve Corporation, All rights reserved. ============// -// -// Purpose: -// -// $NoKeywords: $ -//=============================================================================// -#ifndef QUERYCACHE_H -#define QUERYCACHE_H -#ifdef _WIN32 -#pragma once -#endif - -#include "tier0/platform.h" -#include "mathlib/vector.h" - -// this system provides several piece of functionality to ai or other systems which wish to do -// traces and other trace-like queries. - -// a. By maintaining a set of incrementally updated trace results, it makes it simple to have ai -// code use hyteresis on traces as an optimization method. - -// b. By updating the cache entries outside of the entity think functions, the update is done in a -// fully multi-threaded fashion - - -enum EQueryType_t -{ - EQUERY_INVALID = 0, // an invalid or unused entry - EQUERY_TRACELINE, - EQUERY_ENTITY_LOS_CHECK, - -}; - -enum EEntityOffsetMode_t -{ - EOFFSET_MODE_WORLDSPACE_CENTER, - EOFFSET_MODE_EYEPOSITION, - EOFFSET_MODE_NONE, // nop -}; - - -#define QCACHE_MAXPNTS 3 // maximum number of points/entities - // involved in a query - -struct QueryCacheKey_t -{ - EQueryType_t m_Type; - int m_nNumValidPoints; - Vector m_Points[QCACHE_MAXPNTS]; - EHANDLE m_pEntities[QCACHE_MAXPNTS]; - EEntityOffsetMode_t m_nOffsetMode[QCACHE_MAXPNTS]; - unsigned int m_nTraceMask; - unsigned int m_nHashIdx; - int m_nCollisionGroup; - ShouldHitFunc_t m_pTraceFilterFunction; - - float m_flMinimumUpdateInterval; - - void ComputeHashIndex( void ); - - bool Matches( QueryCacheKey_t const *pNode ) const ; -}; - -struct QueryCacheEntry_t -{ - QueryCacheEntry_t *m_pNext; - QueryCacheEntry_t *m_pPrev; - QueryCacheKey_t m_QueryParams; - float m_flLastUpdateTime; - bool m_bUsedSinceUpdated; // was this cell referenced? - bool m_bSpeculativelyDone; - bool m_bResult; // for queries with a boolean result - - void IssueQuery( void ); - -}; - - - -bool IsLineOfSightBetweenTwoEntitiesClear( CBaseEntity *pSrcEntity, - EEntityOffsetMode_t nSrcOffsetMode, - CBaseEntity *pDestEntity, - EEntityOffsetMode_t nDestOffsetMode, - CBaseEntity *pSkipEntity, - int nCollisionGroup, - unsigned int nTraceMask, - ShouldHitFunc_t pTraceFilterCallback, - float flMinimumUpdateInterval = 0.2 - ); - - - -// call during main loop for threaded update of the query cache -void UpdateQueryCache( void ); - -// call on level transition or other significant step-functions -void InvalidateQueryCache( void ); - -#endif // querycache_h +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// +#ifndef QUERYCACHE_H +#define QUERYCACHE_H +#ifdef _WIN32 +#pragma once +#endif + +#include "tier0/platform.h" +#include "mathlib/vector.h" + +// this system provides several piece of functionality to ai or other systems which wish to do +// traces and other trace-like queries. + +// a. By maintaining a set of incrementally updated trace results, it makes it simple to have ai +// code use hyteresis on traces as an optimization method. + +// b. By updating the cache entries outside of the entity think functions, the update is done in a +// fully multi-threaded fashion + + +enum EQueryType_t +{ + EQUERY_INVALID = 0, // an invalid or unused entry + EQUERY_TRACELINE, + EQUERY_ENTITY_LOS_CHECK, + +}; + +enum EEntityOffsetMode_t +{ + EOFFSET_MODE_WORLDSPACE_CENTER, + EOFFSET_MODE_EYEPOSITION, + EOFFSET_MODE_NONE, // nop +}; + + +#define QCACHE_MAXPNTS 3 // maximum number of points/entities + // involved in a query + +struct QueryCacheKey_t +{ + EQueryType_t m_Type; + int m_nNumValidPoints; + Vector m_Points[QCACHE_MAXPNTS]; + EHANDLE m_pEntities[QCACHE_MAXPNTS]; + EEntityOffsetMode_t m_nOffsetMode[QCACHE_MAXPNTS]; + unsigned int m_nTraceMask; + unsigned int m_nHashIdx; + int m_nCollisionGroup; + ShouldHitFunc_t m_pTraceFilterFunction; + + float m_flMinimumUpdateInterval; + + void ComputeHashIndex( void ); + + bool Matches( QueryCacheKey_t const *pNode ) const ; +}; + +struct QueryCacheEntry_t +{ + QueryCacheEntry_t *m_pNext; + QueryCacheEntry_t *m_pPrev; + QueryCacheKey_t m_QueryParams; + float m_flLastUpdateTime; + bool m_bUsedSinceUpdated; // was this cell referenced? + bool m_bSpeculativelyDone; + bool m_bResult; // for queries with a boolean result + + void IssueQuery( void ); + +}; + + + +bool IsLineOfSightBetweenTwoEntitiesClear( CBaseEntity *pSrcEntity, + EEntityOffsetMode_t nSrcOffsetMode, + CBaseEntity *pDestEntity, + EEntityOffsetMode_t nDestOffsetMode, + CBaseEntity *pSkipEntity, + int nCollisionGroup, + unsigned int nTraceMask, + ShouldHitFunc_t pTraceFilterCallback, + float flMinimumUpdateInterval = 0.2 + ); + + + +// call during main loop for threaded update of the query cache +void UpdateQueryCache( void ); + +// call on level transition or other significant step-functions +void InvalidateQueryCache( void ); + +#endif // querycache_h -- cgit v1.2.3