예제 #1
0
        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);
                    }
                }
            }
        }
예제 #2
0
        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);
        }