dgVoodoo 2 for DirectX 11

General information and assistance with dgVoodoo.

Re: dgVoodoo 2 for DirectX 11

Postby ZellSF » 2017-9-17 @ 12:26

Dege: have you considered making adding a profile in dgVoodooCpl.exe automatically copy over relevant DLLs?
Osprey wrote:That's an elitist attitude. There's no reason why someone who has never used a wrapper before couldn't learn. When you're new to something, complex, wordy instructions can be overwhelming.
Learning to read complex wordy documentation is a pretty essential life skill. Telling people to practice it on something that's not harmful to screw up is actually a good idea.
ZellSF
Oldbie
 
Posts: 893
Joined: 2006-1-01 @ 18:19

Re: dgVoodoo 2 for DirectX 11

Postby galneon » 2017-9-17 @ 17:22

ZellSF wrote:Learning to read complex wordy documentation is a pretty essential life skill. Telling people to practice it on something that's not harmful to screw up is actually a good idea.


Osprey gave three very simple steps that could get anyone able to extract an archive and explore a file system up and running with dgVoodoo 2, so in this case, the only difficulty involved is when a novice is made to read between the lines of a document more technical than they're used to in order to ascertain usage.

I like your new profile idea, but without adding options which may confuse some, it think it would need to inspect the executable to determine API.
galneon
Newbie
 
Posts: 46
Joined: 2004-4-15 @ 19:31

Re: dgVoodoo 2 for DirectX 11

Postby franpa » 2017-9-17 @ 18:12

Let's get back on topic.
Core i7 920 @ 2.66GHZ | ASUS P6T Motherboard | 8GB DDR3 1600 RAM | Gainward Geforce 560 Ti 2048MB PCI-E | Windows 10 Pro x64.

my website
franpa
Oldbie
 
Posts: 642
Joined: 2006-4-02 @ 06:26
Location: Queensland, Australia

Re: dgVoodoo 2 for DirectX 11

Postby Dege » 2017-9-17 @ 20:06

Well, the documentation coming with dgVoodoo might be "too much, too detailed" if someone is completely new to the wrapper and only wants to have a glance at it, giving it a quick try.
I think I'll move the docs inside a Doc folder and include a 'QuickGuide.html' with simplified practical instructions.

Indeed, WIP versions don't contain full docs, but WIPs are only incremental updates on the latest official version for people being already familiar with dgVoodoo, so I always include only the latest changes as docs.

ZellSF wrote:Dege: have you considered making adding a profile in dgVoodooCpl.exe automatically copy over relevant DLLs?

Yes... I was even thinking on an installer. Clicking 'Next' button a few times and voila dgVoodoo could be 'there', installed.
But, since I don't want to copy wrapper dlls into system folders (DX ones couldn't even be copied there), I could only keep them in /Program Files/dgVoodoo2/
but then the CPL or some other extra application would always be needed for adding each game to dgVoodoo for usage.

franpa wrote:Okay, after another reboot of the computer the game now works, I can get in to gameplay and actually play the game (without your mod) without it crashing or freezing (I have no clue why system reboots are making the game work better). Your mod still triggers the games custom Exception Handler shortly after gameplay begins.

With your mod the your mod configured to stretched_ar for screen scaling, I am able to determine that there are 2 mouse coursers while the game is running. The Windows mouse courser and the games mouse courser. The games mouse courser only moves while the Windows mouse courser is in the top left quadrant of the display and you need to line the games mouse courser up with the menu items to interact with them.

Clicking "New Game' will change the mouse behaviour for the worst, the in-game mouse courser will no longer have its position updated as I move the Windows mouse courser. Instead I have to click to have the in-game mouse courser update and I have to guess where on the screen to click to make the in-game courser appear where I want it to.

The menu for choosing whether to play the Base Game or the Expansion, the Main Menu, and the sub-menu when clicking a menu option like "New Game" all react to Windows mouse courser movement across different sections of the display, so the offset is changing depending on what menu you're interacting with.

