Modding Portraits and Sprites

From PMDOWiki

This tutorial shows how to import and test custom Pokemon sprites and portraits, with a focus on those taken from the PMD Sprite Repository.


Setup

Run the game in developer mode using the dev.bat

The game will start with a window for dev controls:


In the game window, hold F1 and press F12 to skip to the debug room:

  1. FPS stats. Refreshes every time the overlay is toggled. Press F1 to toggle.
  2. Animation Speed. F5 to slow down, F6 to speed up. F2 to pause. F3 to frame advance.
  3. Zoom level. Use the mouse scroll wheel to adjust.
  4. Current location in Zone, Section, and Map. You can ignore this.
  5. XY Position in tiles.
  6. Current animation in Anim:Direction:Frame, helps you determine which frame of animation you are on.
  7. Time in frames elapsed.


Testing

You can change which Pokemon you are debugging by using the Player tab in the dev window. You can also change the animation you’re currently using:

The plus signs all signify offsets for the Pokemon:

  • Green: Head
  • Black: Center of Body
  • Blue: Left Arm
  • Red: Right Arm

You can warp to anywhere on the floor by using Shift+Right Click, and you can turn off the minimap using Backspace

Editing Sprites

To edit sprites, go to the Sprites tab:

Here, you can import and export sprites:

To import to a slot, select that slot and choose Import.

You will need to specify a folder to import from.

PMDO supports the folder format used in the PMD Sprite Repository:

If you choose the folder containing the XML and sprites directly, the import will succeed.

Import will take some time, wait for it to finish. Once import is done, switch to the Pokemon:

If you make some changes and want to see them reflected immediately, click on the Re-Import button to import without having to choose folder again.


Right-clicking on a sprite will also give the option to use certain convenience functions:

  • Export as Single Sheet: Single sheet format stores all animation data in XML, and the animation frames themselves as a single sheet. It is useful for editing or recoloring only frames. Read more below.
  • Create Double Anim: Auto-generates the Double animation for the pokemon, using the first Idle frame. Useful tool so you don’t have to create the anim manually.
  • Create Rotate Anim: Auto-generates the Rotate animation for the pokemon, using the first Idle frame. Useful tool so you don’t have to create the anim manually.
  • Create Swing Anim: Auto-generates the Swing animation for the pokemon, using the first Idle frame. Useful tool so you don’t have to create the anim manually.
  • Collapse Offsets: Takes all animation frames that look the same and makes it such that they all have the same offset positions. Useful if you have many inconsistent offsets.


If you export a sprite in single-sheet format, it will look like this:

In this format, it becomes easier to recolor all sprites because they are in a single sheet file. It also becomes easy to edit frames; if you wanted to edit a frame in the normal PMD Sprite Zip format, you would need to hunt down every animation that used that frame. This format is useful for changing the sprite without changing its movement.

When you're finished editing the sprite in this format, you can import it using the Import button, and then export it back to PMD Sprite Zip format.


Editing Portraits

Portraits are handled the same way as sprites, in the same structure.

You can choose to import them in the same way.


Multi-file format from the PMD Sprite Repository is supported:

As is the single-file version:

Make sure the spritesheet is named Sheet.png when you import the folder. You will be able to see your portrait in the bottom-left of the screen. Press F4 to cycle through emotions.