1. IntroThis will be a very simple and fast guide on how to create custom textures for Pokemon Sword, Shield, and Let's Go. I will aim to make it as easy for the reader as possible. I hope this guide can help you out
2. RequirementsYou will need the following:
- A Nintendo Switch with RCM exploit (you can check here if your switch is patched or not https://ismyswitchpatched.com/)
- CFW (Atmosphere or Kosmos is what I will be using for this guide)
- Your Nintendo Switch keys (Guide here: https://gbatemp.net/threads/how-to-get-switch-keys-for-hactool-xci-decrypting.506978/)
- XCI_NCA_NSP_v2 (Download here https://gbatemp.net/attachments/xci_nca_nsp_v2-rar.142743/)
- ToolBox (Download here https://ismyswitchpatched.com/)
- Any photo editing software to edit your textures
3. Extracting Game FilesFor this step, you have to extract XCI_NCA_NSP_v2.zip (doesn't matter where you extract it) and rename your 'keys.txt' you obtained from the link above to 'prod.keys' and place it in the 'ztools' folder. After that, all you have to do is drag and drop your XCI/NSP file to 'Drag_XCI_NCA_NSP_HERE.bat'. I am using an NSP, so I am going to chose option '1'. This will extract a few NCA files but will take a while, so don't think the program crashed or anything. After it is done, you will get a folder named 'xciDecrypted' or 'nspDecrypted' depending on weather you extracted an NSP or not. You then need to navigate into the new folder the program just made, there will be a few files with random numbers. DO NOT PANIC! It is 100% normal. All you will have to do from here is select the largest .nca file and move it to the 'XCI_NCA_NSP_v2' folder. After that, simply drag and drop the file once more and it should start decrypting! Once it has finished you will see a new folder named 'ncaDecrypted'. In there, you will find all your game files ready to be modded!
4. Editing Textures
4.1. PokemonThe Pokemon themselves share the same directory between all games, including Let's Go. If you want to create a custom texture for any Pokemon, open ToolBox, click on 'File' at the top then select 'Open'. Once you do that, navigate to where ever you have your game dump. Then make your way to bin/archive/pokemon. After that, you will see a bunch of .gfpack files. For Pokemon gen 1 - 5, all you have to do is find the pokedex number associated with it and then open the file that has it's dex number. But for Gen 6 - 8, things got a bit weird and everything is out of order. I am currently working on a list of where all Pokemon textures are located, but for now you will have to find it this way. Simply go back into ToolBox, click on 'File', then click on 'Open (Folder)'. You will then want to head over to bin/appli/icon_pokemon and then open it. You will then see a folder in ToolBox named 'icon_pokemon'. Double click on it, and it should display a bunch of files. These are the Pokemon sprites you see in the PC Box and menu. You will have to play a guessing game from here if you want to mod a Pokemon from Gen 6 onward. Say for example I would want to create a texture for Mr. Rime, since it is a Gen 8 Pokemon, it won't be associated with it's dex number. All Generation 8 Pokemon will be after number 892. Start double clicking on random files in ToolBox, it will display the sprite of the Pokemon you want to mod. This makes it a lot easier than manually searching for them (In my case, I found Mr. Rime at 980). Once you find the Pokemon you want to edit, keep note of the number as you will need to go back into bin/archive/pokemon and open pm0XXX_XX.gfpak (XXX being the number of the Pokemon you want to edit, XX is usually just 00, but if the Pokemon has an alternate form, the number will differ)
Once you have opened the .gfpack file you want to edit, double click on the folder that just appeared in ToolBox. Then there will be a folder named textures. From here you can find whatever texture it is you want to edit. Simply double click on each texture until you find the one you want to edit, then right click and select 'Export' and export the texture as a .png file. You can then edit it in whatever program you want. After you are done editing the texture, right click on the texture you just exported and select 'replace' and it will then overwrite the original texture with the custom texture you have edited. Congrats! You just made your first custom texture! After you are done, right click on the folder 'pm0XXX_XX' (in my case it is pm0980_31) and save it to your Nintendo Switch' SD Card. On the root of your SD card, navigate to the atmosphere folder, then create a folder called 'titles' if you don't already have it. From there we need to create a folder called '0100ABF008968000' for Sword users or 01008DB008C2C000 for Shield users. After you have done that, create a folder named 'RomFs'. What you are doing is replicating the folder structure of Sword and Shield so that atmosphere can read it and replace the files on the fly. Inside the 'romfs' folder, make another folder and name it 'bin' and inside 'bin' you need to create ANOTHER folder 'archive' then inside that folder make one more folder named 'pokemon' and save the file you just edited there. (I know most of you know how layeredfs works but I am aiming to be as newbie friendly as possible)
Now, enter CFW, run Pokemon Sword/Shield, and boom! There you will see your custom texture!