internal void WriteTo(BinaryWriter writer, MapWidgetsFormatVersion formatVersion, MapWidgetsSubVersion subVersion, SpecialDoodadVersion specialDoodadVersion) { writer.Write(TypeId); writer.Write(Variation); writer.Write(Position.X); writer.Write(Position.Y); }
internal void WriteTo(BinaryWriter writer, MapWidgetsFormatVersion formatVersion, MapWidgetsSubVersion subVersion, bool useNewFormat) { writer.Write(TypeId); writer.Write(Variation); writer.Write(Position.X); writer.Write(Position.Y); writer.Write(Position.Z); writer.Write(Rotation); writer.Write(Scale.X); writer.Write(Scale.Y); writer.Write(Scale.Z); if (useNewFormat) { writer.Write(SkinId); } if (formatVersion > MapWidgetsFormatVersion.RoCBETA) { writer.Write((byte)State); } writer.Write(Life); if (formatVersion == MapWidgetsFormatVersion.TFT) { writer.Write(MapItemTableId); writer.Write(ItemTableSets.Count); foreach (var itemSet in ItemTableSets) { writer.Write(itemSet, formatVersion, subVersion, useNewFormat); } } writer.Write(CreationNumber); }
internal void ReadFrom(BinaryReader reader, MapWidgetsFormatVersion formatVersion, MapWidgetsSubVersion subVersion, out bool useNewFormat) { TypeId = reader.ReadInt32(); Variation = reader.ReadInt32(); Position = new Vector3(reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle()); Rotation = reader.ReadSingle(); Scale = new Vector3(reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle()); // Check if next byte is 'printable' (this also assumes that _flags byte is a low number). useNewFormat = reader.PeekChar() >= 0x20; SkinId = useNewFormat ? reader.ReadInt32() : TypeId; if (formatVersion > MapWidgetsFormatVersion.RoCBETA) { State = (DoodadState)reader.ReadByte(); if ((int)State >= 8) { throw new InvalidDataException($"Invalid doodad state: {State}."); } } Life = reader.ReadByte(); if (formatVersion == MapWidgetsFormatVersion.TFT) { MapItemTableId = reader.ReadInt32(); nint droppedItemDataCount = reader.ReadInt32(); for (nint i = 0; i < droppedItemDataCount; i++) { ItemTableSets.Add(reader.ReadRandomItemSet(formatVersion, subVersion, useNewFormat)); } } CreationNumber = reader.ReadInt32(); }
public static void Write(this BinaryWriter writer, InventoryItemData inventoryItemData, MapWidgetsFormatVersion formatVersion, MapWidgetsSubVersion subVersion, bool useNewFormat) => inventoryItemData.WriteTo(writer, formatVersion, subVersion, useNewFormat);
public static void Write(this BinaryWriter writer, ModifiedAbilityData modifiedAbilityData, MapWidgetsFormatVersion formatVersion, MapWidgetsSubVersion subVersion, bool useNewFormat) => modifiedAbilityData.WriteTo(writer, formatVersion, subVersion, useNewFormat);
public static RandomUnitTableUnit ReadRandomUnitTableUnit(this BinaryReader reader, MapWidgetsFormatVersion formatVersion, MapWidgetsSubVersion subVersion, bool useNewFormat) => new RandomUnitTableUnit(reader, formatVersion, subVersion, useNewFormat);
internal void ReadFrom(BinaryReader reader, MapWidgetsFormatVersion formatVersion, MapWidgetsSubVersion subVersion, bool useNewFormat) { TableId = reader.ReadInt32(); Column = reader.ReadInt32(); }
internal abstract void WriteTo(BinaryWriter writer, MapWidgetsFormatVersion formatVersion, MapWidgetsSubVersion subVersion, bool useNewFormat);
public static ModifiedAbilityData ReadModifiedAbilityData(this BinaryReader reader, MapWidgetsFormatVersion formatVersion, MapWidgetsSubVersion subVersion, bool useNewFormat) => new ModifiedAbilityData(reader, formatVersion, subVersion, useNewFormat);
internal void ReadFrom(BinaryReader reader, MapWidgetsFormatVersion formatVersion, MapWidgetsSubVersion subVersion, SpecialDoodadVersion specialDoodadVersion) { TypeId = reader.ReadInt32(); Variation = reader.ReadInt32(); Position = new Point(reader.ReadInt32(), reader.ReadInt32()); }
internal InventoryItemData(BinaryReader reader, MapWidgetsFormatVersion formatVersion, MapWidgetsSubVersion subVersion, bool useNewFormat) { ReadFrom(reader, formatVersion, subVersion, useNewFormat); }
internal void WriteTo(BinaryWriter writer, MapWidgetsFormatVersion formatVersion, MapWidgetsSubVersion subVersion, bool useNewFormat) { writer.Write(AbilityId); writer.WriteBool(IsAutocastActive); writer.Write(HeroAbilityLevel); }
internal SpecialDoodadData(BinaryReader reader, MapWidgetsFormatVersion formatVersion, MapWidgetsSubVersion subVersion, SpecialDoodadVersion specialDoodadVersion) { ReadFrom(reader, formatVersion, subVersion, specialDoodadVersion); }
internal void ReadFrom(BinaryReader reader, MapWidgetsFormatVersion formatVersion, MapWidgetsSubVersion subVersion, bool useNewFormat) { AbilityId = reader.ReadInt32(); IsAutocastActive = reader.ReadBool(); HeroAbilityLevel = reader.ReadInt32(); }
internal ModifiedAbilityData(BinaryReader reader, MapWidgetsFormatVersion formatVersion, MapWidgetsSubVersion subVersion, bool useNewFormat) { ReadFrom(reader, formatVersion, subVersion, useNewFormat); }
internal UnitData(BinaryReader reader, MapWidgetsFormatVersion formatVersion, MapWidgetsSubVersion subVersion, out bool useNewFormat) { ReadFrom(reader, formatVersion, subVersion, out useNewFormat); }
public static void Write(this BinaryWriter writer, RandomUnitTableUnit randomUnitTableUnit, MapWidgetsFormatVersion formatVersion, MapWidgetsSubVersion subVersion, bool useNewFormat) => randomUnitTableUnit.WriteTo(writer, formatVersion, subVersion, useNewFormat);
internal void WriteTo(BinaryWriter writer, MapWidgetsFormatVersion formatVersion, MapWidgetsSubVersion subVersion, bool useNewFormat) { writer.Write(Slot); writer.Write(ItemId); }
public static void Write(this BinaryWriter writer, RandomItemSetItem randomItemSetItem, MapWidgetsFormatVersion formatVersion, MapWidgetsSubVersion subVersion, bool useNewFormat) => randomItemSetItem.WriteTo(writer, formatVersion, subVersion, useNewFormat);
public static UnitData ReadMapUnitData(this BinaryReader reader, MapWidgetsFormatVersion formatVersion, MapWidgetsSubVersion subVersion, out bool useNewFormat) => new UnitData(reader, formatVersion, subVersion, out useNewFormat);
internal void ReadFrom(BinaryReader reader, MapWidgetsFormatVersion formatVersion, MapWidgetsSubVersion subVersion, bool useNewFormat) { Slot = reader.ReadInt32(); ItemId = reader.ReadInt32(); }
internal override void WriteTo(BinaryWriter writer, MapWidgetsFormatVersion formatVersion, MapWidgetsSubVersion subVersion, bool useNewFormat) { writer.Write(TableId); writer.Write(Column); }
public static SpecialDoodadData ReadMapSpecialDoodadData(this BinaryReader reader, MapWidgetsFormatVersion formatVersion, MapWidgetsSubVersion subVersion, SpecialDoodadVersion specialDoodadVersion) => new SpecialDoodadData(reader, formatVersion, subVersion, specialDoodadVersion);
/// <summary> /// Initializes a new instance of the <see cref="MapUnits"/> class. /// </summary> /// <param name="formatVersion"></param> /// <param name="subVersion"></param> /// <param name="useNewFormat"></param> public MapUnits(MapWidgetsFormatVersion formatVersion, MapWidgetsSubVersion subVersion, bool useNewFormat) { FormatVersion = formatVersion; SubVersion = subVersion; UseNewFormat = useNewFormat; }
public static InventoryItemData ReadInventoryItemData(this BinaryReader reader, MapWidgetsFormatVersion formatVersion, MapWidgetsSubVersion subVersion, bool useNewFormat) => new InventoryItemData(reader, formatVersion, subVersion, useNewFormat);
internal RandomItemSetItem(BinaryReader reader, MapWidgetsFormatVersion formatVersion, MapWidgetsSubVersion subVersion, bool useNewFormat) { ReadFrom(reader, formatVersion, subVersion, useNewFormat); }
public static RandomUnitAny ReadRandomUnitNeutral(this BinaryReader reader, MapWidgetsFormatVersion formatVersion, MapWidgetsSubVersion subVersion, bool useNewFormat) => new RandomUnitAny(reader, formatVersion, subVersion, useNewFormat);
public static void Write(this BinaryWriter writer, SpecialDoodadData mapSpecialDoodadData, MapWidgetsFormatVersion formatVersion, MapWidgetsSubVersion subVersion, SpecialDoodadVersion specialDoodadVersion) => mapSpecialDoodadData.WriteTo(writer, formatVersion, subVersion, specialDoodadVersion);
public static RandomItemSetItem ReadRandomItemSetItem(this BinaryReader reader, MapWidgetsFormatVersion formatVersion, MapWidgetsSubVersion subVersion, bool useNewFormat) => new RandomItemSetItem(reader, formatVersion, subVersion, useNewFormat);
public static void Write(this BinaryWriter writer, UnitData mapUnitData, MapWidgetsFormatVersion formatVersion, MapWidgetsSubVersion subVersion, bool useNewFormat) => mapUnitData.WriteTo(writer, formatVersion, subVersion, useNewFormat);