metaforce/DataSpec/DNACommon/MAPU.hpp

44 lines
1.0 KiB
C++
Raw Normal View History

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);
}