From 63580a283538ca8540ccd0f6f6584df6824e914e Mon Sep 17 00:00:00 2001 From: Kurt Date: Wed, 15 Sep 2021 18:13:17 -0700 Subject: [PATCH] Minor tweaks For BigEndian we don't have to invert the array access if we just iterate backwards :) Fix xmldoc for gen1 trades ampersand Add xmldoc for enc trade classes No functional change. --- .../Encounters/EncounterTrade/EncounterTrade1.cs | 2 +- .../Encounters/EncounterTrade/EncounterTrade2.cs | 4 ++++ .../Encounters/EncounterTrade/EncounterTrade3.cs | 4 ++++ .../Encounters/EncounterTrade/EncounterTrade4.cs | 16 ++++++++++++++++ .../Encounters/EncounterTrade/EncounterTrade5.cs | 4 ++++ .../Encounters/EncounterTrade/EncounterTrade6.cs | 4 ++++ .../Encounters/EncounterTrade/EncounterTrade7.cs | 4 ++++ .../EncounterTrade/EncounterTrade7b.cs | 4 ++++ .../Encounters/EncounterTrade/EncounterTrade8.cs | 6 +++++- .../EncounterTrade/EncounterTradeGB.cs | 1 + PKHeX.Core/Util/BinaryCodedDecimal.cs | 16 ++++------------ 11 files changed, 51 insertions(+), 14 deletions(-) diff --git a/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade1.cs b/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade1.cs index 2d57f541c..c1bcb7916 100644 --- a/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade1.cs +++ b/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade1.cs @@ -7,7 +7,7 @@ namespace PKHeX.Core /// /// /// Generation 1 specific value used in detecting unmodified/un-traded Generation 1 Trade Encounter data. - /// Species & Minimum level (legal) possible to acquire at. + /// Species & Minimum level (legal) possible to acquire at. /// public sealed record EncounterTrade1 : EncounterTradeGB { diff --git a/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade2.cs b/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade2.cs index 4310fd8f8..18d3c699c 100644 --- a/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade2.cs +++ b/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade2.cs @@ -2,6 +2,10 @@ namespace PKHeX.Core { + /// + /// Generation 2 Trade Encounter + /// + /// public sealed record EncounterTrade2 : EncounterTradeGB { public override int Generation => 2; diff --git a/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade3.cs b/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade3.cs index bbbc77915..a59c25ed8 100644 --- a/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade3.cs +++ b/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade3.cs @@ -2,6 +2,10 @@ namespace PKHeX.Core { + /// + /// Generation 3 Trade Encounter + /// + /// public sealed record EncounterTrade3 : EncounterTrade, IContestStats { public override int Generation => 3; diff --git a/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade4.cs b/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade4.cs index e29653127..0bfcbc080 100644 --- a/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade4.cs +++ b/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade4.cs @@ -1,5 +1,9 @@ namespace PKHeX.Core { + /// + /// Generation 4 Trade Encounter + /// + /// public abstract record EncounterTrade4 : EncounterTrade { public sealed override int Generation => 4; @@ -11,6 +15,10 @@ protected EncounterTrade4(GameVersion game) : base(game) } } + /// + /// Generation 4 Trade Encounter with a fixed PID value. + /// + /// public sealed record EncounterTrade4PID : EncounterTrade4, IContestStats { /// @@ -99,6 +107,10 @@ protected override bool IsMatchNatureGenderShiny(PKM pkm) } } + /// + /// Generation 4 Trade Encounter with a fixed PID value, met location, and version. + /// + /// public sealed record EncounterTrade4RanchGift : EncounterTrade4 { /// @@ -133,6 +145,10 @@ protected override void SetPINGA(PKM pk, EncounterCriteria criteria) } } + /// + /// Generation 4 Trade Encounter with a fixed location and version, as well as special details. + /// + /// public sealed record EncounterTrade4RanchSpecial : EncounterTrade4 { public override int Location => 3000; diff --git a/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade5.cs b/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade5.cs index 07d6150b0..c9a988eb6 100644 --- a/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade5.cs +++ b/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade5.cs @@ -1,5 +1,9 @@ namespace PKHeX.Core { + /// + /// Generation 5 Trade Encounter + /// + /// public sealed record EncounterTrade5 : EncounterTrade { public override int Generation => 5; diff --git a/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade6.cs b/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade6.cs index 3cadb5e3f..2b2d9412a 100644 --- a/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade6.cs +++ b/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade6.cs @@ -1,5 +1,9 @@ namespace PKHeX.Core { + /// + /// Generation 6 Trade Encounter + /// + /// public sealed record EncounterTrade6 : EncounterTrade, IMemoryOT { public override int Generation => 6; diff --git a/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade7.cs b/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade7.cs index 6b4811106..d5825be88 100644 --- a/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade7.cs +++ b/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade7.cs @@ -2,6 +2,10 @@ namespace PKHeX.Core { + /// + /// Generation 7 Trade Encounter + /// + /// public sealed record EncounterTrade7 : EncounterTrade, IMemoryOT { public override int Generation => 7; diff --git a/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade7b.cs b/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade7b.cs index 4035b4fa4..e125a9a67 100644 --- a/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade7b.cs +++ b/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade7b.cs @@ -1,5 +1,9 @@ namespace PKHeX.Core { + /// + /// Generation 7 LGP/E Trade Encounter + /// + /// public sealed record EncounterTrade7b : EncounterTrade { public override int Generation => 7; diff --git a/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade8.cs b/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade8.cs index eaf9e03d1..851b38e05 100644 --- a/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade8.cs +++ b/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade8.cs @@ -3,6 +3,10 @@ namespace PKHeX.Core { + /// + /// Generation 8 Trade Encounter + /// + /// public sealed record EncounterTrade8 : EncounterTrade, IDynamaxLevel, IRelearn, IMemoryOT { public override int Generation => 8; @@ -51,4 +55,4 @@ protected override void ApplyDetails(ITrainerInfo sav, EncounterCriteria criteri pk8.OT_Intensity = OT_Intensity; } } -} \ No newline at end of file +} diff --git a/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTradeGB.cs b/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTradeGB.cs index 5c61ffe1d..12e31e573 100644 --- a/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTradeGB.cs +++ b/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTradeGB.cs @@ -1,5 +1,6 @@ namespace PKHeX.Core { + /// public abstract record EncounterTradeGB : EncounterTrade { protected EncounterTradeGB(int species, int level, GameVersion game) : base(game) diff --git a/PKHeX.Core/Util/BinaryCodedDecimal.cs b/PKHeX.Core/Util/BinaryCodedDecimal.cs index 99a82e026..2a370d8f4 100644 --- a/PKHeX.Core/Util/BinaryCodedDecimal.cs +++ b/PKHeX.Core/Util/BinaryCodedDecimal.cs @@ -46,12 +46,8 @@ public static byte[] GetBytesBE(int value, int size) public static void WriteBytesBE(Span data, int value) { - for (int i = 0; i < data.Length; i++) - { - int p = value % 100; - value /= 100; - data[^(1+i)] = (byte) (p / 10 << 4 | p % 10); - } + for (int i = data.Length - 1; i >= 0; i--, value /= 100) + data[i] = (byte)((((value / 10) % 10) << 4) | (value % 10)); } /// @@ -85,12 +81,8 @@ public static byte[] GetBytesLE(int value, int size) /// public static void WriteBytesLE(Span data, int value) { - for (int i = 0; i < data.Length; i++) - { - int p = value % 100; - value /= 100; - data[i] = (byte) (p / 10 << 4 | p % 10); - } + for (int i = 0; i < data.Length; i++, value /= 100) + data[i] = (byte)((((value / 10) % 10) << 4) | (value % 10)); } } }