Author Topic: Custom graphics driver for FF7/FF8 [v.1-.7.6]  (Read 761641 times)

Terid__K

  • Guest
Custom graphics driver for FF7/FF8 [v.1-.7.6]
« Reply #325 on: 2009-05-22 00:25:18 »
No crashes here so far. Battle swirl limiter works like a charm, but the game is still having trouble recognizing that I'm running in 60hz (minigames and swirl are oscillating between 30 and 40fps, when they should be at solid 30fps). Vsync is turned on, and since I'm seeing no horizontal tearing, I assume it's working fine. I'm still getting slowdowns in some summons and spells.

Other than these and the video problem mentioned a few posts up, it's working great. I'm running at 1280x1024, with no distortions or anything. If you can only fix these, it could very well be the first stable release.

Suggestion: Why not make the frame limiters custom, instead of Refresh Rate dependant? I'm guessing that would work better.

EDIT: I suppose I could apply the yamp patch for this and turn the limiter off in the cfg. So that shouldn't be a problem anymore.


« Last Edit: 2009-05-22 01:26:15 by Terid__K »

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Custom graphics driver for FF7/FF8 [v.1-.7.6]
« Reply #326 on: 2009-05-22 00:34:57 »
yeah when I summon knights of the round, it pauses for a few seconds before carrying on.

Aali

  • *
  • Posts: 1196
    • View Profile
Custom graphics driver for FF7/FF8 [v.1-.7.6]
« Reply #327 on: 2009-05-22 01:07:52 »
Summons like Titan, Neo Bahamut, KOTR, Kujata, Ifrit or Alexander?. They all make heavy use of framebuffer effects at some point. This is very slow if you don't have OpenGL 2.0 support and still pretty taxing for the graphics card if you do. Keep in mind that with 1280x960 you have to push four times as many pixels around.

If you get slowdowns the first time a new effect is shown on the screen it's probably because that palette hadn't been used with that texture before and so the texture had to be reloaded.

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Custom graphics driver for FF7/FF8 [v.1-.7.6]
« Reply #328 on: 2009-05-22 01:20:36 »
Summons like Titan, Neo Bahamut, KOTR, Kujata, Ifrit or Alexander?. They all make heavy use of framebuffer effects at some point. This is very slow if you don't have OpenGL 2.0 support and still pretty taxing for the graphics card if you do. Keep in mind that with 1280x960 you have to push four times as many pixels around.

If you get slowdowns the first time a new effect is shown on the screen it's probably because that palette hadn't been used with that texture before and so the texture had to be reloaded.

call me naive :P  but is there a way to load the texture into memory for the summons so that it is ready at the get go?

Aali

  • *
  • Posts: 1196
    • View Profile
Custom graphics driver for FF7/FF8 [v.1-.7.6]
« Reply #329 on: 2009-05-22 01:34:45 »
Summons like Titan, Neo Bahamut, KOTR, Kujata, Ifrit or Alexander?. They all make heavy use of framebuffer effects at some point. This is very slow if you don't have OpenGL 2.0 support and still pretty taxing for the graphics card if you do. Keep in mind that with 1280x960 you have to push four times as many pixels around.

If you get slowdowns the first time a new effect is shown on the screen it's probably because that palette hadn't been used with that texture before and so the texture had to be reloaded.

call me naive :P  but is there a way to load the texture into memory for the summons so that it is ready at the get go?

Very naive indeed :-P
The texture loader thing is not related to the summons, that could happen at any time.
But, I don't want to load a texture for each and every palette it could be used with every time, this way you'll end up loading 16 textures and then only using one of them, which would not only waste a large amount of memory but also add considerably to the loading time.
The solution I might implement is smarter management of textures, I *think* Eidos added some kind of texture cache to the d3d driver with 1.02 so if I can borrow some ideas from that it should make things a lot smoother.

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Custom graphics driver for FF7/FF8 [v.1-.7.6]
« Reply #330 on: 2009-05-22 01:45:25 »
yes I figured something like that :P

Aali

  • *
  • Posts: 1196
    • View Profile
Custom graphics driver for FF7/FF8 [v.1-.7.6]
« Reply #331 on: 2009-05-22 04:12:54 »
Looping movies implemented, along with a fix for a bug that could cause a crash on exit. (No big deal but it shouldn't happen nonetheless)

halkun

  • Global moderator
  • *
  • Posts: 2097
  • NicoNico :)
    • View Profile
    • Q-Gears Homepage
