static void WriteCLIBHeader(BinaryWriter writer)
{
int randSeed = (int)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds;
writer.Write(randSeed - NativeConstants.RAND_SEED_SALT);
PseudoRandInt.InitializeInstance(randSeed);
FilePutIntEncrypted(ourlib.DataFilenames.Count, writer);
for (int i = 0; i < ourlib.DataFilenames.Count; ++i)
{
FilePutStringEncrypted(ourlib.DataFilenames[i], writer);
}
FilePutIntEncrypted(ourlib.Files.Count, writer);
for (int i = 0; i < ourlib.Files.Count; ++i)
{
FilePutStringEncrypted(ourlib.Files[i].Filename, writer);
}
for (int i = 0; i < ourlib.Files.Count; ++i)
{
FileWriteDataEncrypted(BitConverter.GetBytes((int)ourlib.Files[i].Offset), writer);
}
for (int i = 0; i < ourlib.Files.Count; ++i)
{
FileWriteDataEncrypted(BitConverter.GetBytes((int)ourlib.Files[i].Length), writer);
}
for (int i = 0; i < ourlib.Files.Count; ++i)
{
FileWriteDataEncrypted(new byte[] { ourlib.Files[i].Datafile }, writer);
}
}