FE7 Fire Ring (ASMC) Effect Help

#1

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:
(https://www.youtube.com/watch?v=0vGM91KgCc4)

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.

FADI 10
//_ASM0x42 0x20AB9
_ASM0x3F 0x7B775
STAL 70
//_ASM0x3F 0x7AC99 //Creates shaking screen
ASMC 0x7B279 0x7B789 //this stops the fire from moving
_0xE4
_0xE6
STAL 60
MAC1 0x0 0x8
ASMC 0x7AD2D
STAL 60
// Borrowed code from Quintessence effect to get Fire Ring to stop
_ASM0x3F 0x7B265
_ASM0x3F 0x7D26D
ASMC 0x7A98D
_ASM0x3F 0x7C2D5
ASMC 0xECB1
//End of Quintessence effect code
FAWI 10
FAWU 10
_ASM0x42 0x20AB9
CMON
SHOWMAP
ENDA

1 Like
#2

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

#3

Can you give a name for each ASM?

7BBE4 Fire Ring Effect
7AC98 Creates shaking screen

Can you name other ASMs as well?

#4

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):
_ASM0x3F 0x7B265
_ASM0x3F 0x7D26D
ASMC 0x7A98D
_ASM0x3F 0x7C2D5
ASMC 0xECB1

ASMC 0x7B6FD (Causes the screen to return to normal, concluding the event)

Thats what I’ve come to understand through trial and error.

1 Like
#5
ASMC 0x7B279 0x7B789 (Stops the Fire Ring. Freezes the fire ring in place, but doesn’t get rid of it)

These are functions that terminate specific procs.

0807B278 B500   push {lr}   //_0807B278
0807B27A 4803   ldr r0, [pc, #0xc] # pointer:0807B288 -> 08CA762C (Procs  )
0807B27C F789 FA14   bl 0x080046a8   //Find6C
0807B280 F789 F980   bl 0x08004584   //Delete6C
0807B284 BC01   pop {r0}
0807B286 4700   bx r0
0807B788 B500   push {lr}   //_0807B788
0807B78A 4803   ldr r0, [pc, #0xc] # pointer:0807B798 -> 08CA763C (Procs Dragon's flame effect )
0807B78C F788 FF8C   bl 0x080046a8   //Find6C
0807B790 F788 FEF8   bl 0x08004584   //Delete6C
0807B794 BC01   pop {r0}
0807B796 4700   bx r0

No names have been assigned to Procs 08CA762C yet.

1 Like
#6

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
7D26C ??
7A98C ??
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.

1 Like