Overwriting stuff because of long animation?


#1

So I have been wondering if I have to worry about overwriting some code if my custom animation is too long. I guess I can use a hex editor to check that, but I have no idea what I should look out for.
do I find the data and space by simply searching the pointer in the hex editor?


#2

A pointer indicates a place in memory, you wouldn’t look for the pointer, you would go to where it points. For example, if your pointer is 0x08E00000, you would go to 0xE00000 and check what’s there.

If you searched for the pointer you would just get some other offset where the pointer is written to so that the game can find the offset it points to.

What method are you using to insert your animation?

In any case, you shouldn’t be overwritting code in any case since all the code is near the beggining of the ROM, you could overwrite some other data like a table or whatever.


#3

I use FEditor or FeBuilder. it depends on what works better (mage loops don’t work in FeBuilder for me as an example)
Is there something I have to look out for? Does the original animation get overwritten to free some space?


#4

I don’t know how either of those tools handle anything, I know FEditor is known for breaking ROMs though.


#5

that’s horrible, but good to know. FEditor isn’t really my first choice, but sadly my mage animation didn’t work when inserted via FeBuilder. thanks a lot :wink:


#6

Please send the data when you try to insert.


#7

I only use Feditor to create the… dmp file? I still insert the data via FeBuilder.

I haven’t even startet creating the animations I’m worried about. I’m just asking preemptively^^


#8

Please give me some data that does not work.
Please send me the data.

Let me verify why it does not work.


#9

This is the one I mean:

I made a thread about it already. The crit animation in particular doesen’t work correctly when importet with FeBuilder, but works just fine when I use Feditor.


#10

This is a bug in FEBuilderGBA.
You are right.

I fixed it.
I thought that the value described when looping was frame seconds, but the number of frame word is correct.
It use 3 words for each frame.

L
2 p- anime1.png
2 p- anime2.png
C01 // At this time, the loop argument is 6. It is not 4 in frame seconds.

Therefore, creating loops of time-consuming frame images will cause the timing of the loop to shift.

L
5 p- anime1.png
5 p- anime2.png
C01 // At this time, the loop argument is 6. It is not 10 of the frame seconds.

This problem was fixed in the latest version.


#11

what is the difference between “loop argument” and “frame seconds”? how do I calculate the numbers?


#12

It needs to know the implementation of the loop and battle animation.
The loop is executed as an argument of C01.
I thought that argument is frame seconds, but the number of words is correct.

To display an image, use the C86 command.
The C86 frame of battle animation consists of 3 * 4 bytes (3 word).