namespace Components { class ModelSurfs : public Component { public: ModelSurfs(); ~ModelSurfs(); private: static std::map BufferMap; static std::map AllocMap; static void ReleaseModelSurf(Game::XAssetHeader header); static void BeginRecover(); static void EndRecover(); static IUnknown* GetBuffer(void* buffer); static void SetBuffer(char streamHandle, void* buffer, IUnknown** bufferOut, int* offsetOut); static void CreateBuffers(Game::XModelSurfs* surfs); static Game::XModelSurfs* LoadXModelSurfaces(std::string name); static bool LoadSurfaces(Game::XModel* model); static void XModelSurfsFixup(Game::XModel* model); static void GetIndexBaseStub(); static void GetIndexBufferStub(); static void GetIndexBufferStub2(); static void GetVertexBufferStub(); }; }