private void WriteImage(PVFS2Writer x) { PVFS2Writer w; w = x; // Write the image w.Write("FWEB"); w.Write((byte)0x01); w.Write((byte)0x00); w.Write((UInt16)files.Count); w.Write((UInt32)w.ImgLen); foreach (PVFSFileRecord file in files) { w.Write((UInt16)file.nameHash); } foreach (PVFSFileRecord file in files) { w.Write(file.locStr); } UInt16 flags; foreach (PVFSFileRecord file in files) { // w.Write(file.locStr); // w.Write(file.locData); w.Write((UInt32)file.data.Length + (UInt32)file.FileName.Length + 9); w.Write((UInt16)(file.FileName.Length + 9)); flags = 0; if (file.hasIndex) { flags |= PVFS2_FLAG_HASINDEX; } if (file.isZipped) { flags |= PVFS2_FLAG_ISZIPPED; } w.Write(flags); w.Write(file.FileName); w.Write((byte)0x00); w.Write(file.data); // w.Write((UInt32)((file.fileDate.ToUniversalTime().Ticks - 621355968000000000) / 10000000)); // w.Write((UInt32)0); } while ((w.ImageLength & 0x0000000f) != 0) { w.Write((byte)0xFF); } /* foreach (PVFSFileRecord file in files) * { * w.Write(file.FileName); * w.Write((byte)0x00); * } * * foreach (PVFSFileRecord file in files) * w.Write(file.data); */ w.Close(); generatedImageName = w.imageName; log.Add("\r\nGENERATED WEBFS IMAGE: " + w.ImageLength + " bytes"); }
private void WriteImage(PVFS2Writer x) { PVFS2Writer w; w = x; // Write the image w.Write("FWEB"); w.Write((byte)0x01); w.Write((byte)0x00); w.Write((UInt16)files.Count); w.Write((UInt32)w.ImgLen); foreach (PVFSFileRecord file in files) { w.Write((UInt16)file.nameHash); } foreach (PVFSFileRecord file in files) { w.Write(file.locStr); } UInt16 flags; foreach (PVFSFileRecord file in files) { // w.Write(file.locStr); // w.Write(file.locData); w.Write((UInt32)file.data.Length + (UInt32)file.FileName.Length + 9); w.Write((UInt16)(file.FileName.Length + 9)); flags = 0; if (file.hasIndex) flags |= PVFS2_FLAG_HASINDEX; if (file.isZipped) flags |= PVFS2_FLAG_ISZIPPED; w.Write(flags); w.Write(file.FileName); w.Write((byte)0x00); w.Write(file.data); // w.Write((UInt32)((file.fileDate.ToUniversalTime().Ticks - 621355968000000000) / 10000000)); // w.Write((UInt32)0); } while ((w.ImageLength & 0x0000000f) != 0) w.Write((byte)0xFF); /* foreach (PVFSFileRecord file in files) { w.Write(file.FileName); w.Write((byte)0x00); } foreach (PVFSFileRecord file in files) w.Write(file.data); */ w.Close(); generatedImageName = w.imageName; log.Add("\r\nGENERATED WEBFS IMAGE: " + w.ImageLength + " bytes"); }