[FE7] Knife Spell Animation Messing Up

Hey everyone, as the title says, I’m having issues with a knife spell animation that I’m working on. It works fine if I have the knife on the background layer.

However, the issue is that it gets resized and stretches out. But, if I want to use the object layer, the size is fine. But the second time around it glitches out.

Anyone have any ideas on how to solve this issue?

Here’s the script for the animation:
/// - Start Animation
C00
C00
C000040
C02F948
O p- blank.PNG
B p- blankbg.PNG
2
O p- obj1.PNG
B p- blankbg.PNG
1
O p- obj2.PNG
B p- blankbg.PNG
1
O p- obj3.PNG
B p- blankbg.PNG
1
O p- obj4.PNG
B p- blankbg.PNG
1
C00001A
C1F

O p- blank.PNG
B p- blankbg.PNG
2
/// - End Animation

That corrupted knife looks a bit like part of the hand axe. Open up the tile viewer and see if the hand axe is overwriting the knife graphic?

This is what I got when I opened up the tile viewer at the times when the knife is thrown.

Unless I’m looking at the wrong thing, it does look like the knife is being overwritten by the hand axe.

Ok so we know what the problem is at least, now I guess you should try the tile viewer with a Hand Axe vs Javelin to see how it’s supposed to work?

So here’s the tile viewer when the javelin is thrown before the handaxe and then after.

You should tick Automatic Update and see how it behaves in real time.

Oh wait we’re probably overthinking it just add some C00s to the start

[quote]C00 – buffer code. Stalls. Needed. If you encounter random looking graphic or palette errors you probably need some of these. Sometimes if the spell progresses too fast it loads the wrong palette or other data in the VRAM or elsewhere interferes with the spell. In short, just add these and take it easy.

C00

C00

C00

C00

C00

C00

C000040 – makes the screen slide. Always have it, and early.[/quote]

Tried your suggestion of adding C00s at the beginning and it still does the same thing. =/

How many did you add? Some of the example ones I’m looking at have like 15+. Maybe put some after the C000040 as well just in case.

I originally added 10 at the beginning. Tried with 20 and 8 after the C000040 command and still glitches.

No idea then. Could you post your animation?

Yeah sure thing. I’ll post the link to my dropbox so you can download it. https://www.dropbox.com/sh/at1v47a606jm7ci/AAAweQqbsEG6WAdmeeK2dEe7a?dl=0

I think the problem has to do with line 510 in FEditor’s \asm\FE7\Spell Anim System\CSA System.txt:

@	Not doing this here anymore
@swi	#0x12			@LZ77UnCompVram

This writes the object tiles to the OAM each frame (?), but it was commented out and moved somewhere else (for efficiency probably), which I think caused the glitch. Meanwhile it was not changed in FE8 and works fine there. Maybe you could use the spell animation system from an older version of FEditor?

1 Like

Oh ok. I just need to find an older version of FEditor since I have the most recent one and the render edition.

EDIT: So turns out the older version of FEditor did the trick.

My only issue is that I be able to use the older version of FEditor with the latest one, since it can mess up the ROM. The only reason this worked was because I use the older version AFTER inserting the thief animation. Actually I haven’t tested to see if anything else in the game was messed up from it, so I can’t say if it worked 100%. But it is something though. :smiley:

Oh good! I think it should work if you copy over the contents of \asm\FE7\Spell Anim System from the old FEditor to the new one.

The old FEditor that I found didn’t have an asm folder. It’s the 20090711.1 version. Is there another version that’s older than the current one that has the asm folder available?

I don’t think so. You may need to modify the rom by a hex editor – or the java src–.

You’re right, what you need to do is take “CSA System.patch.txt” from the old FEditor and replace “\src\Model\FE7.java” lines 163-246 in the new FEditor. Then run build.py (or is it .bat?) to compile it. Then it works - for clean roms.

If the rom has already been opened in the new FEditor you need to copy the “CSA System.dmp” without the first 0x30 bytes, and paste it to 0xCB680. That should fix it.

1 Like

The rom has already been opened in the latest version of FEditor, so I want to try to copy the csa system.dmp file. But I’m a little confused about the 0x30 bytes part. Could you explain how many bytes that I need to skip?

Also, the csa system.dmp file is from the new FEditor right?

0x30 is 48 in decimal. Even easier, it’s the first 3 lines, assuming you have the standard 16 bytes/line.