/Switch-Gift-Data-Manager

The Switch Gift Data Manager tool builds custom BCAT packets to inject wondercards into Pokémon games on Nintendo Switch.

Primary LanguageC#GNU General Public License v3.0GPL-3.0

Switch Gift Data Manager

immagine

About

This tool aims to make past Mystery Gift event contents back again in all the Pokémon games for Nintendo Switch. Since those games won't allow event injection in the SAV file, this tool creates a forged BCAT package, injectable with homebrews like JKSV. This allows wondercards to be redeemed through the In-Game Mystery Gift Menu. The use of this tool does not involve hacking the game ROM nor hacking the game SAV.

Compatible files

  • Let's Go Pikachu and Let's Go Eevee wondercard full files (.wb7full)
  • Sword and Shield wondercard files (.wc8)
  • Brilliant Diamond and Shining Pearl wondercard files (.wb8)
  • Legends Arceus wondercard files (.wa8)
  • Scarlet & Violet wondercard files (.wc9)
  • BCAT wondercard files, either with mutiple or single wondercards (no file format extension)

Compatible games

  • Pokémon Let's Go Pikachu and Eevee
  • Pokémon Sword and Shield
  • Pokémon Brilliant Diamond and Shining Pearl
  • Pokémon Legends Arceus
  • Pokémon Scarlet and Violet

Disclosure

Neither I nor the Project Pokémon staff takes any responsibility for possible adverse outcomes or bans due to the use of this tool. Use at your own discretion.

N.B: Some BCAT files contain sensible console-specific informations, which you should keep safe. Don't share your BCAT to others!

Usage

This paragraph refers to the Windows Form app. The Command Line app usage is similar and should be fairly intuitive.

  • Ensure you have the required .NET 8.0 Desktop Runtime correctly installed
  • Dump your game's BCAT with JKSV and keep some copies somewhere safe
  • Open the tool and select your game of choice
  • Import wondercard files of your choice (by drag & drop or by clicking the Open Files button)
  • Eventually edit the wondercard id (WCID) if you have duplicated WCs and click Apply
  • Click the Save as BCAT Package button and browse to your dumped BCAT
  • A folder called "Forged_BCAT_{Game}" should appear next to your dumped BCAT
  • Restore the Forged Bcat with JKSV
  • To redeem the old fashion events, open your game -> Menu -> Mystery Gift -> redeem via Internet
  • When you're done, restore your original BCAT package with JKSV (not doing so may cause sync issues)

N.B: BCAT Sync usually occurs between 12:00 AM (UTC) and 01:00 AM (UTC). I suggest to not follow this procedure during that timeframe to avoid a desync. If you experience a desync, follow one of these methods to resync:

  • Open JKSV, select BCAT, hover over your game and press X to open the menu, then click Reset Save Data.
  • Download the latest BCAT for your game from my bcat_updates repo or from citrusbolt's website and add the missing files to your dumped BCAT, then restore it with JKSV.

Support/Troubleshooting

If you find any bug or you need support, please write in the relevant topic on the Project Pokémon forums. Alternatively, feel free to contact me in my Discord server.

Building

  • All the Switch Gift Data Manager projects require .NET 8.0.
  • .WinForm is a Windows Form application and can only be built in Windows Operating Systems.
  • .Core and .CommandLine can be built in any platform OS.
  • Use the Debug build configuration when editing or developing code related to the .WinForm project. Build as Release only once the code is finished.
  • To build the projects, open the .sln file in the root directory with an IDE such as Visual Studio 2022, click Build -> Build Solution.

The .CommandLine project is currently just a simple script that calls the .Core functionalities and can run on any popular OS. Feel free to improve it and/or submit a pull request if you'd like :-)

Credits

  • PNZeml for the CRC-16/CCITT-FALSE with lookup table implementation
  • kwsch, sora10pls and all the PKHeX and pkNX devs and contributors for a lot of offsets and resources
  • PP-theSLAYER and pasqualenardiello for their researches on the Sword & Shield fashion block and on the Scarlet and Violet fashion block respectively
  • All the Project Pokémon Staff and the Event Gallery contributors for their archival efforts that made this possible

License

gplv3-with-text-136x68

Copyright © 2024 Manu098vm

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.