private void pbSprite_MouseDown(object sender, MouseEventArgs e)
        {
            PictureBox pb   = (PictureBox)(sender);
            DataObject data = new DataObject();

            data = new DataObject(DataFormats.Serializable, frmpkm);
            pb.DoDragDrop(data, DragDropEffects.Move);
            MemoryMappedFile MemoryMapped = MemoryMappedFile.OpenExisting("name", MemoryMappedFileRights.FullControl);

            using (MemoryMappedViewAccessor FileMap = MemoryMapped.CreateViewAccessor())
            {
                PKMDS.Pokemon otherpkm = new PKMDS.Pokemon();
                FileMap.ReadArray <byte>(0, otherpkm.Data, 0, 136);
                if (otherpkm.SpeciesID == 0)
                {
                    FileMap.Dispose();
                    return;
                }
                UInt16 frmpkmcheck   = BitConverter.ToUInt16(frmpkm.Data, 0x06);
                UInt16 otherpkmcheck = BitConverter.ToUInt16(otherpkm.Data, 0x06);
                if (frmpkmcheck == otherpkmcheck)
                {
                    FileMap.Dispose();
                    return;
                }
                frmpkm.Data    = otherpkm.Data;
                lblData.Text   = frmpkm.SpeciesName;
                pbSprite.Image = frmpkm.Sprite;
            }
        }
 public void SetPokemon(PKMDS.Pokemon pkm)
 {
     PokemonSet = false;
     this.SharedPokemon = pkm.Clone();
     this.TempPokemon = pkm.Clone();
     //this.IsParty = false;
 }
 private void btnApply_Click(object sender, EventArgs e)
 {
     TempPokemon.FixChecksum();
     this.SharedPokemon = this.TempPokemon.Clone();
     this.SharedPartyPokemon = new PKMDS.PartyPokemon();
     this.SharedPartyPokemon.PokemonData = this.TempPokemon.Clone();
     CheckApplyButton();
 }
 public void SetPokemon(PKMDS.PartyPokemon ppkm)
 {
     PokemonSet = false;
     //SetPokemon(ppkm.PokemonData);
     this.SharedPokemon = ppkm.PokemonData.Clone();
     this.TempPokemon = ppkm.PokemonData.Clone();
     //this.IsParty = true;
 }
        private void frmMemMapTestA_Load(object sender, EventArgs e)
        {
            ((Control)(pbSprite)).AllowDrop = true;
            frmpkm = PKMDS.ReadPokemonFile("Dragonite.pkm");
            Random rnd = new Random(DateTime.Now.Millisecond);

            frmpkm.SpeciesID = (UInt16)(rnd.Next(1, 649));
            frmpkm.SID       = 0x1234;
            lblData.Text     = frmpkm.SpeciesName;
            pbSprite.Image   = frmpkm.Sprite;
        }
 private void pbSprite_DragDrop(object sender, DragEventArgs e)
 {
     if (e.Data != null)
     {
         PictureBox       pb           = (PictureBox)(sender);
         PKMDS.Pokemon    otherpkm     = (PKMDS.Pokemon)e.Data.GetData(DataFormats.Serializable);
         MemoryMappedFile MemoryMapped = MemoryMappedFile.CreateOrOpen("name", 1000, MemoryMappedFileAccess.ReadWrite);
         using (MemoryMappedViewAccessor FileMap = MemoryMapped.CreateViewAccessor())
         {
             if (pb.Name == pbSprite.Name)
             {
                 FileMap.WriteArray <byte>(0, frmpkm.Data, 0, 136);
             }
             else
             {
                 FileMap.WriteArray <byte>(0, frmpkm2.Data, 0, 136);
             }
         }
         UInt16 otherpkmcheck = BitConverter.ToUInt16(otherpkm.Data, 0x06);
         if (pb.Name == pbSprite.Name)
         {
             UInt16 frmpkmcheck = BitConverter.ToUInt16(frmpkm.Data, 0x06);
             if (frmpkmcheck == otherpkmcheck)
             {
                 return;
             }
             frmpkm.Data = otherpkm.Data;
         }
         else
         {
             UInt16 frmpkmcheck = BitConverter.ToUInt16(frmpkm2.Data, 0x06);
             if (frmpkmcheck == otherpkmcheck)
             {
                 return;
             }
             frmpkm2.Data = otherpkm.Data;
         }
         lblData.Text    = frmpkm.SpeciesName;
         lblData2.Text   = frmpkm2.SpeciesName;
         pbSprite.Image  = frmpkm.Sprite;
         pbSprite2.Image = frmpkm2.Sprite;
     }
 }
