private static byte[] CreateGw2Cache(Dat.Compression.Archive compressor, int build, bool compress) { var buffer = new byte[532]; var b = BitConverter.GetBytes(build); buffer[0] = (byte)'A'; buffer[1] = (byte)'R'; buffer[2] = (byte)'A'; buffer[3] = (byte)'P'; buffer[4] = b[0]; buffer[5] = b[1]; //null terminated unicode string //int i = 6; //foreach (char c in CUSTOM_GW2CACHE_FOLDER_NAME) //{ // buffer[i] = (byte)c; // i += 2; //} buffer[6] = (byte)'g'; buffer[8] = (byte)'w'; buffer[10] = (byte)'2'; buffer[12] = (byte)'c'; buffer[14] = (byte)'a'; buffer[16] = (byte)'c'; buffer[18] = (byte)'h'; buffer[20] = (byte)'e'; buffer[528] = (byte)'D'; buffer[529] = (byte)'I'; buffer[530] = (byte)'O'; buffer[531] = (byte)'N'; if (compress) { using (var ms = new MemoryStream(buffer.Length)) { var size = compressor.Compress(buffer, 0, buffer.Length, ms); return(ms.ToArray()); } } else { return(buffer); } }
private byte[] CreateGw2Cache(Dat.Compression.Archive compressor, int build, bool compress) { var buffer = new byte[532]; var b = BitConverter.GetBytes(build); buffer[0] = (byte)'A'; buffer[1] = (byte)'R'; buffer[2] = (byte)'A'; buffer[3] = (byte)'P'; buffer[4] = b[0]; buffer[5] = b[1]; buffer[6] = (byte)'g'; buffer[8] = (byte)'w'; buffer[10] = (byte)'2'; buffer[12] = (byte)'c'; buffer[14] = (byte)'a'; buffer[16] = (byte)'c'; buffer[18] = (byte)'h'; buffer[20] = (byte)'e'; buffer[528] = (byte)'D'; buffer[529] = (byte)'I'; buffer[530] = (byte)'O'; buffer[531] = (byte)'N'; if (compress) { using (var ms = new MemoryStream(buffer.Length)) { var size = compressor.Compress(buffer, 0, buffer.Length, ms); return(ms.ToArray()); } } else { return(buffer); } }