private void ReadFileTable(KOARBinaryReader br) { _fileTable = new List <BigFileEntryBase>(); Int32 count = br.ReadInt(); for (int i = 0; i < count; i++) { var entry = new BigFileEntryInternal(this, br.ReadUInt(), br.ReadUInt(), br.ReadUInt(), br.ReadUInt(), br.ReadUInt()); _fileTable.Add(entry); } }
private void ReadAdditionalInfo() { // load names var lookup_names = this.Find(0xffffffff); // .\lookup_names_as_strings.bin if (lookup_names != null) { List <String> names = new List <string>(); //var br = lookup_names.GetBinaryReader(); var br = new KOARBinaryReader(lookup_names.GetStream()); int count = br.ReadInt(); br.ReadInt(); // skip count duplicate br.Read(3); // skip ffff00 for (int i = 0; i < count; i++) { _fileTable[i].Filename = br.ReadString(); } br.Close(); } }
public void Load(String name) { KOARBinaryReader br = new KOARBinaryReader(Path.Combine("symbols", name)); _fileIDs = new List <uint>(); _symbol_names = new List <string>(); var count = br.ReadInt(); for (int i = 0; i < count; i++) { _fileIDs.Add(br.ReadUInt()); _symbol_names.Add(br.ReadString()); } br.Close(); }
public static String RestoreHashedString(UInt32 hash) { if (_hash_table == null) { _hash_table = new Dictionary <uint, string>(); KOARBinaryReader br = new KOARBinaryReader("data\\hash_table"); var count = br.ReadInt(); for (int i = 0; i < count; i++) { var h = br.ReadUInt(); var s = br.ReadString(); _hash_table[h] = s; } br.Close(); } if (_hash_table.ContainsKey(hash)) { return(_hash_table[hash]); } return(null); }