I've been looking into increasing some of the animations in the same way I increased the cameras (which should work 100%). I haven't made much progress since I'm not certain of the structure of the animation loaders. I've definitely narrowed down where Ultima sets lots of its values and gets added to the animation queue.

As you can see this is the main counter for each animation frame. It is adding 1 to each frame, advancing the animations. Hence, making this value 2 doubles anim speed.

Surely there is a way from here or nearby to make it count 4x slower. I am not sure what calls this function, or how it all ties in. I only know that the key to animation is here, and this appears to be the main thing.

As you can see this is the main counter for each animation frame. It is adding 1 to each frame, advancing the animations. Hence, making this value 2 doubles anim speed.

Surely there is a way from here or nearby to make it count 4x slower. I am not sure what calls this function, or how it all ties in. I only know that the key to animation is here, and this appears to be the main thing.

I'm sure this would be relatively easy, but even if you slow the counter to make it increment once every four frames the effect will retain the 15 fps animation. That'll look odd for most animations. This should be fine for 2D effects, but 3D would stand out.

I'm sure this would be relatively easy, but even if you slow the counter to make it increment once every four frames the effect will retain the 15 fps animation. That'll look odd for most animations. This should be fine for 2D effects, but 3D would stand out.

Still, it's worth a look and I'll check it out in the morning.

It is advancing the animations though. Perhaps my choice of word frame is wrong... Anyway, see what you can find in there. Looks like potential to me. But there will no doubt be issues..

It is advancing the animations though. Perhaps my choice of word frame is wrong... Anyway, see what you can find in there. Looks like potential to me. But there will no doubt be issues..

I understand what you're saying completely, but I guess I'm not explaining well. If you tell any animation to advance a frame every four frames then it will still appear to be 15 fps. Otherwise if it advances once a frame it will play four times the speed.

for( x = 0; x < 100; x ++){ if( *HandlerQueue(x) && dword_9AD1AC) { call handler x If (AnimationData(x*32) == -1 ) { remove handler from queue } else { if( *HandlerQueue(x) == 0x42782A ) { call handler x } }}x = 0;That's being called twice per frame and can call 100 handlers per invocation. Ultima requires as many as 79 and I've found where the sparkles (0x579A97) and the dome (0x57A082) handles are. It's not handling 2D effects though. I believe I can control the speeds of the sparkles and how long they stay on screen. I just don't know how to control when they rotate through their graphics.

That's what's being attempted by Obesebear, but it ain't simple... Kimera is broken, and there are tons and tons of animations to do...

Well yes, the downside is the amount of work. I haven't test the interpolate all animations button myself.

But you are right the game is able to interpolate frames by itself. This is used in the field mkt_s1 (the boutique of the wallmarket) for Cloud to play a animation slower as it really is. So if we can use this command to interpolate the battle animation then it would spare us a lot work.

Well I certainly did increase the duration of Ultima's sparks. They stay on screen a lot longer and don't seem to be adversely affected by the increased duration. I just have to figure out how to delay the rest of it.

Some sfx are being triggered too early. Say Barret's shooting animation is #10 and is 20 frames in length, and that animation #9 is a 3 frame animation of him getting ready to shoot, it looks like the sfx is being called during #9 instead of #10. So it may be that those small animations like #9 needn't be interpolated.

What's happening is the sfx is being called on a certain frame of an animation string. So while Barret's shot used to sync up perfectly if the sfx was triggered on frame 4/20, it's now out of sync because it needs to be triggered on 16/80.

Wait time for the next attack moves at 4x speed for everyone. As is the yellow party indicator

An oscillating value increases both CTimers and VTimers for everyone. Fortunately, it is multiplied by 40 every time it's requested. That's then added to their current wait time. Change this to 10 and things will slow back down. Fortunately, slow and haste are bit shifts and won't need to be adjusted at all.

An oscillating value increases both CTimers and VTimers for everyone. Fortunately, it is multiplied by 40 every time it's requested. That's then added to their current wait time. Change this to 10 and things will slow back down. Fortunately, slow and haste are bit shifts and won't need to be adjusted at all.

at moment you are editing every part to make it work at 60fps . Isn't there some sort of function that calls all these? So instead of editing a ton of functions for everything, including blinking text speed, we can just edit the one function call?

This way means a load of hex changes are going to be needed. Is it the only way?