Ejemplo n.º 1
0
        public override void Read(ResourceDataReader reader, params object[] parameters)
        {
            base.Read(reader, parameters);

            ContentFlags         = (NavMeshFlags)reader.ReadUInt32();
            VersionUnk1          = reader.ReadUInt32();
            Unused_018h          = reader.ReadUInt32();
            Unused_01Ch          = reader.ReadUInt32();
            Transform            = reader.ReadMatrix();
            AABBSize             = reader.ReadVector3();
            AABBUnk              = reader.ReadSingle();
            VerticesPointer      = reader.ReadUInt64();
            Unused_078h          = reader.ReadUInt32();
            Unused_07Ch          = reader.ReadUInt32();
            IndicesPointer       = reader.ReadUInt64();
            AdjPolysPointer      = reader.ReadUInt64();
            AdjPolysIndicesCount = reader.ReadUInt32();
            AdjAreaIDs           = reader.ReadStruct <NavMeshUintArray>();
            PolysPointer         = reader.ReadUInt64();
            SectorTreePointer    = reader.ReadUInt64();
            PortalsPointer       = reader.ReadUInt64();
            PortalLinksPointer   = reader.ReadUInt64();
            VerticesCount        = reader.ReadUInt32();
            PolysCount           = reader.ReadUInt32();
            AreaID           = reader.ReadUInt32();
            TotalBytes       = reader.ReadUInt32();
            SectorUnkCount   = reader.ReadUInt32();
            PortalsCount     = reader.ReadUInt32();
            PortalLinksCount = reader.ReadUInt32();
            Unused_154h      = reader.ReadUInt32();
            Unused_158h      = reader.ReadUInt32();
            Unused_15Ch      = reader.ReadUInt32();
            VersionUnk2      = reader.ReadUInt32();
            Unused_164h      = reader.ReadUInt32();
            Unused_168h      = reader.ReadUInt32();
            Unused_16Ch      = reader.ReadUInt32();



            Vertices    = reader.ReadBlockAt <NavMeshList <NavMeshVertex> >(VerticesPointer);
            Indices     = reader.ReadBlockAt <NavMeshList <ushort> >(IndicesPointer);
            AdjPolys    = reader.ReadBlockAt <NavMeshList <NavMeshAdjPoly> >(AdjPolysPointer);
            Polys       = reader.ReadBlockAt <NavMeshList <NavMeshPoly> >(PolysPointer);
            SectorTree  = reader.ReadBlockAt <NavMeshSector>(SectorTreePointer);
            Portals     = reader.ReadStructsAt <NavMeshPortal>(PortalsPointer, PortalsCount);
            PortalLinks = reader.ReadUshortsAt(PortalLinksPointer, PortalLinksCount);
        }
Ejemplo n.º 2
0
        public override void Read(ResourceDataReader reader, params object[] parameters)
        {
            base.Read(reader, parameters);

            ContentFlags       = (NavMeshFlags)reader.ReadUInt32();
            VersionUnk1        = reader.ReadUInt32();
            Unused_018h        = reader.ReadUInt32();
            Unused_01Ch        = reader.ReadUInt32();
            Transform          = reader.ReadMatrix();
            AABBSize           = reader.ReadVector3();
            AABBUnk            = reader.ReadUInt32();
            VerticesPointer    = reader.ReadUInt64();
            Unused_078h        = reader.ReadUInt32();
            Unused_07Ch        = reader.ReadUInt32();
            IndicesPointer     = reader.ReadUInt64();
            EdgesPointer       = reader.ReadUInt64();
            EdgesIndicesCount  = reader.ReadUInt32();
            AdjAreaIDs         = reader.ReadStruct <NavMeshUintArray>();
            PolysPointer       = reader.ReadUInt64();
            SectorTreePointer  = reader.ReadUInt64();
            PortalsPointer     = reader.ReadUInt64();
            PortalLinksPointer = reader.ReadUInt64();
            VerticesCount      = reader.ReadUInt32();
            PolysCount         = reader.ReadUInt32();
            AreaID             = reader.ReadUInt32();
            TotalBytes         = reader.ReadUInt32();
            PointsCount        = reader.ReadUInt32();
            PortalsCount       = reader.ReadUInt32();
            PortalLinksCount   = reader.ReadUInt32();
            Unused_154h        = reader.ReadUInt32();
            Unused_158h        = reader.ReadUInt32();
            Unused_15Ch        = reader.ReadUInt32();
            VersionUnk2        = reader.ReadUInt32();
            Unused_164h        = reader.ReadUInt32();
            Unused_168h        = reader.ReadUInt32();
            Unused_16Ch        = reader.ReadUInt32();



            Vertices    = reader.ReadBlockAt <NavMeshList <NavMeshVertex> >(VerticesPointer);
            Indices     = reader.ReadBlockAt <NavMeshList <ushort> >(IndicesPointer);
            Edges       = reader.ReadBlockAt <NavMeshList <NavMeshEdge> >(EdgesPointer);
            Polys       = reader.ReadBlockAt <NavMeshList <NavMeshPoly> >(PolysPointer);
            SectorTree  = reader.ReadBlockAt <NavMeshSector>(SectorTreePointer);
            Portals     = reader.ReadStructsAt <NavMeshPortal>(PortalsPointer, PortalsCount);
            PortalLinks = reader.ReadUshortsAt(PortalLinksPointer, PortalLinksCount);



            ////testing!
            //if (VersionUnk1 != 0x00010011)
            //{ }
            //if (Unused_018h != 0)
            //{ }
            //if (Unused_01Ch != 0)
            //{ }
            //if (AABBUnk != 0x7F800001)
            //{ }
            //if (Unused_078h != 0)
            //{ }
            //if (Unused_07Ch != 0)
            //{ }
            //if (Unused_154h != 0)
            //{ }
            //if (Unused_158h != 0)
            //{ }
            //if (Unused_15Ch != 0)
            //{ }
            //if (Unused_164h != 0)
            //{ }
            //if (Unused_168h != 0)
            //{ }
            //if (Unused_16Ch != 0)
            //{ }
            //switch (VersionUnk2.Hash)
            //{
            //    case 0: //vehicle
            //        break;
            //    case 0x85CB3561: //grid
            //        break;
            //    default:
            //        break;
            //}
            //UpdateCounts();
        }