PVS related imps

Former-commit-id: 147cd11849f4f5531a8763c238f00e5a84ab0e18
This commit is contained in:
2023-10-24 09:24:51 -07:00
parent 172d8bd5e9
commit 192dcb7a41
10 changed files with 104 additions and 29 deletions

View File

@@ -0,0 +1,19 @@
#ifndef _CCOLLIDABLEOBBTREE
#define _CCOLLIDABLEOBBTREE
#include <Collision/CCollisionPrimitive.hpp>
class COBBTree;
class CCollidableOBBTree : public CCollisionPrimitive {
public:
CCollidableOBBTree(const COBBTree& tree, const CMaterialList& list);
uint GetTableIndex() const override;
CAABox CalculateAABox(const CTransform4f& xf) const override;
const CAABox CalculateLocalAABox() const override;
FourCC GetPrimType() const override;
CRayCastResult CastRayInternal(const CInternalRayCastStructure& intRayCast) const override;
};
#endif // _CCOLLIDABLEOBBTREE

View File

@@ -11,14 +11,15 @@
class COBBTree;
class CCollidableOBBTreeGroupContainer {
public:
CCollidableOBBTreeGroupContainer(CInputStream& in);
CCollidableOBBTreeGroupContainer(const CVector3f&, const CVector3f&);
private:
friend class CCollidableOBBTreeGroup;
rstl::vector< rstl::auto_ptr< COBBTree > > x0_trees;
rstl::vector< CAABox > x10_aabbs;
CAABox x20_aabox;
public:
CCollidableOBBTreeGroupContainer(CInputStream& in);
CCollidableOBBTreeGroupContainer(const CVector3f&, const CVector3f&);
};
class CCollidableOBBTreeGroup : public CCollisionPrimitive {
@@ -33,6 +34,8 @@ public:
~CCollidableOBBTreeGroup() override {}
CRayCastResult CastRayInternal(const CInternalRayCastStructure&) const override;
static Type GetType();
static void SetStaticTableIndex(uint);
private:
CCollidableOBBTreeGroupContainer* x10_container;
};

View File

@@ -20,6 +20,12 @@ class COBBTree {
rstl::vector<CVector3f> x60_vertices;
SIndexData(CInputStream& in);
};
public:
COBBTree(CInputStream& in);
~COBBTree();
private:
char data[0x8c];
};
#endif // _COBBTREE

View File

@@ -22,10 +22,10 @@ private:
int x4_;
int x8_;
int xc_;
int x10_;
int x10_leafSize;
int x14_;
const char* x18_;
const char* x1c_;
const char* x1c_lightLeaves;
CPVSVisOctree x20_octree;
};