2017-01-20 08:36:52 -05:00
|
|
|
#pragma once
|
|
|
|
|
2016-01-25 17:47:50 -05:00
|
|
|
namespace Assets
|
|
|
|
{
|
|
|
|
class IXModel : public Components::AssetHandler::IAsset
|
|
|
|
{
|
2016-01-26 10:12:41 -05:00
|
|
|
public:
|
2022-06-22 11:36:06 -04:00
|
|
|
Game::XAssetType getType() override { return Game::XAssetType::ASSET_TYPE_XMODEL; }
|
2016-01-25 17:47:50 -05:00
|
|
|
|
2022-06-22 11:36:06 -04:00
|
|
|
void save(Game::XAssetHeader header, Components::ZoneBuilder::Zone* builder) override;
|
|
|
|
void mark(Game::XAssetHeader header, Components::ZoneBuilder::Zone* builder) override;
|
|
|
|
void load(Game::XAssetHeader* header, const std::string& name, Components::ZoneBuilder::Zone* builder) override;
|
2017-01-03 16:04:10 -05:00
|
|
|
|
|
|
|
private:
|
2022-06-22 11:36:06 -04:00
|
|
|
std::map<void*, void*> triIndicies;
|
2019-02-01 16:16:42 -05:00
|
|
|
void loadXModelSurfs(Game::XModelSurfs* asset, Utils::Stream::Reader* reader, Components::ZoneBuilder::Zone* builder);
|
|
|
|
void loadXSurface(Game::XSurface* surf, Utils::Stream::Reader* reader, Components::ZoneBuilder::Zone* builder);
|
2017-06-14 06:06:04 -04:00
|
|
|
void loadXSurfaceCollisionTree(Game::XSurfaceCollisionTree* entry, Utils::Stream::Reader* reader);
|
2016-01-25 17:47:50 -05:00
|
|
|
};
|
|
|
|
}
|