예제 #1
0
파일: Scene.cs 프로젝트: keltins/mooege
            public NavZoneDef(MpqFileStream stream)
            {
                this.NavCellCount = stream.ReadValueS32();

                stream.Position += (3 * 4);
                this.NavCells = stream.ReadSerializedData<NavCell>(this.NavCellCount);

                this.NeightbourCount = stream.ReadValueS32();
                stream.Position += (3 * 4);
                this.NavCellNeighbours = stream.ReadSerializedData<NavCellLookup>(this.NeightbourCount);

                this.Float0 = stream.ReadValueF32();
                this.Float1 = stream.ReadValueF32();
                this.Int2 = stream.ReadValueS32();
                this.V0 = new Vector2D(stream);

                stream.Position += (3 * 4);
                var pointerGridSquares = stream.GetSerializedDataPointer();
                this.GridSquares = stream.ReadSerializedData<NavGridSquare>(pointerGridSquares, pointerGridSquares.Size / 6);

                this.Int3 = stream.ReadValueS32();
                stream.Position += (3 * 4);
                var pointerCellLookups = stream.GetSerializedDataPointer();
                this.CellLookups = stream.ReadSerializedData<NavCellLookup>(pointerCellLookups, pointerCellLookups.Size / 4);

                this.Int4 = stream.ReadValueS32();
                stream.Position += (3 * 4);
                var pointerBorderData = stream.GetSerializedDataPointer();
                this.BorderData = stream.ReadSerializedData<NavCellBorderData>(pointerBorderData, pointerBorderData.Size / 4);
            }
예제 #2
0
파일: World.cs 프로젝트: mstaJ/mooege
 public void Read(MpqFileStream stream)
 {
     var pointer = stream.GetSerializedDataPointer();
     this.ChunkCount = stream.ReadValueS32();
     stream.Position += (3 * 4);
     this.SceneChunks = stream.ReadSerializedData<SceneChunk>(pointer, this.ChunkCount);
 }
예제 #3
0
파일: MarkerSet.cs 프로젝트: ncoop23/mooege
        public void Read(MpqFileStream stream)
        {
            this.Name = stream.ReadString(128, true);
            this.Int0 = stream.ReadValueS32();
            this.PRTransform = new PRTransform(stream);
            this.SNOName = new SNOName(stream);

            this.TagMap = stream.ReadSerializedItem<TagMap>();

            // Un sure about these 3 ints, 010template isnt the same as snodata.xml - DarkLotus
            this.IntTagMap = stream.ReadValueS32();
            Int1 = stream.ReadValueS32();
            Int2 = stream.ReadValueS32();

            var pointerMarkerLinks = stream.GetSerializedDataPointer();
            stream.Position += (3 * 4);
        }
예제 #4
0
파일: World.cs 프로젝트: mstaJ/mooege
        public void Read(MpqFileStream stream)
        {
            var pointer = stream.GetSerializedDataPointer();
            this.DRLGTiles = stream.ReadSerializedData<TileInfo>(pointer, pointer.Size / 72);

            stream.Position += (14 * 4);
            this.CommandCount = stream.ReadValueS32();
            this.DRLGCommands = stream.ReadSerializedData<DRLGCommand>(this.CommandCount);

            stream.Position += (3 * 4);
            this.ParentIndices = stream.ReadSerializedInts();

            stream.Position += (2 * 4);
            this.DRLGTagMap = stream.ReadSerializedItem<TagMap>();
        }
예제 #5
0
파일: MarkerSet.cs 프로젝트: mstaJ/mooege
        public void Read(MpqFileStream stream)
        {
            this.Name = stream.ReadString(128, true);
            this.Type = (MarkerType)stream.ReadValueS32();
            this.PRTransform = new PRTransform(stream);
            this.SNOHandle = new SNOHandle(stream);

            this.TagMap = stream.ReadSerializedItem<TagMap>();

            // Un sure about these 3 ints, 010template isnt the same as snodata.xml - DarkLotus
            // IntTagMap && Int2 are always 0 for beta. leave it here only because xml does not match either -farmy
            this.IntTagMap = stream.ReadValueS32();
            Int1 = stream.ReadValueS32();
            Int2 = stream.ReadValueS32();

            var pointerMarkerLinks = stream.GetSerializedDataPointer();
            stream.Position += (3 * 4);
        }