mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-05-13 12:31:20 +00:00
Avoids indirect inclusions where applicable and includes the necessary headers as used by the interface. This way, it prevents code from failing to compile due to changes in other header inclusions.
46 lines
1.1 KiB
C++
46 lines
1.1 KiB
C++
#pragma once
|
|
|
|
#include <cstdint>
|
|
|
|
#include "DataSpec/DNACommon/DNACommon.hpp"
|
|
|
|
namespace hecl {
|
|
class ProjectPath;
|
|
}
|
|
|
|
namespace hecl::blender {
|
|
class Connection;
|
|
struct MapUniverse;
|
|
} // namespce hecl::blender
|
|
|
|
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 {
|
|
AT_DECL_DNA
|
|
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;
|
|
|
|
static bool Cook(const hecl::blender::MapUniverse& mapu, const hecl::ProjectPath& out);
|
|
};
|
|
|
|
template <typename PAKRouter>
|
|
bool ReadMAPUToBlender(hecl::blender::Connection& conn, const MAPU& mapu, const hecl::ProjectPath& outPath,
|
|
PAKRouter& pakRouter, const typename PAKRouter::EntryType& entry, bool force);
|
|
|
|
} // namespace DataSpec::DNAMAPU
|