HUBOL ‐ Adding New Sprites & Particles - haven1433/HexManiacAdvance GitHub Wiki

Click here for HUBOL's main page. HUBOL is short for "Haven's Unofficial Build of Leon's dynamic Pokémon expansion."

Credits: DontJoelMe - OceanBlue

Prologue

Before you get started, it is important to know that each sprite has specific data information that must be identical to other sprites of the same size.

First and foremost, before doing ANYTHING in HMA, always remember to make a backup of your file in case you accidently do something wrong and need to restart.

Open HMA and go to graphics.overworld.sprites. Click on a sprite that will be the same size as the one you are wanting to upload and acknowledge the:

  • Length
  • Sizedraw
  • Distribution

Every sprite must have these numbers be identical to sprites of the same size. Below are screenshots highlighting what those numbers are:

16x16 16x32 32x32
image image image

Notice that the length is half of the product of the width and height: length = width * height / 2.

Steps

Step 1

Go to graphics.overworld.palettes and scroll all the way down until you see <null>.

image

It is extremely important to know that the palette MUST remain there. You CANNOT replace/delete this palette, or your game will BREAK.

image

Step 2

Click on the <null> palette, and on the left side, click "Add 1 New."

image

This will now generate a SECOND <null> palette. Click on the one above it. The second to last <null> palette is safe to edit, and this is where your new palette will go.

image

Step 3

On the left, change the palette ID to the next number that is in corresponding order with the previous palettes. You should see the number update on the right.

image

Your new palette will populate with all black colors. You do not need to manually add your colors at this time. The colors to this palette will automatically update properly a few steps from now.

image

Step 4

Copy the pallet ID to the palette you just created. In this case, the number is 0x1164. You will need this.

Step 5

Go back to graphics.overworld.sprites, and locate a sprite that you want to completely replace with your new sprite.

image

If you will be changing the sprite size, you will adjust the width and height here:

image

For this example, it will be updated to 32x32. This will make the sprite on the bottom break visually, but don't worry about that for now.

image

This is also the time where you want to update the numbers from the beginning of this tutorial. In this case, they changed the 3A379C to 3A37F0. (If the number is already correct, just leave it.)

Step 6

IMPORTANT: Finally, before you upload your sprite, make sure to PASTE your pallet ID in the paletteid: section.

image

The sprite will become black because your palette doesn't have any colors attached to it yet, which is fine. As mentioned, the colors will populate in a moment. If you do not correct the palette UD address to your new palette, you may overwrite a preexisting palette and break hundreds of sprites in your game!

Step 7

Now, it is time for you to upload your sprite. Remember that the dimensions can only be either 16x16, 16x32, or 32x32. This example will be using one of the 32x32 Pokémon sprites from a saved, cropped sheet.

image

The Import Dialog

When you import your sprite, you will get this pop-up with 3 options. Here is what those options do:

image
Option Notes
Smart This will take the colors of the sprite you're uploading and will automatically update the colors to fit their closest counterparts to the pallet that's already selected. This is a semi-reliable tool that works well for its purpose.
Greedy This option will completely replace the existing palette with the colors of the sprite you attempting to upload. Be EXTREMELY careful when pressing this option. If you see below where it says "Break X other sprites", if that number is above 10, you are about to break the colors of every sprite that shares that palette.
Cautious This will not change the palette at all, and your sprite will be assigned whatever colors are already in the palette. Only use this option when uploading frames for a sprite and a palette that you've already created. See more information below.

Because we created a new palette and changed the palette ID address for this sprite, the Greedy option only shows 9 sprites that will be broken. This is the correct number, as it is saying that the only sprites that have this palette are the one that you are working on and its 8 other frames. If the number is higher than 9, verify that you changed the palette ID correctly. Otherwise, Click [Greedy] now.

Congratulations! Your sprite has been added!

image

Other Frames

Now, at this time, you have only uploaded the facing_down sprite. If you click the "Next" button, you will see that you can also upload different frames for this sprite: the ones that animate the sprite as it walks around.

image

As you upload the frames, you can now press the "Cautious" option since the palette now has the correct colors populated.

Do note that the updated sprite will not show as updated in the Map Header tool preview until you change what map you currently are editing. If you select the sprite and drag it into the overworld though, it will be there!

Original Sprite Updated Sprite
image image
⚠️ **GitHub.com Fallback** ⚠️