private void ReadNametableItems(string nametablePath) { using (var reader = new IOBinaryReader(File.Open(nametablePath, FileMode.Open))) { while (true) { if (reader.BaseStream.Position >= reader.BaseStream.Length) { break; } string text = reader.ReadAnsi(); if (!Nametable.ContainsValue(text)) { Nametable.Add(text.HashKey(), text); } else { MessageBox.Show("Ignoring duplicate entry \"" + text + "\" in \"" + nametablePath); } } } }
public override int Deserialize(byte[] data) { var bytesRead = base.Deserialize(data); using (var reader = new IOBinaryReader(new MemoryStream(data, bytesRead, data.Length - bytesRead))) { ContainerName = new audHashString(parent, reader.ReadUInt32()); AudioContainers.Add(new audHashDesc(ContainerName, bytesRead + ((int)reader.BaseStream.Position - 4))); FileName = new audHashString(parent, reader.ReadUInt32()); WaveSlotNum = reader.ReadByte(); } return(data.Length); }