Author Topic: FF7 Battle Swirl Disable Patch (is it possible)  (Read 1581 times)

seam

  • Newbie
  • *
  • Posts: 2
  • Karma: 0
    • View Profile
FF7 Battle Swirl Disable Patch (is it possible)
« on: 2017-01-21 01:06:23 »
As I'm sure many of you know, ff7 has always had issues with the battle swirl in most emulators, even on the psp (pops). In some emulators it even crashes. I was wondering if anyone who has experiencing modding/creating patches for ff7 has looked into somehow disabling the swirl. Either bypassing it all together or perhaps having just a black screen with the audio still there. I would love for something like this to come into existence, and was surprised it hasnt by now. Hope to hear back from some of you guys soon, thanks in advance!

Ansem

  • Crazy poster
  • *
  • Posts: 125
  • Karma: 8
    • View Profile
Re: FF7 Battle Swirl Disable Patch (is it possible)
« Reply #1 on: 2017-01-21 11:57:00 »
You need an emulator that can handle framebuffer effects. ePSXe with basically any of Pete's gpu plugins will be able to do it, and most of the time they even have a special fix option that addresses FF7-specific problems.

seam

  • Newbie
  • *
  • Posts: 2
  • Karma: 0
    • View Profile
Re: FF7 Battle Swirl Disable Patch (is it possible)
« Reply #2 on: 2017-01-22 03:39:30 »
You need an emulator that can handle framebuffer effects. ePSXe with basically any of Pete's gpu plugins will be able to do it, and most of the time they even have a special fix option that addresses FF7-specific problems.

I am well aware of this. That wasnt what I was asking at all. The platforms im trying to run ff7 on dont have an epsxe port and the emulators available all crash when the battle swirl starts. So again, as I said, I am wondering if its possible to disable the swirl all together.

DLPB

  • No life
  • *
  • Posts: 8795
  • Karma: 251
  • My love is as sharp as a needle in your eye.
    • View Profile
Re: FF7 Battle Swirl Disable Patch (is it possible)
« Reply #3 on: 2017-01-22 04:17:42 »
Yes it is, but no one here will know how - since this is mostly a PC FF7 forum. If someone here does know R3000 assembly, they'd still have to work it out for you. The swirl is handed as a separate "module" kind of. It has its own specific function, like the field, wm, minigames, battle.

You're better off asking on a forum dedicated to PSX game programming. 

I could easily disable it for PC.

UGerstl

  • Insane poster
  • *
  • Posts: 380
  • Karma: 5
  • Analyst and Backup-Manager
    • View Profile
Re: FF7 Battle Swirl Disable Patch (is it possible)
« Reply #4 on: 2017-02-20 01:17:30 »
I could easily disable it for PC.

Please can you release this patch, because i am getting dizzy by the battle swirl.  :(

DLPB

  • No life
  • *
  • Posts: 8795
  • Karma: 251
  • My love is as sharp as a needle in your eye.
    • View Profile
Re: FF7 Battle Swirl Disable Patch (is it possible)
« Reply #5 on: 2017-02-20 08:49:10 »
I haven't made any patch... just that it isn't too difficult to disable it. I've posted the changes needed somewhere.  Use Hextlaunch to make the change.

NFITC1

  • No life
  • *
  • Posts: 2758
  • Karma: 61
  • I just don't know what went wrong.
    • View Profile
    • WM/PrC Blog
Re: FF7 Battle Swirl Disable Patch (is it possible)
« Reply #6 on: 2017-02-20 17:03:24 »
Battle swirl on PC is just annoying. Sometimes it looks fine and other times it's WAY too fast.

DLPB

  • No life
  • *
  • Posts: 8795
  • Karma: 251
  • My love is as sharp as a needle in your eye.
    • View Profile
Re: FF7 Battle Swirl Disable Patch (is it possible)
« Reply #7 on: 2017-02-21 06:21:37 »
As of Aali's driver, it should be set to 60fps and always be 60fps (when set to that fps).  Since he added the limiter for it, I've not had an issue?

Kaldarasha

  • No life
  • *
  • Posts: 2127
  • Karma: 127
  • Prince of Model Editing
    • View Profile
Re: FF7 Battle Swirl Disable Patch (is it possible)
« Reply #8 on: 2017-02-21 10:24:26 »
As of Aali's driver, it should be set to 60fps and always be 60fps (when set to that fps).  Since he added the limiter for it, I've not had an issue?

Is it really 60 fps on psx? I have also the feeling that it is faster. Also, i hink that the higher resolution for full screen effects is't a good choice for it, because its distortion effect is nearly not visible anymore.

DLPB

  • No life
  • *
  • Posts: 8795
  • Karma: 251
  • My love is as sharp as a needle in your eye.
    • View Profile
Re: FF7 Battle Swirl Disable Patch (is it possible)
« Reply #9 on: 2017-02-21 10:33:58 »
It can't be faster than 60fps on the psx. I think it is right speed-wise at 60 - although it will not look exactly the same. The PSX version looks slightly different. The rendering or whatever effect it uses seems to be better.

Ansem

  • Crazy poster
  • *
  • Posts: 125
  • Karma: 8
    • View Profile
Re: FF7 Battle Swirl Disable Patch (is it possible)
« Reply #10 on: 2017-02-21 12:02:59 »
It is a framebuffer effect, I think, so the difference in hardware architecture may be enough that it needed to be redone for PC. If it is a different effect, that is... Anyway, the point is, the battle swirl needs a special hack to even emulate at all, so it's just not probable that it would look as good with the PC technologies of '98. Especially with the extra limitations Eidos had to cope with when making the port.

With that said, I agree that the swirl would look better if it was slightly slower, like on PAL. It seemed to look real good at 50fps, at least.

Kaldarasha

  • No life
  • *
  • Posts: 2127
  • Karma: 127
  • Prince of Model Editing
    • View Profile
Re: FF7 Battle Swirl Disable Patch (is it possible)
« Reply #11 on: 2017-02-21 18:26:34 »
New features in this version
Framebuffer effects are no longer reduced in quality (and they're a lot faster, too)

The problem I see with this, is that effects are designed for a specific resolution. So without an upscale from the original effect's resolution trough filtering this may break them entirely in their function.

PSX https://youtu.be/wtUODUPoLMU?t=232
PC https://youtu.be/Xl3H5pVeo4Q?t=215 - It seems to be twice as fast as on PSX. I would say that it should run at 30fps.

Covarr

  • Covarr-Let
  • Administrator
  • No life
  • *
  • Posts: 3913
  • Karma: 116
  • The Great Redarr.
    • View Profile
Re: FF7 Battle Swirl Disable Patch (is it possible)
« Reply #12 on: 2017-02-21 18:38:05 »
PSX https://youtu.be/wtUODUPoLMU?t=232
PC https://youtu.be/Xl3H5pVeo4Q?t=215 - It seems to be twice as fast as on PSX. I would say that it should run at 30fps.
Your timecodes are wrong (the second video starts too late), but yeah, I've always thought that 60fps was wrong. In every video I can find of the original (whether epsxe, the official ps1 support on ps3, etc.), the swirl clearly takes about the same amount of time as the sound effect that goes with it. In the PC version at 60fps, the swirl is done and the battle scene is already displaying by the time the sound is over. Not to mention it just feels so... sudden and abrupt at 60fps.

Of course, 30fps YouTube videos are not really a good source for determining what's correct, in such a case. While it seems pretty clear that it's meant to be slower than 60, we would really need a 60fps capture of the original game running on an actual PS1, and we'd need to examine the swirl in that capture frame-by-frame to see how it's timed. If frames appear duplicated once each in a 60fps capture, then the effect can be safely assumed to run at 30fps. If they appear duplicated three times each, then 15fps, etc.

DLPB

  • No life
  • *
  • Posts: 8795
  • Karma: 251
  • My love is as sharp as a needle in your eye.
    • View Profile
Re: FF7 Battle Swirl Disable Patch (is it possible)
« Reply #13 on: 2017-02-21 18:40:09 »
I'll look at this more at a later time, but it's highly unlikely to be anything other than 30 if 60 is too fast.

Kaldarasha

  • No life
  • *
  • Posts: 2127
  • Karma: 127
  • Prince of Model Editing
    • View Profile
Re: FF7 Battle Swirl Disable Patch (is it possible)
« Reply #14 on: 2017-02-21 19:10:20 »
I'll look at this more at a later time, but it's highly unlikely to be anything other than 30 if 60 is too fast.

But it is. I have changed the speed in Aali's driver, 45 feels good while 30 is definitely too slow.

DLPB

  • No life
  • *
  • Posts: 8795
  • Karma: 251
  • My love is as sharp as a needle in your eye.
    • View Profile
Re: FF7 Battle Swirl Disable Patch (is it possible)
« Reply #15 on: 2017-02-21 19:57:54 »
I've had a look.  It can't even be compared.  The PSX version doesn't do what the PC version does at all. There is no "right" speed - since the PC version is a unique effect.  If you want to go by how fast the PSX version is from the start to a solid colour frame, then it's 100 frames - at 60fps, so around 1.66 seconds.  The PC version is 75 frames when at 60fps, which is 1.25 seconds.  So with 25 frames more needed, a frame rate of 42 would create 1.66 seconds.  Obviously, this is bogus. 

As I said, the effect is so different that timing is meaningless. Aali's driver allows customization of the fps regardless.  I personally think 60fps works well given that the effect is on screen far more pronounced than the PSX version, which quickly dissolves away to leave a solid colour. Also, using anything other than 30 or 60 will create issues if using a standard monitor of 60hz. The game was designed for 60 to begin with, so that's pretty much what you should use. The only other thing left would be altering how the swirl works somehow - but that's a lot of work for something so trivial.  Any real change to the swirl would have to be worthwhile - as in editing it totally to work like PSX version.   

If you don't mind the issues it will cause, simply set the frame rate to 45 in the config.
« Last Edit: 2017-02-21 20:03:46 by DLPB »

UGerstl

  • Insane poster
  • *
  • Posts: 380
  • Karma: 5
  • Analyst and Backup-Manager
    • View Profile
Re: FF7 Battle Swirl Disable Patch (is it possible)
« Reply #16 on: 2017-02-23 19:49:17 »
@DLPB: Thanks for the hints.

Found some postings about disabling the battle swirl:

The swirl can be disabled  (DLPB)
       0040164E = C3
   or 00409337 = C7 45 E8 00 00 00 00

document the module calls  (DLPB)
                   ENTER     MAIN LOOP
   SWIRL      40164E    4021E9

Disabling the battle swirl?  (Sub Xero)
   00673EDA = MOV DX,WORD PTR DS:[ECX] => NOP


Software used for testing:
   Hext Tools  (Hext.dll, \Hext_in\NoSwirl.txt)
   OllyDbg      (new FF7.exe created)


Codes tested:
   00
   C3 = Return
   90 = NOP  (no operation)


Result:
   - nothing changes
   - FF7.exe crashes at the start of the battle swirl


Workaround:
   Edit ff7_opengl.cfg and change the battleswirl_framerate parameter to a very high value.
   => The battle swirl is very fast and short.

I think i must live with that solution.   ???
If anybody knows a better solution i would try it.


Windows 10 Home, 64bit, german
Final Fantasy VII (1998), english
   Installed with Tom's Installer
   Game Converter (version from EQ2Alyza)

DLPB

  • No life
  • *
  • Posts: 8795
  • Karma: 251
  • My love is as sharp as a needle in your eye.
    • View Profile
Re: FF7 Battle Swirl Disable Patch (is it possible)
« Reply #17 on: 2017-02-23 20:27:33 »
 00409337 = C7 45 E8 00 00 00 00

That should do it.  With the English version 1.02

Kaldarasha

  • No life
  • *
  • Posts: 2127
  • Karma: 127
  • Prince of Model Editing
    • View Profile
Re: FF7 Battle Swirl Disable Patch (is it possible)
« Reply #18 on: 2017-02-23 20:39:59 »
That's the version which the games converter will, well, convert the game. But I couldn't bring it to work either.

DLPB

  • No life
  • *
  • Posts: 8795
  • Karma: 251
  • My love is as sharp as a needle in your eye.
    • View Profile
Re: FF7 Battle Swirl Disable Patch (is it possible)
« Reply #19 on: 2017-02-23 20:55:15 »
Aye.  Seems it isn't as simple as that.  I think once you'd seen one intro, you can disable it.  I'll look into it more later.  There's likely a much safer way anyway.