Beispiel #7
0
 private void pbPartyBoxSlot_MouseEnter(object sender, EventArgs e)
 {
     int slot = 0;
     PictureBox pb = (PictureBox)(sender);
     int.TryParse(pb.Name.Substring(pb.Name.Length - 2, 2), out slot);
     slot--;
     PKMDS.Pokemon pkm = new PKMDS.Pokemon();
     if (pb.Name.Contains("Party"))
     {
         if (sav.GetPartyPokemon(slot).PokemonData.SpeciesID != 0)
         {
             if (sav.PartySize >= 1)
             {
                 pkm = sav.GetPartyPokemon(slot).PokemonData;
             }
         }
     }
     if (pb.Name.Contains("Box"))
     {
         if (sav.GetStoredPokemon(sav.CurrentBox, slot).SpeciesID != 0)
         {
             pkm = sav.GetStoredPokemon(sav.CurrentBox, slot);
         }
     }
     pb.BackColor = SelectionColor;
     if (pkm.SpeciesID != 0)
     {
         PreviewPokemon(pkm);
     }
     else
     {
         ClearPreview();
     }
 }
Beispiel #8
0
        private void pbPartyBoxSlot_MouseDown(object sender, MouseEventArgs e)
        {
            PictureBox pb = (PictureBox)(sender);
            if (pb.Image != null)
            {
                //this.Cursor = CreateCursor(pb.Image, 3, 3);
                //pb.Image = null;
            }
            if (e.Button == MouseButtons.Left && e.Clicks == 1)
            {
                switch (mode)
                {
                    case Mode.Single:
                        int slot = 0;
                        int.TryParse(pb.Name.Substring(pb.Name.Length - 2, 2), out slot);
                        slot--;
                        if (pb.Name.Contains("Party"))
                        {
                            if (sav.GetPartyPokemon(slot).PokemonData.SpeciesID != 0)
                            {
                                if (sav.PartySize > 1)
                                {
                                    pkm_from = sav.GetPartyPokemon(slot).PokemonData;
                                    dragfromparty = true;
                                    frombox = -1;
                                    fromslot = slot;
                                    partyPics[slot].DoDragDrop(pkm_from, DragDropEffects.Move);
                                }
                            }
                        }
                        if (pb.Name.Contains("Box"))
                        {
                            if (sav.GetStoredPokemon(sav.CurrentBox, slot).SpeciesID != 0)
                            {
                                pkm_from = sav.GetStoredPokemon(sav.CurrentBox, slot);
                                dragfromparty = false;
                                frombox = sav.CurrentBox;
                                fromslot = slot;
                                boxPics[slot].DoDragDrop(pkm_from, DragDropEffects.Move);
                            }
                        }
                        break;
                    case Mode.Group:

                        break;
                    case Mode.Item:

                        break;
                    default:
                        break;
                }
            }
        }
Beispiel #9
0
 private void pbPartyBoxSlot_DragEnter(object sender, DragEventArgs e)
 {
     if (e.Data != null)
     {
         PKMDS.Pokemon dragpkm = (PKMDS.Pokemon)(e.Data.GetData("PKMDS_CS.PKMDS+Pokemon"));
         if (dragpkm.SpeciesID != 0)
         {
             int slot = 0;
             PictureBox pb = (PictureBox)(sender);
             int.TryParse(pb.Name.Substring(pb.Name.Length - 2, 2), out slot);
             slot--;
             if (pb.Name.Contains("Party"))
             {
                 dragtoparty = true;
                 //dragtobox = false;
                 pkm_to = sav.GetPartyPokemon(slot).PokemonData;
             }
             if (pb.Name.Contains("Box"))
             {
                 dragtoparty = false;
                 //dragtobox = false;
                 pkm_to = sav.GetStoredPokemon(sav.CurrentBox, slot);
             }
             e.Effect = DragDropEffects.Move;
             //this.Cursor = CreateCursor(dragpkm.Icon, 3, 3);
             //this.Cursor = new Cursor(typeof(System.Drawing.Image), "poke_ball");
             //this.Cursor = CreateCursor(dragpkm.Icon, 3, 3);
         }
         else
         {
             e.Effect = DragDropEffects.None;
             //this.Cursor = Cursors.Arrow;
             //UpdateBox();
             //UpdateParty();
         }
     }
 }
