aboutsummaryrefslogtreecommitdiff
path: root/mp/src/game/server/physics_prop_ragdoll.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/physics_prop_ragdoll.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/physics_prop_ragdoll.h')
-rw-r--r--mp/src/game/server/physics_prop_ragdoll.h324
1 files changed, 162 insertions, 162 deletions
diff --git a/mp/src/game/server/physics_prop_ragdoll.h b/mp/src/game/server/physics_prop_ragdoll.h
index ccaac8a1..7c24b47e 100644
--- a/mp/src/game/server/physics_prop_ragdoll.h
+++ b/mp/src/game/server/physics_prop_ragdoll.h
@@ -1,162 +1,162 @@
-//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose:
-//
-//=============================================================================//
-
-#ifndef PHYSICS_PROP_RAGDOLL_H
-#define PHYSICS_PROP_RAGDOLL_H
-#ifdef _WIN32
-#pragma once
-#endif
-
-#include "ragdoll_shared.h"
-#include "player_pickup.h"
-
-
-//-----------------------------------------------------------------------------
-// Purpose: entity class for simple ragdoll physics
-//-----------------------------------------------------------------------------
-
-// UNDONE: Move this to a private header
-class CRagdollProp : public CBaseAnimating, public CDefaultPlayerPickupVPhysics
-{
- DECLARE_CLASS( CRagdollProp, CBaseAnimating );
-
-public:
- CRagdollProp( void );
- ~CRagdollProp( void );
-
- virtual void UpdateOnRemove( void );
-
- void DrawDebugGeometryOverlays();
-
- void Spawn( void );
- void Precache( void );
-
- // Disable auto fading under dx7 or when level fades are specified
- void DisableAutoFade();
-
- int ObjectCaps();
-
- DECLARE_SERVERCLASS();
- // Don't treat as a live target
- virtual bool IsAlive( void ) { return false; }
-
- virtual void TraceAttack( const CTakeDamageInfo &info, const Vector &dir, trace_t *ptr, CDmgAccumulator *pAccumulator );
- virtual bool TestCollision( const Ray_t &ray, unsigned int mask, trace_t& trace );
- virtual void Teleport( const Vector *newPosition, const QAngle *newAngles, const Vector *newVelocity );
- virtual void SetupBones( matrix3x4_t *pBoneToWorld, int boneMask );
- virtual void VPhysicsUpdate( IPhysicsObject *pPhysics );
- virtual int VPhysicsGetObjectList( IPhysicsObject **pList, int listMax );
-
- virtual int DrawDebugTextOverlays(void);
-
- // Response system stuff
- virtual IResponseSystem *GetResponseSystem();
- virtual void ModifyOrAppendCriteria( AI_CriteriaSet& set );
- void SetSourceClassName( const char *pClassname );
-
- // Physics attacker
- virtual CBasePlayer *HasPhysicsAttacker( float dt );
-
- // locals
- void InitRagdollAnimation( void );
- void InitRagdoll( const Vector &forceVector, int forceBone, const Vector &forcePos, matrix3x4_t *pPrevBones, matrix3x4_t *pBoneToWorld, float dt, int collisionGroup, bool activateRagdoll, bool bWakeRagdoll = true );
-
- void RecheckCollisionFilter( void );
- void SetDebrisThink();
- void ClearFlagsThink( void );
- inline ragdoll_t *GetRagdoll( void ) { return &m_ragdoll; }
-
- virtual bool IsRagdoll() { return true; }
-
- // Damage passing
- virtual void SetDamageEntity( CBaseEntity *pEntity );
- virtual int OnTakeDamage( const CTakeDamageInfo &info );
- virtual void OnSave( IEntitySaveUtils *pUtils );
- virtual void OnRestore();
-
- // Purpose: CDefaultPlayerPickupVPhysics
- virtual void VPhysicsCollision( int index, gamevcollisionevent_t *pEvent );
- virtual void OnPhysGunPickup( CBasePlayer *pPhysGunUser, PhysGunPickup_t reason );
- virtual void OnPhysGunDrop( CBasePlayer *pPhysGunUser, PhysGunDrop_t Reason );
- virtual AngularImpulse PhysGunLaunchAngularImpulse();
- bool HasPhysgunInteraction( const char *pszKeyName, const char *pszValue );
- void HandleFirstCollisionInteractions( int index, gamevcollisionevent_t *pEvent );
-
- void SetUnragdoll( CBaseAnimating *pOther );
-
- void SetBlendWeight( float weight ) { m_flBlendWeight = weight; }
- void SetOverlaySequence( Activity activity );
- void FadeOut( float flDelay = 0, float fadeTime = -1 );
- bool IsFading();
- CBaseEntity* GetKiller() { return m_hKiller; }
- void SetKiller( CBaseEntity *pKiller ) { m_hKiller = pKiller; }
- void GetAngleOverrideFromCurrentState( char *pOut, int size );
-
- void DisableMotion( void );
-
- // Input/Output
- void InputStartRadgollBoogie( inputdata_t &inputdata );
- void InputEnableMotion( inputdata_t &inputdata );
- void InputDisableMotion( inputdata_t &inputdata );
- void InputTurnOn( inputdata_t &inputdata );
- void InputTurnOff( inputdata_t &inputdata );
- void InputFadeAndRemove( inputdata_t &inputdata );
-
- DECLARE_DATADESC();
-
-protected:
- void CalcRagdollSize( void );
- ragdoll_t m_ragdoll;
-
-private:
- void UpdateNetworkDataFromVPhysics( IPhysicsObject *pPhysics, int index );
- void FadeOutThink();
-
- bool m_bStartDisabled;
-
- CNetworkArray( Vector, m_ragPos, RAGDOLL_MAX_ELEMENTS );
- CNetworkArray( QAngle, m_ragAngles, RAGDOLL_MAX_ELEMENTS );
-
- string_t m_anglesOverrideString;
-
- typedef CHandle<CBaseAnimating> CBaseAnimatingHandle;
- CNetworkVar( CBaseAnimatingHandle, m_hUnragdoll );
-
-
- unsigned int m_lastUpdateTickCount;
- bool m_allAsleep;
- bool m_bFirstCollisionAfterLaunch;
- EHANDLE m_hDamageEntity;
- EHANDLE m_hKiller; // Who killed me?
- CHandle<CBasePlayer> m_hPhysicsAttacker;
- float m_flLastPhysicsInfluenceTime;
- float m_flFadeOutStartTime;
- float m_flFadeTime;
-
-
- string_t m_strSourceClassName;
- bool m_bHasBeenPhysgunned;
-
- // If not 1, then allow underlying sequence to blend in with simulated bone positions
- CNetworkVar( float, m_flBlendWeight );
- CNetworkVar( int, m_nOverlaySequence );
- float m_flDefaultFadeScale;
-
- Vector m_ragdollMins[RAGDOLL_MAX_ELEMENTS];
- Vector m_ragdollMaxs[RAGDOLL_MAX_ELEMENTS];
-};
-
-CBaseEntity *CreateServerRagdoll( CBaseAnimating *pAnimating, int forceBone, const CTakeDamageInfo &info, int collisionGroup, bool bUseLRURetirement = false );
-CRagdollProp *CreateServerRagdollAttached( CBaseAnimating *pAnimating, const Vector &vecForce, int forceBone, int collisionGroup, IPhysicsObject *pAttached, CBaseAnimating *pParentEntity, int boneAttach, const Vector &originAttached, int parentBoneAttach, const Vector &boneOrigin );
-void DetachAttachedRagdoll( CBaseEntity *pRagdollIn );
-void DetachAttachedRagdollsForEntity( CBaseEntity *pRagdollParent );
-CBaseAnimating *CreateServerRagdollSubmodel( CBaseAnimating *pOwner, const char *pModelName, const Vector &position, const QAngle &angles, int collisionGroup );
-
-bool Ragdoll_IsPropRagdoll( CBaseEntity *pEntity );
-void Ragdoll_GetAngleOverrideString( char *pOut, int size, CBaseEntity *pEntity );
-ragdoll_t *Ragdoll_GetRagdoll( CBaseEntity *pEntity );
-
-#endif // PHYSICS_PROP_RAGDOLL_H
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+//=============================================================================//
+
+#ifndef PHYSICS_PROP_RAGDOLL_H
+#define PHYSICS_PROP_RAGDOLL_H
+#ifdef _WIN32
+#pragma once
+#endif
+
+#include "ragdoll_shared.h"
+#include "player_pickup.h"
+
+
+//-----------------------------------------------------------------------------
+// Purpose: entity class for simple ragdoll physics
+//-----------------------------------------------------------------------------
+
+// UNDONE: Move this to a private header
+class CRagdollProp : public CBaseAnimating, public CDefaultPlayerPickupVPhysics
+{
+ DECLARE_CLASS( CRagdollProp, CBaseAnimating );
+
+public:
+ CRagdollProp( void );
+ ~CRagdollProp( void );
+
+ virtual void UpdateOnRemove( void );
+
+ void DrawDebugGeometryOverlays();
+
+ void Spawn( void );
+ void Precache( void );
+
+ // Disable auto fading under dx7 or when level fades are specified
+ void DisableAutoFade();
+
+ int ObjectCaps();
+
+ DECLARE_SERVERCLASS();
+ // Don't treat as a live target
+ virtual bool IsAlive( void ) { return false; }
+
+ virtual void TraceAttack( const CTakeDamageInfo &info, const Vector &dir, trace_t *ptr, CDmgAccumulator *pAccumulator );
+ virtual bool TestCollision( const Ray_t &ray, unsigned int mask, trace_t& trace );
+ virtual void Teleport( const Vector *newPosition, const QAngle *newAngles, const Vector *newVelocity );
+ virtual void SetupBones( matrix3x4_t *pBoneToWorld, int boneMask );
+ virtual void VPhysicsUpdate( IPhysicsObject *pPhysics );
+ virtual int VPhysicsGetObjectList( IPhysicsObject **pList, int listMax );
+
+ virtual int DrawDebugTextOverlays(void);
+
+ // Response system stuff
+ virtual IResponseSystem *GetResponseSystem();
+ virtual void ModifyOrAppendCriteria( AI_CriteriaSet& set );
+ void SetSourceClassName( const char *pClassname );
+
+ // Physics attacker
+ virtual CBasePlayer *HasPhysicsAttacker( float dt );
+
+ // locals
+ void InitRagdollAnimation( void );
+ void InitRagdoll( const Vector &forceVector, int forceBone, const Vector &forcePos, matrix3x4_t *pPrevBones, matrix3x4_t *pBoneToWorld, float dt, int collisionGroup, bool activateRagdoll, bool bWakeRagdoll = true );
+
+ void RecheckCollisionFilter( void );
+ void SetDebrisThink();
+ void ClearFlagsThink( void );
+ inline ragdoll_t *GetRagdoll( void ) { return &m_ragdoll; }
+
+ virtual bool IsRagdoll() { return true; }
+
+ // Damage passing
+ virtual void SetDamageEntity( CBaseEntity *pEntity );
+ virtual int OnTakeDamage( const CTakeDamageInfo &info );
+ virtual void OnSave( IEntitySaveUtils *pUtils );
+ virtual void OnRestore();
+
+ // Purpose: CDefaultPlayerPickupVPhysics
+ virtual void VPhysicsCollision( int index, gamevcollisionevent_t *pEvent );
+ virtual void OnPhysGunPickup( CBasePlayer *pPhysGunUser, PhysGunPickup_t reason );
+ virtual void OnPhysGunDrop( CBasePlayer *pPhysGunUser, PhysGunDrop_t Reason );
+ virtual AngularImpulse PhysGunLaunchAngularImpulse();
+ bool HasPhysgunInteraction( const char *pszKeyName, const char *pszValue );
+ void HandleFirstCollisionInteractions( int index, gamevcollisionevent_t *pEvent );
+
+ void SetUnragdoll( CBaseAnimating *pOther );
+
+ void SetBlendWeight( float weight ) { m_flBlendWeight = weight; }
+ void SetOverlaySequence( Activity activity );
+ void FadeOut( float flDelay = 0, float fadeTime = -1 );
+ bool IsFading();
+ CBaseEntity* GetKiller() { return m_hKiller; }
+ void SetKiller( CBaseEntity *pKiller ) { m_hKiller = pKiller; }
+ void GetAngleOverrideFromCurrentState( char *pOut, int size );
+
+ void DisableMotion( void );
+
+ // Input/Output
+ void InputStartRadgollBoogie( inputdata_t &inputdata );
+ void InputEnableMotion( inputdata_t &inputdata );
+ void InputDisableMotion( inputdata_t &inputdata );
+ void InputTurnOn( inputdata_t &inputdata );
+ void InputTurnOff( inputdata_t &inputdata );
+ void InputFadeAndRemove( inputdata_t &inputdata );
+
+ DECLARE_DATADESC();
+
+protected:
+ void CalcRagdollSize( void );
+ ragdoll_t m_ragdoll;
+
+private:
+ void UpdateNetworkDataFromVPhysics( IPhysicsObject *pPhysics, int index );
+ void FadeOutThink();
+
+ bool m_bStartDisabled;
+
+ CNetworkArray( Vector, m_ragPos, RAGDOLL_MAX_ELEMENTS );
+ CNetworkArray( QAngle, m_ragAngles, RAGDOLL_MAX_ELEMENTS );
+
+ string_t m_anglesOverrideString;
+
+ typedef CHandle<CBaseAnimating> CBaseAnimatingHandle;
+ CNetworkVar( CBaseAnimatingHandle, m_hUnragdoll );
+
+
+ unsigned int m_lastUpdateTickCount;
+ bool m_allAsleep;
+ bool m_bFirstCollisionAfterLaunch;
+ EHANDLE m_hDamageEntity;
+ EHANDLE m_hKiller; // Who killed me?
+ CHandle<CBasePlayer> m_hPhysicsAttacker;
+ float m_flLastPhysicsInfluenceTime;
+ float m_flFadeOutStartTime;
+ float m_flFadeTime;
+
+
+ string_t m_strSourceClassName;
+ bool m_bHasBeenPhysgunned;
+
+ // If not 1, then allow underlying sequence to blend in with simulated bone positions
+ CNetworkVar( float, m_flBlendWeight );
+ CNetworkVar( int, m_nOverlaySequence );
+ float m_flDefaultFadeScale;
+
+ Vector m_ragdollMins[RAGDOLL_MAX_ELEMENTS];
+ Vector m_ragdollMaxs[RAGDOLL_MAX_ELEMENTS];
+};
+
+CBaseEntity *CreateServerRagdoll( CBaseAnimating *pAnimating, int forceBone, const CTakeDamageInfo &info, int collisionGroup, bool bUseLRURetirement = false );
+CRagdollProp *CreateServerRagdollAttached( CBaseAnimating *pAnimating, const Vector &vecForce, int forceBone, int collisionGroup, IPhysicsObject *pAttached, CBaseAnimating *pParentEntity, int boneAttach, const Vector &originAttached, int parentBoneAttach, const Vector &boneOrigin );
+void DetachAttachedRagdoll( CBaseEntity *pRagdollIn );
+void DetachAttachedRagdollsForEntity( CBaseEntity *pRagdollParent );
+CBaseAnimating *CreateServerRagdollSubmodel( CBaseAnimating *pOwner, const char *pModelName, const Vector &position, const QAngle &angles, int collisionGroup );
+
+bool Ragdoll_IsPropRagdoll( CBaseEntity *pEntity );
+void Ragdoll_GetAngleOverrideString( char *pOut, int size, CBaseEntity *pEntity );
+ragdoll_t *Ragdoll_GetRagdoll( CBaseEntity *pEntity );
+
+#endif // PHYSICS_PROP_RAGDOLL_H