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/shared/point_posecontroller.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/shared/point_posecontroller.h')
| -rw-r--r-- | mp/src/game/shared/point_posecontroller.h | 298 |
1 files changed, 149 insertions, 149 deletions
diff --git a/mp/src/game/shared/point_posecontroller.h b/mp/src/game/shared/point_posecontroller.h index 593b0a17..2e11bc5e 100644 --- a/mp/src/game/shared/point_posecontroller.h +++ b/mp/src/game/shared/point_posecontroller.h @@ -1,150 +1,150 @@ -//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose: Controls the pose parameters of a model
-//
-//===========================================================================//
-
-
-#define MAX_POSE_CONTROLLED_PROPS 4 // Number of entities by the same name that can be controlled
-
-
-// Type of frequency modulations
-enum PoseController_FModType_t
-{
- POSECONTROLLER_FMODTYPE_NONE = 0,
- POSECONTROLLER_FMODTYPE_SINE,
- POSECONTROLLER_FMODTYPE_SQUARE,
- POSECONTROLLER_FMODTYPE_TRIANGLE,
- POSECONTROLLER_FMODTYPE_SAWTOOTH,
- POSECONTROLLER_FMODTYPE_NOISE,
-
- POSECONTROLLER_FMODTYPE_TOTAL,
-};
-
-
-#ifndef CLIENT_DLL
-//-----------------------------------------------------------------------------
-// SERVER CLASS
-//-----------------------------------------------------------------------------
-
-#include "baseentity.h"
-
-
-class CPoseController : public CBaseEntity
-{
-public:
- DECLARE_CLASS( CPoseController, CBaseEntity );
- DECLARE_SERVERCLASS();
- DECLARE_DATADESC();
-
- virtual void Spawn( void );
-
- void Think( void );
-
- void BuildPropList( void );
- void BuildPoseIndexList( void );
- void SetPoseIndex( int i, int iValue );
- void SetCurrentPose( float fCurrentPoseValue );
-
- float GetPoseValue( void );
-
- void SetProp( CBaseAnimating *pProp );
- void SetPropName( const char *pName );
- void SetPoseParameterName( const char *pName );
- void SetPoseValue( float fValue );
- void SetInterpolationTime( float fValue );
- void SetInterpolationWrap( bool bWrap );
- void SetCycleFrequency( float fValue );
- void SetFModType( int nType );
- void SetFModTimeOffset( float fValue );
- void SetFModRate( float fValue );
- void SetFModAmplitude( float fValue );
- void RandomizeFMod( float fExtremeness );
-
- // Input handlers
- void InputSetPoseParameterName( inputdata_t &inputdata );
- void InputSetPoseValue( inputdata_t &inputdata );
- void InputSetInterpolationTime( inputdata_t &inputdata );
- void InputSetCycleFrequency( inputdata_t &inputdata );
- void InputSetFModType( inputdata_t &inputdata );
- void InputSetFModTimeOffset( inputdata_t &inputdata );
- void InputSetFModRate( inputdata_t &inputdata );
- void InputSetFModAmplitude( inputdata_t &inputdata );
- void InputRandomizeFMod( inputdata_t &inputdata );
- void InputGetFMod( inputdata_t &inputdata );
-
-private:
-
- CNetworkArray( EHANDLE, m_hProps, MAX_POSE_CONTROLLED_PROPS ); // Handles to controlled models
- CNetworkArray( unsigned char, m_chPoseIndex, MAX_POSE_CONTROLLED_PROPS ); // Pose parameter indices for each model
-
- bool m_bDisablePropLookup;
-
- CNetworkVar( bool, m_bPoseValueParity );
-
- string_t m_iszPropName; // Targetname of the models to control
- string_t m_iszPoseParameterName; // Pose parameter name to control
-
- CNetworkVar( float, m_fPoseValue ); // Normalized pose parameter value (maps to each pose parameter's min and max range)
- CNetworkVar( float, m_fInterpolationTime ); // Interpolation speed for client matching absolute pose values
- CNetworkVar( bool, m_bInterpolationWrap ); // Interpolation for the client wraps 0 to 1.
-
- CNetworkVar( float, m_fCycleFrequency ); // Cycles per second
-
- // Frequency modulation variables
- CNetworkVar( PoseController_FModType_t, m_nFModType );
- CNetworkVar( float, m_fFModTimeOffset );
- CNetworkVar( float, m_fFModRate );
- CNetworkVar( float, m_fFModAmplitude );
-};
-
-
-#else //#ifndef CLIENT_DLL
-//-----------------------------------------------------------------------------
-// CLIENT CLASS
-//-----------------------------------------------------------------------------
-
-#include "c_baseentity.h"
-#include "fx_interpvalue.h"
-
-
-class C_PoseController : public C_BaseEntity
-{
-public:
- DECLARE_CLASS( C_PoseController, C_BaseEntity );
- DECLARE_CLIENTCLASS();
-
- virtual void Spawn( void );
- virtual void OnDataChanged( DataUpdateType_t updateType );
-
- virtual void ClientThink( void );
-
-private:
-
- void UpdateModulation( void );
- void UpdatePoseCycle( float fCycleAmount );
- void SetCurrentPose( float fCurrentPoseValue );
-
-
- // Networked variables
- EHANDLE m_hProps[MAX_POSE_CONTROLLED_PROPS];
- unsigned char m_chPoseIndex[MAX_POSE_CONTROLLED_PROPS];
- bool m_bPoseValueParity;
- float m_fPoseValue;
- float m_fInterpolationTime;
- bool m_bInterpolationWrap;
- float m_fCycleFrequency;
- PoseController_FModType_t m_nFModType;
- float m_fFModTimeOffset;
- float m_fFModRate;
- float m_fFModAmplitude;
- bool m_bOldPoseValueParity;
-
- float m_fCurrentPoseValue; // Actual pose value cycled by the frequency and modulation
- float m_fCurrentFMod; // The current fequency modulation amount (stored for noise walk)
-
- CInterpolatedValue m_PoseTransitionValue;
-};
-
-
+//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: Controls the pose parameters of a model +// +//===========================================================================// + + +#define MAX_POSE_CONTROLLED_PROPS 4 // Number of entities by the same name that can be controlled + + +// Type of frequency modulations +enum PoseController_FModType_t +{ + POSECONTROLLER_FMODTYPE_NONE = 0, + POSECONTROLLER_FMODTYPE_SINE, + POSECONTROLLER_FMODTYPE_SQUARE, + POSECONTROLLER_FMODTYPE_TRIANGLE, + POSECONTROLLER_FMODTYPE_SAWTOOTH, + POSECONTROLLER_FMODTYPE_NOISE, + + POSECONTROLLER_FMODTYPE_TOTAL, +}; + + +#ifndef CLIENT_DLL +//----------------------------------------------------------------------------- +// SERVER CLASS +//----------------------------------------------------------------------------- + +#include "baseentity.h" + + +class CPoseController : public CBaseEntity +{ +public: + DECLARE_CLASS( CPoseController, CBaseEntity ); + DECLARE_SERVERCLASS(); + DECLARE_DATADESC(); + + virtual void Spawn( void ); + + void Think( void ); + + void BuildPropList( void ); + void BuildPoseIndexList( void ); + void SetPoseIndex( int i, int iValue ); + void SetCurrentPose( float fCurrentPoseValue ); + + float GetPoseValue( void ); + + void SetProp( CBaseAnimating *pProp ); + void SetPropName( const char *pName ); + void SetPoseParameterName( const char *pName ); + void SetPoseValue( float fValue ); + void SetInterpolationTime( float fValue ); + void SetInterpolationWrap( bool bWrap ); + void SetCycleFrequency( float fValue ); + void SetFModType( int nType ); + void SetFModTimeOffset( float fValue ); + void SetFModRate( float fValue ); + void SetFModAmplitude( float fValue ); + void RandomizeFMod( float fExtremeness ); + + // Input handlers + void InputSetPoseParameterName( inputdata_t &inputdata ); + void InputSetPoseValue( inputdata_t &inputdata ); + void InputSetInterpolationTime( inputdata_t &inputdata ); + void InputSetCycleFrequency( inputdata_t &inputdata ); + void InputSetFModType( inputdata_t &inputdata ); + void InputSetFModTimeOffset( inputdata_t &inputdata ); + void InputSetFModRate( inputdata_t &inputdata ); + void InputSetFModAmplitude( inputdata_t &inputdata ); + void InputRandomizeFMod( inputdata_t &inputdata ); + void InputGetFMod( inputdata_t &inputdata ); + +private: + + CNetworkArray( EHANDLE, m_hProps, MAX_POSE_CONTROLLED_PROPS ); // Handles to controlled models + CNetworkArray( unsigned char, m_chPoseIndex, MAX_POSE_CONTROLLED_PROPS ); // Pose parameter indices for each model + + bool m_bDisablePropLookup; + + CNetworkVar( bool, m_bPoseValueParity ); + + string_t m_iszPropName; // Targetname of the models to control + string_t m_iszPoseParameterName; // Pose parameter name to control + + CNetworkVar( float, m_fPoseValue ); // Normalized pose parameter value (maps to each pose parameter's min and max range) + CNetworkVar( float, m_fInterpolationTime ); // Interpolation speed for client matching absolute pose values + CNetworkVar( bool, m_bInterpolationWrap ); // Interpolation for the client wraps 0 to 1. + + CNetworkVar( float, m_fCycleFrequency ); // Cycles per second + + // Frequency modulation variables + CNetworkVar( PoseController_FModType_t, m_nFModType ); + CNetworkVar( float, m_fFModTimeOffset ); + CNetworkVar( float, m_fFModRate ); + CNetworkVar( float, m_fFModAmplitude ); +}; + + +#else //#ifndef CLIENT_DLL +//----------------------------------------------------------------------------- +// CLIENT CLASS +//----------------------------------------------------------------------------- + +#include "c_baseentity.h" +#include "fx_interpvalue.h" + + +class C_PoseController : public C_BaseEntity +{ +public: + DECLARE_CLASS( C_PoseController, C_BaseEntity ); + DECLARE_CLIENTCLASS(); + + virtual void Spawn( void ); + virtual void OnDataChanged( DataUpdateType_t updateType ); + + virtual void ClientThink( void ); + +private: + + void UpdateModulation( void ); + void UpdatePoseCycle( float fCycleAmount ); + void SetCurrentPose( float fCurrentPoseValue ); + + + // Networked variables + EHANDLE m_hProps[MAX_POSE_CONTROLLED_PROPS]; + unsigned char m_chPoseIndex[MAX_POSE_CONTROLLED_PROPS]; + bool m_bPoseValueParity; + float m_fPoseValue; + float m_fInterpolationTime; + bool m_bInterpolationWrap; + float m_fCycleFrequency; + PoseController_FModType_t m_nFModType; + float m_fFModTimeOffset; + float m_fFModRate; + float m_fFModAmplitude; + bool m_bOldPoseValueParity; + + float m_fCurrentPoseValue; // Actual pose value cycled by the frequency and modulation + float m_fCurrentFMod; // The current fequency modulation amount (stored for noise walk) + + CInterpolatedValue m_PoseTransitionValue; +}; + + #endif //#ifndef CLIENT_DLL
\ No newline at end of file |