/// <summary>
        ///		Reads a specified number of floats and copies them into the destination pointer.
        /// </summary>
        /// <param name="count">Number of values to read.</param>
        /// <param name="dest">Pointer to copy the values into.</param>
        protected void ReadBytes(BinaryMemoryReader reader, int count, IntPtr dest)
        {
            // blast the data into the buffer
            unsafe {
                byte *pointer = (byte *)dest.ToPointer();

                for (int i = 0; i < count; i++)
                {
                    pointer[i] = reader.ReadByte();
                }
            }
        }