In Chapter 19 at the end of the Dread Isle arc, a Fire Dragon appears and there is a ring of fire that is active while Ephidel dies. I have used the code that Arch references in his Events tutorial (ASMC 0x7BBE5). The problem with this code however, is that it includes a lot of extra stuff aside from just the ring of fire. For instance it includes the Fire Dragon’s scream, and the glowing effect as Ephidel dies. Furthermore, it clears all the sprites from the map. Overall I haven’t found it to be usable. So instead I disassembled the events and decided to get it working myself. I’ve had 90% success in doing this, but there is one glitch that I just can’t seem to figure out how to fix. Here is a video I uploaded showcasing the glitch I am talking about:
Specifically my problem is how once the units start moving, the screen keep refreshing with every single movement (this starts 11 seconds into the video). I was wondering how I could stop this. For reference here is my event code. Just a warning, I had to mix and mash a lot of ASMC and _ASM0x3F codes that I honestly don’t really understand to get this far. But the combination I have mixed have managed to get a reasonably working fire animation with the exception of this one glitch.
//_ASM0x3F 0x7AC99 //Creates shaking screen
ASMC 0x7B279 0x7B789 //this stops the fire from moving
MAC1 0x0 0x8
// Borrowed code from Quintessence effect to get Fire Ring to stop
//End of Quintessence effect code
After digging around through FEbuilder’s information regarding the “Dragon’s flame effect”, and a fair bit of trail and error. I finally found that inserting this code stopped the problem I was having with the screen refreshing after a character moves on screen: ASMC 0x7B6FD
I’ll try naming what I can, but I don’t understand ASM very well. Most of what I found was through experimenting with the data I got at $CB4030 which is the EndingScene offset for Chapter 19. Through toying around with that data I found this out:
_ASM0x3F 0x7B775 (Creates the Fire Ring effect, and causes the screen to redden)
ASMC 0x7B279 0x7B789 (Stops the Fire Ring. Freezes the fire ring in place, but doesn’t get rid of it)
In order to get rid of the red screen and to remove the frozen fire ring effect, I found that this segment of the Quintessence Effect code does the trick (but I don’t really know why):
ASMC 0x7B6FD (Causes the screen to return to normal, concluding the event)
Thats what I’ve come to understand through trial and error.
7BBE4 Creates the Fire Ring effect, and causes the screen to redden
7B278 Terminate “0x08CA762C” Procs
7B788 Terminate “Dragon’s flame effect” Procs
7AC98 Creates shaking screen
7B264 Run “08CA762C” Procs
7C2D4 Goto Label 0x00 “08CA77AC” Procs
0ECB0 CALL_ASM_FROM_EVENT Disappear portrait grave and speech of conversation scene
I’m not sure what the 0x7D26C and 0x7A98C functions are doing.
Also, it is unclear what 0x08CA762C Procs is doing.
There are still many mysteries in FE7.