mirror of
https://github.com/kwsch/PKHeX
synced 2024-11-26 05:50:22 +00:00
More records/sealing
This commit is contained in:
parent
ffebc74b90
commit
cacd6e9965
28 changed files with 47 additions and 115 deletions
|
@ -4,7 +4,7 @@ namespace PKHeX.Core
|
||||||
{
|
{
|
||||||
/// <inheritdoc cref="ISuggestModification"/>
|
/// <inheritdoc cref="ISuggestModification"/>
|
||||||
/// <typeparam name="T">Specific (or not) type</typeparam>
|
/// <typeparam name="T">Specific (or not) type</typeparam>
|
||||||
public class TypeSuggestion<T> : ISuggestModification where T : PKM
|
public sealed class TypeSuggestion<T> : ISuggestModification where T : PKM
|
||||||
{
|
{
|
||||||
public readonly string Keyword;
|
public readonly string Keyword;
|
||||||
public readonly Action<T, string> Action;
|
public readonly Action<T, string> Action;
|
||||||
|
@ -35,4 +35,4 @@ namespace PKHeX.Core
|
||||||
return ModifyResult.Modified;
|
return ModifyResult.Modified;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,9 @@
|
||||||
using System;
|
|
||||||
|
|
||||||
namespace PKHeX.Core
|
namespace PKHeX.Core
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Data representing info for an individual slot.
|
/// Data representing info for an individual slot.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public interface ISlotInfo : IEquatable<ISlotInfo>
|
public interface ISlotInfo
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Indicates the type of format the slot originates. Useful for legality purposes.
|
/// Indicates the type of format the slot originates. Useful for legality purposes.
|
||||||
|
|
|
@ -5,7 +5,7 @@ namespace PKHeX.Core
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Contains slot data and metadata indicating where the <see cref="PKM"/> originated from.
|
/// Contains slot data and metadata indicating where the <see cref="PKM"/> originated from.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class SlotCache : IComparable<SlotCache>
|
public sealed class SlotCache : IComparable<SlotCache>
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Information regarding how the <see cref="Entity"/> was obtained.
|
/// Information regarding how the <see cref="Entity"/> was obtained.
|
||||||
|
|
|
@ -3,20 +3,12 @@ namespace PKHeX.Core
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Box Data <see cref="ISlotInfo"/>
|
/// Box Data <see cref="ISlotInfo"/>
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class SlotInfoBox : ISlotInfo
|
public sealed record SlotInfoBox(int Box, int Slot) : ISlotInfo
|
||||||
{
|
{
|
||||||
public int Box { get; }
|
|
||||||
public int Slot { get; }
|
|
||||||
public SlotOrigin Origin => SlotOrigin.Box;
|
public SlotOrigin Origin => SlotOrigin.Box;
|
||||||
public bool CanWriteTo(SaveFile sav) => sav.HasBox && !sav.IsSlotLocked(Box, Slot);
|
public bool CanWriteTo(SaveFile sav) => sav.HasBox && !sav.IsSlotLocked(Box, Slot);
|
||||||
public WriteBlockedMessage CanWriteTo(SaveFile sav, PKM pkm) => WriteBlockedMessage.None;
|
public WriteBlockedMessage CanWriteTo(SaveFile sav, PKM pkm) => WriteBlockedMessage.None;
|
||||||
|
|
||||||
public SlotInfoBox(int box, int slot)
|
|
||||||
{
|
|
||||||
Box = box;
|
|
||||||
Slot = slot;
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool WriteTo(SaveFile sav, PKM pkm, PKMImportSetting setting = PKMImportSetting.UseDefault)
|
public bool WriteTo(SaveFile sav, PKM pkm, PKMImportSetting setting = PKMImportSetting.UseDefault)
|
||||||
{
|
{
|
||||||
sav.SetBoxSlotAtIndex(pkm, Box, Slot, setting, setting);
|
sav.SetBoxSlotAtIndex(pkm, Box, Slot, setting, setting);
|
||||||
|
@ -24,11 +16,5 @@ namespace PKHeX.Core
|
||||||
}
|
}
|
||||||
|
|
||||||
public PKM Read(SaveFile sav) => sav.GetBoxSlotAtIndex(Box, Slot);
|
public PKM Read(SaveFile sav) => sav.GetBoxSlotAtIndex(Box, Slot);
|
||||||
|
|
||||||
private bool Equals(SlotInfoBox other) => Box == other.Box && Slot == other.Slot;
|
|
||||||
public bool Equals(ISlotInfo other) => other is SlotInfoBox b && Equals(b);
|
|
||||||
public override bool Equals(object obj) => obj is SlotInfoBox b && Equals(b);
|
|
||||||
|
|
||||||
public override int GetHashCode() => (Box * 397) ^ Slot;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,14 +1,10 @@
|
||||||
namespace PKHeX.Core
|
namespace PKHeX.Core
|
||||||
{
|
{
|
||||||
public sealed class SlotInfoFile : ISlotInfo
|
public sealed record SlotInfoFile(string Path) : ISlotInfo
|
||||||
{
|
{
|
||||||
public readonly string Path;
|
|
||||||
public SlotOrigin Origin => SlotOrigin.Party;
|
public SlotOrigin Origin => SlotOrigin.Party;
|
||||||
public int Slot => 0;
|
public int Slot => 0;
|
||||||
|
|
||||||
public SlotInfoFile(string path) => Path = path;
|
|
||||||
public bool Equals(ISlotInfo other) => other is SlotInfoFile f && f.Path == Path;
|
|
||||||
|
|
||||||
public bool CanWriteTo(SaveFile sav) => false;
|
public bool CanWriteTo(SaveFile sav) => false;
|
||||||
public WriteBlockedMessage CanWriteTo(SaveFile sav, PKM pkm) => WriteBlockedMessage.InvalidDestination;
|
public WriteBlockedMessage CanWriteTo(SaveFile sav, PKM pkm) => WriteBlockedMessage.InvalidDestination;
|
||||||
public bool WriteTo(SaveFile sav, PKM pkm, PKMImportSetting setting = PKMImportSetting.UseDefault) => false;
|
public bool WriteTo(SaveFile sav, PKM pkm, PKMImportSetting setting = PKMImportSetting.UseDefault) => false;
|
||||||
|
|
|
@ -3,38 +3,21 @@ namespace PKHeX.Core
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Miscellaneous origination <see cref="ISlotInfo"/>
|
/// Miscellaneous origination <see cref="ISlotInfo"/>
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public sealed class SlotInfoMisc : ISlotInfo
|
public sealed record SlotInfoMisc(byte[] Data, int Slot, int Offset, bool PartyFormat = false) : ISlotInfo
|
||||||
{
|
{
|
||||||
public int Slot { get; }
|
|
||||||
public bool PartyFormat { get; }
|
|
||||||
public int Offset { get; }
|
|
||||||
public SlotOrigin Origin => PartyFormat ? SlotOrigin.Party : SlotOrigin.Box;
|
public SlotOrigin Origin => PartyFormat ? SlotOrigin.Party : SlotOrigin.Box;
|
||||||
public bool CanWriteTo(SaveFile sav) => false;
|
public bool CanWriteTo(SaveFile sav) => false;
|
||||||
public WriteBlockedMessage CanWriteTo(SaveFile sav, PKM pkm) => WriteBlockedMessage.InvalidDestination;
|
public WriteBlockedMessage CanWriteTo(SaveFile sav, PKM pkm) => WriteBlockedMessage.InvalidDestination;
|
||||||
public StorageSlotType Type { get; init; }
|
public StorageSlotType Type { get; init; }
|
||||||
|
|
||||||
private readonly byte[] Data; // buffer to r/w
|
public SlotInfoMisc(SaveFile sav, int slot, int offset, bool party = false) : this(GetBuffer(sav), slot, offset, party) { }
|
||||||
|
|
||||||
public SlotInfoMisc(SaveFile sav, int slot, int offset, bool party = false)
|
private static byte[] GetBuffer(SaveFile sav) => sav switch
|
||||||
{
|
{
|
||||||
Slot = slot;
|
SAV4 s => s.General,
|
||||||
Offset = offset;
|
SAV3 s3 => s3.Large,
|
||||||
PartyFormat = party;
|
_ => sav.Data,
|
||||||
Data = sav switch
|
};
|
||||||
{
|
|
||||||
SAV4 s => s.General,
|
|
||||||
SAV3 s3 => s3.Large,
|
|
||||||
_ => sav.Data,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
public SlotInfoMisc(byte[] data, int slot, int offset, bool party = false)
|
|
||||||
{
|
|
||||||
Slot = slot;
|
|
||||||
Offset = offset;
|
|
||||||
PartyFormat = party;
|
|
||||||
Data = data;
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool WriteTo(SaveFile sav, PKM pkm, PKMImportSetting setting = PKMImportSetting.UseDefault)
|
public bool WriteTo(SaveFile sav, PKM pkm, PKMImportSetting setting = PKMImportSetting.UseDefault)
|
||||||
{
|
{
|
||||||
|
@ -49,10 +32,5 @@ namespace PKHeX.Core
|
||||||
{
|
{
|
||||||
return PartyFormat ? sav.GetPartySlot(Data, Offset) : sav.GetStoredSlot(Data, Offset);
|
return PartyFormat ? sav.GetPartySlot(Data, Offset) : sav.GetStoredSlot(Data, Offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool Equals(SlotInfoMisc other) => Offset == other.Offset && Data == other.Data;
|
|
||||||
public bool Equals(ISlotInfo other) => other is SlotInfoMisc p && Equals(p);
|
|
||||||
public override bool Equals(object obj) => obj is SlotInfoMisc p && Equals(p);
|
|
||||||
public override int GetHashCode() => Offset;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -5,9 +5,9 @@ namespace PKHeX.Core
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Party Data <see cref="ISlotInfo"/>
|
/// Party Data <see cref="ISlotInfo"/>
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public sealed class SlotInfoParty : ISlotInfo
|
public sealed record SlotInfoParty(int Slot) : ISlotInfo
|
||||||
{
|
{
|
||||||
public int Slot { get; private set; }
|
public int Slot { get; private set; } = Slot;
|
||||||
public SlotOrigin Origin => SlotOrigin.Party;
|
public SlotOrigin Origin => SlotOrigin.Party;
|
||||||
public bool CanWriteTo(SaveFile sav) => sav.HasParty;
|
public bool CanWriteTo(SaveFile sav) => sav.HasParty;
|
||||||
|
|
||||||
|
@ -15,8 +15,6 @@ namespace PKHeX.Core
|
||||||
? WriteBlockedMessage.InvalidPartyConfiguration
|
? WriteBlockedMessage.InvalidPartyConfiguration
|
||||||
: WriteBlockedMessage.None;
|
: WriteBlockedMessage.None;
|
||||||
|
|
||||||
public SlotInfoParty(int slot) => Slot = slot;
|
|
||||||
|
|
||||||
public bool WriteTo(SaveFile sav, PKM pkm, PKMImportSetting setting = PKMImportSetting.UseDefault)
|
public bool WriteTo(SaveFile sav, PKM pkm, PKMImportSetting setting = PKMImportSetting.UseDefault)
|
||||||
{
|
{
|
||||||
if (pkm.Species == 0)
|
if (pkm.Species == 0)
|
||||||
|
@ -31,10 +29,5 @@ namespace PKHeX.Core
|
||||||
}
|
}
|
||||||
|
|
||||||
public PKM Read(SaveFile sav) => sav.GetPartySlotAtIndex(Slot);
|
public PKM Read(SaveFile sav) => sav.GetPartySlotAtIndex(Slot);
|
||||||
|
|
||||||
private bool Equals(SlotInfoParty other) => Slot == other.Slot;
|
|
||||||
public bool Equals(ISlotInfo other) => other is SlotInfoParty p && Equals(p);
|
|
||||||
public override bool Equals(object obj) => obj is SlotInfoParty p && Equals(p);
|
|
||||||
public override int GetHashCode() => Slot;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -200,17 +200,7 @@ namespace PKHeX.Core
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private class CombinedReference
|
private sealed record CombinedReference(SlotCache Slot, LegalityAnalysis Analysis);
|
||||||
{
|
|
||||||
public readonly SlotCache Slot;
|
|
||||||
public readonly LegalityAnalysis Analysis;
|
|
||||||
|
|
||||||
public CombinedReference(SlotCache slot, LegalityAnalysis analysis)
|
|
||||||
{
|
|
||||||
Slot = slot;
|
|
||||||
Analysis = analysis;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void CheckIDReuse()
|
private void CheckIDReuse()
|
||||||
{
|
{
|
||||||
|
|
|
@ -7,7 +7,7 @@ namespace PKHeX.Core
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Default formatter for Legality Result displays.
|
/// Default formatter for Legality Result displays.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class BaseLegalityFormatter : ILegalityFormatter
|
public sealed class BaseLegalityFormatter : ILegalityFormatter
|
||||||
{
|
{
|
||||||
public string GetReport(LegalityAnalysis l)
|
public string GetReport(LegalityAnalysis l)
|
||||||
{
|
{
|
||||||
|
|
|
@ -10,7 +10,7 @@ namespace PKHeX.Core
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// Serves as the main object that is accessed for stat data in a particular generation/game format.
|
/// Serves as the main object that is accessed for stat data in a particular generation/game format.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
public class PersonalTable
|
public sealed class PersonalTable
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Personal Table used in <see cref="GameVersion.BDSP"/>.
|
/// Personal Table used in <see cref="GameVersion.BDSP"/>.
|
||||||
|
|
|
@ -7,7 +7,7 @@ namespace PKHeX.Core
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Generation 8 <see cref="SaveFile"/> object for <see cref="GameVersion.BDSP"/> games.
|
/// Generation 8 <see cref="SaveFile"/> object for <see cref="GameVersion.BDSP"/> games.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class SAV8BS : SaveFile, ISaveFileRevision, ITrainerStatRecord
|
public sealed class SAV8BS : SaveFile, ISaveFileRevision, ITrainerStatRecord
|
||||||
{
|
{
|
||||||
// Save Data Attributes
|
// Save Data Attributes
|
||||||
protected internal override string ShortSummary => $"{OT} ({Version}) - {System.LastSavedTime}";
|
protected internal override string ShortSummary => $"{OT} ({Version}) - {System.LastSavedTime}";
|
||||||
|
@ -135,7 +135,7 @@ namespace PKHeX.Core
|
||||||
return base.GetFinalData();
|
return base.GetFinalData();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void ReloadBattleTeams()
|
private void ReloadBattleTeams()
|
||||||
{
|
{
|
||||||
if (!State.Exportable)
|
if (!State.Exportable)
|
||||||
BoxLayout.ClearBattleTeams();
|
BoxLayout.ClearBattleTeams();
|
||||||
|
|
|
@ -6,7 +6,7 @@ namespace PKHeX.Core
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Tracks information about where the <see cref="SAV"/> originated from, and provides logic for saving to a file.
|
/// Tracks information about where the <see cref="SAV"/> originated from, and provides logic for saving to a file.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class SaveFileMetadata
|
public sealed class SaveFileMetadata
|
||||||
{
|
{
|
||||||
private readonly SaveFile SAV;
|
private readonly SaveFile SAV;
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Tracks information about modifications made to a <see cref="SaveFile"/>
|
/// Tracks information about modifications made to a <see cref="SaveFile"/>
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class SaveFileState
|
public sealed class SaveFileState
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Mutable value tracking if the save file has been changed. This is set manually by modifications, and not for all modifications.
|
/// Mutable value tracking if the save file has been changed. This is set manually by modifications, and not for all modifications.
|
||||||
|
|
|
@ -5,7 +5,7 @@ namespace PKHeX.Core
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Generation 6 Secret Base Decoration Good Inventory stock for a given good-index.
|
/// Generation 6 Secret Base Decoration Good Inventory stock for a given good-index.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class SecretBase6GoodStock
|
public sealed class SecretBase6GoodStock
|
||||||
{
|
{
|
||||||
public const int SIZE = 4;
|
public const int SIZE = 4;
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
namespace PKHeX.Core
|
namespace PKHeX.Core
|
||||||
{
|
{
|
||||||
public class SecretBase6PKM
|
public sealed class SecretBase6PKM
|
||||||
{
|
{
|
||||||
public const int SIZE = 0x34;
|
public const int SIZE = 0x34;
|
||||||
public readonly byte[] Data;
|
public readonly byte[] Data;
|
||||||
|
|
|
@ -143,7 +143,7 @@ namespace PKHeX.Core
|
||||||
}
|
}
|
||||||
|
|
||||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||||
public class HoneyTree8b
|
public sealed class HoneyTree8b
|
||||||
{
|
{
|
||||||
public const int SIZE = 0xC;
|
public const int SIZE = 0xC;
|
||||||
|
|
||||||
|
|
|
@ -40,7 +40,7 @@ namespace PKHeX.Core
|
||||||
}
|
}
|
||||||
|
|
||||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||||
public class FieldObject8b
|
public sealed class FieldObject8b
|
||||||
{
|
{
|
||||||
public const int SIZE = 4 * 17;
|
public const int SIZE = 4 * 17;
|
||||||
|
|
||||||
|
|
|
@ -153,7 +153,7 @@ namespace PKHeX.Core
|
||||||
}
|
}
|
||||||
|
|
||||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||||
public class RecvData8b
|
public sealed class RecvData8b
|
||||||
{
|
{
|
||||||
public const int SIZE = 0xE0;
|
public const int SIZE = 0xE0;
|
||||||
// private const int ItemCount = 7;
|
// private const int ItemCount = 7;
|
||||||
|
@ -237,7 +237,7 @@ namespace PKHeX.Core
|
||||||
}
|
}
|
||||||
|
|
||||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||||
public class OneDay8b
|
public sealed class OneDay8b
|
||||||
{
|
{
|
||||||
public const int SIZE = 0x10;
|
public const int SIZE = 0x10;
|
||||||
|
|
||||||
|
|
|
@ -90,7 +90,7 @@ namespace PKHeX.Core
|
||||||
}
|
}
|
||||||
|
|
||||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||||
public class AffixSealData8b
|
public sealed class AffixSealData8b
|
||||||
{
|
{
|
||||||
public const int SIZE = 8; // u16 id, s16 x,y,z
|
public const int SIZE = 8; // u16 id, s16 x,y,z
|
||||||
|
|
||||||
|
|
|
@ -1,18 +1,9 @@
|
||||||
namespace PKHeX.Core
|
namespace PKHeX.Core;
|
||||||
|
|
||||||
|
public sealed record SlotGroup(string GroupName, PKM[] Slots)
|
||||||
{
|
{
|
||||||
public class SlotGroup
|
#if DEBUG
|
||||||
{
|
public override string ToString() => $"{GroupName}: {Slots.Length} {Slots.GetType().Name}";
|
||||||
public readonly string GroupName;
|
#endif
|
||||||
public readonly PKM[] Slots;
|
|
||||||
|
|
||||||
#if DEBUG
|
|
||||||
public override string ToString() => $"{GroupName}: {Slots.Length} {Slots.GetType().Name}";
|
|
||||||
#endif
|
|
||||||
|
|
||||||
public SlotGroup(string name, PKM[] slots)
|
|
||||||
{
|
|
||||||
GroupName = name;
|
|
||||||
Slots = slots;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ namespace PKHeX.Core
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Logic for recognizing .duc save files dumped via an ARDS.
|
/// Logic for recognizing .duc save files dumped via an ARDS.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class SaveHandlerARDS : ISaveHandler
|
public sealed class SaveHandlerARDS : ISaveHandler
|
||||||
{
|
{
|
||||||
private const int sizeHeader = 0xA4;
|
private const int sizeHeader = 0xA4;
|
||||||
private const int ExpectedSize = SaveUtil.SIZE_G4RAW + sizeHeader; // 0x800A4
|
private const int ExpectedSize = SaveUtil.SIZE_G4RAW + sizeHeader; // 0x800A4
|
||||||
|
|
|
@ -6,7 +6,7 @@ namespace PKHeX.Core
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Logic for recognizing .dsv save files from DeSmuME.
|
/// Logic for recognizing .dsv save files from DeSmuME.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class SaveHandlerDeSmuME : ISaveHandler
|
public sealed class SaveHandlerDeSmuME : ISaveHandler
|
||||||
{
|
{
|
||||||
private const int sizeFooter = 0x7A;
|
private const int sizeFooter = 0x7A;
|
||||||
private const int ExpectedSize = SaveUtil.SIZE_G4RAW + sizeFooter;
|
private const int ExpectedSize = SaveUtil.SIZE_G4RAW + sizeFooter;
|
||||||
|
|
|
@ -8,7 +8,7 @@ namespace PKHeX.Core
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Logic for recognizing .gci save files.
|
/// Logic for recognizing .gci save files.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class SaveHandlerGCI : ISaveHandler
|
public sealed class SaveHandlerGCI : ISaveHandler
|
||||||
{
|
{
|
||||||
private const int headerSize = 0x40;
|
private const int headerSize = 0x40;
|
||||||
private const int SIZE_G3BOXGCI = headerSize + SaveUtil.SIZE_G3BOX; // GCI data
|
private const int SIZE_G3BOXGCI = headerSize + SaveUtil.SIZE_G3BOX; // GCI data
|
||||||
|
|
|
@ -22,7 +22,7 @@ namespace PKHeX.Drawing.Misc.Properties {
|
||||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
public class Resources {
|
public sealed class Resources {
|
||||||
|
|
||||||
private static global::System.Resources.ResourceManager resourceMan;
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ namespace PKHeX.Drawing.PokeSprite.Properties {
|
||||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
public class Resources {
|
public sealed class Resources {
|
||||||
|
|
||||||
private static global::System.Resources.ResourceManager resourceMan;
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
|
|
|
@ -66,7 +66,7 @@ namespace PKHeX.WinForms.Controls
|
||||||
FlickerInterface();
|
FlickerInterface();
|
||||||
}
|
}
|
||||||
|
|
||||||
private class ValidationRequiredSet
|
private sealed class ValidationRequiredSet
|
||||||
{
|
{
|
||||||
private readonly Control[] Controls;
|
private readonly Control[] Controls;
|
||||||
private readonly Func<PKM, bool> ShouldCheck;
|
private readonly Func<PKM, bool> ShouldCheck;
|
||||||
|
|
|
@ -220,7 +220,7 @@ namespace PKHeX.WinForms
|
||||||
}
|
}
|
||||||
|
|
||||||
[Serializable]
|
[Serializable]
|
||||||
public class AdvancedSettings
|
public sealed class AdvancedSettings
|
||||||
{
|
{
|
||||||
[LocalizedDescription("Allow PKM file conversion paths that are not possible via official methods. Individual properties will be copied sequentially.")]
|
[LocalizedDescription("Allow PKM file conversion paths that are not possible via official methods. Individual properties will be copied sequentially.")]
|
||||||
public bool AllowIncompatibleConversion { get; set; }
|
public bool AllowIncompatibleConversion { get; set; }
|
||||||
|
@ -265,14 +265,14 @@ namespace PKHeX.WinForms
|
||||||
}
|
}
|
||||||
|
|
||||||
[Serializable]
|
[Serializable]
|
||||||
public class EntityEditorSettings
|
public sealed class EntityEditorSettings
|
||||||
{
|
{
|
||||||
[LocalizedDescription("When changing the Hidden Power type, automatically maximize the IVs to ensure the highest Base Power result. Otherwise, keep the IVs as close as possible to the original.")]
|
[LocalizedDescription("When changing the Hidden Power type, automatically maximize the IVs to ensure the highest Base Power result. Otherwise, keep the IVs as close as possible to the original.")]
|
||||||
public bool HiddenPowerOnChangeMaxPower { get; set; } = true;
|
public bool HiddenPowerOnChangeMaxPower { get; set; } = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
[Serializable]
|
[Serializable]
|
||||||
public class EncounterDatabaseSettings
|
public sealed class EncounterDatabaseSettings
|
||||||
{
|
{
|
||||||
[LocalizedDescription("Skips searching if the user forgot to enter Species / Move(s) into the search criteria.")]
|
[LocalizedDescription("Skips searching if the user forgot to enter Species / Move(s) into the search criteria.")]
|
||||||
public bool ReturnNoneIfEmptySearch { get; set; } = true;
|
public bool ReturnNoneIfEmptySearch { get; set; } = true;
|
||||||
|
@ -288,7 +288,7 @@ namespace PKHeX.WinForms
|
||||||
}
|
}
|
||||||
|
|
||||||
[Serializable]
|
[Serializable]
|
||||||
public class MysteryGiftDatabaseSettings
|
public sealed class MysteryGiftDatabaseSettings
|
||||||
{
|
{
|
||||||
[LocalizedDescription("Hides gifts if the currently loaded save file cannot (indirectly) receive them.")]
|
[LocalizedDescription("Hides gifts if the currently loaded save file cannot (indirectly) receive them.")]
|
||||||
public bool FilterUnavailableSpecies { get; set; } = true;
|
public bool FilterUnavailableSpecies { get; set; } = true;
|
||||||
|
|
2
PKHeX.WinForms/Properties/Resources.Designer.cs
generated
2
PKHeX.WinForms/Properties/Resources.Designer.cs
generated
|
@ -22,7 +22,7 @@ namespace PKHeX.WinForms.Properties {
|
||||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
public class Resources {
|
public sealed class Resources {
|
||||||
|
|
||||||
private static global::System.Resources.ResourceManager resourceMan;
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue