From 543736d56826024d2ab91bb3f90103a251fd2dec Mon Sep 17 00:00:00 2001 From: Kurt Date: Wed, 8 Nov 2017 00:34:32 -0800 Subject: [PATCH] Early rough USUM compatibility need to dump string resources, sprites, and repoint the form list string fetch later. tons more to do no guarantee of any working functions --- PKHeX.Core/Legality/Tables7.cs | 7 +- PKHeX.Core/Resources/byte/personal_uu | Bin 80724 -> 81984 bytes PKHeX.Core/Saves/SAV7.cs | 179 ++++++---- PKHeX.Core/Saves/SaveUtil.cs | 2 +- .../Gen7/SAV_Trainer7.Designer.cs | 329 +++++++++--------- 5 files changed, 273 insertions(+), 244 deletions(-) diff --git a/PKHeX.Core/Legality/Tables7.cs b/PKHeX.Core/Legality/Tables7.cs index 08379a5f9..bb3b6a197 100644 --- a/PKHeX.Core/Legality/Tables7.cs +++ b/PKHeX.Core/Legality/Tables7.cs @@ -93,6 +93,9 @@ public static partial class Legal internal static readonly ushort[] Pouch_Key_USUM = { // todo }; + internal static readonly ushort[] Pouch_Roto_USUM = { + //949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959 + }; internal static readonly ushort[] Pouch_TMHM_SM = { // 02 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, @@ -117,10 +120,10 @@ public static partial class Legal 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 798, 799, 800, 801, 802, 803, 804, 805, 806, 836 }; internal static readonly ushort[] Pouch_ZCrystal_USUM = Pouch_ZCrystal_SM.Concat(new ushort[] { // Bead - // todo + //927, 928, 929, 930, 931, 932 }).ToArray(); internal static readonly ushort[] Pouch_ZCrystalHeld_USUM = Pouch_ZCrystalHeld_SM.Concat(new ushort[] { // Piece - // todo + //921, 922, 923, 924, 925, 926 }).ToArray(); public static readonly Dictionary ZCrystalDictionary = Pouch_ZCrystal_USUM .Zip(Pouch_ZCrystalHeld_USUM, (k, v) => new { Key = (int)k, Value = (int)v }) diff --git a/PKHeX.Core/Resources/byte/personal_uu b/PKHeX.Core/Resources/byte/personal_uu index 57989e926fdf01978c8aba8152e170d6de994be8..9c1235132f6496d50204fd5e6b6807514401beb5 100644 GIT binary patch delta 16816 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 delta 12208 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 XO}Mf3<#n2ENJ0n3&G59K