• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Forum moderator applications are now open! Click here for details.
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Adding run frames to other minisprites

97
Posts
15
Years
  • Seen Oct 3, 2016
Hello to every body, I'm glad to share my knowloedge about how to add run frames to other minisprites.
Before start the tutorial, i need to say, that it's really interesting for people that USES the DYNAMIC MINISPRITE. (I mean, the jpan's routine or my routine..) Because if you have ever make a dynamic minisprite, and uses another that are not the player, (like the policeman) you will see that if you press "X" to run, the game will not load the run shoes frames.

OK, after explain the purpose of this tutorial, let's start to make the magical hex edition!

FIRST: You need to open your rom in your minisprite editor, like NSE o OverWorld Editor. (I will use the second one, because i like it), and then you need to put it in ADVANCE MODE.
How can I do it? Pressing Ctrl + M.
There are an small screens:

NSE:
aR8h6MH.png


OVERWORLD EDITOR:
2Ch01QV.png

SECOND: After put your OverWorld Editor o NSE in ADVANCE MODE, you will go to the minisprite that you want to add run shoes frames.
For example i choose this kid.

G9wsQvV.png

So, We need to see in some interesting pointer that are the next ones.
In NSE -> Sprite Pointer: 08324128
In OWE -> Dirección del mini : 08324128 (yes, it's in spanish because i'm spanish)

This pointers, are each frame of this minisprite.
So to copy all frames of this minisprite, We need to go to this offset (08324128) and copy 900 bytes.
Why 900 bytes? Because this minisprite have 9 frames, and each frame ocupes 100 bytes.
In this example, i will copy all of bytes from 08324128 to 08324a28.

THREE: We need find 900 bytes of freespace, for example in my rom I found it on the offset; 08700000.

And.. that's all? NO.

Now, we need to insert the next 9 frames, that are the run shoes frameset.
For do it, we insert in above the "normal" minisprite that we want to add run shoes framesets.

When done it, finally we need to make a frameset table. The famous "Pointer 3" of NSE and "Pointer del sprite" of OverWorld Editor.

For make the frameset table, We will find some free space again, now we need 4 bytes that are one pointer * 18 frames = 72 bytes.

When we find 72 bytes of free space, for example in my rom will be this offset; 0870A000
we create manually the Frameset table.
How?
Quite simple;

First of all you need to put the first eight frame pointers (If you remember, it will be the eight frames that you copies in a some free space at the start of this tutorial)

In my case, my table will be something like this:
00 00 07 08 00 01 07 08 00 02 07 08 00 03 07 08 00 04 07 08 00 05 07 08 00 06 07 08 00 07 07 08

After that, we need to copy the frame pointers of the run shoes.
That are the offsets that indicates the option "sprite Pointer" in NSE, and "Direccion del mini" in Overworld Editor.

Finally, copying the nexts eight frames, my table have ended.
00 00 07 08 00 01 07 08 00 02 07 08 00 03 07 08 00 04 07 08 00 05 07 08 00 06 07 08 00 07 07 08 28 41 32 08 28 42 32 08 28 43 32 08 28 44 32 08 28 45 32 08 28 46 32 08 28 46 32 08 28 47 32 08 28 48 32 08 28 49 32 08

After this, we finally have eighteen frames for this mini, and for make it works we need to repoint the famouse "sprite pointer 3" in NSE (that it's a table of framesets) or the "Pointer del sprite" in OverWorld Editor.

The offsets are the next one;
NSE -> Pointer 3: 0836E350
OwE -> Pointer del sprite: 0836E350

So, we will open our hex Editor, and find this pointer, but don't forget search it permuted! (50E33608)

mYNVkwo.png

Then, when We find it:

ZB1nAip.png

We rewrite this pointer to our pointer. In my case 00 A0 70 08


And that's all! I really hope that you will understand this tutorial, and if you have any question or suggestion comment it!

Have fun hacking!
 
Back
Top