#ifndef __DNAMP3_MLVL_HPP__ #define __DNAMP3_MLVL_HPP__ #include "../DNACommon/DNACommon.hpp" namespace Retro { namespace DNAMP3 { struct MLVL : BigDNA { DECL_DNA Value magic; Value version; UniqueID64 worldNameId; Value unk; UniqueID64 saveWorldId; UniqueID64 worldSkyboxId; Value areaCount; struct Area : BigDNA { DECL_DNA UniqueID64 areaNameId; Value transformMtx[3]; Value aabb[2]; UniqueID64 areaMREAId; UniqueID64 areaId; Value attachedAreaCount; Vector attachedAreas; Value dockCount; struct Dock : BigDNA { DECL_DNA Value endpointCount; struct Endpoint : BigDNA { DECL_DNA Value areaIdx; Value dockIdx; }; Vector endpoints; Value planeVertCount; Vector planeVerts; }; Vector docks; String<-1> internalAreaName; }; Vector areas; UniqueID64 worldMap; Value unknown2; Value unknown3; Value layerFlagCount; struct LayerFlags : BigDNA { DECL_DNA Value layerCount; Value flags; }; Vector layerFlags; Value layerNameCount; Vector, DNA_COUNT(layerNameCount)> layerNames; Value layerIDCount; Vector layerIDs; Value layerNameOffsetCount; Vector layerNameOffsets; }; } } #endif // __DNAMP3_MLVL_HPP__