internal void Read(IBitReader reader) { this._Unknown1 = reader.ReadUInt16(); this._Unknown2.Clear(); this._Unknown3.Clear(); this._Unknown4.Clear(); if (this._Unknown1 >= 1) { var unknown2Count = reader.ReadUInt16(); for (int i = 0; i < unknown2Count; i++) { this._Unknown2.Add(reader.ReadUInt32()); } var unknown3Count = reader.ReadUInt16(); for (int i = 0; i < unknown3Count; i++) { this._Unknown3.Add(reader.ReadUInt32()); } } if (this._Unknown1 >= 2) { var unknown4Count = reader.ReadUInt16(); for (int i = 0; i < unknown4Count; i++) { this._Unknown4.Add(reader.ReadUInt32()); } } }
internal void Read(IBitReader reader) { reader.PushFrameLength(24); this._Unknown1 = reader.ReadFloat32(); this._Unknown2 = reader.ReadUInt32(); this._Unknown3.Clear(); var unknown3Count = reader.ReadUInt16(); for (int i = 0; i < unknown3Count; i++) { var unknown3 = new EventTrackerUnknown2(); unknown3.Read(reader); this._Unknown3.Add(unknown3); } this._Unknown4.Clear(); var unknown4Count = reader.ReadUInt16(); for (int i = 0; i < unknown4Count; i++) { var unknown4 = new EventTrackerUnknown2(); unknown4.Read(reader); this._Unknown4.Add(unknown4); } reader.PopFrameLength(); }
internal void Read(IBitReader reader) { reader.PushFrameLength(24); this._Unknown1.Clear(); var unknown1Count = reader.ReadUInt16(); for (int i = 0; i < unknown1Count; i++) { reader.PushFrameLength(24); var unknown1Key = reader.ReadUInt32(); var unknown1Value = reader.ReadBytes(16); reader.PopFrameLength(); this._Unknown1.Add(new KeyValuePair <uint, byte[]>(unknown1Key, unknown1Value)); } this._Unknown2.Clear(); var unknown2Count = reader.ReadUInt16(); for (int i = 0; i < unknown2Count; i++) { reader.PushFrameLength(24); var unknown2Key = reader.ReadUInt32(); var unknown2Value = reader.ReadBytes(16); reader.PopFrameLength(); this._Unknown2.Add(new KeyValuePair <uint, byte[]>(unknown2Key, unknown2Value)); } reader.PopFrameLength(); }
internal override void Read2(IBitReader reader) { base.Read2(reader); this._Unknown1.Clear(); var unknown1Count = reader.ReadUInt16(); for (int i = 0; i < unknown1Count; i++) { var unknown1 = new Data.WorldMapUnknown0(); unknown1.Read(reader); this._Unknown1.Add(unknown1); } this._Unknown2.Clear(); if (this.ReadVersion >= 4) { var unknown2Count = reader.ReadUInt16(); for (int i = 0; i < unknown2Count; i++) { var unknown2 = new Data.WorldMapUnknown2(); unknown2.Read(reader); this._Unknown2.Add(unknown2); } } }
public override void Read(IBitReader reader, ushort version) { this._Unknown5 = reader.ReadUInt16(); this._Unknown6 = reader.ReadUInt16(); this._Unknown7 = reader.ReadUInt16(); this._Unknown8 = version < 8 ? 0 : reader.ReadUInt32(); base.Read(reader, version); }
public static CorpseList Read(IBitReader reader, uint version) { var corpseList = new CorpseList( header: reader.ReadUInt16(), count: reader.ReadUInt16() ); for (int i = 0; i < corpseList.Count; i++) { corpseList.Corpses.Add(Corpse.Read(reader, version)); } return(corpseList); }
public static Mercenary Read(IBitReader reader) { var mercenary = new Mercenary { IsDead = reader.ReadUInt16(), Id = reader.ReadUInt32(), NameId = reader.ReadUInt16(), TypeId = reader.ReadUInt16(), Experience = reader.ReadUInt32() }; return(mercenary); }
public static ItemList Read(IBitReader reader, uint version) { var itemList = new ItemList( header: reader.ReadUInt16(), count: reader.ReadUInt16() ); for (int i = 0; i < itemList.Count; i++) { itemList.Items.Add(Item.Read(reader, version)); } return(itemList); }
public byte[] Decode(IBitReader reader) { ushort num1 = reader != null?reader.ReadUInt16() : throw new ArgumentNullException(nameof(reader)); byte[] buffer = num1 <= 1020 ? reader.ReadBytes(num1) : throw new InvalidOperationException(string.Format("The packet length must not be larger than 1020 bytes (it is: " + num1 + ").")); ushort num2 = reader.ReadUInt16(); int num3 = CRC.FMPro3.CalcCrc16(buffer); if (num2 != num3) { throw new InvalidOperationException(string.Format("The CRC check failed expected: 0x{0:X4}, actual 0x{1:X4}", num2, num3)); } return(buffer); }
internal void Read(IBitReader reader, uint version) { this._ActiveSkills.Clear(); if (version >= 11) { reader.PushFrameLength(24); this._Level = reader.ReadInt32(); this._SkillPointCount = reader.ReadInt32(); this._LowestPurchasableSkillCost = reader.ReadInt32(); this._SkillPointPerLevel = reader.ReadInt32(); this._CharacterId = reader.ReadInt32(); this._MaximumShields = reader.ReadInt32(); this._MaximumHealth = reader.ReadInt32(); var activeSkillCount = reader.ReadUInt16(); for (int i = 0; i < activeSkillCount; i++) { reader.PushFrameLength(24); var activeSkill = new PartyMemberActiveSkill(); activeSkill.LineHash = reader.ReadInt32(); activeSkill.LineRank = reader.ReadInt32(); activeSkill.GroupHash = reader.ReadInt32(); activeSkill.GroupTypeId = reader.ReadInt32(); this._ActiveSkills.Add(activeSkill); reader.PopFrameLength(); } reader.PopFrameLength(); } else { reader.PushFrameLength(24); throw new NotImplementedException(); reader.PopFrameLength(); } }
public static WaypointsSection Read(IBitReader reader) { var waypointsSection = new WaypointsSection { Header = reader.ReadUInt16(), Version = reader.ReadUInt32(), Length = reader.ReadUInt16() }; for (int i = 0; i < waypointsSection._difficulties.Length; i++) { waypointsSection._difficulties[i] = WaypointsDifficulty.Read(reader); } return(waypointsSection); }
internal virtual void Read0(IBitReader reader, byte index) { this._ReadVersion = reader.ReadUInt16(); if (this._ReadVersion > this._Version) { throw new SaveFormatException("unsupported version"); } }
private Golem(IBitReader reader, uint version) { Header = reader.ReadUInt16(); Exists = reader.ReadByte() == 1; if (Exists) { Item = Item.Read(reader, version); } }
internal override void Read4(IBitReader reader) { base.Read4(reader); this._Unknown1 = reader.ReadUInt16(); reader.PushFrameLength(24); var unknown2Count = reader.ReadUInt16(); this._Unknown2.Clear(); for (int i = 0; i < unknown2Count; i++) { reader.PushFrameLength(24); var unknown2Key = reader.ReadUInt32(); var unknown2Value = reader.ReadUInt32(); reader.PopFrameLength(); this._Unknown2.Add(new KeyValuePair <uint, uint>(unknown2Key, unknown2Value)); } reader.PopFrameLength(); }
public static NPCDialogSection Read(IBitReader reader) { var npcDialogSection = new NPCDialogSection { Header = reader.ReadUInt16(), Length = reader.ReadUInt16() }; Span <byte> bytes = stackalloc byte[0x30]; reader.ReadBytes(bytes); using var bits = new InternalBitArray(bytes); for (int i = 0; i < npcDialogSection._difficulties.Length; i++) { npcDialogSection._difficulties[i] = NPCDialogDifficulty.Read(bits); } return(npcDialogSection); }
internal override void Read1(IBitReader reader) { base.Read1(reader); var count = reader.ReadUInt16(); for (uint i = 0; i < count; i++) { var unknown0 = reader.ReadUInt32(); } }
internal void Read(IBitReader reader, ushort version) { this._Unknown1.Clear(); this._Unknown2.Clear(); this._Unknown3.Clear(); this._Unknown4.Clear(); if (version >= 1) { var unknown1Count = reader.ReadUInt16(); for (int i = 0; i < unknown1Count; i++) { var unknown1 = new NotificationsUnknown1(); unknown1.Read(reader, version); this._Unknown1.Add(unknown1); } var unknown2Count = reader.ReadUInt16(); for (int i = 0; i < unknown2Count; i++) { var unknown2 = new NotificationsUnknown2(); unknown2.Read(reader, version); this._Unknown2.Add(unknown2); } var unknown3Count = reader.ReadUInt16(); for (int i = 0; i < unknown3Count; i++) { var unknown3 = new NotificationsUnknown3(); unknown3.Read(reader, version); this._Unknown3.Add(unknown3); } var unknown4Count = reader.ReadUInt16(); for (int i = 0; i < unknown4Count; i++) { var unknown4 = new NotificationsUnknown4(); unknown4.Read(reader, version); this._Unknown4.Add(unknown4); } } }
public override void Read(IBitReader reader, ushort version) { this._Unknown4 = reader.ReadBoolean(); var modCount = Math.Min(5, (int)reader.ReadUInt16()); for (int i = 0; i < modCount; i++) { reader.PushFrameLength(24); if (version >= 9) { var modId = reader.ReadUInt32(); if (modId != 0) { reader.PushFrameLength(24); var modItem = Components.InventoryComponent.ReadItemData(reader, version); reader.PopFrameLength(); this._Mods.Add(new KeyValuePair <uint, ItemData>(modId, modItem)); } } else { throw new NotSupportedException(); } reader.PopFrameLength(); } var augmentationCount = reader.ReadUInt16(); for (int i = 0; i < augmentationCount; i++) { reader.PushFrameLength(24); var augmentationItemHash = reader.ReadUInt32(); this._AugmentationItemHashes.Add(augmentationItemHash); reader.PopFrameLength(); } this._CustomName = reader.ReadString(); base.Read(reader, version); }
private WaypointsDifficulty(IBitReader reader) { Header = reader.ReadUInt16(); ActI = ActIWaypoints.Read(reader); ActII = ActIIWaypoints.Read(reader); ActIII = ActIIIWaypoints.Read(reader); ActIV = ActIVWaypoints.Read(reader); ActV = ActVWaypoints.Read(reader); reader.Align(); reader.AdvanceBits(17 * 8); }
internal void Read(IBitReader reader) { this._Unknown.Clear(); var unknownCount = reader.ReadUInt16(); for (int i = 0; i < unknownCount; i++) { var unknown = new DestructionUnknown2(); unknown.Read(reader); this._Unknown.Add(unknown); } }
internal void Read(IBitReader reader) { this._SkillLines.Clear(); var skillLineCount = reader.ReadUInt16(); for (int i = 0; i < skillLineCount; i++) { var skillLine = new SkillLine(); skillLine.Read(reader); this._SkillLines.Add(skillLine); } }
public static MercenaryItemList Read(IBitReader reader, Mercenary mercenary, uint version) { var mercenaryItemList = new MercenaryItemList { Header = reader.ReadUInt16() }; if (mercenary.Id != 0) { mercenaryItemList.ItemList = ItemList.Read(reader, version); } return(mercenaryItemList); }
internal void Read(IBitReader reader) { reader.PushFrameLength(24); this._Unknown = reader.ReadInt32(); var skillRankCount = reader.ReadUInt16(); this._SkillRanks.Clear(); for (int k = 0; k < skillRankCount; k++) { this._SkillRanks.Add(reader.ReadInt32()); } reader.PopFrameLength(); }
public void Read(IBitReader reader, int version) { var unknown1Count = reader.ReadUInt16(); this._Unknown.Clear(); for (int i = 0; i < unknown1Count; i++) { reader.PushFrameLength(24); var unknown1Key = reader.ReadUInt32(); var unknown1Value = reader.ReadBoolean(); this._Unknown.Add(new KeyValuePair <uint, bool>(unknown1Key, unknown1Value)); reader.PopFrameLength(); } }
internal void Read(IBitReader reader) { reader.PushFrameLength(24); this._ProfileId = reader.ReadInt32(); var powerCount = reader.ReadUInt16(); this._Powers.Clear(); for (int i = 0; i < powerCount; i++) { var power = new PresetPower(); power.Read(reader); this._Powers.Add(power); } reader.PopFrameLength(); }
internal void Read(IBitReader reader) { reader.PushFrameLength(24); this._Unknown1 = reader.ReadUInt32(); this._Loot.Clear(); var lootCount = reader.ReadUInt16(); for (int i = 0; i < lootCount; i++) { var lootObject = new LootObject(); lootObject.Read(reader); this._Loot.Add(lootObject); } reader.PopFrameLength(); }
internal override void Read2(IBitReader reader) { base.Read2(reader); this._LootContainers.Clear(); var lootContainerCount = reader.ReadUInt16(); for (int i = 0; i < lootContainerCount; i++) { var lootContainer = new Data.LootContainer(); lootContainer.Read(reader); this._LootContainers.Add(lootContainer); } this._Unknown1.Clear(); var unknown1Count = reader.ReadUInt16(); for (int i = 0; i < unknown1Count; i++) { reader.PushFrameLength(24); var unknown1Key = reader.ReadUInt32(); var unknown1Value = reader.ReadUInt32(); reader.PopFrameLength(); this._Unknown1.Add(new KeyValuePair <uint, uint>(unknown1Key, unknown1Value)); } }
public static Attributes Read(IBitReader reader) { var itemStatCost = Core.MetaData.ItemStatCostData; var attributes = new Attributes { Header = reader.ReadUInt16() }; ushort id = reader.ReadUInt16(9); while (id != 0x1ff) { var property = itemStatCost.GetById(id); int attribute = reader.ReadInt32(property?["CSvBits"].ToInt32() ?? 0); int valShift = property?["ValShift"].ToInt32() ?? 0; if (valShift > 0) { attribute >>= valShift; } attributes.Stats.Add(property?["Stat"].Value ?? string.Empty, attribute); id = reader.ReadUInt16(9); } reader.Align(); return(attributes); }
internal void Read(IBitReader reader) { this._Unknown1 = reader.ReadUInt32(); this._Unknown2.Clear(); if (this._Unknown1 >= 1) { var unknown2Count = reader.ReadUInt16(); for (int i = 0; i < unknown2Count; i++) { var unknown2 = new CodexListUnknown1(); unknown2.Read(reader); this._Unknown2.Add(unknown2); } } }
public static void ReadStringList(this IBitReader reader, List <string> list) { if (list == null) { throw new ArgumentNullException("list"); } list.Clear(); var count = reader.ReadUInt16(); for (int i = 0; i < count; i++) { list.Add(reader.ReadString()); } }