Reply 3500 of 3949, by Dege
Thanks to everybody for the feedback!! […]
Thanks to everybody for the feedback!!wrote:
I am new to this forum. The app dgvoodoo2 is great or at least with directx games where is working well for me. The problem is in games using glide3x.dll. Tried soldier of fortune 1 and medal of honor allied assault and the problem is strange. My display is 1920x1080 and is set with dgvoodoo2. The game keeps 800x600 to avoid crashes and a big text because at big resolutions is too small. With this setting the game screen "cuts down" misteriously. The 1/3 top of menu is in the bottom and the rest is black screen. This happens with quake 2 and quake 3 engine games (which supports glide, obviously). Any fix for future versions?
And when quitting the game in the main menu, the process doesn't kill leaving an 800x600 grey square in the screen.
The game might uses compressed textures through OpenGL which isn't implemented in dgVoodoo Glide. 🙁 But it's only a tip.
BTW, how to run Soldier of Fortune through Glide3? MiniGL was Glide2 IIRC, but I can't remember how to wrap OGL to Glide3. 😦 😦
I downloaded a file named 3dfxvgl.dll from the compatibility list of nglide homepage and in the options menu you can set "3dfx opengl" and I using sofplus. This problem also happens in other games such as medal of honor allied assault using a proper file in nglide compatibility list.
And what about the grey square in the screen after quitting the game from the main menu?
I checked out 3dfxvgl with dgVoodoo. Using them together suffers from some problems (it's not about compressed textures after all):
- If the physical resolution differs from the supposed one (application resolution) then OGL viewport seems to be set improperly (by the game or 3dfxvgl itself, it isn't yet clear), so Glide3 is fed by mistransformed geometry.
Actually what you can see on the screen is not the bottom of the picture but its top. 😀 The more difference between app resolution and the physical one the more the game screen moves toward the bottom of the screen. The only way to get it working is unforced app resolution with 'unspecified' scaling mode.
- 3dfxvgl, as an OpenGL implementation, is active in each single thread of the process (to handle OGL thread-contexts) which heaviliy conflicts with dgVoodoo's (and that of the underlying DX11) multithreading causing deadlocks in certain cases (with grey game window in the corner) like quitting the game, Alt-Tabbing out of it or changing resolution inside the game.
Seeing the implementation of 3dfxvgl it's now clear that it only works if the underlying Glide3 implementation is single threaded without any worker threads, like a real Glide3 driver. 😖