public override void Deserialize(BetterReader reader, string name) { base.Deserialize(reader, name); Version = reader.ReadSingle(); NumRecords = reader.ReadUInt32(); NextObjectID = reader.ReadUInt32(); }
public override void Deserialize(BetterReader reader, string name) { base.Deserialize(reader, name); Reference = reader.ReadUInt32(); Flags = (REFR_XPWRFlags)reader.ReadUInt32(); }
public virtual void Deserialize(BetterReader reader, string name) { type = name; dataSize = reader.ReadUInt32(); unknow = reader.ReadUInt32(); flags = reader.ReadUInt32(); ExtractSubRecords(reader, dataSize); }
public override void Deserialize(BetterReader reader, string name) { base.Deserialize(reader, name); RangeRadius = reader.ReadSingle(); BroadcastRangeType = (REFR_XRDOBroadcastRangeType)reader.ReadUInt32(); StaticPercentage = reader.ReadSingle(); PositionReference = reader.ReadUInt32(); }
public override void Deserialize(BetterReader reader, string name) { base.Deserialize(reader, name); Unused = reader.ReadBytes(4); RefCount = reader.ReadUInt32(); CompiledSize = reader.ReadUInt32(); VariableCount = reader.ReadUInt32(); Type = (SCHR_Types)reader.ReadUInt16(); Flags = (SCHR_Flags)reader.ReadUInt16(); }
public override void Deserialize(BetterReader reader, string name) { base.Deserialize(reader, name); if (Size != 8) { Console.WriteLine(""); } Origin = reader.ReadUInt32(); Destination = reader.ReadUInt32(); }
public override void Deserialize(BetterReader reader, string name) { base.Deserialize(reader, name); Count = reader.ReadUInt32(); for (var i = 0; i < Count; i++) { var alternateTextureLength = reader.ReadUInt32(); AlternateTexture.Add(new AlternateTexture(alternateTextureLength, Encoding.ASCII.GetString(reader.ReadBytes(Convert.ToInt32(alternateTextureLength))), reader.ReadUInt32(), reader.ReadInt32())); } }
public override void Deserialize(BetterReader reader, string name) { base.Deserialize(reader, name); EmotionType = (DialogResponseEmotionType)reader.ReadUInt32(); EmotionValue = reader.ReadUInt32(); Unused1 = reader.ReadBytes(4); ResponseNumber = reader.ReadByte(); Unused2 = reader.ReadBytes(3); Sound = reader.ReadInt32(); Flags = (DialogResponseFlags)reader.ReadByte(); Unused3 = reader.ReadBytes(3); }
public override void Deserialize(BetterReader reader, string name) { base.Deserialize(reader, name); Door = reader.ReadUInt32(); X = reader.ReadSingle(); Y = reader.ReadSingle(); Z = reader.ReadSingle(); rX = reader.ReadSingle(); rY = reader.ReadSingle(); rZ = reader.ReadSingle(); Flags = (REFR_XTELFlags)reader.ReadUInt32(); }
public override void Deserialize(BetterReader reader, string name) { base.Deserialize(reader, name); NavigationMesh = reader.ReadUInt32(); Unknown = reader.ReadBytes(4); }
public override void Deserialize(BetterReader reader, string name) { base.Deserialize(reader, name); Reference = reader.ReadUInt32(); Delay = reader.ReadSingle(); }
public override void Deserialize(BetterReader reader, string name) { base.Deserialize(reader, name); Reference = reader.ReadUInt32(); Flags = (REFR_XESPFlags)reader.ReadByte(); Unknown = reader.ReadBytes(3); }
public override void Deserialize(BetterReader reader, string name) { base.Deserialize(reader, name); Faction = reader.ReadUInt32(); Rank = reader.ReadByte(); Unused = reader.ReadBytes(3); }
public override void Deserialize(BetterReader reader, string name) { base.Deserialize(reader, name); Texture = reader.ReadUInt32(); Quadrant = (ATXTorBTXTQuadrants)reader.ReadByte(); Unused = reader.ReadByte(); Layer = reader.ReadInt16(); }
public override void Deserialize(BetterReader reader, string name) { base.Deserialize(reader, name); XBound = reader.ReadSingle(); YBound = reader.ReadSingle(); ZBound = reader.ReadSingle(); Red = reader.ReadSingle(); Green = reader.ReadSingle(); Blue = reader.ReadSingle(); Unknown = reader.ReadBytes(4); Type = (REFR_XPRMTypes)reader.ReadUInt32(); }
public override void Deserialize(BetterReader reader, string name) { base.Deserialize(reader, name); Flags = reader.ReadUInt32(); Fatigue = reader.ReadUInt16(); BarterGold = reader.ReadUInt16(); LevelOrLevelMult = reader.ReadInt16(); CalcMin = reader.ReadUInt16(); CalcMax = reader.ReadUInt16(); SpeedMult = reader.ReadUInt16(); KarmaAlignment = reader.ReadSingle(); DispositionBase = reader.ReadInt16(); TemplateFlags = (ACBSTemplateFlags)reader.ReadUInt16(); }
public virtual void Deserialize(BetterReader reader, string name, GameID gameID) { type = name; dataSize = reader.ReadUInt32(); flags = reader.ReadUInt32(); id = reader.ReadUInt32(); revision = reader.ReadUInt32(); if (gameID != GameID.Oblivion) { version = reader.ReadUInt16(); unknow = reader.ReadUInt16(); } if (Deleted) { reader.ReadBytes((int)dataSize); return; } if (Compressed) { var decompSize = (int)reader.ReadUInt32(); var compressedData = reader.ReadBytes((int)dataSize - 4); Utils.LogBuffer("\t\tCompressed Data {0}", type); var decompressedData = Decompress(compressedData); using (var betterReader = new BetterMemoryReader(decompressedData)) ExtractSubRecords(betterReader, gameID, (uint)betterReader.Length); } else { ExtractSubRecords(reader, gameID, dataSize); } }
public override void Deserialize(BetterReader reader, string name) { base.Deserialize(reader, name); Level = reader.ReadByte(); Unused = reader.ReadBytes(3); Key = reader.ReadUInt32(); if (Size == 12) { Unknown = reader.ReadBytes(4); } else if (Size == 16) { Unknown = reader.ReadBytes(8); } else if (Size == 20) { Unknown = reader.ReadBytes(12); } }
public override void Deserialize(BetterReader reader, string name) { base.Deserialize(reader, name); Value = reader.ReadUInt32(); }
public virtual void Deserialize(BetterReader reader, string name, GameID gameID) { _type = name; _subGroups = new Dictionary<GroupType, List<Group>>(); _records = new Dictionary<string, List<Record>>(); var headerSize = 24; if (gameID == GameID.Oblivion) headerSize = 20; _groupSize = reader.ReadUInt32(); _label = reader.ReadBytes(4); _groupType = reader.ReadInt32(); switch ((GroupType)_groupType) { case GroupType.Top: //if (label[0] >= 32) Label = Utils.ToString(_label); break; case GroupType.WorldChildren: case GroupType.CellChildren: case GroupType.TopicChildren: case GroupType.CellPersistentChildren: case GroupType.CellTemporaryChildren: case GroupType.CellVisibleDistantChildren: //_parentId = _label[0]; _parentId = BitConverter.ToUInt32(_label, 0); break; } _stamp = reader.ReadUInt16(); _unknow = reader.ReadUInt16(); if (gameID != GameID.Oblivion) { _version = reader.ReadUInt16(); _unknow2 = reader.ReadUInt16(); } if (Label != null) Utils.LogBuffer("{0} > {1}", _type, Label); var endRead = reader.Position + (_groupSize - headerSize); var fname = string.Empty; Group group = null; Record record = null; // Only used for debug helping. var logGroupDebugDico = new List<int>(); var logRecordDebugDico = new List<string>(); while (reader.Position < endRead) { fname = reader.ReadString(4); if (fname == "GRUP") { group = new Group(); group.Deserialize(reader, fname, gameID); var groupType = (GroupType)group.Type; if (!_subGroups.ContainsKey(groupType)) { var list = new List<Group>(); list.Add(group); _subGroups.Add(groupType, list); } else _subGroups[groupType].Add(group); if (!logGroupDebugDico.Contains(group._groupType)) { logGroupDebugDico.Add(group._groupType); Utils.LogBuffer("\t# SubGroup: {0}", (GroupType)group._groupType); } } else { record = Record.GetRecord(fname); record.Deserialize(reader, fname, gameID); if (!_records.ContainsKey(record.Type)) { var list = new List<Record>(); list.Add(record); _records.Add(record.Type, list); } else _records[record.Type].Add(record); if (!logRecordDebugDico.Contains(record.Type)) { logRecordDebugDico.Add(record.Type); Utils.LogBuffer("\t- Record: {0}", record.Type); } } } }