Team Fortress 2 Source Code as on 22/4/2020
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

41 lines
1.9 KiB

  1. //========= Copyright Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose:
  4. //
  5. //=============================================================================//
  6. #ifndef WEAPON_PHYSCANNON_H
  7. #define WEAPON_PHYSCANNON_H
  8. #ifdef _WIN32
  9. #pragma once
  10. #endif
  11. class CGrabController;
  12. //-----------------------------------------------------------------------------
  13. // Do we have the super-phys gun?
  14. //-----------------------------------------------------------------------------
  15. bool PlayerHasMegaPhysCannon();
  16. // force the physcannon to drop an object (if carried)
  17. void PhysCannonForceDrop( CBaseCombatWeapon *pActiveWeapon, CBaseEntity *pOnlyIfHoldingThis );
  18. void PhysCannonBeginUpgrade( CBaseAnimating *pAnim );
  19. bool PlayerPickupControllerIsHoldingEntity( CBaseEntity *pPickupController, CBaseEntity *pHeldEntity );
  20. void ShutdownPickupController( CBaseEntity *pPickupControllerEntity );
  21. float PlayerPickupGetHeldObjectMass( CBaseEntity *pPickupControllerEntity, IPhysicsObject *pHeldObject );
  22. float PhysCannonGetHeldObjectMass( CBaseCombatWeapon *pActiveWeapon, IPhysicsObject *pHeldObject );
  23. CBaseEntity *PhysCannonGetHeldEntity( CBaseCombatWeapon *pActiveWeapon );
  24. CBaseEntity *GetPlayerHeldEntity( CBasePlayer *pPlayer );
  25. CBasePlayer *GetPlayerHoldingEntity( CBaseEntity *pEntity );
  26. CGrabController *GetGrabControllerForPlayer( CBasePlayer *pPlayer );
  27. CGrabController *GetGrabControllerForPhysCannon( CBaseCombatWeapon *pActiveWeapon );
  28. void GetSavedParamsForCarriedPhysObject( CGrabController *pGrabController, IPhysicsObject *pObject, float *pSavedMassOut, float *pSavedRotationalDampingOut );
  29. void UpdateGrabControllerTargetPosition( CBasePlayer *pPlayer, Vector *vPosition, QAngle *qAngles );
  30. bool PhysCannonAccountableForObject( CBaseCombatWeapon *pPhysCannon, CBaseEntity *pObject );
  31. void GrabController_SetPortalPenetratingEntity( CGrabController *pController, CBaseEntity *pPenetrated );
  32. #endif // WEAPON_PHYSCANNON_H