#include "../DNACommon/DNACommon.hpp" namespace Retro { namespace DNAMP1 { struct MLVL : public BigDNA { DECL_DNA DNAFourCC magic; Value version; DNAUniqueID32 worldNameId; DNAUniqueID32 saveWorldId; DNAUniqueID32 worldSkyboxId; Value memRelayLinkCount; struct MemRelayLink : public BigDNA { DECL_DNA Value memRelayId; Value targetId; Value msg; Value unk; }; Vector memRelayLinks; Value areaCount; Value unknown1; struct Area : public BigDNA { DECL_DNA DNAUniqueID32 areaNameId; Value transformMtx[3]; Value aabb[2]; DNAUniqueID32 areaMREAId; Value areaId; Value attachedAreaCount; Vector attachedAreas; Value padding; Value depCount; struct Dependency : public BigDNA { DECL_DNA DNAUniqueID32 id; DNAFourCC type; }; Vector deps; Value depLayerCount; Vector depLayers; Value dockCount; struct Dock : public BigDNA { DECL_DNA Value endpointCount; struct Endpoint : public BigDNA { DECL_DNA Value areaIdx; Value dockIdx; }; DNAFourCC type; Vector endpoints; Value planeVertCount; Vector planeVerts; }; Vector docks; }; DNAUniqueID32 worldMap; Value unknown2; Value unknown3; Value audioGroupCount; struct AudioGroup : public BigDNA { DECL_DNA Value unknown; DNAUniqueID32 agscId; }; Vector audioGroups; String<-1> unkString; Value layerFlagCount; struct LayerFlags : public BigDNA { DECL_DNA Value layerCount; Value flags; }; Vector layerFlags; Value layerNameCount; Vector, DNA_COUNT(layerNameCount)> layerNames; Value layerNameOffsetCount; Vector layerNameOffsets; }; } }