//=============================================================================// // // Purpose: // //=============================================================================// #include "core/stdafx.h" #include "tier1/cvar.h" #include "game/server/ai_network.h" int g_DebugConnectNode1 = -1; int g_DebugConnectNode2 = -1; #define DebuggingConnect( node1, node2 ) ( ( node1 == g_DebugConnectNode1 && node2 == g_DebugConnectNode2 ) || ( node1 == g_DebugConnectNode2 && node2 == g_DebugConnectNode1 ) ) //----------------------------------------------------------------------------- // Purpose: debug logs node connections // Input : node1 - // node2 - // *pszFormat - // ... - //----------------------------------------------------------------------------- void CAI_Network::DebugConnectMsg(int node1, int node2, const char* pszFormat, ...) { if (ai_ainDebugConnect->GetBool()) { if (DebuggingConnect(node1, node2)) { static char buf[1024] = {}; {///////////////////////////// va_list args{}; va_start(args, pszFormat); vsnprintf(buf, sizeof(buf), pszFormat, args); buf[sizeof(buf) - 1] = '\0'; va_end(args); }///////////////////////////// DevMsg(eDLL_T::SERVER, "%s", buf); } } } //----------------------------------------------------------------------------- // Purpose: gets the AI Network VTable // Output : void* //----------------------------------------------------------------------------- void* CAI_Network::GetVTable(void) const { return m_pVTable; } //----------------------------------------------------------------------------- // Purpose: gets the number of node links // Output : int //----------------------------------------------------------------------------- int CAI_Network::GetNumLinks(void) const { return m_iNumLinks; } //----------------------------------------------------------------------------- // Purpose: gets the number of zones // Output : int //----------------------------------------------------------------------------- int CAI_Network::GetNumZones(void) const { return m_iNumZones; } //----------------------------------------------------------------------------- // Purpose: gets the number of hints // Output : int //----------------------------------------------------------------------------- int CAI_Network::GetNumHints(void) const { return m_iNumHints; } //----------------------------------------------------------------------------- // Purpose: gets the number of script nodes // Output : int //----------------------------------------------------------------------------- int CAI_Network::GetNumScriptNodes(void) const { return m_iNumScriptNodes; } //----------------------------------------------------------------------------- // Purpose: gets the path nodes // Output : int64_t //----------------------------------------------------------------------------- int64_t CAI_Network::GetNumPathNodes(void) const { return m_iNumNodes; } //----------------------------------------------------------------------------- // Purpose: gets the specified hint from static array // Input : nIndex - // Output : int //----------------------------------------------------------------------------- short CAI_Network::GetHint(int nIndex) const { return m_Hints[nIndex]; } //----------------------------------------------------------------------------- // Purpose: gets the pointer to script node array // Output : CAI_ScriptNode* //----------------------------------------------------------------------------- CAI_ScriptNode* CAI_Network::GetScriptNodes(void) const { return m_ScriptNode; } //----------------------------------------------------------------------------- // Purpose: gets the pointer to path nodes // Output : CAI_Node** //----------------------------------------------------------------------------- CAI_Node** CAI_Network::GetPathNodes(void) const { return m_pAInode; } //----------------------------------------------------------------------------- void VAI_Network::Attach() const { DetourAttach(&v_CAI_Network__DebugConnectMsg, &CAI_Network::DebugConnectMsg); } void VAI_Network::Detach() const { DetourDetach(&v_CAI_Network__DebugConnectMsg, &CAI_Network::DebugConnectMsg); }