aboutsummaryrefslogtreecommitdiff
path: root/mp/src/game/server/ai_route.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_route.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_route.h')
-rw-r--r--mp/src/game/server/ai_route.h380
1 files changed, 190 insertions, 190 deletions
diff --git a/mp/src/game/server/ai_route.h b/mp/src/game/server/ai_route.h
index 1ea5640f..9c481f0e 100644
--- a/mp/src/game/server/ai_route.h
+++ b/mp/src/game/server/ai_route.h
@@ -1,190 +1,190 @@
-//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose:
-//
-// $NoKeywords: $
-//=============================================================================//
-
-#ifndef AI_ROUTE_H
-#define AI_ROUTE_H
-#ifdef _WIN32
-#pragma once
-#endif
-
-#include "ai_basenpc.h"
-#include "mathlib/vector.h"
-#include "ai_network.h"
-#include "ai_node.h"
-#include "ai_waypoint.h"
-
-struct AI_Waypoint_t;
-struct OverlayLine_t;
-
-class CAI_BaseNPC;
-
-//=============================================================================
-// >> CAI_Path
-//=============================================================================
-
-#define DEF_WAYPOINT_TOLERANCE (0.1)
-
-class CAI_Path
-{
-//-----------------------------------------------------------------
-
-public:
-
- void SetWaypoints(AI_Waypoint_t* route, bool fSetGoalFromLast = false) ;
-
- void PrependWaypoints( AI_Waypoint_t *pWaypoints );
- void PrependWaypoint( const Vector &newPoint, Navigation_t navType, unsigned waypointFlags );
-
- bool IsEmpty() const { return m_Waypoints.IsEmpty(); }
-
- AI_Waypoint_t * GetCurWaypoint() { return m_Waypoints.GetFirst(); }
- const AI_Waypoint_t *GetCurWaypoint() const { return m_Waypoints.GetFirst(); }
-
- AI_Waypoint_t * GetGoalWaypoint() { return m_Waypoints.GetLast(); }
- const AI_Waypoint_t *GetGoalWaypoint() const { return m_Waypoints.GetLast(); }
-
- const Vector & CurWaypointPos() const;
- const Vector & NextWaypointPos() const;
- float CurWaypointYaw() const;
- int CurWaypointFlags() const;
- Navigation_t CurWaypointNavType() const;
-
- AI_Waypoint_t * GetTransitionWaypoint();
-
- //---------------------------------
-
- float GetPathLength();
- float GetPathDistanceToGoal( const Vector &);
-
- float GetStartTime() const { return m_routeStartTime; }
-
- //---------------------------------
- // How close do we need to get to the goal
- //---------------------------------
- void SetGoalTolerance(float tolerance) { m_goalTolerance = tolerance; }
- float GetGoalTolerance() const { return m_goalTolerance; }
-
- void SetWaypointTolerance(float tolerance) { m_waypointTolerance = tolerance; }
- float GetWaypointTolerance() const { return m_waypointTolerance; }
-
- //---------------------------------
- // The activity to use during motion
- //---------------------------------
- Activity GetMovementActivity() const { return m_activity; }
- Activity SetMovementActivity(Activity activity);
- int GetMovementSequence() const { return m_sequence; }
- int SetMovementSequence(int sequence) { return (m_sequence = sequence); }
-
- Activity GetArrivalActivity( ) const;
- void SetArrivalActivity(Activity activity);
- int GetArrivalSequence( ) const;
- void SetArrivalSequence(int sequence);
-
- void SetGoalDirection( const Vector &goalDirection );
- void SetGoalDirection( CBaseEntity *pTarget );
- Vector GetGoalDirection( const Vector &startPos );
-
- void SetGoalSpeed( float flSpeed );
- void SetGoalSpeed( CBaseEntity *pTarget );
- float GetGoalSpeed( const Vector &startPos );
-
- void SetGoalStoppingDistance( float flDistance );
- float GetGoalStoppingDistance( ) const;
-
- //---------------------------------
- // Target of this path
- //---------------------------------
- void SetTarget(CBaseEntity * pTarget ) { m_target = pTarget; }
- void ClearTarget() { m_target = NULL; m_vecTargetOffset = vec3_origin; }
- void SetTargetOffset( const Vector &vecOffset) { m_vecTargetOffset = vecOffset; }
- CBaseEntity * GetTarget() { return m_target; }
-
- void SetGoalType(GoalType_t goalType); // Set the goal type
- void SetGoalPosition(const Vector &goalPos); // Set the goal position
- void SetLastNodeAsGoal(bool bReset = false); // Sets last node as goal and goal position
- void ResetGoalPosition(const Vector &goalPos); // Reset the goal position
-
- // Returns the *base* goal position (without the offset applied)
- const Vector& BaseGoalPosition() const;
-
- // Returns the *actual* goal position (with the offset applied)
- const Vector & ActualGoalPosition(void) const; // Get the goal position
-
- GoalType_t GoalType(void) const; // Get the goal type
-
- void SetGoalFlags( unsigned flags ) { m_goalFlags = flags; }
- unsigned GoalFlags( void ) const; // Get the goal flags
-
- void Advance( void ); // Advance to next waypoint if possible
-
- bool CurWaypointIsGoal(void) const;
-
- void Clear(void);
-
- CAI_Path();
- ~CAI_Path();
-
- //---------------------------------
-
- int GetLastNodeReached() { return m_iLastNodeReached; }
- void ClearWaypoints()
- {
- m_Waypoints.RemoveAll();
- m_iLastNodeReached = NO_NODE;
- }
-
-private:
-
- // Computes the goal distance for each waypoint along the route
- static void ComputeRouteGoalDistances(AI_Waypoint_t *pGoalWaypoint);
-
- //---------------------------------
- CAI_WaypointList m_Waypoints;
-
- //---------------------------------
- float m_goalTolerance; // How close do we need to get to the goal
- Activity m_activity; // The activity to use during motion
- int m_sequence; // The sequence to use during motion
- EHANDLE m_target; // Target of this path
- Vector m_vecTargetOffset; // offset from the target in world space
- float m_waypointTolerance;
-
- //---------------------------------
- Activity m_arrivalActivity;
- int m_arrivalSequence;
-
- //---------------------------------
- int m_iLastNodeReached; // What was the last node that I reached
-
- bool m_bGoalPosSet; // Was goal position set (used to check for errors)
- Vector m_goalPos; // Our ultimate goal position
-
- bool m_bGoalTypeSet; // Was goal position set (used to check for errors)
- GoalType_t m_goalType; // Type of goal
-
- unsigned m_goalFlags; // Goal flags
-
- //---------------------------------
- float m_routeStartTime;
-
- //---------------------------------
- Vector m_goalDirection;
- EHANDLE m_goalDirectionTarget;
-
- float m_goalSpeed;
- EHANDLE m_goalSpeedTarget;
-
- float m_goalStoppingDistance; // Distance we want to stop before the goal
-
- //---------------------------------
- static AI_Waypoint_t gm_InvalidWaypoint;
-
- DECLARE_SIMPLE_DATADESC();
-
-};
-
-#endif // AI_ROUTE_H
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+// $NoKeywords: $
+//=============================================================================//
+
+#ifndef AI_ROUTE_H
+#define AI_ROUTE_H
+#ifdef _WIN32
+#pragma once
+#endif
+
+#include "ai_basenpc.h"
+#include "mathlib/vector.h"
+#include "ai_network.h"
+#include "ai_node.h"
+#include "ai_waypoint.h"
+
+struct AI_Waypoint_t;
+struct OverlayLine_t;
+
+class CAI_BaseNPC;
+
+//=============================================================================
+// >> CAI_Path
+//=============================================================================
+
+#define DEF_WAYPOINT_TOLERANCE (0.1)
+
+class CAI_Path
+{
+//-----------------------------------------------------------------
+
+public:
+
+ void SetWaypoints(AI_Waypoint_t* route, bool fSetGoalFromLast = false) ;
+
+ void PrependWaypoints( AI_Waypoint_t *pWaypoints );
+ void PrependWaypoint( const Vector &newPoint, Navigation_t navType, unsigned waypointFlags );
+
+ bool IsEmpty() const { return m_Waypoints.IsEmpty(); }
+
+ AI_Waypoint_t * GetCurWaypoint() { return m_Waypoints.GetFirst(); }
+ const AI_Waypoint_t *GetCurWaypoint() const { return m_Waypoints.GetFirst(); }
+
+ AI_Waypoint_t * GetGoalWaypoint() { return m_Waypoints.GetLast(); }
+ const AI_Waypoint_t *GetGoalWaypoint() const { return m_Waypoints.GetLast(); }
+
+ const Vector & CurWaypointPos() const;
+ const Vector & NextWaypointPos() const;
+ float CurWaypointYaw() const;
+ int CurWaypointFlags() const;
+ Navigation_t CurWaypointNavType() const;
+
+ AI_Waypoint_t * GetTransitionWaypoint();
+
+ //---------------------------------
+
+ float GetPathLength();
+ float GetPathDistanceToGoal( const Vector &);
+
+ float GetStartTime() const { return m_routeStartTime; }
+
+ //---------------------------------
+ // How close do we need to get to the goal
+ //---------------------------------
+ void SetGoalTolerance(float tolerance) { m_goalTolerance = tolerance; }
+ float GetGoalTolerance() const { return m_goalTolerance; }
+
+ void SetWaypointTolerance(float tolerance) { m_waypointTolerance = tolerance; }
+ float GetWaypointTolerance() const { return m_waypointTolerance; }
+
+ //---------------------------------
+ // The activity to use during motion
+ //---------------------------------
+ Activity GetMovementActivity() const { return m_activity; }
+ Activity SetMovementActivity(Activity activity);
+ int GetMovementSequence() const { return m_sequence; }
+ int SetMovementSequence(int sequence) { return (m_sequence = sequence); }
+
+ Activity GetArrivalActivity( ) const;
+ void SetArrivalActivity(Activity activity);
+ int GetArrivalSequence( ) const;
+ void SetArrivalSequence(int sequence);
+
+ void SetGoalDirection( const Vector &goalDirection );
+ void SetGoalDirection( CBaseEntity *pTarget );
+ Vector GetGoalDirection( const Vector &startPos );
+
+ void SetGoalSpeed( float flSpeed );
+ void SetGoalSpeed( CBaseEntity *pTarget );
+ float GetGoalSpeed( const Vector &startPos );
+
+ void SetGoalStoppingDistance( float flDistance );
+ float GetGoalStoppingDistance( ) const;
+
+ //---------------------------------
+ // Target of this path
+ //---------------------------------
+ void SetTarget(CBaseEntity * pTarget ) { m_target = pTarget; }
+ void ClearTarget() { m_target = NULL; m_vecTargetOffset = vec3_origin; }
+ void SetTargetOffset( const Vector &vecOffset) { m_vecTargetOffset = vecOffset; }
+ CBaseEntity * GetTarget() { return m_target; }
+
+ void SetGoalType(GoalType_t goalType); // Set the goal type
+ void SetGoalPosition(const Vector &goalPos); // Set the goal position
+ void SetLastNodeAsGoal(bool bReset = false); // Sets last node as goal and goal position
+ void ResetGoalPosition(const Vector &goalPos); // Reset the goal position
+
+ // Returns the *base* goal position (without the offset applied)
+ const Vector& BaseGoalPosition() const;
+
+ // Returns the *actual* goal position (with the offset applied)
+ const Vector & ActualGoalPosition(void) const; // Get the goal position
+
+ GoalType_t GoalType(void) const; // Get the goal type
+
+ void SetGoalFlags( unsigned flags ) { m_goalFlags = flags; }
+ unsigned GoalFlags( void ) const; // Get the goal flags
+
+ void Advance( void ); // Advance to next waypoint if possible
+
+ bool CurWaypointIsGoal(void) const;
+
+ void Clear(void);
+
+ CAI_Path();
+ ~CAI_Path();
+
+ //---------------------------------
+
+ int GetLastNodeReached() { return m_iLastNodeReached; }
+ void ClearWaypoints()
+ {
+ m_Waypoints.RemoveAll();
+ m_iLastNodeReached = NO_NODE;
+ }
+
+private:
+
+ // Computes the goal distance for each waypoint along the route
+ static void ComputeRouteGoalDistances(AI_Waypoint_t *pGoalWaypoint);
+
+ //---------------------------------
+ CAI_WaypointList m_Waypoints;
+
+ //---------------------------------
+ float m_goalTolerance; // How close do we need to get to the goal
+ Activity m_activity; // The activity to use during motion
+ int m_sequence; // The sequence to use during motion
+ EHANDLE m_target; // Target of this path
+ Vector m_vecTargetOffset; // offset from the target in world space
+ float m_waypointTolerance;
+
+ //---------------------------------
+ Activity m_arrivalActivity;
+ int m_arrivalSequence;
+
+ //---------------------------------
+ int m_iLastNodeReached; // What was the last node that I reached
+
+ bool m_bGoalPosSet; // Was goal position set (used to check for errors)
+ Vector m_goalPos; // Our ultimate goal position
+
+ bool m_bGoalTypeSet; // Was goal position set (used to check for errors)
+ GoalType_t m_goalType; // Type of goal
+
+ unsigned m_goalFlags; // Goal flags
+
+ //---------------------------------
+ float m_routeStartTime;
+
+ //---------------------------------
+ Vector m_goalDirection;
+ EHANDLE m_goalDirectionTarget;
+
+ float m_goalSpeed;
+ EHANDLE m_goalSpeedTarget;
+
+ float m_goalStoppingDistance; // Distance we want to stop before the goal
+
+ //---------------------------------
+ static AI_Waypoint_t gm_InvalidWaypoint;
+
+ DECLARE_SIMPLE_DATADESC();
+
+};
+
+#endif // AI_ROUTE_H