Custom graphics driver for FF7/FF8 [v.1-.7.6]

  • Thread starter Thread starter halkun
  • Start date Start date
Status
Not open for further replies.
It's not my server :-P

And I know it's down, and I should probably move the files somewhere else, just haven't got around to it.

:EDIT: All done
 
Last edited:
Known problems
Videos are not repeated. :wink:


Unknown Problems
ff7opengl6.png

(left: DirectX, right: openGL)

My game was crashing once before a fight. I have no APP.LOG. crash.dmp
 
Known problems
Videos are not repeated. :wink:


Unknown Problems
(left: DirectX, right: openGL)

My game was crashing once before a fight. I have no APP.LOG. crash.dmp
Ah, darnit, I knew there was something I had forgotten. Ah well, the movie issue will be fixed in the next release then.

That graphics "glitch" is due to a hack I implemented to fix some transparency issues. Before that there was too little semi-transparency and now it's a little too much :-P

Oh and that crash is a bit odd (something happened that I've never seen before, it would've crashed every single version of the driver, every time) but fairly easy to fix.
 
Last edited:
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 edited:
yeah when I summon knights of the round, it pauses for a few seconds before carrying on.
 
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.
 
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?
 
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.
 
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)
 
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!
 
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.
 
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?
 
Ff7 does not want to run on linux.    I have installed, but he wants Direct3D :cry:.
 
crashed as soon as i entered battle, V0.6.2

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

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
 
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
 
Status
Not open for further replies.
Back
Top