u/NoAbility15

Image 1 — [Gen 4] Turtorial: How to Change Move Animation Sprites in Pokemon Platinum
Image 2 — [Gen 4] Turtorial: How to Change Move Animation Sprites in Pokemon Platinum
Image 3 — [Gen 4] Turtorial: How to Change Move Animation Sprites in Pokemon Platinum
Image 4 — [Gen 4] Turtorial: How to Change Move Animation Sprites in Pokemon Platinum

[Gen 4] Turtorial: How to Change Move Animation Sprites in Pokemon Platinum

What you need:
A paint software that can index sprites
Tinke (replacing and extracting)
A Gen 4 move effect editor (to find which animation file plays during the move)
NitroEFX (editor for nitro particle files)
Nitro Paint (to edit NDS graphics)

Note: you can edit the colour of a lot of move animations extremely easily in NitroEFX, this guide is for the unique sprites found in some moves (i.e Attack Order's bees or Magical Leaf's leaves)

The move animation files can be found in Tinke inside /wazaeffect/effectdata/waza_particle.narc. Inside are 485 files corresponding to different move animations, to find the move animation you want, download a Pokemon Gen 4 move effect editor, inside the editor find the move you want to edit and in the commands see the numbers after “SetPlayAnm” (should look something like 0x0 0x1 0x2) what you want is the middle number (0x1) that Hexadecimal converted into Decimal will give the number to the specific move animation file in waza_particle.narc.

After you find the number for your move animation file, find the file in waza_particle.narc, extract it and open it in NitroEFX, click on a resource under the resource tab and then go to the texture tab to see all its textures. Find the sprite you want to edit, the dimensions of the sprite or custom sprite you are trying to replace doesn’t matter, replacing a 32x32 sprite with a 64x64 sprite will still work and the 64x64 sprite will be the same size in game as the 32x32 sprite was, likewise replacing a 64x64 sprite with a 32x32 sprite will cause the 32x32 sprite to be as big as the 64x64 sprite. Export the sprite you want to replace and create a sprite to replace it, in your paint software that has the ability to index, use only 8 colours and index your custom sprite with the transparent colour being in the top left of the colour swatches.

Now open your custom sprite Nitro Paint and click “create texture”. In the texture editor, Convert to:

Format: a5i3

Colors: 8

Convert

And save it as a .tga file. Now clear nitro paint and go to file/open, select the sprite you want to replace and click “create BG”

Palette:

Palettes: 0
Size: 8

Generate

Now in the palette editor highlight the 7 colours after the top left pink swatch and right click, “create” and add your custom sprite.tga as a bitmap, colours: 7, and generate. In the character editor resize to 4 x 4 and adjust window to see the 4 x 4 grid, highlight it and right click on the 4 x 4 grid and click “import bitmap here” select your custom sprite.tga, untick “write palette”, tick “OBJ mode”, keep OBJ size 8x8 1D 32K.

Now in the character editor, copy your custom sprite, in the screen editor highlight all squares, paste the custom sprite in it and unselect all squares in it before pressing “apply”. Your custom sprite should be in the character editor and screen editor with the right colours, export as a png.

Note: if you are replacing 2 sprites with the same palettes in the same move animation then use the same custom sprite .tga on the palette editor for both sprites, otherwise the 2 custom sprites will have different palettes even if you index them with the same palettes. Failing to use the same .tga for the palette might make colours swapped on your 2nd sprite in game

Open nitroEFX, find the texture and right click on the one you want replace, click “update” and select your exported sprite png from nitropaint, make format A5I3 and confirm, go into your updated texture with your custom sprite and tick “palette color 0” then click file/save all. Reinsert the ASM file you edited into the same place in Tinke, pack and save Rom.

