2018-10-07 03:42:33 +00:00
|
|
|
#pragma once
|
2017-03-20 05:09:53 +00:00
|
|
|
|
2019-08-23 23:24:04 +00:00
|
|
|
#include <cstdint>
|
|
|
|
|
|
|
|
#include "DataSpec/DNACommon/DNACommon.hpp"
|
|
|
|
|
|
|
|
namespace hecl {
|
|
|
|
class ProjectPath;
|
|
|
|
}
|
|
|
|
|
|
|
|
namespace hecl::blender {
|
|
|
|
class Connection;
|
|
|
|
struct MapUniverse;
|
2021-06-07 19:29:18 +00:00
|
|
|
} // namespace hecl::blender
|
2017-03-20 05:09:53 +00:00
|
|
|
|
2018-12-08 05:30:43 +00:00
|
|
|
namespace DataSpec::DNAMAPU {
|
|
|
|
struct MAPU : BigDNA {
|
|
|
|
AT_DECL_DNA
|
|
|
|
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
|
2018-12-08 05:30:43 +00:00
|
|
|
Value<atVec4f> xf[3];
|
|
|
|
};
|
|
|
|
struct World : BigDNA {
|
|
|
|
AT_DECL_DNA
|
|
|
|
String<-1> name;
|
|
|
|
UniqueID32 mlvl;
|
|
|
|
Transform transform;
|
|
|
|
Value<uint32_t> hexCount;
|
|
|
|
Vector<Transform, AT_DNA_COUNT(hexCount)> hexTransforms;
|
|
|
|
DNAColor hexColor;
|
|
|
|
};
|
|
|
|
Vector<World, AT_DNA_COUNT(worldCount)> worlds;
|
2017-03-20 05:09:53 +00:00
|
|
|
|
2018-12-08 05:30:43 +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>
|
2018-12-08 05:30:43 +00:00
|
|
|
bool ReadMAPUToBlender(hecl::blender::Connection& conn, const MAPU& mapu, const hecl::ProjectPath& outPath,
|
|
|
|
PAKRouter& pakRouter, const typename PAKRouter::EntryType& entry, bool force);
|
2017-03-20 05:09:53 +00:00
|
|
|
|
2018-12-08 05:30:43 +00:00
|
|
|
} // namespace DataSpec::DNAMAPU
|