[FF7PC-98/Steam] PSX STYLE 60FPS Battles (v 1.1)

  • Thread starter Thread starter DLPB_
  • Start date Start date
Status
Not open for further replies.
Editing the function that does the pausing might be easier than making a reception for hundreds of functions-but I can't dig around in there to know for sure either
That's what I'm doing in this mod, but it has its own problem.  And it can't be used with Obesebear's as far as I am aware, or NFITC1 would have used the method.  Different problems.
 
Last edited:
The reason I've been silent lately is because my laptop has been faulty for a long time and making any sort of reversing just painful. Long story short I finally got it fixed and had a chance to reexamine this.

Summons actually occupy the space in memory dedicated to battle actor 3. This is the battle actor that can hold global scripts. So summons are actually just actors with one animation. This means that it's animated like any other model and has an animation script associated with it. Usually this is just "do your animation and get out". For the Knights, however, they are 13 different models that are being swapped out over and over so their script is a little more complicated than that. This is also why you never see two at the same time and why they conveniently fly off camera after they're done. They just disappear and the next one just appears.

Anyway. The pause method is, sadly, doomed to fail because they are not rendered by the same process that renders the rest of the actors. Summons are this weird hybrid of 3D animation and actor so they are drawn differently. Like all 3D animations, they get drawn by the 3D Render handler per frame. Limiting the invocation of this, however, causes them to flicker.

"Why does this happen to summons and not other 3D renders", you ask? Because 3D animation renders are not invalidated every frame. Actors are. There is some function, somewhere, that causes the render engine to consider all actors' renders old at the end of every frame so they don't ghost (like Kimera's "Overlap last frame ghost" option).

"Why the flicker?" Because when paused, the 3D effect render engine pauses, which stops the invalidation of 3D effects, but the actor invalidation engine continues. I'm sure there was a reason for this to happen in the first place, but it's causing problems with this.

"What's the solution?" Quite simply: prevent the actor invalidation routine from invalidating actor 3 and force the 3D render invalidator to invalidate actor 3. Problem solved? I dunno. I can't find either.
 
Thanks for that!  And until (if ever) a way of doing that appears, my pause method will have to just use the crappy hack I've made (which does the job at least).

Why don't the other Summons all use actor 3?
 
Last edited:
They do. I thought that's what I messaged you about.
Then why don't they flicker?  Last I remember, some of the summon models don't flicker at all with my mod?
 
Then why don't they flicker?  Last I remember, some of the summon models don't flicker at all with my mod?
Well I only tested with a few summons with mine. Chocobo/Mog, Bahamut Zero, Phoenix, Alexander. They all flickered under my influence. I haven't seen what your mod does, TBH.
 
Well I only tested with a few summons with mine. Chocobo/Mog, Bahamut Zero, Phoenix, Alexander. They all flickered under my influence. I haven't seen what your mod does, TBH.
If you get the chance, check it out and see what I actually do.   I'#d like to know why my method works too. :P
 
Last edited:
1. Because this mod uses the pause var to quadruple animation frames, the pause function will not work with this mod.  I will be adding that function back very soon.
Stupid question since it's still on the first post, But is this issue fixed with 1.1? I don't pause often, But if i need to pause for a phone call, i'd rather not die haha.
 
Status
Not open for further replies.
Back
Top