VOGONS


First post, by UCyborg

User metadata
Rank Member
Rank
Member

I made it work! 😁

No warranty, tough.

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 1 of 5, by UCyborg

User metadata
Rank Member
Rank
Member

*crickets*

While there's probably no good reason for unpatched Half-Life to do what it does, it doesn't look like dgVoodoo2 is able to handle DDSCL_CREATEDEVICEWINDOW flag. It complains about NULL hWnd, even though focus window was set in the previous call and via the 2nd call to SetCooperativeLevel, the game is asking DirectDraw to create device window, so existing hWnd is not needed.

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 3 of 5, by UCyborg

User metadata
Rank Member
Rank
Member

It's possible to force menu resolution with -lw and -lh command line arguments (width and height), it just won't look pretty since it's hardcoded for 640x480, but it's functional. Half-Life's D3D renderer doesn't render underwater fog and there's an issue with some textures having some weird color banding.

Visually, it looks the same both ways, native D3D and dgVoodoo2, including the glitches you get if you force MSAA. Previously, only windowed mode worked through dgVoodoo2. Also, "Deferred screen mode switch" should be enabled from dgVoodoo2's control panel->DirectxExt tab (for those that don't know, right-click anywhere in its window to show an option to show advanced settings).

I also tried OpenGL mode with 3dfx MiniGL driver. That way, only resolutions supported by Glide2 API can be selected without getting an error. The biggest problem I encountered was pausing and resuming the game left me with whiteness in the game window, only remedied by getting the game to restart its renderer, you can just visit the "Video modes" menu to get it to do that after resuming.

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 4 of 5, by Dege

User metadata
Rank l33t
Rank
l33t
UCyborg wrote on 2020-09-12, 19:58:

*crickets*

While there's probably no good reason for unpatched Half-Life to do what it does, it doesn't look like dgVoodoo2 is able to handle DDSCL_CREATEDEVICEWINDOW flag. It complains about NULL hWnd, even though focus window was set in the previous call and via the 2nd call to SetCooperativeLevel, the game is asking DirectDraw to create device window, so existing hWnd is not needed.

Yes, that's not implemented. This problem come up earlier in regard of ... (I can't remember what game) and I wanted to address this problem in the next release.
But I forgot about it... 😐

Btw, I tried your patch and HL crashed after the main menu but the truth is, I'm not sure if it's properly installed or it's just an old garbage on my HD. I'll give it a go later. It's super cool if it works because TBH I was never able to run this game through dgVoodoo.

Reply 5 of 5, by UCyborg

User metadata
Rank Member
Rank
Member

I wonder if there's any interesting piece of software/demo/game out there that could be downloaded that uses separate focus and device windows. It would necessarily have to be true multi-monitor app.

Check if your game was patched to 1.1.1.0 before copying those files over. sierra.inf says which one is installed; "Version" is the initial version that was installed from CD, "PatchVersion" is the version of the latest patch that was applied.

Edit: It's still a bit glitchy when it comes to transitions and different resolutions are at play. I noticed 2 redundant calls to SetDisplayMode/RestoreDisplayMode, removed them, but it doesn't help. Software mode is worse and only works fine as long as you don't pause with ESC or switch away, then it likes to crash as well.

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.