private void showVpxyFile(Stream vpxyStream)
        {
            showRcolHeader(vpxyStream);

            string vpxyString = vpxyStream.ReadStringASCII(4);
            uint vpxyVersion = vpxyStream.ReadValueU32();

            uint tailOffset = vpxyStream.ReadValueU32();
            uint tailSize = vpxyStream.ReadValueU32();

            vpxyStream.Seek(tailOffset - 4, SeekOrigin.Current);

            uint numTGIs = vpxyStream.ReadValueU32();

            for (int i = 0; i < numTGIs; i++)
            {
                ListViewItem loditem = new ListViewItem();

                loditem.Text = "TGI #" + i.ToString();

                uint lodTypeId = vpxyStream.ReadValueU32();
                uint lodGroupId = vpxyStream.ReadValueU32();
                ulong lodInstanceId = vpxyStream.ReadValueU64();

                loditem.SubItems.Add("key:" + lodTypeId.ToString("X8") + ":" + lodGroupId.ToString("X8") + ":" + lodInstanceId.ToString("X16"));

                if (isLocalFile(new ResourceKey(lodInstanceId, lodTypeId, lodGroupId)))
                {
                    loditem.SubItems.Add("*");
                }

                listView2.Items.Add(loditem);

            }
        }
        private void showKeyNameFile(Stream keyNameFile)
        {
            BinaryReader reader = new BinaryReader(keyNameFile);

            reader.ReadUInt32();

            int kCount = reader.ReadInt32();

            for (int i = 0; i < kCount; i++)
            {
                ulong instanceID = reader.ReadUInt64();
                uint nameLength = reader.ReadUInt32();
                string kName = keyNameFile.ReadStringASCII(nameLength);

                ListViewItem litem = new ListViewItem();
                litem.Text = instanceID.ToString("X16");
                litem.SubItems.Add(kName);

                listView2.Items.Add(litem);
            }
        }