There are some move sprites you cannot edit from NitroEFX (i.e mean look) because their sprites aren’t tied to the ASM but are deconstructed in another folder in wazaeffect/effectclat/. The 4th image above shows the specific sprites that are in effectclat/. Inside of wazaeffect/effectclat/ there is wecell.narc, wecellanm.narc, wechar.narc and wepltt.narc. In order to view and replace these sprites you first open the palette in wepltt.narc, open its corresponding file in wechar.narc, open the next corresponding file in wecell.narc and finally open the corresponding file in wecellanm.narc. There you should see the true animation of the moves and you can replace the sprite through Tinke.

u/NoAbility15 — 5 days ago

[GEN 4] How to Change Rotom's form moves (i.e Overheat -> Meteor mash) in Pokemon Platinum

Rotom's moves (Overheat, Hydro Pump, Blizzard, Air Slash, Leaf Storm) can be changed to any other move in the game, to do this first find the IDs of the moves you want to use. Open DSPRE and navigate to the moves editor, each move in the list should have a 1-3 digit number next to it like Meteor Mash having 309 next to it. After you get your number ask an AI LLM to convert your number (in this case 309) into Little Endian Hex Bytes. After which you should have the Decimal number (309) and the Hex Bytes (35 01), in this case both representing Meteor Mash.

Next get an unpacked DSPRE folder and open the arm9.bin in Crystaltile2

Find the string of bytes: 3B 01 38 00 3B 00 93 01 B4 01
These are the Hex Bytes for Overheat (3B 01), Hydro Pump (38 00), Blizzard (3B 00), Air Slash (93 01) and Leaf Storm (B4 01)

Replace the bytes you want with the bytes for your new moves, in this case I replace 3B 01 (Overheat) with 35 01 (Meteor Mash)

Save and open that unpacked DSPRE folder with the edited arm9.bin in DSPRE

Go to Script editor, Script file 83, Function 36

Function 36 to 40 are about Rotom’s form moves

315 = Overheat

56 = Hydro pump

59 = Blizzard

403 = Air Slash

436 = Leaf Storm

Replace the number of the move you want to replace with the ID number of the move you want (in this case I replace 315 Overheat with 309 Meteor Mash) and save

u/NoAbility15 — 10 days ago

Pokémon Following Platinum: G4 Patcher Modified Patches

G4 Patcher is a tool by KalaayPT to put various QoL features into the generation 4 games, if you’re using a generation 4 game as a base then check it out: https://github.com/KalaayPT/G4Patcher

I’m personally using Pokemon Following Platinum Fairy type version as the base for my Rom hack which can be patched with the simple patches the G4 patcher provides (except for for the RemoveSurfAndWaterfallChecks.asm patch which makes the item pocket of the bag crash the game after surfing)
but when it comes to the G4 patchers code injections it’s completely incompatible, so I modified 3 of the code injections for Pokémon Platinum to work with Pokémon Following Platinum Fairy type version instead,

The EV+IV Viewer Patch by Kalaay,
The Ai item use fix Patch by Yako
And the Rare Candy Chaining Patch by Yako, Kalaay, Mixone

You can use all 3 of these patches in the same game, but if you plan on using these code injections for your Pokémon Following Platinum Rom then make sure to credit the creators of the patches.

Patching the EV+IV Viewer by Kalaay:

Use the L button to switch between normal, IV and EV stats

You will need a DSPRE unpacked Rom folder

First go to the G4 patcher GitHub and find the EVIV_PLAT.asm and download it

Second download Kingcom's Armips from their GitHub: https://github.com/Kingcom/armips

Now copy the arm9 folder that has the arm9.bin from your DSPRE Rom folder and paste it into a brand new folder along with Armips.exe and EVIV_PLAT.asm, like this:

New folder/
Arm 9 folder
Armips.exe
EVIV_PLAT.asm

Next find the comment under this post that starts with EVIV_PLAT.asm and copy the entire comment

Now open EVIV_PLAT.asm in a text editor and delete absolutely everything, then paste the EV+IV Viewer Reddit comment into the blank .asm

