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.

67 lines
1.5 KiB

  1. //========= Copyright Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose:
  4. //
  5. // $NoKeywords: $
  6. //
  7. //=============================================================================//
  8. #ifndef C_BASEANIMATINGOVERLAY_H
  9. #define C_BASEANIMATINGOVERLAY_H
  10. #pragma once
  11. #include "c_baseanimating.h"
  12. // For shared code.
  13. #define CBaseAnimatingOverlay C_BaseAnimatingOverlay
  14. class C_BaseAnimatingOverlay : public C_BaseAnimating
  15. {
  16. public:
  17. DECLARE_CLASS( C_BaseAnimatingOverlay, C_BaseAnimating );
  18. DECLARE_CLIENTCLASS();
  19. DECLARE_PREDICTABLE();
  20. DECLARE_INTERPOLATION();
  21. C_BaseAnimatingOverlay();
  22. virtual CStudioHdr *OnNewModel();
  23. C_AnimationLayer* GetAnimOverlay( int i );
  24. void SetNumAnimOverlays( int num ); // This makes sure there is space for this # of layers.
  25. int GetNumAnimOverlays() const;
  26. virtual void GetRenderBounds( Vector& theMins, Vector& theMaxs );
  27. void CheckForLayerChanges( CStudioHdr *hdr, float currentTime );
  28. // model specific
  29. virtual void AccumulateLayers( IBoneSetup &boneSetup, Vector pos[], Quaternion q[], float currentTime );
  30. virtual void DoAnimationEvents( CStudioHdr *pStudioHdr );
  31. enum
  32. {
  33. MAX_OVERLAYS = 15,
  34. };
  35. CUtlVector < C_AnimationLayer > m_AnimOverlay;
  36. CUtlVector < CInterpolatedVar< C_AnimationLayer > > m_iv_AnimOverlay;
  37. float m_flOverlayPrevEventCycle[ MAX_OVERLAYS ];
  38. private:
  39. C_BaseAnimatingOverlay( const C_BaseAnimatingOverlay & ); // not defined, not accessible
  40. };
  41. EXTERN_RECV_TABLE(DT_BaseAnimatingOverlay);
  42. #endif // C_BASEANIMATINGOVERLAY_H