https://youtu.be/4CraExzzbr8 DgVoodo is not used in this video. (It looks like the menu UI rendering issue in Firestorm also applies to the base game UI, maybe Micorosoft buggered something up which made the problem worse or EA buggered it up when porting the game to Origin. You can see the mouse courser behaves correctly.

https://youtu.be/60snMN1nowU DgVoodo 2 v2.54 WIP 36 is used. I assume the games maximum gameplay speed setting disables the Frame Rate Limiter and your mod by default disables vsync? I believe that's why the gameplay was absurdly fast lol (previous tests didn't exhibit absurdly fast gameplay).

Having the mouse behave correctly would be a massive help in trying to figure out why the games exception handler is triggered.

Thx for the videos! As far as I can see, this game has the same problem with dgVoodoo as some others (for example, Settlers 3, Requiem): cursor emulated by software.
Since the game thinks it's driving a hw mouse cursor, it only updates its screen when needed, like moving selection from one menu item to another. That's why the sw cursor only updates its position in those cases too, not continuously.
For the time being, the only way is to set 'Unspecified' scaling mode and 'Unforced' resolution in the CPL because then the mouse can be real hw one. :(

daniel_u wrote:
Dege wrote:Indeed, old one looks nicer. I decided to resolve this problem by adding the possibility of dithering as a post process effect to dgVoodoo and set the default rendering quality to true 32bit.
So, by default everything would render nice but if one wanted some retro feel and look then dithering could be switched on.
In fact it all is working now, except one mysterious case in Glide which I'm struggling with.



Can dithering help fix/improve the way light color is displayed in SCPT ?

Thank you.

No, dithering is about retro feel and look in dgVoodoo... Dithering is a technique for improving the quality of color-banded low quality images and it was common in the old DX days for 16bit display modes.
Dege
Oldbie
 
Posts: 954
Joined: 2003-9-04 @ 11:06

Re: dgVoodoo 2 for DirectX 11

Postby Osprey » 2017-9-17 @ 20:23

ZellSF wrote:Learning to read complex wordy documentation is a pretty essential life skill. Telling people to practice it on something that's not harmful to screw up is actually a good idea.

If you're ever tasked with writing the documentation for a company product and your employer tells you that it's too complex and unclear, just tell him that you're helping customers with an essential life skill and see where that gets you ;). It's not so much the fact that the dgVoodoo documentation is complex and wordy; it's that it's unclear (no offense, Dege). MS7XWDC read all of the documentation and still didn't understand it. Even if there's a sentence that says what to do, it's buried in a sea of other technical information (much of which, like the compiler DLLs, isn't needed for most people), so it's hard for newcomers to realize which sentences to pay attention to and which to safely ignore. Documentation can be both clear and complex and wordy by doing what I suggested, which is putting the simplest instructions up front and then getting progressively more technical and granular as it goes on.

franpa wrote:Let's get back on topic.

I'd argue that debating whether simpler instructions would help is on topic. That would likely be of benefit to more people than some of the other posts (pointing out glitches in obscure games that no one has heard of, etc.).
Last edited by Osprey on 2017-9-17 @ 20:46, edited 1 time in total.
Osprey
Member
 
Posts: 176
Joined: 2017-7-27 @ 21:32

Re: dgVoodoo 2 for DirectX 11

Postby Osprey » 2017-9-17 @ 20:44

Dege wrote:Well, the documentation coming with dgVoodoo might be "too much, too detailed" if someone is completely new to the wrapper and only wants to have a glance at it, giving it a quick try.
I think I'll move the docs inside a Doc folder and include a 'QuickGuide.html' with simplified practical instructions.

Thanks for listening and not taking offense, Dege. A Quick Guide sounds like a good idea. If you still have a Readme, may I suggest an opening line that reads something like "If you're new to dgVoodoo 2 and just want quick, simple instructions, see QuickGuide.html", just in case some users open the Readme first, out of habit.

