private void SetStreamOffsets()
{
uint sizeOfHeaders = StreamHeaderSize + (uint)tildeNameArray.Length;
for (int i=1; i < numStreams; i++) {
sizeOfHeaders += streams[i].headerSize();
}
metaDataSize = MetaDataHeaderSize + sizeOfHeaders;
//Console.WriteLine("Size of meta data headers (tildeStart) = " + Hex.Long(metaDataSize));
tildeStart = metaDataSize;
metaDataSize += tildeTide + tildePadding;
//Console.WriteLine(tildeNameArray + " - size = " + (tildeTide + tildePadding));
for (int i=1; i < numStreams; i++) {
//Console.WriteLine("Stream " + i + " " + new String(streams[i].name) + " starts at " + Hex.Long(metaDataSize));
streams[i].Start = metaDataSize;
metaDataSize += streams[i].Size();
streams[i].WriteDetails();
}
if (largeStrings) heapSizes |= 0x01;
if (largeGUID) heapSizes |= 0x02;
if (largeBlob) heapSizes |= 0x04;
}