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; } }
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(); } }
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; } } }
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(); } } }
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(); } } }
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); } } } } } } } }
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"); } } } } } }
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(); }
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; } }