public void Deserialize(Stream input, Endian endian) { this.Unknown2 = input.ReadValueF32(endian); this.Unknown3 = input.ReadValueF32(endian); this.Unknown4 = input.ReadValueF32(endian); if (this.Unknown2.Equals(0.0f) == false || this.Unknown3.Equals(0.0f) == false || this.Unknown4.Equals(0.0f) == false) { throw new FormatException(); } this.Unknown5 = input.ReadValueS64(endian); this.Creator = input.ReadString(endian); this.Unknown7 = input.ReadValueS64(endian); this.Author = input.ReadString(endian); this.Name = input.ReadString(endian); this.MapId = MapId.Deserialize(input, endian); this.VersionId = Helpers.ReadMungedGuid(input, endian); this.TimeModified = (DateTime)Helpers.ReadTime(input, endian); this.TimeCreated = (DateTime)Helpers.ReadTime(input, endian); this.MapSize = input.ReadValueEnum <MapSize>(endian); this.PlayerRange = input.ReadValueEnum <PlayerRange>(endian); this.Unknown16 = input.ReadValueU32(endian); this.Unknown17 = input.ReadValueU8(); }