diff options
Diffstat (limited to 'game/server/portal/weapon_physcannon.h')
| -rw-r--r-- | game/server/portal/weapon_physcannon.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/game/server/portal/weapon_physcannon.h b/game/server/portal/weapon_physcannon.h new file mode 100644 index 0000000..d544777 --- /dev/null +++ b/game/server/portal/weapon_physcannon.h @@ -0,0 +1,41 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +//=============================================================================// + +#ifndef WEAPON_PHYSCANNON_H +#define WEAPON_PHYSCANNON_H +#ifdef _WIN32 +#pragma once +#endif + +class CGrabController; + +//----------------------------------------------------------------------------- +// Do we have the super-phys gun? +//----------------------------------------------------------------------------- +bool PlayerHasMegaPhysCannon(); + +// force the physcannon to drop an object (if carried) +void PhysCannonForceDrop( CBaseCombatWeapon *pActiveWeapon, CBaseEntity *pOnlyIfHoldingThis ); +void PhysCannonBeginUpgrade( CBaseAnimating *pAnim ); + +bool PlayerPickupControllerIsHoldingEntity( CBaseEntity *pPickupController, CBaseEntity *pHeldEntity ); +void ShutdownPickupController( CBaseEntity *pPickupControllerEntity ); +float PlayerPickupGetHeldObjectMass( CBaseEntity *pPickupControllerEntity, IPhysicsObject *pHeldObject ); +float PhysCannonGetHeldObjectMass( CBaseCombatWeapon *pActiveWeapon, IPhysicsObject *pHeldObject ); + +CBaseEntity *PhysCannonGetHeldEntity( CBaseCombatWeapon *pActiveWeapon ); +CBaseEntity *GetPlayerHeldEntity( CBasePlayer *pPlayer ); +CBasePlayer *GetPlayerHoldingEntity( CBaseEntity *pEntity ); + +CGrabController *GetGrabControllerForPlayer( CBasePlayer *pPlayer ); +CGrabController *GetGrabControllerForPhysCannon( CBaseCombatWeapon *pActiveWeapon ); +void GetSavedParamsForCarriedPhysObject( CGrabController *pGrabController, IPhysicsObject *pObject, float *pSavedMassOut, float *pSavedRotationalDampingOut ); +void UpdateGrabControllerTargetPosition( CBasePlayer *pPlayer, Vector *vPosition, QAngle *qAngles ); +bool PhysCannonAccountableForObject( CBaseCombatWeapon *pPhysCannon, CBaseEntity *pObject ); + +void GrabController_SetPortalPenetratingEntity( CGrabController *pController, CBaseEntity *pPenetrated ); + +#endif // WEAPON_PHYSCANNON_H |