Start CCollidableAABox, add CPlayerCameraBob

Former-commit-id: 749dec6b1e
This commit is contained in:
2023-01-09 22:51:58 -08:00
parent 6d153e758c
commit 1e03f02289
17 changed files with 392 additions and 112 deletions

View File

@@ -3,25 +3,22 @@
#include "Kyoto/Math/CVector3f.hpp"
class CAABox;
class CMaterialList;
class CCollisionInfoList;
class CVector3f;
/* TODO: Figure out a better place for this, borks CBallFilter here, but is needed for CCollidableAABox/Sphere
(Best solution would be to find a Tardis and go back and slap the dev responsible for this)
static const CVector3f normalTable[6] = {
CVector3f(-1.f, 0.f, 0.f),
CVector3f(1.f, 0.f, 0.f),
CVector3f(0.f, -1.f, 0.f),
CVector3f(0.f, 1.f, 0.f),
CVector3f(0.f, 0.f, -1.f),
CVector3f(0.f, 0.f, 1.f),
};
*/
namespace CollisionUtil {
void AddAverageToFront(const CCollisionInfoList& in, CCollisionInfoList& out);
bool TriBoxOverlap(const CVector3f& boxcenter, const CVector3f& boxhalfsize,
const CVector3f& trivert0, const CVector3f& trivert1, const CVector3f& trivert2);
bool BoxLineTest(const CAABox&, const CVector3f&, const CVector3f&, float&, float&, int&, bool&);
bool AABoxAABoxIntersection(const CAABox& left, const CAABox& right);
bool AABoxAABoxIntersection(const CAABox& left, const CMaterialList& leftFilter,
const CAABox& right, const CMaterialList& rightFilter,
CCollisionInfoList& list);
} // namespace CollisionUtil