public void Read(GDFileReader file) { Block b = new Block(); if (file.ReadBlockStart(b) != 4) { throw new Exception(); } var version = file.ReadInt(); if (version == 6) // version { stashPages = GDArray <StashPage> .Read(file); } else if (version == 5) { stashPages = new List <StashPage>(); var width = file.ReadInt(); var height = file.ReadInt(); var items = GDArray <StashItem> .Read(file); stashPages.Add(new StashPage() { width = width, height = height, items = items }); } else { throw new Exception("Invalid stash version."); } file.ReadBlockEnd(b); }
public void Read(GDFileReader file) { Block b = new Block(); if (file.ReadBlockStart(b) != 10) { throw new Exception(); } if (file.ReadInt() != 2) // version { throw new Exception(); } for (var i = 0; i < 3; i++) { tokens[i] = new List <string>(); UInt32 n = file.ReadInt(); for (var j = 0; j < n; j++) { var token = GDString.Read(file); tokens[i].Add(token); } } file.ReadBlockEnd(b); }
public void Read(GDFileReader file) { Block b = new Block(); if (file.ReadBlockStart(b) != 12) { throw new Exception(); } if (file.ReadInt() != 1) // version { throw new Exception(); } names = new List <string>(); UInt32 n = file.ReadInt(); for (var i = 0; i < n; i++) { var name = GDString.Read(file); names.Add(name); } file.ReadBlockEnd(b); }
public void Read(GDFileReader file) { Block b = new Block(); if (file.ReadBlockStart(b) != 5) { throw new Exception(); } if (file.ReadInt() != 1) // version { throw new Exception(); } for (var i = 0; i < 3; i++) { uids[i] = GDArray <Uid> .Read(file); } for (var i = 0; i < 3; i++) { spawn[i] = new Uid(); spawn[i].Read(file); } file.ReadBlockEnd(b); }
public void Read(GDFileReader file) { Block b = new Block(); if (file.ReadBlockStart(b) != 3) { throw new Exception(); } if (file.ReadInt() != 4) // version { throw new Exception(); } if ((flag = file.ReadByte()) != 0) { UInt32 n = file.ReadInt(); focused = file.ReadInt(); selected = file.ReadInt(); for (UInt32 i = 0; i < n; i++) { var invSack = new InventorySack(); invSack.Read(file); Sacks.Add(invSack); } useAlternate = file.ReadByte(); for (var i = 0; i < 12; i++) { Equipment[i] = new InventoryEquipment(); Equipment[i].Read(file); } alternate1 = file.ReadByte(); for (var i = 0; i < 2; i++) { Weapon1[i] = new InventoryEquipment(); Weapon1[i].Read(file); } alternate2 = file.ReadByte(); for (var i = 0; i < 2; i++) { Weapon2[i] = new InventoryEquipment(); Weapon2[i].Read(file); } } file.ReadBlockEnd(b); }
public void Read(GDFileReader file) { Block b = new Block(); if (file.ReadBlockStart(b) != 1) { throw new Exception(); } var version = file.ReadInt(); if (version < 3 || version > 5) // version { throw new Exception("Invalid character info version"); } isInMainQuest = file.ReadByte(); hasBeenInGame = file.ReadByte(); difficulty = file.ReadByte(); greatestDifficulty = file.ReadByte(); money = file.ReadInt(); if (version >= 4) { greatestSurvivalDifficulty = file.ReadByte(); currentTribute = file.ReadInt(); } compassState = file.ReadByte(); if (version >= 2 && version <= 4) { lootMode = file.ReadInt(); } skillWindowShowHelp = file.ReadByte(); alternateConfig = file.ReadByte(); alternateConfigEnabled = file.ReadByte(); texture = GDString.Read(file); if (version >= 5) { uint size = file.ReadInt(true); var lootFilters = new byte[size]; for (int i = 0; i < lootFilters.Length; i++) { lootFilters[i] = file.ReadByte(); } } file.ReadBlockEnd(b); }
public void Read(GDFileReader file) { Block b = new Block(); if (file.ReadBlockStart(b) != 0) { throw new Exception(); } tempBool = file.ReadByte(); Items = GDArray <InventoryItem> .Read(file); file.ReadBlockEnd(b); }
public override void Read(GDFileReader file) { Block b = new Block(); if (file.ReadBlockStart(b) != 0) { throw new Exception(); } width = file.ReadInt(); height = file.ReadInt(); items = GDArray <StashItem> .Read(file); file.ReadBlockEnd(b); }
public void Read(GDFileReader file) { Block b = new Block(); if (file.ReadBlockStart(b) != 14) { throw new Exception(); } var version = file.ReadInt(); if (version != 5 && version != 4) // version { throw new Exception("Invalid save file version."); } unknown1 = file.ReadByte(); unknown2 = file.ReadInt(); unknown3 = file.ReadByte(); for (var i = 0; i < 5; i++) { unknown4[i] = GDString.Read(file); unknown5[i] = GDString.Read(file); unknown6[i] = file.ReadByte(); } int numberOfSlots = 46; if (version == 4) { numberOfSlots = 36; } slots = new HotSlot[numberOfSlots]; for (var i = 0; i < numberOfSlots; i++) { slots[i] = new HotSlot(); slots[i].Read(file); } cameraDistance = file.ReadFloat(); file.ReadBlockEnd(b); }
public void Read(GDFileReader file) { Block b = new Block(); if (file.ReadBlockStart(b) != 13) { throw new Exception(); } if (file.ReadInt() != 5) // version { throw new Exception(); } faction = file.ReadInt(); factions = GDArray <FactionData> .Read(file); file.ReadBlockEnd(b); }
public void Read(GDFileReader file) { Block b = new Block(); if (file.ReadBlockStart(b) != 8) { throw new Exception(); } if (file.ReadInt() != 5) // version { throw new Exception(); } skills = GDArray <Skill> .Read(file); masteriesAllowed = file.ReadInt(); skillReclamationPointsUsed = file.ReadInt(); devotionReclamationPointsUsed = file.ReadInt(); itemSkills = GDArray <ItemSkill> .Read(file); file.ReadBlockEnd(b); }
public void Read(GDFileReader file) { Block b = new Block(); if (file.ReadBlockStart(b) != 15) { throw new Exception(); } if (file.ReadInt() != 1) // version { throw new Exception(); } UInt32 n = file.ReadInt(); for (var i = 0; i < n; i++) { pages.Add(file.ReadInt()); } file.ReadBlockEnd(b); }
public void Read(GDFileReader file) { Block b = new Block(); if (file.ReadBlockStart(b) != 16) { throw new Exception(); } var version = file.ReadInt(); if (version < 7 || version > 11) // version { throw new Exception(); } playTime = file.ReadInt(); deaths = file.ReadInt(); kills = file.ReadInt(); experienceFromKills = file.ReadInt(); healthPotionsUsed = file.ReadInt(); manaPotionsUsed = file.ReadInt(); maxLevel = file.ReadInt(); hitsReceived = file.ReadInt(); hitsInflicted = file.ReadInt(); criticalHitsInflicted = file.ReadInt(); criticalHitsReceived = file.ReadInt(); greatestDamageInflicted = file.ReadFloat(); for (var i = 0; i < 3; i++) { greatestMonsterKilledName[i] = GDString.Read(file); greatestMonsterKilledLevel[i] = file.ReadInt(); greatestMonsterKilledLifeAndMana[i] = file.ReadInt(); lastMonsterHit[i] = GDString.Read(file); lastMonsterHitBy[i] = GDString.Read(file); } championKills = file.ReadInt(); lastHit = file.ReadFloat(); lastHitBy = file.ReadFloat(); greatestDamageReceived = file.ReadFloat(); heroKills = file.ReadInt(); itemsCrafted = file.ReadInt(); relicsCrafted = file.ReadInt(); transcendentRelicsCrafted = file.ReadInt(); mythicalRelicsCrafted = file.ReadInt(); shrinesRestored = file.ReadInt(); oneShotChestsOpened = file.ReadInt(); loreNotesCollected = file.ReadInt(); for (var i = 0; i < 3; i++) { bossKills[i] = file.ReadInt(); } if (version >= 9) { survivalWaveTier = file.ReadInt(); greatestSurvivalScore = file.ReadInt(); cooldownRemaining = file.ReadInt(); cooldownTotal = file.ReadInt(); } if (version >= 11) { var skillTrackingMapCount = file.ReadInt(); for (int i = 0; i < skillTrackingMapCount; i++) { var s = GDString.Read(file); var n = file.ReadInt(); } var endlessSouls = file.ReadInt(); var endlessEssence = file.ReadInt(); var difficultySkip = file.ReadByte(); } uniqueItemsFound = file.ReadInt(); randomizedItemsFound = file.ReadInt(); file.ReadBlockEnd(b); }