diff options
| author | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
|---|---|---|
| committer | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
| commit | 3bf9df6b2785fa6d951086978a3e66f49427166a (patch) | |
| tree | 2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /game/server/ai_debug.h | |
| download | archived-source-engine-2018-hl2-src-master.tar.xz archived-source-engine-2018-hl2-src-master.zip | |
Diffstat (limited to 'game/server/ai_debug.h')
| -rw-r--r-- | game/server/ai_debug.h | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/game/server/ai_debug.h b/game/server/ai_debug.h new file mode 100644 index 0000000..3f5c47f --- /dev/null +++ b/game/server/ai_debug.h @@ -0,0 +1,88 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef AI_DEBUG_H +#define AI_DEBUG_H + +#include "fmtstr.h" +#include "ai_debug_shared.h" + +#if defined( _WIN32 ) +#pragma once +#endif + +// This dumps a summary result on exit +//#define PROFILE_AI 1 + +#define AI_PROFILE_SCOPE_BEGIN( tag ) if (0) ; else { AI_PROFILE_SCOPE( tag ) +#define AI_PROFILE_SCOPE_BEGIN_( pszName ) if (0) ; else { AI_PROFILE_SCOPE_( pszName ) +#define AI_PROFILE_SCOPE_END() } do {} while (0) + +#if defined(VPROF_AI) +#define VProfAI() true +#else +#define VProfAI() false +#endif +#if defined(VPROF_AI) +#include "tier0/vprof.h" +#define AI_PROFILE_SCOPE( tag ) VPROF( #tag ) +#define AI_PROFILE_SCOPE_( pszName ) VPROF( pszName ) +#define AI_PROFILE_MEASURE_SCOPE( tag ) VPROF( #tag ) +#elif defined(PROFILE_AI) +#include "tier0/fasttimer.h" +#define AI_PROFILE_SCOPE( tag ) PROFILE_SCOPE( tag ) +#define AI_PROFILE_MEASURE_SCOPE( tag ) PROFILE_SCOPE( tag ) +#else +#define AI_PROFILE_MEASURE_SCOPE( tag ) ((void)0) +#define AI_PROFILE_SCOPE( tag ) ((void)0) +#endif + +#ifndef AI_PROFILE_SCOPE_ +#define AI_PROFILE_SCOPE_( pszName ) ((void)0) +#endif + + +enum AIMsgFlags +{ + AIMF_IGNORE_SELECTED = 0x01 +}; + +void DevMsg( CAI_BaseNPC *pAI, unsigned flags, PRINTF_FORMAT_STRING const char *pszFormat, ... ) FMTFUNCTION( 3, 4 ); +void DevMsg( CAI_BaseNPC *pAI, PRINTF_FORMAT_STRING const char *pszFormat, ... ) FMTFUNCTION( 2, 3 ); + + +//----------------------------------------------------------------------------- +// Purpose: Use this to perform AI tracelines that are trying to determine LOS between points. +// LOS checks between entities should use FVisible. +//----------------------------------------------------------------------------- +void AI_TraceLOS( const Vector& vecAbsStart, const Vector& vecAbsEnd, CBaseEntity *pLooker, trace_t *ptr, ITraceFilter *pFilter = NULL ); + +//----------------------------------------------------------------------------- + +#ifdef DEBUG +extern bool g_fTestSteering; +#define TestingSteering() g_fTestSteering +#else +#define TestingSteering() false +#endif + +//----------------------------------------------------------------------------- + + +#ifdef _DEBUG +extern ConVar ai_debug_doors; +#define AIIsDebuggingDoors( pNPC ) ( ai_debug_doors.GetBool() && pNPC->m_bSelected ) +#define AIDoorDebugMsg( pNPC, msg ) if ( !AIIsDebuggingDoors( pNPC ) ) ; else Msg( msg ) +#else +#define AIIsDebuggingDoors( pNPC ) (false) +#define AIDoorDebugMsg( pNPC, msg ) ((void)(0)) +#endif + + +//----------------------------------------------------------------------------- + +#endif // AI_DEBUG_H |