public void read(ref GDBlockReader gdc) { GDBlock b = new GDBlock(); if (gdc.read_block_start(ref b) != 1) { throw new Exception(); } uint ver = gdc.read_int(); if (ver < 3) // version { throw new Exception(); } isInMainQuest = gdc.read_byte(); hasBeenInGame = gdc.read_byte(); difficulty = gdc.read_byte(); greatestDifficulty = gdc.read_byte(); money = gdc.read_int(); if (ver >= 4) { gdc.read_byte(); gdc.read_int(); } compassState = gdc.read_byte(); lootMode = gdc.read_int(); skillWindowShowHelp = gdc.read_byte(); alternateConfig = gdc.read_byte(); alternateConfigEnabled = gdc.read_byte(); texture = gdc.read_str(); gdc.read_block_end(ref b); }
public void read(ref GDBlockReader gdbr) { name = gdbr.read_wide_str(); sex = gdbr.read_byte(); tag = gdbr.read_str(); level = gdbr.read_int(); hardcore = gdbr.read_byte(); }
public void Open(string filename) { BlockReader = new GDBlockReader(); using (BlockReader.File = new BinaryReader(File.Open(filename, FileMode.Open, FileAccess.Read, FileShare.Read), ASCIIEncoding.ASCII)) { FileName = filename; UInt32 n, ver; BlockReader.read_key(); if (BlockReader.read_int() != 2) { throw new IOException(); } GDBlock b = new GDBlock(); if (BlockReader.read_block_start(ref b) != 18) { throw new IOException(); } ver = BlockReader.read_int(); if (ver < 4) // version { throw new IOException("Version Mismatch <4"); } n = BlockReader.next_int(); if (n != 0) { throw new IOException(); } mod = BlockReader.read_str(); if (ver >= 5) { BlockReader.read_byte(); } n = BlockReader.read_int(); Bags = new List <GDStashBag>((int)n); for (int i = 0; i < n; i++) { GDStashBag bag = new GDStashBag(); bag.Read(this.BlockReader, this); bag.Index = i; Bags.Add(bag); } BlockReader.read_block_end(ref b); } }
internal void Read(GDBlockReader gdbr, bool isInventory = false) { baseName = gdbr.read_str(); if (!string.IsNullOrEmpty(baseName)) { string folder = Path.GetDirectoryName(baseName); _DbrFileName = Path.GetFileNameWithoutExtension(baseName); _SubCategory = folder.Substring(folder.LastIndexOf('\\') + 1).Replace("gear", String.Empty); folder = folder.Substring(0, folder.LastIndexOf('\\') - 1); _Category = folder.Substring(folder.LastIndexOf('\\') + 1).Replace("gear", String.Empty); } else { //System.Diagnostics.Debugger.Break(); } prefixName = gdbr.read_str(); suffixName = gdbr.read_str(); modifierName = gdbr.read_str(); transmuteName = gdbr.read_str(); seed = gdbr.read_int(); relicName = gdbr.read_str(); relicBonus = gdbr.read_str(); relicSeed = gdbr.read_int(); augmentName = gdbr.read_str(); unknown = gdbr.read_int(); augmentSeed = gdbr.read_int(); var1 = gdbr.read_int(); stackCount = gdbr.read_int(); if (isInventory) { //uint n=gdbr.read_int(); //xOffset = n; //n=gdbr.read_int(); //yOffset = n; } else { xOffset = gdbr.read_float(); yOffset = gdbr.read_float(); } }