VOGONS


dgVoodoo 2 for DirectX 11

Topic actions

  • This topic is locked. You cannot reply or edit posts.

Reply 3500 of 3949, by Dege

User metadata
Rank l33t
Rank
l33t
cesar300 wrote:
Dege wrote:
Thanks to everybody for the feedback!! […]
Show full quote

Thanks to everybody for the feedback!!

cesar300 wrote:

Hello:
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. 😖

Reply 3501 of 3949, by UCyborg

User metadata
Rank Member
Rank
Member

Your website surely got notorious:
NDFfG5b.png
Maybe because of executable packing, supposedly popular among malware writers.

BTW, I asked about that issue with black screenshots in Drakan some time back. Well, I still have it. It works properly only if I change color depth to 16bpp, though they're washed out, no dithering for screenshots I guess. There are no issues with 32bpp natively with AMD drivers.

I also noticed big frame drops with enabled Lens Flare effects, bigger than natively at least. While shooting fire balls with the dragon, it drops to about 40 FPS natively, but to 15 FPS with dgVoodoo.

Arthur Schopenhauer wrote:

A man can be himself only so long as he is alone; and if he does not love solitude, he will not love freedom; for it is only when he is alone that he is really free.

Reply 3503 of 3949, by UCyborg

User metadata
Rank Member
Rank
Member

Any browser using Google's Safe Browsing API shows the warning.

Arthur Schopenhauer wrote:

A man can be himself only so long as he is alone; and if he does not love solitude, he will not love freedom; for it is only when he is alone that he is really free.

Reply 3504 of 3949, by Dege

User metadata
Rank l33t
Rank
l33t

I'm aware of that, thanks! 😒 😵 😒 😵

I've just reuploaded dgVoodoo2_54.zip (as this is the malware one according to Google) and asked for a site review.
This all is really frustrating by now, and it's not just about exe packers: dgVoodooCpl gets 5 false positives out of 65 AV's on VirusTotal even in its uncompressed form.

