aboutsummaryrefslogtreecommitdiff
path: root/mp/src/game/server/ai_networkmanager.h
diff options
context:
space:
mode:
authorJørgen P. Tjernø <[email protected]>2013-12-02 19:31:46 -0800
committerJørgen P. Tjernø <[email protected]>2013-12-02 19:46:31 -0800
commitf56bb35301836e56582a575a75864392a0177875 (patch)
treede61ddd39de3e7df52759711950b4c288592f0dc /mp/src/game/server/ai_networkmanager.h
parentMark some more files as text. (diff)
downloadsource-sdk-2013-f56bb35301836e56582a575a75864392a0177875.tar.xz
source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.zip
Fix line endings. WHAMMY.
Diffstat (limited to 'mp/src/game/server/ai_networkmanager.h')
-rw-r--r--mp/src/game/server/ai_networkmanager.h398
1 files changed, 199 insertions, 199 deletions
diff --git a/mp/src/game/server/ai_networkmanager.h b/mp/src/game/server/ai_networkmanager.h
index 19c2ec69..e8e61304 100644
--- a/mp/src/game/server/ai_networkmanager.h
+++ b/mp/src/game/server/ai_networkmanager.h
@@ -1,199 +1,199 @@
-//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose:
-//
-//=============================================================================//
-
-#ifndef AI_NETWORKMANAGER_H
-#define AI_NETWORKMANAGER_H
-
-#include "utlvector.h"
-#include "bitstring.h"
-
-#if defined( _WIN32 )
-#pragma once
-#endif
-
-class CAI_NetworkEditTools;
-class CAI_Network;
-class CAI_Node;
-class CAI_Link;
-class CAI_TestHull;
-
-//-----------------------------------------------------------------------------
-// CAI_NetworkManager
-//
-// Purpose: The entity in the level responsible for building the network if it
-// isn't there, saving & loading of the network, and holding the
-// CAI_Network instance.
-//
-//-----------------------------------------------------------------------------
-
-class CAI_NetworkManager : public CPointEntity
-{
-public:
- static void InitializeAINetworks();
-
- DECLARE_DATADESC();
-
- DECLARE_CLASS( CAI_NetworkManager, CPointEntity );
-
-public:
- CAI_NetworkManager(void);
- virtual ~CAI_NetworkManager(void);
-
- void Spawn ();
- virtual int ObjectCaps( void ) { return BaseClass::ObjectCaps() | FCAP_DONT_SAVE; }
- void RebuildNetworkGraph(); // Used in WC edit mode
- void StartRebuild(); // Used in WC edit mode
- void LoadNetworkGraph();
-
- static bool NetworksLoaded() { return gm_fNetworksLoaded; }
- bool IsInitialized() { return m_fInitalized; }
-
- void BuildNetworkGraph();
-
- static void DeleteAllAINetworks();
-
- void FixupHints();
- void MarkDontSaveGraph();
-
-public:
- CAI_NetworkEditTools * GetEditOps() { return m_pEditOps; }
- CAI_Network * GetNetwork() { return m_pNetwork; }
-
-private:
-
- void DelayedInit();
- void RebuildThink();
- void SaveNetworkGraph( void) ;
- static bool IsAIFileCurrent( const char *szMapName );
-
- static bool gm_fNetworksLoaded; // Have AINetworks been loaded
-
- bool m_bNeedGraphRebuild;
- CAI_NetworkEditTools * m_pEditOps;
- CAI_Network * m_pNetwork;
-
-
- bool m_fInitalized;
- bool m_bDontSaveGraph;
-};
-
-//-----------------------------------------------------------------------------
-
-abstract_class CAI_NetworkBuildHelper : public CLogicalEntity
-{
- DECLARE_CLASS( CAI_NetworkBuildHelper, CLogicalEntity );
-
-public:
- virtual void PostInitNodePosition( CAI_Network *pNetwork, CAI_Node *pNode ) = 0;
-};
-
-//-----------------------------------------------------------------------------
-
-class CAI_NetworkBuilder
-{
-public:
- void Build( CAI_Network *pNetwork );
- void Rebuild( CAI_Network *pNetwork );
-
- void InitNodePosition( CAI_Network *pNetwork, CAI_Node *pNode );
-
- void InitZones( CAI_Network *pNetwork );
-
-private:
- void InitVisibility( CAI_Network *pNetwork, CAI_Node *pNode );
- void InitNeighbors( CAI_Network *pNetwork, CAI_Node *pNode );
- void InitClimbNodePosition( CAI_Network *pNetwork, CAI_Node *pNode );
- void InitGroundNodePosition( CAI_Network *pNetwork, CAI_Node *pNode );
- void InitLinks( CAI_Network *pNetwork, CAI_Node *pNode );
- void ForceDynamicLinkNeighbors();
-
- void FloodFillZone( CAI_Node **ppNodes, CAI_Node *pNode, int zone );
-
- int ComputeConnection( CAI_Node *pSrcNode, CAI_Node *pDestNode, Hull_t hull );
-
- void BeginBuild();
- void EndBuild();
-
- CUtlVector<CVarBitVec> m_NeighborsTable;
- CVarBitVec m_DidSetNeighborsTable;
- CAI_TestHull * m_pTestHull;
-};
-
-extern CAI_NetworkBuilder g_AINetworkBuilder;
-
-//-----------------------------------------------------------------------------
-// CAI_NetworkEditTools
-//
-// Purpose: Bridge class to Hammer node editing functionality
-//
-//-----------------------------------------------------------------------------
-
-class CAI_NetworkEditTools
-{
-public:
- CAI_NetworkEditTools(CAI_NetworkManager *);
- ~CAI_NetworkEditTools();
- // ----------------------
- // Debug & Edit fields
- // ----------------------
- static CAI_Node * m_pLastDeletedNode; // For undo in wc edit mode
- static int m_iHullDrawNum; // Which hulls to draw
- static int m_iVisibilityNode; // Node I'm showing visibility for
- static int m_iGConnectivityNode; // Node I'm showing graph connectivity for
- static bool m_bAirEditMode; // Editing Air Nodes
- static bool m_bLinkEditMode; // Editing Links
- static float m_flAirEditDistance; // Distance editing Air Nodes
-
- static void DrawHull(Hull_t eHull);
- static void DrawNextHull(const char *ainet_name); // Draws next hull set for the named ai network
- static void SetDebugBits(const char *ainet_name,int debug_bit);
-
- static CAI_Node * FindAINodeNearestFacing( const Vector &origin, const Vector &facing, float threshold, int nNodeType);
- static CAI_Link * FindAILinkNearestFacing( const Vector &origin, const Vector &facing, float threshold);
-
- //---------------
- // WC Editing
- //---------------
- int m_nNextWCIndex; // Next unused index used by WC
- Vector * m_pWCPosition; // Array of vectors only used in wc edit mode
-
- //-----------------
- // Debugging Tools
- //-----------------
- int m_debugNetOverlays; // Which network debug overlays to draw
- void DrawAINetworkOverlay(void); // Draw network on the client
-
- void RecalcUsableNodesForHull(void); // Used only for debug drawing
-
- //-----------------
- void OnInit();
-
- int GetNodeIdFromWCId( int nWCId );
- int GetWCIdFromNodeId( int nNodeId );
- int * m_pNodeIndexTable; // Table of WC Id's to Engine Id's
-
- void ClearRebuildFlags();
- void SetRebuildFlags();
- void DrawEditInfoOverlay();
-
-#ifdef AI_PERF_MON
- //----------------------
- // Performance stats
- //----------------------
- static int m_nPerfStatNN;
- static int m_nPerfStatPB;
- static float m_fNextPerfStatTime;
-#endif
-
- CAI_NetworkManager *m_pManager;
- CAI_Network * m_pNetwork;
-
-
-};
-
-//-----------------------------------------------------------------------------
-
-#endif // AI_NETWORKMANAGER_H
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+//=============================================================================//
+
+#ifndef AI_NETWORKMANAGER_H
+#define AI_NETWORKMANAGER_H
+
+#include "utlvector.h"
+#include "bitstring.h"
+
+#if defined( _WIN32 )
+#pragma once
+#endif
+
+class CAI_NetworkEditTools;
+class CAI_Network;
+class CAI_Node;
+class CAI_Link;
+class CAI_TestHull;
+
+//-----------------------------------------------------------------------------
+// CAI_NetworkManager
+//
+// Purpose: The entity in the level responsible for building the network if it
+// isn't there, saving & loading of the network, and holding the
+// CAI_Network instance.
+//
+//-----------------------------------------------------------------------------
+
+class CAI_NetworkManager : public CPointEntity
+{
+public:
+ static void InitializeAINetworks();
+
+ DECLARE_DATADESC();
+
+ DECLARE_CLASS( CAI_NetworkManager, CPointEntity );
+
+public:
+ CAI_NetworkManager(void);
+ virtual ~CAI_NetworkManager(void);
+
+ void Spawn ();
+ virtual int ObjectCaps( void ) { return BaseClass::ObjectCaps() | FCAP_DONT_SAVE; }
+ void RebuildNetworkGraph(); // Used in WC edit mode
+ void StartRebuild(); // Used in WC edit mode
+ void LoadNetworkGraph();
+
+ static bool NetworksLoaded() { return gm_fNetworksLoaded; }
+ bool IsInitialized() { return m_fInitalized; }
+
+ void BuildNetworkGraph();
+
+ static void DeleteAllAINetworks();
+
+ void FixupHints();
+ void MarkDontSaveGraph();
+
+public:
+ CAI_NetworkEditTools * GetEditOps() { return m_pEditOps; }
+ CAI_Network * GetNetwork() { return m_pNetwork; }
+
+private:
+
+ void DelayedInit();
+ void RebuildThink();
+ void SaveNetworkGraph( void) ;
+ static bool IsAIFileCurrent( const char *szMapName );
+
+ static bool gm_fNetworksLoaded; // Have AINetworks been loaded
+
+ bool m_bNeedGraphRebuild;
+ CAI_NetworkEditTools * m_pEditOps;
+ CAI_Network * m_pNetwork;
+
+
+ bool m_fInitalized;
+ bool m_bDontSaveGraph;
+};
+
+//-----------------------------------------------------------------------------
+
+abstract_class CAI_NetworkBuildHelper : public CLogicalEntity
+{
+ DECLARE_CLASS( CAI_NetworkBuildHelper, CLogicalEntity );
+
+public:
+ virtual void PostInitNodePosition( CAI_Network *pNetwork, CAI_Node *pNode ) = 0;
+};
+
+//-----------------------------------------------------------------------------
+
+class CAI_NetworkBuilder
+{
+public:
+ void Build( CAI_Network *pNetwork );
+ void Rebuild( CAI_Network *pNetwork );
+
+ void InitNodePosition( CAI_Network *pNetwork, CAI_Node *pNode );
+
+ void InitZones( CAI_Network *pNetwork );
+
+private:
+ void InitVisibility( CAI_Network *pNetwork, CAI_Node *pNode );
+ void InitNeighbors( CAI_Network *pNetwork, CAI_Node *pNode );
+ void InitClimbNodePosition( CAI_Network *pNetwork, CAI_Node *pNode );
+ void InitGroundNodePosition( CAI_Network *pNetwork, CAI_Node *pNode );
+ void InitLinks( CAI_Network *pNetwork, CAI_Node *pNode );
+ void ForceDynamicLinkNeighbors();
+
+ void FloodFillZone( CAI_Node **ppNodes, CAI_Node *pNode, int zone );
+
+ int ComputeConnection( CAI_Node *pSrcNode, CAI_Node *pDestNode, Hull_t hull );
+
+ void BeginBuild();
+ void EndBuild();
+
+ CUtlVector<CVarBitVec> m_NeighborsTable;
+ CVarBitVec m_DidSetNeighborsTable;
+ CAI_TestHull * m_pTestHull;
+};
+
+extern CAI_NetworkBuilder g_AINetworkBuilder;
+
+//-----------------------------------------------------------------------------
+// CAI_NetworkEditTools
+//
+// Purpose: Bridge class to Hammer node editing functionality
+//
+//-----------------------------------------------------------------------------
+
+class CAI_NetworkEditTools
+{
+public:
+ CAI_NetworkEditTools(CAI_NetworkManager *);
+ ~CAI_NetworkEditTools();
+ // ----------------------
+ // Debug & Edit fields
+ // ----------------------
+ static CAI_Node * m_pLastDeletedNode; // For undo in wc edit mode
+ static int m_iHullDrawNum; // Which hulls to draw
+ static int m_iVisibilityNode; // Node I'm showing visibility for
+ static int m_iGConnectivityNode; // Node I'm showing graph connectivity for
+ static bool m_bAirEditMode; // Editing Air Nodes
+ static bool m_bLinkEditMode; // Editing Links
+ static float m_flAirEditDistance; // Distance editing Air Nodes
+
+ static void DrawHull(Hull_t eHull);
+ static void DrawNextHull(const char *ainet_name); // Draws next hull set for the named ai network
+ static void SetDebugBits(const char *ainet_name,int debug_bit);
+
+ static CAI_Node * FindAINodeNearestFacing( const Vector &origin, const Vector &facing, float threshold, int nNodeType);
+ static CAI_Link * FindAILinkNearestFacing( const Vector &origin, const Vector &facing, float threshold);
+
+ //---------------
+ // WC Editing
+ //---------------
+ int m_nNextWCIndex; // Next unused index used by WC
+ Vector * m_pWCPosition; // Array of vectors only used in wc edit mode
+
+ //-----------------
+ // Debugging Tools
+ //-----------------
+ int m_debugNetOverlays; // Which network debug overlays to draw
+ void DrawAINetworkOverlay(void); // Draw network on the client
+
+ void RecalcUsableNodesForHull(void); // Used only for debug drawing
+
+ //-----------------
+ void OnInit();
+
+ int GetNodeIdFromWCId( int nWCId );
+ int GetWCIdFromNodeId( int nNodeId );
+ int * m_pNodeIndexTable; // Table of WC Id's to Engine Id's
+
+ void ClearRebuildFlags();
+ void SetRebuildFlags();
+ void DrawEditInfoOverlay();
+
+#ifdef AI_PERF_MON
+ //----------------------
+ // Performance stats
+ //----------------------
+ static int m_nPerfStatNN;
+ static int m_nPerfStatPB;
+ static float m_fNextPerfStatTime;
+#endif
+
+ CAI_NetworkManager *m_pManager;
+ CAI_Network * m_pNetwork;
+
+
+};
+
+//-----------------------------------------------------------------------------
+
+#endif // AI_NETWORKMANAGER_H