Ejemplo n.º 1
0
        public static SideDef[] FromWad(string fileName, TextureLookup textures, Sector[] sectors)
        {
            var reader = new BinaryReader(DoomApplication.Instance.FileSystem.Read(fileName));
            var length = reader.BaseStream.Length;

            if (length % SideDef.dataSize != 0)
            {
                throw new Exception();
            }

            var data  = reader.ReadBytes((int)reader.BaseStream.Length);
            var count = length / SideDef.dataSize;
            var sides = new SideDef[count];

            ;

            for (var i = 0; i < count; i++)
            {
                var offset = SideDef.dataSize * i;
                sides[i] = SideDef.FromData(data, offset, textures, sectors);
            }

            return(sides);
        }