Beispiel #10
0
 private void pbBoxGrid_DragEnter(object sender, DragEventArgs e)
 {
     int box = 0;
     PictureBox pb = (PictureBox)(sender);
     int.TryParse(pb.Name.Substring(pb.Name.Length - 2, 2), out box);
     box--;
     if (e.Data != null)
     {
         PKMDS.Pokemon dragpkm = (PKMDS.Pokemon)(e.Data.GetData("PKMDS_CS.PKMDS+Pokemon"));
         if ((dragpkm.SpeciesID != 0) && (sav.BoxCount(box) < 30))
         {
             pkm_to = dragpkm;
             e.Effect = DragDropEffects.Move;
             //this.Cursor = CreateCursor(dragpkm.Icon, 3, 3);
             //this.Cursor = new Cursor(typeof(System.Drawing.Image), "poke_ball");
             //this.Cursor = CreateCursor(dragpkm.Icon, 3, 3);
         }
         else
         {
             e.Effect = DragDropEffects.None;
             //this.Cursor = Cursors.Arrow;
             //UpdateBox();
             //UpdateParty();
         }
     }
 }
Beispiel #11
0
 private void loadFromFileToolStripMenuItem_Click(object sender, EventArgs e)
 {
     ToolStripItem menuItem = sender as ToolStripItem;
     if (menuItem != null)
     {
         ContextMenuStrip owner = menuItem.Owner as ContextMenuStrip;
         if (owner != null)
         {
             PKMDS.Pokemon pkm = new PKMDS.Pokemon();
             int slot = 0;
             PictureBox pb = (PictureBox)(owner.SourceControl);
             if (pb.Name.Contains("Party"))
             {
                 int.TryParse(pb.Name.Substring(pb.Name.Length - 2, 2), out slot);
                 slot--;
                 pkmFileOpen.FileName = "";
                 if (pkmFileOpen.ShowDialog() != DialogResult.Cancel)
                 {
                     if (pkmFileOpen.FileName != "")
                     {
                         if (System.IO.File.Exists(pkmFileOpen.FileName))
                         {
                             System.IO.FileInfo file = new System.IO.FileInfo(pkmFileOpen.FileName);
                             pkm = PKMDS.ReadPokemonFile(pkmFileOpen.FileName, file.Extension.ToLower() == "ek6");
                             if (pkm.SpeciesID != 0)
                             {
                                 PKMDS.PartyPokemon ppkm = new PKMDS.PartyPokemon();
                                 ppkm.PokemonData = pkm;
                                 if (sav.GetPartyPokemon(slot).PokemonData.SpeciesID == 0)
                                 {
                                     sav.WithdrawPokemon(ppkm.PokemonData);
                                 }
                                 else
                                 {
                                     sav.SetPartyPokemon(ppkm, slot);
                                 }
                                 UpdateParty();
                             }
                         }
                     }
                 }
             }
             if (pb.Name.Contains("Box"))
             {
                 int.TryParse(pb.Name.Substring(pb.Name.Length - 2, 2), out slot);
                 slot--;
                 pkmFileOpen.FileName = "";
                 if (pkmFileOpen.ShowDialog() != DialogResult.Cancel)
                 {
                     if (pkmFileOpen.FileName != "")
                     {
                         if (System.IO.File.Exists(pkmFileOpen.FileName))
                         {
                             System.IO.FileInfo file = new System.IO.FileInfo(pkmFileOpen.FileName);
                             pkm = PKMDS.ReadPokemonFile(pkmFileOpen.FileName, file.Extension.ToLower() == "ek6");
                             if (pkm.SpeciesID != 0)
                             {
                                 sav.SetStoredPokemon(pkm, sav.CurrentBox, slot);
                                 UpdateBox();
                                 UpdateBoxGrid(sav.CurrentBox);
                                 UpdateBoxCountLabel(sav.CurrentBox);
                             }
                         }
                     }
                 }
             }
         }
     }
 }