Custom graphics driver for FF7/FF8 [v.1-.7.6]
« Reply #332 on: 2009-05-22 04:15:21 »
Summons like Titan, Neo Bahamut, KOTR, Kujata, Ifrit or Alexander?. They all make heavy use of framebuffer effects at some point. This is very slow if you don't have OpenGL 2.0 support and still pretty taxing for the graphics card if you do. Keep in mind that with 1280x960 you have to push four times as many pixels around.

If you get slowdowns the first time a new effect is shown on the screen it's probably because that palette hadn't been used with that texture before and so the texture had to be reloaded.

call me naive :P  but is there a way to load the texture into memory for the summons so that it is ready at the get go?

Very naive indeed :-P
The texture loader thing is not related to the summons, that could happen at any time.
But, I don't want to load a texture for each and every palette it could be used with every time, this way you'll end up loading 16 textures and then only using one of them, which would not only waste a large amount of memory but also add considerably to the loading time.
The solution I might implement is smarter management of textures, I *think* Eidos added some kind of texture cache to the d3d driver with 1.02 so if I can borrow some ideas from that it should make things a lot smoother.


This is one of the things that the PSX GPU could do that modern graphics cards can't. You could have multiple color depths in video memory at the same time, including 4 and 8 bit palleted textures. It's a shame that Color Look Up Tables (CLUTs or palettes) are seen as an "old" technology. They are still really useful!

myst6re

  • *
  • Posts: 642
  • Light King of the Savegame - Field Master - FF8.fr
    • View Profile
    • FF8.fr
Custom graphics driver for FF7/FF8 [v.1-.7.6]
« Reply #333 on: 2009-05-22 13:03:13 »
ninjaloot server is down again :-o

They gave me a crash.dmp for you, it was created with version 0.6.1b. I think it's the same crash that the last time.

Aali

  • *
  • Posts: 1196
    • View Profile
Custom graphics driver for FF7/FF8 [v.1-.7.6]
« Reply #334 on: 2009-05-22 16:14:26 »
Local telecom decided to "liberate" the entire neighborhood of internet access for a few hours today.

That looks like a different crash, when did it happen?

myst6re

  • *
  • Posts: 642
  • Light King of the Savegame - Field Master - FF8.fr
    • View Profile
    • FF8.fr
Custom graphics driver for FF7/FF8 [v.1-.7.6]
« Reply #335 on: 2009-05-22 17:05:53 »
Before a fight :-P.

myst6re

  • *
  • Posts: 642
  • Light King of the Savegame - Field Master - FF8.fr
    • View Profile
    • FF8.fr
Custom graphics driver for FF7/FF8 [v.1-.7.6]
« Reply #336 on: 2009-05-22 18:10:13 »
Ff7 does not want to run on linux.    I have installed, but he wants Direct3D :cry:.

Hellbringer616

  • *
  • Posts: 1913
    • View Profile
Custom graphics driver for FF7/FF8 [v.1-.7.6]
« Reply #337 on: 2009-05-22 23:06:13 »
crashed as soon as i entered battle, V0.6.2

Dunno how to attach files.. So i just used copy paste  :-P

