misc style updates

This commit is contained in:
Kurt
2018-08-12 19:27:11 -07:00
parent 1c718e641e
commit 6edc828cc3
8 changed files with 87 additions and 45 deletions

View File

@@ -139,57 +139,74 @@ private static GameVersion GetIsMachine4HM(int species, int move, int form)
private static GameVersion GetIsMachine5(int species, int move, int form)
{
for (int i = 0; i < Legal.TMHM_BW.Length; i++)
{
if (Legal.TMHM_BW[i] == move)
return PersonalTable.B2W2.GetFormeEntry(species, form).TMHM[i] ? GameVersion.Gen5 : Legal.NONE;
}
return Legal.NONE;
}
private static GameVersion GetIsMachine6(int species, int move, int form, GameVersion ver)
{
if (GameVersion.XY.Contains(ver))
{
for (int i = 0; i < Legal.TMHM_XY.Length; i++)
if (Legal.TMHM_XY[i] == move)
{
if (PersonalTable.XY.GetFormeEntry(species, form).TMHM[i])
return GameVersion.XY;
break;
}
{
if (Legal.TMHM_XY[i] != move)
continue;
if (PersonalTable.XY.GetFormeEntry(species, form).TMHM[i])
return GameVersion.XY;
break;
}
}
if (GameVersion.ORAS.Contains(ver))
{
for (int i = 0; i < Legal.TMHM_AO.Length; i++)
if (Legal.TMHM_AO[i] == move)
{
if (PersonalTable.AO.GetFormeEntry(species, form).TMHM[i])
return GameVersion.ORAS;
break;
}
{
if (Legal.TMHM_AO[i] != move)
continue;
if (PersonalTable.AO.GetFormeEntry(species, form).TMHM[i])
return GameVersion.ORAS;
break;
}
}
return Legal.NONE;
}
private static GameVersion GetIsMachine7(int species, int move, int form, GameVersion ver)
{
if (GameVersion.SM.Contains(ver) && species <= Legal.MaxSpeciesID_7)
{
for (int i = 0; i < Legal.TMHM_XY.Length; i++)
if (Legal.TMHM_XY[i] == move)
{
if (PersonalTable.SM.GetFormeEntry(species, form).TMHM[i])
return GameVersion.SM;
break;
}
{
if (Legal.TMHM_XY[i] != move)
continue;
if (PersonalTable.SM.GetFormeEntry(species, form).TMHM[i])
return GameVersion.SM;
break;
}
}
if (GameVersion.ORAS.Contains(ver) && species <= Legal.MaxSpeciesID_7_USUM)
{
for (int i = 0; i < Legal.TMHM_SM.Length; i++)
if (Legal.TMHM_SM[i] == move)
{
if (PersonalTable.USUM.GetFormeEntry(species, form).TMHM[i])
return GameVersion.USUM;
break;
}
{
if (Legal.TMHM_SM[i] != move)
continue;
if (PersonalTable.USUM.GetFormeEntry(species, form).TMHM[i])
return GameVersion.USUM;
break;
}
}
return Legal.NONE;
}
internal static IEnumerable<int> GetTMHM(PKM pkm, int species, int form, int generation, GameVersion ver = GameVersion.Any, bool RemoveTransfer = true)
{
List<int> r = new List<int>();
var r = new List<int>();
switch (generation)
{

View File

@@ -398,14 +398,14 @@ public void ToggleInterface(int gen)
Label_SPA.Visible = false;
Label_SPC.Visible = true;
TB_HPIV.Enabled = false;
SetMaskSize(Stat_HP.Size, "00000");
SetEVMaskSize(Stat_HP.Size, "00000");
break;
case 2:
FLP_SpD.Visible = true;
Label_SPA.Visible = true;
Label_SPC.Visible = false;
TB_HPIV.Enabled = false;
SetMaskSize(Stat_HP.Size, "00000");
SetEVMaskSize(Stat_HP.Size, "00000");
TB_SPDEV.Enabled = TB_SPDIV.Enabled = false;
break;
default:
@@ -413,12 +413,12 @@ public void ToggleInterface(int gen)
Label_SPA.Visible = true;
Label_SPC.Visible = false;
TB_HPIV.Enabled = true;
SetMaskSize(TB_EVTotal.Size, "000");
SetEVMaskSize(TB_EVTotal.Size, "000");
TB_SPDEV.Enabled = TB_SPDIV.Enabled = true;
break;
}
void SetMaskSize(Size s, string Mask)
void SetEVMaskSize(Size s, string Mask)
{
foreach (var ctrl in MT_EVs)
{

View File

@@ -129,7 +129,9 @@ public void ResetBoxNames(int box = -1)
if (!SAV.HasBox)
return;
if (!SAV.Exportable)
{
getBoxNamesDefault();
}
else
{
try { getBoxNamesFromSave(); }

View File

@@ -39,8 +39,8 @@ public BoxMenuStrip(SAVEditor SAV)
AddItem(Level.SortBox, GetItem("Random", "Random", () => Sort(list => list.OrderByCustom(_ => Util.Rand32())), Resources.wand));
AddItem(Level.SortBoxAdvanced, GetItem("Usage", "Usage", () => Sort(PKMSorting.OrderByUsage), Resources.heart), s => s.Generation >= 3);
AddItem(Level.SortBoxAdvanced, GetItem("Potential", "IV Potential", () => Sort(list => list.OrderByCustom(pk => pk.MaxIV * 6 - pk.IVTotal)), Resources.numhilo));
AddItem(Level.SortBoxAdvanced, GetItem("Training", "EV Training", () => Sort(list => list.OrderByCustom(pk => pk.MaxEV * 6 - pk.EVTotal)), Resources.showdown));
AddItem(Level.SortBoxAdvanced, GetItem("Potential", "IV Potential", () => Sort(list => list.OrderByCustom(pk => (pk.MaxIV * 6) - pk.IVTotal)), Resources.numhilo));
AddItem(Level.SortBoxAdvanced, GetItem("Training", "EV Training", () => Sort(list => list.OrderByCustom(pk => (pk.MaxEV * 6) - pk.EVTotal)), Resources.showdown));
AddItem(Level.SortBoxAdvanced, GetItem("Owner", "Ownership", () => Sort(list => list.OrderByOwnership(sav.SAV)), Resources.users));
AddItem(Level.SortBoxAdvanced, GetItem("Type", "Type", () => Sort(list => list.OrderByCustom(pk => pk.PersonalInfo.Type1, pk => pk.PersonalInfo.Type2)), Resources.main));
AddItem(Level.SortBoxAdvanced, GetItem("Version", "Version", () => Sort(list => list.OrderByCustom(pk => pk.GenNumber, pk => pk.Version)), Resources.numlohi), s => s.Generation >= 3);
@@ -114,6 +114,7 @@ private void AddItem(Level v, ToolStripItem t, Func<SaveFile, bool> visible = nu
private static bool All => (ModifierKeys & Keys.Shift) != 0;
private static bool Reverse => (ModifierKeys & Keys.Control) != 0;
private void Clear(Func<PKM, bool> criteria = null)
{
if (All)
@@ -121,6 +122,7 @@ private void Clear(Func<PKM, bool> criteria = null)
else
sav.ClearCurrent(criteria);
}
private void Sort(Func<IEnumerable<PKM>, IEnumerable<PKM>> sorter)
{
if (All)
@@ -128,6 +130,7 @@ private void Sort(Func<IEnumerable<PKM>, IEnumerable<PKM>> sorter)
else
sav.SortCurrent(sorter, Reverse);
}
private void Modify(Action<PKM> action)
{
if (All)

View File

@@ -27,9 +27,10 @@ public void OmniClick(object sender, EventArgs e, Keys z)
case Keys.Alt: ClickDelete(sender, e); break;
}
}
private void ClickView(object sender, EventArgs e)
{
SlotChangeManager m = GetSenderInfo(ref sender, out SlotChange info);
var m = GetSenderInfo(ref sender, out SlotChange info);
if (m == null)
return;
if ((sender as PictureBox)?.Image == null)
@@ -40,9 +41,10 @@ private void ClickView(object sender, EventArgs e)
m.SE.PKME_Tabs.PopulateFields(m.GetPKM(info), false, true);
m.SetColor(info.Box, info.Slot, Resources.slotView);
}
private void ClickSet(object sender, EventArgs e)
{
SlotChangeManager m = GetSenderInfo(ref sender, out SlotChange info);
var m = GetSenderInfo(ref sender, out SlotChange info);
if (m == null)
return;
@@ -86,14 +88,17 @@ private void ClickSet(object sender, EventArgs e)
m.SetPKM(pk, info, true, Resources.slotSet);
}
else
{
return;
}
editor.LastData = pk.Data;
m.SE.RedoStack.Clear(); m.SE.Menu_Redo.Enabled = false;
}
private void ClickDelete(object sender, EventArgs e)
{
SlotChangeManager m = GetSenderInfo(ref sender, out SlotChange info);
var m = GetSenderInfo(ref sender, out SlotChange info);
if (m == null)
return;
@@ -122,19 +127,24 @@ private void ClickDelete(object sender, EventArgs e)
}
m.SetPKM(sav.BlankPKM, info, true, Resources.slotDel);
}
else return;
else
{
return;
}
m.SE.RedoStack.Clear(); m.SE.Menu_Redo.Enabled = false;
}
private void ClickShowLegality(object sender, EventArgs e)
{
SlotChangeManager m = GetSenderInfo(ref sender, out SlotChange info);
var m = GetSenderInfo(ref sender, out SlotChange info);
if (m == null)
return;
var pk = m.GetPKM(info);
RequestEditorLegality?.Invoke(sender, e, pk);
}
private void MenuOpening(object sender, CancelEventArgs e)
{
var items = ((ContextMenuStrip)sender).Items;
@@ -161,6 +171,7 @@ private static SlotChangeManager GetSenderInfo(ref object sender, out SlotChange
loc = view.GetSlotData(pb);
return view.M;
}
private static void ToggleItem(ToolStripItemCollection items, ToolStripItem item, bool visible, bool first = false)
{
if (visible)
@@ -171,7 +182,9 @@ private static void ToggleItem(ToolStripItemCollection items, ToolStripItem item
items.Add(item);
}
else if (items.Contains(item))
{
items.Remove(item);
}
}
}
}

