2018-10-07 03:42:33 +00:00
|
|
|
#pragma once
|
2017-03-20 05:09:53 +00:00
|
|
|
|
|
|
|
#include "DNACommon.hpp"
|
|
|
|
|
2017-12-29 08:08:12 +00:00
|
|
|
namespace DataSpec::DNAMAPU
|
2017-03-20 05:09:53 +00:00
|
|
|
{
|
|
|
|
struct MAPU : BigDNA
|
|
|
|
{
|
2018-02-22 07:24:51 +00:00
|
|
|
AT_DECL_DNA
|
2017-03-20 05:09:53 +00:00
|
|
|
Value<uint32_t> magic;
|
|
|
|
Value<uint32_t> version;
|
|
|
|
UniqueID32 hexMapa;
|
|
|
|
Value<uint32_t> worldCount;
|
|
|
|
struct Transform : BigDNA
|
|
|
|
{
|
2018-02-22 07:24:51 +00:00
|
|
|
AT_DECL_DNA
|
2017-03-20 05:09:53 +00:00
|
|
|
Value<atVec4f> xf[3];
|
|
|
|
};
|
|
|
|
struct World : BigDNA
|
|
|
|
{
|
2018-02-22 07:24:51 +00:00
|
|
|
AT_DECL_DNA
|
2017-03-20 05:09:53 +00:00
|
|
|
String<-1> name;
|
|
|
|
UniqueID32 mlvl;
|
|
|
|
Transform transform;
|
|
|
|
Value<uint32_t> hexCount;
|
2018-02-25 08:23:27 +00:00
|
|
|
Vector<Transform, AT_DNA_COUNT(hexCount)> hexTransforms;
|
2017-03-20 05:09:53 +00:00
|
|
|
DNAColor hexColor;
|
|
|
|
};
|
2018-02-25 08:23:27 +00:00
|
|
|
Vector<World, AT_DNA_COUNT(worldCount)> worlds;
|
2017-03-20 05:09:53 +00:00
|
|
|
|
2017-12-29 08:08:12 +00:00
|
|
|
static bool Cook(const hecl::blender::MapUniverse& mapu, const hecl::ProjectPath& out);
|
2017-03-20 05:09:53 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
template <typename PAKRouter>
|
2017-12-29 08:08:12 +00:00
|
|
|
bool ReadMAPUToBlender(hecl::blender::Connection& conn,
|
2017-03-20 05:09:53 +00:00
|
|
|
const MAPU& mapu,
|
|
|
|
const hecl::ProjectPath& outPath,
|
|
|
|
PAKRouter& pakRouter,
|
|
|
|
const typename PAKRouter::EntryType& entry,
|
|
|
|
bool force);
|
|
|
|
|
|
|
|
}
|
|
|
|
|