Jump to content

14 Screenshots

About This File

PKSE is an open-source Pokémon save editor that runs directly on a hacked
Nintendo Switch console. It reads, edits, and writes save files in place on
the console, so no PC, save transfer, or external tooling is required.

SUPPORTED GAMES
Gen 3: FireRed / LeafGreen
Gen 7: Let's Go, Pikachu! / Eevee!
Gen 8: Sword / Shield, Brilliant Diamond / Shining Pearl, Legends: Arceus
Gen 9: Scarlet / Violet, Legends: Z-A

Per-game save version and DLC detection is handled automatically.

CROSS-GAME BANK
PKSE includes a native storage bank shared by every supported game. A
Pokémon deposited from one game is converted into the destination game's
format on withdrawal, preserving origin data: OT, trainer IDs, met
location and level, IVs, nature, and PID.

EDITING
Party and box Pokémon: species, level, stats, IVs/EVs (AVs in Let's Go),
nature, ability, moves, held item, ball, OT/met/origin data, shininess,
gender, and ribbons. Trainer info and item pouches are editable with
per-game item and count limits enforced.

A Pokémon creator builds an entity from scratch in any supported game's
format, with legal values highlighted.

LEGALITY
A legality checker flags illegal values as you edit. It is informational
only — it never blocks an edit or silently alters your data. Encounter
matching is not yet implemented, so the checker should not be treated as
a substitute for PKHeX's legality analysis.

SAVE HANDLING
Backup and restore are performed on-console with retained backup history.
Users are strongly encouraged to take a backup with Checkpoint or an
equivalent tool before first use.

INTERFACE
HOME-style UI built with NanoVG, 256px HD sprites, full touch controls,
and scrollable storage and lists.

REQUIREMENTS
A Nintendo Switch running custom firmware with access to the Homebrew
Menu. Place PKSE.nro in sd:/switch/. Tested on firmware 22.5.0. PKSE
operates only on save data already present on your own console.

CREDITS
Built using PKHeX as a reference throughout — much of the format and
structure knowledge behind this tool comes from that project and the
documentation work of this community.

Licensed under AGPL-3.0 license. Source and releases:
https://github.com/kiasta/PKSE

PKSE_1.0.2.7z

Edited by Kiasta
Updated binary


What's New in Version 1.0.2   See changelog

Released

Version 1.0.2 Hotfix

Met/egg locations, pre-Switch origins, and 7 missing HD sprites bug fixes

Met/Egg location bug:
Met/egg location showed "(none)" for banked location IDs. PKHeX banks these IDs by ID / 10000 (bank 0 = in-world, 3 = Link Trade / region + Pokémon HOME/GO transfers / "a picnic", 4 = events, 6 = egg sources). The generator only emitted bank 0, so traded, HOME-transferred, and egg Pokémon rendered "(none)". Now emit every bank and route by threshold, mirroring PKHeX LocationSet6.

Pre-Switch Origins bug:
HOME transferred Pokémon from a pre-Switch game showed Origin "Unknown" and met/egg "(none)". PKSE only recognised the Switch-era origin games. getOriginGameName now names every origin version byte (Gen 1-9), and location lookup carries one table set per generation (added Gen 4/5/6/7 = HGSS/BW2/XY/SM) routed on the origin generation, per PKHeX GameStrings.GetLocations. A Gen 3/4 (and Pokémon GO) MET ID is remapped into the current format's numbering when the mon is transferred up, so it is named with the format table -- a Platinum starter link-traded to Violet reads met = "a Link Trade"; Gen 5+ keep their own table; a Gen 4 egg stays on the Gen 4 table. An unset met date (00/00) now shows "(none)" instead of "00/00/2000". Verified against a real Violet save: every transferred mon resolves.

Missing HD Sprites bug:
The HD sprite set was fetched by NAME from pokemondb, which needs a name->dex map. That map dropped Mimikyu and six other species/forms whose display name didn't match pokemondb's URL slug. Once the old 96px PokeAPI fallback was removed, they rendered blank.

Fix the class of bug at the source: fetch PokeAPI's HOME renders by NUMERIC id instead (base = National Dex number, forms = 10000+ ids), so there is no name map to get wrong. New tools/gen_hdsprites.py downloads and downscales them from 512->256px (Pillow), fails on any missing base sprite, and is pinned to a PokeAPI/sprites commit for reproducibility.

Retire the whole download-based pipeline from the Makefile (the old low-res sprites/forms targets and the HD hdsprites/hdforms targets); `make` / `make all` no longer fetch Pokemon sprites. Delete the name-map tool files and document the one-time fetch step in the README.


User Feedback

There are no reviews to display.

×
×
  • Create New...