2022-09-19 04:19:46 +00:00
|
|
|
#ifndef _CGAMECOLLISION_HPP
|
|
|
|
#define _CGAMECOLLISION_HPP
|
|
|
|
|
|
|
|
#include "types.h"
|
|
|
|
|
2022-09-29 23:55:38 +00:00
|
|
|
class CAreaCollisionCache;
|
2022-09-19 04:19:46 +00:00
|
|
|
class CCollisionPrimitive;
|
|
|
|
class CMaterialFilter;
|
2022-09-29 23:55:38 +00:00
|
|
|
class CStateManager;
|
|
|
|
class CTransform4f;
|
2022-09-19 04:19:46 +00:00
|
|
|
|
|
|
|
class CGameCollision {
|
|
|
|
public:
|
|
|
|
static bool DetectStaticCollisionBoolean(const CStateManager&, const CCollisionPrimitive&,
|
|
|
|
const CTransform4f&, const CMaterialFilter&);
|
2022-09-21 05:18:07 +00:00
|
|
|
static bool DetectDynamicCollisionBoolean(const CCollisionPrimitive&, const CTransform4f&,
|
|
|
|
const TEntityList&, const CStateManager&);
|
2022-09-29 23:55:38 +00:00
|
|
|
static void BuildAreaCollisionCache(const CStateManager& mgr, CAreaCollisionCache& cache);
|
|
|
|
static bool DetectCollisionBoolean_Cached(const CStateManager& mgr, CAreaCollisionCache& cache,
|
|
|
|
const CCollisionPrimitive& prim, const CTransform4f& xf,
|
|
|
|
const CMaterialFilter& filter,
|
|
|
|
const TEntityList& nearList);
|
|
|
|
static bool DetectCollision_Cached_Moving(const CStateManager&, CAreaCollisionCache&,
|
|
|
|
const CCollisionPrimitive&, const CTransform4f&,
|
|
|
|
const CMaterialFilter&, const TEntityList&, CVector3f,
|
|
|
|
TUniqueId&, CCollisionInfo&, f64&);
|
2022-09-19 04:19:46 +00:00
|
|
|
};
|
|
|
|
|
2022-09-29 23:55:38 +00:00
|
|
|
#endif
|