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/baseviewmodel_shared.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/baseviewmodel_shared.h')
| -rw-r--r-- | mp/src/game/shared/baseviewmodel_shared.h | 420 |
1 files changed, 210 insertions, 210 deletions
diff --git a/mp/src/game/shared/baseviewmodel_shared.h b/mp/src/game/shared/baseviewmodel_shared.h index 5abe81d2..15d3be53 100644 --- a/mp/src/game/shared/baseviewmodel_shared.h +++ b/mp/src/game/shared/baseviewmodel_shared.h @@ -1,210 +1,210 @@ -//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose:
-//
-// $NoKeywords: $
-//=============================================================================//
-
-#ifndef BASEVIEWMODEL_SHARED_H
-#define BASEVIEWMODEL_SHARED_H
-#ifdef _WIN32
-#pragma once
-#endif
-
-#include "predictable_entity.h"
-#include "utlvector.h"
-#include "baseplayer_shared.h"
-#include "shared_classnames.h"
-#include "econ/ihasowner.h"
-
-class CBaseCombatWeapon;
-class CBaseCombatCharacter;
-class CVGuiScreen;
-
-#if defined( CLIENT_DLL )
-#define CBaseViewModel C_BaseViewModel
-#define CBaseCombatWeapon C_BaseCombatWeapon
-#endif
-
-#define VIEWMODEL_INDEX_BITS 1
-
-class CBaseViewModel : public CBaseAnimating, public IHasOwner
-{
- DECLARE_CLASS( CBaseViewModel, CBaseAnimating );
-public:
-
- DECLARE_NETWORKCLASS();
- DECLARE_PREDICTABLE();
-
-#if !defined( CLIENT_DLL )
- DECLARE_DATADESC();
-#endif
-
- CBaseViewModel( void );
- ~CBaseViewModel( void );
-
-
- bool IsViewable(void) { return false; }
-
- virtual void UpdateOnRemove( void );
-
- // Weapon client handling
- virtual void SendViewModelMatchingSequence( int sequence );
- virtual void SetWeaponModel( const char *pszModelname, CBaseCombatWeapon *weapon );
-
- virtual void CalcViewModelLag( Vector& origin, QAngle& angles, QAngle& original_angles );
- virtual void CalcViewModelView( CBasePlayer *owner, const Vector& eyePosition,
- const QAngle& eyeAngles );
- virtual void AddViewModelBob( CBasePlayer *owner, Vector& eyePosition, QAngle& eyeAngles ) {};
-
- // Initializes the viewmodel for use
- void SetOwner( CBaseEntity *pEntity );
- void SetIndex( int nIndex );
- // Returns which viewmodel it is
- int ViewModelIndex( ) const;
-
- virtual void Precache( void );
-
- virtual void Spawn( void );
-
- virtual CBaseEntity *GetOwner( void ) { return m_hOwner; };
-
- virtual void AddEffects( int nEffects );
- virtual void RemoveEffects( int nEffects );
-
- void SpawnControlPanels();
- void DestroyControlPanels();
- void SetControlPanelsActive( bool bState );
- void ShowControlPanells( bool show );
-
- virtual CBaseCombatWeapon *GetOwningWeapon( void );
-
- virtual CBaseEntity *GetOwnerViaInterface( void ) { return GetOwner(); }
-
- virtual bool IsSelfAnimating()
- {
- return true;
- }
-
- Vector m_vecLastFacing;
-
- // Only support prediction in TF2 for now
-#if defined( INVASION_DLL ) || defined( INVASION_CLIENT_DLL )
- // All predicted weapons need to implement and return true
- virtual bool IsPredicted( void ) const
- {
- return true;
- }
-#endif
-
-#if !defined( CLIENT_DLL )
- virtual int UpdateTransmitState( void );
- virtual int ShouldTransmit( const CCheckTransmitInfo *pInfo );
- virtual void SetTransmit( CCheckTransmitInfo *pInfo, bool bAlways );
-#else
-
- virtual RenderGroup_t GetRenderGroup();
-
-// Only supported in TF2 right now
-#if defined( INVASION_CLIENT_DLL )
-
- virtual bool ShouldPredict( void )
- {
- if ( GetOwner() && GetOwner() == C_BasePlayer::GetLocalPlayer() )
- return true;
-
- return BaseClass::ShouldPredict();
- }
-
-#endif
-
-
- virtual void FireEvent( const Vector& origin, const QAngle& angles, int event, const char *options );
-
- virtual void OnDataChanged( DataUpdateType_t updateType );
- virtual void PostDataUpdate( DataUpdateType_t updateType );
-
- virtual bool Interpolate( float currentTime );
-
- bool ShouldFlipViewModel();
- void UpdateAnimationParity( void );
-
- virtual void ApplyBoneMatrixTransform( matrix3x4_t& transform );
-
- virtual bool ShouldDraw();
- virtual int DrawModel( int flags );
- virtual int InternalDrawModel( int flags );
- int DrawOverriddenViewmodel( int flags );
- virtual int GetFxBlend( void );
- virtual bool IsTransparent( void );
- virtual bool UsesPowerOfTwoFrameBufferTexture( void );
-
- // Should this object cast shadows?
- virtual ShadowType_t ShadowCastType() { return SHADOWS_NONE; }
-
- // Should this object receive shadows?
- virtual bool ShouldReceiveProjectedTextures( int flags )
- {
- return false;
- }
-
- // Add entity to visible view models list?
- virtual void AddEntity( void );
-
- virtual void GetBoneControllers(float controllers[MAXSTUDIOBONECTRLS]);
-
- // See C_StudioModel's definition of this.
- virtual void UncorrectViewModelAttachment( Vector &vOrigin );
-
- // (inherited from C_BaseAnimating)
- virtual void FormatViewModelAttachment( int nAttachment, matrix3x4_t &attachmentToWorld );
- virtual bool IsViewModel() const;
-
- CBaseCombatWeapon *GetWeapon() const { return m_hWeapon.Get(); }
-
-#ifdef CLIENT_DLL
- virtual bool ShouldResetSequenceOnNewModel( void ) { return false; }
-
- // Attachments
- virtual int LookupAttachment( const char *pAttachmentName );
- virtual bool GetAttachment( int number, matrix3x4_t &matrix );
- virtual bool GetAttachment( int number, Vector &origin );
- virtual bool GetAttachment( int number, Vector &origin, QAngle &angles );
- virtual bool GetAttachmentVelocity( int number, Vector &originVel, Quaternion &angleVel );
-#endif
-
-private:
- CBaseViewModel( const CBaseViewModel & ); // not defined, not accessible
-
-#endif
-
-private:
- CNetworkVar( int, m_nViewModelIndex ); // Which viewmodel is it?
- CNetworkHandle( CBaseEntity, m_hOwner ); // Player or AI carrying this weapon
-
- // soonest time Update will call WeaponIdle
- float m_flTimeWeaponIdle;
-
- Activity m_Activity;
-
- // Used to force restart on client, only needs a few bits
- CNetworkVar( int, m_nAnimationParity );
-
- // Weapon art
- string_t m_sVMName; // View model of this weapon
- string_t m_sAnimationPrefix; // Prefix of the animations that should be used by the player carrying this weapon
-
-#if defined( CLIENT_DLL )
- int m_nOldAnimationParity;
-#endif
-
-
- typedef CHandle< CBaseCombatWeapon > CBaseCombatWeaponHandle;
- CNetworkVar( CBaseCombatWeaponHandle, m_hWeapon );
-
- // Control panel
- typedef CHandle<CVGuiScreen> ScreenHandle_t;
- CUtlVector<ScreenHandle_t> m_hScreens;
-};
-
-#endif // BASEVIEWMODEL_SHARED_H
+//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef BASEVIEWMODEL_SHARED_H +#define BASEVIEWMODEL_SHARED_H +#ifdef _WIN32 +#pragma once +#endif + +#include "predictable_entity.h" +#include "utlvector.h" +#include "baseplayer_shared.h" +#include "shared_classnames.h" +#include "econ/ihasowner.h" + +class CBaseCombatWeapon; +class CBaseCombatCharacter; +class CVGuiScreen; + +#if defined( CLIENT_DLL ) +#define CBaseViewModel C_BaseViewModel +#define CBaseCombatWeapon C_BaseCombatWeapon +#endif + +#define VIEWMODEL_INDEX_BITS 1 + +class CBaseViewModel : public CBaseAnimating, public IHasOwner +{ + DECLARE_CLASS( CBaseViewModel, CBaseAnimating ); +public: + + DECLARE_NETWORKCLASS(); + DECLARE_PREDICTABLE(); + +#if !defined( CLIENT_DLL ) + DECLARE_DATADESC(); +#endif + + CBaseViewModel( void ); + ~CBaseViewModel( void ); + + + bool IsViewable(void) { return false; } + + virtual void UpdateOnRemove( void ); + + // Weapon client handling + virtual void SendViewModelMatchingSequence( int sequence ); + virtual void SetWeaponModel( const char *pszModelname, CBaseCombatWeapon *weapon ); + + virtual void CalcViewModelLag( Vector& origin, QAngle& angles, QAngle& original_angles ); + virtual void CalcViewModelView( CBasePlayer *owner, const Vector& eyePosition, + const QAngle& eyeAngles ); + virtual void AddViewModelBob( CBasePlayer *owner, Vector& eyePosition, QAngle& eyeAngles ) {}; + + // Initializes the viewmodel for use + void SetOwner( CBaseEntity *pEntity ); + void SetIndex( int nIndex ); + // Returns which viewmodel it is + int ViewModelIndex( ) const; + + virtual void Precache( void ); + + virtual void Spawn( void ); + + virtual CBaseEntity *GetOwner( void ) { return m_hOwner; }; + + virtual void AddEffects( int nEffects ); + virtual void RemoveEffects( int nEffects ); + + void SpawnControlPanels(); + void DestroyControlPanels(); + void SetControlPanelsActive( bool bState ); + void ShowControlPanells( bool show ); + + virtual CBaseCombatWeapon *GetOwningWeapon( void ); + + virtual CBaseEntity *GetOwnerViaInterface( void ) { return GetOwner(); } + + virtual bool IsSelfAnimating() + { + return true; + } + + Vector m_vecLastFacing; + + // Only support prediction in TF2 for now +#if defined( INVASION_DLL ) || defined( INVASION_CLIENT_DLL ) + // All predicted weapons need to implement and return true + virtual bool IsPredicted( void ) const + { + return true; + } +#endif + +#if !defined( CLIENT_DLL ) + virtual int UpdateTransmitState( void ); + virtual int ShouldTransmit( const CCheckTransmitInfo *pInfo ); + virtual void SetTransmit( CCheckTransmitInfo *pInfo, bool bAlways ); +#else + + virtual RenderGroup_t GetRenderGroup(); + +// Only supported in TF2 right now +#if defined( INVASION_CLIENT_DLL ) + + virtual bool ShouldPredict( void ) + { + if ( GetOwner() && GetOwner() == C_BasePlayer::GetLocalPlayer() ) + return true; + + return BaseClass::ShouldPredict(); + } + +#endif + + + virtual void FireEvent( const Vector& origin, const QAngle& angles, int event, const char *options ); + + virtual void OnDataChanged( DataUpdateType_t updateType ); + virtual void PostDataUpdate( DataUpdateType_t updateType ); + + virtual bool Interpolate( float currentTime ); + + bool ShouldFlipViewModel(); + void UpdateAnimationParity( void ); + + virtual void ApplyBoneMatrixTransform( matrix3x4_t& transform ); + + virtual bool ShouldDraw(); + virtual int DrawModel( int flags ); + virtual int InternalDrawModel( int flags ); + int DrawOverriddenViewmodel( int flags ); + virtual int GetFxBlend( void ); + virtual bool IsTransparent( void ); + virtual bool UsesPowerOfTwoFrameBufferTexture( void ); + + // Should this object cast shadows? + virtual ShadowType_t ShadowCastType() { return SHADOWS_NONE; } + + // Should this object receive shadows? + virtual bool ShouldReceiveProjectedTextures( int flags ) + { + return false; + } + + // Add entity to visible view models list? + virtual void AddEntity( void ); + + virtual void GetBoneControllers(float controllers[MAXSTUDIOBONECTRLS]); + + // See C_StudioModel's definition of this. + virtual void UncorrectViewModelAttachment( Vector &vOrigin ); + + // (inherited from C_BaseAnimating) + virtual void FormatViewModelAttachment( int nAttachment, matrix3x4_t &attachmentToWorld ); + virtual bool IsViewModel() const; + + CBaseCombatWeapon *GetWeapon() const { return m_hWeapon.Get(); } + +#ifdef CLIENT_DLL + virtual bool ShouldResetSequenceOnNewModel( void ) { return false; } + + // Attachments + virtual int LookupAttachment( const char *pAttachmentName ); + virtual bool GetAttachment( int number, matrix3x4_t &matrix ); + virtual bool GetAttachment( int number, Vector &origin ); + virtual bool GetAttachment( int number, Vector &origin, QAngle &angles ); + virtual bool GetAttachmentVelocity( int number, Vector &originVel, Quaternion &angleVel ); +#endif + +private: + CBaseViewModel( const CBaseViewModel & ); // not defined, not accessible + +#endif + +private: + CNetworkVar( int, m_nViewModelIndex ); // Which viewmodel is it? + CNetworkHandle( CBaseEntity, m_hOwner ); // Player or AI carrying this weapon + + // soonest time Update will call WeaponIdle + float m_flTimeWeaponIdle; + + Activity m_Activity; + + // Used to force restart on client, only needs a few bits + CNetworkVar( int, m_nAnimationParity ); + + // Weapon art + string_t m_sVMName; // View model of this weapon + string_t m_sAnimationPrefix; // Prefix of the animations that should be used by the player carrying this weapon + +#if defined( CLIENT_DLL ) + int m_nOldAnimationParity; +#endif + + + typedef CHandle< CBaseCombatWeapon > CBaseCombatWeaponHandle; + CNetworkVar( CBaseCombatWeaponHandle, m_hWeapon ); + + // Control panel + typedef CHandle<CVGuiScreen> ScreenHandle_t; + CUtlVector<ScreenHandle_t> m_hScreens; +}; + +#endif // BASEVIEWMODEL_SHARED_H |