If you separate out the simple, practical instructions into a QuickGuide.html, leaving the Readme*.html for more technical information, I wonder if you could then simply combine those three files into one. They're HTML files, so you could put links at the top of the page: "General" (that, when clicked, takes you to the section that has everything that was in Readme.html), "DirectX" (ditto for ReadmeDirectX.html) and "Glide" (ditto for ReadmeGlide.html). That would simplify your documentation and maybe eliminate the need to keep a separate Docs folder, since you'd have only two HTML files in the root folder, fewer than you have now.

Dege wrote:Yes... I was even thinking on an installer. Clicking 'Next' button a few times and voila dgVoodoo could be 'there', installed.
But, since I don't want to copy wrapper dlls into system folders (DX ones couldn't even be copied there), I could only keep them in /Program Files/dgVoodoo2/
but then the CPL or some other extra application would always be needed for adding each game to dgVoodoo for usage.

If you decide to ever experiment with an installer, I have a lot of experience with Inno Setup and would be glad to help. I can't think of a good excuse for one, though, since, as you said, you can't copy the DirectX DLLs to the system folder and I think that most people just prefer copying the CPL to each game folder, as well. You could have an installer that copies the files to each game folder (so that users would run the installer once for each game that they want to set up with dgVoodoo 2), which could be a little convenient, but wouldn't do much besides copy the files for them. If it could somehow detect the DirectX version that the game uses (without launching it), automatically copying all required files would be useful, but I'm not sure that that's even possible.

What about an installer that, on first run, installs (or gives the option to install) all of the components that can go into the system folders (Glide DLLs, 3Dfx splash files, D3D compiler DLLs, D3DRM, etc.) and allows for setting up one DirectX game (i.e. copying files to the game's folder); then, can be run subsequent times to set up further DirectX games?
Osprey
Member
 
Posts: 176
Joined: 2017-7-27 @ 21:32

Re: dgVoodoo 2 for DirectX 11

Postby MS7XWDC » 2017-9-18 @ 00:44

I just stopped in to take a peek to see where the thread was going, and it looks like a more basic set of instructions might be coming, potentially even an iinstaller for the newbies to this scene such as I am. I've never even heard of this wrapper concept and did try my best, so I do appreciate all efforts to make it work for me, and possibly for other people that are completely new to this whole scene. thanks to everyone for any constructive help in this regard
MS7XWDC
Newbie
 
Posts: 12
Joined: 2017-9-15 @ 16:23

Re: dgVoodoo 2 for DirectX 11

Postby MS7XWDC » 2017-9-18 @ 01:15

Osprey wrote:

3. Run dgVoodooCpl.exe from the game folder to configure options.


ah, i hadn't thought of that, i just put it on my desktop, don't remember seeing that in readme

thx
MS7XWDC
Newbie
 
Posts: 12
Joined: 2017-9-15 @ 16:23

Re: dgVoodoo 2 for DirectX 11

Postby galneon » 2017-9-18 @ 01:19

Osprey wrote:I'd argue that debating whether simpler instructions would help is on topic. That would likely be of benefit to more people than some of the other posts (pointing out glitches in obscure games that no one has heard of, etc.).


This argument was productive and well worth having as it will lead to, at the very least, a quickstart guide for newbs, but let's not trivialize the importance of fixing glitches in obscure games (which often fix problems in other games). The goal is an accurate, comprehensive wrapper, after all--which becomes more realistic as more people find it accessible enough to use and discover new issues.
galneon
Newbie
 
Posts: 46
Joined: 2004-4-15 @ 19:31

Re: dgVoodoo 2 for DirectX 11

Postby MS7XWDC » 2017-9-18 @ 02:12

DosFreak wrote:
See this post viewtopic.php?f=8&t=42488 for either running the game in software mode or mabye in D3D using dgvoodoo2 WIP (in 2015).




ah, if you had read that thread til the end, you would have seen i had already replied there as well :)

so much for thorough reading, huh ?? :)

MS7XWDC wrote:im trying F12K & F1CS now

but have no idea on how to start dgV2
MS7XWDC
Newbie
 
Posts: 12
Joined: 2017-9-15 @ 16:23

Re: dgVoodoo 2 for DirectX 11

Postby Gagster » 2017-9-18 @ 03:14

I decided to try the new dgVoodoo2 WIP37 out, and at last (thanks to the dgVoodoo.conf file that's included with WIP37 that can be edited in a text-editor) I can activate the option ForceNearestPointFilter.

With the Nearest Point Filtering, I can finally play older games like Warcraft 2 BattleNet Edition with 2x integer scaling, AND without the blurry bilinear filtering that always bothered me with most ddraw-wrappers. This is great news, because now retro-gaming with older Windows 95-titles suddenly became way more bearable.

I decided to test Delta Force Land Warrior yet again, and while the graphics and such seems ok when using forced resolution (the game originally had the now tiny max-resolution of 1024x768), the mouse-movement in-game gets somewhat broken during forced resolution. The cursor in-game moves way faster while aiming upwards and to the left in-game than while moving the cursor downwards or right. That does not happen without resolution forcing however with dgVoodoo2, so that's a strange bug indeed.

Finally, I have a question that may seem kind of dumb. It does not seem like dgVoodoo2 can do anything at all with games using SDL. Is there any way of "tricking" games such as OpenTyrian or Giana's Return to use dgVoodoo2 anyway, or would there be a need for an even different wrapper to manipulate the graphics in games using SDL?
Gagster
Newbie
 
Posts: 28
Joined: 2016-4-09 @ 23:05

Re: dgVoodoo 2 for DirectX 11

Postby ZellSF » 2017-9-18 @ 07:09

Osprey wrote:
ZellSF wrote:Learning to read complex wordy documentation is a pretty essential life skill. Telling people to practice it on something that's not harmful to screw up is actually a good idea.

If you're ever tasked with writing the documentation for a company product and your employer tells you that it's too complex and unclear, just tell him that you're helping customers with an essential life skill and see where that gets you ;).

Oh it's not an excuse for sloppy documentation writing, but I am saying that bad documentation is not an excuse not to read it. You will have to learn to read bad documentation. Try asking your employer for an ELI5 version of paperwork you're supposed to deal with and see where that gets you.
Osprey wrote:
franpa wrote:Let's get back on topic.

I'd argue that debating whether simpler instructions would help is on topic. That would likely be of benefit to more people than some of the other posts (pointing out glitches in obscure games that no one has heard of, etc.).

Obscure games might show otherwise unnoticed bugs that might affect many more games. Documentation is nice and all, but it's useless if dgVoodoo2 doesn't run the game you want to play.
Gagster wrote:I decided to try the new dgVoodoo2 WIP37 out, and at last (thanks to the dgVoodoo.conf file that's included with WIP37 that can be edited in a text-editor) I can activate the option ForceNearestPointFilter.

With the Nearest Point Filtering, I can finally play older games like Warcraft 2 BattleNet Edition with 2x integer scaling, AND without the blurry bilinear filtering that always bothered me with most ddraw-wrappers. This is great news, because now retro-gaming with older Windows 95-titles suddenly became way more bearable.

I decided to test Delta Force Land Warrior yet again, and while the graphics and such seems ok when using forced resolution (the game originally had the now tiny max-resolution of 1024x768), the mouse-movement in-game gets somewhat broken during forced resolution. The cursor in-game moves way faster while aiming upwards and to the left in-game than while moving the cursor downwards or right. That does not happen without resolution forcing however with dgVoodoo2, so that's a strange bug indeed.

Finally, I have a question that may seem kind of dumb. It does not seem like dgVoodoo2 can do anything at all with games using SDL. Is there any way of "tricking" games such as OpenTyrian or Giana's Return to use dgVoodoo2 anyway, or would there be a need for an even different wrapper to manipulate the graphics in games using SDL?

You really should look into DxWnd. It can be tweaked to do integer scaling and supports many games that use weird hacks that dgVoodoo2 hasn't implemented. It also has some SDL support though I've been very unsuccessful with using that.
ZellSF
Oldbie
 
Posts: 893
Joined: 2006-1-01 @ 18:19

Re: dgVoodoo 2 for DirectX 11

Postby Gagster » 2017-9-18 @ 12:11

ZellSF wrote:You really should look into DxWnd. It can be tweaked to do integer scaling and supports many games that use weird hacks that dgVoodoo2 hasn't implemented. It also has some SDL support though I've been very unsuccessful with using that.


Yeah; I have actually used DxWnd myself for quite some time, but also did not get the included SDL-support up and running properly in those games with DxWnd. I previously used DxWnd in Red Alert 2 for not making the game crash while minimizing the game with the Windows-key (with RA2 maximized again without any wrappers, the image re-appeared pure black). Just now I switched from DxWnd to dgVoodoo2 on RA2, and it works great so far.
Gagster
Newbie
 
Posts: 28
Joined: 2016-4-09 @ 23:05

Re: dgVoodoo 2 for DirectX 11

Postby franpa » 2017-9-18 @ 15:04

Dege wrote:Thx for the videos! As far as I can see, this game has the same problem with dgVoodoo as some others (for example, Settlers 3, Requiem): cursor emulated by software.
Since the game thinks it's driving a hw mouse cursor, it only updates its screen when needed, like moving selection from one menu item to another. That's why the sw cursor only updates its position in those cases too, not continuously.
For the time being, the only way is to set 'Unspecified' scaling mode and 'Unforced' resolution in the CPL because then the mouse can be real hw one. :(

Okay, that results in the in-game mouse courser being hidden and the Windows mouse courser being clearly visible. It doesn't fix interaction with the menus though. The games mouse courser (the one that the game responds to), even though it is now invisible, still seems to move haphazardly.

Here's an updated image and video to help convey the issue.

https://imgur.com/89Ty8bi
https://youtu.be/dDIvhI7MBDs
Core i7 920 @ 2.66GHZ | ASUS P6T Motherboard | 8GB DDR3 1600 RAM | Gainward Geforce 560 Ti 2048MB PCI-E | Windows 10 Pro x64.

my website
franpa
Oldbie
 
Posts: 642
Joined: 2006-4-02 @ 06:26
Location: Queensland, Australia

Re: dgVoodoo 2 for DirectX 11

Postby Dege » 2017-9-18 @ 21:36

SDL should work but its default renderer seems to be OpenGL even on Windows.
(see https://www.libsdl.org/release/SDL-1.2.15/docs/html/sdlenvvars.html, for more, at least for SDL 1.x)
When I set SDL_VIDEODRIVER=directx environment variable in a command box and launched Giana's executable from there, then it worked for me:

Image

It didn't animate perfect smoothly though, as if it had been out of vsync.

franpa wrote:
Dege wrote:Thx for the videos! As far as I can see, this game has the same problem with dgVoodoo as some others (for example, Settlers 3, Requiem): cursor emulated by software.
Since the game thinks it's driving a hw mouse cursor, it only updates its screen when needed, like moving selection from one menu item to another. That's why the sw cursor only updates its position in those cases too, not continuously.
For the time being, the only way is to set 'Unspecified' scaling mode and 'Unforced' resolution in the CPL because then the mouse can be real hw one. :(

Okay, that results in the in-game mouse courser being hidden and the Windows mouse courser being clearly visible. It doesn't fix interaction with the menus though. The games mouse courser (the one that the game responds to), even though it is now invisible, still seems to move haphazardly.

Here's an updated image and video to help convey the issue.

https://imgur.com/89Ty8bi
https://youtu.be/dDIvhI7MBDs

Thanks! But if I can see right, you upscaled the output by 'ImageScaleFactor', right?
I forgot to mention, if ImageScaleFactor (or its value coming from auto-calculation) is not 1 then hw cursor isn't usable, additionally to the cases I listed. I probably forgot to take it into account in the wrapper code when I developed the imagescalefactor feature, so it's in a buggy state.
Since this issue appears in more and more games, I'm going to try to address it somehow in the next version. Till then, the only workaround is 'unspecified scaling mode' + 'imagescalefactor = 1' + 'unforced resolution'.

---------

As for the installer, it still needs more considerations... I don't find it useful in the current concept... :(

Loney974 wrote:
Image


Sorry, I forgot about this: I was going to try it myself but the game always crashed for me for some reason, I should reinstall it.
Anyway, since updating the window area is totally in the hands of DX11 (DXGI), I hardly thinks its a dgVoodoo bug. My tip it's caused by the compat mode.
Dege
Oldbie
 
Posts: 954
Joined: 2003-9-04 @ 11:06

Re: dgVoodoo 2 for DirectX 11

Postby Osprey » 2017-9-18 @ 22:30

Dege wrote:Sorry, I forgot about this: I was going to try it myself but the game always crashed for me for some reason, I should reinstall it.
Anyway, since updating the window area is totally in the hands of DX11 (DXGI), I hardly thinks its a dgVoodoo bug. My tip it's caused by the compat mode.

See my reply to the original post:
Osprey wrote:I can confirm that behavior with Commandos 2 in v2.54 and WIP36. It doesn't happen when the game is run without any wrapper and it doesn't happen with aqrit's wrapper, so it's definitely dgVoodoo. I've tried changing nearly every setting in dgVoodooCpl.exe, so it doesn't appear to be correctable with any setting.
Osprey
Member
 
Posts: 176
Joined: 2017-7-27 @ 21:32

Re: dgVoodoo 2 for DirectX 11

Postby franpa » 2017-9-19 @ 06:23

@Dege https://imgur.com/QJydImj I don't see the setting you mention but here is how it is configured.
Core i7 920 @ 2.66GHZ | ASUS P6T Motherboard | 8GB DDR3 1600 RAM | Gainward Geforce 560 Ti 2048MB PCI-E | Windows 10 Pro x64.

my website
franpa
Oldbie
 
Posts: 642
Joined: 2006-4-02 @ 06:26
Location: Queensland, Australia

Re: dgVoodoo 2 for DirectX 11

Postby galneon » 2017-9-19 @ 06:37

franpa wrote:@Dege https://imgur.com/QJydImj I don't see the setting you mention but here is how it is configured.


Check out dgVoodoo.conf for advanced options including scaling and mouse capture (WIP36+ only).
galneon
Newbie
 
Posts: 46
Joined: 2004-4-15 @ 19:31

Re: dgVoodoo 2 for DirectX 11

Postby franpa » 2017-9-19 @ 07:53

It's in binary though D: why does the CPL program write it in binary? What is wrong with human readable language like English!? I know it can read plain text and binary config files, why does it write binary files in the first place though!? Unless you're a crazy Japanese developer (Japanese devs are fiercely protective of their precious configuration files) I don't understand why you would make it write the file in binary.
Core i7 920 @ 2.66GHZ | ASUS P6T Motherboard | 8GB DDR3 1600 RAM | Gainward Geforce 560 Ti 2048MB PCI-E | Windows 10 Pro x64.

my website
franpa
Oldbie
 
Posts: 642
Joined: 2006-4-02 @ 06:26
Location: Queensland, Australia

Re: dgVoodoo 2 for DirectX 11

Postby ZellSF » 2017-9-19 @ 08:26

franpa wrote:It's in binary though D: why does the CPL program write it in binary? What is wrong with human readable language like English!? I know it can read plain text and binary config files, why does it write binary files in the first place though!? Unless you're a crazy Japanese developer (Japanese devs are fiercely protective of their precious configuration files) I don't understand why you would make it write the file in binary.

In the WIP36 and WIP37 archives there's a plain text configuration file. dgVoodoo2 will read this if it's in the same directory as the game (but dgVoodooCpl will still override it with a binary file).

There's a separate thread for the WIP builds though...
ZellSF
Oldbie
 
Posts: 893
Joined: 2006-1-01 @ 18:19

PreviousNext

Return to dgVoodoo General

Who is online

Users browsing this forum: No registered users and 1 guest