Ejemplo n.º 1
0
        private void OnClickReplace(object sender, EventArgs e)
        {
            if (listBox.SelectedItems.Count == 1)
            {
                using (OpenFileDialog dialog = new OpenFileDialog())
                {
                    dialog.Multiselect     = false;
                    dialog.Title           = "Choose image file to replace";
                    dialog.CheckFileExists = true;
                    dialog.Filter          = "Image files (*.tif;*.tiff;*.bmp)|*.tif;*.tiff;*.bmp";
                    if (dialog.ShowDialog() == DialogResult.OK)
                    {
                        Bitmap bmp = new Bitmap(dialog.FileName);
                        if (dialog.FileName.Contains(".bmp"))
                        {
                            bmp = Utils.ConvertBmp(bmp);
                        }

                        int i = int.Parse(listBox.Items[listBox.SelectedIndex].ToString());
                        Gumps.ReplaceGump(i, bmp);
                        ControlEvents.FireGumpChangeEvent(this, i);
                        listBox.Invalidate();
                        ListBox_SelectedIndexChanged(this, EventArgs.Empty);
                        Options.ChangedUltimaClass["Gumps"] = true;
                    }
                }
            }
        }
Ejemplo n.º 2
0
 public static void PatchGump()
 {
     Console.WriteLine("Patching Gumps...");
     foreach (Item lItem in FItems)
     {
         Bitmap lImage = new Bitmap(lItem.FilePath);
         lImage.MakeTransparent(lImage.GetPixel(1, 1));
         foreach (ushort lPosition in lItem.Positions)
         {
             int lPosIndex = (int)lPosition;
             Gumps.ReplaceGump(lPosIndex, lImage);
             Console.WriteLine(" -> Replaced [Gump] position: 0x" + lPosIndex.ToString("X4"));
         }
     }
     Console.WriteLine("Patching Gumps done...");
 }
Ejemplo n.º 3
0
        private void OnClickCopy(object sender, EventArgs e)
        {
            if (listBox2.SelectedIndex == -1)
            {
                return;
            }

            int i = (int)listBox2.Items[listBox2.SelectedIndex];

            if (!SecondGump.IsValidIndex(i))
            {
                return;
            }

            Bitmap copy = new Bitmap(SecondGump.GetGump(i));

            Gumps.ReplaceGump(i, copy);
            Options.ChangedUltimaClass["Gumps"] = true;
            ControlEvents.FireGumpChangeEvent(this, i);
            _mCompare[i] = true;
            listBox1.BeginUpdate();
            bool done = false;

            for (int id = 0; id < 0x10000; id++)
            {
                if (id > i)
                {
                    listBox1.Items.Insert(id, i);
                    done = true;
                    break;
                }
                if (id == i)
                {
                    done = true;
                    break;
                }
            }
            if (!done)
            {
                listBox1.Items.Add(i);
            }

            listBox1.EndUpdate();
            listBox1.Invalidate();
            listBox2.Invalidate();
            Listbox_SelectedChange(listBox1, null);
        }
Ejemplo n.º 4
0
        public static void PatchDragAndDropPatch(ref List <VMulPatch> aItems)
        {
            Console.WriteLine("Patching loaded patch...");

            foreach (VMulPatch lItem in aItems)
            {
                Bitmap lImage = new Bitmap(lItem.UOBitmap);
                lImage.MakeTransparent(lImage.GetPixel(1, 1));

                FileRecognization lFileRec = (FileRecognization)lItem.PatchHeader.Flag;

                foreach (ushort lPosition in lItem.FilePositions)
                {
                    int lPosIndex = (int)lPosition;
                    switch (lFileRec)
                    {
                    case FileRecognization.Art:
                        Art.ReplaceStatic(lPosIndex, lImage);
                        Console.WriteLine(" -> Replaced [Art] position: 0x" + lPosIndex.ToString("X4"));
                        break;

                    case FileRecognization.ArtLand:
                        Art.ReplaceLand(lPosIndex, lImage);
                        Console.WriteLine(" -> Replaced [Land] position: 0x" + lPosIndex.ToString("X4"));
                        break;

                    case FileRecognization.Gump:
                        Gumps.ReplaceGump(lPosIndex, lImage);
                        Console.WriteLine(" -> Replaced [Gump] position: 0x" + lPosIndex.ToString("X4"));
                        break;

                    case FileRecognization.Texture:
                        Textures.Replace(lPosIndex, lImage);
                        Console.WriteLine(" -> Replaced [Texture] position: 0x" + lPosIndex.ToString("X4"));
                        break;
                    }
                }
            }
            Console.WriteLine("Patching loaded patch done...");
        }
Ejemplo n.º 5
0
        private void onKeydown_InsertText(object sender, KeyEventArgs e)
        {
            if (e.KeyCode != Keys.Enter)
            {
                return;
            }

            int index;

            if (Utils.ConvertStringToInt(InsertText.Text, out index, 0, Gumps.GetCount()))
            {
                if (Gumps.IsValidIndex(index))
                {
                    return;
                }
                contextMenuStrip1.Close();
                using (OpenFileDialog dialog = new OpenFileDialog())
                {
                    dialog.Multiselect     = false;
                    dialog.Title           = String.Format("Choose image file to insert at 0x{0:X}", index);
                    dialog.CheckFileExists = true;
                    dialog.Filter          = "Image files (*.tif;*.tiff;*.bmp)|*.tif;*.tiff;*.bmp";
                    if (dialog.ShowDialog() == DialogResult.OK)
                    {
                        Bitmap bmp = new Bitmap(dialog.FileName);
                        if (dialog.FileName.Contains(".bmp"))
                        {
                            bmp = Utils.ConvertBmp(bmp);
                        }
                        Gumps.ReplaceGump(index, bmp);
                        FiddlerControls.Events.FireGumpChangeEvent(this, index);
                        bool done = false;
                        for (int i = 0; i < listBox.Items.Count; ++i)
                        {
                            int j = int.Parse(listBox.Items[i].ToString());
                            if (j > index)
                            {
                                listBox.Items.Insert(i, index);
                                listBox.SelectedIndex = i;
                                done = true;
                                break;
                            }
                            else if (ShowFreeSlots)
                            {
                                if (j == i)
                                {
                                    listBox.SelectedIndex = i;
                                    done = true;
                                    break;
                                }
                            }
                        }
                        if (!done)
                        {
                            listBox.Items.Add(index);
                            listBox.SelectedIndex = listBox.Items.Count - 1;
                        }
                        Options.ChangedUltimaClass["Gumps"] = true;
                    }
                }
            }
        }