diff options
| author | Jørgen P. Tjernø <[email protected]> | 2013-12-02 19:31:46 -0800 |
|---|---|---|
| committer | Jørgen P. Tjernø <[email protected]> | 2013-12-02 19:46:31 -0800 |
| commit | f56bb35301836e56582a575a75864392a0177875 (patch) | |
| tree | de61ddd39de3e7df52759711950b4c288592f0dc /mp/src/game/server/fish.h | |
| parent | Mark some more files as text. (diff) | |
| download | source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.tar.xz source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.zip | |
Fix line endings. WHAMMY.
Diffstat (limited to 'mp/src/game/server/fish.h')
| -rw-r--r-- | mp/src/game/server/fish.h | 280 |
1 files changed, 140 insertions, 140 deletions
diff --git a/mp/src/game/server/fish.h b/mp/src/game/server/fish.h index ccd5f0aa..6eb7e64d 100644 --- a/mp/src/game/server/fish.h +++ b/mp/src/game/server/fish.h @@ -1,140 +1,140 @@ -//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose:
-//
-// $NoKeywords: $
-//
-//=============================================================================//
-// fish.h
-// Simple fish behavior
-// Author: Michael S. Booth, April 2005
-
-#ifndef _FISH_H_
-#define _FISH_H_
-
-#include "baseanimating.h"
-#include "GameEventListener.h"
-
-class CFishPool;
-
-//----------------------------------------------------------------------------------------------
-/**
- * Simple ambient fish
- */
-class CFish : public CBaseAnimating
-{
-public:
- DECLARE_CLASS( CFish, CBaseAnimating );
- DECLARE_SERVERCLASS();
- DECLARE_DATADESC();
-
- CFish( void );
- virtual ~CFish();
-
- void Initialize( CFishPool *pool, unsigned int id );
-
- virtual void Spawn( void );
-
- virtual void Event_Killed( const CTakeDamageInfo &info );
- virtual void Touch( CBaseEntity *other ); ///< in contact with "other"
-
- void Update( float deltaT ); ///< invoked each server tick
-
- void FlockTo( CFish *other, float amount ); ///< influence my motion to flock with other nearby fish
- float Avoid( void );
- void Panic( void ); ///< panic for awhile
-
- void ResetVisible( void ); ///< zero the visible vector
- void AddVisible( CFish *fish ); ///< add this fish to our visible vector
-
-private:
- friend void SendProxy_FishOriginX( const SendProp *pProp, const void *pStruct, const void *pData, DVariant *pOut, int iElement, int objectID );
- friend void SendProxy_FishOriginY( const SendProp *pProp, const void *pStruct, const void *pData, DVariant *pOut, int iElement, int objectID );
-
- CHandle<CFishPool> m_pool; ///< the pool we are in
- unsigned int m_id; ///< our unique ID
-
- CNetworkVar( float, m_x ); ///< have to send position coordinates separately since Z is unused
- CNetworkVar( float, m_y ); ///< have to send position coordinates separately since Z is unused
- CNetworkVar( float, m_z ); ///< only sent once since fish always swim at the same depth
-
- CNetworkVar( float, m_angle ); ///< only yaw changes
- float m_angleChange;
- Vector m_forward;
- Vector m_perp;
-
- CNetworkVar( Vector, m_poolOrigin ); ///< used to efficiently network our relative position
- CNetworkVar( float, m_waterLevel );
-
- float m_speed;
- float m_desiredSpeed;
-
- float m_calmSpeed; ///< speed the fish moves when calm
- float m_panicSpeed; ///< speed the fish moves when panicked
-
- float m_avoidRange; ///< range to avoid obstacles
-
- CountdownTimer m_turnTimer; ///< every so often our turn preference changes
- bool m_turnClockwise; ///< if true this fish prefers to turn clockwise, else CCW
-
- CountdownTimer m_goTimer; ///< start the fish moving when timer elapses
- CountdownTimer m_moveTimer; ///< dont decay speed while we are moving
- CountdownTimer m_panicTimer; ///< if active, fish is panicked
- CountdownTimer m_disperseTimer; ///< initial non-flocking time
-
- CUtlVector< CFish * > m_visible; ///< vector of fish that we can see
-};
-
-
-//----------------------------------------------------------------------------------------------
-/**
- * This class defines a volume of water where a number of CFish swim
- */
-class CFishPool : public CBaseEntity, public CGameEventListener
-{
-public:
- DECLARE_CLASS( CFishPool, CBaseEntity );
- DECLARE_DATADESC();
-
- CFishPool( void );
-
- virtual void Spawn();
-
- virtual bool KeyValue( const char *szKeyName, const char *szValue );
-
- virtual void FireGameEvent( IGameEvent *event );
-
- void Update( void ); ///< invoked each server tick
-
- float GetWaterLevel( void ) const; ///< return Z coordinate of water in world coords
- float GetMaxRange( void ) const; ///< return how far a fish is allowed to wander
-
-private:
- int m_fishCount; ///< number of fish in the pool
- float m_maxRange; ///< how far a fish is allowed to wander
- float m_swimDepth; ///< the depth the fish swim below the water surface
-
- float m_waterLevel; ///< Z of water surface
-
- bool m_isDormant;
-
- CUtlVector< CHandle<CFish> > m_fishes; ///< vector of all fish in this pool
-
- CountdownTimer m_visTimer; ///< for throttling line of sight checks between all fish
-};
-
-
-inline float CFishPool::GetMaxRange( void ) const
-{
- return m_maxRange;
-}
-
-
-inline float CFishPool::GetWaterLevel( void ) const
-{
- return m_waterLevel;
-}
-
-
-#endif // _FISH_H_
-
+//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +// +//=============================================================================// +// fish.h +// Simple fish behavior +// Author: Michael S. Booth, April 2005 + +#ifndef _FISH_H_ +#define _FISH_H_ + +#include "baseanimating.h" +#include "GameEventListener.h" + +class CFishPool; + +//---------------------------------------------------------------------------------------------- +/** + * Simple ambient fish + */ +class CFish : public CBaseAnimating +{ +public: + DECLARE_CLASS( CFish, CBaseAnimating ); + DECLARE_SERVERCLASS(); + DECLARE_DATADESC(); + + CFish( void ); + virtual ~CFish(); + + void Initialize( CFishPool *pool, unsigned int id ); + + virtual void Spawn( void ); + + virtual void Event_Killed( const CTakeDamageInfo &info ); + virtual void Touch( CBaseEntity *other ); ///< in contact with "other" + + void Update( float deltaT ); ///< invoked each server tick + + void FlockTo( CFish *other, float amount ); ///< influence my motion to flock with other nearby fish + float Avoid( void ); + void Panic( void ); ///< panic for awhile + + void ResetVisible( void ); ///< zero the visible vector + void AddVisible( CFish *fish ); ///< add this fish to our visible vector + +private: + friend void SendProxy_FishOriginX( const SendProp *pProp, const void *pStruct, const void *pData, DVariant *pOut, int iElement, int objectID ); + friend void SendProxy_FishOriginY( const SendProp *pProp, const void *pStruct, const void *pData, DVariant *pOut, int iElement, int objectID ); + + CHandle<CFishPool> m_pool; ///< the pool we are in + unsigned int m_id; ///< our unique ID + + CNetworkVar( float, m_x ); ///< have to send position coordinates separately since Z is unused + CNetworkVar( float, m_y ); ///< have to send position coordinates separately since Z is unused + CNetworkVar( float, m_z ); ///< only sent once since fish always swim at the same depth + + CNetworkVar( float, m_angle ); ///< only yaw changes + float m_angleChange; + Vector m_forward; + Vector m_perp; + + CNetworkVar( Vector, m_poolOrigin ); ///< used to efficiently network our relative position + CNetworkVar( float, m_waterLevel ); + + float m_speed; + float m_desiredSpeed; + + float m_calmSpeed; ///< speed the fish moves when calm + float m_panicSpeed; ///< speed the fish moves when panicked + + float m_avoidRange; ///< range to avoid obstacles + + CountdownTimer m_turnTimer; ///< every so often our turn preference changes + bool m_turnClockwise; ///< if true this fish prefers to turn clockwise, else CCW + + CountdownTimer m_goTimer; ///< start the fish moving when timer elapses + CountdownTimer m_moveTimer; ///< dont decay speed while we are moving + CountdownTimer m_panicTimer; ///< if active, fish is panicked + CountdownTimer m_disperseTimer; ///< initial non-flocking time + + CUtlVector< CFish * > m_visible; ///< vector of fish that we can see +}; + + +//---------------------------------------------------------------------------------------------- +/** + * This class defines a volume of water where a number of CFish swim + */ +class CFishPool : public CBaseEntity, public CGameEventListener +{ +public: + DECLARE_CLASS( CFishPool, CBaseEntity ); + DECLARE_DATADESC(); + + CFishPool( void ); + + virtual void Spawn(); + + virtual bool KeyValue( const char *szKeyName, const char *szValue ); + + virtual void FireGameEvent( IGameEvent *event ); + + void Update( void ); ///< invoked each server tick + + float GetWaterLevel( void ) const; ///< return Z coordinate of water in world coords + float GetMaxRange( void ) const; ///< return how far a fish is allowed to wander + +private: + int m_fishCount; ///< number of fish in the pool + float m_maxRange; ///< how far a fish is allowed to wander + float m_swimDepth; ///< the depth the fish swim below the water surface + + float m_waterLevel; ///< Z of water surface + + bool m_isDormant; + + CUtlVector< CHandle<CFish> > m_fishes; ///< vector of all fish in this pool + + CountdownTimer m_visTimer; ///< for throttling line of sight checks between all fish +}; + + +inline float CFishPool::GetMaxRange( void ) const +{ + return m_maxRange; +} + + +inline float CFishPool::GetWaterLevel( void ) const +{ + return m_waterLevel; +} + + +#endif // _FISH_H_ + |