Quote
INITIALIZE DD/D3D START
INFO: Auto-detected version: 1.02 US English
INFO: OpenGL 2.0 support detected
INFO: Found swap_control extension
INFO: Original resolution 640x480, window size 1280x960, output resolution 1280x960, internal resolution 1280x960
LOCK UNLOCK TEST
MATRIX INITIALIZE
INITIALIZE DD/D3D END
ERROR: COULD NOT OPEN FILE C:\Program Files\Square Soft, Inc.\Final Fantasy VII\ff7input.cfg
initializing sound...
creating dsound primary buffer
reading audio file
loading static sounds
sound initialized
INITIALIZING MIDI...
selecting device 0:Microsoft GS Wavetable SW Synth, mid=1, pid=102,
midi data type: GENERAL MIDI
using midi data file: C:\Program Files\Square Soft, Inc.\Final Fantasy VII\Data\midi\midi.lgp
midiOutGetVolume returned: ffffffff
MIDI INITIALIZED
set music volume: 127
MIDI set volume: 127
10036743060f 127 = 127
set music volume: 127
MIDI set master volume: 100
MIDI set volume: 127
10036743060f 127 = 127
Entering MAIN
Exiting MAIN
START OF CREDITS!!!
INFO: C:\Program Files\Square Soft, Inc\Final Fantasy VII\Movies\eidoslogo.avi; truemotion2/pcm_u8 320x240, 15.000000 FPS, duration: 10.133333, frames: 152
set music volume trans: 127->0, step=60
MIDI set volume trans: 127->0; step=60
MIDI stop - OK
MIDI stop - OK
END OF CREDITS!!!
Entering MAIN
set music volume: 127
MIDI set volume: 127
10036743060f 127 = 127
Exiting MAIN
START OF MENU SYSTEM!!!
SET VOLUME 5: 127
ERROR: COULD NOT OPEN FILE C:\Program Files\Square Soft, Inc.\Final Fantasy VII\save/save00.ff7
ERROR: COULD NOT OPEN FILE C:\Program Files\Square Soft, Inc.\Final Fantasy VII\save/save01.ff7
ERROR: COULD NOT OPEN FILE C:\Program Files\Square Soft, Inc.\Final Fantasy VII\save/save02.ff7
ERROR: COULD NOT OPEN FILE C:\Program Files\Square Soft, Inc.\Final Fantasy VII\save/save03.ff7
ERROR: COULD NOT OPEN FILE C:\Program Files\Square Soft, Inc.\Final Fantasy VII\save/save04.ff7
ERROR: COULD NOT OPEN FILE C:\Program Files\Square Soft, Inc.\Final Fantasy VII\save/save05.ff7
ERROR: COULD NOT OPEN FILE C:\Program Files\Square Soft, Inc.\Final Fantasy VII\save/save06.ff7
ERROR: COULD NOT OPEN FILE C:\Program Files\Square Soft, Inc.\Final Fantasy VII\save/save07.ff7
ERROR: COULD NOT OPEN FILE C:\Program Files\Square Soft, Inc.\Final Fantasy VII\save/save08.ff7
ERROR: COULD NOT OPEN FILE C:\Program Files\Square Soft, Inc.\Final Fantasy VII\save/save09.ff7
END OF MENU SYSTEM!!!
Entering MAIN
Exiting MAIN
Field Start
MIDI stop - OK
INFO: C:\Program Files\Square Soft, Inc\Final Fantasy VII\Movies\opening.avi; mpeg4/mp3 1280x960, 15.000000 FPS, duration: 119.510167, frames: 1793
MIDI play: 2
reading midi file: OB.mid
current volume: 127
MIDI is playing SUCCESSFULLY!!!
Entering MAIN
Exiting MAIN
START OF MENU SYSTEM!!!
SET VOLUME 5: 127
END OF MENU SYSTEM!!!
Entering MAIN
Exiting MAIN
Field Start
Entering MAIN
Exiting MAIN
START OF MENU SYSTEM!!!
SET VOLUME 5: 127
END OF MENU SYSTEM!!!
Entering MAIN
Exiting MAIN
Field Start
Field Quit
Entering MAIN
Exiting MAIN
Entering FRAME_INITIALIZE SWIRL
Exitting FRAME_INITIALIZE SWIRL
Swirl sound_effect1
stop_sound
End of Swirl sound_effect1
Entering FRAME_QUIT SWIRL
ERROR: unhandled exception

Aali

  • *
  • Posts: 1196
    • View Profile