What is really irritating me is that (maybe I'm wrong) any noname "antivirus" can make a verdict about any application, so in practice the AV itself becomes the unwanted software.
Shouldn't those AV's get through some kind of certification process to get the right to funtion as antivirus?
If not then I'll whip up one tomorrow saying all exisiting executables on the world are "malware"/"Trojan.xxx.Win32"/"whatever fancy scientific-looking classification", so please delete the internet. 😁 😁

Reply 3506 of 3949, by Dege

User metadata
Rank l33t
Rank
l33t

😀

At this rate, I'll need an anti-AV software for my personal usage. For example AV's behave like a mad dog in the roost when they notice my collection of old demos, 64K demos, intros, etc.

BTW, I've just got a message from Google, the site should be unflagged and secure again in a few hours.

Reply 3507 of 3949, by Myloch

User metadata
Rank Oldbie
Rank
Oldbie

I don't know how these things work, if some @ssh0le, who thought your site was w@rez, sent a report to Google or just some heuristic sh*t?

"Gamer & collector for passion, I firmly believe in the preservation and the diffusion of old/rare software, against all personal egoisms"

Reply 3509 of 3949, by Dege

User metadata
Rank l33t
Rank
l33t
UCyborg wrote:

BTW, I asked about that issue with black screenshots in Drakan some time back. Well, I still have it. It works properly only if I change color depth to 16bpp, though they're washed out, no dithering for screenshots I guess. There are no issues with 32bpp natively with AMD drivers.

I also noticed big frame drops with enabled Lens Flare effects, bigger than natively at least. While shooting fire balls with the dragon, it drops to about 40 FPS natively, but to 15 FPS with dgVoodoo.

I had a look again at screenshot saving. Drakan simply locks the backbuffer and write its content into the TGA file. It doesn't even care about the RGB order of buffer format (bug on the game side).
When 32 bit display mode is set then the buffer format is 32bit XRGB, meaning the 'alpha' (X) component is undefined when its being read and has no effect when written (by the CPU).
dgVoodoo always forces the X component to be 0 while WineD3D and AMD hw probably just handle it as if it were ARGB and A can turn into 255.
So, 32 bit TGA files are ok, just their alpha channel is zero. 😁

I don't know what version of Drakan.exe you have, but I patched mine to fill alpha channel to 0xFF. My only concern is that I don't know if the code I modified is used for any other thing beyond taking screenshots.
http://dege.fw.hu/temp/Drakan_XRGB.zip

Yes, dithering has no effect on locked buffer data. I'm planning to implement it in some day.

As for frame rate drop, I cannot say anything now, must check that out.

Reply 3510 of 3949, by UCyborg

User metadata
Rank Member
Rank
Member

You probably used Drakan.exe from the last official patch. Thanks, I'll merge it with AiO Patch in the near future. There's another small thing I wanted to take a look at when I'm in the mood. Since you got the last official version, what do you say about the issue that happens natively on all modern cards when you get black menu background when you pause the game instead of the whatever was on the screen at the time of pause? And consequently, it crashes after difficulty selection screen because of a missing zero pointer check. The thing with passing DDSCAPS_MIPMAP flag when it shouldn't be. It was acceptable in that scenario (copying last frame for menu background) on very old cards and still is with dgVoodoo.

Today, I came across a rather curious issue on Windows 10. If I start OllyDbg (latest v2.01), put it on the secondary monitor (on the right) in maximized state, start any game wrapped through dgVoodoo in fullscreen mode, then use Win key, Alt+Tab, whatever to return to the desktop, click on the OllyDbg window; clicks just go through to the desktop behind the window. When I minimize OllyDbg with help of taskbar button and restore it, things are back to normal. Must use the taskbar button, Alt+Tab doesn't cut it, it has to be minimized first. Can anyone else reproduce this exact issue? There's something about this particular combination, it doesn't happen if I swap OllyDbg for some other program. This was observed on Windows 10 version 1709 Build 16299.251. No 3rd party window manager software was running in the background.

Arthur Schopenhauer wrote:

A man can be himself only so long as he is alone; and if he does not love solitude, he will not love freedom; for it is only when he is alone that he is really free.

Reply 3511 of 3949, by Dege

User metadata
Rank l33t
Rank
l33t
UCyborg wrote:

You probably used Drakan.exe from the last official patch. Thanks, I'll merge it with AiO Patch in the near future. There's another small thing I wanted to take a look at when I'm in the mood. Since you got the last official version, what do you say about the issue that happens natively on all modern cards when you get black menu background when you pause the game instead of the whatever was on the screen at the time of pause?

First, the last frame from the backbuffer is copied into a sw offscreen buffer. Later when rendering menu screens, that sw surface is blitted back to the backbuffer and a fullscreen quad is drawn to darken it a little bit.
When I commented the darkening part out then it still remained fully black, so the blitting is the one that fails. Silently, because no error code was given back for Blt's.

Update: This offscreen is in fact created as a texture in system memory with the flag DDSCAPS_MIPMAP too. I removed DDSCAPS_MIPMAP from the creation parameters and now the menu background works natively too.

http://dege.fw.hu/temp/Drakan_XRGB.zip (reuploaded)

(These are quick and dirty patches, requires extensive testing.)

UCyborg wrote:

And consequently, it crashes after difficulty selection screen because of a missing zero pointer check.

I cannot reproduce that crash, works fine for me.

Reply 3512 of 3949, by UCyborg

User metadata
Rank Member
Rank
Member

I merely wanted to ask if the black menu background issue is just that the older drivers were buggier / less standard compliant that the problem arose in the first place. I already took care of the problem myself in my patch. Just removing DDSCAPS_MIPMAP flag is not a good fix though, there is another variable that must be checked to decide whether DDSCAPS_MIPMAP should be set. Engine has mipmapping feature and removing that flag unconditionally will result in invisible textures that use mipmaps. None of the stock texture databases contain mipmaps, but they can be made with Level Editor.

Dege wrote:

I cannot reproduce that crash, works fine for me.

Only happens natively with unmodified executables. Historically, the issue surfaced with NVIDIA GeForce 6 Series cards on NVIDIA side. At least approximately in that era according to reports from the time, there were no issues on GeForce4 MX 440. There is no known approximate date to when the issue popped up on ATI side.

I came across the code you modified to fix screenshots before, it's not used for anything else AFAIK, so it's good. Thanks again!

Arthur Schopenhauer wrote:

A man can be himself only so long as he is alone; and if he does not love solitude, he will not love freedom; for it is only when he is alone that he is really free.

Reply 3513 of 3949, by Dege

User metadata
Rank l33t
Rank
l33t
UCyborg wrote:

I merely wanted to ask if the black menu background issue is just that the older drivers were buggier / less standard compliant that the problem arose in the first place. I already took care of the problem myself in my patch. Just removing DDSCAPS_MIPMAP flag is not a good fix though, there is another variable that must be checked to decide whether DDSCAPS_MIPMAP should be set. Engine has mipmapping feature and removing that flag unconditionally will result in invisible textures that use mipmaps. None of the stock texture databases contain mipmaps, but they can be made with Level Editor.

Ah, ok, I see, the code I modified is a general one for creating various resources like textures, offscreens, etc.
Then I think the size of the surface could be checked against: if width or height is not power of 2 then DDSCAPS_MIPMAP could be omitted because it cannot be a texture.
BTW, I took a look at the callback of EnumTextureFormats and revealed that Drakan only accepts 16 bit RGB565 texture formats, strictly with RGB component order.

Reply 3514 of 3949, by FulValBot

User metadata
Rank Member
Rank
Member
Dege wrote:
I'm aware of that, thanks! :blah: :dead: :blah: :dead: […]
Show full quote

I'm aware of that, thanks! 😒 😵 😒 😵

I've just reuploaded dgVoodoo2_54.zip (as this is the malware one according to Google) and asked for a site review.
This all is really frustrating by now, and it's not just about exe packers: dgVoodooCpl gets 5 false positives out of 65 AV's on VirusTotal even in its uncompressed form.

What is really irritating me is that (maybe I'm wrong) any noname "antivirus" can make a verdict about any application, so in practice the AV itself becomes the unwanted software.
Shouldn't those AV's get through some kind of certification process to get the right to funtion as antivirus?
If not then I'll whip up one tomorrow saying all exisiting executables on the world are "malware"/"Trojan.xxx.Win32"/"whatever fancy scientific-looking classification", so please delete the internet. 😁 😁

And today again it show the same malware...

Reply 3515 of 3949, by kolano

User metadata
Rank Oldbie
Rank
Oldbie
Dege wrote:
I've just reuploaded dgVoodoo2_54.zip (as this is the malware one according to Google) and asked for a site review. This all is […]
Show full quote

I've just reuploaded dgVoodoo2_54.zip (as this is the malware one according to Google) and asked for a site review.
This all is really frustrating by now, and it's not just about exe packers: dgVoodooCpl gets 5 false positives out of 65 AV's on VirusTotal even in its uncompressed form.

What is really irritating me is that (maybe I'm wrong) any noname "antivirus" can make a verdict about any application, so in practice the AV itself becomes the unwanted software.
Shouldn't those AV's get through some kind of certification process to get the right to funtion as antivirus?

They do, at least those that want to integrate into modern versions of Windows. Though I'm unclear how much focus is applied to false-positives. It's a constant problem with demo-scene releases. Better processes are definitely needed to address false-positives.

Eyecandy: Turn your computer into an expensive lava lamp.

Reply 3519 of 3949, by FulValBot

User metadata
Rank Member
Rank
Member

With 2.55 version i got serious mouse problems and i can't move it...

game tested: Outlaws in directdraw mode (that problem is caused by ddraw.dll from dgvoodoo2 and affect 3dfx version too if i try to use that video mode)

with Serious Sam TFE/TSE in directx mode i got only a black screen... (same problem of old version)