public static W2Save Read(string filename)
 {
     var result = new W2Save();
     using (var stream = File.OpenRead(filename))
         result = W2Save.Read(stream);
     return result;
 }
        public int unknown2; // 4 bytes, 1

        #endregion Fields

        #region Methods

        internal static W2Save Read(Stream stream)
        {
            // ReSharper disable UseObjectOrCollectionInitializer
            var result = new W2Save();
            // ReSharper restore UseObjectOrCollectionInitializer
            result.header = stream.ReadUtf8String(4);
            result.unknown1 = stream.ReadInt32();
            result.unknown2 = stream.ReadInt32();
            result.section = Section.Read(stream).ToList();

            foreach (var sec in result.section)
                sec.ReadData(stream);
            return result;
        }