Counter Strike : Global Offensive Source Code
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.

61 lines
1.9 KiB

  1. //===== Copyright � 1996-2006, Valve Corporation, All rights reserved. ======//
  2. //
  3. // Purpose: sheet code for particles and other sprite functions
  4. //
  5. //===========================================================================//
  6. #ifndef PARTICLES_INTERNAL_H
  7. #define PARTICLES_INTERNAL_H
  8. #ifdef _WIN32
  9. #pragma once
  10. #endif
  11. #include "tier1/UtlStringMap.h"
  12. #include "tier1/utlbuffer.h"
  13. #include "tier2/fileutils.h"
  14. #define MAX_WORLD_PLANAR_CONSTRAINTS ( 26 + 5 + 10 )
  15. #define COLLISION_MODE_PER_PARTICLE_TRACE 0
  16. #define COLLISION_MODE_PER_FRAME_PLANESET 1
  17. #define COLLISION_MODE_INITIAL_TRACE_DOWN 2
  18. #define COLLISION_MODE_USE_NEAREST_TRACE 3
  19. #define PARTICLEBLEND_DEFAULT 0
  20. #define PARTICLEBLEND_OVERLAY 1
  21. #define PARTICLEBLEND_DARKEN 2
  22. #define PARTICLEBLEND_LIGHTEN 3
  23. #define PARTICLEBLEND_MULTIPLY 4
  24. struct CWorldCollideContextData
  25. {
  26. FourVectors m_TraceStartPnt[MAX_WORLD_PLANAR_CONSTRAINTS];
  27. FourVectors m_TraceEndPnt[MAX_WORLD_PLANAR_CONSTRAINTS];
  28. FourVectors m_PointOnPlane[MAX_WORLD_PLANAR_CONSTRAINTS];
  29. FourVectors m_PlaneNormal[MAX_WORLD_PLANAR_CONSTRAINTS];
  30. int m_nActivePlanes;
  31. int m_nNumFixedPlanes;
  32. float m_flLastUpdateTime;
  33. Vector m_vecLastUpdateOrigin;
  34. bool m_bPlaneActive[MAX_WORLD_PLANAR_CONSTRAINTS];
  35. void *operator new( size_t nSize );
  36. void *operator new( size_t nSize, int nBlockUse, const char *pFileName, int nLine );
  37. void operator delete(void *pData);
  38. void operator delete( void* p, int nBlockUse, const char *pFileName, int nLine );
  39. void SetBaseTrace( int nIndex, Vector const &rayStart, Vector const &traceDir, int nCollisionGroup, bool bKeepMisses );
  40. void CalculatePlanes( CParticleCollection *pParticles, int nCollisionMode, int nCollisionGroupNumber,
  41. Vector const *pCpOffset = NULL, float flMovementTolerance = 0. );
  42. };
  43. // This is defined in the owner DLL
  44. extern bool UTIL_IsDedicatedServer( void );
  45. #endif // PARTICLES_INTERNAL_H