mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-09 13:07:42 +00:00
More collision imps and stubs
This commit is contained in:
@@ -23,20 +23,36 @@ public:
|
||||
SIndexData(CInputStream&);
|
||||
};
|
||||
|
||||
class CNodeLeafData
|
||||
class CLeafData
|
||||
{
|
||||
std::vector<u16> x0_surface;
|
||||
public:
|
||||
CLeafData()=default;
|
||||
CLeafData(const std::vector<u16>&);
|
||||
CLeafData(CInputStream&);
|
||||
|
||||
const std::vector<u16>& GetSurfaceVector() const;
|
||||
};
|
||||
|
||||
class CNode
|
||||
{
|
||||
zeus::COBBox x0_obb;
|
||||
bool x3c_ = false;
|
||||
std::unique_ptr<CNode> x40_;
|
||||
std::unique_ptr<CNode> x44_;
|
||||
std::unique_ptr<CNodeLeafData> x48_;
|
||||
bool x3c_isLeaf = false;
|
||||
std::unique_ptr<CNode> x40_left;
|
||||
std::unique_ptr<CNode> x44_right;
|
||||
std::unique_ptr<CLeafData> x48_leaf;
|
||||
public:
|
||||
CNode() = default;
|
||||
CNode(const CNode&)=default;
|
||||
CNode(const zeus::CTransform&, const zeus::CVector3f&, const CNode*, const CNode*, const CLeafData*);
|
||||
CNode(CInputStream&);
|
||||
|
||||
bool WasHit() const;
|
||||
void SetWasHit(bool) const;
|
||||
CNode* GetLeft() const;
|
||||
CNode* GetRight() const;
|
||||
CLeafData* GetLeafData() const;
|
||||
const zeus::COBBox& GetOBB() const;
|
||||
};
|
||||
|
||||
private:
|
||||
@@ -46,10 +62,9 @@ private:
|
||||
u32 x8_memsize = 0;
|
||||
/* CSimpleAllocator xc_ We're not using this but lets keep track*/
|
||||
SIndexData x18_indexData;
|
||||
std::unique_ptr<CNode> x88_root;
|
||||
std::unique_ptr<const CNode> x88_root;
|
||||
public:
|
||||
|
||||
|
||||
COBBTree()=default;
|
||||
COBBTree(const COBBTree::SIndexData&, const CNode*);
|
||||
COBBTree(CInputStream&);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user