Beispiel #12
0
 private void exportToFileToolStripMenuItem_Click(object sender, EventArgs e)
 {
     ToolStripItem menuItem = sender as ToolStripItem;
     if (menuItem != null)
     {
         ContextMenuStrip owner = menuItem.Owner as ContextMenuStrip;
         if (owner != null)
         {
             PKMDS.Pokemon pkm = new PKMDS.Pokemon();
             int slot = 0;
             PictureBox pb = (PictureBox)(owner.SourceControl);
             if (pb.Name.Contains("Party"))
             {
                 int.TryParse(pb.Name.Substring(pb.Name.Length - 2, 2), out slot);
                 slot--;
                 pkm = sav.GetPartyPokemon(slot).PokemonData;
             }
             if (pb.Name.Contains("Box"))
             {
                 int.TryParse(pb.Name.Substring(pb.Name.Length - 2, 2), out slot);
                 slot--;
                 pkm = sav.GetStoredPokemon(sav.CurrentBox, slot);
             }
             if (pkm.SpeciesID == 0)
             {
                 MessageBox.Show("Cannot export a null Pokemon!");
             }
             else
             {
                 pkmFileSave.FileName = pkm.Nickname + "_" + pkm.PID.ToString("X8");
                 if (pkmFileSave.ShowDialog() != DialogResult.Cancel)
                 {
                     if (pkmFileSave.FileName != "")
                     {
                         System.IO.FileInfo file = new System.IO.FileInfo(pkmFileSave.FileName);
                         pkm.WriteToFile(pkmFileSave.FileName, file.Extension.ToLower() == "ek6");
                     }
                 }
             }
         }
     }
 }
Beispiel #13
0
        private void UpdateParty()
        {
            switch (mode)
            {
                case Mode.Single:
                    for (int partySlot = 0; partySlot < 6; partySlot++)
                    {
                        PKMDS.Pokemon pokemon = new PKMDS.Pokemon();
                        pokemon = sav.GetPartyPokemon(partySlot).PokemonData;
                        if ((pokemon.SpeciesID != 0) && (partySlot < sav.PartySize))
                        {
                            partyPics[partySlot].Image = pokemon.Icon;
                        }
                        else
                        {
                            partyPics[partySlot].Image = null;
                        }
                    }
                    break;
                case Mode.Group:

                    break;
                case Mode.Item:
                    for (int slot = 0; slot < 6; slot++)
                    {
                        PKMDS.Pokemon pkm = new PKMDS.Pokemon();
                        pkm = sav.GetPartyPokemon(slot).PokemonData;
                        if ((pkm.SpeciesID != 0) && (pkm.ItemID != 0) && (slot < sav.PartySize))
                        {
                            partyPics[slot].Image = pkm.ItemPic;
                        }
                        else
                        {
                            partyPics[slot].Image = null;
                        }
                    }
                    break;
            }
            lblPartySize.Text = "Party - " + sav.PartySize.ToString() + " / 6";
            sav.RecalculateParty();
        }
Beispiel #14
0
        private void UpdateBox()
        {
            switch (mode)
            {
                case Mode.Single:
                    PKMDS.Pokemon pokemon = new PKMDS.Pokemon();
                    for (int boxSlot = 0; boxSlot < 30; boxSlot++)
                    {
                        pokemon = sav.GetStoredPokemon(sav.CurrentBox, boxSlot);
                        if (pokemon.SpeciesID != 0)
                        {
                            boxPics[boxSlot].Image = pokemon.Icon;
                        }
                        else
                        {
                            boxPics[boxSlot].Image = null;
                        }
                    }
                    break;
                case Mode.Group:

                    break;
                case Mode.Item:
                    for (int slot = 0; slot < 30; slot++)
                    {
                        PKMDS.Pokemon pkm = sav.GetStoredPokemon(sav.CurrentBox, slot);
                        if ((pkm.SpeciesID != 0) && (pkm.ItemID != 0))
                        {
                            boxPics[slot].Image = pkm.ItemPic;
                        }
                        else
                        {
                            boxPics[slot].Image = null;
                        }
                    }
                    break;
                default:
                    break;
            }
        }