metaforce/DataSpec/DNAMP1/MAPA.hpp

40 lines
1.1 KiB
C++
Raw Normal View History

2018-10-07 03:42:33 +00:00
#pragma once
2015-08-08 00:08:16 +00:00
#include <vector>
2018-06-29 20:21:36 +00:00
#include "DataSpec/DNACommon/PAK.hpp"
#include "DataSpec/DNACommon/MAPA.hpp"
2015-10-26 02:31:09 +00:00
#include "DNAMP1.hpp"
2015-08-08 00:08:16 +00:00
2017-12-29 08:08:12 +00:00
namespace DataSpec::DNAMP1
2015-08-08 00:08:16 +00:00
{
2015-10-26 02:31:09 +00:00
2015-12-06 03:05:34 +00:00
struct MAPA : DNAMAPA::MAPA
{
2015-10-26 02:31:09 +00:00
static bool Extract(const SpecBase& dataSpec,
PAKEntryReadStream& rs,
2016-03-04 23:04:53 +00:00
const hecl::ProjectPath& outPath,
2015-10-26 02:31:09 +00:00
PAKRouter<PAKBridge>& pakRouter,
const PAK::Entry& entry,
bool force,
2017-12-29 08:08:12 +00:00
hecl::blender::Token& btok,
2016-03-04 23:04:53 +00:00
std::function<void(const hecl::SystemChar*)> fileChanged)
2015-10-26 02:31:09 +00:00
{
MAPA mapa;
mapa.read(rs);
2017-12-29 08:08:12 +00:00
hecl::blender::Connection& conn = btok.getBlenderConnection();
2015-10-26 02:31:09 +00:00
return DNAMAPA::ReadMAPAToBlender(conn, mapa, outPath, pakRouter, entry, force);
}
2017-03-20 05:09:53 +00:00
2017-12-29 08:08:12 +00:00
static bool Cook(const hecl::blender::MapArea& mapa, const hecl::ProjectPath& out)
2017-03-20 05:09:53 +00:00
{
return DNAMAPA::Cook<MAPA>(mapa, out);
}
static uint32_t Version() { return 2; }
using Header = DNAMAPA::MAPA::HeaderMP1;
using MappableObject = DNAMAPA::MAPA::MappableObjectMP1_2;
2015-08-08 00:08:16 +00:00
};
}