Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }