VOGONS


First post, by Googolplex

User metadata
Rank Newbie
Rank
Newbie

Hi,
I am actually testing dgVoodoo2 for this game. Everything runs already fine without dgVoodoo2, but dgVoodoo2 adds support for higher resolutions, different aspect ratios and could even improve the compatibility with modern systems, so I think dgVoodoo2 is a must have solution for this fantastic game.

But dgVoodoo2 also adds some new issues. For example if you die in the game, the music is not played correctly, the screen behavior is corrupted and icons for pop-up windows are not displayed (also when you complete a level and the trade screen occurs). All this works fine without dgVoodoo2. I created a .sdb file with compatibility fixes to get the game working perfectly on Windows 10, but if you use dgVoodoo2, the fixes seems to have no more effect. This has nothing to do with wrong configuration of dgVoodoo2.

I think this is something possible to fix for the next version of dgVoodoo2.

Thank you Dege!

Last edited by Googolplex on 2018-09-17, 17:47. Edited 1 time in total.

Reply 1 of 7, by ZellSF

User metadata
Rank l33t
Rank
l33t
Googolplex wrote:

But dgVoodoo2 also adds some new issues. For example if you die in the game, the music is not played correctly, the screen behavior is corrupted and icons for windows are not displayed (also when you complete a level and the trade screen occurs). All this works fine without dgVoodoo2. I created a .sdb file with compatibility fixes to get the game working perfectly on Windows 10, but if you use dgVoodoo2, the fixes seems to have no more effect. This has nothing to do with wrong configuration of dgVoodoo2.

You need to give more details on what fixes are in said .sdb file for anyone to be able to reproduce your "good" scenario without dgVoodoo2 for comparison.

Reply 2 of 7, by Googolplex

User metadata
Rank Newbie
Rank
Newbie

Important compatibility fixes are:

DisableThemeMenus
DisableThemes
EmulateHeap
EmulateSlowCPU
HandleWvsprintfExceptions
MapMemoryB0000
NoGhost
NoShadow
SingleProcAffinity
Win98VersionLie
WinExecRaceConditionFix
WOWCFEX_PLATFORMVERSIONLIE
WRPDllRegister
WRPMitigation

The game even starts with no fixes installed, but the only issue is that icons in pop-up windows are not shown. With this fixes they are visible. But dgVoodoo makes them invisible again and corrupt the screen behavior after a death for example. No matter whether compatibility fixes are installed or not.

Reply 3 of 7, by ZellSF

User metadata
Rank l33t
Rank
l33t

OK, I can't get the game to work reliably at all, it keeps crashing at startup all the time, but that's not your complaint. I think you're saying this dialog box is missing?:

Clipboard01.jpg
Filename
Clipboard01.jpg
File size
497.21 KiB
Views
1601 views
File license
Fair use/fair dealing exception

dgVoodoo2 doesn't really reliably deal with scenarios like that at the moment, to get it to work you need to set dgVoodoo2 to windowed mode (remember to disable application controlled fullscreen/windowed state).

Reply 4 of 7, by Googolplex

User metadata
Rank Newbie
Rank
Newbie

Here is a patch to fix the crashes. Just copy and paste everything into the game directory, install/uninstall the sdb using the batch file.
https://www17.zippyshare.com/v/GWPZ61TC/file.html

This is one of the dialog boxes I mean, but the box itself is not missing. The icon (in this case Indy's hat) is missing if you use dgVoodoo in fullscreen mode at high resolutions. The sdb normally fixed this in Directx mode, but dgVoodoo2 makes this items missing again, even with the sdb installed. But the major problem is that if you die or look at the game state screen, the image will be placed very small on the top left corner of the monitor and is no longer able to get fullscreen until you re-start the game.

Set dgVoodoo2 to windowed mode shows all dialog boxes correctly, but the image is always small in the top left corner of the monitor. The problem is that dgVoodoo2 always lose fullscreen mode after a death or when a dialog box occur and automatically switched into windowed mode. Not in the settings, but for the game.

Reply 5 of 7, by ZellSF

User metadata
Rank l33t
Rank
l33t
Googolplex wrote:
Here is a patch to fix the crashes. Just copy and paste everything into the game directory, install/uninstall the sdb using the […]
Show full quote

Here is a patch to fix the crashes. Just copy and paste everything into the game directory, install/uninstall the sdb using the batch file.
https://www17.zippyshare.com/v/GWPZ61TC/file.html

This is one of the dialog boxes I mean, but the box itself is not missing. The icon (in this case Indy's hat) is missing if you use dgVoodoo in fullscreen mode at high resolutions. The sdb normally fixed this in Directx mode, but dgVoodoo2 makes this items missing again, even with the sdb installed. But the major problem is that if you die or look at the game state screen, the image will be placed very small on the top left corner of the monitor and is no longer able to get fullscreen until you re-start the game.

Set dgVoodoo2 to windowed mode shows all dialog boxes correctly, but the image is always small in the top left corner of the monitor. The problem is that dgVoodoo2 always lose fullscreen mode after a death or when a dialog box occur and automatically switched into windowed mode. Not in the settings, but for the game.

Check (or uncheck, not sure) the "Disable Alt-Enter to toggle screen state mode" option and force resolution to your screen size and the game rendering should always be fullscreen (despite running in "windowed" mode).

Dialogue boxes will remain small (they're not drawn by ddraw so dgVoodoo2 can't do anything about that), but they should be usable and shouldn't mess with the game window.

Reply 6 of 7, by Googolplex

User metadata
Rank Newbie
Rank
Newbie

Okay, I unchecked "Disable Alt-Enter to toggle screen state mode" and now the death melody is played correctly without lose focus and when I leave the "Application controlled fullscreen/windowed state" checked, it will switch back to fullscreen after a dialog box. The window behavior is still strange, but in general it works.

I can live with that now, but nevertheless it would be great if dgVoodoo2 would get some compatibility optimizations for this game in the next versions. I mean the general window/dialog box behavior works better without dgVoodoo2. I ask me how dgVoodoo2 can break it while it normally improves the compatibility.

Thanks 😊

Another question:
Do you know how to correct the field of view for widescreen resolutions? You either have a stretched or a cutted (zoomed in) picture. This must be deeper in the source code. But with an disassembler you may could find the hex value.

Reply 7 of 7, by Dege

User metadata
Rank l33t
Rank
l33t
Googolplex wrote:

I ask me how dgVoodoo2 can break it while it normally improves the compatibility.

dgVoodoo doesn't "break" it, as it is a complete reimplementation (replacement) of DDraw/D3D, not an additional layer on top of MS implementation.
Anyway, this issue is a long standing one: "another window on top of the game window". D3D11 doesn't allow true fullscreen state when such a situation is detected so DXGI's watchdog thread forces it back to windowed state. This issue plagues other games too like Diablo1, Jane's simulation games, etc. Only fake fullscreen could help but even going with that will introduce issues because of unexpected resolutions, game window size, etc.