2017-01-20 08:36:52 -05:00
|
|
|
#pragma once
|
|
|
|
|
2017-01-19 16:23:59 -05:00
|
|
|
namespace Components
|
|
|
|
{
|
|
|
|
class ModelSurfs : public Component
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
ModelSurfs();
|
|
|
|
~ModelSurfs();
|
|
|
|
|
|
|
|
private:
|
|
|
|
static std::unordered_map<void*, IUnknown*> BufferMap;
|
|
|
|
static std::unordered_map<std::string, Game::CModelAllocData*> 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);
|
2018-12-17 08:29:18 -05:00
|
|
|
static Game::XModelSurfs* LoadXModelSurfaces(const std::string& name);
|
2017-01-19 16:23:59 -05:00
|
|
|
static bool LoadSurfaces(Game::XModel* model);
|
|
|
|
static void XModelSurfsFixup(Game::XModel* model);
|
|
|
|
|
|
|
|
static void GetIndexBaseStub();
|
|
|
|
static void GetIndexBufferStub();
|
|
|
|
static void GetIndexBufferStub2();
|
|
|
|
static void GetVertexBufferStub();
|
|
|
|
};
|
|
|
|
}
|