#ifndef __URDE_COBBTREE_HPP__ #define __URDE_COBBTREE_HPP__ #include "RetroTypes.hpp" #include "CCollisionEdge.hpp" #include "zeus/CVector3f.hpp" #include "zeus/COBBox.hpp" namespace urde { class COBBTree { public: struct SIndexData { std::vector x0_; std::vector x10_; std::vector x20_; std::vector x30_; std::vector x40_; std::vector x50_; std::vector x60_; SIndexData()=default; SIndexData(CInputStream&); }; class CNodeLeafData { }; class CNode { zeus::COBBox x0_obb; bool x3c_ = false; std::unique_ptr x40_; std::unique_ptr x44_; std::unique_ptr x48_; public: CNode() = default; CNode(CInputStream&); }; private: u32 x0_magic = 0; u32 x4_version = 0; u32 x8_memsize = 0; /* CSimpleAllocator xc_ We're not using this but lets keep track*/ SIndexData x18_indexData; std::unique_ptr x88_root; public: COBBTree(const COBBTree::SIndexData&, const CNode*); COBBTree(CInputStream&); }; } #endif // __URDE_COBBTREE_HPP__