aboutsummaryrefslogtreecommitdiff
path: root/mp/src/game/server/trains.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/trains.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/trains.h')
-rw-r--r--mp/src/game/server/trains.h434
1 files changed, 217 insertions, 217 deletions
diff --git a/mp/src/game/server/trains.h b/mp/src/game/server/trains.h
index dce6c3d3..ef7e8b7e 100644
--- a/mp/src/game/server/trains.h
+++ b/mp/src/game/server/trains.h
@@ -1,217 +1,217 @@
-//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose:
-//
-//=============================================================================//
-
-#ifndef TRAINS_H
-#define TRAINS_H
-#ifdef _WIN32
-#pragma once
-#endif
-
-
-#include "entityoutput.h"
-#include "pathtrack.h"
-
-
-// Spawnflags of CPathCorner
-#define SF_CORNER_WAITFORTRIG 0x001
-#define SF_CORNER_TELEPORT 0x002
-
-// Tracktrain spawn flags
-#define SF_TRACKTRAIN_NOPITCH 0x0001
-#define SF_TRACKTRAIN_NOCONTROL 0x0002
-#define SF_TRACKTRAIN_FORWARDONLY 0x0004
-#define SF_TRACKTRAIN_PASSABLE 0x0008
-#define SF_TRACKTRAIN_FIXED_ORIENTATION 0x0010
-#define SF_TRACKTRAIN_HL1TRAIN 0x0080
-#define SF_TRACKTRAIN_USE_MAXSPEED_FOR_PITCH 0x0100
-#define SF_TRACKTRAIN_UNBLOCKABLE_BY_PLAYER 0x0200
-
-#define TRAIN_ACTIVE 0x80
-#define TRAIN_NEW 0xc0
-#define TRAIN_OFF 0x00
-#define TRAIN_NEUTRAL 0x01
-#define TRAIN_SLOW 0x02
-#define TRAIN_MEDIUM 0x03
-#define TRAIN_FAST 0x04
-#define TRAIN_BACK 0x05
-
-
-enum TrainVelocityType_t
-{
- TrainVelocity_Instantaneous = 0,
- TrainVelocity_LinearBlend,
- TrainVelocity_EaseInEaseOut,
-};
-
-
-enum TrainOrientationType_t
-{
- TrainOrientation_Fixed = 0,
- TrainOrientation_AtPathTracks,
- TrainOrientation_LinearBlend,
- TrainOrientation_EaseInEaseOut,
-};
-
-class CFuncTrackTrain : public CBaseEntity
-{
- DECLARE_CLASS( CFuncTrackTrain, CBaseEntity );
- DECLARE_SERVERCLASS();
-
-public:
- CFuncTrackTrain();
-
- void Spawn( void );
- bool CreateVPhysics( void );
- void Precache( void );
- void UpdateOnRemove();
- void MoveDone();
-
- virtual int OnTakeDamage( const CTakeDamageInfo &info );
-
- void Blocked( CBaseEntity *pOther );
- bool KeyValue( const char *szKeyName, const char *szValue );
-
- virtual int DrawDebugTextOverlays();
- void DrawDebugGeometryOverlays();
-
- void Next( void );
- void Find( void );
- void NearestPath( void );
- void DeadEnd( void );
-
- void SetTrack( CPathTrack *track ) { m_ppath = track->Nearest(GetLocalOrigin()); }
- void SetControls( CBaseEntity *pControls );
- bool OnControls( CBaseEntity *pControls );
-
- void SoundStop( void );
- void SoundUpdate( void );
-
- void Start( void );
- void Stop( void );
-
- bool IsDirForward();
- void SetDirForward( bool bForward );
- void SetSpeed( float flSpeed, bool bAccel = false );
- void Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value );
- void SetSpeedDirAccel( float flNewSpeed );
-
- // Input handlers
- void InputSetSpeed( inputdata_t &inputdata );
- void InputSetSpeedDir( inputdata_t &inputdata );
- void InputSetSpeedReal( inputdata_t &inputdata );
- void InputStop( inputdata_t &inputdata );
- void InputResume( inputdata_t &inputdata );
- void InputReverse( inputdata_t &inputdata );
- void InputStartForward( inputdata_t &inputdata );
- void InputStartBackward( inputdata_t &inputdata );
- void InputToggle( inputdata_t &inputdata );
- void InputSetSpeedDirAccel( inputdata_t &inputdata );
- void InputTeleportToPathTrack( inputdata_t &inputdata );
- void InputSetSpeedForwardModifier( inputdata_t &inputdata );
-
- static CFuncTrackTrain *Instance( edict_t *pent );
-
-#ifdef TF_DLL
- int UpdateTransmitState()
- {
- return SetTransmitState( FL_EDICT_ALWAYS );
- }
-#endif
-
- DECLARE_DATADESC();
-
- virtual int ObjectCaps( void ) { return BaseClass::ObjectCaps() | FCAP_DIRECTIONAL_USE | FCAP_USE_ONGROUND; }
-
- virtual void OnRestore( void );
-
- float GetMaxSpeed() const { return m_maxSpeed; }
- float GetCurrentSpeed() const { return m_flSpeed; }
- float GetDesiredSpeed() const { return m_flDesiredSpeed;}
-
- virtual bool IsBaseTrain( void ) const { return true; }
-
- void SetSpeedForwardModifier( float flModifier );
- void SetBlockDamage( float flDamage ) { m_flBlockDamage = flDamage; }
- void SetDamageChild( bool bDamageChild ) { m_bDamageChild = bDamageChild; }
-
-private:
-
- void ArriveAtNode( CPathTrack *pNode );
- void FirePassInputs( CPathTrack *pStart, CPathTrack *pEnd, bool forward );
-
-public:
-
- // UNDONE: Add accessors?
- CPathTrack *m_ppath;
- float m_length;
-
-#ifdef HL1_DLL
- bool m_bOnTrackChange; // we don't want to find a new node if we restore while
- // riding on a func_trackchange
-#endif
-
-private:
-
- TrainVelocityType_t GetTrainVelocityType();
- void UpdateTrainVelocity( CPathTrack *pnext, CPathTrack *pNextNext, const Vector &nextPos, float flInterval );
-
- TrainOrientationType_t GetTrainOrientationType();
- void UpdateTrainOrientation( CPathTrack *pnext, CPathTrack *pNextNext, const Vector &nextPos, float flInterval );
- void UpdateOrientationAtPathTracks( CPathTrack *pnext, CPathTrack *pNextNext, const Vector &nextPos, float flInterval );
- void UpdateOrientationBlend( TrainOrientationType_t eOrientationType, CPathTrack *pPrev, CPathTrack *pNext, const Vector &nextPos, float flInterval );
- void DoUpdateOrientation( const QAngle &curAngles, const QAngle &angles, float flInterval );
-
- void TeleportToPathTrack( CPathTrack *pTeleport );
-
-
- Vector m_controlMins;
- Vector m_controlMaxs;
- Vector m_lastBlockPos; // These are used to build a heuristic decision about being temporarily blocked by physics objects
- int m_lastBlockTick; // ^^^^^^^
- float m_flVolume;
- float m_flBank;
- float m_oldSpeed;
- float m_flBlockDamage; // Damage to inflict when blocked.
- float m_height;
- float m_maxSpeed;
- float m_dir;
-
-
- string_t m_iszSoundMove; // Looping sound to play while moving. Pitch shifted based on speed.
- string_t m_iszSoundMovePing; // Ping sound to play while moving. Interval decreased based on speed.
- string_t m_iszSoundStart; // Sound to play when starting to move.
- string_t m_iszSoundStop; // Sound to play when stopping.
-
- float m_flMoveSoundMinTime; // The most often to play the move 'ping' sound (used at max speed)
- float m_flMoveSoundMaxTime; // The least often to play the move 'ping' sound (used approaching zero speed)
- float m_flNextMoveSoundTime;
-
- int m_nMoveSoundMinPitch; // The sound pitch to approach as we come to a stop
- int m_nMoveSoundMaxPitch; // The sound pitch to approach as we approach our max speed (actually, it's hardcoded to 1000 in/sec)
-
- TrainOrientationType_t m_eOrientationType;
- TrainVelocityType_t m_eVelocityType;
- bool m_bSoundPlaying;
-
- COutputEvent m_OnStart,m_OnNext;
-
- bool m_bManualSpeedChanges; // set when we want to send entity IO to govern speed and obey our TrainVelocityType_t
- float m_flDesiredSpeed; // target speed, when m_bManualSpeedChanges is set
- float m_flSpeedChangeTime;
- float m_flAccelSpeed;
- float m_flDecelSpeed;
- bool m_bAccelToSpeed;
-
- float m_flNextMPSoundTime;
-
- float m_flSpeedForwardModifier;
- float m_flUnmodifiedDesiredSpeed;
-
- bool m_bDamageChild;
-};
-
-
-#endif // TRAINS_H
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+//=============================================================================//
+
+#ifndef TRAINS_H
+#define TRAINS_H
+#ifdef _WIN32
+#pragma once
+#endif
+
+
+#include "entityoutput.h"
+#include "pathtrack.h"
+
+
+// Spawnflags of CPathCorner
+#define SF_CORNER_WAITFORTRIG 0x001
+#define SF_CORNER_TELEPORT 0x002
+
+// Tracktrain spawn flags
+#define SF_TRACKTRAIN_NOPITCH 0x0001
+#define SF_TRACKTRAIN_NOCONTROL 0x0002
+#define SF_TRACKTRAIN_FORWARDONLY 0x0004
+#define SF_TRACKTRAIN_PASSABLE 0x0008
+#define SF_TRACKTRAIN_FIXED_ORIENTATION 0x0010
+#define SF_TRACKTRAIN_HL1TRAIN 0x0080
+#define SF_TRACKTRAIN_USE_MAXSPEED_FOR_PITCH 0x0100
+#define SF_TRACKTRAIN_UNBLOCKABLE_BY_PLAYER 0x0200
+
+#define TRAIN_ACTIVE 0x80
+#define TRAIN_NEW 0xc0
+#define TRAIN_OFF 0x00
+#define TRAIN_NEUTRAL 0x01
+#define TRAIN_SLOW 0x02
+#define TRAIN_MEDIUM 0x03
+#define TRAIN_FAST 0x04
+#define TRAIN_BACK 0x05
+
+
+enum TrainVelocityType_t
+{
+ TrainVelocity_Instantaneous = 0,
+ TrainVelocity_LinearBlend,
+ TrainVelocity_EaseInEaseOut,
+};
+
+
+enum TrainOrientationType_t
+{
+ TrainOrientation_Fixed = 0,
+ TrainOrientation_AtPathTracks,
+ TrainOrientation_LinearBlend,
+ TrainOrientation_EaseInEaseOut,
+};
+
+class CFuncTrackTrain : public CBaseEntity
+{
+ DECLARE_CLASS( CFuncTrackTrain, CBaseEntity );
+ DECLARE_SERVERCLASS();
+
+public:
+ CFuncTrackTrain();
+
+ void Spawn( void );
+ bool CreateVPhysics( void );
+ void Precache( void );
+ void UpdateOnRemove();
+ void MoveDone();
+
+ virtual int OnTakeDamage( const CTakeDamageInfo &info );
+
+ void Blocked( CBaseEntity *pOther );
+ bool KeyValue( const char *szKeyName, const char *szValue );
+
+ virtual int DrawDebugTextOverlays();
+ void DrawDebugGeometryOverlays();
+
+ void Next( void );
+ void Find( void );
+ void NearestPath( void );
+ void DeadEnd( void );
+
+ void SetTrack( CPathTrack *track ) { m_ppath = track->Nearest(GetLocalOrigin()); }
+ void SetControls( CBaseEntity *pControls );
+ bool OnControls( CBaseEntity *pControls );
+
+ void SoundStop( void );
+ void SoundUpdate( void );
+
+ void Start( void );
+ void Stop( void );
+
+ bool IsDirForward();
+ void SetDirForward( bool bForward );
+ void SetSpeed( float flSpeed, bool bAccel = false );
+ void Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value );
+ void SetSpeedDirAccel( float flNewSpeed );
+
+ // Input handlers
+ void InputSetSpeed( inputdata_t &inputdata );
+ void InputSetSpeedDir( inputdata_t &inputdata );
+ void InputSetSpeedReal( inputdata_t &inputdata );
+ void InputStop( inputdata_t &inputdata );
+ void InputResume( inputdata_t &inputdata );
+ void InputReverse( inputdata_t &inputdata );
+ void InputStartForward( inputdata_t &inputdata );
+ void InputStartBackward( inputdata_t &inputdata );
+ void InputToggle( inputdata_t &inputdata );
+ void InputSetSpeedDirAccel( inputdata_t &inputdata );
+ void InputTeleportToPathTrack( inputdata_t &inputdata );
+ void InputSetSpeedForwardModifier( inputdata_t &inputdata );
+
+ static CFuncTrackTrain *Instance( edict_t *pent );
+
+#ifdef TF_DLL
+ int UpdateTransmitState()
+ {
+ return SetTransmitState( FL_EDICT_ALWAYS );
+ }
+#endif
+
+ DECLARE_DATADESC();
+
+ virtual int ObjectCaps( void ) { return BaseClass::ObjectCaps() | FCAP_DIRECTIONAL_USE | FCAP_USE_ONGROUND; }
+
+ virtual void OnRestore( void );
+
+ float GetMaxSpeed() const { return m_maxSpeed; }
+ float GetCurrentSpeed() const { return m_flSpeed; }
+ float GetDesiredSpeed() const { return m_flDesiredSpeed;}
+
+ virtual bool IsBaseTrain( void ) const { return true; }
+
+ void SetSpeedForwardModifier( float flModifier );
+ void SetBlockDamage( float flDamage ) { m_flBlockDamage = flDamage; }
+ void SetDamageChild( bool bDamageChild ) { m_bDamageChild = bDamageChild; }
+
+private:
+
+ void ArriveAtNode( CPathTrack *pNode );
+ void FirePassInputs( CPathTrack *pStart, CPathTrack *pEnd, bool forward );
+
+public:
+
+ // UNDONE: Add accessors?
+ CPathTrack *m_ppath;
+ float m_length;
+
+#ifdef HL1_DLL
+ bool m_bOnTrackChange; // we don't want to find a new node if we restore while
+ // riding on a func_trackchange
+#endif
+
+private:
+
+ TrainVelocityType_t GetTrainVelocityType();
+ void UpdateTrainVelocity( CPathTrack *pnext, CPathTrack *pNextNext, const Vector &nextPos, float flInterval );
+
+ TrainOrientationType_t GetTrainOrientationType();
+ void UpdateTrainOrientation( CPathTrack *pnext, CPathTrack *pNextNext, const Vector &nextPos, float flInterval );
+ void UpdateOrientationAtPathTracks( CPathTrack *pnext, CPathTrack *pNextNext, const Vector &nextPos, float flInterval );
+ void UpdateOrientationBlend( TrainOrientationType_t eOrientationType, CPathTrack *pPrev, CPathTrack *pNext, const Vector &nextPos, float flInterval );
+ void DoUpdateOrientation( const QAngle &curAngles, const QAngle &angles, float flInterval );
+
+ void TeleportToPathTrack( CPathTrack *pTeleport );
+
+
+ Vector m_controlMins;
+ Vector m_controlMaxs;
+ Vector m_lastBlockPos; // These are used to build a heuristic decision about being temporarily blocked by physics objects
+ int m_lastBlockTick; // ^^^^^^^
+ float m_flVolume;
+ float m_flBank;
+ float m_oldSpeed;
+ float m_flBlockDamage; // Damage to inflict when blocked.
+ float m_height;
+ float m_maxSpeed;
+ float m_dir;
+
+
+ string_t m_iszSoundMove; // Looping sound to play while moving. Pitch shifted based on speed.
+ string_t m_iszSoundMovePing; // Ping sound to play while moving. Interval decreased based on speed.
+ string_t m_iszSoundStart; // Sound to play when starting to move.
+ string_t m_iszSoundStop; // Sound to play when stopping.
+
+ float m_flMoveSoundMinTime; // The most often to play the move 'ping' sound (used at max speed)
+ float m_flMoveSoundMaxTime; // The least often to play the move 'ping' sound (used approaching zero speed)
+ float m_flNextMoveSoundTime;
+
+ int m_nMoveSoundMinPitch; // The sound pitch to approach as we come to a stop
+ int m_nMoveSoundMaxPitch; // The sound pitch to approach as we approach our max speed (actually, it's hardcoded to 1000 in/sec)
+
+ TrainOrientationType_t m_eOrientationType;
+ TrainVelocityType_t m_eVelocityType;
+ bool m_bSoundPlaying;
+
+ COutputEvent m_OnStart,m_OnNext;
+
+ bool m_bManualSpeedChanges; // set when we want to send entity IO to govern speed and obey our TrainVelocityType_t
+ float m_flDesiredSpeed; // target speed, when m_bManualSpeedChanges is set
+ float m_flSpeedChangeTime;
+ float m_flAccelSpeed;
+ float m_flDecelSpeed;
+ bool m_bAccelToSpeed;
+
+ float m_flNextMPSoundTime;
+
+ float m_flSpeedForwardModifier;
+ float m_flUnmodifiedDesiredSpeed;
+
+ bool m_bDamageChild;
+};
+
+
+#endif // TRAINS_H