Next open a command prompt with a path to the folder containing the Arm9 folder, Armips.exe and EVIV_PLAT.asm and write into the command prompt: armips.exe EVIV_PLAT.asm

This should assemble correctly and inject the EV+IV Viewer patch into the Arm9.bin inside your Arm9 folder

Now just place the arm9 folder back into your DSPRE contents folder and rebuild it with DSPRE

Patching the Ai item use fix by Yako:

You will need a DSPRE unpacked Rom folder

First go to the G4 patcher GitHub and find the use_item_fix_PLAT.asm and download it

Second download Kingcom's Armips from their GitHub: https://github.com/Kingcom/armips

Now copy the arm9 folder that has the arm9.bin and arm9_overlays folder that has ov014 from your DSPRE Rom folder and paste it into a brand new folder along with Armips.exe and use_item_fix_PLAT.asm, like this:

New folder/
Arm 9 folder
arm9_overlays folder
Armips.exe
use_item_fix_PLAT.asm

Next find the comment under this post for the “Ai item use fix” and copy the entire comment

Now open use_item_fix_PLAT.asm in a text editor and delete absolutely everything, then paste the “Ai item use fix” Reddit comment into the blank .asm

Next open a command prompt with a path to the folder containing the Arm9 folder, arm9_overlays folder, Armips.exe and use_item_fix_PLAT.asm and write into the command prompt: armips.exe use_item_fix_PLAT.asm

This should assemble correctly and inject the “Ai item use fix” patch into the Arm9.bin inside your Arm9 folder

Now just place the arm9 folder and arm9_overlays folder back into your DSPRE contents folder and rebuild it

Patching the Rare Candy Chaining Patch by Yako, Kalaay, Mixone:

You will need a DSPRE unpacked Rom folder

First go to the G4 patcher GitHub and find the chain_candy_PLAT.asm and download it

Second download Kingcom's Armips from their GitHub: https://github.com/Kingcom/armips

Now copy the arm9 folder that has the arm9.bin from your DSPRE Rom folder and paste it into a brand new folder along with Armips.exe and chain_candy_PLAT.asm, like this:

New folder/
Arm 9 folder
Armips.exe
chain_candy_PLAT.asm

Next find the comment under this post for the Rare Candy Chaining Patch and copy the entire comment

Now open chain_candy_PLAT.asm in a text editor and delete absolutely everything, then paste the Rare Candy Chaining Patch Reddit comment into the blank .asm

Next open a command prompt with a path to the folder containing the Arm9 folder, Armips.exe and chain_candy_PLAT.asm and write into the command prompt: armips.exe chain_candy_PLAT.asm

This should assemble correctly and inject the Rare Candy Chaining Patch into the Arm9.bin inside your Arm9 folder

Now just place the arm9 folder back into your DSPRE contents folder and rebuild it with DSPRE

injecting the normal Pokemon Platinum patches into Pokemon Following Platinum doesn’t work since the patches were designed to be injected into free space that Pokemon Following Platinum doesn’t have anymore, so I redirected the patches into the only free spaces left in the arm9.bin, offsets: 000F30B4, 000F3168, 000F321C, 000F32D0, 000F3438, 000F3D5C, 000F39FC, 000F3B64,
these spaces appear to be 00 bytes that aren’t used by the game in any way but they are extremely small spaces (EV+IV Viewer is split between 5 of the spaces) there’s only one offset that I didn’t use: offset 000F3E34 but that only has enough room for a small patch like no_items_PLAT.asm by Yako which makes the player unable to use items in a trainer battle, if you want that for your Rom hack then inside no_items_PLAT.asm replace “INJECT_ADDR equ 0x023C8000” with “INJECT_ADDR equ 0x020F3E34” and assemble like the other patches

If your Pokemon Following Platinum Rom freezes at any point after applying these patches then reply to this post with what froze the game

u/NoAbility15 — 2 months ago