private int GetPropertyEnd(int n)
        {
            int pos = 0x00;

            try
            {
                int test = BitConverter.ToInt32(Owner.Exports[n].data, 8);
                if (test == 0)
                {
                    pos = 0x04;
                }
                else
                {
                    pos = 0x08;
                }
                if ((Owner.Exports[n].flags & 0x02000000) != 0)
                {
                    pos = 0x1A;
                }
                while (true)
                {
                    int idxname = BitConverter.ToInt32(Owner.Exports[n].data, pos);
                    if (Owner.GetName(idxname) == "None" || Owner.GetName(idxname) == "")
                    {
                        break;
                    }
                    int idxtype = BitConverter.ToInt32(Owner.Exports[n].data, pos + 8);
                    int size    = BitConverter.ToInt32(Owner.Exports[n].data, pos + 16);
                    if (size == 0)
                    {
                        size = 1;   //boolean fix
                    }
                    if (Owner.GetName(idxtype) == "StructProperty")
                    {
                        size += 8;
                    }
                    if (Owner.GetName(idxtype) == "ByteProperty")
                    {
                        size += 8;
                    }
                    pos += 24 + size;
                    if (pos > Owner.Exports[n].data.Length)
                    {
                        pos -= 24 + size;
                        break;
                    }
                }
            }
            catch (Exception e)
            {
                MessageBox.Show(e.ToString());
            }
            return(pos + 8);
        }
Exemple #2
0
 public void RefreshList()
 {
     listBox1.Items.Clear();
     objects = new List <int>();
     for (int i = 0; i < udk.ExportCount; i++)
     {
         if (udk.GetClass(udk.Exports[i].clas) == "SkeletalMesh")
         {
             objects.Add(i);
             listBox1.Items.Add("SkeletalMesh #" + i.ToString("d4") + " : " + udk.GetName(udk.Exports[i].name));
         }
         if (udk.GetClass(udk.Exports[i].clas) == "StaticMesh")
         {
             objects.Add(i);
             listBox1.Items.Add("StaticMesh #" + i.ToString("d4") + " : " + udk.GetName(udk.Exports[i].name));
         }
     }
 }
Exemple #3
0
        public void RefreshLists()
        {
            listBox1.Items.Clear();
            switch (SelectedView)
            {
            case 0:    //names
                toolStripButton3.Checked = false;
                toolStripButton2.Checked = false;
                toolStripButton1.Checked = true;
                for (int i = 0; i < udk.NameCount; i++)
                {
                    string s = i.ToString("d5") + " : ";
                    s += udk.GetName(i);
                    listBox1.Items.Add(s);
                }
                break;

            case 1:    //imports
                toolStripButton1.Checked = false;
                toolStripButton3.Checked = false;
                toolStripButton2.Checked = true;
                for (int i = 0; i < udk.ImportCount; i++)
                {
                    string s = i.ToString("d5") + " : ";
                    s += udk.FollowLink(udk.Imports[i].link);
                    s += udk.GetName(udk.Imports[i].name);
                    listBox1.Items.Add(s);
                }
                break;

            case 2:    //exports
                toolStripButton1.Checked = false;
                toolStripButton2.Checked = false;
                toolStripButton3.Checked = true;
                for (int i = 0; i < udk.ExportCount; i++)
                {
                    string s = i.ToString("d5") + " : ";
                    s += udk.FollowLink(udk.Exports[i].link);
                    s += udk.GetName(udk.Exports[i].name);
                    listBox1.Items.Add(s);
                }
                break;
            }
        }