Pokémon (Nintendo Switch) ROM Editor & Randomizer
Go to file
TalonSabre 7a762da8fd
Fixed compatible TRs reading incorrectly. (#328)
* Fixed SWSH not gathering TR learnsets correctly

TR compatibility for each pokemon had been saving to the same list as TM compatibility, and for some reason it was not working as intended.
After finishing, and seeing that it built and ran, I tested the impacted features, and confirmed it is working.

* Remove Commented/Unused Section

PersonalDumperSWSH was previously commented, and is now entirely removed from PersonalDumper.cs

* Add case for TRs to SetIMovesInfo function

Changed IMovesInfo.cs
Added extra if for SWSH to account for TRs.

* Add case for SWSH to SetPersonalInfo function

new if statement in SetPersonalInfo from IPersonalInfo.cs that allows setting TRs.
2023-04-21 22:21:58 +02:00
pkNX.Containers Flatsharp codegen (#326) 2023-04-06 18:00:19 -07:00
pkNX.Game Fixed compatible TRs reading incorrectly. (#328) 2023-04-21 22:21:58 +02:00
pkNX.Randomization Fixed compatible TRs reading incorrectly. (#328) 2023-04-21 22:21:58 +02:00
pkNX.Structures Fixed compatible TRs reading incorrectly. (#328) 2023-04-21 22:21:58 +02:00
pkNX.Structures.FlatBuffers Flatsharp codegen (#326) 2023-04-06 18:00:19 -07:00
pkNX.Structures.FlatBuffers.Arceus Flatsharp codegen (#326) 2023-04-06 18:00:19 -07:00
pkNX.Structures.FlatBuffers.LGPE Flatsharp codegen (#326) 2023-04-06 18:00:19 -07:00
pkNX.Structures.FlatBuffers.Reflection Flatsharp codegen (#326) 2023-04-06 18:00:19 -07:00
pkNX.Structures.FlatBuffers.SV Handle latest Ditto distribution raids 2023-04-06 19:26:56 -07:00
pkNX.Structures.FlatBuffers.SWSH Flatsharp codegen (#326) 2023-04-06 18:00:19 -07:00
pkNX.Tests Update dependencies 2023-02-27 20:25:52 -08:00
pkNX.WinForms Fixed compatible TRs reading incorrectly. (#328) 2023-04-21 22:21:58 +02:00
.editorconfig Flatsharp codegen (#326) 2023-04-06 18:00:19 -07:00
.gitattributes 💥🐫 Added .gitattributes & .gitignore files 2018-11-13 19:41:53 -08:00
.gitignore 💥🐫 Added .gitattributes & .gitignore files 2018-11-13 19:41:53 -08:00
azure-pipelines.yml Update azure-pipelines.yml (#181), fixes automatic build 2022-02-04 21:07:04 -08:00
Directory.Build.props Update to net7, c#11 2023-01-14 15:34:27 -08:00
LICENSE Initial Commit 2018-11-13 19:44:43 -08:00
pkNX.sln Flatsharp codegen (#326) 2023-04-06 18:00:19 -07:00
README.md Update README.md 2022-12-10 21:39:12 +01:00

pkNX

License

pkNX: A package of Pokémon (Nintendo Switch) ROM Editing Tools, programmed in C#.

Similar to pk3DS for the Nintendo 3DS, pkNX provides an editing environment to manipulate game binary assets such as stats, learnsets, trainers, and more!

Main Window

Download

Download the latest version here.

(click on latest run at the top, then click Artifacts - published, and download the folder)

Note: To run the app it is required to have the .NET Desktop Runtime installed

Features

Supports the following games:

  • Let's Go, Pikachu! / Let's Go, Eevee!
  • Sword / Shield
  • Legends: Arceus
  • Scarlet / Violet (Currently only for dumping information, not to edit files!)

For Sword, Shield, Scarlet, and Violet, pkNX operates under the assumption that your dumped ROM includes the latest available update data.

Editors can be launched from the program's main window after opening a dumped & unpacked ROM.

  • To lessen read/write lag, data is only saved when the user cleanly quits the program.
  • Edited files do not overwrite the original dumped file; instead, they are redirected to a "patch folder" for easy use with layeredFS.
  • When the program requests to read a set of files, it will first check to see if an edited version exists, and if not, falls back to the original dump file.

With custom firmware, layeredFS functionality will selectively redirect file loading to files that are present in the patch folder, removing the need to rebuild a custom ROM.

pkNX also provides some utility to extract from supported container types, e.g. gfpak. Simply drag & drop a container (or many) into the main window, and pkNX will unpack all files to a new folder.

Building

pkNX is a Windows Forms application which requires .NET 6 for Windows.

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

Dependencies

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