Update 23.01.26

Hello .NET 7
This commit is contained in:
Kurt 2023-01-26 21:58:04 -08:00
parent 0e897dc1f1
commit 3572097c96
23 changed files with 598 additions and 537 deletions

View file

@ -24,7 +24,7 @@ PKHeX erwartet entschlüsselte Spielstände. Da diese konsolenspezifisch verschl
## Screenshots
![Main Window](https://i.imgur.com/uXdJfRj.png)
![Main Window](https://i.imgur.com/f2oF00t.png)
## Erstellen

View file

@ -24,7 +24,7 @@ PKHeX espera archivos de guardado que no estén cifrados con las claves específ
## Capturas de Pantalla
![Pantalla principal](https://i.imgur.com/hN1pwQa.png)
![Pantalla principal](https://i.imgur.com/vQrE25t.png)
## Building

View file

@ -23,7 +23,7 @@ PKHeX attend des fichiers de sauvegarde qui ne sont pas chiffrés avec des clés
## Captures d'écran
![Main Window](https://i.imgur.com/d63DD3I.png)
![Main Window](https://i.imgur.com/H3GKLtk.png)
## Construction

View file

@ -24,7 +24,7 @@ PKHeX si aspetta file di salvataggio non criptati con le chiavi specifiche della
## Screenshots
![Main Window](https://i.imgur.com/QyQYtFg.png)
![Main Window](https://i.imgur.com/18b86pC.png)
## Building

View file

@ -24,7 +24,7 @@ PKHeX 所读取存档文件必须是未经主机唯一密钥加密,因此请
## 截图
![主介面](https://i.imgur.com/CHgFTXb.png)
![主介面](https://i.imgur.com/KjYhgj9.png)
## 构建

View file

@ -24,7 +24,7 @@ PKHeX 所讀取檔案須未經主機唯一密鑰加密,因而請使用儲存
## 螢幕擷取截圖
![主介面](https://i.imgur.com/CHgFTXb.png)
![主介面](https://i.imgur.com/KNwURaM.png)
## 構建

View file

@ -1,6 +1,6 @@
<Project>
<PropertyGroup>
<Version>22.12.18</Version>
<Version>23.01.26</Version>
<LangVersion>11</LangVersion>
<Nullable>enable</Nullable>
<NeutralLanguage>en</NeutralLanguage>

View file

@ -19,7 +19,7 @@ public static class ShowdownParsing
/// <param name="species">Species ID the form belongs to</param>
/// <param name="context">Format the form name should appear in</param>
/// <returns>Zero (base form) if no form matches the input string.</returns>
public static byte GetFormFromString(string name, GameStrings strings, ushort species, EntityContext context)
public static byte GetFormFromString(ReadOnlySpan<char> name, GameStrings strings, ushort species, EntityContext context)
{
if (name.Length == 0)
return 0;
@ -28,12 +28,10 @@ public static class ShowdownParsing
if (forms.Length < 1)
return 0;
// Find first matching index that matches any case.
// Find first matching index that matches any case, ignoring dashes interchanged with spaces.
for (byte i = 0; i < forms.Length; i++)
{
var form = forms[i];
var index = form.IndexOf(name, StringComparison.OrdinalIgnoreCase);
if (index != -1)
if (IsFormEquivalent(forms[i], name))
return i;
}
@ -41,6 +39,25 @@ public static class ShowdownParsing
return 0;
}
private static bool IsFormEquivalent(ReadOnlySpan<char> reference, ReadOnlySpan<char> input)
{
if (input.Length != reference.Length)
return false;
for (int i = 0; i < input.Length; i++)
{
var c1 = input[i];
var c2 = reference[i];
if (char.ToUpperInvariant(c1) == char.ToUpperInvariant(c2))
continue;
if (c1 is ' ' or '-' && c2 is ' ' or '-')
continue;
return false;
}
return true;
}
/// <summary>
/// Converts a Form ID to string.
/// </summary>
@ -87,7 +104,7 @@ public static class ShowdownParsing
(int)Polteageist or (int)Sinistea => form == "Antique" ? form : string.Empty,
(int)Maushold when form is "Family of Four" => "Four",
(int)Furfrou or (int)Greninja or (int)Rockruff or (int)Koraidon or (int)Miraidon => string.Empty,
(int)Greninja or (int)Rockruff or (int)Koraidon or (int)Miraidon => string.Empty,
_ => Legal.Totem_USUM.Contains(species) && form == "Large"
? Legal.Totem_Alolan.Contains(species) && species != (int)Mimikyu ? "Alola-Totem" : "Totem"

View file

@ -147,7 +147,7 @@ public sealed class ShowdownSet : IBattleTemplate
private const int MinLength = 3;
private const int MaxLength = 80;
private static bool IsLengthOutOfRange(ReadOnlySpan<char> trim) => (uint)(trim.Length - MinLength) > MaxLength + MinLength;
private void ParseLines(SpanLineEnumerator lines)
{
int movectr = 0;
@ -610,7 +610,7 @@ public sealed class ShowdownSet : IBattleTemplate
}
// Form string present.
int end = speciesLine.LastIndexOf('-');
int end = speciesLine.IndexOf('-');
if (end < 0)
return false;

View file

@ -335,7 +335,7 @@ public sealed class BulkAnalysis
// Trainer-ID-SID16 should only occur for one version
if (IsSharedVersion(pp, pa, cp, ca))
{
AddLine(ps, cs, "TID16 sharing across versions detected.", ident);
AddLine(ps, cs, "TID sharing across versions detected.", ident);
return true;
}
@ -343,7 +343,7 @@ public sealed class BulkAnalysis
if (pp.OT_Name != cp.OT_Name)
{
var severity = ca.Info.Generation == 4 ? Severity.Fishy : Severity.Invalid;
AddLine(ps, cs, "TID16 sharing across different trainer names detected.", ident, severity);
AddLine(ps, cs, "TID sharing across different trainer names detected.", ident, severity);
}
return false;

View file

@ -208,6 +208,8 @@ public sealed class MiscVerifier : Verifier
(int)Species.Sliggoo | (1 << 11), // Sliggoo-1
(int)Species.Avalugg | (1 << 11), // Avalugg-1
(int)Species.Decidueye | (1 << 11), // Decidueye-1
(int)Species.Basculegion, // Basculegion
(int)Species.Basculegion | (1 << 11), // Basculegion-1
(int)Species.Wyrdeer,
(int)Species.Kleavor,

View file

@ -72,6 +72,19 @@ public sealed class PersonalInfo2 : PersonalInfo, IPersonalInfoTM, IPersonalInfo
public void SetAllLearnTM(Span<bool> result, ReadOnlySpan<byte> moves)
{
var span = Data.AsSpan(TMHM, ByteCountTM);
if (result.Length <= Legal.MaxMoveID_1 + 1)
{
for (int index = CountTMHM - 1; index >= 0; index--)
{
if ((span[index >> 3] & (1 << (index & 7))) == 0)
continue;
// If we're in a Gen1 context, we can't have Gen2 moves.
var move = moves[index];
if (move < result.Length)
result[move] = true;
}
return;
}
for (int index = CountTMHM - 1; index >= 0; index--)
{
if ((span[index >> 3] & (1 << (index & 7))) != 0)

View file

@ -366,13 +366,17 @@ public partial class PKMEditor
TB_HT.Text = handler;
UC_HTGender.Gender = gender;
bool hasValue = handler.Length != 0;
L_CurrentHandler.Visible = CB_Handler.Visible = UC_HTGender.Visible = hasValue;
ToggleHandlerVisibility(handler.Length != 0);
// Indicate who is currently in possession of the PKM
UpadteHandlingTrainerBackground(pk.CurrentHandler);
}
private void ToggleHandlerVisibility(bool hasValue)
{
L_CurrentHandler.Visible = CB_Handler.Visible = UC_HTGender.Visible = hasValue;
}
private void UpadteHandlingTrainerBackground(int handler)
{
if (handler == 0) // OT

View file

@ -2385,7 +2385,7 @@ namespace PKHeX.WinForms.Controls
this.SizeCP.Location = new System.Drawing.Point(48, 152);
this.SizeCP.Margin = new System.Windows.Forms.Padding(48, 8, 0, 0);
this.SizeCP.Name = "SizeCP";
this.SizeCP.Size = new System.Drawing.Size(224, 80);
this.SizeCP.Size = new System.Drawing.Size(224, 96);
this.SizeCP.TabIndex = 3;
//
// ShinyLeaf

View file

@ -1350,16 +1350,18 @@ public sealed partial class PKMEditor : UserControl, IMainEditor
private void UpdateNotOT(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(TB_HT.Text))
var text = TB_HT.Text;
if (string.IsNullOrWhiteSpace(text))
{
ClickGT(GB_OT, EventArgs.Empty); // Switch CT over to OT.
UC_HTGender.Visible = false;
UC_HTGender.Gender = 0;
ReloadToFriendshipTextBox(Entity);
ToggleHandlerVisibility(false);
}
else if (!UC_HTGender.Visible)
{
UC_HTGender.Visible = true;
ToggleHandlerVisibility(true);
}
}

View file

@ -1,518 +1,23 @@
PKHeX - By Kaphotics
http://projectpokemon.org/pkhex/
22/12/18 - New Update:
- Gen9 SV Added wandering/crossover logic for wild encounter location detection.
- Gen9 SV Added weather/time/personality Mark logic for wild encounters.
- Gen9 SV Removed inaccessible egg moves.
- Gen9 SV legality quirks ironed out, detection should be pretty reliable now.
- Added: SV 7-Star Raid record editor added. Thanks @sora10pls!
- Added: Form Argument numeric up-down now has a label in the PKM Editor.
- Fixed: Gen3 GC memory cards with multiple save files now read correctly again. Thanks @TheZett!
- Changed: Updated translation files. Thanks @easyworld, @Yarkis01, @Korados
22/12/01 - New Update: (188923) [5944803]
- Added support for Scarlet & Violet 1.1.0.
23/01/26 - New Update:
- Changed: PKHeX now uses .NET 7 for its runtime (updated from .NET Framework 4.6)!
- - Requires Windows 64bit operating system, with the .NET Desktop Runtime 7.0.x
- - https://dotnet.microsoft.com/en-us/download/dotnet/7.0
- - For those wanting to run the program from a Mac/Linux machine, use a Windows VM. No more mono/wine support.
- - This change results in a faster program, and being able to write more modern & extensible C# code.
- Changed: The Main Window layout has been adjusted for better GUI scaling support:
- - PKM Editor now uses vertical tabs, and some controls have moved to more appropriate tabs.
- - PKM Editor now has a "Cosmetic" tab, which contains low significance values like Contest Stats.
- - PKM Editor now has a simple selector for Handling Trainer selection rather than the background highlights.
- Legality:
- - Fixed: Gen9 banned species list updated.
- - Fixed: Gen9 TR flags now check pre-evolutions if the current evolution does not have a required move flag.
- - Fixed: Ability patch reverting check updated to account for single-evolution-chain cases.
- Fixed: Showdown Set imports without a Tera Type will default to the species' first type.
- Fixed: WC9 now generates with correct SID7. Thanks @Manu098vm !
- Fixed: Associating a pk9 file to PKHeX.exe now starts up properly.
- Fixed: Form argument suggestion for Mankey & Pawniard, when evolved to max evo stage, added.
- Changed: Updated translation files. Thanks @easyworld, @Yarkis01
22/11/26 - New Update: (98776) [5755880]
- Legality:
- - Fixed: Encounter->PK9 small fixes added.
- - Added: Distribution Raids (Eevee) now recognized.
- - Fixed: Hidden Ability patch checks now behave correctly.
- - Fixed: Minor tweaks to tera type and encounter recognition.
- - Fixed: Gen8 technical records are checked correctly again.
- - Fixed: Maushold / Dudunsparce %100 evolution calc fixed (From %25).
- - Fixed: Gen9 obededience level for gift box legends now checked correctly (nonzero).
- - Still Pending: Wandering/Crossover encounter locations & marks (next release!)
- Added: Form Argument now has a label if the Form combobox is not being shown.
- Added: Cheat button to unlock all fly locations, and collect all stakes (sublegendary event). Thanks @sora10pls!
- Fixed: Gen9 raid seeds can now be correctly set via the GUI.
- Fixed: Gen9 xyz coordinates now read/write correctly instead of swapping y/z coordinates. Thanks @ih8ih8sn0w !
- Fixed: Gen9 Pokédex set now applies seen forms, and the Seen All / Caught / Complete cheats now behave as intended for all entries.
- Changed: Updated translation files. Thanks @easyworld, @manu098vm, @kitcham, @egzn !
22/11/24 - New Update: (69113) [5657104]
- Introducing Scarlet & Violet Support! Thanks @SciresM, @sora10pls, @Lusamine!
- - Initial Legality Checking is provided. Please refer to the forums when reporting legality issues for SV parsing.
- - Save Data is similar to SW/SH; a pokedex, trainer, inventory, Raid, and block data editor are provided.
- - Encounter legality has been reverse engineered & modeled to pre-compute possible met locations for overworld interactables.
- Added:
- - Gen9 SV wild encounters are now generated with RNG patterns matching the game. Thanks @Lusamine !
- - Gen9 SV zone unlock cheat to fly to all locations. Thanks @sora10pls !
- - Gen9 Tera Type is indicated on the Stats page as well as mini sprite previews. Clicking the Original label will toggle the original type.
- - Gen9 Obedience Level tracks the level the entity arrived with the current handler.
- - Gen4 Ranch support extended. Thanks @Zazsona !
- - Ribbon Editor now sorts and highlights valid ribbons that can be applied.
- Changed:
- - Gen3/4 LCRNG reversal algorithms improved (50x faster!). Thanks @StarfBerry (Parzival)!
- - Display precision of Height/Weight float values now shows a round-trip equal value instead of potentially truncating decimals.
- - Clicking stat labels now changes nature amplification. Refer to the shortcut list for more info.
- - Settings window can now be resized.
- - Gen3 mGBA saves with new RTC footer now are recognized correctly. Thanks @Bl4ckSh4rk !
- Fixed:
- - Too many things to list! Thanks everyone who has highlighted issues / contributed fixes in the past 2.5 months!
22/09/13 - New Update: (315677) [5587991]
- Legality: Fixed small regressions in move / ribbon / memory legality checks.
- Changed: RNG pidiv detection speed drastically improved. Not that you'd really notice since everything is already fast.
- Fixed: BW personal data API has been regenerated to fix previous corrupted return values.
- Fixed: Colosseum/XD playtime values now set the Hour value correctly.
- Fixed: Gen1 OT name now writes the final terminator 0x50 when setting a 7-character-long trainer name.
22/08/31 - New Update: (52021) [5272314]
- Legality:
- - Refactored move validation and evolution branching to better handle sidegame alterations.
- - Refactored some data structures for faster program performance.
- - Refactored some validators for faster performance (ex. Ribbons).
- Added: More event flag/constant names. Thanks @tastymeatball and @CanoeHope !
- Added: Advanced tab of PKM/MGDB/Encounter Database now shows a batch editor command builder.
- Added: Can now copy a folder path prior to importing/exporting individual box data entities. Thanks @berichan !
- Changed: PKM Editor ball selection window is now sorted by legality. Setting available to revert to ordered by ball ID.
- Fixed: Event Flag editor custom work value now clamped to correct maximum. Thanks @PKMWM1 !
- Fixed: Colosseum/XD playtime values now read & write correctly. Thanks @trigger-segfault !
- Fixed: Colosseum format entities now read/write friendship correctly.
22/06/26 - New Update: (224234) [5220293]
- Legality:
- - Added: Current Handler legality for the save file is now checked. Having incorrect Handling Trainer data will be flagged.
- - Added: Marking legality now flags illegal marking values that can cause crashes in all Gen8 games (not yet patched).
- - Fixed: HOME transfer legality checks improved; now checks for unobtainable cross-transfer ribbons & contest stats.
- - Fixed: Shared egg moves for HOME transfers now checks the current format rather than the source where it originated from.
- - Fixed: Gen8 Mystery Gifts with restricted language / HOME gifts are now correctly recognized.
- - Fixed: Gen8 BDSP Great Marsh transfers to SWSH now are correctly recognized (ball).
- - Fixed: Contest Stat Sheen legality checks relaxed; really bad poffins are bad. Thanks @Atrius97 & @Lusamine !
- Added: Gen7 can now use the Heal box action (to fix PP / status / etc).
- Added: Gen2 Crystal now has more GB Mobile Cable Color values to use.
- Added: Gen6/7 encrypted PKM files can now drag correctly.
- Added: Gen4 now shows all roamers in the Block editing interface. Thanks @ShadyRelapse-PP & @sora10pls!
- Added: BizHawk "SaveRAM" files now recognized similar to DeSmuME "dsv" save files with an appended footer region.
- Fixed: Gen8 PLA Initial mastery move flags are now correctly applied for varied level wild encounters when created from the database.
- Fixed: Gen8 Mystery Gifts now show up correctly in the Mystery Gift Database (filtering was inverted).
- Fixed: Gen8 PK8/PB8 type differentiation enhanced; dragged files no longer misidentify as the game-format they were encounterd in.
- Fixed: Gen8 Dynamax Level being >10 now corrects itself when loading to the PKM Editor rather than erroring.
- Fixed: Gen5 Entree Forest now saves correctly. Thanks @Mutty99 !
- Fixed: Gen4->Gen5 transferring with HM moves now correctly removes the HM move.
- Fixed: ShowdownSet no longer yields empty move slots when creating a new text string (regression in last release).
- Fixed: PKM Database IV/EV filtering now returns the correct results (filtering was inverted). Thanks skai_louie !
- Fixed: Non-plugin dll's in the plugin folder will be ignored rather than stopping other plugins from loading.
- Changed: German translation improved (GUI+Legality). Thanks @Bl4ckSh4rk !
22/06/01 - New Update: (87327) [4996059]
- Legality:
- - Added: HOME 2.0.0 support. Thanks @SciresM, @sora10pls, @Lusamine, & all contributing via the Discord server!
- - Changed: Revises legality checks to account for traveling between the three game islands (PLA/BDSP/SWSH)
- - Changed: Evolution History is now tracked in the Legality parse for specific contexts, rather than by generation only.
- - Fixed: More Gen1/2 tradeback edge cases are handled correctly.
- Added: HOME 2.0.0 conversion mechanisms between the three formats.
- Added: HOME 2.0.0 flexible conversion options to backfill missing data when converting from SW/SH back to PLA/BD/SP.
- Added: HOME 2.0.0 abstractions for HOME data storage format (EKH/PKH format 1, aka EH1/PH1).
- Added: `PKM` now exposes a `Context` to indicate the isolation context for legality purposes.
- Added: Gen8 BDSP misc editor can now unlock Arceus encounter same as Darkrai and Shaymin. Thanks @sora10pls!
- Fixed: Gen5 C-Gear Skins with incorrect file formats (not 32bit argb) show an error dialog rather than crash-erroring.
- Fixed: Gen5 Entree Forest/Misc5 out-of-range values no longer throw an error when the editor opens.
- Fixed: Loading a PKM while viewing an extrabyte index now correctly loads the new extrabyte value.
- Fixed: Gen8 PLA Initial mastery move flags are now suggested correctly for edge cases.
- Fixed: PKM Editor GUI controls now better aligned/sized with similar controls (ex: OT editing).
- Fixed: Drag & Drop now works correctly within the program. Still recommended to use ctrl/shift hotkeys!
- Removed: HaX mode can no longer change Stat_Level separately from Current Level. Set it via the batch editor instead.
- Changed: Enhanced the Gen1/2 Stadium save detection to now detect correctly if no team data has been set.
- Changed: Italian translation improved (GUI+Legality). Thanks @Manu098vm !
22/05/08 - New Update: (94641) [4908732]
- Legality:
- - Added: PLA move mastery/purchased flags are now legality checked thoroughly. Thanks @Lusamine & @Atrius97 !
- - Added: PLA event gifts are now checked for their date obtained.
- - Added: BDSP Darkrai & Arceus encounter data.
- - Fixed: Gen4 Roamers now allowed in Route 45 if the tile it was encountered on is not water.
- - Fixed: BDSP/PLA encounters are now flagged if they have a SWSH Mark.
- Added: Gen3 RSBox Japanese save files & memory cards are now supported. Thanks @SynapseProperty !
- Added: Gen2/3 Mail Editor now allows swapping mail slots if you rearrange party data.
- Added: Batch Editor can now $rand & $suggest EVs.
- Added: Deleting clones from the PKM Database window now deletes clones in the save file. Box->Delete Clones works fine too.
- Fixed: Deleting clones from the PKM Database window now correctly deletes all the extra clones.
- Fixed: Gen8 BDSP save files that have an invalid patch revision value can no longer be loaded (bad rom hacks!)
- Fixed: Gen7 Inventory editing now retains the Free Space sort index when saving. Thanks @RainThunder !
- Fixed: Gen6 Hall of Fame editing now saves the TID/SID correctly.
- Fixed: Gen4 Battle Hall editing now works correctly in the Misc Editor.
- Fixed: Gen4 SaveFile PCD/PGT collection editing now shows the Lock Capsule PCD slot, resists bad slot swaps, and no longer encrypts item PGTs. Thanks @DeadSkullzJr !
- Fixed: Gen2 Mail now edits the caption message correctly. Thanks @WonderSquid !
- Changed: Drag & Drop of PKMs out of the program into Discord now works! Hold shift when dropping to immediately send the file.
- Changed: Internal refactorings to reduce allocation, increase performance. PokeCrypto, GeniusCrypto, EvoCriteria, PKX.
- Changed: Gender sprites in the main window now show colored images instead of colored strings. Looks prettier!
- Changed: Gen8 PLA encounters now generate with a more accurate RNG correlation, resulting in valid entity seeds.
- Changed: Gen8 PLA noble sprites now show more detail. Still not legal to have in your save file.
22/03/18 - New Update: (144283) [4814091]
- Added support for BDSP v1.3 save data format.
- Legality:
- - Added: Experience above level 100 is now checked.
- - Fixed: PLA Massive Mass Outbreak now correctly identify Overqwil/etc evolutions captured directly in the wild.
- Added: Batch editor can now copy properties using * -- for example, .PID=*EncryptionConstant will copy the EC to PID.
- Added: Sprites now show an orange-colored line (instead of yellow) if the Pokémon has gained an exact level amount of EXP (setting not on by default).
- Added: SWSH Trainer Editor button to unlock all Isle of Armor Diglett.
- Fixed: Gen7 Poké Bean editor now reads data correctly.
- Fixed: Showdown Set imports no longer max PP Ups for PLA imports.
22/03/01 - New Update: (64877) [4669808]
- Added support for PLA v1.1 save data format.
- Legality:
- - Added: PLA Massive Mass Outbreak encounter slot data recognition.
- - Changed: BDSP underground area6 now permits lower levels. Thanks @Meta7122 !
- - Fixed: BDSP Piplup mystery gift now verifies friendship correctly.
- Fixed: Swapping 5th party slot to boxes now behaves correctly. Thanks Burning Justice !
- Fixed: PLA/SWSH copying savedata changes now saves boolean value toggles (Box Flags). Thanks @sora10pls !
- Changed: Minor memory allocation performance improvements.
22/02/22 - New Update: (28530) [4604931]
- Added support for BDSP v1.2 save data format.
- Legality:
- - Added: BDSP glitch abuse flag is now flagged by PKHeX's legality check.
- - Added: PLA RNG correlation for encounters now added; things generated from the Encounter Database are a little bit more legal.
- - Fixed: Low level alphas now generate their moveset correctly (no duplicated moves).
- Added: Bulk Analysis (previously hidden behind the Verify Checksums button) now has its own button, and can detect clones and other value reuse.
- Added: Batch Editor can now $suggest for HeightAbsolute & WeightAbsolute. Thanks @easyworld!
- Added: Batch Editor can now $suggest certain methods by type (read BatchMods.cs). Try .SetSuggestedGanbaruValues=$suggest
- Changed: Held item combobox is now hidden for PLA format, similar to LGPE. No held items in these games even though the data field exists.
- Fixed: BDSP backup save files are now correctly detected as backups when detecting latest saves.
- Fixed: Gen2 Korean strings now save correctly.
22/02/14 - New Update: (46234) [4576401]
- Legality:
- - Changed: Height & Weight calculated values now match the game calculation perfectly. Values not matching expected values exactly are flagged.
- - Fixed: SWSH tutor moves are now illegal on PA8 entities.
- - Fixed: Gen3 Colosseum E-Reader entities now correctly generate PID/IV from the encounter database. Thanks @Dani88alv !
- - Fixed: Gen8 BDSP trade encounters now generate correct ECs from the encounter database. Thanks @architdate !
- - Fixed: Gen8 PLA evolution levels are checked for Basculegion/Wyrdeer/Overqwil (must learn suitable move). Thanks @Lusamine !
- Added: Randomizing an Alpha Pokémon's IVs now sets 3 flawless IVs.
- Added: Gen7 LGPE starter choice can now be changed in MyStatus7b. Thanks @GiftedK !
- Fixed: Startup checking for if an update is available now correctly waits for the form to be ready for the label to appear. Thanks @jdearden1 !
- Fixed: Auto Height/Weight calc checkbox now behaves better when loading and toggling state. Thanks @joeymavity !
- Fixed: Gen8 PLA showdown set imports will no longer error trying to set record flags.
- Fixed: Gen8 BDSP box names that are uninitialized will show placeholder "Box #" values in the dropdown.
- Fixed: Gen5 Funfest mission record flags for the last funfest mission type now save correctly. Thanks @Dani88alv !
- Fixed: Gen5 Battle Subway progress flags now save correctly. Thanks @Dani88alv !
- Fixed: Gen4 DP Met/Egg Location now sets correctly. Thanks @twinbee321 !
- Fixed: Gen3 Colosseum inventory now saves correctly. Thanks @Dani88alv !
- Changed: Save File memory allocation reduced; original data for backups is no longer stored in RAM. Exporting a backup will copy the original file loaded.
- Changed: Gen2-5's Hidden Power's base power is now indicated next to the type rather than on a separate line.
- Changed: Contest Stats now appear a little lower in the stats tab; same for Is Alpha / Is Noble checkboxes.
- Changed: Showdown Set parsing now accepts "Yes" for Shiny / Gigantamax regardless of case ("yEs" is valid for true). Useful for manually typed SysBot.NET users' sets :)
22/02/08 - New Update: (35837) [4530167]
- Legality:
- - Added: GVs are now checked for legality.
- - Fixed: Min Move Count now considers purchased moves as able to skip as level up moves. Thanks CC6174 !
- - Fixed: Alphas now check flawless IV count correctly. Thanks @Atrius & @Lusamine !
- - Fixed: Alphas from Landmarks are now correctly checked for their Alpha Move (or lack thereof).
- - Fixed: Gen4 Minimum Sheen check now allows Haircut to give less sheen. Thanks @edo9300 !
- - Fixed: Gen1 Catch Rate now matches better for special Static Encounters that vary across games. Thanks @MrPerson0 !
- Added: Sprites for PLA are now all shown with the circular mugshot style instead of partial old & new sprites.
- Added: MoveMastery can now be suggested via the batch editor commands.
- Fixed: Gen8 SWSH TR flag move names now display correctly. @sora10pls !
- Fixed: Gen8 PLA clothing blocks are now labeled. Thanks @sora10pls !
- Fixed: Gen8 PLA showdown set imports no longer set PP Ups, and now set mastery flags.
- Fixed: Gen7 TID format display for past gen origin now shows the G7ID correctly. Thanks @NotaInutilis !
- Fixed: Gen4 Pt Event Flags now load correctly for Spanish. Thanks CJ009 !
- Fixed: Gen3 Colosseum saves now load correctly. Thanks Solarc !
- Fixed: Folder Browser for backup saves now loads files correctly.
- Changed: Gen8 PLA species that are unavailable in-game no longer show up in the species dropdown (similar to LGP/E, BDSP).
- Changed: Gen8 PLA Height & Weight values now update cleanly, and set the HeightCopy value if Auto is checked. Thanks @sercho80 !
- Changed: Gen8 PLA inventory edits now only show the amount of unlocked inventory slots. Thanks @NinFanBoyFTW !
- Changed: Gen8 PLA inventory storage now can Give All. Thanks Kiki.Z !
- Changed: SAV Editor buttons are now taller & wider to be more friendly for translations. Thanks @sercho80 !
- Changed: Event Flag editors for Gen7+below now display the event flags in a datagrid instead of separate controls (performance). Thanks @edo9300 !
- Changed: Default startup game version is now Legends: Arceus if no save is opened (changed from BD/SP).
- Changed: Updated Chinese translation files. Thanks @easyworld !
22/02/04 - New Update: (32948) [4494330]
- Introducing Pokémon Legends: Arceus support! Thanks @SciresM, @sora10pls, @Lusamine, @architdate, @ReignOfComputer for troubleshooting!
- - Initial Legality Checking is provided. Please refer to the forums when reporting legality issues for PLA parsing.
- - Save Data is similar to SW/SH; a pokedex, trainer, inventory, and block data editor are provided.
- - Encounter legality has been reverse engineered & modeled to pre-compute possible met locations for overworld interactables.
- Added:
- - Gen8 BDSP wild encounters are now generated with RNG patterns matching the game. Thanks @Lusamine !
- - Gen8 BDSP xorshift RNG implemented, now available for PKHeX.Core referencing.
- - Gen8 BDSP zone unlock cheat to fly to all locations. Thanks @sora10pls !
- - Gen8 BDSP named constant for BDSP swarms for the event editor. Thanks @MewTracker !
- Changed:
- - Internal asset loading speed has been improved (more friendly to the runtime's garbage collector).
- - Internal value read/writes now work correctly for Big Endian runtimes.
- - Internal value read/writes are now allocation-free; memory allocation for strings has been reduced drastically too.
- - Clicking stat labels now changes nature amplification. Refer to the shortcut list for more info.
- Fixed:
- - Gen8 BDSP in-game trades are now checked for EC/PID legality.
- - Gen4 DPPt Swarm & Safari seeds now read/write correctly. Thanks @edo9300 !
- - Gen4 feeding a single low-quality poffin no longer indicates invalid sheen. Thanks Jollygator !
- - Gen3 Item quantity reads now behave correctly. Thanks @MichiS97 (dev build bug)!
- - Gen3 Shadow Monitor now reads all species correctly. Thanks @Mutty99 !
- - Gen2 Odd Eggs and E-Speed Dratini now recognize correctly prior to transfer. Thanks @N-Harmonik !
- - Gen1/2 Evolution chains now return a more accurate min/max level for each stage. Thanks @Ninjistix !
- - Handled more oddball encounters. Thanks @Skadiv & @Ninjistix !
22/01/01 - New Update: (114030) [4461382]
- Legality:
- - Added: Hatch Counter legality checking.
- - Added: Contest Stat Sheen legality checking (roughly compared to amount of other contest stats gained).
- - Added: Munchlax encounter slots for DPPt and BDSP are now checked for Trainer ID legality.
- - Fixed: BDSP Gigantamax is now flagged illegal correctly.
- - Fixed: BDSP Meister Magikarp now recognized correctly.
- - Fixed: BDSP bred (egg) ball legality for Great Marsh exclusives now require Safari Ball.
- - Fixed: BDSP underground level ranges for Area 6 revised per National Dex early acquisition.
- - Fixed: BDSP encounter searching no longer considers SWSH TR flags when checking if a move is learnable.
- - Fixed: BDSP encounter slots that cannot obtain their Hidden Ability via Radar or Ability Patch are now flagged. Thanks @Lusamine !
- - Fixed: BDSP impossible egg hatch locations are now recognized (some version exclusives). Thanks @Lusamine & @sora10pls !
- - Fixed: BDSP location crossover surf encounters now recognized as valid. Thanks @sora10pls !
- - Fixed: SWSH "restaurant" memory now recognized as legal (Circhester restaurant). Thanks @Lusamine !
- - Fixed: Sketched moves are now properly flagged if the move is out of range for the game the PKM is present in.
- - Fixed: Gen4 Shedinja now recognizes correctly with Cute Charm, and permits Sport Ball due to HGSS ball quirk. Thanks @Lusamine !
- - Fixed: Gen1/2 Tradeback Catch Rates are now flagged if the PKM has Gen2 moves and the unmodified Gen1 catch rate. Thanks @soopercool101 !
- Added: SWSH Gen8 localization for Memories to display memories as they appeared in the memory's original game.
- Added: BDSP Dialga/Palkia & Roamer reset cheats to the Misc Editor. Thanks @sora10pls !
- Added: BDSP In-Game Trainers can now be marked as defeated in bulk in the Misc Editor.
- Added: BDSP savedata blocks are now editable for Battle Tower / RandomGroup / Union Room / etc.
- Added: BDSP inventory edits now acknowledge the item sort order.
- Fixed: BDSP inventory edits no longer set incorrect "NEW" flag values for items that have no quantity.
- Fixed: BDSP encrypted pb8 files are now recognized correctly when opened in the program.
- Fixed: BDSP daycare no longer indicates gained EXP (can't gain EXP from daycare).
- Fixed: BDSP eggs dropped into the program no longer partially set trainer data.
- Fixed: BDSP Pokedex clearing all entries now clears all form and language entries.
- Fixed: BDSP event work values can now be properly edited in the GUI. Thanks @MewTracker !
- Fixed: Gen4 Rival String can now be edited correctly.
- Fixed: Inventory editing can now filter out illegal items for giving all. SWSH no longer gives all illegal dynamax crystals.
- Fixed: Program Icon now appears correctly on some generic subform windows. Thanks @murrty !
- Fixed: Clearing Contest Stats now resets to the matched encounter template's minimum values.
- Fixed: Hint/Warn image no longer has stray opaque pixels. Thanks @sora10pls !
- Changed: Toggling egg state in the PKM Editor GUI will now update met locations and hatch counters correctly.
- Changed: Key Items with changed names (in BDSP) now reflect the BDSP name in prior games (DPPt).
21/11/27 - New Update: (156702) [4347352]
- Legality:
- - Fixed: Shiny Roamers now recognized correctly (shiny type preservation with fakeTID).
- - Fixed: BDSP Milotic Prism Scale evolution is now disallowed. Thanks @sora10pls !
- - Fixed: BDSP Magnezone evolution via Thunder Stone instead of level up is now recognized correctly. Thanks @NinFanBoyFTW !
- - Fixed: BDSP Ribbon indexes for Pioneer and Twinkling Star now recognized correctly. Thanks @sora10pls !
- - Fixed: BDSP Ribbon legality revised to recognize all legal ribbons in BDSP. Thanks @Kermalis & @sora10pls !
- - Changed: BDSP TrainerID + SecretID both being zero is now illegal. Also int.MaxValue due to RNG quirks.
- - Added: Setting to flag entities with zero Height & Weight when appropriate; default severity is Fishy.
- Added: Height & Weight randomization in the PKM Editor GUI by control clicking the numeric entry.
- Added: BDSP Poffin Editor; hit Give All to give super poffins that max out contest stats in a single poffin.
- Added: BDSP received Sticker (Ball Capsule) editor; max quantity of a given sticker is 99.
- Added: BDSP Misc editor to toggle various cheats active (meeting all Underground NPCs, unlocking Shaymin/Darkrai events on latest patch).
- Added: BDSP Battle Team slots are now indicated in boxes, similar to Gen7. If teams ever get locked, then they will show the lock symbol too!
- Added: BDSP Safari RNG seed and roamer details now editable in the Encounter block.
- Added: BDSP Mystery Gift receiving records are now editable in the MysteryRecords block.
- Added: BDSP Player Misc data is now editable in the Player block.
- Added: BDSP Underground stats are now editable in UgCount block.
- Added: BDSP BP is now editable in the Trainer Info editor. Thanks @Synthlight !
- Fixed: BDSP game clear record is no longer clamped to 999,999. Please double check this record in the Trainer Editor and set to YYYYMMDD if needed.
- Fixed: BDSP genderless species are now registered to the Pokédex with both gender flags instead of just Male. Thanks @sora10pls !
- Fixed: BDSP Work values are now unclamped. Thanks @Bl4ckSh4rk !
- Fixed: BDSP custom system flag set now sets the correct flag value.
- Fixed: BDSP v1.1 save backups are now loaded into the File Browser (CTRL-F) correctly like v1.0 saves.
- Fixed: BDSP affixed ribbon values (not mutable in game, still present) now saves correctly in the Ribbon Editor.
- Changed: BDSP Box Backgrounds cropped for better viewing. Thanks @sora10pls!
- Changed: BDSP met locations now indicate sublocations if applicable for that zone ID. Met Location drop-downs now auto-size their width to fit all text.
- Changed: BDSP egg toggling via the PKM Editor GUI now sets the Nicknamed flag data according to matched encounter data.
21/11/21 - New Update: (50606) [4190650]
- Legality:
- - Fixed: TM learn permissions now reference the correct move IDs.
- - Fixed: Elemental Beam type tutors now permitted for PB8 formats.
- - Fixed: Revised roamer met location list to match dumped roam locations.
- - Fixed: Feebas and Burmy encounter matching now behaves as intended.
- - Fixed: Ball legality for bred Fossil species restricted to only Poké Balls.
- - Added: Affixed Ribbon value is now checked for PB8 format.
- - Added: Minimum hatch counter values are now checked for all formats.
- Added: Clicking the Hatch Counter label now toggles min/max suggested values, similar to clicking the Friendship label shortcut.
- Added: BDSP saves now indicate the (computer local time) saved time from the save file. Backups are now saved with this detail.
- Added: BDSP Underground player inventory editor. Statues, goods, items, etc.
- Added: BDSP Specialized Trainer Info editor is now used for BD/SP instead of the old generic form.
- Added: BDSP Fashion unlock flags are now in the Event Flag editor.
- Added: BDSP PB8<->PK8 Incompatible conversion path is now available if opted in via program settings.
- Added: BDSP Daycare details including the RNG seed are now shown, similar to prior games.
- Fixed: BDSP poffin ingredient berries are now able to be edited via the player Inventory Editor.
- Fixed: BDSP inventory editor now deletes item slots that have been deleted via the GUI editor.
- Fixed: BDSP Blank PB8 files (encounter templates) are created with AffixedRibbon=-1, along with the met locations.
- Fixed: BDSP Batch editor now works for the PB8 format.
- Fixed: BDSP encounter database now yields Shining Pearl egg encounters.
- Fixed: Toggling egg state in the PKM Editor GUI now sets the correct met location values.
- Changed: Editing the HT_Friendship value for eggs in the Memories editor is now possible if it is a HT-handled egg, rather than being greyed out.
21/11/19 - New Update: (41229) [4140044]
- Introducing Brilliant Diamond & Shining Pearl Support! Thanks @SciresM, @sora10pls, @Lusamine, @architdate, @ReignOfComputer for troubleshooting!
- - Initial Legality Checking is provided. Please refer to the forums when reporting legality issues for BDSP parsing.
- - Bag editing, Pokédex, and Event Flags, Trainer Info editing is provided. More editable values can be found in the Block Data editor.
- - Things to note: no transferring SWSH/HOME<->BDSP, roamer PIDIV correlation, no memories. Future commits may tighten legality checks.
- Legality:
- - Gen1: Lessened severity of missing moveslots to Fishy, if the Pokémon has been sufficiently leveled up (can skip by leveling up multiple times).
- - Gen2: Crystal eggs hatched inside the 2nd floor of the Pokécenter are now correctly recognized. Thanks Freezing Dart!
- - Gen4: Cute Charm frame proc yielding now emits the correct seed, and identifies the correct encounter slot value. Thanks @valthisse !
- Added: More event flag data labels. Thanks @FeralFalcon! Event data can now be filtered via settings if you only want to see rebattle, etc.
- Added: Rival name changing for all games that didn't yet have it. Thanks @FeralFalcon!
- Changed: .NET 6 support added for WinForms builds. .NET Framework 4.6 build is still the main build option.
- Changed: Starting up the program with command line arguments (or opening via an associated file) will more intelligently source a parter sav/pk.
- Changed: Exporting a backup save file has been moved to the SAV tab, and the Export main has been merged in with the parent Export SAV item.
- Changed: Gen1/2 mainline save files now indicate if they are VC era or GB era in the program title.
- Changed: Gen2 modifying Hidden Power type now maximizes IVs for that type.
- Changed: Gen3 egg flag being set from the GUI now adapts the language as well to match the Gen3 quirk.
- Fixed: Box Report exporting to CSV no longer causes errors if a large amount of data is being written. Thanks GLBBx303!
- Fixed: Gen6 Secret Base giving all decorations now correctly gives all. Was overwriting Pokepuffs :(
21/10/01 - New Update: (129061) [4098815]
- Legality:
- - Added: Gen8 memory checks for unobtainable values. Thanks @Lusamine, @skadiv!
- - Changed: Ball legality rules updated for Gen7 starters to account for the new Gen8 raids.
- - Changed: Gen1 Tradeback handling reworked for less overhead.
- - Fixed more met locations for XD shadow encounters. Thanks @LegoFigure11!
- - Fixed: Gen4 Cute Charm PIDs correctly emit RNG frames for encounter matching purposes. Thanks @pp-theSlayer!
- - Fixed: Gen2-4 eggs are now permitted to know HM moves while still an egg. Thanks Atrius!
- - Fixed: Gen3 Event gifts are now more thoroughly checked for nicknames. Thanks @FeralFalcon!
- - Fixed: Gen3 Granbull & Vibrava/Flygon are now correctly handled for their ability bit values.
- - Fixed: Gen2 GS eggs in PK2 format are now allowed to have egg moves. Thanks Psyduck!
- - Fixed: Gen2 Red Gyarados fixed IVs & gender are now required to match the encounter.
- - Fixed: Egg move source indication now shows the correct message in the legality printout.
- - Fixed: Volt Tackle is now flagged correctly for non-Pichu eggs :)
- Added: Can now specify how the PKM Database is sorted when it loads.
- Added: Gen3-5 swarm data can now be edited in the block editor. Thanks @Bl4ckSh4rk, @SpiredMoth, @sora10pls!
- Added: Gen3 Walda Wallpaper values can now be edited in the block editor.
- Changed: PKM Editor form selection is now slightly wider.
- Changed: Encounter Database now shows single Pokéball types if the encounter can only have one type.
- Fixed: Gen3 save files that have only been saved once now load more often (empty backup detection fixed).
- Fixed: Gen3 XD purification values are now read correctly on Japanese save files.
- Fixed: Gen3 Colosseum Fateful encounter flag is now read correctly.
- Fixed: Gen5 BW entree forest randomizing now prevents B2W2-only templates from being loaded. Thanks @SunakazeKun!
- Fixed: Event Const editor loads consts with a current value of zero correctly if it has a defined name. Thanks @CanoeHope!
- Fixed: Batch Editor no longer processes saved pk files twice.
- Fixed: PKM Database searching a specific format now filters correctly.
- Updated: Chinese translation updated. Thanks @liketolike!
21/08/06 - New Update: (134592) [3969754]
- Legality:
- - Added: Gen8 Sociability legality checks. Thanks @Lusamine!
- - Added: Gen8 crossover weather checks have been added. Thanks @Lusamine & @Skadiv!
- - Added: Gen6/8 Memory checks have been improved a little. Thanks @sora10pls & @Lusamine!
- - Added: Gen6/7 Vivillon are now flagged if the form cannot be found in the trainer's 3DS Console Region. Thanks @Lusamine!
- - Changed: Wordfilter checking speeds improved drastically by caching created regexes.
- - Changed: Gen8 Master Rank ribbons now permitted again for legends due to Season 10 rules.
- - Changed: Inaccessible wild encounters and raid dens have been removed from the encounter database.
- - Fixed: Gen8 brilliant aura boosts are only permitted if the met level is the maximum allowed for that encounter.
- - Fixed: Gen8 Fog encounters are now required to be at least level 60 due to weather not being available until postgame. Thanks @Lusamine!
- - Fixed: Gen4 Pokéwalker encounters are now allowed to be recognized with CuteCharm if the TID/SID is appropriate.
- - Fixed: Gen4 Bug Catching Contest slots are now loaded completely. Thanks jazpersona!
- - Fixed: Gen2 Dark Cave swarm slots (Dunsparce) are now loaded correctly. Thanks Purrmewtations!
- - Fixed: Gen1 Yellow encounters now compare the correct catch rate values when not yet transferred.
- - Fixed: Gift egg encounters are now checked for their egg locations correctly across all generations. Thanks @sora10pls!
- - Fixed: Variable form encounter templates like Unown and Vivillon are now handled correctly.
- Added: Gen8 Sociability for individual Pokémon can now be edited in the Memories sub-editor.
- Added: Gen7 Battle Agency participant data can now be viewed as a misc slot.
- Added: Gen5 GTS and Fused stored data can now be viewed as a misc slot.
- Added: Gen4 Pokéwalker stored data can now be viewed as a misc slot. Thanks @Atrius97!
- Added: Batch Editor can now be extended via plugins by adding custom code for filters / modifications.
- Added: Batch Editor filters can now be used in the Encounter Database (similar to the PKM Database advanced search).
- Added: PKM File Naming format has been extracted, and can now be replaced by a plugin to name files differently.
- Added: Program settings added for the Encounter Database, to try to make viewed templates match the currently loaded data.
- Added: Program settings added for the PKM Database, to prevent loading of backups and extra locations to the database.
- Added: Program settings added to allow converting backwards and across incompatible generations.
- Fixed: Turkish operating system languages no longer fail to launch the program.
- Fixed: Hovering over slots no longer errors on Linux platforms.
- Fixed: Deleting slots in the PKM Database is now handled correctly.
- Fixed: Gen8 encounter slot templates now load legally when viewed, using the Overworld RNG correlation. Thanks @Atrius97!
- Fixed: Gen6 female trainer appearance customization for lip color and freckles now save correctly. Thanks @sora10pls!
- Fixed: Gen6 trainer sprite is now shown for XY again, and the PGL photo can be saved correctly again.
- Fixed: Gen6 Super Training flags for PKM data is now localized correctly.
- Fixed: Gen5 C-Gear Skin images now import correctly. Thanks @Snaid1!
- Fixed: Gen5 Dream World slots now have the correct gender restrictions. Thanks @Lusamine!
- Fixed: Gen4->5 transfer names with halfwidth characters and symbols are now correct.
- Fixed: Gen4 HGSS frontier data is now accessed correctly via the Misc Editor.
- Fixed: Gen4 Pokédex seen flags are now set correctly when writing new data to the save file.
- Fixed: Gen3 XD - Setting tons of non-XD encounter species will no longer cause an error with the Memo being full.
- Changed: "Encounter Type" value saved by Gen4 encounters has been renamed to "Ground Tile" to match its actual function.
- Changed: Most popup windows like the Encounter Database are now closed when a new save file is loaded, rather than remain open.
- Changed: Gendered species (like Jellicent) now show their genders in the Encounter Database.
- Changed: Cyber Gadget quirk workaround for completing the Pokédex in Gen6/7 is no longer necessary (defunct service), and has been removed.
- Changed: Updated Chinese/Spanish/German translations. Thanks @easyworld, @ajtudela, @M1atias, @Korados, @JDox!
21/05/21 - New Update: (166981) [3835162]
- Fixed: Gen1-5 Money/Coin editing, no longer sets it to 0.
- Fixed: Showdown set imports sometimes failing (Gender, Nickname)
- Fixed: Country/Region display in the PKM Editor and Box Report now display correctly.
21/05/19 - New Update: (4867) [3668181]
- Legality:
- - Added: Gen8 Distribution nests / met locations are now checked according to date of availability (epoch). Thanks @Lusamine!
- - Added: Gen8 nests that are inaccessible without enough badges are now checked for low level hosted raids. Thanks @Lusamine!
- - Fixed: Gen6 Strongest Trainer memories are now allowed for Maison-banned entities due to in-game party bug. Thanks Fetrim & @sora10pls!
- - Fixed: Gen2 Stadium gifts are now correctly flagged for having a female OT. Thanks @FeralFalcon!
- - Fixed: Egg move sources are now indicated correctly (inherited, egg move, initial, etc).
- - Fixed: Gen8 Shedinja affixed ribbon is now handled correctly. Yay bugs!
- Added: Program settings now have more customization options, including legality parse preferences.
- Removed: 40x30 sprites are now no longer toggleable; the current-gen 68x56 sprites are the way forward.
- Changed: Any 40x30 sprite boxes in the UI have been upsized to 68x56.
- Changed: Program settings are now saved as json next to the exe, rather than xml in a hidden user folder.
- Changed: Plugins failing to load will now indicate a more detailed error message.
- Changed: Minor internal refactorings to improve performance.
- Changed: String handling for special game characters has been improved (namely, Farfetchd).
- Changed: Gen2 Stadium PKM files detecting language format has been improved. Thanks @suloku!
- Fixed: Gen3 Colosseum/XD saves now show the correct max money / item quantities. Thanks @CanoeHope!
- Fixed: Met location list now behaves properly when loading a different generation save file.
- Fixed: PKM Database no longer fails to load when a savefile has an invalid party count.
21/04/06 - New Update: (87827) [3663314]
- Legality:
- - Added: New Egg Move order validation logic. Yay inheritance legality checking! Thanks @Lusamine!
- - Fixed: Ability Patched wild encounter slots no longer show as invalid if they have the curry mark. Thanks Irina!
- - Changed: Smeargle is no longer allowed to know Thousand Arrows/Thousand Waves in Gen6 (unreleased). Thanks @DaWoblefet!
- Added: Gen2 Legendary Beast event flag resets. Thanks @CanoeHope, and @brianard52 / @Lusamine for testing!
- Changed: The Event Flag editor logic for Gen2-7 has been rewritten, shouldn't notice any difference.
- Changed: Hovering over a slot now shows the summary for 30+ seconds rather than 5 seconds, or until you move your mouse away.
- Fixed: Gen3 saves no longer randomly corrupt when saving Misc Edits or Trainer Info. Thanks @Kermalis
- Fixed: Gen3 saves no longer cause errors when opening some editors, and now load correctly. Thanks @AlamosIT, Sockcos!
21/04/01 - New Update: (15825) [3575487]
- Legality:
- - Added: Generation 8 Overworld RNG seed legality. The wandering encounters have detectable origins!
- - Updated: Mystery Gift & GO Legality encounter data.
- - Changed: HOME gifts are now allowed with SID > 0.
- - Changed: Updated Ribbon rules for Master Ribbon & non-mythical legends.
- - Changed: Gen3 Shadow Pokémon now generate with correct shadow lock data.
- - Fixed: Gen6/7 Form Argument values are now handled correctly. Thanks @Lusamine!
- - Fixed: Gen3 ability bit mismatching rules for in-game trades have been fixed.
- Added: Gen8 Affixed Ribbon/Mark can now be changed in the Ribbon Editor.
- Added: Gen7 LGPE now shows Alolan form Height/Weight records in the Pokedex.
- Added: Hovering over MGDB and Database slots now shows a summary of the data.
- Added: Hovering over a box/party slot now shows some legality origins of the data.
- Added: Bulk Legality analysis now flags duplicate HOME tracker values.
- Added: Block Editor can now be used for gen5-7 saves to change more values directly.
- Added: Gen3 battle video data can now be imported via drag-drop (no BV3 exporting currently via GUI).
- Changed: Gen3 save files for RS/E/FRLG are now treated as separate classes.
- Changed: Minor internal refactorings to improve performance.
- Fixed: Gen6 event flags now are indexed correctly. You shouldn't notice any difference.
- Fixed: PKM conversion from future -> Gen1/2 now retains IV proportions correctly.
21/01/30 - New Update: (156366) [3559662]
- Legality:
- - Updated Mystery Gift & GO Legality encounter data.
- - Fixed: Matching encounters where a PKM can be one of many types of encounters (based on its current values) has been improved.
- - Fixed: Gen4 HM move recognition has been fixed. Oops!
- - Added: Gen8 Weather Permissions for Wild Area Static Encounters is now present in metadata (Mark values permitted). Thanks @Lusamine!
- - Added: Gen1 Verbose legality outputs now include the met location (even though it is never stored) based off the matched encounter.
- - Changed: Gen2 Headbutt data is now initialized & stored more efficiently.
- Added: More Event Flag descriptions for past generation games. Thanks @CanoeHope!
- Added: Gen4 Battle Revolution saves can now specify the TID/SID of the currently loaded save entry to unlock Box data access in-game.
- Added: Move.cs enumeration has been added to the PKHeX.Core API.
- Added: Save File detection can now be extended by adding recognizers to SaveUtil.Handlers (via plugins or code).
- Changed: IV/EV/AV shortcuts have been adjusted slightly to add more functionality. Refer to shortcuts (IVs unchanged).
- Changed: Some internals have been refactored for better performance / clarity (string conversion, encounter matching, loading).
- Fixed: Gen8 Templating fields with a blank PKM on a not-latest DLC SW/SH will load the correct maximum species and proper PP count.
- Fixed: Gen8 Battle Ready (Battle Version) marking now updates its opacity when the battle version is changed.
- Fixed: Gen7 GameSync ID now shows up in the SAV tab, as intended.
- Fixed: Gen4 Battle Revolution saves with a deleted first slot save entry now loads correctly.
- - Fixed: A few recognition bugs have been fixed. Thanks @Lorenzooone!
- Batch Editor:
- - Added: Batch Editor can now filter with >/≥ and </≤ operators, improved from just != and =.
- - Added: Ribbon and Mark count properties added. Can now sort boxes by these counts!
- - Changed: TID/SID properties renamed; when using 16-bit trainer IDs, use TID16/SID16.
- Changed: Gen9 S/V no longer show the Square Shiny icon, as Xor0 no longer indicates differently in-game.
- Changed: Gen9 S/V raid parameter editor "Set All 6 Star" changed to "Copy current values to Other Raids".
- Changed: With the update to .NET 7, some features have been rewritten for better performance, or for better usage.
- Changed: GUI translations updated. Thanks @Manu098vm, @Kitcham, @easyworld, @jimmyorz, @Bl4ckSh4rk, @ppllouf, @butaneeeee!

View file

@ -0,0 +1,518 @@
PKHeX - By Kaphotics
http://projectpokemon.org/pkhex/
22/12/18 - New Update: (238183) [6182986]
- Gen9 SV Added wandering/crossover logic for wild encounter location detection.
- Gen9 SV Added weather/time/personality Mark logic for wild encounters.
- Gen9 SV Removed inaccessible egg moves.
- Gen9 SV legality quirks ironed out, detection should be pretty reliable now.
- Added: SV 7-Star Raid record editor added. Thanks @sora10pls!
- Added: Form Argument numeric up-down now has a label in the PKM Editor.
- Fixed: Gen3 GC memory cards with multiple save files now read correctly again. Thanks @TheZett!
- Changed: Updated translation files. Thanks @easyworld, @Yarkis01, @Korados
22/12/01 - New Update: (188923) [5944803]
- Added support for Scarlet & Violet 1.1.0.
- Legality:
- - Fixed: Gen9 banned species list updated.
- - Fixed: Gen9 TR flags now check pre-evolutions if the current evolution does not have a required move flag.
- - Fixed: Ability patch reverting check updated to account for single-evolution-chain cases.
- Fixed: Showdown Set imports without a Tera Type will default to the species' first type.
- Fixed: WC9 now generates with correct SID7. Thanks @Manu098vm !
- Fixed: Associating a pk9 file to PKHeX.exe now starts up properly.
- Fixed: Form argument suggestion for Mankey & Pawniard, when evolved to max evo stage, added.
- Changed: Updated translation files. Thanks @easyworld, @Yarkis01
22/11/26 - New Update: (98776) [5755880]
- Legality:
- - Fixed: Encounter->PK9 small fixes added.
- - Added: Distribution Raids (Eevee) now recognized.
- - Fixed: Hidden Ability patch checks now behave correctly.
- - Fixed: Minor tweaks to tera type and encounter recognition.
- - Fixed: Gen8 technical records are checked correctly again.
- - Fixed: Maushold / Dudunsparce %100 evolution calc fixed (From %25).
- - Fixed: Gen9 obededience level for gift box legends now checked correctly (nonzero).
- - Still Pending: Wandering/Crossover encounter locations & marks (next release!)
- Added: Form Argument now has a label if the Form combobox is not being shown.
- Added: Cheat button to unlock all fly locations, and collect all stakes (sublegendary event). Thanks @sora10pls!
- Fixed: Gen9 raid seeds can now be correctly set via the GUI.
- Fixed: Gen9 xyz coordinates now read/write correctly instead of swapping y/z coordinates. Thanks @ih8ih8sn0w !
- Fixed: Gen9 Pokédex set now applies seen forms, and the Seen All / Caught / Complete cheats now behave as intended for all entries.
- Changed: Updated translation files. Thanks @easyworld, @manu098vm, @kitcham, @egzn !
22/11/24 - New Update: (69113) [5657104]
- Introducing Scarlet & Violet Support! Thanks @SciresM, @sora10pls, @Lusamine!
- - Initial Legality Checking is provided. Please refer to the forums when reporting legality issues for SV parsing.
- - Save Data is similar to SW/SH; a pokedex, trainer, inventory, Raid, and block data editor are provided.
- - Encounter legality has been reverse engineered & modeled to pre-compute possible met locations for overworld interactables.
- Added:
- - Gen9 SV wild encounters are now generated with RNG patterns matching the game. Thanks @Lusamine !
- - Gen9 SV zone unlock cheat to fly to all locations. Thanks @sora10pls !
- - Gen9 Tera Type is indicated on the Stats page as well as mini sprite previews. Clicking the Original label will toggle the original type.
- - Gen9 Obedience Level tracks the level the entity arrived with the current handler.
- - Gen4 Ranch support extended. Thanks @Zazsona !
- - Ribbon Editor now sorts and highlights valid ribbons that can be applied.
- Changed:
- - Gen3/4 LCRNG reversal algorithms improved (50x faster!). Thanks @StarfBerry (Parzival)!
- - Display precision of Height/Weight float values now shows a round-trip equal value instead of potentially truncating decimals.
- - Clicking stat labels now changes nature amplification. Refer to the shortcut list for more info.
- - Settings window can now be resized.
- - Gen3 mGBA saves with new RTC footer now are recognized correctly. Thanks @Bl4ckSh4rk !
- Fixed:
- - Too many things to list! Thanks everyone who has highlighted issues / contributed fixes in the past 2.5 months!
22/09/13 - New Update: (315677) [5587991]
- Legality: Fixed small regressions in move / ribbon / memory legality checks.
- Changed: RNG pidiv detection speed drastically improved. Not that you'd really notice since everything is already fast.
- Fixed: BW personal data API has been regenerated to fix previous corrupted return values.
- Fixed: Colosseum/XD playtime values now set the Hour value correctly.
- Fixed: Gen1 OT name now writes the final terminator 0x50 when setting a 7-character-long trainer name.
22/08/31 - New Update: (52021) [5272314]
- Legality:
- - Refactored move validation and evolution branching to better handle sidegame alterations.
- - Refactored some data structures for faster program performance.
- - Refactored some validators for faster performance (ex. Ribbons).
- Added: More event flag/constant names. Thanks @tastymeatball and @CanoeHope !
- Added: Advanced tab of PKM/MGDB/Encounter Database now shows a batch editor command builder.
- Added: Can now copy a folder path prior to importing/exporting individual box data entities. Thanks @berichan !
- Changed: PKM Editor ball selection window is now sorted by legality. Setting available to revert to ordered by ball ID.
- Fixed: Event Flag editor custom work value now clamped to correct maximum. Thanks @PKMWM1 !
- Fixed: Colosseum/XD playtime values now read & write correctly. Thanks @trigger-segfault !
- Fixed: Colosseum format entities now read/write friendship correctly.
22/06/26 - New Update: (224234) [5220293]
- Legality:
- - Added: Current Handler legality for the save file is now checked. Having incorrect Handling Trainer data will be flagged.
- - Added: Marking legality now flags illegal marking values that can cause crashes in all Gen8 games (not yet patched).
- - Fixed: HOME transfer legality checks improved; now checks for unobtainable cross-transfer ribbons & contest stats.
- - Fixed: Shared egg moves for HOME transfers now checks the current format rather than the source where it originated from.
- - Fixed: Gen8 Mystery Gifts with restricted language / HOME gifts are now correctly recognized.
- - Fixed: Gen8 BDSP Great Marsh transfers to SWSH now are correctly recognized (ball).
- - Fixed: Contest Stat Sheen legality checks relaxed; really bad poffins are bad. Thanks @Atrius97 & @Lusamine !
- Added: Gen7 can now use the Heal box action (to fix PP / status / etc).
- Added: Gen2 Crystal now has more GB Mobile Cable Color values to use.
- Added: Gen6/7 encrypted PKM files can now drag correctly.
- Added: Gen4 now shows all roamers in the Block editing interface. Thanks @ShadyRelapse-PP & @sora10pls!
- Added: BizHawk "SaveRAM" files now recognized similar to DeSmuME "dsv" save files with an appended footer region.
- Fixed: Gen8 PLA Initial mastery move flags are now correctly applied for varied level wild encounters when created from the database.
- Fixed: Gen8 Mystery Gifts now show up correctly in the Mystery Gift Database (filtering was inverted).
- Fixed: Gen8 PK8/PB8 type differentiation enhanced; dragged files no longer misidentify as the game-format they were encounterd in.
- Fixed: Gen8 Dynamax Level being >10 now corrects itself when loading to the PKM Editor rather than erroring.
- Fixed: Gen5 Entree Forest now saves correctly. Thanks @Mutty99 !
- Fixed: Gen4->Gen5 transferring with HM moves now correctly removes the HM move.
- Fixed: ShowdownSet no longer yields empty move slots when creating a new text string (regression in last release).
- Fixed: PKM Database IV/EV filtering now returns the correct results (filtering was inverted). Thanks skai_louie !
- Fixed: Non-plugin dll's in the plugin folder will be ignored rather than stopping other plugins from loading.
- Changed: German translation improved (GUI+Legality). Thanks @Bl4ckSh4rk !
22/06/01 - New Update: (87327) [4996059]
- Legality:
- - Added: HOME 2.0.0 support. Thanks @SciresM, @sora10pls, @Lusamine, & all contributing via the Discord server!
- - Changed: Revises legality checks to account for traveling between the three game islands (PLA/BDSP/SWSH)
- - Changed: Evolution History is now tracked in the Legality parse for specific contexts, rather than by generation only.
- - Fixed: More Gen1/2 tradeback edge cases are handled correctly.
- Added: HOME 2.0.0 conversion mechanisms between the three formats.
- Added: HOME 2.0.0 flexible conversion options to backfill missing data when converting from SW/SH back to PLA/BD/SP.
- Added: HOME 2.0.0 abstractions for HOME data storage format (EKH/PKH format 1, aka EH1/PH1).
- Added: `PKM` now exposes a `Context` to indicate the isolation context for legality purposes.
- Added: Gen8 BDSP misc editor can now unlock Arceus encounter same as Darkrai and Shaymin. Thanks @sora10pls!
- Fixed: Gen5 C-Gear Skins with incorrect file formats (not 32bit argb) show an error dialog rather than crash-erroring.
- Fixed: Gen5 Entree Forest/Misc5 out-of-range values no longer throw an error when the editor opens.
- Fixed: Loading a PKM while viewing an extrabyte index now correctly loads the new extrabyte value.
- Fixed: Gen8 PLA Initial mastery move flags are now suggested correctly for edge cases.
- Fixed: PKM Editor GUI controls now better aligned/sized with similar controls (ex: OT editing).
- Fixed: Drag & Drop now works correctly within the program. Still recommended to use ctrl/shift hotkeys!
- Removed: HaX mode can no longer change Stat_Level separately from Current Level. Set it via the batch editor instead.
- Changed: Enhanced the Gen1/2 Stadium save detection to now detect correctly if no team data has been set.
- Changed: Italian translation improved (GUI+Legality). Thanks @Manu098vm !
22/05/08 - New Update: (94641) [4908732]
- Legality:
- - Added: PLA move mastery/purchased flags are now legality checked thoroughly. Thanks @Lusamine & @Atrius97 !
- - Added: PLA event gifts are now checked for their date obtained.
- - Added: BDSP Darkrai & Arceus encounter data.
- - Fixed: Gen4 Roamers now allowed in Route 45 if the tile it was encountered on is not water.
- - Fixed: BDSP/PLA encounters are now flagged if they have a SWSH Mark.
- Added: Gen3 RSBox Japanese save files & memory cards are now supported. Thanks @SynapseProperty !
- Added: Gen2/3 Mail Editor now allows swapping mail slots if you rearrange party data.
- Added: Batch Editor can now $rand & $suggest EVs.
- Added: Deleting clones from the PKM Database window now deletes clones in the save file. Box->Delete Clones works fine too.
- Fixed: Deleting clones from the PKM Database window now correctly deletes all the extra clones.
- Fixed: Gen8 BDSP save files that have an invalid patch revision value can no longer be loaded (bad rom hacks!)
- Fixed: Gen7 Inventory editing now retains the Free Space sort index when saving. Thanks @RainThunder !
- Fixed: Gen6 Hall of Fame editing now saves the TID/SID correctly.
- Fixed: Gen4 Battle Hall editing now works correctly in the Misc Editor.
- Fixed: Gen4 SaveFile PCD/PGT collection editing now shows the Lock Capsule PCD slot, resists bad slot swaps, and no longer encrypts item PGTs. Thanks @DeadSkullzJr !
- Fixed: Gen2 Mail now edits the caption message correctly. Thanks @WonderSquid !
- Changed: Drag & Drop of PKMs out of the program into Discord now works! Hold shift when dropping to immediately send the file.
- Changed: Internal refactorings to reduce allocation, increase performance. PokeCrypto, GeniusCrypto, EvoCriteria, PKX.
- Changed: Gender sprites in the main window now show colored images instead of colored strings. Looks prettier!
- Changed: Gen8 PLA encounters now generate with a more accurate RNG correlation, resulting in valid entity seeds.
- Changed: Gen8 PLA noble sprites now show more detail. Still not legal to have in your save file.
22/03/18 - New Update: (144283) [4814091]
- Added support for BDSP v1.3 save data format.
- Legality:
- - Added: Experience above level 100 is now checked.
- - Fixed: PLA Massive Mass Outbreak now correctly identify Overqwil/etc evolutions captured directly in the wild.
- Added: Batch editor can now copy properties using * -- for example, .PID=*EncryptionConstant will copy the EC to PID.
- Added: Sprites now show an orange-colored line (instead of yellow) if the Pokémon has gained an exact level amount of EXP (setting not on by default).
- Added: SWSH Trainer Editor button to unlock all Isle of Armor Diglett.
- Fixed: Gen7 Poké Bean editor now reads data correctly.
- Fixed: Showdown Set imports no longer max PP Ups for PLA imports.
22/03/01 - New Update: (64877) [4669808]
- Added support for PLA v1.1 save data format.
- Legality:
- - Added: PLA Massive Mass Outbreak encounter slot data recognition.
- - Changed: BDSP underground area6 now permits lower levels. Thanks @Meta7122 !
- - Fixed: BDSP Piplup mystery gift now verifies friendship correctly.
- Fixed: Swapping 5th party slot to boxes now behaves correctly. Thanks Burning Justice !
- Fixed: PLA/SWSH copying savedata changes now saves boolean value toggles (Box Flags). Thanks @sora10pls !
- Changed: Minor memory allocation performance improvements.
22/02/22 - New Update: (28530) [4604931]
- Added support for BDSP v1.2 save data format.
- Legality:
- - Added: BDSP glitch abuse flag is now flagged by PKHeX's legality check.
- - Added: PLA RNG correlation for encounters now added; things generated from the Encounter Database are a little bit more legal.
- - Fixed: Low level alphas now generate their moveset correctly (no duplicated moves).
- Added: Bulk Analysis (previously hidden behind the Verify Checksums button) now has its own button, and can detect clones and other value reuse.
- Added: Batch Editor can now $suggest for HeightAbsolute & WeightAbsolute. Thanks @easyworld!
- Added: Batch Editor can now $suggest certain methods by type (read BatchMods.cs). Try .SetSuggestedGanbaruValues=$suggest
- Changed: Held item combobox is now hidden for PLA format, similar to LGPE. No held items in these games even though the data field exists.
- Fixed: BDSP backup save files are now correctly detected as backups when detecting latest saves.
- Fixed: Gen2 Korean strings now save correctly.
22/02/14 - New Update: (46234) [4576401]
- Legality:
- - Changed: Height & Weight calculated values now match the game calculation perfectly. Values not matching expected values exactly are flagged.
- - Fixed: SWSH tutor moves are now illegal on PA8 entities.
- - Fixed: Gen3 Colosseum E-Reader entities now correctly generate PID/IV from the encounter database. Thanks @Dani88alv !
- - Fixed: Gen8 BDSP trade encounters now generate correct ECs from the encounter database. Thanks @architdate !
- - Fixed: Gen8 PLA evolution levels are checked for Basculegion/Wyrdeer/Overqwil (must learn suitable move). Thanks @Lusamine !
- Added: Randomizing an Alpha Pokémon's IVs now sets 3 flawless IVs.
- Added: Gen7 LGPE starter choice can now be changed in MyStatus7b. Thanks @GiftedK !
- Fixed: Startup checking for if an update is available now correctly waits for the form to be ready for the label to appear. Thanks @jdearden1 !
- Fixed: Auto Height/Weight calc checkbox now behaves better when loading and toggling state. Thanks @joeymavity !
- Fixed: Gen8 PLA showdown set imports will no longer error trying to set record flags.
- Fixed: Gen8 BDSP box names that are uninitialized will show placeholder "Box #" values in the dropdown.
- Fixed: Gen5 Funfest mission record flags for the last funfest mission type now save correctly. Thanks @Dani88alv !
- Fixed: Gen5 Battle Subway progress flags now save correctly. Thanks @Dani88alv !
- Fixed: Gen4 DP Met/Egg Location now sets correctly. Thanks @twinbee321 !
- Fixed: Gen3 Colosseum inventory now saves correctly. Thanks @Dani88alv !
- Changed: Save File memory allocation reduced; original data for backups is no longer stored in RAM. Exporting a backup will copy the original file loaded.
- Changed: Gen2-5's Hidden Power's base power is now indicated next to the type rather than on a separate line.
- Changed: Contest Stats now appear a little lower in the stats tab; same for Is Alpha / Is Noble checkboxes.
- Changed: Showdown Set parsing now accepts "Yes" for Shiny / Gigantamax regardless of case ("yEs" is valid for true). Useful for manually typed SysBot.NET users' sets :)
22/02/08 - New Update: (35837) [4530167]
- Legality:
- - Added: GVs are now checked for legality.
- - Fixed: Min Move Count now considers purchased moves as able to skip as level up moves. Thanks CC6174 !
- - Fixed: Alphas now check flawless IV count correctly. Thanks @Atrius & @Lusamine !
- - Fixed: Alphas from Landmarks are now correctly checked for their Alpha Move (or lack thereof).
- - Fixed: Gen4 Minimum Sheen check now allows Haircut to give less sheen. Thanks @edo9300 !
- - Fixed: Gen1 Catch Rate now matches better for special Static Encounters that vary across games. Thanks @MrPerson0 !
- Added: Sprites for PLA are now all shown with the circular mugshot style instead of partial old & new sprites.
- Added: MoveMastery can now be suggested via the batch editor commands.
- Fixed: Gen8 SWSH TR flag move names now display correctly. @sora10pls !
- Fixed: Gen8 PLA clothing blocks are now labeled. Thanks @sora10pls !
- Fixed: Gen8 PLA showdown set imports no longer set PP Ups, and now set mastery flags.
- Fixed: Gen7 TID format display for past gen origin now shows the G7ID correctly. Thanks @NotaInutilis !
- Fixed: Gen4 Pt Event Flags now load correctly for Spanish. Thanks CJ009 !
- Fixed: Gen3 Colosseum saves now load correctly. Thanks Solarc !
- Fixed: Folder Browser for backup saves now loads files correctly.
- Changed: Gen8 PLA species that are unavailable in-game no longer show up in the species dropdown (similar to LGP/E, BDSP).
- Changed: Gen8 PLA Height & Weight values now update cleanly, and set the HeightCopy value if Auto is checked. Thanks @sercho80 !
- Changed: Gen8 PLA inventory edits now only show the amount of unlocked inventory slots. Thanks @NinFanBoyFTW !
- Changed: Gen8 PLA inventory storage now can Give All. Thanks Kiki.Z !
- Changed: SAV Editor buttons are now taller & wider to be more friendly for translations. Thanks @sercho80 !
- Changed: Event Flag editors for Gen7+below now display the event flags in a datagrid instead of separate controls (performance). Thanks @edo9300 !
- Changed: Default startup game version is now Legends: Arceus if no save is opened (changed from BD/SP).
- Changed: Updated Chinese translation files. Thanks @easyworld !
22/02/04 - New Update: (32948) [4494330]
- Introducing Pokémon Legends: Arceus support! Thanks @SciresM, @sora10pls, @Lusamine, @architdate, @ReignOfComputer for troubleshooting!
- - Initial Legality Checking is provided. Please refer to the forums when reporting legality issues for PLA parsing.
- - Save Data is similar to SW/SH; a pokedex, trainer, inventory, and block data editor are provided.
- - Encounter legality has been reverse engineered & modeled to pre-compute possible met locations for overworld interactables.
- Added:
- - Gen8 BDSP wild encounters are now generated with RNG patterns matching the game. Thanks @Lusamine !
- - Gen8 BDSP xorshift RNG implemented, now available for PKHeX.Core referencing.
- - Gen8 BDSP zone unlock cheat to fly to all locations. Thanks @sora10pls !
- - Gen8 BDSP named constant for BDSP swarms for the event editor. Thanks @MewTracker !
- Changed:
- - Internal asset loading speed has been improved (more friendly to the runtime's garbage collector).
- - Internal value read/writes now work correctly for Big Endian runtimes.
- - Internal value read/writes are now allocation-free; memory allocation for strings has been reduced drastically too.
- - Clicking stat labels now changes nature amplification. Refer to the shortcut list for more info.
- Fixed:
- - Gen8 BDSP in-game trades are now checked for EC/PID legality.
- - Gen4 DPPt Swarm & Safari seeds now read/write correctly. Thanks @edo9300 !
- - Gen4 feeding a single low-quality poffin no longer indicates invalid sheen. Thanks Jollygator !
- - Gen3 Item quantity reads now behave correctly. Thanks @MichiS97 (dev build bug)!
- - Gen3 Shadow Monitor now reads all species correctly. Thanks @Mutty99 !
- - Gen2 Odd Eggs and E-Speed Dratini now recognize correctly prior to transfer. Thanks @N-Harmonik !
- - Gen1/2 Evolution chains now return a more accurate min/max level for each stage. Thanks @Ninjistix !
- - Handled more oddball encounters. Thanks @Skadiv & @Ninjistix !
22/01/01 - New Update: (114030) [4461382]
- Legality:
- - Added: Hatch Counter legality checking.
- - Added: Contest Stat Sheen legality checking (roughly compared to amount of other contest stats gained).
- - Added: Munchlax encounter slots for DPPt and BDSP are now checked for Trainer ID legality.
- - Fixed: BDSP Gigantamax is now flagged illegal correctly.
- - Fixed: BDSP Meister Magikarp now recognized correctly.
- - Fixed: BDSP bred (egg) ball legality for Great Marsh exclusives now require Safari Ball.
- - Fixed: BDSP underground level ranges for Area 6 revised per National Dex early acquisition.
- - Fixed: BDSP encounter searching no longer considers SWSH TR flags when checking if a move is learnable.
- - Fixed: BDSP encounter slots that cannot obtain their Hidden Ability via Radar or Ability Patch are now flagged. Thanks @Lusamine !
- - Fixed: BDSP impossible egg hatch locations are now recognized (some version exclusives). Thanks @Lusamine & @sora10pls !
- - Fixed: BDSP location crossover surf encounters now recognized as valid. Thanks @sora10pls !
- - Fixed: SWSH "restaurant" memory now recognized as legal (Circhester restaurant). Thanks @Lusamine !
- - Fixed: Sketched moves are now properly flagged if the move is out of range for the game the PKM is present in.
- - Fixed: Gen4 Shedinja now recognizes correctly with Cute Charm, and permits Sport Ball due to HGSS ball quirk. Thanks @Lusamine !
- - Fixed: Gen1/2 Tradeback Catch Rates are now flagged if the PKM has Gen2 moves and the unmodified Gen1 catch rate. Thanks @soopercool101 !
- Added: SWSH Gen8 localization for Memories to display memories as they appeared in the memory's original game.
- Added: BDSP Dialga/Palkia & Roamer reset cheats to the Misc Editor. Thanks @sora10pls !
- Added: BDSP In-Game Trainers can now be marked as defeated in bulk in the Misc Editor.
- Added: BDSP savedata blocks are now editable for Battle Tower / RandomGroup / Union Room / etc.
- Added: BDSP inventory edits now acknowledge the item sort order.
- Fixed: BDSP inventory edits no longer set incorrect "NEW" flag values for items that have no quantity.
- Fixed: BDSP encrypted pb8 files are now recognized correctly when opened in the program.
- Fixed: BDSP daycare no longer indicates gained EXP (can't gain EXP from daycare).
- Fixed: BDSP eggs dropped into the program no longer partially set trainer data.
- Fixed: BDSP Pokedex clearing all entries now clears all form and language entries.
- Fixed: BDSP event work values can now be properly edited in the GUI. Thanks @MewTracker !
- Fixed: Gen4 Rival String can now be edited correctly.
- Fixed: Inventory editing can now filter out illegal items for giving all. SWSH no longer gives all illegal dynamax crystals.
- Fixed: Program Icon now appears correctly on some generic subform windows. Thanks @murrty !
- Fixed: Clearing Contest Stats now resets to the matched encounter template's minimum values.
- Fixed: Hint/Warn image no longer has stray opaque pixels. Thanks @sora10pls !
- Changed: Toggling egg state in the PKM Editor GUI will now update met locations and hatch counters correctly.
- Changed: Key Items with changed names (in BDSP) now reflect the BDSP name in prior games (DPPt).
21/11/27 - New Update: (156702) [4347352]
- Legality:
- - Fixed: Shiny Roamers now recognized correctly (shiny type preservation with fakeTID).
- - Fixed: BDSP Milotic Prism Scale evolution is now disallowed. Thanks @sora10pls !
- - Fixed: BDSP Magnezone evolution via Thunder Stone instead of level up is now recognized correctly. Thanks @NinFanBoyFTW !
- - Fixed: BDSP Ribbon indexes for Pioneer and Twinkling Star now recognized correctly. Thanks @sora10pls !
- - Fixed: BDSP Ribbon legality revised to recognize all legal ribbons in BDSP. Thanks @Kermalis & @sora10pls !
- - Changed: BDSP TrainerID + SecretID both being zero is now illegal. Also int.MaxValue due to RNG quirks.
- - Added: Setting to flag entities with zero Height & Weight when appropriate; default severity is Fishy.
- Added: Height & Weight randomization in the PKM Editor GUI by control clicking the numeric entry.
- Added: BDSP Poffin Editor; hit Give All to give super poffins that max out contest stats in a single poffin.
- Added: BDSP received Sticker (Ball Capsule) editor; max quantity of a given sticker is 99.
- Added: BDSP Misc editor to toggle various cheats active (meeting all Underground NPCs, unlocking Shaymin/Darkrai events on latest patch).
- Added: BDSP Battle Team slots are now indicated in boxes, similar to Gen7. If teams ever get locked, then they will show the lock symbol too!
- Added: BDSP Safari RNG seed and roamer details now editable in the Encounter block.
- Added: BDSP Mystery Gift receiving records are now editable in the MysteryRecords block.
- Added: BDSP Player Misc data is now editable in the Player block.
- Added: BDSP Underground stats are now editable in UgCount block.
- Added: BDSP BP is now editable in the Trainer Info editor. Thanks @Synthlight !
- Fixed: BDSP game clear record is no longer clamped to 999,999. Please double check this record in the Trainer Editor and set to YYYYMMDD if needed.
- Fixed: BDSP genderless species are now registered to the Pokédex with both gender flags instead of just Male. Thanks @sora10pls !
- Fixed: BDSP Work values are now unclamped. Thanks @Bl4ckSh4rk !
- Fixed: BDSP custom system flag set now sets the correct flag value.
- Fixed: BDSP v1.1 save backups are now loaded into the File Browser (CTRL-F) correctly like v1.0 saves.
- Fixed: BDSP affixed ribbon values (not mutable in game, still present) now saves correctly in the Ribbon Editor.
- Changed: BDSP Box Backgrounds cropped for better viewing. Thanks @sora10pls!
- Changed: BDSP met locations now indicate sublocations if applicable for that zone ID. Met Location drop-downs now auto-size their width to fit all text.
- Changed: BDSP egg toggling via the PKM Editor GUI now sets the Nicknamed flag data according to matched encounter data.
21/11/21 - New Update: (50606) [4190650]
- Legality:
- - Fixed: TM learn permissions now reference the correct move IDs.
- - Fixed: Elemental Beam type tutors now permitted for PB8 formats.
- - Fixed: Revised roamer met location list to match dumped roam locations.
- - Fixed: Feebas and Burmy encounter matching now behaves as intended.
- - Fixed: Ball legality for bred Fossil species restricted to only Poké Balls.
- - Added: Affixed Ribbon value is now checked for PB8 format.
- - Added: Minimum hatch counter values are now checked for all formats.
- Added: Clicking the Hatch Counter label now toggles min/max suggested values, similar to clicking the Friendship label shortcut.
- Added: BDSP saves now indicate the (computer local time) saved time from the save file. Backups are now saved with this detail.
- Added: BDSP Underground player inventory editor. Statues, goods, items, etc.
- Added: BDSP Specialized Trainer Info editor is now used for BD/SP instead of the old generic form.
- Added: BDSP Fashion unlock flags are now in the Event Flag editor.
- Added: BDSP PB8<->PK8 Incompatible conversion path is now available if opted in via program settings.
- Added: BDSP Daycare details including the RNG seed are now shown, similar to prior games.
- Fixed: BDSP poffin ingredient berries are now able to be edited via the player Inventory Editor.
- Fixed: BDSP inventory editor now deletes item slots that have been deleted via the GUI editor.
- Fixed: BDSP Blank PB8 files (encounter templates) are created with AffixedRibbon=-1, along with the met locations.
- Fixed: BDSP Batch editor now works for the PB8 format.
- Fixed: BDSP encounter database now yields Shining Pearl egg encounters.
- Fixed: Toggling egg state in the PKM Editor GUI now sets the correct met location values.
- Changed: Editing the HT_Friendship value for eggs in the Memories editor is now possible if it is a HT-handled egg, rather than being greyed out.
21/11/19 - New Update: (41229) [4140044]
- Introducing Brilliant Diamond & Shining Pearl Support! Thanks @SciresM, @sora10pls, @Lusamine, @architdate, @ReignOfComputer for troubleshooting!
- - Initial Legality Checking is provided. Please refer to the forums when reporting legality issues for BDSP parsing.
- - Bag editing, Pokédex, and Event Flags, Trainer Info editing is provided. More editable values can be found in the Block Data editor.
- - Things to note: no transferring SWSH/HOME<->BDSP, roamer PIDIV correlation, no memories. Future commits may tighten legality checks.
- Legality:
- - Gen1: Lessened severity of missing moveslots to Fishy, if the Pokémon has been sufficiently leveled up (can skip by leveling up multiple times).
- - Gen2: Crystal eggs hatched inside the 2nd floor of the Pokécenter are now correctly recognized. Thanks Freezing Dart!
- - Gen4: Cute Charm frame proc yielding now emits the correct seed, and identifies the correct encounter slot value. Thanks @valthisse !
- Added: More event flag data labels. Thanks @FeralFalcon! Event data can now be filtered via settings if you only want to see rebattle, etc.
- Added: Rival name changing for all games that didn't yet have it. Thanks @FeralFalcon!
- Changed: .NET 6 support added for WinForms builds. .NET Framework 4.6 build is still the main build option.
- Changed: Starting up the program with command line arguments (or opening via an associated file) will more intelligently source a parter sav/pk.
- Changed: Exporting a backup save file has been moved to the SAV tab, and the Export main has been merged in with the parent Export SAV item.
- Changed: Gen1/2 mainline save files now indicate if they are VC era or GB era in the program title.
- Changed: Gen2 modifying Hidden Power type now maximizes IVs for that type.
- Changed: Gen3 egg flag being set from the GUI now adapts the language as well to match the Gen3 quirk.
- Fixed: Box Report exporting to CSV no longer causes errors if a large amount of data is being written. Thanks GLBBx303!
- Fixed: Gen6 Secret Base giving all decorations now correctly gives all. Was overwriting Pokepuffs :(
21/10/01 - New Update: (129061) [4098815]
- Legality:
- - Added: Gen8 memory checks for unobtainable values. Thanks @Lusamine, @skadiv!
- - Changed: Ball legality rules updated for Gen7 starters to account for the new Gen8 raids.
- - Changed: Gen1 Tradeback handling reworked for less overhead.
- - Fixed more met locations for XD shadow encounters. Thanks @LegoFigure11!
- - Fixed: Gen4 Cute Charm PIDs correctly emit RNG frames for encounter matching purposes. Thanks @pp-theSlayer!
- - Fixed: Gen2-4 eggs are now permitted to know HM moves while still an egg. Thanks Atrius!
- - Fixed: Gen3 Event gifts are now more thoroughly checked for nicknames. Thanks @FeralFalcon!
- - Fixed: Gen3 Granbull & Vibrava/Flygon are now correctly handled for their ability bit values.
- - Fixed: Gen2 GS eggs in PK2 format are now allowed to have egg moves. Thanks Psyduck!
- - Fixed: Gen2 Red Gyarados fixed IVs & gender are now required to match the encounter.
- - Fixed: Egg move source indication now shows the correct message in the legality printout.
- - Fixed: Volt Tackle is now flagged correctly for non-Pichu eggs :)
- Added: Can now specify how the PKM Database is sorted when it loads.
- Added: Gen3-5 swarm data can now be edited in the block editor. Thanks @Bl4ckSh4rk, @SpiredMoth, @sora10pls!
- Added: Gen3 Walda Wallpaper values can now be edited in the block editor.
- Changed: PKM Editor form selection is now slightly wider.
- Changed: Encounter Database now shows single Pokéball types if the encounter can only have one type.
- Fixed: Gen3 save files that have only been saved once now load more often (empty backup detection fixed).
- Fixed: Gen3 XD purification values are now read correctly on Japanese save files.
- Fixed: Gen3 Colosseum Fateful encounter flag is now read correctly.
- Fixed: Gen5 BW entree forest randomizing now prevents B2W2-only templates from being loaded. Thanks @SunakazeKun!
- Fixed: Event Const editor loads consts with a current value of zero correctly if it has a defined name. Thanks @CanoeHope!
- Fixed: Batch Editor no longer processes saved pk files twice.
- Fixed: PKM Database searching a specific format now filters correctly.
- Updated: Chinese translation updated. Thanks @liketolike!
21/08/06 - New Update: (134592) [3969754]
- Legality:
- - Added: Gen8 Sociability legality checks. Thanks @Lusamine!
- - Added: Gen8 crossover weather checks have been added. Thanks @Lusamine & @Skadiv!
- - Added: Gen6/8 Memory checks have been improved a little. Thanks @sora10pls & @Lusamine!
- - Added: Gen6/7 Vivillon are now flagged if the form cannot be found in the trainer's 3DS Console Region. Thanks @Lusamine!
- - Changed: Wordfilter checking speeds improved drastically by caching created regexes.
- - Changed: Gen8 Master Rank ribbons now permitted again for legends due to Season 10 rules.
- - Changed: Inaccessible wild encounters and raid dens have been removed from the encounter database.
- - Fixed: Gen8 brilliant aura boosts are only permitted if the met level is the maximum allowed for that encounter.
- - Fixed: Gen8 Fog encounters are now required to be at least level 60 due to weather not being available until postgame. Thanks @Lusamine!
- - Fixed: Gen4 Pokéwalker encounters are now allowed to be recognized with CuteCharm if the TID/SID is appropriate.
- - Fixed: Gen4 Bug Catching Contest slots are now loaded completely. Thanks jazpersona!
- - Fixed: Gen2 Dark Cave swarm slots (Dunsparce) are now loaded correctly. Thanks Purrmewtations!
- - Fixed: Gen1 Yellow encounters now compare the correct catch rate values when not yet transferred.
- - Fixed: Gift egg encounters are now checked for their egg locations correctly across all generations. Thanks @sora10pls!
- - Fixed: Variable form encounter templates like Unown and Vivillon are now handled correctly.
- Added: Gen8 Sociability for individual Pokémon can now be edited in the Memories sub-editor.
- Added: Gen7 Battle Agency participant data can now be viewed as a misc slot.
- Added: Gen5 GTS and Fused stored data can now be viewed as a misc slot.
- Added: Gen4 Pokéwalker stored data can now be viewed as a misc slot. Thanks @Atrius97!
- Added: Batch Editor can now be extended via plugins by adding custom code for filters / modifications.
- Added: Batch Editor filters can now be used in the Encounter Database (similar to the PKM Database advanced search).
- Added: PKM File Naming format has been extracted, and can now be replaced by a plugin to name files differently.
- Added: Program settings added for the Encounter Database, to try to make viewed templates match the currently loaded data.
- Added: Program settings added for the PKM Database, to prevent loading of backups and extra locations to the database.
- Added: Program settings added to allow converting backwards and across incompatible generations.
- Fixed: Turkish operating system languages no longer fail to launch the program.
- Fixed: Hovering over slots no longer errors on Linux platforms.
- Fixed: Deleting slots in the PKM Database is now handled correctly.
- Fixed: Gen8 encounter slot templates now load legally when viewed, using the Overworld RNG correlation. Thanks @Atrius97!
- Fixed: Gen6 female trainer appearance customization for lip color and freckles now save correctly. Thanks @sora10pls!
- Fixed: Gen6 trainer sprite is now shown for XY again, and the PGL photo can be saved correctly again.
- Fixed: Gen6 Super Training flags for PKM data is now localized correctly.
- Fixed: Gen5 C-Gear Skin images now import correctly. Thanks @Snaid1!
- Fixed: Gen5 Dream World slots now have the correct gender restrictions. Thanks @Lusamine!
- Fixed: Gen4->5 transfer names with halfwidth characters and symbols are now correct.
- Fixed: Gen4 HGSS frontier data is now accessed correctly via the Misc Editor.
- Fixed: Gen4 Pokédex seen flags are now set correctly when writing new data to the save file.
- Fixed: Gen3 XD - Setting tons of non-XD encounter species will no longer cause an error with the Memo being full.
- Changed: "Encounter Type" value saved by Gen4 encounters has been renamed to "Ground Tile" to match its actual function.
- Changed: Most popup windows like the Encounter Database are now closed when a new save file is loaded, rather than remain open.
- Changed: Gendered species (like Jellicent) now show their genders in the Encounter Database.
- Changed: Cyber Gadget quirk workaround for completing the Pokédex in Gen6/7 is no longer necessary (defunct service), and has been removed.
- Changed: Updated Chinese/Spanish/German translations. Thanks @easyworld, @ajtudela, @M1atias, @Korados, @JDox!
21/05/21 - New Update: (166981) [3835162]
- Fixed: Gen1-5 Money/Coin editing, no longer sets it to 0.
- Fixed: Showdown set imports sometimes failing (Gender, Nickname)
- Fixed: Country/Region display in the PKM Editor and Box Report now display correctly.
21/05/19 - New Update: (4867) [3668181]
- Legality:
- - Added: Gen8 Distribution nests / met locations are now checked according to date of availability (epoch). Thanks @Lusamine!
- - Added: Gen8 nests that are inaccessible without enough badges are now checked for low level hosted raids. Thanks @Lusamine!
- - Fixed: Gen6 Strongest Trainer memories are now allowed for Maison-banned entities due to in-game party bug. Thanks Fetrim & @sora10pls!
- - Fixed: Gen2 Stadium gifts are now correctly flagged for having a female OT. Thanks @FeralFalcon!
- - Fixed: Egg move sources are now indicated correctly (inherited, egg move, initial, etc).
- - Fixed: Gen8 Shedinja affixed ribbon is now handled correctly. Yay bugs!
- Added: Program settings now have more customization options, including legality parse preferences.
- Removed: 40x30 sprites are now no longer toggleable; the current-gen 68x56 sprites are the way forward.
- Changed: Any 40x30 sprite boxes in the UI have been upsized to 68x56.
- Changed: Program settings are now saved as json next to the exe, rather than xml in a hidden user folder.
- Changed: Plugins failing to load will now indicate a more detailed error message.
- Changed: Minor internal refactorings to improve performance.
- Changed: String handling for special game characters has been improved (namely, Farfetchd).
- Changed: Gen2 Stadium PKM files detecting language format has been improved. Thanks @suloku!
- Fixed: Gen3 Colosseum/XD saves now show the correct max money / item quantities. Thanks @CanoeHope!
- Fixed: Met location list now behaves properly when loading a different generation save file.
- Fixed: PKM Database no longer fails to load when a savefile has an invalid party count.
21/04/06 - New Update: (87827) [3663314]
- Legality:
- - Added: New Egg Move order validation logic. Yay inheritance legality checking! Thanks @Lusamine!
- - Fixed: Ability Patched wild encounter slots no longer show as invalid if they have the curry mark. Thanks Irina!
- - Changed: Smeargle is no longer allowed to know Thousand Arrows/Thousand Waves in Gen6 (unreleased). Thanks @DaWoblefet!
- Added: Gen2 Legendary Beast event flag resets. Thanks @CanoeHope, and @brianard52 / @Lusamine for testing!
- Changed: The Event Flag editor logic for Gen2-7 has been rewritten, shouldn't notice any difference.
- Changed: Hovering over a slot now shows the summary for 30+ seconds rather than 5 seconds, or until you move your mouse away.
- Fixed: Gen3 saves no longer randomly corrupt when saving Misc Edits or Trainer Info. Thanks @Kermalis
- Fixed: Gen3 saves no longer cause errors when opening some editors, and now load correctly. Thanks @AlamosIT, Sockcos!
21/04/01 - New Update: (15825) [3575487]
- Legality:
- - Added: Generation 8 Overworld RNG seed legality. The wandering encounters have detectable origins!
- - Updated: Mystery Gift & GO Legality encounter data.
- - Changed: HOME gifts are now allowed with SID > 0.
- - Changed: Updated Ribbon rules for Master Ribbon & non-mythical legends.
- - Changed: Gen3 Shadow Pokémon now generate with correct shadow lock data.
- - Fixed: Gen6/7 Form Argument values are now handled correctly. Thanks @Lusamine!
- - Fixed: Gen3 ability bit mismatching rules for in-game trades have been fixed.
- Added: Gen8 Affixed Ribbon/Mark can now be changed in the Ribbon Editor.
- Added: Gen7 LGPE now shows Alolan form Height/Weight records in the Pokedex.
- Added: Hovering over MGDB and Database slots now shows a summary of the data.
- Added: Hovering over a box/party slot now shows some legality origins of the data.
- Added: Bulk Legality analysis now flags duplicate HOME tracker values.
- Added: Block Editor can now be used for gen5-7 saves to change more values directly.
- Added: Gen3 battle video data can now be imported via drag-drop (no BV3 exporting currently via GUI).
- Changed: Gen3 save files for RS/E/FRLG are now treated as separate classes.
- Changed: Minor internal refactorings to improve performance.
- Fixed: Gen6 event flags now are indexed correctly. You shouldn't notice any difference.
- Fixed: PKM conversion from future -> Gen1/2 now retains IV proportions correctly.
21/01/30 - New Update: (156366) [3559662]
- Legality:
- - Updated Mystery Gift & GO Legality encounter data.
- - Fixed: Matching encounters where a PKM can be one of many types of encounters (based on its current values) has been improved.
- - Fixed: Gen4 HM move recognition has been fixed. Oops!
- - Added: Gen8 Weather Permissions for Wild Area Static Encounters is now present in metadata (Mark values permitted). Thanks @Lusamine!
- - Added: Gen1 Verbose legality outputs now include the met location (even though it is never stored) based off the matched encounter.
- - Changed: Gen2 Headbutt data is now initialized & stored more efficiently.
- Added: More Event Flag descriptions for past generation games. Thanks @CanoeHope!
- Added: Gen4 Battle Revolution saves can now specify the TID/SID of the currently loaded save entry to unlock Box data access in-game.
- Added: Move.cs enumeration has been added to the PKHeX.Core API.
- Added: Save File detection can now be extended by adding recognizers to SaveUtil.Handlers (via plugins or code).
- Changed: IV/EV/AV shortcuts have been adjusted slightly to add more functionality. Refer to shortcuts (IVs unchanged).
- Changed: Some internals have been refactored for better performance / clarity (string conversion, encounter matching, loading).
- Fixed: Gen8 Templating fields with a blank PKM on a not-latest DLC SW/SH will load the correct maximum species and proper PP count.
- Fixed: Gen8 Battle Ready (Battle Version) marking now updates its opacity when the battle version is changed.
- Fixed: Gen7 GameSync ID now shows up in the SAV tab, as intended.
- Fixed: Gen4 Battle Revolution saves with a deleted first slot save entry now loads correctly.

View file

@ -28,7 +28,7 @@ PKHeX expects save files that are not encrypted with console-specific keys. Use
## Screenshots
![Main Window](https://i.imgur.com/hwLl705.png)
![Main Window](https://i.imgur.com/ROUQ021.png)
## Building