Custom graphics driver for FF7/FF8 [v.1-.7.6]
« Reply #338 on: 2009-05-23 09:12:10 »
Hopefully its the same crash (though I really can't tell without looking at crash.dmp) and that will be fixed in 0.6.3b

Onéasis

  • Guest
Custom graphics driver for FF7/FF8 [v.1-.7.6]
« Reply #339 on: 2009-05-23 10:10:42 »
Hello,

I try your latest release and i have always same crash when a fight begin.



(the laster report from myst6re come from me ^^')

http://wikisquare.com/public/crash_oneasis.zip
« Last Edit: 2009-05-23 14:01:50 by Onéasis »

KaOSoFt

  • *
  • Posts: 22
    • View Profile
Custom graphics driver for FF7/FF8 [v.1-.7.6]
« Reply #340 on: 2009-05-23 13:46:00 »
I also got this crash just initiating the battle. The weird thing is, I had already battled four (or three?) times already, and nothing had happened.

EDIT: Oops, totally forgot the APP.LOG and the crash.dmp. Here is it, for Aali, and Aali's eyes only, please. It can only be downloaded ten times before deletion:

http://rapidshare.com/files/236330769/APPLOGandCRASHDMP.rar.html

Thank you very much for your support.
« Last Edit: 2009-05-23 13:49:37 by KaOSoFt »

Cyberman

  • *
  • Posts: 1572
    • View Profile
Custom graphics driver for FF7/FF8 [v.1-.7.6]
« Reply #341 on: 2009-05-23 13:54:38 »
Summons like Titan, Neo Bahamut, KOTR, Kujata, Ifrit or Alexander?. They all make heavy use of framebuffer effects at some point. This is very slow if you don't have OpenGL 2.0 support and still pretty taxing for the graphics card if you do. Keep in mind that with 1280x960 you have to push four times as many pixels around.

If you get slowdowns the first time a new effect is shown on the screen it's probably because that palette hadn't been used with that texture before and so the texture had to be reloaded.
Err 1280x960 is 4 times in linear measurement whereas increasing the resolution by 4x actually increases the area (pixels) by 16.  Trivia I know but :D

By the way it's interesting to watch this.  I assume you have a log feature to see what sets of calls are made for what part of the game?  It would be interesting to know 'where' the calling address is for the library calls is all.

Cyb

Aali

  • *
  • Posts: 1196
    • View Profile
Custom graphics driver for FF7/FF8 [v.1-.7.6]
« Reply #342 on: 2009-05-23 15:14:43 »
You think 1280x960 is 16 times larger than 640x480? :-P

I have a config option that prints out each and every call made to the driver, but it's not very useful anymore since the sheer amount of calls makes it impossible to get anything useful out of it. (And turning this option on makes the game atleast 100x slower)

But I can tell you now, there are some wrappers for calling the driver, some code calls it directly, some stuff fills in its own call table with driver routines etc. It's a mess.

Oh and I fixed the battle crash for good this time, it will not be in 0.6.4b :-P
It was a problem with the unload texture routine, and FF7 calling it in a number of different unexpected scenarios. Although I haven't been able to reproduce it myself, those crash logs told me exactly what I needed to know. :-)

KaOSoFt

  • *
  • Posts: 22
    • View Profile
Custom graphics driver for FF7/FF8 [v.1-.7.6]
« Reply #343 on: 2009-05-23 16:47:10 »
Oh and I fixed the battle crash for good this time, it will not be in 0.6.4b :-P
It will not? Why? :cry:

Aali

  • *
  • Posts: 1196
    • View Profile
Custom graphics driver for FF7/FF8 [v.1-.7.6]
« Reply #344 on: 2009-05-23 16:48:01 »
Obviously, I meant the crash, not the fix :lol:

KaOSoFt

  • *
  • Posts: 22
    • View Profile
Custom graphics driver for FF7/FF8 [v.1-.7.6]
« Reply #345 on: 2009-05-23 18:06:58 »
Obviously, I meant the crash, not the fix :lol:
Oh, I sometimes hate being a non-native. I usually misunderstand these kind of conversations.

Thank you!

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Custom graphics driver for FF7/FF8 [v.1-.7.6]
« Reply #346 on: 2009-05-23 18:44:32 »
I vote we choose 1 universal language and have done with it all  :P

Covarr

  • Covarr-Let
  • Administrator
  • *
  • Posts: 3941
  • Just Covarr. No "n".
    • View Profile
Custom graphics driver for FF7/FF8 [v.1-.7.6]
« Reply #347 on: 2009-05-23 19:01:10 »
They tried that. It was called Esperanto. It never really caught on.

[/offtopic]

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Custom graphics driver for FF7/FF8 [v.1-.7.6]
« Reply #348 on: 2009-05-23 19:05:24 »
They tried that. It was called Esperanto. It never really caught on.

[/offtopic]

yeah sorry bout offtopic, was gonna say,  red swarf comedy uses that.  Perhaps they should attempt it with english?  since english is already the aviation standard.  I think sooner or later they may have to really

KaOSoFt

  • *
  • Posts: 22
    • View Profile
Custom graphics driver for FF7/FF8 [v.1-.7.6]
« Reply #349 on: 2009-05-24 19:25:53 »
http://backup.ninjaloot.se/share/ff7_opengl-0.6.4b.zip

Installation
Run FF7Config to setup sound/midi if you haven't done that already.
Extract the archive into your ff7 folder (where ff7.exe is), run one of the .reg files (64-bit Vista users have to use the vista64bit file)
FF7 will now use the new driver. (To revert the changes made by the .reg file, run FF7Config)

New features in this version
None

Bug fixes in this version
Finally fixed the crash in battle introduced with 0.6.1b. :-)
Added some more sanity checking to prevent a few possible crashes.


If you find any issues, please post screenshots, relevant information from APP.LOG and if possible, a savegame.
If you get a crash, provide a copy of crash.dmp and APP.LOG (preferably in a zip archive, this will make it 10x smaller)
Yay! Thank you! I'll test it right away!