Qhimm.com Forums

Final Fantasy Forums => Scripting and Reverse Engineering => Topic started by: Sega Chief on 2015-12-14 15:44:21

Title: FF7: Visual Effect for Shield
Post by: Sega Chief on 2015-12-14 15:44:21
Just a quick question; is it possible to give Shield a visual effect like Regen and Peerless has? How/where is this handled in the .EXE? I'd like to try and copy it over onto Shield so that it's easier to keep track of.
Title: Re: FF7: Visual Effect for Shield
Post by: Kaldarasha on 2015-12-14 15:59:08
Just a quick question; is it possible to give Shield a visual effect like Regen and Peerless has? How/where is this handled in the .EXE? I'd like to try and copy it over onto Shield so that it's easier to keep track of.

I would love to see a purple aura while a limit is unleashed. Like in FF9.
Title: Re: FF7: Visual Effect for Shield
Post by: NFITC1 on 2015-12-14 17:12:19
Found where this gets handled and there is room for up to three more statuses.

The function starting at 0x5BA1EB translates the actor's status with a shader index. The shader has an "activator" of either on or off (I'd call it an alpha channel, but there is handling for a third value that I'm not sure what it would do) and an RGB color value to it. There are 12 of these four-byte shaders starting at 0x8FE150 and it looks like only these are used:

Code: [Select]
Poison:     1
Berserk:    3
Petrify:    5
Peerless:   6
Manipulate: 7
Darkness:   8
Regen:      9
Slow-Numb:  10

The activator mentioned is also what prioritizes which shader gets used in the event of multiple shading statuses. It can be optimized a little to perhaps include a new status/shader combo.
Title: Re: FF7: Visual Effect for Shield
Post by: Sega Chief on 2015-12-15 16:18:57
 ;D This looks really promising; if the shaders themselves can be adjusted then this could be helpful for people with colour-blindness too (there was a streamer playing NT that had a lot of trouble distinguishing between Peerless, Regen, and Poison because of that).

I'll start looking at it tonight and see if I can make some changes; thanks for pin-pointing these for us, NFITC1.