mirror of
https://github.com/kwsch/PKHeX
synced 2024-11-22 20:13:06 +00:00
Misc tweaks
possibly fix UI not-1x scaling screwing up drawn pkm images with items/shiny/illegal. simplify some logic -> speed improvements (wow so noticable /s)
This commit is contained in:
parent
21c1dde3a7
commit
2dbdb35955
6 changed files with 14 additions and 94 deletions
|
@ -666,9 +666,6 @@ namespace PKHeX.Core
|
|||
|
||||
public byte[] GetData(int Offset, int Length)
|
||||
{
|
||||
if (Offset + Length > Data.Length)
|
||||
return null;
|
||||
|
||||
byte[] data = new byte[Length];
|
||||
Buffer.BlockCopy(Data, Offset, data, 0, Length);
|
||||
return data;
|
||||
|
@ -678,6 +675,13 @@ namespace PKHeX.Core
|
|||
input.CopyTo(Data, Offset);
|
||||
Edited = true;
|
||||
}
|
||||
public bool IsRangeEmpty(int Offset, int Length)
|
||||
{
|
||||
for (int i = Offset; i < Offset + Length; i++)
|
||||
if (Data[i] != 0)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
public abstract string GetString(int Offset, int Length);
|
||||
public abstract byte[] SetString(string value, int maxLength, int PadToSize = 0, ushort PadWith = 0);
|
||||
|
|
|
@ -28,7 +28,6 @@
|
|||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(BoxEditor));
|
||||
this.PAN_Box = new System.Windows.Forms.Panel();
|
||||
this.bpkx30 = new System.Windows.Forms.PictureBox();
|
||||
this.bpkx29 = new System.Windows.Forms.PictureBox();
|
||||
|
@ -98,7 +97,6 @@
|
|||
//
|
||||
// PAN_Box
|
||||
//
|
||||
this.PAN_Box.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("PAN_Box.BackgroundImage")));
|
||||
this.PAN_Box.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
|
||||
this.PAN_Box.Controls.Add(this.bpkx30);
|
||||
this.PAN_Box.Controls.Add(this.bpkx29);
|
||||
|
|
|
@ -16,6 +16,7 @@ namespace PKHeX.WinForms.Controls
|
|||
public int BoxSlotCount { get; }
|
||||
public SlotChangeManager M { get; set; }
|
||||
public bool FlagIllegal { get; set; }
|
||||
private const int SlotCount = 30;
|
||||
|
||||
public BoxEditor()
|
||||
{
|
||||
|
@ -194,7 +195,7 @@ namespace PKHeX.WinForms.Controls
|
|||
}
|
||||
private void GetSlotFiller(int offset, PictureBox pb, int box = -1, int slot = -1)
|
||||
{
|
||||
if (SAV.GetData(offset, SAV.SIZE_STORED).SequenceEqual(new byte[SAV.SIZE_STORED]))
|
||||
if (SAV.IsRangeEmpty(offset, SAV.SIZE_STORED))
|
||||
{
|
||||
// 00s present in slot.
|
||||
pb.Image = null;
|
||||
|
@ -224,12 +225,11 @@ namespace PKHeX.WinForms.Controls
|
|||
if (pb.Image == null)
|
||||
return;
|
||||
int slot = GetSlot(pb);
|
||||
int box = slot >= 30 ? -1 : CurrentBox;
|
||||
if (SAV.IsSlotLocked(box, slot))
|
||||
if (slot >= SlotCount || SAV.IsSlotLocked(CurrentBox, slot))
|
||||
return;
|
||||
|
||||
bool encrypt = ModifierKeys == Keys.Control;
|
||||
M.HandleMovePKM(pb, slot, box, encrypt);
|
||||
M.HandleMovePKM(pb, slot, CurrentBox, encrypt);
|
||||
}
|
||||
private void BoxSlot_DragDrop(object sender, DragEventArgs e)
|
||||
{
|
||||
|
@ -239,8 +239,7 @@ namespace PKHeX.WinForms.Controls
|
|||
// Abort if there is no Pokemon in the given slot.
|
||||
PictureBox pb = (PictureBox)sender;
|
||||
int slot = GetSlot(pb);
|
||||
int box = slot >= 30 ? -1 : CurrentBox;
|
||||
if (SAV.IsSlotLocked(box, slot) || slot >= 36)
|
||||
if (slot >= SlotCount || SAV.IsSlotLocked(CurrentBox, slot))
|
||||
{
|
||||
SystemSounds.Asterisk.Play();
|
||||
e.Effect = DragDropEffects.Copy;
|
||||
|
|
|
@ -117,87 +117,6 @@
|
|||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="PAN_Box.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAANwAAADSCAMAAAAWjl7DAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFtays
|
||||
uK+vu7KyvbW1v7a2vb21wrm5w7u7xby8xb29x7+/w8O7x8e/y8O7zcW9z8e/yMDAy8PDzcXFz8fH08vD
|
||||
1s3F18/H0srK08vL1c3N18/P3NPL2tLS3NPT3dXV3NzT3t7W4NfP4NfX5NzT49ra5Nzc5t3d5t7e4ODX
|
||||
4+Pa5OTc5ubd5ube6ODX6eHZ7OTc6ODg6eHh7OTk7ubm6Ojg6enh7Ozk8Ojg9Ozk8Ojo8+vr9Ozs9u7u
|
||||
8PDo+PDo+PDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs5hT+gAAAAlwSFlzAAAO
|
||||
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
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="bpkx30.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
|
|
|
@ -341,7 +341,7 @@ namespace PKHeX.WinForms.Controls
|
|||
}
|
||||
private void GetSlotFiller(int offset, PictureBox pb)
|
||||
{
|
||||
if (SAV.GetData(offset, SAV.SIZE_STORED).SequenceEqual(new byte[SAV.SIZE_STORED]))
|
||||
if (SAV.IsRangeEmpty(offset, SAV.SIZE_STORED))
|
||||
{
|
||||
// 00s present in slot.
|
||||
pb.Image = null;
|
||||
|
|
|
@ -15,7 +15,7 @@ namespace PKHeX.WinForms
|
|||
Bitmap img = new Bitmap(baseLayer.Width, baseLayer.Height);
|
||||
using (Graphics gr = Graphics.FromImage(img))
|
||||
{
|
||||
gr.DrawImage(baseLayer, new Point(0, 0));
|
||||
gr.DrawImage(baseLayer, new Rectangle(0, 0, baseLayer.Width, baseLayer.Height));
|
||||
Image o = trans == 1f ? overLayer : ChangeOpacity(overLayer, trans);
|
||||
gr.DrawImage(o, new Rectangle(x, y, overLayer.Width, overLayer.Height));
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue