mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-09 07:07:42 +00:00
Initial Collision stubs
This commit is contained in:
@@ -15,7 +15,9 @@ u32 verify_version(CInputStream& in)
|
||||
return in.readUint32Big();
|
||||
}
|
||||
|
||||
COBBTree::COBBTree(const COBBTree::SIndexData&, const COBBTree::CNode*)
|
||||
COBBTree::COBBTree(const SIndexData& indexData, const CNode* root)
|
||||
: x18_indexData(indexData),
|
||||
x88_root((CNode*)root)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -114,6 +116,25 @@ const zeus::COBBox& COBBTree::CNode::GetOBB() const
|
||||
return x0_obb;
|
||||
}
|
||||
|
||||
size_t COBBTree::CNode::GetMemoryUsage() const
|
||||
{
|
||||
size_t ret = 0;
|
||||
if (x3c_isLeaf)
|
||||
ret = x48_leaf->GetMemoryUsage() + 80;
|
||||
else
|
||||
{
|
||||
if (x40_left)
|
||||
ret = x40_left->GetMemoryUsage() + 80;
|
||||
if (x44_right)
|
||||
ret += x44_right->GetMemoryUsage();
|
||||
}
|
||||
|
||||
if (!(ret & 3))
|
||||
return ret;
|
||||
|
||||
return ret + ((ret & 3) - 4);
|
||||
}
|
||||
|
||||
COBBTree::CLeafData::CLeafData(const std::vector<u16>& surface)
|
||||
: x0_surface(surface)
|
||||
{
|
||||
@@ -124,6 +145,14 @@ const std::vector<u16>& COBBTree::CLeafData::GetSurfaceVector() const
|
||||
return x0_surface;
|
||||
}
|
||||
|
||||
size_t COBBTree::CLeafData::GetMemoryUsage() const
|
||||
{
|
||||
size_t ret = (x0_surface.size() * 2) + 16;
|
||||
if (!(ret & 3))
|
||||
return ret;
|
||||
return ret + ((ret & 3) - 4);
|
||||
}
|
||||
|
||||
COBBTree::CLeafData::CLeafData(CInputStream& in)
|
||||
{
|
||||
u32 edgeCount = in.readUint32Big();
|
||||
|
||||
Reference in New Issue
Block a user