Top Related Projects
Pokémon Save File Editor
Database project of box and inventory sprites from the Pokémon core series games
Quick Overview
PKSM is an open-source Pokémon save manager for Nintendo 3DS and Nintendo Switch. It allows users to backup, edit, and restore Pokémon save files across various Pokémon games.
Pros
- Cross-platform Compatibility: PKSM supports a wide range of Pokémon games on both the 3DS and Switch platforms, making it a versatile tool for Pokémon enthusiasts.
- Extensive Editing Capabilities: The application provides a comprehensive set of tools for editing Pokémon data, including stats, moves, items, and more.
- Backup and Restore Functionality: Users can easily backup their save files and restore them as needed, ensuring the safety of their Pokémon collections.
- Active Community and Development: The PKSM project has an active community of contributors and users, ensuring ongoing support and improvements.
Cons
- Requires Modded Devices: PKSM can only be used on Nintendo 3DS and Switch devices that have been modified to run custom firmware, which may not be accessible to all users.
- Potential Legal Concerns: The use of PKSM to modify Pokémon save files may raise legal concerns, as it could be considered a form of game modification or piracy.
- Limited Documentation: While the project has a GitHub repository, the documentation and user guides may not be as comprehensive as some users would prefer.
- Potential Compatibility Issues: As new Pokémon games are released, there may be compatibility issues or delays in updating PKSM to support the latest titles.
Getting Started
To get started with PKSM, you'll need a Nintendo 3DS or Switch device that has been modified to run custom firmware. Once you have a compatible device, you can follow these steps:
- Download the latest version of PKSM from the FlagBrew/PKSM GitHub repository.
- Copy the PKSM files to the appropriate location on your modified device (e.g., the
3ds
orswitch
folder). - Launch PKSM on your device and explore the various features, such as backing up, editing, and restoring Pokémon save files.
Please note that modifying your device and using PKSM may have legal implications, so it's important to research and understand the potential risks before proceeding.
Competitor Comparisons
Pokémon Save File Editor
Pros of PKHeX
- More comprehensive Pokémon editing features, supporting a wider range of games
- Regularly updated with support for newer game releases
- Extensive documentation and active community support
Cons of PKHeX
- Windows-only application, limiting accessibility for non-Windows users
- Steeper learning curve due to its more complex interface and features
- Requires a PC to use, lacking portability compared to PKSM
Code Comparison
PKHeX (C#):
public static bool IsValidMovesetException(PKM pkm)
{
return pkm.Species is (int)Species.Smeargle or (int)Species.Dragonite;
}
PKSM (C++):
bool PK3::isValidMovesetException() const
{
return species() == Species::Smeargle;
}
Both projects handle Pokémon data manipulation, but PKHeX's codebase is more extensive and complex, reflecting its broader feature set. PKSM's code is more focused on Nintendo 3DS compatibility and portability.
PKHeX offers a more powerful editing suite with support for more games, while PKSM provides a portable solution for on-the-go Pokémon editing on Nintendo 3DS systems. The choice between them depends on the user's specific needs and preferred platform.
Database project of box and inventory sprites from the Pokémon core series games
Pros of pokesprite
- Focused on providing high-quality Pokémon sprites and icons
- Lightweight and easy to integrate into web projects
- Regularly updated with new Pokémon and forms
Cons of pokesprite
- Limited functionality compared to PKSM (only provides sprites)
- Requires additional tools or code to manipulate Pokémon data
- May have larger file size due to comprehensive sprite collection
Code Comparison
pokesprite (JavaScript):
const pokesprite = require('pokesprite');
const pikachuIcon = pokesprite.getPokemonIcon('pikachu');
PKSM (C++):
#include <pksm/sav/Sav.hpp>
#include <pksm/pkx/PKX.hpp>
auto save = Sav::getSave(SaveType::SWSH);
auto pokemon = save->pkm(0, 0);
PKSM is a comprehensive Pokémon save editor and management tool, while pokesprite focuses solely on providing Pokémon sprites and icons. PKSM offers more functionality for manipulating Pokémon data, but pokesprite is easier to integrate into web projects for visual representation of Pokémon. The code comparison shows that pokesprite is simpler to use for accessing sprites, while PKSM requires more complex setup for save file and Pokémon data manipulation.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Multipurpose and portable Pokemon save manager and editor for generations I to VIII, programmed in C++.
- Supports original cartridges and digital copies of games from FrLgRSE to SwSh
- Allows on-the-fly modifications to all of your data
- Allows internal and resizable offline storage to store your Pokémon
- Capable of running custom scripts to allow injection of arbitrary data into your saves
- Capable of scanning QR codes to inject both .pkx files or event wondercards
- Contains an offline wondercard database to get events from old distributions
- Capable of automatic verification and legalization of all your data (internet connection and local hosting required)
- Requires you to run your own local-gpss (or to use one hosted by someone else in the future)
We do not support or condone cheating at the expense of others. Do not use significantly edited Pokémon in battle or in trades with those who are unaware edited Pokémon are in use.
Screenshots
Documentation
Please refer to the PKSM wiki for detailed documentation.
Installation
This software works on CFW and Rosalina-based Homebrew Launchers. An internet connection is required when first launching PKSM.
Entrypoint | Instructions |
---|---|
CFW | Install the PKSM.cia file provided in the release page with your favourite installer. You can now launch the application from the Home Menu |
Rosalina HBL | Copy the PKSM.3dsx file provided in the release page into your SD card. You can now launch PKSM from a Rosalina-based Homebrew Launcher |
Initial launch will require your system to be connected to the internet. This is needed to download the additional assets required for the application to launch. If your system is not connected to the internet, PKSM will close.
Applications compatible with PKSM
- PKHeX: Generates .pk7, .pk6, .wc7, .wc6 QR codes scannable from PKSM. Runs on PC.
- MysteryGiftBot: Generates .wc7 QR codes scannable from PKSM. Runs on Twitter.
- PKSM-Scripts: A toolkit to develop and compile .pksm and .c scripts.
- Local GPSS: A local hostable version of GPSS with (Auto)Legality functionality
Working path
- Additional assets are located at
/3ds/PKSM/assets
- Automatic save backups are located at
/3ds/PKSM/backups
- Extra storage data is located at
/3ds/PKSM/banks
- .pkx and .wcx dumps are located in
/3ds/PKSM/dumps
- Custom scripts are located in
/3ds/PKSM/scripts
- Custom background songs are located in
/3ds/PKSM/songs
Troubleshooting
Before submitting an issue, have a look through the issue tracker, as your question or bug request may have already been answered in the past.
Please only submit consistent issues (submitting your environment and which version of PKSM you're running, for example). Duplicate issues will be closed.
Issues that are opened concerning releases other than the latest stable release will also be closed. Please do not report bugs with old software.
You can get real-time support by joining FlagBrew's discord server:
Building
PKSM has the following dependencies:
- The latest version of libctru, citro3d, citro2d, 3ds-curl, 3ds-pkg-config, 3ds-bzip2, 3ds-mpg123, 3dstools, and tex3ds with their dependancies. All of these should be installed from devKitPro pacman.
- rsync
- Your system's pkg-config
- 3dstool,
bannertool and
makerom, if you want to be
able to compile a
.cia
build of PKSM. - The latest version of Python 3.x and the GitPython library.
- node.js, pandoc, wkhtmltopdf and github-wikito-converter to be able to build the HTML documentation.
To compile, clone the repository with all submodules (git clone --recursive https://github.com/FlagBrew/PKSM.git
if initially cloning, git submodule init
and git submodule update
if running from an existing clone) and run make all
.
Credits
- Bernardo for creating PKSM
- piepie62 and Admiral-Fish for the immense amount of dedication they put into the project
- dsoldier for the gorgeous graphic work
- SpiredMoth, trainboy2019 and all the scripters for making PKSM-Scripts great
- Archit Date for CoreConsole and PKHeX AutoLegalityMod
- Allen (FM1337/FMCore/Sigkill) for the GPSS (2019-2025), CoreConsole's successor: CoreAPI and GPSS Mobile (2020-2025) and Local GPSS
- LiquidFenrir for the PoC of session stealing that led to Gen 3 support and GPSS Mobile (2019-2025)
- The whole FlagBrew team for collaborating with us
- kwsch and SciresM for PKHeX, memecrypto and documentation
- fincs and WinterMute for citro2d and devkitARM
- kamronbatman and ProjectPokemon.org for EventsGallery
- nayuki for QR-Code-generator
- jpoirier, zsaleeba, and Jan Å vejda for the base and most improvements in our picoC fork
- dlbeer for quirc
- Griffin For FlagBot and all the help it has been on the server.
- SNBeast For Generation 1 and 2 support.
- All the translators
- Subject21_J and all the submitters for PKSM's icon
- Allen, piepie62, SpiredMoth and all the contributors for the documentation
- All the past contributors to the project
- All the patrons and the huge amount of supporters that this project has gained over the year
Without you, this project wouldn't have existed. Thank you.
License
This project is licensed under the GNU GPLv3. Additional Terms 7.b and 7.c of GPLv3 apply to this. See LICENSE for details.
Top Related Projects
Pokémon Save File Editor
Database project of box and inventory sprites from the Pokémon core series games
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot