internal static GvasFormat.SaveGameHeader Read(UE_BinaryReader reader) { var result = new GvasFormat.SaveGameHeader(); result.FileTypeTag = GvasFormat.SaveGameHeader.UE4_SAVEGAME_FILE_TYPE_TAG; { result.SaveGameFileVersion = reader.ReadInt32(); result.PackageFileUE4Version = reader.ReadInt32(); } // var engine_version = new EngineVersion(); { engine_version.Major = reader.ReadUInt16(); engine_version.Minor = reader.ReadUInt16(); engine_version.Patch = reader.ReadUInt16(); engine_version.ChangeList = reader.ReadUInt32(); engine_version.Branch = reader.ReadString(); } result.SavedEngineVersion = engine_version; // result.CustomVersionFormat = reader.ReadInt32(); // var version_container = new CustomVersionContainer(); { version_container.Count = reader.ReadInt32(); version_container.Versions = new CustomVersion[version_container.Count]; for (var i = 0; i < version_container.Count; i++) { var version = new CustomVersion(); { version.Key = new Guid(reader.ReadBytes(16)); version.Version = reader.ReadInt32(); } version_container.Versions[i] = version; } } result.CustomVersions = version_container; // result.SaveGameClassName = reader.ReadString(); return(result); }
internal UE_Property Read() { if (reader.PeekChar() < 0) { throw new EndOfStreamException(); } var name = reader.ReadString(); if (name == null) { return(null); } else if (name == UE_None.Identifier) { return(UE_None.Get()); } else { var value_info = new ValueInfo(); value_info.type = reader.ReadString(); value_info.length = reader.ReadInt64(); value_info.position = PositionToken.Normal; var value = Read_UE_Value(value_info); return(new UE_Property() { Name = name, Value = value }); } }