Qhimm.com Forums
Miscellaneous Forums => Scripting and Reverse Engineering => Topic started by: Sega Chief on 2014-11-06 23:18:23
-
Hey all,
Was wondering if there was a way to either speed up or cut short Summon animations in FF7. I'm specifically wanting to cut Bahamut-ZERO down to the last segment when the beam actually hits; is this possible?
-
This is surely not gonna happen. The animation scripts we can modify do not go deeper than just calling an animation like Tera Flare. If you want to cut that you must hex edit the actual animation data and I'm sure nobody here, neither on PC nor on PSX knows those well. At least not well enough to perform such a precise adjustment.
-
That's a shame, I can do a little hex-editing but I don't know the file architecture for summon animations at all so if it needed a complex fix then I'd be a little lost. Cheers for the heads-up, Meesbaker.
By the by, I looked into changing the index for a different animation but as luck would have it the modifier I needed hadn't been identified when this list was made:
Index range increase (PC) increase (PSX) description
000-037 0 0 Player-accessible Magics
038-047, 060-061 [not sure] 4E Summons
048-05F 36 36 E.Skills
062-0FF EC [not sure] Limit Breaks
100~FFF 4E 60 Enemy-exclusive Attacks
Anyone have an idea of what it might be? I'm trying random numbers at the mo but not hit gold yet. I'm beginning to suspect my future has 50+ Quadded Bahamut-ZERO summon animations in it :-X
-
I think the best you could probably do is completely eliminate the summon. So the character would perform the summon animation, and damage would be immediately dished out without the summon ever appearing.
I don't know how else you could accomplish this without a shit ton of work.
-
Why does everyone just give up when it comes to animations? This is why we'll never have 60 fps effects, ya'll. Stop giving up.
Can we cut BZero down to the beam? Perhaps. I've actually been experimenting with DeathBlow to see how the summon animations work. The trickiest part is the camera. Preventing a segment completely? Probably not that hard.
-
Ack, you're right. Do you have any rough notes so far to share on where certain things in the animation file start and end? At the very least, I could maybe learn a thing or two about how it's laid out while I mess around with it.
-
How rough do you want?
The effect loader starts at 0x4835C1. From there it calls two methods: 0x483520 and 0x483762. It's 0x483762 that needs investigating. Ignore the other one.
Wow. I just noticed something really stupid in that function. Toward the bottom it does a rand call, but does the exact same thing regardless of the result.
Anyway, 0x483762 queues up two methods of interest:
0x484A16 - Controls the effects of the action. The beams and the space overlay.
0x48BBFC - Controls the BZero model.
I tried disabling both and that's not the answer. Disabling one singularly isn't the answer either. Most of 0x48BBFC can be eliminated. It seems like all you'd want to do is make 0x484A16 and the camera think that you're further along in the animation sequence at the beginning.
If you're following all that I can get more technical.
-
I would be interested in more technical, at least.
-
Yeah, I'm following; let's (tentatively) get all technical up in here.
-
Why does everyone just give up when it comes to animations? This is why we'll never have 60 fps effects, ya'll. Stop giving up.
I agree; it's strange for a reverse engineering community to throw its hands up in the air and declare stuff impossible. It's not like it's obfuscated; it just requires patience and skill. We're not going to get anywhere if we treat FFVII like a big scary black box.
FWIW I think shortening the animation will be the easy part. The difficult part will be alternating between long and short animations, FFIX-style. We would have to add some extra hook into the animation scripts for the anim handler to look for. I don't know how stateless animations are; it's probably not just a matter of starting at point X in a script.
Certainly doable if we reverse it, though.
-
7H might be the tool for it, based on an in-game variable it could swap in and out the files that were altered for shorter summons.
Is there anything I could read on the Qhimm Wiki to get a better understanding of the structure for summon animations? Not had much luck searching or trawling.