Jump to content

Switch Gift Data Manager - Import wondercards into Switch games by faking BCAT packages


Recommended Posts

image.png

GitHub Source Code

Download Latest Release

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.

Video example:

Spoiler

 

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 Tutorial

The following tutorial refers to the Windows Form app.
The .CommandLine app is currently just a simple script that calls the .Core functions and can run on any popular OS. Its usage is similar to the Windows Form app and should be fairly intuitive.

  1. Ensure you have the required .NET Desktop Runtime 6.0.x correctly installed
  2. Download the latest tool release from GitHub
  3. Dump your game's BCAT with JKSV and keep some copies somewhere safe
    Spoiler
    • Open JKSV from the Homebrew Launcher:
      Spoiler

      2022110618185000-DB1426D1DFD034027CECDE9C2DD914B8.jpg

    • Select BCAT
      Spoiler

      2022110618190200-DB1426D1DFD034027CECDE9C2DD914B8.jpg

    • Select yout game of choice
      Spoiler

      2022110618192500-DB1426D1DFD034027CECDE9C2DD914B8.jpg

    • Press L+R+A while hovering "New" to start the dumping process
      Spoiler

      2022110618192700-DB1426D1DFD034027CECDE9C2DD914B8.jpg

    • A folder called "BCAT [DATE] @ [TIME]" will be generated in the SD/JKSV/[Your Game ID]
      Spoiler

      Cattura.PNG

  4. Open the Switch Gift Data Manager tool and select your game of choice
  5. Import wondercard files of your choice (by drag & drop or by clicking the `Open Files` button)
  6. Eventually edit the wondercard id (WCID) if you have invalid WCs and click `Apply` [N.B: doing this step in SV games might result in invalid Pokémon since the preset TID/SID, if present, is tied to the WCID. Read the FAQ for more info]
  7. Click the `Save as BCAT Package` button and select your dumped BCAT folder in the "Source BCAT Path" section
    (the path must lead to the folder containing the files "directories.meta", "etag.bin", "list.msgpack", "na_required", "passphrase.bin")
  8. Click the "Save" button
  9. A folder called "Forged_BCAT_{Game}" should appear next to your dumped BCAT (or in whatever path you selected in "Destination BCAT Path")
  10. Restore the forged Bcat with JKSV
    Spoiler
    • Move your forged BCAT to SD/JKSV/[Your Game ID]
    • Open JKSV and select BCAT
    • Select your game of choice
    • Hover over the forged BCAT and press Y
      Spoiler

      2022110618364300-DB1426D1DFD034027CECDE9C2DD914B8.jpg

    • Press A to confirm
  11. To redeem the old fashion events, open your game -> Menu -> Mystery Gift -> redeem via Internet
  12. 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) if there is new BCAT content in the servers. 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`.
    Spoiler

    2022110618423400-DB1426D1DFD034027CECDE9C2DD914B8.jpg

  • 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.

If you find any bug or you need support, please read carefully the FAQ section. Comment this post with your question if you still need help.

Credits

  • PNZeml for the CRC-16/CCITT-FALSE with lookup table implementation
  • Kurt, Matt and all the PKHeX and pkNX devs and contributors for a lot of offsets and resources
  • theSLAYER for his researches in the Sword and Shield fashion block and for the clothing names resources
  • All the Events Gallery contributors for the archival efforts that made this possible
  • Like 5
Link to comment
Share on other sites

F.A.Q.

  1. Q) Is this legit?
    A) Legit means no external tools, hacking and/or glitch abusing are used. At best, Pokémon obtained in this way can be legal. Do note that trading Pokémon obtained this way without proper disclosure might be considered scam.
     
  2. Q) Can I follow this tutorial with a clean, non-hacked Switch unit?
    A) No, Atmosphere CFW is required.
     
  3. Q) Can I follow this tutorial while being offline or with my EmuNand?
    A) No, this requires you to be online and connected to Nintendo official servers.
     
  4. Q) Can I follow this tutorial without an NSO (Nintendo Switch Online) paid subscription?
    A) Yes, Mystery Gift features don't require NSO.
     
  5. Q) Do I risk a ban by using faked BCATs?
    A) Maybe. Really, who knows. As of now we don't have any ban reports but, as always, we don't take any responsability in case your console, game or savefile gets banned. The method is similar to save file backup / restoration, and as of now we don't have ban reports for that either. If anyhow you're too worried to proceed, just avoid following this tutorial.
     
  6. Q) Why can't I add more than one (1) wondercard per time to Let's Go Pikachu/Eevee BCAT?
    A) Even if you were to build a BCAT with more than one card, the game would only see the first card added. There would be no point in allowing users to add more cards.
     
  7. Q) Why are some of my wondercards flagged with a yellow warning sign or with a red esclamation mark inside the tool?
    A) The tool marks wondercards as invalid in these cases:
    Spoiler
    • Duplicated WC ID: wondercards with duplicated ids will likely be ignored by the games.
    • WC ID over the maximum allowed: Pokémon Brilliant Diamond and Shining Pearl will ignore any wondercard with an id greater than 2047.
    • Wondercards count over the maximum allowed: having more than 128 wondercards in a single BCAT pack might cause freezes or crashes upon redemption.
     
  8. Q) When I try to edit the Wondercard ID (WCID) on Scarlet & Violet BCAT, a warning pops up, why?
    A) SV Wondercards which gives Pokémon with a preset TID and SID use the Wondercard ID to modify the resulting TID and SID. If the Wondercard ID gets edited, the resulting Pokémon will have wrong TID and/or SID. You can safely ignore this warning for Wondercards that give Items/Clothings or for Pokémon Wondercards which set TID and SID based on the receiving Trainer, such as the Flying Pikachu.
     
  9. Q) Can I change the wonder records receive date?
    A) Yes, the switch-time homebrew is an option to edit the internal unix time. Only use it if you know what you're doing. Resync the unix time afterwards.
     
  10. Q) Can I change the Met Date for received Pokémon in Pokémon Legends Arceus?
    A) Same answer as point 9.

 

.....

  • Like 6
Link to comment
Share on other sites

Good ^_^
I can not inject the w9 with the program with the BCAT of Pokemon Violet, when saving in the BCAT tells me all the time invalid BACT source path, and I've tried even with the BCAT you have uploaded in Backup and I get the same xd

Link to comment
Share on other sites

17 minutes ago, Lina said:

invalid BACT source path

Means that you are selecting an invalid/incomplete BCAT (or something that is not a BCAT at all). Dump again the BCAT from your console and try again. Please follow the guide carefully.

17 minutes ago, Lina said:

and I've tried even with the BCAT you have uploaded in Backup and I get the same

I have no idea what you're talking about. I haven't uploaded any BCAT to the site. If you mean my bcat_updates github repo, those are incomplete BCATs without console-specific informations. They can not be used with this tool. You need your full BCAT dump.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...