RocksmithToolkitLib.PsarcLoader.PSARC.WriteManifest C# (CSharp) Method

WriteManifest() private method

private WriteManifest ( ) : void
return void
        private void WriteManifest()
        {
            if (_toc.Count == 0)
            {
                _toc.Add(new Entry() { Name = "NamesBlock.bin" });
            }

            if (_toc[0].Name == "")
            {
                _toc[0].Name = "NamesBlock.bin";
            }

            if (_toc[0].Name != "NamesBlock.bin")
            {
                _toc.Insert(0, new Entry() { Name = "NamesBlock.bin" });
            }

            var binaryWriter = new BinaryWriter(new MemoryStream());
            for (int i = 1, len = _toc.Count; i < len; i++)
            {
                //'/' - unix path separator
                var bytes = Encoding.ASCII.GetBytes(_toc[i].Name);
                binaryWriter.Write(bytes);
                //'\n' - unix line separator
                if (i == len - 1)
                {
                    binaryWriter.BaseStream.Position = 0;
                    continue;
                }
                binaryWriter.Write('\n'); //data.WriteByte(0x0A);
            }
            _toc[0].Data = binaryWriter.BaseStream; //dunno how to get buffer, seek is required
        }