View File

@@ -13,7 +13,7 @@ internal enum SlotIndex
public static partial class Extensions
{
internal static bool IsEditable(this SlotIndex type) => type == SlotIndex.Party;
internal static bool IsParty(this SlotIndex type, int format) => type < SlotIndex.BattleBox || format== 5 && type == SlotIndex.BattleBox;
internal static bool IsParty(this SlotIndex type, int format) => type < SlotIndex.BattleBox || (format == 5 && type == SlotIndex.BattleBox);
internal static SlotIndex GetMiscSlotType(int slot)
{
@@ -21,6 +21,7 @@ internal static SlotIndex GetMiscSlotType(int slot)
if (slot < (int)SlotIndex.Daycare) return SlotIndex.BattleBox;
return SlotIndex.Daycare;
}
internal static StorageSlotType GetMiscSlotType(this SlotIndex type)
{
switch (type)

View File

@@ -51,10 +51,11 @@ public SlotChange GetSlotData(PictureBox view)
Parent = FindForm(),
};
}
public IList<PictureBox> SlotPictureBoxes => slots;
public int GetSlot(PictureBox sender) => slots.IndexOf(WinFormsUtil.GetUnderlyingControl(sender) as PictureBox);
public int GetSlotOffset(int slot) => SlotOffsets[slot].Offset;
public bool GetSlotIsParty(int slot) => false;
public bool GetSlotIsParty(int _) => false;
public int ViewIndex { get; set; } = -1;
private IEnumerable<PictureBox> LoadSlots(int after, Action<Control> enableDragDropContext)
@@ -89,9 +90,11 @@ private void AddSlots(int count)
for (int i = 0; i < count; i++)
slots.Add(GetPictureBox(i));
}
private const int PadPixels = 2;
private const int SlotWidth = 40;
private const int SlotHeight = 30;
private static PictureBox GetPictureBox(int index)
{
return new PictureBox
@@ -110,6 +113,7 @@ private class LabelType : Label
{
public StorageSlotType Type;
}
private void AddLabels()
{
for (var i = 0; i < names.Length; i++)
@@ -129,6 +133,7 @@ private void AddLabels()
FLP_Slots.SetFlowBreak(label, true);
}
}
private void SetLabelVisibility()
{
foreach (var l in Labels)

View File

@@ -836,18 +836,19 @@ private static bool TryBackupExportCheck(SaveFile sav, string path)
if (sav.Exportable && Directory.Exists(BackupPath) && !File.Exists(backupName))
File.WriteAllBytes(backupName, sav.BAK);
// Check location write protection
bool locked = true;
try { locked = File.GetAttributes(path).HasFlag(FileAttributes.ReadOnly); }
catch { }
if (!locked)
if (!IsFileLocked(path))
return true;
WinFormsUtil.Alert(MsgFileWriteProtected + Environment.NewLine + path, MsgFileWriteProtectedAdvice);
return false;
}
private static bool IsFileLocked(string path)
{
try { return File.GetAttributes(path).HasFlag(FileAttributes.ReadOnly); }
catch { return true; }
}
private static bool SanityCheckSAV(ref SaveFile sav)
{
// Finish setting up the save file.