Exemple #1
0
        public Chunk_MODF(ADTFile file)
            : base(file, "MODF", Magic)
        {
            int entryCount = (int)ChunkSize / 64;
            entries = new MODFEntry[entryCount];

            for (int i = 0; i < entryCount; i++)
            {
                MODFEntry entry = new MODFEntry();
                entry.entry = file.readUInt32();
                entry.uniqueID = file.readUInt32();

                float x = Constants.WOW_ADT_MAP_MAX - file.readFloat();
                float z = file.readFloat() - Constants.WOW_ADT_MAP_MAX;

                entry.position = new Position(z, file.readFloat(), x);
                entry.rotation = Position.Read(file);
                entry.lowerBound = Position.Read(file);
                entry.upperBound = Position.Read(file);
                entry.flags = file.readUInt16();
                entry.doodadSet = file.readUInt16();
                entry.nameSet = file.readUInt16();
                entry.unk = file.readUInt16();
                entries[i] = entry;
            }

            LogWrite("Loaded " + entryCount + " WMO spawns");
        }
Exemple #2
0
        public Chunk_MODF(ADTFile file) : base(file, "MODF", Magic)
        {
            int entryCount = (int)ChunkSize / 64;

            entries = new MODFEntry[entryCount];

            for (int i = 0; i < entryCount; i++)
            {
                MODFEntry entry = new MODFEntry();
                entry.entry    = file.readUInt32();
                entry.uniqueID = file.readUInt32();

                float x = Constants.WOW_ADT_MAP_MAX - file.readFloat();
                float z = file.readFloat() - Constants.WOW_ADT_MAP_MAX;

                entry.position   = new Position(z, file.readFloat(), x);
                entry.rotation   = Position.Read(file);
                entry.lowerBound = Position.Read(file);
                entry.upperBound = Position.Read(file);
                entry.flags      = file.readUInt16();
                entry.doodadSet  = file.readUInt16();
                entry.nameSet    = file.readUInt16();
                entry.unk        = file.readUInt16();
                entries[i]       = entry;
            }

            LogWrite("Loaded " + entryCount + " WMO spawns");
        }
Exemple #3
0
        public override void Read()
        {
            var br = Chunk.GetReader();

            Entries = new MODFEntry[Chunk.Size / 64];
            for (int i = 0; i < Entries.Length; i++)
            {
                Entries[i] = MODFEntry.Read(br);
            }
        }
Exemple #4
0
        /// <inheritdoc/>
        public void LoadBinaryData(byte[] inData)
        {
            using (var ms = new MemoryStream(inData))
                using (var br = new BinaryReader(ms))
                {
                    var objCount = br.BaseStream.Length / MODFEntry.GetSize();

                    for (var i = 0; i < objCount; ++i)
                    {
                        MODFEntrys.Add(new MODFEntry(br.ReadBytes(MODFEntry.GetSize())));
                    }
                }
        }