Pokémon Save File Editor
Go to file
Kurt f632aedd15
Encounter Templates: Searching and Creating (#3955)
We implement simple state machine iterators to iterate through every split type encounter array, and more finely control the path we iterate through. And, by using generics, we can have the compiler generate optimized code to avoid virtual calls.

In addition to this, we shift away from the big-5 encounter types and not inherit from an abstract class. This allows for creating a PK* of a specific type and directly writing properties (no virtual calls). Plus we can now fine-tune each encounter type to call specific code, and not have to worry about future game encounter types bothering the generation routines.
2023-08-12 16:01:16 -07:00
.github Update 23.01.26 2023-01-26 21:58:04 -08:00
PKHeX.Core Encounter Templates: Searching and Creating (#3955) 2023-08-12 16:01:16 -07:00
PKHeX.Drawing Encounter Templates: Searching and Creating (#3955) 2023-08-12 16:01:16 -07:00
PKHeX.Drawing.Misc Update tera type icons 2023-07-08 19:03:33 -04:00
PKHeX.Drawing.PokeSprite Encounter Templates: Searching and Creating (#3955) 2023-08-12 16:01:16 -07:00
PKHeX.WinForms Encounter Templates: Searching and Creating (#3955) 2023-08-12 16:01:16 -07:00
Tests/PKHeX.Core.Tests Encounter Templates: Searching and Creating (#3955) 2023-08-12 16:01:16 -07:00
.editorconfig File scoped namespaces (#3529) 2022-06-18 11:04:24 -07:00
.gitattributes Minor changes to git config files 2015-07-21 00:23:50 +02:00
.gitignore Added Jetbrains and updated Python in gitignore (#3660) 2022-11-27 14:57:10 -08:00
Directory.Build.props Update 23.07.09 2023-07-09 14:10:40 -07:00
icon.png Split up csproj PropertyGroup for nuget metadata (#3492) 2022-05-07 17:30:42 -07:00
LICENSE Split up csproj PropertyGroup for nuget metadata (#3492) 2022-05-07 17:30:42 -07:00
PKHeX.sln Update from .NET Framework 4.6 to .NET 7 (#3729) 2023-01-21 20:02:33 -08:00
README.md Update 23.01.26 2023-01-26 21:58:04 -08:00

PKHeX

License

Pokémon core series save editor, programmed in C#.

Supports the following files:

  • Save files ("main", *.sav, *.dsv, *.dat, *.gci, *.bin)
  • GameCube Memory Card files (*.raw, *.bin) containing GC Pokémon savegames.
  • Individual Pokémon entity files (.pk*, *.ck3, *.xk3, *.pb7, *.sk2, *.bk4, *.rk4)
  • Mystery Gift files (*.pgt, *.pcd, *.pgf, .wc*) including conversion to .pk*
  • Importing GO Park entities (*.gp1) including conversion to .pb7
  • Importing teams from Decrypted 3DS Battle Videos
  • Transferring from one generation to another, converting formats along the way.

Data is displayed in a view which can be edited and saved. The interface can be translated with resource/external text files so that different languages can be supported.

Pokémon Showdown sets and QR codes can be imported/exported to assist in sharing.

PKHeX expects save files that are not encrypted with console-specific keys. Use a savedata manager to import and export savedata from the console (Checkpoint, save_manager, JKSM, or SaveDataFiler).

We do not support or condone cheating at the expense of others. Do not use significantly hacked Pokémon in battle or in trades with those who are unaware hacked Pokémon are in use.

Screenshots

Main Window

Building

PKHeX is a Windows Forms application which requires .NET 7.0.

The executable can be built with any compiler that supports C# 11.

Build Configurations

Use the Debug or Release build configurations when building. There isn't any platform specific code to worry about!

Dependencies

PKHeX's QR code generation code is taken from QRCoder, which is licensed under the MIT license.

PKHeX's shiny sprite collection is taken from pokesprite, which is licensed under the MIT license.

PKHeX's Pokémon Legends: Arceus sprite collection is taken from the National Pokédex - Icon Dex project and its abundance of collaborators and contributors.

IDE

PKHeX can be opened with IDEs such as Visual Studio by opening the .sln or .csproj file.