From 750044ea319f1c8d2767e7ecb5b2201a084c7817 Mon Sep 17 00:00:00 2001 From: Kurt Date: Mon, 26 Dec 2016 16:41:12 -0800 Subject: [PATCH] Improve slot lock detection Uses sm lock indication (same placement), now only appears for teams that are locked slots that are not locked but assigned to a team are now indicated as such, no prevention / moving to adjust team values is done. #661 --- PKHeX/MainWindow/Main.cs | 10 ++++- PKHeX/PKHeX.csproj | 3 ++ PKHeX/Properties/Resources.Designer.cs | 38 ++++++++++++------- PKHeX/Properties/Resources.resx | 3 ++ PKHeX/Resources/img/misc/locked.png | Bin 1304 -> 393 bytes PKHeX/Resources/img/misc/team.png | Bin 0 -> 555 bytes PKHeX/Saves/SAV7.cs | 36 +++++++++++++++--- PKHeX/Saves/SaveFile.cs | 2 + PKHeX/Subforms/Save Editors/SAV_BoxViewer.cs | 10 ++++- 9 files changed, 78 insertions(+), 24 deletions(-) create mode 100644 PKHeX/Resources/img/misc/team.png diff --git a/PKHeX/MainWindow/Main.cs b/PKHeX/MainWindow/Main.cs index eea6a0dc6..a0b108548 100644 --- a/PKHeX/MainWindow/Main.cs +++ b/PKHeX/MainWindow/Main.cs @@ -3768,8 +3768,11 @@ private void getQuickFiller(PictureBox pb, PKM pk = null) var sprite = pk.Species != 0 ? pk.Sprite : null; int slot = getSlot(pb); bool locked = slot < 30 && SAV.getIsSlotLocked(CB_BoxSelect.SelectedIndex, slot); + bool team = slot < 30 && SAV.getIsTeamSet(CB_BoxSelect.SelectedIndex, slot); if (locked) - sprite = Util.LayerImage(sprite, Properties.Resources.locked, 5, 0, 1); + sprite = Util.LayerImage(sprite, Properties.Resources.locked, 26, 0, 1); + else if (team) + sprite = Util.LayerImage(sprite, Properties.Resources.team, 21, 0, 1); pb.Image = sprite; if (pb.BackColor == Color.Red) pb.BackColor = Color.Transparent; @@ -3798,8 +3801,11 @@ private void getSlotFiller(int offset, PictureBox pb) var sprite = p.Species != 0 ? p.Sprite : null; int slot = getSlot(pb); bool locked = slot < 30 && SAV.getIsSlotLocked(CB_BoxSelect.SelectedIndex, slot); + bool team = slot < 30 && SAV.getIsTeamSet(CB_BoxSelect.SelectedIndex, slot); if (locked) - sprite = Util.LayerImage(sprite, Properties.Resources.locked, 5, 0, 1); + sprite = Util.LayerImage(sprite, Properties.Resources.locked, 26, 0, 1); + else if (team) + sprite = Util.LayerImage(sprite, Properties.Resources.team, 21, 0, 1); pb.Image = sprite; pb.BackColor = Color.Transparent; pb.Visible = true; diff --git a/PKHeX/PKHeX.csproj b/PKHeX/PKHeX.csproj index e56de69b5..22693b5ee 100644 --- a/PKHeX/PKHeX.csproj +++ b/PKHeX/PKHeX.csproj @@ -3779,6 +3779,9 @@ + + +