public void ReadFromFile(BinaryReader reader) { SlotType = (ESlotType)reader.ReadUInt32(); SDSName = XBinCoreUtils.ReadStringPtrWithOffset(reader); QuotaID = XBinCoreUtils.ReadStringPtrWithOffset(reader); LoadFlags = reader.ReadUInt32(); }
public void ReadFromFile(BinaryReader reader) { Position.ReadFromFile(reader); Direction.ReadFromFile(reader); EntityName = XBinCoreUtils.ReadStringPtrWithOffset(reader); LoadFlags = reader.ReadUInt32(); }
} // Not implemented in game. public void ReadFromFile(BinaryReader reader) { AIWeaponPtr = reader.ReadUInt32(); AnimParticlesPtr = reader.ReadUInt32(); AttackParamsPtr = reader.ReadUInt32(); long currentPosition = reader.BaseStream.Position + 4; XBinCoreUtils.GotoPtrWithOffset(reader); CarColours = new CarColoursTable(); CarColours.ReadFromFile(reader); reader.BaseStream.Seek(currentPosition, SeekOrigin.Begin); currentPosition = reader.BaseStream.Position + 4; XBinCoreUtils.GotoPtrWithOffset(reader); CarWindowTints = new CarWindowTintTable(); CarWindowTints.ReadFromFile(reader); reader.BaseStream.Seek(currentPosition, SeekOrigin.Begin); CarInteriorColorsTableMPPtr = reader.ReadUInt32(); CarGearboxesTableMPPtr = reader.ReadUInt32(); currentPosition = reader.BaseStream.Position + 4; XBinCoreUtils.GotoPtrWithOffset(reader); CarMtrStuff = new CarMtrStuffTable(); CarMtrStuff.ReadFromFile(reader); reader.BaseStream.Seek(currentPosition, SeekOrigin.Begin); currentPosition = reader.BaseStream.Position + 4; XBinCoreUtils.GotoPtrWithOffset(reader); CarSkidmarks = new CarSkidmarksTable(); CarSkidmarks.ReadFromFile(reader); reader.BaseStream.Seek(currentPosition, SeekOrigin.Begin); currentPosition = reader.BaseStream.Position + 4; XBinCoreUtils.GotoPtrWithOffset(reader); CarTuningItems = new CarTuningItemTable(); CarTuningItems.ReadFromFile(reader); CarTuningModificatorsTableMPPtr = reader.ReadUInt32(); CombinableCharactersTableMPPtr = reader.ReadUInt32(); CrashObjectTablePtr = reader.ReadUInt32(); CubeMapsTablePtr = reader.ReadUInt32(); DamageMultiplierTablePtr = reader.ReadUInt32(); FamilyAlbumExtrasTablePtr = reader.ReadUInt32(); FamilyAlbumTablePtr = reader.ReadUInt32(); reader.BaseStream.Seek(currentPosition, SeekOrigin.Begin); currentPosition = reader.BaseStream.Position + 4; XBinCoreUtils.GotoPtrWithOffset(reader); }
public void ReadFromFile(BinaryReader reader) { uint VehicleOffset = reader.ReadUInt32(); uint NumInstances0 = reader.ReadUInt32(); uint NumInstances1 = reader.ReadUInt32(); Debug.Assert(NumInstances0 == NumInstances1, "Number of instances is incorrect!"); SlotType = (ESlotType)reader.ReadUInt32(); SDSName = XBinCoreUtils.ReadStringPtrWithOffset(reader); QuotaID = XBinCoreUtils.ReadStringPtrWithOffset(reader); GUID = reader.ReadUInt32(); SlotID = reader.ReadUInt32(); Instances = new VehicleInstance[NumInstances0]; for (int i = 0; i < Instances.Length; i++) { VehicleInstance Instance = new VehicleInstance(); Instance.ReadFromFile(reader); Instances[i] = Instance; } }
public void ReadFromFile(BinaryReader reader) { SDSName = XBinCoreUtils.ReadStringPtrWithOffset(reader); }
public void ReadFromFile(BinaryReader reader) { Variable = XBinCoreUtils.ReadStringPtrWithOffset(reader); Operator = (ECommandIfOperator)reader.ReadInt32(); Value = XBinCoreUtils.ReadStringPtrWithOffset(reader); }
public void ReadFromFile(BinaryReader reader) { // NB: Only suitable for M3 for now. AIWeaponPtr = reader.ReadUInt32(); AnimParticlesPtr = reader.ReadUInt32(); AttackParamsPtr = reader.ReadUInt32(); long currentPosition = reader.BaseStream.Position + 4; XBinCoreUtils.GotoPtrWithOffset(reader); CarColours = new CarColoursTable(); CarColours.ReadFromFile(reader); reader.BaseStream.Seek(currentPosition, SeekOrigin.Begin); currentPosition = reader.BaseStream.Position + 4; XBinCoreUtils.GotoPtrWithOffset(reader); CarWindowTints = new CarWindowTintTable(); CarWindowTints.ReadFromFile(reader); reader.BaseStream.Seek(currentPosition, SeekOrigin.Begin); CarInteriorColorsTableMPPtr = reader.ReadUInt32(); CarGearboxesTableMPPtr = reader.ReadUInt32(); currentPosition = reader.BaseStream.Position + 4; XBinCoreUtils.GotoPtrWithOffset(reader); CarMtrStuff = new CarMtrStuffTable(); CarMtrStuff.ReadFromFile(reader); reader.BaseStream.Seek(currentPosition, SeekOrigin.Begin); currentPosition = reader.BaseStream.Position + 4; XBinCoreUtils.GotoPtrWithOffset(reader); CarSkidmarks = new CarSkidmarksTable(); CarSkidmarks.ReadFromFile(reader); reader.BaseStream.Seek(currentPosition, SeekOrigin.Begin); currentPosition = reader.BaseStream.Position + 4; XBinCoreUtils.GotoPtrWithOffset(reader); CarTuningItems = new CarTuningItemTable(); CarTuningItems.ReadFromFile(reader); reader.BaseStream.Seek(currentPosition, SeekOrigin.Begin); CarTuningModificatorsTableMPPtr = reader.ReadUInt32(); CombinableCharactersTableMPPtr = reader.ReadUInt32(); CrashObjectTablePtr = reader.ReadUInt32(); CubeMapsTablePtr = reader.ReadUInt32(); DamageMultiplierTablePtr = reader.ReadUInt32(); FamilyAlbumExtrasTablePtr = reader.ReadUInt32(); FamilyAlbumTablePtr = reader.ReadUInt32(); currentPosition = reader.BaseStream.Position; reader.BaseStream.Seek(currentPosition, SeekOrigin.Begin); currentPosition = reader.BaseStream.Position + 4; XBinCoreUtils.GotoPtrWithOffset(reader); HealthSystem = new HealthSystemTable(); HealthSystem.ReadFromFile(reader); reader.BaseStream.Seek(currentPosition, SeekOrigin.Begin); currentPosition = reader.BaseStream.Position + 4; XBinCoreUtils.GotoPtrWithOffset(reader); HumanWeaponImpacts = new HumanWeaponImpactTable(); HumanWeaponImpacts.ReadFromFile(reader); reader.BaseStream.Seek(currentPosition, SeekOrigin.Begin); currentPosition = reader.BaseStream.Position + 4; XBinCoreUtils.GotoPtrWithOffset(reader); HumanDamageZones = new HumanDamageZonesTable(); HumanDamageZones.ReadFromFile(reader); reader.BaseStream.Seek(currentPosition, SeekOrigin.Begin); currentPosition = reader.BaseStream.Position + 4; XBinCoreUtils.GotoPtrWithOffset(reader); HumanMaterials = new HumanMaterialsTable(); HumanMaterials.ReadFromFile(reader); // TODO: Everything in this function was always "temporary". // Maybe check the other table container files, see if they // are good enough. Otherwise I need to create a new solution }