top of page

Add Multiple Overworld Sprite Tables

3.5

Description Loading...

HMA Discord Link 2.png

Credits:

Sylinuser


DISCLAIMER: This tutorial, as of right now, will prevent HMA from automatically deleting clones when moving an NPC away from a map border.

Additionally It will remove the clone checkbox that you see in the map editor.

ALWAYS MAKE A BACKUP BEFORE MAKING CHANGES TO YOUR GAME

Step 1

Go to 14BDCB0 and paste graphics.overworld.table[table<>]255 to the anchor

ree

Once pasted, it should look like this

ree

Step 2

Click on the first <null> and type <

ree

Type in any free space address of your choice, then close by typing > For this example we are using <1DD7BD0>

ree

Step 3

Once your pointer is in, right click and select Pointer Operations, then select Open in New Tab

ree

This will take you to your new, blank address (from step 2) in a new tab

ree

Step 4

Go back to your previous tab and click the Home Button. Navigate to graphics.overworld.sprites (click graphics, then overworld, then sprites)

ree

Step 5

On any sprite that is not the players sprites, copy the data address on the far left side.

Make sure to copy the whole thing including the < and >

ree

Step 6

Go back to your other tab that has the pointer for your new table in free space

ree

Paste the data pointer you just copied in Step 5

ree

Step 7

Copy this and paste it into the anchor at the top

graphics.overworld.sprites3[data<[starterbytes:|h paletteid:|h secondid:|h length: width: height: info.|t|palSlot::|shadowSize:|inanimate.|reflectionPalette. footprint.owfootprints colourtext: distribution<> sizedraw<> animation<> sprites<`osl`> ramstore<>]1>]
ree

This will convert your sprite into a table

ree

NOTE: If you get this pop up, click "continue" and ignore it

ree

Step 8

Click the "back" arrow at the top

ree

Now your table is set and you will want to repoint the sprite you just created, this way you can change this sprite without it affecting the original one in the original sprite table

ree

After repointing, another repoint option will appear. Make sure to click that one too

ree

Step 9

Double click the address on the right OR click the arrow for the pointer in the data field

ree

Scroll through the sprite sheet and repoint every single frame

ree

Once every frame has been repointed, your sprite is now ready to edit!

ree

You can now go back and click +Add New to add more sprites as you need

ree

STILL NOT DONE

Unfortunately any sprite in any of these new tables we are adding will NOT appear in the overworld sprite tool. you will need to manually add these sprites to your maps. Here is how that is done

ree

Step 10

SAVE AND CLOSE HMA

Step 11

Go to where your game is stored on your PC and open up the .toml file in a notepad (or text editor of your choice, I like Code Writer)

ree

Step 12

Do Ctrl+F to open up the search function. and search for

id. graphics.graphics.overworld.sprites
ree

Step 13

Highlight/select kind:

ree

and replace it with

dynamic. table.graphics.overworld.table
ree

Now how to insert and use your new sprite!

Step 14

Open HMA back up and place a new NPC wherever you want. Note the ID of the new NPC

ree

Step 15

Click on Edit Map Header at the top, then click View Table in Data View. This will bring up the details of the map you are on

ree

Step 16

Click on the arrow next to Events

ree

Step 17

Double click on the first pointer shown on the top right

ree

You will be brought to this table

ree

Step 18

Click on the NPC ID on the right corresponding with the NPC you added in Step 14

For this example it was ID 4. Once selected you need to edit the graphics and table drop downs on the left

ree

Both graphics and table will have a long list of options

Indexes start at 0 meaning your first, brand new sprite that you've added to your new table will be index 0, in this case you can leave graphics at 0. The next sprite you add to your new table will be index 1, and so on. Since this is now the second table in your game you need to change the table to 1. Table 0 is the original sprite table. Table 1 is your new one.

ree

And you are finally done! Great Job!

Final Notes

Your new sprites will not show up in the map editor, but they WILL be correct in game!

ree
ree

Any new table you make will have a maximum limit of 255

From my experience (BroTacos) you can not use sprites from your new tables as dynamic sprites.


Additionally I have noticed adding new sprites to a map will have the table set as default to 255. Normally this does not cause issues UNLESS you are working with a dynamic sprite. In that case you will have to go into the maps data table (Step 18) and make sure your dynamic sprite's ID is assigned to table 0.



Happy Hacking!

 


Previous
Next
bottom of page