VOGONS


dgVoodoo 2 for DirectX 11

Topic actions

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

Reply 1780 of 3949, by De-M-oN

User metadata
Rank Newbie
Rank
Newbie

Command And Conquer Tiberian Dawn// Red Alert? When yes is there a tutorial or something to scale the Games?

Just use the patch 1.06c

It contains ccconfig.exe which lets you choose any resolution and runs through OpenGL or ddraw (you decide)

redalert 1 is patchable in similar way too:

http://redalert1.com/

Reply 1783 of 3949, by Glurak

User metadata
Rank Newbie
Rank
Newbie

dg voodoo is easier to capture for me 😀

I testet a little with Diablo 1 it works until the Intro ends then the game goes in the Taskbar (music is stil running but the game cant go fullscreen)

Edit: i testet more after i disable the Disable alt-Enter to toggle Screen status option the games works extremly fine. 😳 with one exception the menüs are only windows in low resolution dont know why ^^

Reply 1784 of 3949, by Choum

User metadata
Rank Newbie
Rank
Newbie
Dege wrote:

Then it's the game that's influenced by Win98 compatibility.
What about running the game without compatibility mode and set its affinity to single processor (it's a usual solution to prevent crashes)?

Yes I already force the affinity with the tool imagecfg, no change.
In fact this crash seems to be random (I was able one time to close the medal case without crashing the game but it's very rare.)

Reply 1785 of 3949, by Gagster

User metadata
Rank Newbie
Rank
Newbie
Dege wrote:
Gagster wrote:

I'm having one major issue with this version though; I'm no longer able to run games in fullscreen mode with this plugin. I'm forced to play in windowed. Even dgVoodoo 2.32 could without any issues run all Glide games in fullscreen, but now I'm forced to run both Carmageddon 2 and Ignition in windowed mode.

Don't you have multiple monitors, on different video cards? Like an IntelHD + nVidia combo?
dgVoodoo got multimonitor support since 2.32 maybe that's the reason. Check your config, and see what 'Adapters to use/enable' is set to, on the 'General' page. The game window cannot be put into fullscreen on a monitor-output connected to a different video card that the game drives for the rendering.

I recently found out that the newest Nvidia Drivers broke fullscreen support in dgVoodoo. I reinstalled the Nvidia 362.00 Driver (after uninstalling 364.72) and fullscreen was working again in both Glide and Direct3D games. I have both the TV and PC monitor connected to the same videocard, so that may be a bit tricky with some videocard drivers.

Last edited by Gagster on 2016-04-12, 02:14. Edited 1 time in total.

CPU: i7-4790K
RAM: 16 GB
GPU: GeForce GTX 1080
OS: Windows 10 64 bit

Reply 1786 of 3949, by xcomcmdr

User metadata
Rank Oldbie
Rank
Oldbie

Thanks for the permission. 😀

----

Speaking of fullscreen support, so far three games I tested could not (at least not without dgVoodoo) use fullscreen mode on Windows 8 / 10 and nothing else (Windows 7 and earlier are fine) :
- Resident Evil 2
- Metal Gear Solid
- Drakan

(Surprisingly, Resident Evil 3 wasn't affected, despite using a barely modified RE2 engine)

Drakan was fixed with an appcompat patch (that changed it's entry in Windows' compatibility shims database), Resident Evil 2 needed dgVoodoo, and MGS too.

I wonder what changed in Win 8 / 10 regarding the window manager or similar for it to have that effect, and how many games are affected...

-----

About water rendition problems with MGS and HW acceleration turned on :
- Intel HD4000 : no problem (Windows 10, patch + dgVoodoo combo)
- GeForce 4 Ti4200 : no problem (on Windows 98SE, and Windows XP. Only the modified executable was used)
- MSI GeForce GTX 950 OC : no problem (Windows 10, patch + dgVoodoo combo)

-----

I added (at least, I think) support for DirectShow movie playback via dgVoodoo. First, I wrote a complete API hooking system and […]
Show full quote

I added (at least, I think) support for DirectShow movie playback via dgVoodoo.
First, I wrote a complete API hooking system and then it got clear that API hooking is definitely not the way for DShow as it relies on half of the legacy Win32. 😵 😵
So, instead I ended up with an internal, built-in DShow-hooking layer on top of DDraw that detects movie playback and converts those calls to the sake of dgVoodoo for correct display (similarly to Windows AppCompat layer).

I encountered all practical programming problems that one could: worker threads, deadlocks, multiple object instances, unexpected order of object destruction, cross-module and cross-API interactions for output redirection, it's a complete suck. 😵 😵
I did a lot of needless work too in the recent 2 weeks, but now it finally seems to work. Though I didn't do extensive tests, only tried

That sounds awesome ! Thanks a lot for your dedication.

In fact, I'd like to offer more than thanks. Is there a way to support the project by giving money ? (couldn't find any 'donate' button on the official website).

Reply 1787 of 3949, by De-M-oN

User metadata
Rank Newbie
Rank
Newbie

Soooo now I tried NFS 4 with it and I'm impressed. That z-fighting headlights is indeed gone 😮

You're a god. Thank you!!

Sharp fonts as well. I've set the wrapper to 2560x1600 with 8x MSAA and the game to 1600x1200. Looks awesome. I just would wish a bit more stable 60fps. its swapping between 57 and 60. but the 3fps swapping feels a bit stronger than the number difference may guess you. But thats crying at big niveau. I'm happy. But maybe you have a tip to make it more stable 60fps? Using less MSAA didnt help. And the game apparently uses vsync/framelimit too.

Reply 1788 of 3949, by Glurak

User metadata
Rank Newbie
Rank
Newbie

I testet a little bit more

with DDRAW

Red alert 2 workd fantastic with it ( i can play in Full HD scaling without using the ini editing awhere everything is super small only videos a weird where is cut in half but after setting resolution lower and then back ingame everything works)

Sad to say the Addon Yuris Revenge dont work the game just crash at startup.

Its nice to see what your tool can do <3 but sure still many thing to do i think ^^

Edit testet Dungeon Keeper 2 v1.8 only with centered Scaling. Only one Issue Black Flickering behind the cursor

Reply 1789 of 3949, by Dege

User metadata
Rank l33t
Rank
l33t
Glurak wrote:
Yes could be but Blizzard said in his Forum that they will support Glide maybe you should just aks to support your wrapper ? i […]
Show full quote

Yes could be but Blizzard said in his Forum that they will support Glide maybe you should just aks to support your wrapper ? i dont know, Here is the Post:

http://us.battle.net/en/forum/topic/20742864601

It looks like the Developer of nGlide has the same problem and he try to talk with Blizzard:

http://us.battle.net/en/forum/topic/20742849642

They gave him an answer that they will look into it for 1.14c

Just a Question your Wrapper dont support DDraw Games like Diablo 1 // Warcraft 2 Bnet Edition or Command And Conquer Tiberian Dawn// Red Alert? When yes is there a tutorial or something to scale the Games?

Cool, the we only have to wait for 1.14c. In fact, Blizzard doesn't support Glide in their 1.14b patch, only in a broken way that works only with Sven's wrapper. Once they fix the function names, it'll automatically work with dgVoodoo again (and nGlide, ZeckenSack, and a real 3Dfx driver again), so I don't have to ask anything.
Till then, what about D3D? Diablo II worked with it for me, but I'm not sure if there is something special in Glide as for the rendering quality.

Glurak wrote:

Just a Question your Wrapper dont support DDraw Games like Diablo 1 // Warcraft 2 Bnet Edition or Command And Conquer Tiberian Dawn// Red Alert? When yes is there a tutorial or something to scale the Games?

Do you mean, upscaling the resolution? That makes no sense for DDraw-only games (working with plain bitmaps).
Resolution scaling is only for things rendered "in 3D", of triangles.

teleguy wrote:
I get a generic Windows error message: "Engine stopped working Problem details: Fault Event Name: BEX . . . Fault Module: Stack […]
Show full quote
Dege wrote:

I've done a quick test with Drakan Demo and Diablo II 1.14b (Glide, forced to 1280x1024) but both works fine with 2.51. 😕
I'll try them on an AMD too, to see what happens.

Edit: (BTW, crash on Drakan Demo means driver crash? I remember having one with some old nVidia driver.)

I get a generic Windows error message:
"Engine stopped working
Problem details:
Fault Event Name: BEX
.
.
.
Fault Module: Stackhash_3487"
etc.

I've tried it on my AMD and it worked.
However, BEX is "Buffer overflow Exception". It's typically comes from debug version of C-runtimes.
I doubt the game demo links to such a MSV CRT, so
- either DDraw enumerates too many resolutions to the game, causing stack overflow (but not in my case, as I have a relatively few resolutions without any additional super/custom resolutions),
- or you may have enabled some options in very tech developer-stuffs, like AppVerifier or GlobalFlags which can force "debug circumstances" to apps (I doubt it, too)

Glurak wrote:

I testet a little with Diablo 1 it works until the Intro ends then the game goes in the Taskbar (music is stil running but the game cant go fullscreen)

Edit: i testet more after i disable the Disable alt-Enter to toggle Screen status option the games works extremly fine. with one exception the menüs are only windows in low resolution dont know why ^^

Diablo1 has issues with dgVoodoo, I wrote about it earlier. Now it can only be played in windowed mode because of some DXGI (D3D11) limitiations, and there is a graphical glitch somewhere AFAIR.

xcomcmdr wrote:
About water rendition problems with MGS and HW acceleration turned on : - Intel HD4000 : no problem (Windows 10, patch + dgVoodo […]
Show full quote

About water rendition problems with MGS and HW acceleration turned on :
- Intel HD4000 : no problem (Windows 10, patch + dgVoodoo combo)
- GeForce 4 Ti4200 : no problem (on Windows 98SE, and Windows XP. Only the modified executable was used)
- MSI GeForce GTX 950 OC : no problem (Windows 10, patch + dgVoodoo combo)

It's strange, because when I last checked, it was wrong for me (GF GTS 450). But when I check again after my last attempt (:-D) with a newer version of dgVoodoo, it was fine again.

xcomcmdr wrote:

That sounds awesome ! Thanks a lot for your dedication.

In fact, I'd like to offer more than thanks. Is there a way to support the project by giving money ? (couldn't find any 'donate' button on the official website

Ah, thanks a lot for that. Yes, currently there is no donate button, I think I'll set up a paypal account for that, somehow. 😁

De-M-oN wrote:

Soooo now I tried NFS 4 with it and I'm impressed. That z-fighting headlights is indeed gone 😮

You're a god. Thank you!!

Sharp fonts as well. I've set the wrapper to 2560x1600 with 8x MSAA and the game to 1600x1200. Looks awesome. I just would wish a bit more stable 60fps. its swapping between 57 and 60. but the 3fps swapping feels a bit stronger than the number difference may guess you. But thats crying at big niveau. I'm happy. But maybe you have a tip to make it more stable 60fps? Using less MSAA didnt help. And the game apparently uses vsync/framelimit too.

Thanks, but rather let's say I just spent too many time on both sides of DirectX: user and driver sides, and so got some experiences. 😁
As for the FPS drop, what about slightly smaller resolution? If it's still jumping between 57/60 fps then the issue probably is not reolution related.

-------------

Meanwhile I did some experiment with supporting 10.0 level output and whipped up an experimental version, with which I played DX8 games at 10.0. But, I have mixed feelings about that:

* 1. On the one part, it revealed that there are number of limitations, one of is very basic, in theory. These are:
- Lack of mipmapping in Glide ( 😒 )
- Lack of mipmapping in DX(<=7) in some (rare) cases (tolerable)
- Missing fixed function vertex tweening support in DX8 (tolerable, as I didn't encounter any game using it. Anyway, this could be solved, I just don't want to rewrite basic rendering codes because of that)
- D3DCompiler is always needed (because I don't want to include precompiled shaders for 10.0; wouldn't make sense, concerning performance, but it's totally tolerable)
- No Phong shading available (tolerable, as it didn't prove to be very useful in practice + performance issues again, it's very computation-consuming)
- Multisampled depthStencil surfaces cannot be used as a shader input, so blitting/locking depth buffers when AA is forced would give an error (tolerable as only a few (1 or 2) games do that)
- Cubetextures cannot be viewed and used as 2D texture arrays. This one is very basic, but, it affects rare cases too, after all: when a game copies data from one cube texture to another with format conversion, or from one that was rendered by 3D. It seems also tolerable, since majority of the games don't do such operations.
(I hope no more to come...)

*2. On the other hand, despite the limitations look too 'deal breaker', it'd be a pity if a game not requiring much gpu resources couldn't be played on a 10.0 hw just because of limitations that don't even affect the game. I'm speaking of DX here, as lack of mipmapping in Glide is too serious. It all would only be "recommended" for wrapping DX, for last-resort cases.

So, I'm still pondering on what to do: ditch the idea as it is, or support 10.0 with the limitations above, including that I don't care of potential rendering glitches and error messages in games, except for crashes in dgVoodoo code.

Reply 1790 of 3949, by Myloch

User metadata
Rank Oldbie
Rank
Oldbie
Stiletto wrote:

Someone else over at DXGL forums just requested help from DXGL with "War Gods", saying that it is a D3D1 game (!!!). I coincidentally own it and can probably test it when D3D1 support is ready.

That message on dxgl forums was made by Aclair when he created experimental wrapper (here) for Wargods (exe hack + dxgl's ddraw.dll hack) 😜
Nice to see that after all this time Dxgl creator still doesn't give a shit about fixing his wrapper for wargods, even if Aclair made a workaround in 2 days (sarcasm).

Dege wrote:

There is no D3D1. DirectX3 was the first DirectX release in which Direct3D appeared (the one Carmack blamed so much in his open letter), DX1 and DX2 provided only DirectDraw.
DX4 never existed, so the D3D order is 3, 5, 6, 7.

Direct3d debuted in Directx 2. Found more infos here: https://en.wikipedia.org/wiki/Direct3D#Direct3D_2.0_and_3.0

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

Reply 1791 of 3949, by Gamecollector

User metadata
Rank Oldbie
Rank
Oldbie
Dege wrote:

lack of mipmapping in Glide is too serious

?
NGlide not supports mip-mapping. And IIRC all 321 tested games are ok, some games are better (GT Racing etc).

Asus P4P800 SE/Pentium4 3.2E/2 Gb DDR400B,
Radeon HD3850 Agp (Sapphire), Catalyst 14.4 (XpProSp3).
Voodoo2 12 MB SLI, Win2k drivers 1.02.00 (XpProSp3).

Reply 1792 of 3949, by teleguy

User metadata
Rank Member
Rank
Member
Dege wrote:
I've tried it on my AMD and it worked. However, BEX is "Buffer overflow Exception". It's typically comes from debug version of C […]
Show full quote

I've tried it on my AMD and it worked.
However, BEX is "Buffer overflow Exception". It's typically comes from debug version of C-runtimes.
I doubt the game demo links to such a MSV CRT, so
- either DDraw enumerates too many resolutions to the game, causing stack overflow (but not in my case, as I have a relatively few resolutions without any additional super/custom resolutions),

That was it! Disabled the super resolutions and it worked.

Reply 1793 of 3949, by lowenz

User metadata
Rank Oldbie
Rank
Oldbie
Myloch wrote:

Direct3d debuted in Directx 2. Found more infos here: https://en.wikipedia.org/wiki/Direct3D#Direct3D_2.0_and_3.0

MechWarrior 2 Mercenaries was DX2 😁
I remember the installation process SO well (man, we got old.....it seems yesterday to me)

Reply 1794 of 3949, by lowenz

User metadata
Rank Oldbie
Rank
Oldbie
Dege wrote:
* 1. On the one part, it revealed that there are number of limitations, one of is very basic, in theory. These are: - Lack of mi […]
Show full quote

* 1. On the one part, it revealed that there are number of limitations, one of is very basic, in theory. These are:
- Lack of mipmapping in Glide ( 😒 )
- Lack of mipmapping in DX(<=7) in some (rare) cases (tolerable)
- Missing fixed function vertex tweening support in DX8 (tolerable, as I didn't encounter any game using it. Anyway, this could be solved, I just don't want to rewrite basic rendering codes because of that)
- D3DCompiler is always needed (because I don't want to include precompiled shaders for 10.0; wouldn't make sense, concerning performance, but it's totally tolerable)
- No Phong shading available (tolerable, as it didn't prove to be very useful in practice + performance issues again, it's very computation-consuming)
- Multisampled depthStencil surfaces cannot be used as a shader input, so blitting/locking depth buffers when AA is forced would give an error (tolerable as only a few (1 or 2) games do that)
- Cubetextures cannot be viewed and used as 2D texture arrays. This one is very basic, but, it affects rare cases too, after all: when a game copies data from one cube texture to another with format conversion, or from one that was rendered by 3D. It seems also tolerable, since majority of the games don't do such operations.
(I hope no more to come...)

*2. On the other hand, despite the limitations look too 'deal breaker', it'd be a pity if a game not requiring much gpu resources couldn't be played on a 10.0 hw just because of limitations that don't even affect the game. I'm speaking of DX here, as lack of mipmapping in Glide is too serious. It all would only be "recommended" for wrapping DX, for last-resort cases.

So, I'm still pondering on what to do: ditch the idea as it is, or support 10.0 with the limitations above, including that I don't care of potential rendering glitches and error messages in games, except for crashes in dgVoodoo code.

- Lack of mipmapping in DX(<=7) in some (rare) cases (tolerable) -> Please, some examples!
If Nglide too doesn't support Glide MM there's no serious problem at all....

Reply 1795 of 3949, by Dege

User metadata
Rank l33t
Rank
l33t
Gamecollector wrote:
Dege wrote:

lack of mipmapping in Glide is too serious

?
NGlide not supports mip-mapping. And IIRC all 321 tested games are ok, some games are better (GT Racing etc).

It's a little surprising to me. When I last time tested it (with Unreal Tournament) then mipmapping was noticably missing but I thought that was a very early version (and, I remembered that Unreal(s) Glide renderers upload textures level-by-level, so detecting the multilevel texture as a whole is hard for a wrapper, at least it was for me, when I struggled with it in dgVoodoo1 without shadow texture memory).

lowenz wrote:

- Lack of mipmapping in DX(<=7) in some (rare) cases (tolerable) -> Please, some examples!

Textures with colorkey transparency (used mainly in early DX days, before alpha-testing became general and substituted it).
But colorkeying typically doesn't work (look) well together with mipmapping so those textures are mostly one-level (what is more, point-filtered).

Myloch wrote:

Direct3d debuted in Directx 2. Found more infos here: https://en.wikipedia.org/wiki/Direct3D# ... .0_and_3.0

Ok, thanks, by now I know. I just read a document from one of DX team members from that time, and in that, he (probably wrongly) stated that they introduced it in DX3.

Reply 1796 of 3949, by Dege

User metadata
Rank l33t
Rank
l33t

Update: DX precompiled shaders can be compiled to 10.0 (SM4.0) target, so they could be included for 10.0 too...
I would reluctantly try them on an early 10.0 hw.
But, If I'm right, then my GF GTS 450 can be outperformed by a GTX 260 or GTX280, so the precompiled ones would probably run relatively well on those late-10.0 cards (I used that GTS 450 for a lot of testing and it was OK for most of the cases).

Reply 1798 of 3949, by Peixoto

User metadata
Rank Member
Rank
Member
Dege wrote:
Wow! Thanks for that video! I've tried the game with the patch and I can reproduce the same. Well, the bad news are the followin […]
Show full quote
SpeedySPCFan wrote:
Alright, so, I just tried this with Resident Evil PC. I recorded a video of the issues, but quick summary: […]
Show full quote

Alright, so, I just tried this with Resident Evil PC. I recorded a video of the issues, but quick summary:

NO 2D background works in the game. This means all backgrounds won't display.
FMVs are broken.
Text does not display.
Game is blurrier than normal.

https://www.youtube.com/watch?v=jzpXcWneGi4&feature=youtu.be

Wow! Thanks for that video!
I've tried the game with the patch and I can reproduce the same.
Well, the bad news are the following:

- FMV's are missing because they aren't rendered through DirectDraw but GDI. It's the same problem as with King's Quest 8, for example. This combination is still unsupported in dgVoodoo, I'm planning to do something with it in a later version.
- Screen image is blurrier than normal because the game uses 320x240 as of resulution by default. If I disable the support for that in the wrapper code then the game runs in 640x400 (or 640x480, I can't remember). It seems the game looks for the lowest resolution supported or sg like that, for some reason. I don't know if there is a way to force it externally to use 640x480.
- Scene background is missing because the game handles paletted textures incorrectly. If I disable the support for paletted textures then it renders fine. I'm not sure if Matrox or Rendition supported paletted textures (I mention that because if they didn't do that then the game may runs on an untested path with paletted textures, I don't know), but the wrapper always gets a black palette for backgrounds.

Unfortunately all of the 3 issues are things that I can't address for the time being. 🙁

Trying with the latest dgVoodoo2 version (2.51)

- Selecting the radeon 8500 fixes the missing textures
- Alt+enter to windowed mode fixes the missing FMVs. Perhaps dgVoodoo could include a borderless fullscreen window mode.
- To fix the blurred image, use AHK injector (https://autohotkey.com/boards/viewtopic.php?f=6&t=9341) to force the game to run in HD. If the current version doesn't work well with dgVodoo2, the next update (to be releases in a couple days) will.

There are still two issues:
- After you pick up an item, lightning will bug and 3D models will be darker
- There are some shelves you can move in some areas (like the dog window scare room) that will be no textures at their top

edit: in earlier versions that still worked with resident evil 2, windowed mode also fixes FMVs.
for FMVs, RE1 uses GDI and RE2 directshow, borderless fullscreen window could therefore be simple fix for both directshow and GDI

Last edited by Peixoto on 2016-04-13, 02:38. Edited 3 times in total.

Reply 1799 of 3949, by Peixoto

User metadata
Rank Member
Rank
Member
Dege wrote:

- Lack of mipmapping in DX(<=7) in some (rare) cases (tolerable)

What do we lose with that? won't textures actually look better without mipmaps?

Dege wrote:

- Multisampled depthStencil surfaces cannot be used as a shader input, so blitting/locking depth buffers when AA is forced would give an error (tolerable as only a few (1 or 2) games do that)

I can understand a depth blt, but how many games you now that actually lock the depth buffer, multisampled or not ?
can SM 4.0 pixelshaders output depth (SM 3.0 can) ? would that not be enough for depth blts ?