/// <summary>
 /// Copy entire palette from SpritePickerForm
 /// </summary>
 public void updatePalette()
 {
     int[,] currentPalette = new int[3, 13];
     for (int i = 0; i < TLPSpritePalette.ColumnCount; i++)
     {
         for (int j = 0; j < TLPSpritePalette.RowCount; j++)
         {
             currentPalette[i, j] = int.Parse(TLPSpritePalette.GetControlFromPosition(i, j).Tag.ToString());
         }
     }
     using (SpritePickerForm SPF = new SpritePickerForm(currentPalette, spriteSheet))
     {
         var result = SPF.ShowDialog();
         if (result == DialogResult.OK)
         {
             for (int i = 0; i < TLPSpritePalette.ColumnCount; i++)
             {
                 for (int j = 0; j < TLPSpritePalette.RowCount; j++)
                 {
                     PictureBox PB = (PictureBox)TLPSpritePalette.GetControlFromPosition(i, j);
                     PB.Image = getSpriteByID(SPF.paletteIDArray[i, j]);
                     PB.Tag   = SPF.paletteIDArray[i, j];
                 }
             }
         }
     }
 }
        /// <summary>
        /// Copy one sprite into selected palette cell.  Used in Copy: right click.
        /// </summary>
        /// <param name="paletteCoord"></param>
        /// <param name="copiedID"></param>
        public void updateSinglePalette(Point paletteCoord, int copiedID)
        {
            PictureBox PB = (PictureBox)TLPSpritePalette.GetControlFromPosition(paletteCoord.X, paletteCoord.Y);


            PB.Image = getSpriteByID(copiedID);
            PB.Tag   = copiedID;
            selectSprite(PB);
        }
        /// <summary>
        /// Change currently active left click sprite.
        /// </summary>
        /// <param name="PB"></param>
        public void selectSprite(PictureBox PB)
        {
            selectedImageValue = int.Parse(PB.Tag.ToString());
            Bitmap imageHolder = getSpriteByID(selectedImageValue);

            if (cbVerticalFlip.Checked)
            {
                imageHolder.RotateFlip(RotateFlipType.Rotate180FlipX);
            }
            if (cbHorizontalFlip.Checked)
            {
                imageHolder.RotateFlip(RotateFlipType.Rotate180FlipY);
            }
            pbSelectedSprite.Image = imageHolder;
            PB.BackColor           = Color.Gray;
            PictureBox oldPB = (PictureBox)TLPSpritePalette.GetControlFromPosition(palatteCurrentCoord.X, palatteCurrentCoord.Y);

            oldPB.BackColor = Color.Transparent;

            palatteCurrentCoord = new Point(TLPSpritePalette.GetPositionFromControl(PB).Column, TLPSpritePalette.GetPositionFromControl(PB).Row);
        }